:root{--ink:#07070b;--paper:#f5f0e8;--gold:#d6aa54;--magenta:#dc2d7b;--violet:#6f49d8;--white:#fff;--muted:#b9b0a4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:Montserrat,Arial,sans-serif}a{color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:28px;padding:14px clamp(18px,4vw,65px);background:linear-gradient(180deg,rgba(7,7,11,.92),rgba(7,7,11,.55),transparent);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(214,170,84,.7);border-radius:50%;font-family:"Cormorant Garamond";font-size:23px;color:var(--gold)}.brand strong,.brand small{display:block}.brand strong{font-family:"Cormorant Garamond";font-size:25px;letter-spacing:.02em}.brand small{font-size:9px;letter-spacing:.16em;color:#ddd}.site-header nav{display:flex;gap:22px;margin-left:auto}.site-header nav a{text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer}.header-cta,.button.gold{background:var(--gold);color:#17100a}.button.glass{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff}.nav-toggle{display:none}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:150px clamp(22px,8vw,120px) 90px}.hero-image{position:absolute;inset:0;background-size:cover;background-position:center center;filter:saturate(.9) contrast(1.06);transform:scale(1.02)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,8,.94) 0%,rgba(5,5,8,.48) 54%,rgba(5,5,8,.25)),linear-gradient(0deg,rgba(5,5,8,.75),transparent 50%)}.spotlight{position:absolute;top:-40%;width:32%;height:150%;background:linear-gradient(180deg,rgba(255,246,210,.25),transparent 65%);filter:blur(25px);transform:rotate(18deg);animation:sweep 10s ease-in-out infinite alternate}.spotlight.one{left:10%}.spotlight.two{right:5%;animation-delay:-5s;transform:rotate(-18deg)}@keyframes sweep{to{transform:translateX(90px) rotate(9deg)}}.hero-content{position:relative;z-index:2;max-width:900px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--gold)}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif}.hero h1{font-size:clamp(60px,10vw,145px);line-height:.75;letter-spacing:-.05em;margin:.22em 0}.hero p{max-width:720px;font-size:clamp(16px,2vw,21px);line-height:1.7;color:#e5ddd2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-credit{position:absolute;right:5vw;bottom:30px;z-index:2;font-size:10px;letter-spacing:.18em}.ticker{display:flex;gap:24px;overflow:hidden;white-space:nowrap;padding:18px;background:var(--magenta);font-weight:800;letter-spacing:.16em}.ticker i{color:var(--gold)}.stage-section{padding:110px clamp(22px,7vw,110px)}.stage-section.dark{background:#0e0d13}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--paper);color:var(--ink)}.intro h2,.section-heading h2{font-size:clamp(48px,7vw,100px);line-height:.85;margin:.2em 0}.intro p{font-size:18px;line-height:1.8}.section-heading{max-width:1050px;margin-bottom:45px}.section-heading.split{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;max-width:none;align-items:end}.section-heading.split p{line-height:1.75;color:#c9c0b5}.lesson-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#333}.lesson-grid article{background:#15141b;padding:35px;min-height:300px;transition:.3s}.lesson-grid article:hover{background:linear-gradient(145deg,#21182a,#34152b);transform:translateY(-8px)}.lesson-grid article span{color:var(--gold);font-weight:800}.lesson-grid h3{font-size:38px;margin:.7em 0 .3em}.lesson-grid p{line-height:1.75;color:#cfc7be}.lessons .section-heading>p{max-width:860px;color:#cfc7be;line-height:1.75}.flooring{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center;background:linear-gradient(135deg,#f5f0e8,#ded0be);color:var(--ink)}.flooring h2{font-size:clamp(52px,7vw,98px);line-height:.86;margin:.2em 0}.flooring-copy p{font-size:17px;line-height:1.8;max-width:780px}.flooring-card{min-height:380px;display:flex;flex-direction:column;justify-content:center;padding:45px;background:linear-gradient(145deg,#0d0c12,#29172b);color:#fff;box-shadow:25px 25px 0 var(--gold)}.flooring-card span{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--gold)}.flooring-card strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,5vw,68px);line-height:.92;margin:.35em 0}.flooring-card p{color:#d4cbc2;line-height:1.7}.events{background:#17131b}.event-list{display:grid;gap:12px}.event-list article{display:grid;grid-template-columns:120px 1fr auto;gap:25px;align-items:center;padding:25px;border-top:1px solid rgba(255,255,255,.15)}.event-list time{font-family:"Cormorant Garamond";font-size:36px;color:var(--gold)}.event-list small{color:var(--magenta);font-weight:800;letter-spacing:.15em}.event-list h3{font-size:31px;margin:.2em 0}.event-list p{color:#c9c0b5}.event-list a{text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.video-frame{aspect-ratio:16/9;max-width:1180px;margin:auto;overflow:hidden;border-radius:4px;box-shadow:0 0 80px rgba(220,45,123,.22)}.video-frame iframe{width:100%;height:100%}.video-placeholder{min-height:420px;display:grid;place-items:center;text-align:center;padding:40px;border:1px solid #333;background:radial-gradient(circle,#2d1830,#0e0d13 70%)}.staff{background:var(--paper);color:var(--ink)}.staff .section-heading p{color:#5b5148}.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1120px;margin:0 auto}.staff-grid article{background:#fff;box-shadow:0 20px 50px rgba(20,10,10,.1);display:grid;grid-template-rows:auto 1fr}.staff-grid img,.staff-placeholder{width:100%;height:420px;object-fit:cover;object-position:center top}.staff-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#241924,#8a285a);font-family:"Cormorant Garamond";font-size:130px;color:#fff}.staff-grid article>div:last-child{padding:26px}.staff-grid h3{font-size:34px;margin:.2em 0}.staff-grid p{line-height:1.65}.bio-toggle{border:0;background:none;color:#8a285a;font-weight:800;padding:0;cursor:pointer}.full-bio{display:none;margin-top:15px}.full-bio.open{display:block}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:8px}.gallery-item{padding:0;border:0;background:none;overflow:hidden;cursor:pointer}.gallery-item.feature{grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.6s}.gallery-item:hover img{transform:scale(1.07);filter:saturate(1.2)}.location{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;background:linear-gradient(135deg,#f5f0e8,#d9c9b5);color:var(--ink)}.location h2{font-size:clamp(52px,7vw,100px);line-height:.85}.location p{line-height:1.75}.location-card{min-height:380px;display:flex;flex-direction:column;justify-content:center;padding:45px;background:#09090d;color:#fff;text-align:center;box-shadow:25px 25px 0 var(--magenta)}.location-card span{letter-spacing:.2em;color:var(--gold)}.location-card a{font-family:"Cormorant Garamond";font-size:55px;text-decoration:none;margin:.35em 0}.booking{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;background:linear-gradient(145deg,#15101a,#08080b)}.booking h2{font-size:clamp(50px,7vw,95px);line-height:.85}.booking form{padding:35px;border:1px solid #3b313f;background:rgba(255,255,255,.03)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking label{display:grid;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:18px}.booking input,.booking select,.booking textarea{width:100%;padding:14px;border:1px solid #443b48;background:#0c0b0f;color:#fff}.booking-status{line-height:1.5}.site-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:55px clamp(22px,7vw,110px);background:#040406;border-top:1px solid #222}.site-footer strong{color:var(--gold)}.site-footer p{line-height:1.6;color:#a9a19a}.lightbox{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox img{max-width:94vw;max-height:90vh}.lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:45px;cursor:pointer}
@media(max-width:1000px){.site-header nav{display:none;position:absolute;top:75px;left:15px;right:15px;flex-direction:column;padding:25px;background:#0b0a0e}.site-header nav.open{display:flex}.nav-toggle{display:block;margin-left:auto}.header-cta{display:none}.intro,.section-heading.split,.location,.booking,.flooring{grid-template-columns:1fr}.lesson-grid,.staff-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(3,1fr)}.site-footer{grid-template-columns:1fr 1fr}.staff-grid img,.staff-placeholder{height:380px}}
@media(max-width:650px){.site-header{padding:10px 15px}.brand strong{font-size:21px}.brand small{font-size:7px}.brand-mark{width:40px;height:40px}.hero{padding:120px 20px 55px}.hero h1{font-size:70px}.stage-section{padding:75px 20px}.intro,.lesson-grid,.staff-grid,.form-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-item.feature{grid-column:span 2}.event-list article{grid-template-columns:70px 1fr}.event-list article>a{grid-column:2}.site-footer{grid-template-columns:1fr}.location-card{min-height:290px}.location-card a{font-size:38px}.staff-grid img,.staff-placeholder{height:340px}}
.service-areas{background:#141219}.service-areas .section-heading p{color:#cfc7be}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.area-grid article{padding:28px;background:#1d1a23;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.15)}.area-grid h3{font-size:34px;margin:.2em 0 .35em;color:var(--gold)}.area-grid p{margin:0;line-height:1.7;color:#d9d2c9}.location address{font-style:normal;line-height:1.8;margin:18px 0;font-weight:600}.booking-intro p{max-width:720px;line-height:1.8;color:#d1c7bc}
@media(max-width:1000px){.area-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.area-grid{grid-template-columns:1fr}}

.search-alias{background:#121017}.search-alias p{color:#d2c8be;line-height:1.8;max-width:760px}.flooring-card ul{margin:20px 0 0;padding-left:20px;color:#d4cbc2;line-height:1.8}.flooring-card li{margin:6px 0}.staff-grid .full-bio{line-height:1.75;color:#40362d}

/* v1.2.2 responsive experience */
html{scroll-padding-top:84px}
body{overflow-x:hidden}
body.menu-open{overflow:hidden}
.site-header{transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.site-header.scrolled{background:rgba(8,7,12,.9);box-shadow:0 12px 36px rgba(0,0,0,.18)}
.site-header.header-hidden{transform:translateY(-110%)}
.mobile-nav-top,.nav-scrim{display:none}

.nav-toggle{
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#111;
  padding:10px 15px;
  align-items:center;
  gap:10px;
  font:700 14px/1 Montserrat,Arial,sans-serif;
  box-shadow:0 12px 30px rgba(0,0,0,.14)
}
.hamburger-lines{width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between}
.hamburger-lines i{display:block;height:2px;border-radius:99px;background:currentColor;transition:transform .35s ease,opacity .25s ease,width .35s ease;transform-origin:center}
.nav-toggle.open .hamburger-lines i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.open .hamburger-lines i:nth-child(2){opacity:0;width:0}
.nav-toggle.open .hamburger-lines i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.ticker{padding:0;overflow:hidden;background:var(--magenta)}
.ticker-track{display:flex;width:max-content;animation:danceTicker 28s linear infinite;will-change:transform}
.ticker-set{display:flex;align-items:center;gap:26px;white-space:nowrap;padding:18px 13px}
.ticker-set span{font-weight:800;letter-spacing:.16em}
.ticker-set i{color:var(--gold);font-style:normal}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes danceTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.stage-section{position:relative}
.reveal-ready{opacity:0;transform:translateY(34px);transition:opacity .78s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),transform .78s cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms),filter .78s ease var(--reveal-delay,0ms);filter:blur(4px)}
.reveal-ready.revealed{opacity:1;transform:none;filter:blur(0)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal-ready{opacity:1;transform:none;filter:none;transition:none}
  .ticker-track{animation:none}
  .site-header{transition:none}
}

.swipe-shell{position:relative}
.swipe-hint{display:none}
.swipe-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(7,7,11,.72);color:#fff;font-size:34px;line-height:1;cursor:pointer;backdrop-filter:blur(10px);transition:.25s}
.swipe-nav:hover{background:var(--gold);color:#16100a;transform:translateY(-50%) scale(1.06)}
.swipe-prev{left:-22px}.swipe-next{right:-22px}

.gallery-swipe-shell .gallery-grid,.staff-swipe-shell .staff-grid{scrollbar-width:none}
.gallery-swipe-shell .gallery-grid::-webkit-scrollbar,.staff-swipe-shell .staff-grid::-webkit-scrollbar{display:none}

.staff-grid{align-items:stretch}
.staff-grid article{overflow:hidden;border-radius:3px}
.staff-grid img{display:block}
.gallery-item{border-radius:3px}

.footer-socials{grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding-top:22px;margin-top:10px;border-top:1px solid #222;text-align:center}
.footer-socials>span{font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;color:#fff}
.footer-socials small{color:#7e7772}
.social-links{display:flex;gap:12px}
.social-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid #3a3337;background:#121116;transition:.25s}
.social-icon:hover{transform:translateY(-3px);border-color:var(--gold);background:#211922}
.social-icon svg{width:21px;height:21px;fill:#fff}
.social-icon.facebook{background:#1877f2;border-color:#1877f2}
.social-icon.disabled{opacity:.42}

@media(min-width:1001px){
  .stage-section{padding-top:96px;padding-bottom:96px}
  .staff-grid{grid-template-columns:repeat(2,minmax(0,480px));justify-content:center}
  .staff-grid article{min-height:680px}
  .staff-grid img,.staff-placeholder{height:430px}
  .gallery-grid{grid-auto-rows:245px}
  .hero{min-height:920px;max-height:1080px}
}

@media(max-width:1000px){
  .site-header{padding:10px 18px;background:linear-gradient(180deg,rgba(7,7,11,.96),rgba(7,7,11,.76),transparent)}
  .site-header nav{
    display:flex;
    position:fixed;
    z-index:140;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:min(86vw,390px);
    padding:24px 25px 34px;
    background:linear-gradient(155deg,#0b0910 0%,#201222 58%,#35152b 100%);
    box-shadow:-30px 0 90px rgba(0,0,0,.42);
    transform:translateX(105%);
    opacity:0;
    pointer-events:none;
    transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .3s ease;
    gap:0;
    overflow-y:auto
  }
  .site-header nav.open{display:flex;transform:translateX(0);opacity:1;pointer-events:auto}
  .site-header nav>a:not(.mobile-book){font-family:"Cormorant Garamond",Georgia,serif;font-size:38px;text-transform:none;letter-spacing:-.02em;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mobile-book{margin-top:24px!important;background:var(--gold);color:#15100a;padding:15px 18px!important;border-radius:999px;text-align:center;font-weight:800}
  .mobile-nav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
  .nav-close{border:0;background:none;color:#fff;font-size:42px;line-height:1;cursor:pointer}
  .nav-scrim{display:block;position:fixed;z-index:130;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(5px)}
  .nav-scrim[hidden]{display:none}
  .nav-toggle{display:flex;margin-left:auto}
  .header-cta{display:none}

  .staff-swipe-shell .staff-grid{
    display:flex!important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:18px;
    max-width:none;
    margin:0;
    padding:4px 9vw 16px 0;
    overscroll-behavior-inline:contain;
    touch-action:pan-y pan-x
  }
  .staff-swipe-shell .staff-grid article{
    flex:0 0 min(82vw,470px);
    scroll-snap-align:start;
    min-height:auto
  }
  .staff-grid img,.staff-placeholder{height:min(62vh,510px)}

  .gallery-swipe-shell .gallery-grid{
    display:flex!important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    grid-auto-rows:unset;
    padding:4px 8vw 16px 0;
    overscroll-behavior-inline:contain;
    touch-action:pan-y pan-x
  }
  .gallery-swipe-shell .gallery-item,
  .gallery-swipe-shell .gallery-item.feature{
    flex:0 0 min(82vw,560px);
    height:min(58vh,500px);
    grid-column:auto;
    grid-row:auto;
    scroll-snap-align:center
  }
  .gallery-swipe-shell .gallery-item img{height:100%;width:100%;object-fit:cover}

  .swipe-hint{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;color:#70655c;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .gallery-swipe-shell .swipe-hint{color:#bdb3aa}
  .swipe-arrows{font-size:20px;letter-spacing:.25em;color:var(--gold)}
  .swipe-nav{display:none}

  .section-heading.split{gap:18px}
  .stage-section{padding-top:76px;padding-bottom:76px}
  .intro{gap:30px}
  .hero{min-height:100svh;padding-top:118px}
}

@media(max-width:650px){
  .brand{gap:8px}
  .brand strong{font-size:22px}
  .brand small{font-size:7px}
  .brand-mark{width:44px;height:44px;font-size:21px}
  .nav-toggle{padding:9px 13px}
  .nav-toggle-label{display:none}
  .site-header nav{width:min(90vw,390px)}
  .hero{padding:120px 24px 54px;min-height:100svh}
  .hero h1{font-size:clamp(62px,18vw,88px);line-height:.78;margin:.22em 0 .16em}
  .hero p{font-size:17px;line-height:1.62}
  .hero-actions{display:grid;gap:12px}
  .hero-actions .button{width:100%;min-height:58px}
  .hero-credit{display:none}
  .stage-section{padding:64px 24px}
  .intro h2,.section-heading h2{font-size:clamp(50px,14vw,74px);line-height:.88}
  .intro p{font-size:17px;line-height:1.72}
  .lesson-grid article{min-height:unset;padding:29px}
  .lesson-grid h3{font-size:34px}
  .flooring-card{min-height:auto;padding:32px;box-shadow:12px 12px 0 var(--gold)}
  .location-card{box-shadow:12px 12px 0 var(--magenta)}
  .booking form{padding:24px}
  .ticker-set{gap:22px;padding:15px 10px}
  .ticker-set span{font-size:15px}
  .staff-swipe-shell .staff-grid article{flex-basis:84vw}
  .staff-grid img,.staff-placeholder{height:420px}
  .gallery-swipe-shell .gallery-item,.gallery-swipe-shell .gallery-item.feature{flex-basis:86vw;height:420px}
  .site-footer{padding:46px 24px;gap:22px}
}

@media(max-width:420px){
  .hero h1{font-size:58px}
  .staff-grid img,.staff-placeholder{height:360px}
  .gallery-swipe-shell .gallery-item,.gallery-swipe-shell .gallery-item.feature{height:360px}
}


/* v1.2.3 navigation + gallery/staff polish */

/* Desktop: no floating carousel arrows. Staff can still mouse-drag/swipe horizontally. */
.swipe-nav{display:none!important}

@media(min-width:1001px){
  .staff-swipe-shell{max-width:1120px;margin:0 auto}
  .staff-swipe-shell .staff-grid{
    display:flex!important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:28px;
    max-width:none;
    margin:0;
    padding:4px 4px 20px;
    cursor:grab;
    user-select:none;
    overscroll-behavior-inline:contain;
    scrollbar-width:none
  }
  .staff-swipe-shell .staff-grid::-webkit-scrollbar{display:none}
  .staff-swipe-shell .staff-grid.dragging{cursor:grabbing;scroll-snap-type:none}
  .staff-swipe-shell .staff-grid article{
    flex:0 0 calc(50% - 14px);
    min-width:0;
    scroll-snap-align:start
  }

  /* Keep gallery editorial grid on desktop, but reveal the full uncropped photo on hover. */
  .gallery-swipe-shell .gallery-grid{overflow:visible}
  .gallery-item{
    overflow:hidden;
    background:#08070a;
    isolation:isolate
  }
  .gallery-item img{
    transition:transform .35s ease,filter .35s ease,object-position .35s ease;
    object-fit:cover
  }
  .gallery-item:hover{
    z-index:4;
    box-shadow:0 22px 60px rgba(0,0,0,.42)
  }
  .gallery-item:hover img{
    object-fit:contain;
    transform:scale(.96);
    filter:saturate(1.03) contrast(1.02)
  }
  .gallery-item::after{
    content:"View full image";
    position:absolute;
    right:12px;
    bottom:12px;
    padding:8px 11px;
    border-radius:999px;
    background:rgba(8,7,10,.78);
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(5px);
    transition:.25s;
    pointer-events:none
  }
  .gallery-item:hover::after{opacity:1;transform:none}
}

/* Mobile navigation: full-screen, reliable, all links explicitly visible. */
@media(max-width:1000px){
  .site-header nav#site-nav{
    display:flex!important;
    visibility:hidden;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:22px 24px 34px!important;
    flex-direction:column!important;
    gap:0!important;
    background:
      radial-gradient(circle at 90% 10%,rgba(214,170,84,.20),transparent 32%),
      radial-gradient(circle at 10% 90%,rgba(217,39,119,.17),transparent 35%),
      linear-gradient(155deg,#09080e 0%,#17101a 52%,#281326 100%)!important;
    transform:translateX(100%);
    opacity:0;
    pointer-events:none;
    overflow-y:auto!important;
    z-index:9999!important;
    transition:transform .42s cubic-bezier(.22,.61,.36,1),opacity .28s ease,visibility 0s linear .42s
  }
  .site-header nav#site-nav.open{
    visibility:visible;
    transform:translateX(0);
    opacity:1;
    pointer-events:auto;
    transition-delay:0s
  }
  .mobile-nav-top{
    display:flex!important;
    align-items:flex-start;
    justify-content:space-between;
    flex:0 0 auto;
    margin:0 0 26px!important;
    padding:2px 0 20px;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:#fff!important
  }
  .mobile-nav-top div{display:grid;gap:4px}
  .mobile-nav-top small{
    display:block;
    color:var(--gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase
  }
  .mobile-nav-top strong{
    display:block;
    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:31px;
    line-height:1;
    letter-spacing:0
  }
  .nav-close{
    width:46px;height:46px;
    display:grid;place-items:center;
    border:1px solid rgba(255,255,255,.2)!important;
    border-radius:50%;
    background:rgba(255,255,255,.05)!important;
    color:#fff!important;
    font-size:31px!important;
    line-height:1!important
  }
  .mobile-nav-links{
    display:flex!important;
    flex-direction:column;
    width:100%;
    flex:1 0 auto
  }
  .site-header nav#site-nav .mobile-nav-links>a:not(.mobile-book){
    display:flex!important;
    align-items:center;
    gap:14px;
    width:100%;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    font-family:"Cormorant Garamond",Georgia,serif!important;
    font-size:clamp(34px,9vw,48px)!important;
    line-height:1.05!important;
    text-transform:none!important;
    letter-spacing:-.02em!important;
    padding:13px 0!important;
    margin:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    text-decoration:none!important
  }
  .site-header nav#site-nav .mobile-nav-links>a span{
    flex:0 0 28px;
    color:var(--gold);
    font:800 9px/1 Montserrat,Arial,sans-serif;
    letter-spacing:.12em
  }
  .site-header nav#site-nav .mobile-book{
    display:flex!important;
    justify-content:center;
    align-items:center;
    width:100%;
    min-height:58px;
    margin:24px 0 0!important;
    color:#16100a!important;
    background:var(--gold)!important;
    border-radius:999px;
    font:800 15px/1 Montserrat,Arial,sans-serif!important;
    letter-spacing:0!important;
    text-decoration:none!important
  }

  /* Scrim sits behind the menu, never over the links. */
  .nav-scrim{z-index:9990!important}
  .site-header{z-index:10000!important}

  /* Mobile swiping: keep staff + gallery touch friendly. */
  .staff-swipe-shell .staff-grid.dragging,
  .gallery-swipe-shell .gallery-grid.dragging{scroll-snap-type:none}
}

/* Desktop staff/gallery spacing clean-up. */
@media(min-width:1001px){
  #staff.stage-section,#gallery.stage-section{padding-top:88px;padding-bottom:96px}
  #staff .section-heading,#gallery .section-heading{margin-bottom:42px}
}

/* Smaller screens: keep cards visually controlled. */
@media(max-width:650px){
  .site-header{z-index:10000}
  .site-header nav#site-nav{padding-top:max(18px,env(safe-area-inset-top))!important}
  .staff-grid article>div:last-child{padding:22px}
  .staff-grid h3{font-size:31px}
}
