.video-section{max-width:1180px;margin-inline:auto}
.video-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.video-section-heading h2{margin-top:0}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.video-card{min-width:0;border:1px solid #77775d66;border-radius:18px;overflow:hidden;background:#20211b;color:#f2efdf}
.video-frame{position:relative;aspect-ratio:9/16;background:#10110e;overflow:hidden}
.video-frame img{width:100%;height:100%;object-fit:contain;display:block}
.video-frame [hidden]{display:none!important}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#eee9d8;color:#1b2119;border:0;border-radius:40px;padding:14px 22px;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 4px 28px #0008}
.video-play span{margin-right:8px}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-close{position:absolute;bottom:8px;right:8px;background:#eee9d8;color:#172017;border:0;border-radius:6px;padding:8px;font:inherit;cursor:pointer}
.video-caption{padding:20px}.video-caption h3{font-size:1.2rem;line-height:1.4;margin:8px 0 16px;color:#f2efdf}
.video-caption a{color:#d4d9af;text-decoration:underline;text-underline-offset:4px}
.video-label{font-size:.72rem;letter-spacing:.14em;color:#c5c8ae}
.video-privacy{font-size:.88rem;line-height:1.65;max-width:820px;margin:22px 0 32px}
.video-privacy a{text-decoration:underline}.gallery-nav{display:flex;gap:24px;flex-wrap:wrap}.gallery-nav a{color:inherit}.gallery-nav [aria-current]{text-decoration:underline;text-underline-offset:6px}
.gallery-page h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:24px}.gallery-page>.lead{max-width:740px;margin-bottom:48px}.gallery-footer{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.video-play:focus-visible,.video-close:focus-visible{outline:3px solid #e7b466;outline-offset:4px}
@media(max-width:800px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.video-section-heading{align-items:flex-start;flex-direction:column}.gallery-nav{gap:14px}.gallery-page{padding-top:44px}}
@media(max-width:480px){.video-grid{grid-template-columns:minmax(0,1fr)}.video-card{max-width:360px;width:100%;margin-inline:auto}.gallery-nav{font-size:.9rem}.video-section-heading .btn{align-self:flex-start}}
