/* =====================================================================
   Hollywoodland Film Studios · v2
   Cinematic dark, gold marquee, liquid-glass surfaces, app-grade mobile.
   ===================================================================== */
:root{
  --bg:#08080b; --bg-2:#0e0e13; --bg-3:#14141b;
  --glass:rgba(255,255,255,.06); --glass-2:rgba(255,255,255,.10); --glass-3:rgba(255,255,255,.16);
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.20);
  --gold:#d9b65a; --gold-2:#f1cf76; --gold-3:#ffe6a3; --gold-deep:#a07d2a; --gold-ink:#1a1405;
  --text:#f1eadb; --text-2:#cfc8b8; --mute:#a8a294; --faint:#87817a;
  --ok:#8fdcab; --s1:#039be5; --s2:#f6bf26; --s3:#c0ca33;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Courier Prime","Courier New",Courier,monospace;
  --serif:"Instrument Serif","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.16,1,.3,1); --ease-2:cubic-bezier(.65,0,.35,1);
  --r-xl:26px; --r-lg:18px; --r-md:12px; --r-sm:8px; --pill:999px;
  --maxw:1280px; --pad:clamp(16px,4vw,40px);
  --topbar:64px; --studiobar:56px; --tabbar:62px;
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px);
  --shadow-1:0 10px 30px rgba(0,0,0,.35); --shadow-2:0 24px 60px rgba(0,0,0,.55);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar) + var(--studiobar) + 12px)}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overscroll-behavior-y:none;padding-bottom:calc(var(--tabbar) + var(--sab))}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(900px 520px at 12% -10%,rgba(217,182,90,.14),transparent 60%),
  radial-gradient(700px 480px at 100% 8%,rgba(140,203,255,.06),transparent 60%),
  radial-gradient(900px 700px at 50% 120%,rgba(255,154,144,.05),transparent 60%)}
img,picture,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--gold);color:var(--gold-ink)}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:999;background:var(--gold);color:var(--gold-ink);padding:10px 14px;border-radius:var(--pill)}
.skip:focus{left:12px}
.container{width:min(var(--maxw),100% - var(--pad)*2);margin-inline:auto}
main{position:relative;z-index:1}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.08}
h1{font-size:clamp(34px,5.4vw,66px)}
h2{font-size:clamp(28px,3.6vw,44px)}
h3{font-size:clamp(19px,2vw,22px);letter-spacing:-.012em}
em.ac{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold-2);letter-spacing:0;font-size:1.06em}
.slug{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slug.dim{color:var(--mute)}
p.lead{font-size:clamp(16px,1.35vw,19px);color:var(--text-2);max-width:62ch}
.mute{color:var(--mute)}
.small{font-size:13px}

/* ---------- glass + buttons ---------- */
.glass{background:var(--glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),var(--shadow-1);border-radius:var(--r-lg);position:relative}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 38%,rgba(255,255,255,0) 62%,rgba(255,255,255,.05) 100%)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--pill);font-weight:700;font-size:15px;letter-spacing:-.005em;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease);position:relative;user-select:none}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px;flex:none}
.btn-gold{color:var(--gold-ink);background:linear-gradient(180deg,#f8e19a 0%,#dcb95d 52%,#c69f3f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.15),0 10px 26px rgba(217,182,90,.28)}
.btn-gold::after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 48%)}
.btn-gold:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 14px 34px rgba(217,182,90,.38);transform:translateY(-1px)}
.btn-glass{background:var(--glass-2);border:1px solid var(--line-2);color:var(--text);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.btn-glass:hover{background:var(--glass-3)}
.btn-ghost{color:var(--text-2);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--line-2);color:var(--text)}
.btn-sm{min-height:38px;padding:0 14px;font-size:13.5px}
.btn-lg{min-height:54px;padding:0 26px;font-size:16px}
.btn[disabled]{opacity:.55;pointer-events:none}
.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--pill);font-size:12.5px;font-weight:600;background:var(--glass-2);border:1px solid var(--line);color:var(--text-2);white-space:nowrap}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.pill.s1 .dot{background:var(--s1)}.pill.s2 .dot{background:var(--s2)}.pill.s3 .dot{background:var(--s3)}
.pill.new{color:var(--gold-ink);background:linear-gradient(180deg,#f8e19a,#d9b65a);border-color:transparent}

/* ---------- reveal motion ---------- */
.rv{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv-stagger.in>*{opacity:1;transform:none}
.rv-stagger.in>*:nth-child(2){transition-delay:.06s}.rv-stagger.in>*:nth-child(3){transition-delay:.12s}.rv-stagger.in>*:nth-child(4){transition-delay:.18s}.rv-stagger.in>*:nth-child(5){transition-delay:.24s}.rv-stagger.in>*:nth-child(6){transition-delay:.3s}.rv-stagger.in>*:nth-child(n+7){transition-delay:.36s}

/* ---------- progress + topbar ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}
.progress i{display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-2));box-shadow:0 0 12px rgba(217,182,90,.6)}
.topbar{position:fixed;top:0;left:0;right:0;z-index:110;height:calc(var(--topbar) + var(--sat));padding-top:var(--sat);background:rgba(8,8,11,.62);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border-bottom:1px solid var(--line);transition:background .4s var(--ease)}
.topbar.solid{background:rgba(8,8,11,.86)}
.topbar-in{height:var(--topbar);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.topbar .actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}
.topbar .actions .btn-text{display:none}
@media (max-width:899px){.topbar-in{grid-template-columns:44px minmax(0,1fr) 44px}.brand{max-width:100%;align-items:center}.sign{font-size:clamp(14px,4.4vw,19px)}.brand .sub{font-size:8.5px;letter-spacing:.34em;text-indent:.34em}.topbar .seg{display:none}.topbar .actions .btn{display:none}.topbar .actions .btn-text{display:inline-flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:var(--glass-2);border:1px solid var(--line)}.topbar .brand{justify-self:center}}

/* ---------- the sign ---------- */
@font-face{font-family:"SF Hollywood Hills";src:url("/assets/fonts/sf-hollywood-hills.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1;text-decoration:none}
.sign{display:flex;align-items:flex-end;gap:.08em;font-family:"SF Hollywood Hills","Anton","Arial Narrow",var(--sans);font-size:clamp(20px,2.2vw,27px);letter-spacing:.01em;white-space:nowrap}
.sign .l{display:block;color:var(--gold-2);text-shadow:0 0 8px rgba(241,207,118,.65),0 0 20px rgba(217,182,90,.32);transform:rotate(var(--tilt,0deg)) translateY(var(--drop,0px))}
.brand .sub{font-family:var(--sans);font-size:9.5px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--faint);align-self:center;margin-left:-.42em}
.anim .sign .l{color:#3b3327;text-shadow:none}
@keyframes strike{0%{color:#3b3327;text-shadow:none}9%{color:var(--gold-2);text-shadow:0 0 10px rgba(241,207,118,.85),0 0 26px rgba(217,182,90,.45)}15%{color:#6d5c39;text-shadow:0 0 4px rgba(241,207,118,.28)}24%{color:var(--gold-2);text-shadow:0 0 13px rgba(241,207,118,.92),0 0 32px rgba(217,182,90,.5)}100%{color:var(--gold-2);text-shadow:0 0 8px rgba(241,207,118,.65),0 0 20px rgba(217,182,90,.32)}}
@keyframes neon{0%,100%{opacity:1}18%{opacity:.972}20%{opacity:1}46%{opacity:.986}48%{opacity:1}71%{opacity:.965}73%{opacity:1}}
.anim .sign.on .l{animation:strike 1.45s var(--ease) var(--d,0ms) forwards,neon 6.2s ease-in-out calc(var(--d,0ms) + 1.45s) infinite}
.brand:hover .sign{filter:brightness(1.14) saturate(1.05)}
.sign.big{font-size:clamp(44px,9vw,120px);gap:.06em}

/* ---------- studio segmented control ---------- */
.seg{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:4px;border-radius:var(--pill);background:rgba(255,255,255,.06);border:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.seg-ind{position:absolute;top:4px;bottom:4px;left:4px;width:0;border-radius:var(--pill);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid rgba(241,207,118,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 6px 18px rgba(0,0,0,.35),0 0 0 1px rgba(241,207,118,.12);transition:transform .5s var(--ease),width .5s var(--ease);pointer-events:none}
.seg-btn{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;padding:4px 16px;border-radius:var(--pill);color:var(--mute);transition:color .3s var(--ease);line-height:1.1;min-width:96px}
.seg-btn b{font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--text-2);transition:color .3s}
.seg-btn small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:2px;transition:color .3s}
.seg-btn.on b{color:var(--gold-2)}.seg-btn.on small{color:var(--text-2)}
.seg-btn i{width:6px;height:6px;border-radius:50%;background:currentColor;margin-bottom:3px;display:none}
.studiobar{position:fixed;top:calc(var(--topbar) + var(--sat));left:0;right:0;z-index:105;height:var(--studiobar);display:flex;align-items:center;justify-content:center;padding:0 12px;background:rgba(8,8,11,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.studiobar .seg{width:100%;max-width:560px}
.studiobar .seg-btn{min-width:0;padding:4px 6px;min-height:40px}
@media (min-width:900px){.studiobar{display:none}:root{--studiobar:0px}}

/* ---------- hero ---------- */
.hero{padding-top:calc(var(--topbar) + var(--studiobar) + var(--sat) + 14px)}
.mosaic{position:relative;display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(420px,62vh,680px);border-radius:var(--r-xl);overflow:hidden;background:var(--bg-2)}
.mosaic .tile{position:relative;overflow:hidden;background:var(--bg-3)}
.mosaic .tile:first-child{grid-row:1/3}
.mosaic .tile img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.6s var(--ease),opacity .8s}
.mosaic.in .tile img{transform:scale(1)}
.mosaic .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.35));pointer-events:none}
.mosaic .tile .tag{position:absolute;left:12px;bottom:10px;z-index:2}
.mosaic .all{position:absolute;right:14px;bottom:14px;z-index:3}
.hero-card{margin-top:-84px;position:relative;z-index:2;padding:clamp(22px,3vw,36px);border-radius:var(--r-xl);max-width:760px;margin-left:clamp(0px,2vw,24px)}
.hero-card .slug{margin-bottom:12px}
.hero-card h1{margin-bottom:12px}
.hero-card .lead{margin-bottom:20px}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}
.stats{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:18px}
.stat{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--pill);background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:13px;color:var(--text-2)}
.stat b{color:var(--gold-2);font-weight:800;font-size:14px}
.stat svg{width:14px;height:14px;color:var(--gold)}
@media (max-width:899px){
  .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto 92px;height:auto;gap:6px;border-radius:var(--r-lg)}
  .mosaic .tile:first-child{grid-column:1/3;grid-row:1;aspect-ratio:4/3.1}
  .mosaic .tile:nth-child(n+4){display:none}
  .mosaic .tile .tag{display:none}
  .hero-card{margin:-28px 8px 0;padding:20px 18px 22px}
  .hero-card h1{font-size:clamp(30px,8.6vw,40px)}
  .hero-ctas .btn{flex:1 1 auto}
}

/* ---------- section scaffolding ---------- */
section{padding:clamp(48px,7vw,96px) 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(20px,3vw,32px)}
.sec-head .slug{margin-bottom:8px}
.sec-head p{color:var(--mute);max-width:56ch;margin-top:8px}
.sec-head .right{flex:none}
@media (max-width:640px){.sec-head{flex-direction:column;align-items:flex-start}}

/* ---------- filters ---------- */
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin-bottom:18px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;scroll-snap-align:start;height:38px;padding:0 14px;border-radius:var(--pill);border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text-2);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background .3s,border-color .3s,color .3s,transform .3s var(--ease)}
.chip .n{font-size:11px;color:var(--faint);font-weight:700}
.chip:hover{border-color:var(--line-2)}
.chip.on{background:linear-gradient(180deg,rgba(241,207,118,.22),rgba(241,207,118,.12));border-color:rgba(241,207,118,.5);color:var(--gold-2)}
.chip.on .n{color:var(--gold)}
.chip:active{transform:scale(.96)}
.results{display:flex;justify-content:space-between;align-items:center;color:var(--mute);font-size:13.5px;margin-bottom:14px}
.results b{color:var(--text)}

/* ---------- set cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
@media (max-width:640px){.grid{grid-template-columns:1fr;gap:16px}}
.card{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;cursor:pointer}
.card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 50px rgba(0,0,0,.5);border-color:rgba(241,207,118,.35)}
.card .media{position:relative;aspect-ratio:4/3;background:var(--bg-3);overflow:hidden}
.card .track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.card .track::-webkit-scrollbar{display:none}
.card .track img{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always}
.card .dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;pointer-events:none}
.card .dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .3s,transform .3s}
.card .dots i.on{background:#fff;transform:scale(1.25)}
.card .arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:rgba(8,8,11,.55);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;color:#fff;border:1px solid var(--line)}
.card .arrow.prev{left:8px}.card .arrow.next{right:8px}
.card .arrow svg{width:16px;height:16px}
@media (hover:hover){.card:hover .arrow{display:flex}}
.card .badges{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:6px;pointer-events:none}
.card .count{position:absolute;right:10px;bottom:10px;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:var(--pill);background:rgba(8,8,11,.6);backdrop-filter:blur(8px);color:#fff}
.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.card .slug{font-size:11px}
.card h3{font-size:19px}
.card .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.card .blurb{color:var(--mute);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.card .foot .link{font-weight:700;color:var(--gold-2);font-size:14px;display:inline-flex;align-items:center;gap:6px}
.card .foot .link svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.card:hover .foot .link svg{transform:translateX(3px)}
.empty{padding:40px;text-align:center;color:var(--mute);border:1px dashed var(--line);border-radius:var(--r-lg)}

/* ---------- studios ---------- */
.studios{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:960px){.studios{grid-template-columns:1fr}}
.studio{border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column}
.studio .photo{aspect-ratio:16/10;position:relative;overflow:hidden}
.studio .photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.studio:hover .photo img{transform:scale(1.04)}
.studio .photo .num{position:absolute;left:14px;top:14px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:18px;background:rgba(8,8,11,.55);backdrop-filter:blur(10px);border:1px solid var(--line-2);color:var(--gold-2)}
.studio .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.studio h3{font-size:22px}
.studio h3 span{display:block;font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold-2);font-size:20px;letter-spacing:0;margin-top:2px}
.studio .addr{color:var(--text-2);font-size:14px;line-height:1.45}
.studio .addr small{display:block;color:var(--mute)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:6px 0 4px}
.facts li{list-style:none;font-size:13px;color:var(--text-2);display:flex;gap:8px;align-items:flex-start;line-height:1.35}
.facts li::before{content:"";flex:none;width:14px;height:14px;margin-top:3px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe6a3,#b8923a);box-shadow:0 0 8px rgba(241,207,118,.45)}
.studio .cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}

