/* DRIFTAWAY PHOTOS V1 */
.photos-hero{position:relative;min-height:510px;display:flex;align-items:flex-end;overflow:hidden;background:#082f42;color:#fff}
.photos-hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,45,62,.72),rgba(5,45,62,.18) 56%,rgba(5,45,62,.05)),linear-gradient(0deg,rgba(5,45,62,.42),transparent 58%),url('/assets/gallery-legacy/DWC-24-1.jpg');background-size:cover;background-position:center 48%}
.photos-hero-inner{position:relative;z-index:1;width:100%;padding:5rem 0 3.6rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.photos-hero-copy{max-width:880px}.photos-hero .eyebrow{color:#d9eef4}
.photos-hero h1{margin:.5rem 0 1rem;font-size:clamp(4.6rem,8vw,8.6rem);line-height:.78;color:#fff;letter-spacing:-.04em}
.photos-hero h1 em{display:inline-block;font-weight:400;color:#dceff5}.photos-hero p{max-width:760px;margin:0;color:#eef7f9;font-size:1.02rem;line-height:1.6}
.photos-hero-jump{flex:0 0 auto;width:94px;height:94px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;text-align:center;text-decoration:none;color:#fff!important;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);transition:transform .2s ease,background .2s ease}
.photos-hero-jump span{display:block;font-size:.55rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:-10px}.photos-hero-jump b{font-size:1.5rem;font-weight:500}
.photos-hero-jump:hover{transform:translateY(-4px);background:rgba(255,255,255,.16)}
.photo-cinema{position:relative;padding:5rem 0 4rem;background:radial-gradient(circle at 18% 4%,rgba(96,105,154,.22),transparent 34%),linear-gradient(180deg,#07141b,#091b23 58%,#0b2029);color:#fff;overflow:hidden}
.photo-cinema:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.photo-cinema>*{position:relative;z-index:1}
.photo-cinema-head{display:grid;grid-template-columns:1fr minmax(300px,.75fr);gap:2rem;align-items:end;margin-bottom:2rem}
.photo-cinema-head .eyebrow{color:#8ec9dc}.photo-cinema-head h2{margin:.45rem 0 0;color:#fff;font-size:clamp(3rem,5.5vw,5.5rem);line-height:.88}.photo-cinema-head h2 em{font-weight:400;color:#b9c2e2}
.photo-cinema-head p{margin:0 0 .45rem;color:#99afb9;line-height:1.7}
.photo-cinema-shell{width:min(1320px,100%);margin:0 auto}
.photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:14px}
.photo-filters{display:flex;flex-wrap:wrap;gap:8px}.photo-view-options{display:flex;gap:8px}
.photo-filter,.photo-option{min-height:40px;border:1px solid #385260;background:#101f27;color:#c9d7dd;border-radius:999px;padding:0 14px;font-size:.66rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .18s ease}
.photo-filter span{opacity:.64;margin-left:4px}.photo-filter:hover,.photo-option:hover{color:#fff;border-color:#6ba6bd;background:#17303b}.photo-filter.active{color:#082f42;background:#bfe6f2;border-color:#bfe6f2}.photo-option.active{background:#696d9e;border-color:#8e92c2;color:#fff}
.photo-stage{--photo-cycle:6s;position:relative;aspect-ratio:16/8.7;min-height:560px;border-radius:28px;overflow:hidden;background:#02070a;box-shadow:0 34px 100px rgba(0,0,0,.48);outline:0}
.photo-stage:focus-visible{box-shadow:0 0 0 3px #88c9de,0 34px 100px rgba(0,0,0,.48)}
.photo-stage-media{position:absolute;inset:0;overflow:hidden}.photo-stage-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:opacity .28s ease}
.photo-stage-media img.kenburns{animation-duration:var(--photo-cycle);animation-timing-function:linear;animation-fill-mode:forwards}
.photo-stage-media img.kb-a{animation-name:photoKBA}.photo-stage-media img.kb-b{animation-name:photoKBB}.photo-stage-media img.kb-c{animation-name:photoKBC}.photo-stage-media img.kb-d{animation-name:photoKBD}
@keyframes photoKBA{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.11) translate3d(-1.2%,-1%,0)}}@keyframes photoKBB{from{transform:scale(1.08) translate3d(-1%,0,0)}to{transform:scale(1.02) translate3d(1.2%,-.8%,0)}}@keyframes photoKBC{from{transform:scale(1.03) translate3d(0,-.8%,0)}to{transform:scale(1.12) translate3d(1%,1%,0)}}@keyframes photoKBD{from{transform:scale(1.1) translate3d(.8%,.8%,0)}to{transform:scale(1.03) translate3d(-1%,0,0)}}
.photo-stage-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 54%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 46%),linear-gradient(180deg,rgba(0,0,0,.24),transparent 28%)}
.photo-stage-copy{position:absolute;left:30px;bottom:28px;z-index:3;max-width:min(620px,72%)}.photo-stage-copy span{display:block;margin-bottom:7px;color:#a9ddeb;font-size:.62rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.photo-stage-copy strong{display:block;color:#fff;font-size:clamp(1.35rem,2.2vw,2.45rem);line-height:1.08;text-wrap:balance}
.photo-stage-meta{position:absolute;top:24px;left:26px;z-index:3}.photo-stage-meta span{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(4,28,39,.42);backdrop-filter:blur(8px);color:#fff;font-size:.6rem;font-weight:900;letter-spacing:.08em}
.photo-stage-nav{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(5,35,48,.48);color:#fff;font-size:34px;line-height:1;cursor:pointer;opacity:.82;backdrop-filter:blur(8px);transition:all .18s ease}
.photo-stage-nav:hover{opacity:1;background:#0b7890;border-color:#66bfd7}.photo-stage-nav.prev{left:16px}.photo-stage-nav.next{right:16px}
.photo-stage-controls{position:absolute;right:24px;bottom:24px;z-index:4;display:flex;gap:8px}.photo-stage-control{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(5,35,48,.52);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);transition:all .18s ease}.photo-stage-control:hover{background:#6c70a2;border-color:#9296c4}
.photo-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.14);z-index:5}.photo-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#6fc3dc,#9b9dcc)}.photo-progress.running i{animation:photoProgress var(--photo-cycle) linear forwards}@keyframes photoProgress{from{width:0}to{width:100%}}
.photo-filmstrip-wrap{display:none;margin-top:12px}
.photo-filmstrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding:4px 1px}.photo-filmstrip::-webkit-scrollbar{display:none}
.photo-thumb{flex:0 0 112px;height:82px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#12242d;cursor:pointer;opacity:.82;transition:opacity .18s ease,border-color .18s ease,transform .18s ease}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb:hover{opacity:1;transform:translateY(-2px)}.photo-thumb.active{opacity:1;border-color:#80c9df}
.photo-strip-nav{width:34px;height:34px;border:1px solid #35505c;border-radius:50%;background:#10232c;color:#fff;cursor:pointer}.photo-strip-nav:hover{background:#2e7896}
.photo-cinema-shell.filmstrip-mode .photo-stage{display:none}
.photo-cinema-shell.filmstrip-mode .photo-filmstrip-wrap{display:block;margin-top:0}
.photo-cinema-shell.filmstrip-mode .photo-filmstrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;overflow:visible;padding:4px 1px}
.photo-cinema-shell.filmstrip-mode .photo-thumb{width:100%;height:auto;aspect-ratio:4/3;flex:none;border-radius:14px;opacity:1}
.photo-cinema-shell.filmstrip-mode .photo-strip-nav{display:none}
.photo-wall-section{padding:5rem 0 6rem;background:#fffdf8}.photo-wall-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:2rem}.photo-wall-head h2{margin:.4rem 0 0;color:#0a4666;font-size:clamp(3rem,5vw,5.4rem);line-height:.9}.photo-wall-head h2 em{font-weight:400;color:#646a9b}
.photo-wall-side{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;padding-bottom:.35rem}.photo-wall-side span{color:#7b8d95;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.photo-wall-side a{color:#0a4666;font-weight:900;text-decoration:none}
.photo-wall{columns:4 270px;column-gap:12px}.photo-wall-item{position:relative;break-inside:avoid;margin:0 0 12px;border:0;padding:0;display:block;width:100%;overflow:hidden;border-radius:14px;background:#e8f0f1;cursor:pointer}.photo-wall-item img{display:block;width:100%;height:auto;transition:transform .35s ease,filter .35s ease}.photo-wall-item:after{content:"View";position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(5,45,62,.72);color:#fff;font-size:.55rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:all .2s ease;backdrop-filter:blur(6px)}.photo-wall-item:hover img{transform:scale(1.025);filter:saturate(1.05)}.photo-wall-item:hover:after{opacity:1;transform:none}
.photo-empty{padding:3rem;text-align:center;color:#6b7f88}
.photo-cinema-shell:fullscreen{width:100vw;height:100vh;background:#02070a;padding:14px;display:flex;flex-direction:column}.photo-cinema-shell:fullscreen .photo-toolbar{flex:0 0 auto}.photo-cinema-shell:fullscreen .photo-stage{flex:1 1 auto;min-height:0;aspect-ratio:auto}.photo-cinema-shell:fullscreen .photo-filmstrip-wrap{flex:0 0 auto}
@media(max-width:1180px){.site-header-v8 .navlinks a{padding:.62rem .48rem;font-size:.6rem}.site-header-v8 .nav{grid-template-columns:170px 1fr auto}.site-header-v8 .brand img{width:158px}}
@media(max-width:900px){.photos-hero-inner{padding:4rem 0 3rem}.photos-hero h1{font-size:5.7rem}.photo-cinema-head{grid-template-columns:1fr}.photo-cinema-head p{max-width:700px}.photo-toolbar{align-items:flex-start;flex-direction:column}.photo-stage{aspect-ratio:4/3;min-height:430px;border-radius:22px}.photo-wall{columns:3 220px}}
@media(max-width:620px){.photos-hero{min-height:450px}.photos-hero-inner{padding:3rem 0 2.5rem}.photos-hero h1{font-size:4.1rem}.photos-hero-jump{display:none}.photo-cinema{padding:3.5rem 0 3rem}.photo-cinema-head{padding:0 6px}.photo-cinema-shell{width:calc(100% + 20px);margin-left:-10px}.photo-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;padding:0 10px 3px;scrollbar-width:none}.photo-filters::-webkit-scrollbar{display:none}.photo-view-options{padding:0 10px}.photo-filter,.photo-option{flex:0 0 auto}.photo-stage{aspect-ratio:4/5;min-height:520px;border-radius:0}.photo-stage-copy{left:16px;bottom:18px;max-width:68%}.photo-stage-meta{left:14px;top:14px}.photo-stage-nav{width:42px;height:42px;font-size:28px}.photo-stage-nav.prev{left:8px}.photo-stage-nav.next{right:8px}.photo-stage-controls{right:12px;bottom:12px}.photo-stage-control{width:38px;height:38px}.photo-filmstrip-wrap{grid-template-columns:28px minmax(0,1fr) 28px;padding:0 8px}.photo-thumb{flex-basis:86px;height:64px}.photo-wall-section{padding:3.5rem 0 4.5rem}.photo-wall-head{grid-template-columns:1fr}.photo-wall-side{align-items:flex-start}.photo-wall{columns:2 150px;column-gap:8px}.photo-wall-item{margin-bottom:8px;border-radius:9px}.photo-stage-media img.kenburns{animation:none!important}}/* Gallery vertical-tightening v3 */
body[data-page="photos"] .photo-cinema{
  padding:1rem 0 3rem!important;
}
body[data-page="photos"] .photo-cinema-head{
  display:none!important;
}
body[data-page="photos"] .photo-toolbar{
  margin-bottom:10px!important;
}
@media(max-width:620px){
  body[data-page="photos"] .photo-cinema{
    padding:.75rem 0 2rem!important;
  }
}
/* PHOTOS PRESENTATION REFINEMENT V4 */
body[data-page="photos"] .photo-cinema{
  background:#fff!important;
  color:#0a4666!important;
}
body[data-page="photos"] .photo-cinema:before{
  display:none!important;
}
body[data-page="photos"] .photo-cinema-shell{
  background:#fff!important;
}
body[data-page="photos"] .photo-toolbar{
  background:#fff!important;
}
body[data-page="photos"] .photo-filter,
body[data-page="photos"] .photo-option{
  border-color:rgba(10,70,102,.22)!important;
  background:#fff!important;
  color:#0a4666!important;
}
body[data-page="photos"] .photo-filter:hover,
body[data-page="photos"] .photo-option:hover{
  border-color:#0a4666!important;
  background:#edf5f8!important;
  color:#0a4666!important;
}
body[data-page="photos"] .photo-filter.active,
body[data-page="photos"] .photo-option.active{
  border-color:#0a4666!important;
  background:#0a4666!important;
  color:#fff!important;
}
body[data-page="photos"] .photo-stage{
  background:#fff!important;
  box-shadow:0 18px 46px rgba(10,70,102,.15)!important;
}
body[data-page="photos"] .photo-wall-section{
  display:none!important;
}

/* Parties tab: preserve full portrait room photography in the cinema stage. */
body[data-page="photos"] .photo-stage.party-photo-fit{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body[data-page="photos"] .photo-stage.party-photo-fit .photo-stage-media{backdrop-filter:blur(24px);background:rgba(2,12,18,.28)}
body[data-page="photos"] .photo-stage.party-photo-fit .photo-stage-media img{object-fit:contain!important;filter:drop-shadow(0 18px 40px rgba(0,0,0,.32))}