/* ---------- why / logos ---------- */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:960px){.why{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.why{grid-template-columns:1fr}}
.why .item{padding:18px;border-radius:var(--r-lg)}
.why .item svg{width:26px;height:26px;color:var(--gold-2);margin-bottom:10px}
.why h3{font-size:16px;margin-bottom:6px}
.why p{font-size:13.5px;color:var(--mute);line-height:1.5}
.marquee{margin-top:36px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .t{display:flex;align-items:center;gap:clamp(36px,5vw,64px);width:max-content;animation:scroll 46s linear infinite}
.marquee img{height:24px;width:auto;opacity:.75;flex:none}
.marquee .nm{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--text-2);opacity:.8;white-space:nowrap}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- reviews ---------- */
.rating{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rating .big{font-size:44px;font-weight:800;letter-spacing:-.03em;color:var(--gold-2);line-height:1}
.stars{display:inline-flex;gap:2px;color:var(--gold-2)}
.stars svg{width:15px;height:15px}
.reviews{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reviews::-webkit-scrollbar{display:none}
.review{flex:0 0 min(360px,84vw);scroll-snap-align:start;padding:18px 20px 16px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:12px}
.review q{font-size:15.5px;line-height:1.55;color:var(--text);quotes:"\201C" "\201D"}
.review q::before,.review q::after{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}
.review .who{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mute);margin-top:auto}
.review .who b{color:var(--text-2)}
.review .src{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}

/* ---------- faq ---------- */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:860px){.faq{grid-template-columns:1fr}}
.faq details{border-radius:var(--r-lg);padding:0 18px}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--gold);font-weight:400;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;color:var(--text-2);font-size:14.5px;line-height:1.55}

/* ---------- book section ---------- */
.book-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}
@media (max-width:900px){.book-grid{grid-template-columns:1fr}}
.book-card{padding:clamp(22px,3vw,34px);border-radius:var(--r-xl)}
.book-card h2{margin:8px 0 10px}
.book-card .lead{margin-bottom:18px}
.ways{display:grid;gap:10px}
.way{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-lg);transition:transform .4s var(--ease),border-color .3s}
.way:hover{transform:translateX(3px);border-color:rgba(241,207,118,.35)}
.way .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(241,207,118,.12);color:var(--gold-2);flex:none}
.way .ic svg{width:20px;height:20px}
.way b{display:block;font-size:15px}
.way small{color:var(--mute);font-size:13px}
.way .go{margin-left:auto;color:var(--faint)}

/* ---------- footer ---------- */
footer{position:relative;z-index:1;padding:40px 0 30px;border-top:1px solid var(--line);color:var(--mute);font-size:13.5px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;margin-bottom:26px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
footer h4{color:var(--text);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
footer li{list-style:none;margin:6px 0}
footer a:hover{color:var(--gold-2)}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--faint)}
.socials{display:flex;gap:8px;margin-top:10px}
.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--text-2)}
.socials svg{width:17px;height:17px}

/* ---------- tab bar (mobile app nav) ---------- */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:115;height:calc(var(--tabbar) + var(--sab));padding-bottom:var(--sab);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(10,10,14,.78);backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border-top:1px solid var(--line)}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--faint);font-size:10.5px;font-weight:600;letter-spacing:.02em;transition:color .3s;min-height:44px}
.tab svg{width:22px;height:22px;transition:transform .35s var(--ease)}
.tab.on{color:var(--gold-2)}
.tab.on svg{transform:translateY(-1px) scale(1.06)}
.tab:active svg{transform:scale(.9)}
.tab.book{color:var(--gold-2);gap:2px}
.tab.book .cta{width:54px;height:54px;border-radius:50%;margin-top:-26px;display:grid;place-items:center;background:linear-gradient(180deg,#f8e19a 0%,#dcb95d 52%,#c69f3f 100%);color:var(--gold-ink);box-shadow:0 10px 26px rgba(217,182,90,.45),inset 0 1px 0 rgba(255,255,255,.6);border:3px solid var(--bg);transition:transform .35s var(--ease)}
.tab.book .cta svg{width:24px;height:24px;color:var(--gold-ink)}
.tab.book:active .cta{transform:scale(.92)}
.tab.book>span:last-child{font-size:10.5px;font-weight:700}
.ptr{position:fixed;top:calc(var(--topbar) + var(--studiobar) + var(--sat) + 10px);left:50%;z-index:104;width:40px;height:40px;border-radius:50%;background:rgba(20,20,27,.94);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold-2);opacity:0;transform:translate(-50%,-70px);transition:opacity .2s;pointer-events:none;box-shadow:var(--shadow-1)}
.ptr.pull{opacity:1}
.ptr svg{width:20px;height:20px}
.ptr.spin svg{animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
@media (min-width:900px){.ptr{display:none}}
.info{padding:22px clamp(16px,3vw,32px) 28px;display:grid;gap:12px;max-width:760px;margin:0 auto}
.info .box{padding:16px 18px;border-radius:var(--r-lg)}
.info .box b{display:block;font-size:15px;margin-bottom:2px}
.info .box .addr{font-size:13.5px;color:var(--mute);line-height:1.45}
.info .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.info .slug{margin-bottom:2px}
@media (min-width:900px){.tabbar{display:none}body{padding-bottom:0}}

/* ---------- sheets (set detail / booking) ---------- */
.sheet{position:fixed;inset:0;z-index:130;display:none}
.sheet.open{display:block}
.sheet .bd{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .4s}
.sheet.in .bd{opacity:1}
.sheet .panel{position:absolute;left:0;right:0;bottom:0;top:calc(var(--sat) + 10px);background:var(--bg-2);border-radius:var(--r-xl) var(--r-xl) 0 0;border:1px solid var(--line-2);border-bottom:0;box-shadow:var(--shadow-2);display:flex;flex-direction:column;overflow:hidden;transform:translateY(100%);transition:transform .55s var(--ease)}
.sheet.in .panel{transform:none}
.sheet .handle{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:42px;height:5px;border-radius:3px;background:rgba(255,255,255,.28);z-index:3}
.sheet .close{position:absolute;top:12px;right:12px;z-index:5;width:38px;height:38px;border-radius:50%;background:rgba(8,8,11,.6);backdrop-filter:blur(10px);border:1px solid var(--line-2);display:grid;place-items:center;color:#fff}
.sheet .close svg{width:16px;height:16px}
.sheet .scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sheet .foot{flex:none;padding:12px 16px calc(12px + var(--sab));border-top:1px solid var(--line);background:rgba(14,14,19,.9);backdrop-filter:blur(16px);display:flex;gap:10px;align-items:center}
.sheet .foot .btn{flex:1}
@media (min-width:900px){
  .sheet .panel{left:50%;top:50%;bottom:auto;right:auto;width:min(1080px,92vw);height:min(88vh,900px);transform:translate(-50%,-50%) scale(.96);opacity:0;border-radius:var(--r-xl);border-bottom:1px solid var(--line-2);transition:transform .5s var(--ease),opacity .4s}
  .sheet.in .panel{transform:translate(-50%,-50%) scale(1);opacity:1}
  .sheet .handle{display:none}
  .sheet .foot{padding:14px 20px}
  .sheet .foot .btn{flex:0 0 auto;min-width:220px}
}

/* set detail */
.det-media{position:relative;background:var(--bg-3)}
.det-mosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:min(52vh,480px)}
.det-mosaic .tile{position:relative;overflow:hidden;cursor:zoom-in;background:var(--bg-3)}
.det-mosaic .tile:first-child{grid-row:1/3}
.det-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.det-mosaic .tile:hover img{transform:scale(1.03)}
.det-strip{display:none}
.det-media .allbtn{position:absolute;right:12px;bottom:12px;z-index:2}
@media (max-width:899px){
  .det-mosaic{display:none}
  .det-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;aspect-ratio:4/3;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .det-strip::-webkit-scrollbar{display:none}
  .det-strip img{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always}
  .det-media .allbtn{bottom:10px;right:10px}
}
.det-body{padding:20px clamp(16px,3vw,32px) 28px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px}
.det-body>div,.det-body>aside{min-width:0}
@media (max-width:899px){.det-body{grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:24px}}
.det-body h2{font-size:clamp(26px,3vw,36px);margin:6px 0 8px}
.det-body .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.det-body .desc{color:var(--text-2);font-size:15.5px;line-height:1.6}
.det-body .h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:20px 0 10px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tags span{font-size:13px;padding:6px 11px;border-radius:var(--pill);background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--text-2)}
.side{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:12px}
.side .box{padding:18px;border-radius:var(--r-lg)}
.side .box b{display:block;font-size:15px;margin-bottom:4px}
.side .box .addr{font-size:13.5px;color:var(--mute);line-height:1.45}
.side .box .row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.side .resp{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}
.side .resp i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.also{margin-top:6px}
.also .row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none}
.also .row::-webkit-scrollbar{display:none}
.also a{flex:0 0 150px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--bg-3)}
.also a img{aspect-ratio:4/3;object-fit:cover;width:100%}
.also a span{display:block;padding:8px 10px;font-size:12.5px;font-weight:600}

/* gallery */
.gal{position:fixed;inset:0;z-index:140;background:#000;display:none;flex-direction:column}
.gal.open{display:flex}
.gal .top{position:absolute;top:calc(var(--sat) + 8px);left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:0 12px}
.gal .top .cnt{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:#fff;padding:6px 10px;border-radius:var(--pill);background:rgba(0,0,0,.45)}
.gal .top .cap{font-size:12.5px;color:var(--text-2);max-width:50vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.gal .track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gal .track::-webkit-scrollbar{display:none}
.gal .track figure{flex:none;width:100vw;height:100%;display:grid;place-items:center;scroll-snap-align:start;scroll-snap-stop:always;padding:calc(var(--sat) + 52px) 0 calc(var(--sab) + 24px)}
.gal .track img{max-width:100%;max-height:100%;object-fit:contain}
.gal .nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid var(--line-2);display:grid;place-items:center;color:#fff;backdrop-filter:blur(8px)}
.gal .nav.prev{left:14px}.gal .nav.next{right:14px}
.gal .nav svg{width:20px;height:20px}
@media (max-width:899px){.gal .nav{display:none}}

/* booking flow */
.bk{padding:22px clamp(16px,3vw,32px) 28px;max-width:860px;margin:0 auto}
.bk .steps{display:flex;gap:8px;align-items:center;margin-bottom:18px}
.bk .step{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.bk .step i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-2));transition:width .5s var(--ease)}
.bk .step.done i,.bk .step.on i{width:100%}
.bk .scene{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.bk h2{font-size:clamp(24px,3vw,32px);margin:6px 0 6px}
.bk .hint{color:var(--mute);font-size:14px;margin-bottom:16px}
.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.pick label{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--bg-3);cursor:pointer;transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.pick label:active{transform:scale(.97)}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pick .nm{display:block;padding:8px 10px 9px;font-size:12.5px;font-weight:700;line-height:1.2}
.pick .nm small{display:block;color:var(--faint);font-weight:500;font-size:10.5px;margin-top:2px;letter-spacing:.06em;text-transform:uppercase}
.pick .chk{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:rgba(8,8,11,.6);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold-ink)}
.pick .chk svg{width:12px;height:12px;opacity:0}
.pick input:checked~.chk{background:linear-gradient(180deg,#f8e19a,#d9b65a);border-color:transparent}
.pick input:checked~.chk svg{opacity:1}
.pick input:checked~img{outline:2px solid var(--gold);outline-offset:-2px}
.pick label:has(input:checked){border-color:rgba(241,207,118,.6);box-shadow:0 0 0 1px rgba(241,207,118,.35),0 10px 24px rgba(0,0,0,.4)}
.bk .group{margin:18px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.bk .group b{font-size:14px}
.toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);cursor:pointer}
.toggle input{appearance:none;width:42px;height:26px;border-radius:13px;background:rgba(255,255,255,.14);position:relative;transition:background .3s;flex:none}
.toggle input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.toggle input:checked{background:var(--gold)}
.toggle input:checked::after{transform:translateX(16px)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:var(--pill);border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.opt input:checked+span{background:linear-gradient(180deg,rgba(241,207,118,.24),rgba(241,207,118,.12));border-color:rgba(241,207,118,.55);color:var(--gold-2)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.fields{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:6px}
.f.full{grid-column:1/-1}
.f label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:700}
.f input,.f select,.f textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--text);transition:border-color .3s,background .3s;-webkit-appearance:none;appearance:none}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:rgba(241,207,118,.6);background:rgba(255,255,255,.07)}
.f select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a8a294' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.f input::placeholder,.f textarea::placeholder{color:var(--faint)}
.f .err{font-size:12px;color:#ff9a90;display:none}
.f.bad input{border-color:rgba(255,154,144,.7)}
.f.bad .err{display:block}
.bk .nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.summary{padding:14px 16px;border-radius:var(--r-md);background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:13.5px;color:var(--text-2);display:grid;gap:4px;margin-bottom:16px}
.summary b{color:var(--text)}
.done{text-align:center;padding:12px 0 6px}
.done .mark{width:72px;height:72px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ffe6a3,#b8923a);box-shadow:0 0 40px rgba(241,207,118,.45);color:var(--gold-ink)}
.done .mark svg{width:32px;height:32px}
.done h2{margin-bottom:8px}
.done p{color:var(--text-2);max-width:50ch;margin:0 auto 16px}
.upsell{margin-top:22px;text-align:left}
.upsell .h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.ups{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:640px){.ups{grid-template-columns:1fr}}
.up{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(255,255,255,.04);cursor:pointer;transition:border-color .3s,background .3s}
.up input{appearance:none;width:20px;height:20px;border-radius:6px;border:1px solid var(--line-2);flex:none;display:grid;place-items:center;transition:background .3s}
.up input::after{content:"";width:10px;height:6px;border-left:2px solid var(--gold-ink);border-bottom:2px solid var(--gold-ink);transform:rotate(-45deg) translateY(-1px);opacity:0}
.up input:checked{background:var(--gold);border-color:transparent}
.up input:checked::after{opacity:1}
.up:has(input:checked){border-color:rgba(241,207,118,.5);background:rgba(241,207,118,.08)}
.up b{display:block;font-size:14px}
.up small{color:var(--mute);font-size:12.5px}
.done .actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}

/* exit intent */
.exit{position:fixed;inset:0;z-index:150;display:none;place-items:center;padding:16px;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.exit.open{display:grid}
.exit .card{width:min(460px,100%);border-radius:var(--r-xl);overflow:hidden;background:var(--bg-2);border:1px solid var(--line-2);box-shadow:var(--shadow-2);transform:translateY(12px) scale(.98);opacity:0;transition:transform .5s var(--ease),opacity .4s}
.exit.in .card{transform:none;opacity:1}
.exit .slate{height:14px;background:repeating-linear-gradient(135deg,#f1cf76 0 18px,#0b0b0e 18px 36px)}
.exit .in{padding:22px 22px 24px;position:relative}
.exit .x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:var(--glass-2);border:1px solid var(--line);display:grid;place-items:center}
.exit .x svg{width:14px;height:14px}
.exit h3{font-size:24px;margin:8px 0 6px}
.exit p{color:var(--text-2);font-size:14.5px;margin-bottom:14px}
.code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--r-md);border:1px dashed rgba(241,207,118,.55);background:rgba(241,207,118,.08);font-family:var(--mono);font-size:18px;letter-spacing:.14em;color:var(--gold-2);margin-bottom:12px}
.code button{font-family:var(--sans);font-size:12.5px;letter-spacing:0;font-weight:700;color:var(--gold-ink);background:var(--gold-2);padding:7px 11px;border-radius:var(--pill)}
.exit form{display:flex;gap:8px}
.exit form input{flex:1;min-width:0;min-height:46px;padding:0 14px;border-radius:var(--pill);border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text)}
.exit form button{white-space:nowrap;flex:0 0 auto}
.prow.locked{opacity:.62}.prow.locked .nm small::after{content:' · included in entire studio'}
@media (max-width:480px){.exit form{flex-wrap:wrap}.exit form input,.exit form button{flex:1 1 100%}}
.exit .fine{font-size:11.5px;color:var(--faint);margin-top:10px;margin-bottom:0}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + var(--sab) + 14px);transform:translateX(-50%) translateY(20px);z-index:160;padding:10px 16px;border-radius:var(--pill);background:rgba(20,20,27,.92);border:1px solid var(--line-2);color:var(--text);font-size:14px;font-weight:600;opacity:0;transition:opacity .3s,transform .5s var(--ease);pointer-events:none;box-shadow:var(--shadow-1);max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%)}
@media (min-width:900px){.toast{bottom:28px}}

/* misc */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.scroll-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.rv-stagger>*{opacity:1;transform:none}
  .anim .sign .l{color:var(--gold-2);text-shadow:0 0 8px rgba(241,207,118,.65)}
}

/* mobile brand lockup: sign only, centered (cascade fix, keep at end of file) */
@media (max-width:899px){
  .topbar .brand{justify-self:center;align-items:center;max-width:100%;overflow:visible}
  .topbar .brand .sub{display:none}
  .topbar .sign{font-size:clamp(13px,4.3vw,18.5px);white-space:nowrap}
}
.brand .sub{white-space:nowrap}
@media (max-width:899px){.topbar .brand{grid-column:2;grid-row:1}.topbar .actions{grid-column:3;grid-row:1}}

/* ---------- search + sort ---------- */
.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.search{flex:1 1 280px;display:flex;align-items:center;gap:8px;height:46px;padding:0 10px 0 14px;border-radius:var(--pill);background:rgba(255,255,255,.05);border:1px solid var(--line);transition:border-color .3s,background .3s}
.search:focus-within{border-color:rgba(241,207,118,.55);background:rgba(255,255,255,.07)}
.search svg{width:18px;height:18px;color:var(--mute);flex:none}
.search input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font-size:15px;-webkit-appearance:none;appearance:none}
.search input::-webkit-search-cancel-button{display:none}
.search input::placeholder{color:var(--faint)}
.search .clr{display:none;width:28px;height:28px;border-radius:50%;background:var(--glass-2);color:var(--text-2);place-items:center;flex:none}
.search.has .clr{display:grid}
.sort{height:46px;padding:0 38px 0 14px;border-radius:var(--pill);background:rgba(255,255,255,.05) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a8a294' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center;border:1px solid var(--line);color:var(--text-2);font-size:14px;font-weight:600;-webkit-appearance:none;appearance:none;max-width:100%}
.sort:focus{outline:none;border-color:rgba(241,207,118,.55)}
@media (max-width:640px){.sort{flex:1 1 100%}}
.grid .sthead{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:10px 0 -4px;padding-top:6px}
.grid .sthead:first-child{margin-top:0}
.grid .sthead .num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:var(--glass-2);border:1px solid var(--line-2);color:var(--gold-2);flex:none}
.grid .sthead b{font-size:16px}
.grid .sthead small{color:var(--mute);font-size:12.5px;margin-left:8px}
.grid .sthead::after{content:"";flex:1;height:1px;background:var(--line-2)}
/* booking picker: studio groups + search */
.bk .sticky{position:sticky;top:0;z-index:3;padding:4px 0 10px;background:linear-gradient(var(--bg-2) 78%,rgba(14,14,19,0))}
.bk .stgroup{margin:26px 0 12px;padding-top:18px;border-top:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between;gap:12px}
.bk .stgroup.first{border-top:0;margin-top:6px;padding-top:0}
.bk .stgroup .t{display:flex;align-items:center;gap:12px;min-width:0}
.bk .stgroup .num{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:16px;background:var(--glass-2);border:1px solid var(--line-2);color:var(--gold-2);flex:none}
.bk .stgroup.s1 .num{color:var(--s1)}.bk .stgroup.s2 .num{color:var(--s2)}.bk .stgroup.s3 .num{color:var(--s3)}
.bk .stgroup b{display:block;font-size:16px;line-height:1.15}
.bk .stgroup small{display:block;color:var(--mute);font-size:12.5px;margin-top:2px}
.bk .stgroup .toggle{flex:none}
.bk .none{color:var(--mute);font-size:14px;padding:18px 0}

/* =====================================================================
   Sleek pass: floating glass tab bar, thinner hardware, 2-up tiles
   ===================================================================== */
:root{--line:rgba(255,255,255,.085);--line-2:rgba(255,255,255,.17);--tabbar:66px}
.glass{border-color:var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 34px rgba(0,0,0,.42)}
h1,h2{letter-spacing:-.028em}
.btn{letter-spacing:.005em}
.btn-gold{background:linear-gradient(180deg,#fbe6a4 0%,#e0bd5f 48%,#c39a3a 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.18),0 10px 28px rgba(217,182,90,.30)}
.hero-card{overflow:hidden}
.hero-card::after{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(241,207,118,.7),transparent);pointer-events:none}
.seg{padding:3px;background:rgba(255,255,255,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.seg-ind{top:3px;bottom:3px;left:3px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border-color:rgba(241,207,118,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 0 1px rgba(241,207,118,.10),0 8px 20px rgba(0,0,0,.4)}
.seg-btn{min-height:40px}
.studiobar{height:52px}
:root{--studiobar:52px}
@media (min-width:900px){:root{--studiobar:0px}}
.chip{height:34px;padding:0 13px;font-size:13px;background:rgba(255,255,255,.035)}
.results{font-size:12.5px;margin-bottom:12px}
.card{border-radius:18px}
.card .media{background:#101015}
.card .body{padding:13px 15px 15px}
.card h3{font-size:18px}
.card .foot .link{font-size:13.5px}
.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
@media (max-width:640px){
  .grid{grid-template-columns:1fr 1fr;gap:10px}
  .card{border-radius:15px}
  .card .media{aspect-ratio:4/3.2}
  .card .body{padding:10px 11px 12px;gap:3px}
  .card .slug{font-size:9px;letter-spacing:.09em}
  .card h3{font-size:14.5px;line-height:1.18;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .card .meta,.card .blurb,.card .foot,.card .arrow{display:none}
  .card .badges{top:8px;left:8px;right:8px}
  .card .badges .pill{height:21px;font-size:10px;padding:0 7px;gap:5px}
  .card .badges .pill .dot{width:5px;height:5px}
  .card .count{font-size:9.5px;padding:2px 6px;right:8px;bottom:8px}
  .card .dots{bottom:7px;gap:4px}.card .dots i{width:4px;height:4px}
  .sec-head h2{font-size:30px}
}
/* floating glass tab bar */
.tabbar{left:12px;right:12px;bottom:calc(var(--sab) + 10px);height:var(--tabbar);padding:0 6px;border-radius:26px;border:1px solid rgba(255,255,255,.13);background:rgba(13,13,19,.74);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.35),0 18px 44px rgba(0,0,0,.6)}
.tabbar::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.08),rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,.04))}
body{padding-bottom:calc(var(--tabbar) + var(--sab) + 22px)}
.tab{position:relative;gap:4px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:rgba(241,234,219,.42);border-radius:18px}
.tab svg{width:22px;height:22px;transition:transform .4s var(--ease),filter .4s}
.tab.on{color:var(--gold-2)}
.tab.on svg{transform:translateY(-1px);filter:drop-shadow(0 0 9px rgba(241,207,118,.55))}
.tab.on::after{content:"";position:absolute;bottom:7px;width:4px;height:4px;border-radius:50%;background:var(--gold-2);box-shadow:0 0 8px rgba(241,207,118,.9)}
.tab.book{color:var(--gold-2);gap:3px}
.tab.book .cta{width:56px;height:56px;margin-top:-34px;border:0;background:radial-gradient(circle at 35% 28%,#ffefb8 0%,#e6c46a 45%,#b8903a 100%);box-shadow:0 0 0 5px rgba(13,13,19,.92),0 12px 30px rgba(217,182,90,.48),inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 4px rgba(0,0,0,.2)}
.tab.book .cta::after{content:"";position:absolute;inset:3px 6px auto 6px;height:42%;border-radius:999px 999px 40% 40%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.tab.book .cta{position:relative}
.tab.book .cta svg{width:22px;height:22px}
.tab.book>span:last-child{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase}
.tab.book::after{display:none}
.toast{bottom:calc(var(--tabbar) + var(--sab) + 26px)}
.ptr{top:calc(var(--topbar) + var(--studiobar) + var(--sat) + 8px)}
.topbar .actions .btn-text{background:rgba(255,255,255,.06);border-color:var(--line)}
@media (min-width:900px){body{padding-bottom:0}}
@media (max-width:640px){.card .count{display:none}.card .dots{bottom:8px}}
/* simpler copy: picker without sub-labels */
.seg-btn{min-height:38px;padding:0 16px}
.seg-btn b{font-size:14px}
.studiobar .seg-btn{min-height:36px}
.sec-head h2{font-size:clamp(26px,3.2vw,38px)}
.card .slug.dim{color:var(--mute);letter-spacing:.1em;font-size:10.5px}
@media (max-width:640px){.card .slug.dim{font-size:9px}}
.hero-card .lead{font-size:clamp(16px,1.4vw,19px)}

/* =====================================================================
   KISS pass: Apple-plain surfaces, one accent, quiet type
   ===================================================================== */
:root{--surface:#141419;--surface-2:#1b1b22;--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);--text-2:#d7d0c1;--mute:#a09a8e}
body::before{display:none}
.glass::before{display:none}
.slug{font-family:var(--sans);font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--gold)}
.slug.dim{color:var(--mute);font-weight:600}
em.ac{font-size:1em}
/* Apple segmented control */
.seg{display:inline-grid;padding:2px;gap:0;border-radius:10px;background:rgba(255,255,255,.08);border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.seg-ind{top:2px;bottom:2px;left:2px;border-radius:8px;background:#3a3a42;border:0;box-shadow:0 2px 8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}
.seg-btn{min-height:32px;padding:0 14px;min-width:0;border-radius:8px}
.seg-btn b{font-size:13px;font-weight:600;color:rgba(241,234,219,.62);letter-spacing:-.005em}
.seg-btn.on b{color:#fff}
.studiobar{height:48px;background:rgba(8,8,11,.78);border-bottom:0}
:root{--studiobar:48px}
@media (min-width:900px){:root{--studiobar:0px}}
.studiobar .seg{width:auto;max-width:none}
.studiobar .seg-btn{padding:0 16px;min-height:30px}
.topbar{border-bottom:1px solid rgba(255,255,255,.06)}
/* hero: photo, then plain text */
.hero-card{margin:14px 0 0;padding:6px 2px 0;border-radius:0;max-width:none;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-card::after,.hero-card::before{display:none}
.hero-card h1{font-size:clamp(30px,4.6vw,52px);margin-bottom:8px}
.hero-card .lead{margin-bottom:16px}
.stats-line{font-size:14px;color:var(--mute);margin-top:14px}
.mosaic .all{display:none}
.mosaic .tile .tag{display:none}
@media (max-width:899px){.hero-card{margin:12px 4px 0;padding:4px 2px 0}.mosaic .tile:nth-child(n+2){display:none}.mosaic{grid-template-columns:1fr;grid-template-rows:auto}.mosaic .tile:first-child{grid-column:1;aspect-ratio:4/3.4}}
/* section heads */
section{padding:clamp(36px,6vw,72px) 0}
.sec-head{margin-bottom:16px}
.sec-head h2{font-size:clamp(24px,2.8vw,34px)}
/* search/sort/chips: Apple field + inverted selected chip */
.search{height:42px;border-radius:12px;background:rgba(255,255,255,.08);border:0}
.search:focus-within{background:rgba(255,255,255,.11);box-shadow:0 0 0 2px rgba(241,207,118,.35)}
.sort{height:42px;border-radius:12px;background-color:rgba(255,255,255,.08);border:0}
.chip{height:32px;padding:0 12px;border:0;background:rgba(255,255,255,.08);color:var(--text-2);font-size:13px}
.chip.on{background:#f1eadb;color:#111;border:0}
.chip.on .n{color:#666}
.results{font-size:13px;color:var(--mute)}
/* cards: photo-first, no box */
.card{background:none;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.card:hover{transform:none;box-shadow:none;border-color:transparent}
.card .media{border-radius:16px;overflow:hidden;background:var(--surface)}
.card .media img{transition:transform .8s var(--ease)}
.card:hover .media img{transform:scale(1.03)}
.card .body{padding:10px 2px 0;gap:2px}
.card .slug.dim{font-size:12px;letter-spacing:.02em;text-transform:none;font-weight:500;color:var(--mute)}
.card h3{font-size:16px;font-weight:600;letter-spacing:-.01em}
.card .blurb{font-size:13.5px;color:var(--mute);margin-top:2px}
.card .count{background:rgba(0,0,0,.55);font-weight:600}
.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px 18px}
@media (max-width:640px){.grid{gap:16px 10px}.card .media{border-radius:12px}.card .body{padding:8px 1px 0}.card .slug.dim{font-size:11px}.card h3{font-size:14px}.card .blurb{display:none}}
.grid .sthead{margin:14px 0 -6px}
.grid .sthead .num{background:rgba(255,255,255,.08);border:0;color:#fff}
/* studios */
.studio{background:none;border:0;box-shadow:none;border-radius:0}
.studio .photo{border-radius:16px;overflow:hidden}
.studio .photo .num{background:rgba(0,0,0,.5);border:0;color:#fff;font-size:15px;width:36px;height:36px;border-radius:10px}
.studio .body{padding:12px 2px 0;gap:6px}
.studio h3{font-size:19px;font-weight:600}
.studio h3 span{font-family:var(--sans);font-style:normal;font-size:13px;color:var(--mute);margin-top:2px}
.studio .slug{display:none}
.facts-line{font-size:13.5px;color:var(--mute);line-height:1.5;margin:2px 0 4px}
.studio .cta .btn-gold{background:rgba(255,255,255,.1);color:var(--text);box-shadow:none}
.studio .cta .btn-gold::after{display:none}
/* why: plain rows */
.why{gap:10px 18px}
.why .item{background:none;border:0;box-shadow:none;padding:14px 0;border-top:1px solid var(--line);border-radius:0}
.why .item::before{display:none}
.why .item svg{width:22px;height:22px;margin-bottom:8px;color:var(--text-2)}
.why h3{font-size:15px;font-weight:600}
.why p{font-size:13.5px}
.marquee{margin-top:28px;opacity:.75}
/* reviews, faq, ways: quiet surfaces */
.review{background:var(--surface);border:0;box-shadow:none;border-radius:16px}
.review::before{display:none}
.review q{font-size:15px}
.rating .big{font-size:40px;color:var(--text)}
.stars{color:var(--gold-2)}
.faq{gap:0;grid-template-columns:1fr}
.faq details{background:none;border:0;box-shadow:none;border-radius:0;border-top:1px solid var(--line);padding:0}
.faq details::before{display:none}
.faq summary{padding:14px 0;font-weight:600;font-size:15.5px}
.faq details p{padding-bottom:14px}
.book-card{background:var(--surface);border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:20px}
.book-card::before{display:none}
.way{background:var(--surface);border:0;box-shadow:none}
.way::before{display:none}
.way .ic{background:rgba(255,255,255,.08);color:var(--text)}
/* buttons: one accent */
.btn-glass,.btn-ghost{background:rgba(255,255,255,.1);border:0;color:var(--text);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.btn-glass:hover,.btn-ghost:hover{background:rgba(255,255,255,.15)}
.btn-gold{background:linear-gradient(180deg,#f3d789 0%,#dcb95d 55%,#c9a041 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 22px rgba(217,182,90,.22)}
.btn-gold::after{display:none}
.pill{border:0;background:rgba(255,255,255,.1)}
/* sheets + booking: quiet */
.side .box,.info .box{background:var(--surface);border:0;box-shadow:none}
.side .box::before,.info .box::before{display:none}
.det-body h2{font-weight:700}
.bk .scene{font-family:var(--sans);letter-spacing:.06em;color:var(--mute);font-size:12px;text-transform:uppercase}
.bk h2{font-weight:700}
.pick label{border:0;background:var(--surface)}
.pick .nm small{display:none}
.bk .stgroup .num{background:rgba(255,255,255,.08);border:0;color:#fff}
.f input,.f select,.f textarea{background:rgba(255,255,255,.07);border:0;border-radius:12px}
.f input:focus,.f select:focus,.f textarea:focus{box-shadow:0 0 0 2px rgba(241,207,118,.35)}
.opt span{border:0;background:rgba(255,255,255,.08)}
.opt input:checked+span{background:#f1eadb;color:#111;border:0}
.up{background:var(--surface);border:0}
.exit .slate{display:none}
.exit .card{background:var(--surface);border:0}
.code{border:0;background:rgba(255,255,255,.07)}
footer{border-top:1px solid var(--line)}
footer h4{font-size:11px}
/* tab bar stays glass; slightly quieter labels */
.tab{letter-spacing:.04em}
@media (max-width:640px){.grid{grid-template-columns:1fr 1fr}}

/* ---------- detail pass ---------- */
.hero{padding-bottom:0}
#sets{padding-top:clamp(28px,4vw,48px)}
.stats-line{font-size:14px;color:var(--text-2);margin-top:14px}
@media (max-width:899px){
  .hero-card{text-align:center;margin:14px 6px 0}
  .hero-card .lead{margin-left:auto;margin-right:auto}
  .hero-ctas{justify-content:center}
  .stats-line{text-align:center;margin-top:16px;font-size:13.5px}
  .hero{padding-bottom:6px}
  #sets{padding-top:26px}
}
.tools{margin-bottom:10px}
.results{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.results .sort{height:34px;padding:0 30px 0 12px;font-size:13px;border-radius:9px;flex:0 0 auto;background-position:right 10px center;max-width:60%}
.results .sort option{color:#111}
.why{gap:0 18px}
.why .item{padding:12px 0 14px}
.why .item svg{margin-bottom:6px}
.det-body .slug{color:var(--mute);font-size:10.5px}
.info .slug{color:var(--mute)}
.bk .steps{padding-right:52px}
.bk .stgroup b{font-size:16px}
.bk .stgroup small{font-size:12.5px}
.marquee img{opacity:.85}
.card .count{font-size:11px}
.sheet .close{width:36px;height:36px;background:rgba(255,255,255,.12);border:0}
.gal .top .close{background:rgba(255,255,255,.14)}
@media (max-width:640px){.results .sort{max-width:52%}}
.sheet .panel:focus{outline:none}
.sheet .close:focus:not(:focus-visible){outline:none}

/* ---------- cover header + logo strip ---------- */
.cover{padding:calc(var(--topbar) + var(--studiobar) + var(--sat)) 0 0}
.cover-photo{position:relative;height:clamp(200px,24vw,340px);overflow:hidden;background:var(--surface);max-width:var(--maxw);margin:14px auto 0;border-radius:22px}
.cover-photo img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.cover-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,11,0) 60%,rgba(8,8,11,.55) 100%);pointer-events:none}
.cover-body{padding:16px 0 4px}
.cover-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cover h1{font-size:clamp(24px,2.8vw,34px);letter-spacing:-.02em;margin:0 0 4px;line-height:1.1}
.cover .stats-line{margin:0;font-size:13.5px;color:var(--mute)}
.cover .hero-ctas{gap:8px}
.cover .hero-ctas .btn{min-height:44px}
@media (max-width:899px){
  .cover-photo{height:clamp(170px,44vw,230px);margin:0;border-radius:0;max-width:none}
  .cover-body{padding:14px 0 2px}
  .cover-row{flex-direction:column;align-items:center;text-align:center;gap:12px}
  .cover h1{font-size:23px}
  .cover .hero-ctas{width:100%;justify-content:center}
  .cover .hero-ctas .btn{flex:1 1 auto}
}
.logos-strip{padding:12px 0 8px;margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.logos-strip .marquee{margin:0;opacity:.85}
.logos-strip .marquee img{height:20px}
.logos-strip .marquee .nm{font-size:19px}
#studios{padding-top:clamp(26px,4vw,44px)}
#sets{padding-top:clamp(26px,4vw,44px)}
.stats-line{margin-top:0}

/* =====================================================================
   Theme switcher + light mode
   ===================================================================== */
.theme-slot{display:none}
.btn-text.theme{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text)}
.btn-text.theme .i-sun{display:none}
[data-theme="light"] .btn-text.theme .i-sun{display:block}
[data-theme="light"] .btn-text.theme .i-moon{display:none}
@media (min-width:900px){.theme-slot{display:none}.topbar .actions .theme-desk{display:inline-flex!important;width:38px;height:38px}}
@media (max-width:899px){.theme-slot{display:flex;align-items:center;justify-content:flex-start;grid-column:1;grid-row:1}.topbar .actions .theme-desk{display:none!important}}

[data-theme="light"]{
  --bg:#f6f4ef; --bg-2:#ffffff; --bg-3:#efece5; --surface:#ffffff; --surface-2:#f1eee7;
  --glass:rgba(255,255,255,.72); --glass-2:rgba(20,18,12,.06); --glass-3:rgba(20,18,12,.10);
  --line:rgba(20,18,12,.09); --line-2:rgba(20,18,12,.16);
  --gold:#a07c2a; --gold-2:#b8923a; --gold-3:#d4b25c;
  --text:#15140f; --text-2:#3b382f; --mute:#6f6a5e; --faint:#8d8779;
  --s1:#039be5; --s2:#f6bf26; --s3:#c0ca33; --ok:#2f8f5b;
  --shadow-1:0 8px 24px rgba(20,18,12,.08); --shadow-2:0 24px 60px rgba(20,18,12,.18);
  color-scheme:light;
}
[data-theme="light"] body{background:var(--bg);color:var(--text)}
[data-theme="light"] .topbar{background:rgba(246,244,239,.76);border-bottom:1px solid var(--line)}
[data-theme="light"] .topbar.solid{background:rgba(246,244,239,.9)}
[data-theme="light"] .studiobar{background:rgba(246,244,239,.82)}
[data-theme="light"] .sign .l{color:#b8923a;text-shadow:0 0 6px rgba(184,146,58,.28)}
[data-theme="light"] .anim .sign .l{color:#d8cfb8}
[data-theme="light"] .brand .sub{color:var(--mute)}
[data-theme="light"] .btn-text.theme,[data-theme="light"] .topbar .actions .btn-text{background:rgba(20,18,12,.06);border-color:transparent;color:var(--text)}
[data-theme="light"] .seg{background:rgba(20,18,12,.07)}
[data-theme="light"] .seg-ind{background:#fff;box-shadow:0 1px 4px rgba(20,18,12,.18),0 0 0 .5px rgba(20,18,12,.06)}
[data-theme="light"] .seg-btn b{color:rgba(21,20,15,.55)}
[data-theme="light"] .seg-btn.on b{color:#15140f}
[data-theme="light"] .btn-glass,[data-theme="light"] .btn-ghost{background:rgba(20,18,12,.07);color:var(--text)}
[data-theme="light"] .btn-glass:hover,[data-theme="light"] .btn-ghost:hover{background:rgba(20,18,12,.11)}
[data-theme="light"] .btn-gold{color:#1a1405;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 22px rgba(184,146,58,.28)}
[data-theme="light"] .pill{background:rgba(20,18,12,.06);color:var(--text-2)}
[data-theme="light"] .pill.new{color:#1a1405}
[data-theme="light"] .cover-photo::after{background:linear-gradient(180deg,rgba(246,244,239,0) 70%,rgba(246,244,239,.5) 100%)}
[data-theme="light"] .logos-strip .marquee img{filter:invert(1) hue-rotate(180deg) brightness(.35)}
[data-theme="light"] .logos-strip .marquee .nm{color:var(--text-2)}
[data-theme="light"] .search,[data-theme="light"] .sort{background-color:rgba(20,18,12,.06)}
[data-theme="light"] .search input{color:var(--text)}
[data-theme="light"] .search:focus-within{background:rgba(20,18,12,.08)}
[data-theme="light"] .sort{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f6a5e' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");color:var(--text)}
[data-theme="light"] .chip{background:rgba(20,18,12,.06);color:var(--text-2)}
[data-theme="light"] .chip.on{background:#15140f;color:#fff}
[data-theme="light"] .chip.on .n{color:rgba(255,255,255,.7)}
[data-theme="light"] .card .media{background:var(--bg-3)}
[data-theme="light"] .card .dots i{background:rgba(255,255,255,.6)}
[data-theme="light"] .card .dots i.on{background:#fff}
[data-theme="light"] .grid .sthead .num,[data-theme="light"] .bk .stgroup .num{background:rgba(20,18,12,.07);color:var(--text)}
[data-theme="light"] .grid .sthead::after{background:var(--line-2)}
[data-theme="light"] .studio .photo .num{background:rgba(255,255,255,.88);color:#15140f}
[data-theme="light"] .studio .cta .btn-gold{background:rgba(20,18,12,.07);color:var(--text)}
[data-theme="light"] .why .item svg{color:var(--text)}
[data-theme="light"] .review,[data-theme="light"] .book-card,[data-theme="light"] .way,[data-theme="light"] .side .box,[data-theme="light"] .info .box,[data-theme="light"] .pick label,[data-theme="light"] .up,[data-theme="light"] .exit .card,[data-theme="light"] .summary,[data-theme="light"] .also a{background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px rgba(20,18,12,.04)}
[data-theme="light"] .way .ic{background:rgba(20,18,12,.06);color:var(--text)}
[data-theme="light"] .rating .big{color:var(--text)}
[data-theme="light"] .faq details{border-top-color:var(--line)}
[data-theme="light"] .faq details p{color:var(--text-2)}
[data-theme="light"] .tabbar{background:rgba(255,255,255,.82);border:1px solid rgba(20,18,12,.08);box-shadow:0 14px 40px rgba(20,18,12,.16),inset 0 1px 0 rgba(255,255,255,.9)}
[data-theme="light"] .tabbar::before{display:none}
[data-theme="light"] .tab{color:rgba(21,20,15,.5)}
[data-theme="light"] .tab.on{color:#a07c2a}
[data-theme="light"] .tab.on svg{filter:none}
[data-theme="light"] .tab.on::after{background:#a07c2a;box-shadow:none}
[data-theme="light"] .tab.book{color:#a07c2a}
[data-theme="light"] .tab.book .cta{box-shadow:0 0 0 5px rgba(255,255,255,.95),0 10px 26px rgba(184,146,58,.35),inset 0 1px 0 rgba(255,255,255,.75)}
[data-theme="light"] .ptr{background:#fff;color:#a07c2a;border-color:var(--line-2)}
[data-theme="light"] .sheet .bd{background:rgba(20,18,12,.35)}
[data-theme="light"] .sheet .panel{background:#f6f4ef;border-color:var(--line)}
[data-theme="light"] .sheet .handle{background:rgba(20,18,12,.25)}
[data-theme="light"] .sheet .close{background:rgba(20,18,12,.08);color:#15140f}
[data-theme="light"] .sheet .foot{background:rgba(246,244,239,.92);border-top-color:var(--line)}
[data-theme="light"] .det-media{background:var(--bg-3)}
[data-theme="light"] .det-media .allbtn{background:rgba(255,255,255,.85);color:#15140f}
[data-theme="light"] .tags span{background:rgba(20,18,12,.06);color:var(--text-2)}
[data-theme="light"] .facts li::before{background:radial-gradient(circle at 35% 35%,#d4b25c,#a07c2a);box-shadow:none}
[data-theme="light"] .bk .step{background:rgba(20,18,12,.1)}
[data-theme="light"] .bk .sticky{background:linear-gradient(#f6f4ef 78%,rgba(246,244,239,0))}
[data-theme="light"] .pick .chk{background:rgba(255,255,255,.85);border-color:rgba(20,18,12,.15)}
[data-theme="light"] .pick label:has(input:checked){border-color:#a07c2a;box-shadow:0 0 0 1px rgba(160,124,42,.4)}
[data-theme="light"] .toggle input{background:rgba(20,18,12,.15)}
[data-theme="light"] .toggle input:checked{background:#a07c2a}
[data-theme="light"] .opt span{background:rgba(20,18,12,.06);color:var(--text-2)}
[data-theme="light"] .opt input:checked+span{background:#15140f;color:#fff}
[data-theme="light"] .f input,[data-theme="light"] .f select,[data-theme="light"] .f textarea{background:#fff;border:1px solid var(--line);color:var(--text)}
[data-theme="light"] .f input:focus,[data-theme="light"] .f select:focus,[data-theme="light"] .f textarea:focus{box-shadow:0 0 0 2px rgba(160,124,42,.3)}
[data-theme="light"] .f select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f6a5e' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>")}
[data-theme="light"] .up input{border-color:rgba(20,18,12,.2)}
[data-theme="light"] .up input:checked{background:#a07c2a}
[data-theme="light"] .done .mark{color:#1a1405}
[data-theme="light"] .code{background:rgba(160,124,42,.08);border:1px dashed rgba(160,124,42,.5);color:#a07c2a}
[data-theme="light"] .exit{background:rgba(20,18,12,.35)}
[data-theme="light"] .exit form input{background:#fff;border:1px solid var(--line);color:var(--text)}
[data-theme="light"] .toast{background:#fff;color:#15140f;border-color:var(--line-2)}
[data-theme="light"] .side .resp i{background:#2f8f5b;box-shadow:none}
[data-theme="light"] .gal{background:#000}
[data-theme="light"] footer{color:var(--mute)}
[data-theme="light"] .socials a{border-color:var(--line-2);color:var(--text-2)}
[data-theme="light"] .empty{border-color:var(--line-2)}
[data-theme="light"] ::selection{background:#d4b25c;color:#1a1405}

/* ---------- studios map ---------- */
.mapcard{position:relative;margin-top:18px;border-radius:16px;overflow:hidden;background:var(--surface);aspect-ratio:2/1}
.mapcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mapcard .map-light{display:none}
[data-theme="light"] .mapcard .map-dark{display:none}
[data-theme="light"] .mapcard .map-light{display:block}
.mapcard .pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--text)}
.mapcard .pin .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#1a1405;background:radial-gradient(circle at 35% 30%,#ffefb8,#e6c46a 50%,#b8903a);box-shadow:0 0 0 3px rgba(8,8,11,.6),0 8px 20px rgba(217,182,90,.45)}
.mapcard .pin .lbl{font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(8,8,11,.75);color:#fff;white-space:nowrap;backdrop-filter:blur(6px)}
[data-theme="light"] .mapcard .pin .dot{box-shadow:0 0 0 3px rgba(255,255,255,.9),0 8px 20px rgba(184,146,58,.4)}
[data-theme="light"] .mapcard .pin .lbl{background:rgba(255,255,255,.9);color:#15140f}
.mapcard .pin:hover .dot{transform:scale(1.08)}
.mapcard .credit{position:absolute;right:8px;bottom:6px;font-size:10px;color:rgba(255,255,255,.55);background:rgba(8,8,11,.5);padding:2px 6px;border-radius:6px}
[data-theme="light"] .mapcard .credit{color:rgba(21,20,15,.6);background:rgba(255,255,255,.7)}
@media (max-width:640px){.mapcard{aspect-ratio:4/3}.mapcard .pin .lbl{display:none}.mapcard .pin .dot{width:28px;height:28px}}
.logos-strip .marquee img[alt="ReelShort"]{height:22px}
.mapcard .pin .dot{min-width:30px;width:auto;padding:0 8px;border-radius:15px;letter-spacing:.02em}
[data-theme="light"] .mapcard .credit{background:rgba(255,255,255,.8)}
@media (min-width:900px){.mapcard{aspect-ratio:2.4/1}}

/* ---------- chips wrap on desktop, number badges, map popover ---------- */
@media (min-width:900px){.chips{flex-wrap:wrap;overflow:visible;padding-bottom:6px}.chips::-webkit-scrollbar{display:none}}
.card .stnum{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;background:rgba(8,8,11,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2}
[data-theme="light"] .card .stnum{background:rgba(255,255,255,.88);color:#15140f}
.card .badges{display:none}
.pill.new{display:none}
.mapcard .pin{background:none;border:0;padding:0;cursor:pointer}
.mapcard .pop{position:absolute;left:12px;bottom:12px;max-width:min(360px,calc(100% - 24px));padding:14px 16px 14px;border-radius:14px;background:rgba(14,14,19,.94);color:var(--text);border:1px solid var(--line-2);box-shadow:var(--shadow-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:3}
.mapcard .pop .x{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;color:inherit}
.mapcard .pop .prow{margin-bottom:6px;padding-right:26px}
.mapcard .pop .prow b{display:block;font-size:14.5px}
.mapcard .pop .prow small{display:block;color:var(--mute);font-size:12.5px}
.mapcard .pop .row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.mapcard .pop .btn-ghost{background:rgba(255,255,255,.1)}
[data-theme="light"] .mapcard .pop{background:rgba(255,255,255,.96);color:#15140f}
[data-theme="light"] .mapcard .pop .x{background:rgba(20,18,12,.08)}
[data-theme="light"] .mapcard .pop .btn-ghost{background:rgba(20,18,12,.07)}
.cover-photo img{object-position:center 50%}

/* ---------- picker moved into Sets; no top studio bar ---------- */
:root{--studiobar:0px}
.studiobar{display:none}
.cover{padding-top:calc(var(--topbar) + var(--sat))}
html{scroll-padding-top:calc(var(--topbar) + 12px)}
@media (min-width:900px){.topbar-in{grid-template-columns:1fr auto}}
.seg-inline{display:inline-grid;margin:0 0 12px;max-width:100%}
@media (max-width:640px){.seg-inline{display:grid;width:100%}.seg-inline .seg-btn{padding:0 6px}}
.stats-line .star{width:15px;height:15px;fill:#d9b65a;vertical-align:-2px;margin-right:4px}
[data-theme="light"] .stats-line .star{fill:#b8923a}
.stats-line b{font-weight:700;color:var(--text)}
/* booking list rows */
.plist{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.prow{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s}
.prow:last-child{border-bottom:0}
.prow:active{background:rgba(127,127,127,.08)}
.prow input{position:absolute;opacity:0;pointer-events:none}
.prow .pfp{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;background:var(--bg-3)}
.prow .nm{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.2}
.prow .nm small{display:block;font-weight:500;font-size:12.5px;color:var(--mute);margin-top:2px}
.prow .chk{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;color:#1a1405;flex:none;transition:background .2s,border-color .2s}
.prow .chk svg{width:13px;height:13px;opacity:0}
.prow input:checked~.chk{background:linear-gradient(180deg,#f8e19a,#d9b65a);border-color:transparent}
.prow input:checked~.chk svg{opacity:1}
.prow:has(input:checked){background:rgba(217,182,90,.08)}
[data-theme="light"] .plist{background:#fff}
/* select chevrons: single, right-aligned (the KISS shorthand had reset background-repeat) */
.f select,.sort{background-repeat:no-repeat;background-position:right 14px center;background-size:14px 14px}
.results .sort{background-position:right 10px center}
@media (min-width:900px){.topbar .brand{justify-self:start;width:auto;align-items:flex-start}.topbar .brand .sub{align-self:center}}

/* ---------- map hero with place cards ---------- */
.cover-body{padding:14px 0 10px}
.maphero-wrap{margin-top:4px}
.maphero{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:2.1/1;background:var(--surface);border:1px solid var(--line)}
@media (max-width:899px){.maphero-wrap{width:100%}.maphero{border-radius:0;border:0;aspect-ratio:4/5;max-height:70vh}}
.mapcard .pin{transition:transform .3s var(--ease)}
.mapcard .pin.on .dot{transform:scale(1.15);box-shadow:0 0 0 4px rgba(8,8,11,.75),0 10px 24px rgba(217,182,90,.5)}
[data-theme="light"] .mapcard .pin.on .dot{box-shadow:0 0 0 4px rgba(255,255,255,.95),0 10px 24px rgba(184,146,58,.45)}
.mapcard .pin .dot{width:36px;height:36px;min-width:36px;font-size:14px}
.mapcard .pin .lbl{font-size:13px}
.mapcard .place{position:absolute;left:14px;top:14px;width:min(340px,calc(100% - 28px));display:grid;gap:10px;z-index:3}
.mapcard .place .x{position:absolute;top:8px;right:8px;z-index:4;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center}
.pc{background:rgba(14,14,19,.94);border:1px solid var(--line-2);border-radius:16px;overflow:hidden;color:var(--text);box-shadow:var(--shadow-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
[data-theme="light"] .pc{background:rgba(255,255,255,.97);color:#15140f}
.pc-photo{position:relative;aspect-ratio:16/9;background:var(--surface)}
.pc-photo img{width:100%;height:100%;object-fit:cover}
.pc-photo .num{position:absolute;left:10px;top:10px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:14px;background:rgba(0,0,0,.55);color:#fff}
.pc-body{padding:12px 14px 14px}
.pc-body b{display:block;font-size:16px;line-height:1.2}
.pc-body b span{font-weight:500;color:var(--mute)}
.pc-body .addr{font-size:13px;color:var(--mute);margin-top:3px}
.pc-body .facts-line{font-size:12.5px;margin:6px 0 0}
.pc-body .row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
@media (max-width:899px){
  .mapcard .place{left:10px;right:10px;top:auto;bottom:12px;width:auto;gap:8px;max-height:62%;overflow-y:auto;scrollbar-width:none}
  .mapcard .place::-webkit-scrollbar{display:none}
  .pc{display:grid;grid-template-columns:118px minmax(0,1fr)}
  .pc-photo{aspect-ratio:auto;height:100%;min-height:118px}
  .pc-photo .num{width:26px;height:26px;font-size:12px;left:8px;top:8px}
  .pc-body{padding:10px 12px 12px}
  .pc-body b{font-size:15px}
  .pc-body .facts-line{display:none}
  .mapcard .place .x{top:auto;bottom:calc(100% + 6px);right:0}
  .mapcard .credit{display:none}
}
.pc-body .btn-ghost{background:rgba(127,127,127,.15)}
.logos-strip{margin-top:14px}

/* ---------- #fec315 gold + sign light-up ---------- */
:root{--gold:#e0ab12;--gold-2:#fec315;--gold-3:#ffe27a;--gold-deep:#b8880a;--s1:#039be5}
[data-theme="light"]{--gold:#c9970c;--gold-2:#fec315;--gold-3:#ffe27a;--s1:#039be5}
.btn-gold,.tab.book .cta,.studio .cta .btn-gold{background:linear-gradient(180deg,#ffe27a 0%,#fec315 48%,#f0b300 100%);color:#1a1405;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.08),0 10px 26px rgba(254,195,21,.35)}
.btn-gold:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 14px 32px rgba(254,195,21,.45);transform:translateY(-1px)}
.btn-gold::after{content:"";display:block;position:absolute;inset:1px 8% auto 8%;height:46%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.tab.book .cta{background:radial-gradient(circle at 35% 28%,#fff0a8 0%,#fec315 45%,#e0a800 100%);box-shadow:0 0 0 5px rgba(13,13,19,.92),0 12px 30px rgba(254,195,21,.55),inset 0 1px 0 rgba(255,255,255,.8),inset 0 -2px 4px rgba(0,0,0,.18)}
[data-theme="light"] .tab.book .cta{box-shadow:0 0 0 5px rgba(255,255,255,.95),0 10px 26px rgba(254,195,21,.5),inset 0 1px 0 rgba(255,255,255,.8)}
.pin .dot,.mapcard .pin .dot,.done .mark{background:radial-gradient(circle at 35% 30%,#fff0a8,#fec315 50%,#e0a800)}
.prow input:checked~.chk{background:linear-gradient(180deg,#ffe27a,#fec315);border-color:transparent}
.toggle input:checked,[data-theme="light"] .toggle input:checked,.up input:checked,[data-theme="light"] .up input:checked{background:#fec315}
.stats-line .star,[data-theme="light"] .stats-line .star{fill:#fec315}
.stars,[data-theme="light"] .stars{color:#fec315}
.chip.on{background:#fec315;color:#1a1405}
.chip.on .n{color:rgba(26,20,5,.6)}
[data-theme="light"] .chip.on{background:#fec315;color:#1a1405}
[data-theme="light"] .chip.on .n{color:rgba(26,20,5,.6)}
.opt input:checked+span,[data-theme="light"] .opt input:checked+span{background:#fec315;color:#1a1405}
.tab.on,[data-theme="light"] .tab.on,.tab.book,[data-theme="light"] .tab.book{color:#e0ab12}
.tab.on::after,[data-theme="light"] .tab.on::after{background:#fec315;box-shadow:0 0 8px rgba(254,195,21,.9)}
/* sign: warm incandescent bulbs, lit in three bursts (HOLLY, WOOD, LAND) */
.sign .l{color:#fec315;text-shadow:0 0 6px rgba(254,195,21,.75),0 0 18px rgba(254,195,21,.45),0 0 34px rgba(254,170,0,.25)}
[data-theme="light"] .sign .l{color:#f0b300;text-shadow:0 0 5px rgba(254,195,21,.55),0 0 14px rgba(254,195,21,.3)}
.anim .sign .l,[data-theme="light"] .anim .sign .l{color:#4a3d16;text-shadow:none}
@keyframes strike{0%{color:#4a3d16;text-shadow:none}8%{color:#fff3b0;text-shadow:0 0 14px rgba(254,195,21,1),0 0 36px rgba(254,195,21,.7)}14%{color:#7a6320;text-shadow:0 0 4px rgba(254,195,21,.3)}22%{color:#fff3b0;text-shadow:0 0 16px rgba(254,195,21,1),0 0 40px rgba(254,195,21,.75)}34%{color:#fec315;text-shadow:0 0 6px rgba(254,195,21,.75),0 0 18px rgba(254,195,21,.45)}100%{color:#fec315;text-shadow:0 0 6px rgba(254,195,21,.75),0 0 18px rgba(254,195,21,.45),0 0 34px rgba(254,170,0,.25)}}
.anim .sign.on .l{animation:strike 1.6s var(--ease) var(--d,0ms) forwards,neon 6.2s ease-in-out calc(var(--d,0ms) + 1.6s) infinite}
.brand{cursor:pointer}

/* ---------- mini maps ---------- */
.minimap{position:relative;display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;margin:-4px 0 12px;background:var(--surface-2)}
.minimap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.minimap .map-light{display:none}
[data-theme="light"] .minimap .map-light{display:block}
[data-theme="light"] .minimap .map-dark{display:none}
.minimap .mdot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#1a1405;background:radial-gradient(circle at 35% 30%,#fff0a8,#fec315 50%,#e0a800);box-shadow:0 0 0 3px rgba(255,255,255,.9),0 8px 20px rgba(254,195,21,.5)}
.minimap::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line)}

/* ---------- zoomable map ---------- */
.mapcard{touch-action:pan-y}
.mapcard .stage{position:absolute;inset:0;transform-origin:center center;will-change:transform;--inv:1}
.mapcard .stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.mapcard.zoomed{cursor:grab;touch-action:none}
.mapcard.zoomed:active{cursor:grabbing}
.mapcard .pin{transform:translate(-50%,-50%) scale(var(--inv));transform-origin:center;flex-direction:column;gap:3px}
.mapcard .pin .lbl{white-space:nowrap}
.mapcard .credit{display:none}
.zoomctl{position:absolute;right:12px;top:12px;z-index:4;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:rgba(14,14,19,.9);border:1px solid var(--line-2);box-shadow:var(--shadow-1)}
.zoomctl button{width:38px;height:38px;font-size:20px;line-height:1;color:#fff;display:grid;place-items:center}
.zoomctl button+button{border-top:1px solid rgba(255,255,255,.12)}
[data-theme="light"] .zoomctl{background:rgba(255,255,255,.95)}
[data-theme="light"] .zoomctl button{color:#15140f}
[data-theme="light"] .zoomctl button+button{border-top-color:rgba(20,18,12,.1)}
@media (max-width:899px){.zoomctl{top:auto;bottom:12px;right:12px;flex-direction:row}.zoomctl button+button{border-top:0;border-left:1px solid rgba(255,255,255,.12)}.mapcard .place{right:64px}}
.mapcredit{color:var(--faint);font-size:11px;margin-left:6px}

/* ---------- uniform subway-style number bullets ---------- */
.card .stnum,.pc-photo .num,.grid .sthead .num,.bk .stgroup .num,.minimap .mdot,.mapcard .pin .dot,.done .mark{border-radius:50%;background:#fec315;color:#111;font-family:var(--sans);font-weight:800;letter-spacing:0;background-image:none;text-shadow:none}
.card .stnum{width:28px;height:28px;font-size:13px;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 2px 6px rgba(0,0,0,.25);backdrop-filter:none;-webkit-backdrop-filter:none;top:10px;right:10px}
.pc-photo .num{width:30px;height:30px;font-size:14px;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 2px 6px rgba(0,0,0,.25)}
.grid .sthead .num,.bk .stgroup .num{width:30px;height:30px;font-size:14px;border:0}
.minimap .mdot{width:28px;height:28px;font-size:13px;box-shadow:0 0 0 2.5px #fff,0 4px 12px rgba(0,0,0,.3)}
.mapcard .pin .dot{width:34px;height:34px;min-width:34px;padding:0;font-size:15px;box-shadow:0 0 0 2.5px #fff,0 6px 16px rgba(0,0,0,.3)}
.mapcard .pin.on .dot{transform:scale(1.12);box-shadow:0 0 0 3px #fff,0 8px 20px rgba(0,0,0,.35)}
[data-theme="light"] .mapcard .pin .dot,[data-theme="light"] .mapcard .pin.on .dot,[data-theme="light"] .card .stnum{box-shadow:0 0 0 2.5px #fff,0 4px 12px rgba(0,0,0,.25)}
.mapcard .pin .lbl{font-size:12.5px;padding:3px 8px}
/* desktop: no duplicate CTAs under the title; phone icon in the bar; smaller tiles; reviews in a grid; footer columns */
@media (min-width:900px){
  .cover .hero-ctas{display:none}
  .cover-body{padding:14px 0 8px}
  .topbar .actions .phone-desk{display:inline-flex!important;width:38px;height:38px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px 14px}
  .card h3{font-size:15px}
  .card .blurb{font-size:13px;-webkit-line-clamp:2}
  .reviews{display:block;columns:3;column-gap:14px;overflow:visible;scroll-snap-type:none;padding:6px 0 0}
  .reviews .review{display:flex;width:100%;break-inside:avoid;margin:0 0 14px;flex:none}
  .review .who{margin-top:4px}
  .review{flex:none;width:auto}
  .review:nth-child(n+7){display:none}
  .foot-grid{grid-template-columns:1.1fr 1.4fr .7fr .7fr}
  footer li{white-space:nowrap}
}
/* tour video overlay */
.vid{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:16px}
.vid[hidden]{display:none}
.vid video{width:min(1100px,100%);max-height:88vh;border-radius:14px;background:#000;outline:none}
.vid .vclose{position:absolute;top:calc(var(--sat) + 12px);right:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2)}
.pc-body .row .btn svg{width:14px;height:14px;margin-right:2px}

.topbar .phone-desk{display:none}

/* ---------- video hero (Studio 1 walkthrough) ---------- */
.cover-media{position:relative;width:100%;height:clamp(250px,44vw,560px);overflow:hidden;background:#0e0e0e;isolation:isolate}
.cover-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 35%,rgba(0,0,0,.78) 100%)}
.cover-over{position:absolute;left:0;right:0;bottom:0;padding-bottom:22px;color:#fff}
.cover-over h1,.cover-over .stats-line,.cover-over .stats-line b{color:#fff}
.cover-over h1{text-shadow:0 2px 14px rgba(0,0,0,.45)}
.cover-over .stats-line{color:rgba(255,255,255,.86)}
.cover-over .star{fill:#fec315}
.cover-over .btn-glass{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.cover-play{position:absolute;right:18px;top:18px;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 12px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font:600 13px/1 var(--sans);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer}
.cover-play:hover{background:rgba(0,0,0,.6)}
.cover .maphero-wrap{margin-top:14px}
@media (min-width:900px){.cover-over{padding-bottom:28px}.cover-play{right:max(18px,calc((100% - var(--maxw,1180px))/2 + 6px));top:auto;bottom:30px}.cover .maphero-wrap{margin-top:18px}}
@media (max-width:899px){.cover-media{height:clamp(230px,62vw,420px)}.cover-over{padding-bottom:16px}.cover-over .cover-row{gap:10px}.cover-over .hero-ctas{width:100%}}
/* Reduce Motion used to hide the hero loop and freeze the logo strip, which
   read as "the video is broken" on iPhones with the setting on (Reza
   2026-09-08). The loop is silent, muted and slow, so it stays; the poster
   remains the background underneath it. */
@media (prefers-reduced-motion:reduce){.cover-media{background:#0e0e0e url(/assets/video/tour-loop-poster.jpg) center/cover}}
/* map pins: nudge Studios 2 and 3 apart at low zoom (they are ~150 m apart in reality) */
.mapcard .pin.nudge-ne,.mapcard .pin.nudge-sw{transition:transform .3s var(--ease)}
.mapcard.lowz .pin.nudge-ne{transform:translate(-50%,-50%) scale(var(--inv)) translate(16px,-14px)}
.mapcard.lowz .pin.nudge-sw{transform:translate(-50%,-50%) scale(var(--inv)) translate(-14px,12px)}

/* fixes: single phone icon on mobile, pins 2/3 readable at base zoom, zoom buttons clear of the place card on phones */
@media (max-width:899px){.topbar .actions .phone-desk,.topbar .phone-desk{display:none!important}.mapcard .zoomctl{top:12px;bottom:auto;right:12px}}
.mapcard.lowz .pin.nudge-ne{transform:translate(-50%,-50%) scale(var(--inv)) translate(24px,-30px);flex-direction:column-reverse}
.mapcard.lowz .pin.nudge-sw{transform:translate(-50%,-50%) scale(var(--inv)) translate(-24px,20px)}
.mapcard .pin.on{z-index:3}

/* pins track the map exactly while zooming (no lagging transition); the 2/3 spread fades out smoothly by zoom 2.8 */
.mapcard .pin,.mapcard.lowz .pin{transition:none}
.mapcard .pin .dot{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.mapcard .pin.nudge-ne{flex-direction:column-reverse}
.mapcard .pin.nudge-ne,.mapcard.lowz .pin.nudge-ne{transform:translate(-50%,-50%) scale(var(--inv)) translate(calc(24px * var(--nf,1)),calc(-30px * var(--nf,1)))}
.mapcard .pin.nudge-sw,.mapcard.lowz .pin.nudge-sw{transform:translate(-50%,-50%) scale(var(--inv)) translate(calc(-24px * var(--nf,1)),calc(20px * var(--nf,1)))}

/* tabs: Sets + Good to know; booking start/end rows; stats line fit */
.tab.wide span{font-size:clamp(7.5px,2.3vw,9.5px);letter-spacing:.03em;white-space:nowrap}
.bk .f.when .dt{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px}
.bk .f.when .day{display:block;margin-top:6px;font-size:12px;color:var(--mute);font-weight:500}
.cover-over .stats-line{white-space:nowrap;display:inline-block;letter-spacing:.005em}
@media (max-width:899px){.cover-over .cover-row>div:first-child{width:100%}}

/* selects: single chevron, never a repeating pattern (theme shorthands were resetting background-repeat) */
select,.bk select,.f select,[data-theme="light"] select{background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:14px!important}
.det-mosaic.one{grid-template-columns:1fr}.det-mosaic.one .tile{grid-row:auto;grid-column:1/-1;aspect-ratio:16/9}
.det-mosaic.two{grid-template-columns:2fr 1fr}.det-mosaic.two .tile:first-child{grid-row:1/-1}

/* booking flow: labelled progress, change links, gold badges in light mode */
.bk .steps{align-items:flex-start;gap:10px}
.bk .step,[data-theme="light"] .bk .step{height:auto;background:none;overflow:visible;display:flex;flex-direction:column;gap:7px;border-radius:0}
.bk .step b{display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
[data-theme="light"] .bk .step b{background:rgba(20,18,12,.1)}
.bk .step em{font:600 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-style:normal}
.bk .step.on em{color:var(--gold-2)}[data-theme="light"] .bk .step.on em{color:#8a6a00}
.bk .step.done{cursor:pointer}.bk .step.done em{color:var(--text-2)}
.bk .summary .chg{margin-left:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text-2);font:600 11px/1.4 var(--sans);cursor:pointer}
.bk .summary .chg:hover{color:var(--text);border-color:var(--text-2)}
[data-theme="light"] .grid .sthead .num,[data-theme="light"] .bk .stgroup .num{background:#fec315;color:#111}

.bk .step,.bk .step.done,.bk .step.on{margin:0;padding:0;transform:none;min-height:0}.bk .step b,.bk .step.on b,.bk .step.done b{height:4px;margin:0}

/* review platform marks + show-all */
.review .src{display:inline-flex;align-items:center;gap:6px}
.review .pmark{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;font:800 10px/1 var(--sans);font-style:normal;color:#fff;background:#1e9a5a;letter-spacing:0}
.review .pmark.ps{border-radius:4px;background:#111;color:#fff}
[data-theme="light"] .review .pmark.ps{background:#111}
.revmore{display:block;margin:16px auto 0}
@media (min-width:900px){.reviews.all .review:nth-child(n+7){display:block}}
@media (max-width:899px){.revmore{display:none}}
/* logo strip sits between the video hero and the map */
.cover .logos{margin-top:0}.cover .maphero-wrap{margin-top:14px}

/* phones: smaller tile bullets, contained shorter map with a compact studio card; tab lock handled in JS */
@media (max-width:899px){
  .card .stnum{width:22px;height:22px;font-size:11px;top:8px;right:8px;box-shadow:0 0 0 1.5px rgba(255,255,255,.95),0 1px 4px rgba(0,0,0,.25)}
  .cover .maphero-wrap{width:calc(100% - 2*var(--pad));margin:12px auto 0;padding:0}
  .mapcard.maphero{height:clamp(300px,82vw,380px);border-radius:18px;overflow:hidden;border:1px solid var(--line-2)}
  .mapcard .place{left:10px;right:10px;bottom:10px}
  .mapcard .pc{display:grid;grid-template-columns:96px minmax(0,1fr)}
  .mapcard .pc-photo{aspect-ratio:1/1;height:100%}
  .mapcard .pc-body{padding:10px 12px}
  .mapcard .pc-body b{font-size:14px}
  .mapcard .pc-body .addr{font-size:12px;margin-top:2px}
  .mapcard .pc-body .facts-line{display:none}
  .mapcard .pc-body .row{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin-top:8px}
  .mapcard .pc-body .row .btn{height:32px;padding:0 12px;font-size:12.5px}
  .mapcard .zoomctl{top:10px;right:10px;transform:scale(.9);transform-origin:top right}
}

/* map: view + card structure; phones get a contained map with the studio card below it */
.mapcard .mapview{position:absolute;inset:0;overflow:hidden}
@media (max-width:899px){
  .mapcard.maphero{height:auto;aspect-ratio:auto;max-height:none;display:block;border-radius:18px;overflow:hidden}
  .mapcard .mapview{position:relative;height:clamp(230px,62vw,300px)}
  .mapcard .place{position:relative;inset:auto;left:auto;right:auto;bottom:auto;top:auto;max-width:none;width:auto;margin:0;padding:8px;background:var(--bg-2)}
  .mapcard .pc{display:grid;grid-template-columns:96px minmax(0,1fr);box-shadow:none;border:0;background:transparent}
  .mapcard .pc-photo{aspect-ratio:1/1;height:auto;min-height:0;border-radius:12px;overflow:hidden}
  .mapcard .pc-body{padding:2px 4px 2px 12px}
  .mapcard .pc-body .row{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;margin-top:8px}
  .mapcard .pc-body .row .btn{height:32px;padding:0 12px;font-size:12.5px}
  .mapcard .pc .pc-close{top:6px;right:6px}
}
/* no halo on gold buttons */
.btn-gold,.studio .cta .btn-gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.18)}
[data-theme="light"] .btn-gold{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 6px rgba(0,0,0,.12)}
/* sign sub-line fits the longer wording */
.brand .sub{letter-spacing:.2em;text-indent:.2em;font-size:8.5px}
/* liquid-glass tab bar: icons only, Book as the text pill */
@media (max-width:899px){
  .tabbar{left:14px;right:14px;bottom:calc(var(--sab) + 12px);height:62px;padding:0 10px;border-radius:31px;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:center;background:rgba(18,18,24,.58);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(34px) saturate(190%);-webkit-backdrop-filter:blur(34px) saturate(190%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.35),0 18px 44px rgba(0,0,0,.55)}
  [data-theme="light"] .tabbar{background:rgba(255,255,255,.64);border-color:rgba(0,0,0,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(0,0,0,.05),0 18px 44px rgba(0,0,0,.16)}
  .tab{min-height:0;height:48px;gap:0;color:rgba(241,234,219,.5);border-radius:24px;transition:color .25s,transform .25s}
  [data-theme="light"] .tab{color:rgba(20,18,12,.45)}
  .tab>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tab svg{width:26px;height:26px}
  .tab.on{color:#fec315}.tab.on svg{transform:translateY(-1px) scale(1.06);filter:none}.tab.on::after{display:none}
  [data-theme="light"] .tab.on{color:#b98a00}
  .tab.book{height:40px;padding:0 22px;border-radius:20px;margin:0 4px;background:linear-gradient(180deg,#ffe27a,#fec315 48%,#f0b300);color:#1a1405;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.25)}
  .tab.book:active{transform:scale(.96)}
  .tab.book>span{position:static;width:auto;height:auto;clip:auto;overflow:visible;font:800 14.5px/1 var(--sans);letter-spacing:.01em;text-transform:none;color:#1a1405}
}

/* studios 2 and 3 are one block apart: one "2·3" pin at overview, two pins once zoomed past 2.6x */
.mapcard .pin.nudge-ne,.mapcard.lowz .pin.nudge-ne,.mapcard .pin.nudge-sw,.mapcard.lowz .pin.nudge-sw{transform:translate(-50%,-50%) scale(var(--inv));flex-direction:column}
.mapcard.lowz .pin.nudge-ne{display:none}
.mapcard .pin .dot .lo,.mapcard .pin .lbl .lo{display:none}
.mapcard.lowz .pin.nudge-sw .dot .lo{display:inline;font-weight:800}
.mapcard.lowz .pin.nudge-sw .dot{width:auto;min-width:34px;padding:0 11px;border-radius:17px}
.mapcard.lowz .pin.nudge-sw .lbl .hi{display:none}.mapcard.lowz .pin.nudge-sw .lbl .lo{display:inline}

/* ---------- 2026-09-02 pm: bigger sign (+20%), emoji chips, chip-row scroll affordance ---------- */
.sign{font-size:clamp(24px,2.64vw,32.5px)}
@media (max-width:899px){.topbar .sign{font-size:clamp(15.6px,5.2vw,22.2px)}}
.chip{gap:6px}
.chip .e{font-size:15px;line-height:1;margin-right:1px;filter:saturate(1.05)}
.chip .n{margin-left:2px}
.chips{user-select:none;-webkit-user-select:none;cursor:default}
.chips.dragging{cursor:grabbing}
.chips.dragging .chip{pointer-events:none}
@media (max-width:899px){
  .chips{padding-right:24px;-webkit-mask-image:none;mask-image:none}
  .chips.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
  .chips.fade-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
  .chips.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 44px),transparent)}
}
.mapcard.lowz .pin.nudge-sw .dot{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;gap:0}
.mapcard.lowz .pin.nudge-sw .dot .lo{display:inline;font-size:inherit}

/* Peerspace review extras: would-book-again line, role, booking size */
.review .again{display:flex;align-items:center;gap:7px;margin:10px 0 2px;font-size:13px;color:var(--text)}
.review .again i{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#1f9d55;color:#fff;flex:none}
.review .again b{font-weight:700}
.review .who .role{font-style:normal;color:var(--mute);font-weight:500}
.review .who .booked{display:block;margin-top:3px;font-size:11.5px;color:var(--mute)}
.review .who > span:first-child{min-width:0}

/* map now lives under Book now */
.mapsec{padding:8px 0 40px}
.mapsec .maphero-wrap{margin-top:0}
@media (max-width:899px){.mapsec{padding:4px 0 28px}.mapsec .maphero-wrap{width:calc(100% - 2*var(--pad));margin:0 auto}}

.mapsec{padding:6px 0 34px}

/* three studios header above the map */
.maphead{padding:34px 0 0}
.maphead .sec-head{margin-bottom:12px}
.stchips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.stchip{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line-2);color:var(--text);cursor:pointer;text-align:left;transition:border-color .2s,transform .2s}
.stchip .num{width:28px;height:28px;border-radius:50%;background:#fec315;color:#111;display:grid;place-items:center;font:800 13px/1 var(--sans);flex:none}
.stchip .t{display:flex;flex-direction:column;line-height:1.15}
.stchip b{font-size:14px;font-weight:700}
.stchip small{font-size:12px;color:var(--mute)}
.stchip:hover{border-color:var(--text-2)}
.stchip.on{border-color:#fec315;box-shadow:inset 0 0 0 1px #fec315}
@media (max-width:899px){.maphead{padding-top:26px}.stchips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-left:calc(-1*var(--pad));margin-right:calc(-1*var(--pad));padding-left:var(--pad);padding-right:var(--pad)}.stchips::-webkit-scrollbar{display:none}.stchip{flex:none}}

/* studio badges on tiles and cards: small white disc, number knocked out to the photo */
.card .stnum,.pc-photo .num{background:#fff;color:#000;box-shadow:none;border:0;opacity:1;font-weight:800;letter-spacing:0}
.card .stnum{width:22px;height:22px;font-size:11.5px;top:9px;right:9px}
.pc-photo .num{width:24px;height:24px;font-size:12px}
@media (max-width:899px){.card .stnum{width:19px;height:19px;font-size:10px;top:7px;right:7px;box-shadow:none}}
[data-theme="light"] .card .stnum,[data-theme="light"] .pc-photo .num{box-shadow:none}
/* map pins a touch smaller and calmer */
.mapcard .pin .dot{width:28px;height:28px;min-width:28px;font-size:13px;background:#f3c53a;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 3px 10px rgba(0,0,0,.25)}
.mapcard.lowz .pin.nudge-sw .dot{min-width:28px;padding:0 9px;border-radius:14px}

/* category chips: line icons instead of emoji */
.chip .e{display:inline-grid;place-items:center;width:15px;height:15px;font-size:0}
.chip .e svg{width:15px;height:15px}
/* studio chips fit one row on phones */
@media (max-width:899px){
  .stchips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin-left:0;margin-right:0;padding:0 0 4px}
  .stchip{padding:7px 8px 7px 7px;gap:7px;min-width:0}
  .stchip .num{width:24px;height:24px;font-size:12px}
  .stchip b{font-size:12.5px;white-space:nowrap}
  .stchip small{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .stchip .t{min-width:0}
}
.stchip small.m{display:none}@media (max-width:899px){.stchip small.d{display:none}.stchip small.m{display:block}}

/* map focus animation, clear-filters, see-all */
.mapcard .stage.anim{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.clearf{display:inline-flex;align-items:center;gap:5px;margin-left:10px;padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);font:600 12px/1.4 var(--sans);cursor:pointer;vertical-align:middle}
.clearf:hover{border-color:var(--text-2)}
.seeall{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:26px 0 6px;padding:16px;border:1px dashed var(--line-2);border-radius:16px;color:var(--mute);font-size:14px}
@media (max-width:899px){.seeall{margin:18px 0 0;flex-direction:column;gap:10px}}

/* ============================================================
   Booking price panel + deposit checkout  (2026-09-04)
   Appended last so it wins over the sleek/KISS override blocks.
   ============================================================ */
.qt{
  margin:18px 0 4px;padding:16px 18px;border-radius:14px;
  background:color-mix(in srgb, var(--gold) 7%, transparent);
  border:1px solid color-mix(in srgb, var(--gold) 26%, transparent);
  font-variant-numeric:tabular-nums;
}
.qt-load,.qt-note{
  margin:18px 0 4px;padding:14px 18px;border-radius:14px;
  background:var(--card,rgba(255,255,255,.04));
  border:1px dashed color-mix(in srgb, var(--fg,#fff) 18%, transparent);
  font-size:14px;opacity:.85;display:block;
}
.qt-note b{display:block;margin-bottom:4px}
.qt-note span{font-size:13.5px;opacity:.8;line-height:1.55}
.qt-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  opacity:.6;margin-bottom:10px;
}
.qt-flag{
  font-style:normal;text-transform:none;letter-spacing:0;font-size:12px;
  color:var(--gold);opacity:1;
}
.qt-row{
  display:flex;justify-content:space-between;gap:14px;
  padding:5px 0;font-size:14.5px;
}
.qt-row em{font-style:normal;opacity:.55;font-size:12.5px}
.qt-total{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  margin-top:10px;padding-top:12px;
  border-top:1px solid color-mix(in srgb, var(--gold) 24%, transparent);
  font-size:15px;
}
.qt-total b{font-size:22px;letter-spacing:-.02em}
.qt-dep{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:8px;padding:13px;border-radius:10px;
  background:var(--gold);color:#17150f;font-weight:600;font-size:14.5px;
}
/* baseline alignment with a 14.5px label beside a 20px figure left the tile
   looking bottom-heavy; centring on a flat line-height evens the padding. */
.qt-dep span,.qt-dep b{line-height:1.2;display:block}
.qt-dep b{font-size:20px;letter-spacing:-.02em}
.qt-bal{margin-top:9px;font-size:12.5px;line-height:1.55;opacity:.62}
.qt-ups{display:flex;flex-direction:column;gap:7px;margin-top:13px}
.qt-up{
  display:block;width:100%;text-align:left;cursor:pointer;
  padding:11px 13px;border-radius:10px;font:inherit;font-size:13.5px;font-weight:600;
  color:var(--gold);background:transparent;
  border:1px solid color-mix(in srgb, var(--gold) 40%, transparent);
  transition:background .15s ease, transform .15s ease;
}
.qt-up:hover{background:color-mix(in srgb, var(--gold) 13%, transparent)}
.qt-up:active{transform:translateY(1px)}
.qt-up::after{content:" →"}

.nav.pay{flex-wrap:wrap;gap:12px}
.pay-acts{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}
.pay-note{margin:10px 0 0;font-size:12.5px;opacity:.6;line-height:1.55}
@media (max-width:560px){
  .nav.pay{flex-direction:column;align-items:stretch}
  .pay-acts{margin-left:0;flex-direction:column-reverse;align-items:stretch}
  .pay-acts .btn{width:100%}
  .qt-dep b,.qt-total b{font-size:19px}
}
@media (prefers-reduced-motion:reduce){
  .qt-up{transition:none}
}

/* pay plan choice */
.payplan{display:grid;gap:8px;margin:14px 0 10px}
.payplan label{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer}
.payplan label.on{border-color:rgba(241,207,118,.7);background:rgba(241,207,118,.08)}
.payplan input{margin-top:3px;accent-color:var(--gold-2)}
.payplan b{display:block;font-size:15px}.payplan small{display:block;color:var(--text-2);font-size:12.5px;margin-top:2px}

/* scout */
.scoutrow{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:space-between;margin-top:18px;padding:18px 20px;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--line)}
.scoutrow p{margin:0;color:var(--text-2);font-size:15px;max-width:52ch}
.scoutbtns{display:flex;flex-wrap:wrap;gap:8px}
.scoutbtns .btn{gap:8px}
.scoutbtns .sn,.sc-st .opt b{font-variant-numeric:tabular-nums}
.scoutbtns .sn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#1a1408;font:700 12px/1 var(--sans);margin-right:8px}
.sc-in{padding:6px 2px 20px}
.sc-in .eyebrow{margin:0 0 6px;color:var(--gold-2);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.sc-in h2{margin:0 0 8px}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.sc-grid .full{grid-column:1/-1}
.sc-st{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sc-st .opt span{display:flex;flex-direction:column;gap:2px}.sc-st .opt small{color:var(--text-2);font-size:11.5px}
.sc-err{margin:12px 0 0;padding:10px 14px;border-radius:var(--r-md);background:rgba(232,131,106,.12);border:1px solid rgba(232,131,106,.45);color:#f3a893;font-size:14px}
.sc-acts{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:16px}
.sc-done{text-align:center;padding-top:26px}
.sc-check{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:rgba(95,190,134,.16);color:#7fd8a3;border:1px solid rgba(95,190,134,.4)}
.sc-check svg{width:32px;height:32px}
@media (max-width:640px){.sc-grid,.sc-st{grid-template-columns:1fr}.scoutrow{justify-content:flex-start}}

/* photo strips on the grid never take over scrolling: arrows and dots move them, the page scrolls */
.card .track{overflow:hidden!important;touch-action:pan-y;scroll-behavior:smooth;overscroll-behavior:contain}
.card .dots{pointer-events:auto}
.card .dots i{position:relative;cursor:pointer}
.card .dots i::after{content:"";position:absolute;inset:-9px}
/* Book now: clear button hierarchy at tablet and half-window widths */
.book-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.book-ctas .btn{width:100%;justify-content:center;white-space:nowrap}
.book-ctas .btn-gold{grid-column:1/-1}
@media (min-width:1180px){.book-ctas{grid-template-columns:auto auto auto;justify-content:start}.book-ctas .btn{width:auto}.book-ctas .btn-gold{grid-column:auto}}
@media (max-width:420px){.book-ctas{grid-template-columns:1fr}}
/* booking sheet: the step bar floats at the bottom of the panel; the list scrolls under it */
.bk .nav{position:sticky;bottom:0;z-index:3;margin:22px 0 0;padding:12px 0 calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--bg-2) 72%,rgba(0,0,0,0));border-top:1px solid var(--line-2)}
.bk .nav .btn-lg{min-width:180px}
@media (max-width:640px){.bk .nav{gap:8px}.bk .nav .btn-lg{flex:1 1 auto;min-width:0}}

.bk .nav{align-items:center}
.bk .nav.pay{align-items:center;justify-content:space-between}
.bk .nav .btn{align-self:center}
.bk .payplan{margin:14px 0 4px}

/* booking sheet header: back + step + close, always visible, content scrolls beneath */
#bookSheet .close{display:none}
.bk{padding-top:0}
.bk-top{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 calc(-1 * clamp(16px,3vw,32px)) 14px;padding:calc(14px + 4px) clamp(16px,3vw,32px) 10px;background:var(--bg-2);border-bottom:1px solid var(--line-2)}
.bk-top .bk-step{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-weight:600}
.bk-back,.bk-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.06);color:var(--text);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.bk-back svg,.bk-x svg{width:18px;height:18px}
.bk-sp{width:38px;height:38px}
.bk .steps{padding-right:0}
.bk .nav{background:var(--bg-2);border-top:1px solid var(--line-2);margin:22px calc(-1 * clamp(16px,3vw,32px)) 0;padding:12px clamp(16px,3vw,32px) calc(12px + env(safe-area-inset-bottom,0px));justify-content:flex-end}
.bk .nav.pay{justify-content:flex-end}
.bk .nav .btn-lg{min-width:220px}
@media (max-width:640px){.bk .nav{justify-content:stretch}.bk .nav .btn-lg{flex:1 1 auto;min-width:0;width:100%}.bk .nav #pickCount{display:none}}
.book-ctas .btn-gold{grid-column:auto}
@media (min-width:1180px){.book-ctas{grid-template-columns:auto auto}}

/* progress steps: labels centred under each bar */
.bk .step{align-items:center;text-align:center}
.bk .step em{text-align:center;width:100%}
.bk .group{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bk .group .chg{margin-left:auto}

/* embedded Stripe checkout inside the sheet */
.stripe-mount{margin:14px 0 8px;min-height:560px;border-radius:16px;overflow:hidden}
.stripe-mount iframe{border-radius:16px}
.stripe-wait{padding:40px 16px;text-align:center;color:var(--text-2)}

/* studio circles in the booking sheet: studio colour behind a black number */
.bk .stgroup .num,.grid .sthead .num{color:#111!important;background:#fec315}
.bk .stgroup.s1 .num,.grid .sthead.s1 .num{background:#039be5!important;color:#111!important}
.bk .stgroup.s2 .num,.grid .sthead.s2 .num{background:#f6bf26!important;color:#111!important}
.bk .stgroup.s3 .num,.grid .sthead.s3 .num{background:#c0ca33!important;color:#111!important}

.avail{margin:10px 0 0;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text-2);min-height:0}
.avail:empty{display:none}
.avail.checking{opacity:.7}
.avail.ok{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08);color:#a7f0cf}
.avail.bad{border-color:rgba(255,90,90,.45);background:rgba(255,90,90,.08);color:#ffc0c0}
.avail .chg{display:inline;padding:0 2px;background:none;border:0;color:var(--gold-2);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
/* photo lightbox: a contained popup you swipe through, not a wall-to-wall image */
.gal .track figure{padding:calc(var(--sat) + 64px) 4vw calc(var(--sab) + 56px)}
.gal .track figure img{max-width:min(1100px,92vw)!important;max-height:min(78vh,900px)!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
@media (max-width:640px){.gal .track figure{padding:calc(var(--sat) + 56px) 3vw calc(var(--sab) + 64px)}.gal .track figure img{max-height:64vh!important;border-radius:14px}}

/* set sheet: one photo strip everywhere, arrows + dots, a single Book button */
.det-mosaic{display:none!important}
.det-media{position:relative}
.det-strip{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;aspect-ratio:16/10;max-height:min(56vh,560px);scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--bg-3);border-radius:0}
.det-strip::-webkit-scrollbar{display:none}
.det-strip img{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;cursor:zoom-in}
.det-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(8,8,11,.6);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);color:#fff;display:flex!important;align-items:center;justify-content:center;cursor:pointer;z-index:3}
.det-arrow.prev{left:12px}.det-arrow.next{right:12px}
.det-arrow svg{width:20px;height:20px}
.det-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:5px;z-index:3;pointer-events:none}
.det-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45)}
.det-dots i.on{background:#fff;transform:scale(1.25)}
.det-media .allbtn{bottom:12px;right:12px;z-index:4}
#setFoot .btn.wide{flex:1 1 auto;width:100%;justify-content:center}
@media (max-width:899px){.det-strip{aspect-ratio:4/3;max-height:none}.det-arrow{width:38px;height:38px}}

/* progress circles */
.bk .steps{position:relative;display:flex;justify-content:space-between;gap:0;margin:0 0 18px;padding:0 6px}
.bk .steps::before{content:"";position:absolute;left:34px;right:34px;top:14px;height:2px;background:var(--line-2);z-index:0}
.bk .step,[data-theme="light"] .bk .step{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;height:auto;overflow:visible;border-radius:0;position:relative;z-index:1}
.bk .step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg-2);border:1.5px solid var(--line-2);color:var(--text-2);font:700 12.5px/1 var(--sans);overflow:visible;box-shadow:0 0 0 4px var(--bg-2)}
.bk .step b svg{width:14px;height:14px}
.bk .step i{display:none}
.bk .step.on b{background:var(--gold);border-color:var(--gold);color:#1a1400}
.bk .step.done b{background:rgba(254,195,21,.16);border-color:var(--gold-2);color:var(--gold-2)}
.bk .step.done{cursor:pointer}.bk .step.done:hover b{background:rgba(254,195,21,.3)}
.bk .step em{text-align:center;width:100%;font-size:10.5px}
/* quote card: quiet grey, numbers aligned */
.qt{background:rgba(255,255,255,.035)!important;border:1px solid var(--line)!important}
.qt-row,.qt-total,.qt-dep{font-variant-numeric:tabular-nums}
.qt-dep{background:rgba(255,255,255,.07)!important;color:var(--text)!important;border:1px solid var(--line-2)!important}
.qt-dep b,.qt-dep span{color:var(--text)!important}

/* lightbox: phone-sized frame on every screen */
.gal .track figure img{max-width:min(520px,92vw)!important;max-height:min(82vh,940px)!important}

/* booking calendar: our own month picker, full days greyed out */
.datebtn{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font:600 15px/1 var(--sans);text-align:left;cursor:pointer;flex:1 1 auto}
.datebtn:hover{border-color:var(--text-2)}
.bkcal{margin:12px 0 0;padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.bkcal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.bkcal-h b{font-size:15px}
.bkcal-h button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);font-size:18px;cursor:pointer}
.bkcal-dow,.bkcal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bkcal-dow span{text-align:center;font:600 10.5px/1 var(--sans);letter-spacing:.06em;color:var(--mute);padding:4px 0 6px}
.bkcal-g button{position:relative;height:40px;border-radius:10px;border:0;background:transparent;color:var(--text);font:600 14px/1 var(--sans);cursor:pointer;font-variant-numeric:tabular-nums}
.bkcal-g button:hover{background:rgba(255,255,255,.07)}
.bkcal-g button.sel{background:var(--gold);color:#1a1400}
.bkcal-g button.today{box-shadow:inset 0 0 0 1.5px var(--line-2)}
.bkcal-g button[disabled]{color:rgba(255,255,255,.22);cursor:not-allowed}
.bkcal-g button.full{background:rgba(255,90,90,.1);color:rgba(255,255,255,.3);text-decoration:line-through}
.bkcal-g button.part::after{content:"";position:absolute;left:50%;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--gold-2);transform:translateX(-50%)}
.bkcal-g button.sel.part::after{background:#1a1400}
.bkcal-g button[data-loading]{opacity:.6}
.bkcal-key{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--text-2)}
.bkcal-key span{display:inline-flex;align-items:center;gap:6px}.bkcal-key i{width:8px;height:8px;border-radius:50%;display:inline-block}
.bkcal-key .k-part{background:var(--gold-2)}.bkcal-key .k-full{background:rgba(255,90,90,.6)}
/* two-finger scroll over a card photo must scroll the page: no scroll containment, no snap on the strip */
.card .track{overscroll-behavior:auto!important;scroll-snap-type:none!important}

/* no arrow pointing at nothing */
.media.at-start .arrow.prev,.media.at-end .arrow.next{display:none!important}
.det-media.at-start .det-arrow.prev,.det-media.at-end .det-arrow.next{display:none!important}

/* scout sheet: same bones as the booking sheet */
#scoutSheet .close{display:none}
#scoutSheet .sc-in{padding-top:0}
#scoutSheet .sc-in h2{margin-top:4px}
.sc-st{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stcard{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;min-width:0}
.stcard input{position:absolute;opacity:0;pointer-events:none}
.stcard .num{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#111;font:800 14px/1 var(--sans)}
.stcard .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.stcard .t b{font-size:15px}.stcard .t small{color:var(--text-2);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stcard .ck{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;color:#1a1400;flex:0 0 auto}
.stcard .ck svg{width:13px;height:13px;display:none}
.stcard.on{border-color:var(--gold);background:rgba(254,195,21,.08)}
.stcard.on .ck{background:var(--gold);border-color:var(--gold)}.stcard.on .ck svg{display:block}
.sc-grid{grid-template-columns:1fr 1fr;gap:12px}
#scoutSheet .sc-err{margin-top:14px}
@media (max-width:700px){.sc-st{grid-template-columns:1fr}.sc-grid{grid-template-columns:1fr}}

/* ---- final pass: studio colours everywhere, progress circles, scout card ---- */
:root{--s1:#039be5;--s2:#f6bf26;--s3:#c0ca33}
.card .stnum.s1,.grid .sthead.s1 .num,.stchip.s1 .num,.mapcard .pin.s1 .dot,.pc.s1 .num,.minimap .mdot.s1{background:#039be5!important;color:#111!important;background-image:none!important}
.card .stnum.s2,.grid .sthead.s2 .num,.stchip.s2 .num,.mapcard .pin.s2 .dot,.pc.s2 .num,.minimap .mdot.s2{background:#f6bf26!important;color:#111!important;background-image:none!important}
.card .stnum.s3,.grid .sthead.s3 .num,.stchip.s3 .num,.mapcard .pin.s3 .dot,.pc.s3 .num,.minimap .mdot.s3{background:#c0ca33!important;color:#111!important;background-image:none!important}
.card .stnum{backdrop-filter:none;border-radius:50%;width:24px;height:24px;font-size:12px}
.bk .steps .step b,.bk .steps .step.on b,.bk .steps .step.done b{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;margin:0}
.scoutcard{display:flex;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--line)}
.scoutcard .sc-ico{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(254,195,21,.12);color:var(--gold-2)}
.scoutcard .sc-ico svg{width:24px;height:24px}
.scoutcard .sc-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.scoutcard .sc-txt b{font-size:16px}.scoutcard .sc-txt span{color:var(--text-2);font-size:14px;line-height:1.45}
.scoutcard .btn{flex:0 0 auto;white-space:nowrap}
@media (max-width:640px){.scoutcard{flex-wrap:wrap}.scoutcard .btn{flex:1 1 100%;justify-content:center}}

.pc-photo .num,.pc .num{opacity:1!important;box-shadow:0 0 0 2px rgba(255,255,255,.9)!important}
/* grid card corner badges: white, so they read on any photo */
.card .stnum,.card .stnum.s1,.card .stnum.s2,.card .stnum.s3{background:rgba(255,255,255,.96)!important;color:#111!important;box-shadow:0 2px 8px rgba(0,0,0,.35)}
/* ---- Google Calendar palette for every studio circle (Craig 9/8): Studio 1 Peacock blue carries white, banana + avocado carry black ---- */
:root{--s1:#039be5;--s2:#f6bf26;--s3:#c0ca33}
.grid .sthead.s1 .num,.stchip.s1 .num,.mapcard .pin.s1 .dot,.pc.s1 .num,.minimap .mdot.s1,.bk .stgroup.s1 .num,.stcard .num.s1{background:#039be5!important;color:#fff!important}
.grid .sthead.s2 .num,.stchip.s2 .num,.mapcard .pin.s2 .dot,.pc.s2 .num,.minimap .mdot.s2,.bk .stgroup.s2 .num,.stcard .num.s2{background:#f6bf26!important;color:#111!important}
.grid .sthead.s3 .num,.stchip.s3 .num,.mapcard .pin.s3 .dot,.pc.s3 .num,.minimap .mdot.s3,.bk .stgroup.s3 .num,.stcard .num.s3{background:#c0ca33!important;color:#111!important}
.grid .sthead .num,.stchip .num,.mapcard .pin .dot,.pc .num,.bk .stgroup .num,.stcard .num{font-weight:800;font-family:"Helvetica Neue",Helvetica,var(--sans)}
.pc-photo .num,.pc .num,.stchip .num,.grid .sthead .num,.bk .stgroup .num,.stcard .num,.mapcard .pin .dot{border-radius:50%!important;font-family:"Helvetica Neue",Helvetica,Arial,var(--sans)!important;font-weight:800!important;box-shadow:none!important;border:0!important}
.mapcard .pin .dot{border-radius:999px!important}
.pill.s1 .dot{background:#039be5!important}.pill.s2 .dot{background:#f6bf26!important}.pill.s3 .dot{background:#c0ca33!important}

/* start / end calendar (Priceline style) */
.bkcal-tabs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:12px}
.bkcal-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;text-align:left}
.bkcal-tabs button small{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.bkcal-tabs button b{font-size:14px}
.bkcal-tabs button.on{border-color:var(--gold);background:rgba(254,195,21,.08)}
.bkcal-arrow{color:var(--mute);font-size:16px}
.bkcal-g button.in-range{background:rgba(254,195,21,.16);border-radius:0}
.bkcal-g button.sel-start{border-radius:10px 0 0 10px}.bkcal-g button.sel-end{border-radius:0 10px 10px 0}
.bkcal-g button.sel-start.sel-end,.bkcal-g button.sel:only-of-type{border-radius:10px}
.bkcal-key{flex-wrap:wrap}.bkcal-hint{margin-left:auto;color:var(--text-2)}
/* one day / multiple days toggle */
.daysseg{display:inline-flex;padding:3px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);margin-bottom:8px;align-self:flex-start}
.daysseg button{height:30px;padding:0 14px;border-radius:999px;border:0;background:transparent;color:var(--text-2);font:600 13px/1 var(--sans);cursor:pointer}
.daysseg button.on{background:var(--gold);color:#1a1400}
.datebtn{width:100%}
/* set photos fill the strip and stay centred */
.det-strip img{width:100%!important;min-width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
/* set sheet on phones: photo sits in an inset card under the handle, no odd top-corner clipping */
@media (max-width:899px){
  .det-media{margin:22px 10px 0;border-radius:18px;overflow:hidden}
  .det-strip{border-radius:18px}
  #setSheet .close{top:30px;right:20px}
}
/* refined close and back buttons: frosted glass, thin glyph */
.sheet .close,.bk-x,.bk-back,#scoutSheet .bk-x{width:36px!important;height:36px!important;border-radius:50%!important;background:rgba(22,22,26,.55)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);box-shadow:0 6px 18px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.14);color:#fff!important;display:grid!important;place-items:center;transition:transform .15s var(--ease),background .15s var(--ease)}
.sheet .close:active,.bk-x:active,.bk-back:active{transform:scale(.92)}
.sheet .close svg,.bk-x svg,.bk-back svg{width:15px!important;height:15px!important;stroke-width:1.9!important}
.sheet .close{top:14px!important;right:14px!important}
@media (min-width:900px){#setSheet .close{top:16px;right:16px}}
/* set sheet photos: See all pill top-left on phones so it never sits on the dots */
@media (max-width:899px){.det-media .allbtn{top:14px;left:14px;right:auto;bottom:auto}}
.det-dots{bottom:12px}

/* price anchors + real savings */
.card .name-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.card .name-row h3{margin:0;min-width:0}
.card .from{flex:0 0 auto;font:600 12.5px/1 var(--sans);color:var(--gold-2);white-space:nowrap}
.pill.price{background:rgba(254,195,21,.14);color:var(--gold-2);border-color:rgba(254,195,21,.3)}
.qt-save{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.35);color:#a7f0cf;font-size:13.5px}
.qt-save b{color:#c8ffe6}
.qt-rate{display:block;width:100%;margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(254,195,21,.08);border:1px solid rgba(254,195,21,.35);color:var(--gold-2);font:600 13.5px/1.4 var(--sans);text-align:left;cursor:pointer}
.qt-rate.ok{background:rgba(255,255,255,.03);border-color:var(--line);color:var(--text-2);cursor:default;font-weight:500}
@media (max-width:640px){.card .from{display:none}.card .name-row h3{font-size:15px}}

/* tab bar: gold plus */
.tabbar .tab.book{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;height:56px;border-radius:22px;background:#fec315;color:#1a1400;box-shadow:0 6px 18px rgba(254,195,21,.35)}
.tabbar .tab.book svg{width:24px;height:24px}
.tabbar .tab.book span{font:700 10px/1 var(--sans);letter-spacing:.04em}
/* marketplace marks in the footer */
footer a.mk{display:inline-flex;align-items:center;gap:8px}
footer a.mk img{width:18px;height:18px;border-radius:5px;display:inline-block;vertical-align:middle}
footer a.mk img[src*="peerspace"]{filter:invert(1)}
[data-theme="light"] footer a.mk img[src*="peerspace"]{filter:none}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) footer a.mk img[src*="peerspace"]{filter:none}}

/* availability strip under the date and time pickers (shared component in /2/strip.js) */
.avail.strip{padding:12px 14px;color:var(--text-2);background:rgba(255,255,255,.03);border-color:var(--line)}
.avail.strip.ok{border-color:rgba(52,211,153,.35)}
.avail.strip.bad{border-color:rgba(255,90,90,.45)}
.avail-status{font-size:14px;line-height:1.5;margin-bottom:8px}
.avail-status .avail-ic{width:18px;height:18px;flex:0 0 auto;margin-right:8px;vertical-align:-4px;display:inline-block}
.avail.ok .avail-ic{color:#34d399}
.avail.bad .avail-ic{color:#ff6b6b}
.avail.strip.ok .avail-status{color:#a7f0cf}.avail.strip.bad .avail-status{color:#ffc0c0}
.avail.strip .hs{color:var(--text-2)}
#bStart option:disabled{color:rgba(255,255,255,.35)}

/* Date field: the One day / Multiple days toggle sits beside the date button */
.bk .f.datef .dateline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk .f.datef .dateline .daysseg{margin-bottom:0;flex:0 0 auto}
.bk .f.datef .dateline .datebtn{flex:1 1 180px;min-width:0;margin:0}
/* a start time that runs past closing */
.bk .f.bad select{border-color:rgba(255,154,144,.7)}
.bk .day.warn{color:#ffb3b3}
.bk .day.warn:empty{display:none}

/* in-sheet Stripe Payment Element: our background, no card, gold button */
.stripe-mount,#stripeMount{background:transparent;border:0;padding:0}
#stripeMount #expressWrap:not(:empty){margin:0 0 14px}
#stripeMount #payEl{margin:0 0 14px}
#stripeMount #payNow{width:100%;margin-top:2px}
#stripeMount .pay-err{color:#ffb3b3;font-size:14px;line-height:1.45;margin:0 0 10px}
#stripeMount .pay-err:empty{display:none}
#stripeMount .pay-secure{margin:10px 0 0;text-align:center}

/* The client logo strip is content, not decoration: the blanket reduced-motion
   animation clamp froze it mid-row and cut half the logos off. Keep it moving,
   and let it be dragged by hand either way. */
@media (prefers-reduced-motion:reduce){
  .marquee .t{animation:scroll 78s linear infinite!important;animation-duration:78s!important;animation-iteration-count:infinite!important}
}
.marquee{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.marquee::-webkit-scrollbar{display:none}

/* required fees, itemised under the day summary */
.qt .qt-sub span,.qt .qt-fee span{color:var(--mute)}
.qt .qt-fee b,.qt .qt-sub b{font-weight:600}
.qt .qt-fee{font-size:13.5px}

/* The logo strip never pauses: hovering it used to freeze the animation, which
   reads as a broken banner on desktop (Reza 2026-09-08). */
.marquee .t,.marquee:hover .t,.marquee:focus-within .t{animation-play-state:running!important}

/* progress rail: the connector was drawn straight through the step circles.
   Lift the circles above it and give them the sheet's own background. */
.bk .steps .step{position:relative;z-index:1}
.bk .steps .step b,.bk .steps .step.on b,.bk .steps .step.done b{position:relative;z-index:1;box-shadow:0 0 0 4px var(--bg-2)}

/* Two or more rooms picked: the whole-studio nudge stops being a quiet link
   and starts being the obvious next move (Craig 2026-09-08). */
.qt-up-strong{
  background:linear-gradient(180deg,rgba(254,195,21,.16),rgba(254,195,21,.09))!important;
  border-color:rgba(254,195,21,.55)!important;
  color:var(--gold-2,var(--gold,#fec315))!important;
  font-weight:700!important;
}
