/* The site is always "night at the theater" — same tokens in light and dark viewers. */
:root,:root[data-theme="light"],:root[data-theme="dark"]{
  --ink:#0E0C0A;--pitch:#080706;--velvet:#1C1712;--wood:#241D16;
  --bulb:#FFE9B8;--glow:#F5D08A;--brass:#B3904E;--brass-dim:#6E5830;
  --playbill:#EFE7D6;--dim:#A3947C;--go:#7FBF8A;--stop:#D9826F;
  --display:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --body:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --slab:"Alfa Slab One",Georgia,serif;
  --gutter:clamp(1.25rem,5vw,4.5rem);--measure:60ch;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--ink:#0E0C0A}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html,body{overflow-x:clip}
body{margin:0;background:var(--ink);color:var(--playbill);font-family:var(--body);font-size:1rem;line-height:1.62;font-weight:300;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--bulb);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body::before{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ═══ TOP BAR ═══ */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.75rem var(--gutter);background:linear-gradient(180deg,rgba(14,12,10,.92),rgba(14,12,10,.7));
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(179,144,78,.18);
  transform:translateY(-100%);transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.topbar.show{transform:none}
.mark{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:.14em;color:var(--bulb)}
.mark i{width:7px;height:7px;border-radius:50%;background:var(--bulb);box-shadow:0 0 10px 2px rgba(255,233,184,.6)}
.mark{font-size:clamp(.82rem,3.4vw,1.05rem)}
.mark .md{margin-left:.15em}
.links{display:none;gap:1.8rem;font-size:.86rem}
.links a{text-decoration:none;color:var(--dim);transition:color .2s}
.links a:hover{color:var(--bulb)}
@media(min-width:56rem){.links{display:flex}}
.call{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.45rem 1rem;border:1px solid var(--brass);color:var(--bulb);text-decoration:none;font-size:.86rem;font-weight:500;transition:background .2s,color .2s}
.call:hover{background:var(--bulb);color:var(--ink)}

/* ═══ HERO ═══ */
.stage{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(3.5rem,9vh,6rem) var(--gutter) 0;position:relative;overflow:hidden}
.spill{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(64rem,130%);height:80%;pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 50% 35%,rgba(245,208,138,.15),rgba(245,208,138,.04) 45%,transparent 72%)}
.marquee-unit{position:relative;width:min(52rem,100%);z-index:2}
.canopy{height:clamp(14px,2.4vw,22px);background:linear-gradient(180deg,#3A2E22,#1A1410);border:1px solid var(--brass-dim);border-bottom:none;margin:0 clamp(-22px,-2vw,-14px);position:relative}
.canopy::after{content:"";position:absolute;left:6%;right:6%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent)}
.sign{position:relative;border:1px solid var(--brass);
  background:linear-gradient(178deg,rgba(255,233,184,.05),transparent 28%),linear-gradient(170deg,var(--wood),#140F0B 70%);
  padding:clamp(2.6rem,6.5vw,4.25rem) clamp(1.25rem,5vw,3.5rem) clamp(2.2rem,5.5vw,3.25rem);text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,233,184,.16),inset 0 -40px 80px -50px rgba(0,0,0,.9),0 40px 110px -45px rgba(0,0,0,.95)}
.sign::after{content:"";position:absolute;left:-8%;right:-8%;bottom:-70px;height:70px;pointer-events:none;background:radial-gradient(ellipse 50% 100% at 50% 0%,rgba(245,208,138,.16),transparent 70%)}
.bulbs{position:absolute;inset:-8px;pointer-events:none}
.bulbs i{position:absolute;width:8px;height:8px;border-radius:50%;background:#3E3323;opacity:0;transform:scale(.6)}
.lit .bulbs i{animation:strike .55s forwards var(--d)}
.on .bulbs i{opacity:1;transform:none;background:var(--bulb);box-shadow:0 0 11px 3px rgba(255,233,184,.5);animation:flicker 5s infinite var(--f)}
.on.pulse .bulbs i{animation:chase .8s var(--c) both}
@keyframes strike{0%{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.4);background:#FFF8E4;box-shadow:0 0 20px 6px rgba(255,233,184,.85)}100%{opacity:1;transform:scale(1);background:var(--bulb);box-shadow:0 0 11px 3px rgba(255,233,184,.5)}}
@keyframes flicker{0%,96%,100%{opacity:1}97%{opacity:.5}98%{opacity:1}99%{opacity:.7}}
@keyframes chase{0%{background:var(--bulb)}30%{transform:scale(1.5);background:#FFF;box-shadow:0 0 22px 7px rgba(255,240,205,.95)}100%{transform:none;background:var(--bulb)}}

.presents{font-size:clamp(.66rem,1.8vw,.8rem);font-weight:500;letter-spacing:.3em;color:var(--brass);margin:0 0 1.1rem}
.showname{font-family:var(--display);font-weight:900;line-height:.98;margin:0;color:var(--bulb);min-height:calc(clamp(2.2rem,8.6vw,5.1rem)*2);display:flex;align-items:center;justify-content:center;
  font-size:calc(clamp(2.2rem,8.6vw,5.1rem) * var(--fit,1));letter-spacing:.01em;text-transform:uppercase;flex-wrap:wrap;column-gap:.28em;
  text-shadow:0 0 8px rgba(255,233,184,.5),0 0 50px rgba(245,208,138,.35)}
.showname .w{display:inline-block;white-space:nowrap}
.showname .w span{display:inline-block}
.showname .spin{color:var(--glow);opacity:.75}
.tagline{font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,3.4vw,1.85rem);margin:.55rem 0 0}
.rule-orn{display:flex;align-items:center;gap:.85rem;justify-content:center;margin:1.6rem 0}
.rule-orn span{height:1px;width:clamp(2.5rem,9vw,5rem);background:linear-gradient(90deg,transparent,var(--brass))}
.rule-orn span:last-child{background:linear-gradient(90deg,var(--brass),transparent)}
.rule-orn b{width:5px;height:5px;background:var(--brass);transform:rotate(45deg)}
.promise{max-width:36rem;margin:0 auto;font-size:clamp(1rem,2.3vw,1.1rem);color:var(--dim)}
.tryit{margin:1.9rem auto 0;max-width:26rem;text-align:left}
.tryit label{display:block;font-size:.72rem;letter-spacing:.2em;color:var(--brass);font-weight:600;margin-bottom:.45rem;text-align:center}
.tryit input{width:100%;min-height:52px;padding:.8rem 1rem;text-align:center;font-family:var(--display);font-size:1.15rem;color:var(--bulb);
  background:rgba(8,7,6,.6);border:1px dashed var(--brass-dim);transition:border-color .2s,box-shadow .2s}
.tryit input::placeholder{color:var(--dim);font-style:italic;opacity:.8}
.tryit input:focus{outline:none;border-style:solid;border-color:var(--brass);box-shadow:0 0 30px -12px rgba(245,208,138,.6)}
.actions{display:grid;gap:.75rem;margin:1.4rem auto 0;max-width:26rem}
@media(min-width:40rem){.actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;max-width:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.85rem 1.9rem;font-family:var(--body);font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;
  border:1px solid var(--brass);background:transparent;color:var(--bulb);transition:background .25s,color .25s,box-shadow .25s}
.btn:hover{background:var(--bulb);color:var(--ink);box-shadow:0 0 30px -6px rgba(255,233,184,.6)}
.btn-quiet{color:var(--playbill);border-color:var(--brass-dim)}
.btn-quiet:hover{background:rgba(255,233,184,.08);color:var(--bulb);border-color:var(--brass);box-shadow:none}
.scrollcue{margin:2.2rem 0 0;font-size:.72rem;letter-spacing:.24em;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:.6rem}
.scrollcue i{width:1px;height:34px;background:linear-gradient(var(--brass),transparent);animation:drip 2.2s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.ticker{margin-top:clamp(2rem,6vh,3.5rem);width:100vw;border-top:1px solid var(--brass-dim);border-bottom:1px solid var(--brass-dim);background:linear-gradient(180deg,#140F0B,#0B0908);overflow:hidden;padding:.8rem 0;position:relative;z-index:2}
.ticker-track{display:flex;width:max-content;animation:roll 42s linear infinite}
.ticker span{font-family:var(--display);font-style:italic;font-size:clamp(.95rem,2.2vw,1.12rem);color:var(--glow);padding:0 1.6rem;white-space:nowrap;opacity:.85}
.ticker span::after{content:"◆";color:var(--brass-dim);font-style:normal;font-size:.55em;vertical-align:middle;margin-left:1.6rem}
@keyframes roll{to{transform:translateX(-50%)}}

/* ═══ SECTIONS ═══ */
section{padding:clamp(5rem,13vh,9rem) var(--gutter);position:relative}
.wrap{max-width:72rem;margin:0 auto}
.head{margin-bottom:clamp(2.5rem,6vh,4rem)}
.eyebrow{font-size:.72rem;letter-spacing:.24em;color:var(--brass);font-weight:600;margin:0 0 .9rem}
h2{font-family:var(--display);font-weight:500;font-size:clamp(2.1rem,5.5vw,3.5rem);line-height:1.05;margin:0 0 .85rem;color:var(--bulb)}
.lede{max-width:var(--measure);color:var(--dim);margin:0;font-size:1.06rem}

/* ═══ REEL: demos in a laptop and a phone ═══ */
.act{display:grid;gap:clamp(1.6rem,4vw,3.5rem);grid-template-columns:1fr;align-items:center;margin-bottom:clamp(3.5rem,9vw,7rem)}
@media (min-width:900px){
  .act{grid-template-columns:1.15fr .85fr}
  .act:nth-child(even) .rig-wrap{order:2}
}
.rig-wrap{position:relative;display:flex;justify-content:center;padding-bottom:2.5rem}
.rig-wrap::before{content:"";position:absolute;inset:-10% -22%;background:radial-gradient(ellipse at center,var(--halo,rgba(245,208,138,.16)),transparent 62%);pointer-events:none}
.laptop{position:relative;width:min(560px,92%)}
.lid{position:relative;border:10px solid #17161A;border-bottom-width:12px;border-radius:14px;
  background:#000;box-shadow:0 26px 60px rgba(0,0,0,.55),0 0 0 1px rgba(245,208,138,.12)}
.lscreen{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:#000}
.shot{position:absolute;left:0;top:0;width:100%;height:auto;display:block;will-change:transform}
.base{position:relative;height:13px;margin:0 -7%;border-radius:0 0 12px 12px;
  background:linear-gradient(180deg,#26242A,#121114);box-shadow:0 16px 26px rgba(0,0,0,.45)}
.base span{position:absolute;left:50%;top:0;transform:translateX(-50%);width:16%;height:5px;
  border-radius:0 0 6px 6px;background:#0A090C}
.mini{position:absolute;right:2%;bottom:0;width:min(116px,22%)}
.mscreen{position:relative;aspect-ratio:9/19;overflow:hidden;border-radius:14px;background:#000;
  border:6px solid #17161A;box-shadow:0 14px 30px rgba(0,0,0,.55),0 0 0 1px rgba(245,208,138,.12)}
@media (max-width:560px){.mini{width:84px;right:0}}
.no-gsap .shot{animation:autoscroll 18s ease-in-out infinite alternate}
@keyframes autoscroll{from{transform:translateY(0)}to{transform:translateY(-55%)}}


/* demo write-ups */
.copy .num{font-family:var(--display);font-style:italic;color:var(--brass);font-size:1.1rem;margin:0 0 .4rem}
.copy h3{font-family:var(--display);font-weight:500;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.08;margin:0 0 .35rem;color:var(--playbill)}
.trade{font-size:.8rem;letter-spacing:.14em;color:var(--brass);margin:0 0 1.1rem;text-transform:uppercase;font-weight:500}
.copy p.body{margin:0 0 1.5rem;color:var(--dim);max-width:34rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.6rem;padding:0;list-style:none}
.chips li{font-size:.78rem;padding:.3rem .7rem;border:1px solid rgba(179,144,78,.35);color:var(--playbill)}
.badge{display:inline-block;font-size:.8rem;color:var(--dim);border:1px dashed var(--brass-dim);padding:.55rem .95rem}
.copy .btn{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-size:.78rem;
  letter-spacing:.16em;padding:.8rem 1.3rem;border:1px solid var(--brass);color:var(--playbill);
  transition:background .25s ease,color .25s ease}
.copy .btn:hover{background:var(--brass);color:var(--ink)}

/* mock-site building blocks — sized in container units so they scale with the phone */
.mk{font-size:4.2cqw;line-height:1.3;padding-bottom:10cqw}
.mk .bar{height:2.4cqw;border-radius:2cqw;background:currentColor;opacity:.25;margin:2.2cqw 0}
.mk .bar.s{width:45%}.mk .bar.m{width:70%}
.mk .nav{display:flex;justify-content:space-between;align-items:center;padding:16cqw 6cqw 5cqw}
.mk .burger{width:7cqw;height:5cqw;background:linear-gradient(currentColor 0 0) top/100% 18% no-repeat,linear-gradient(currentColor 0 0) center/100% 18% no-repeat,linear-gradient(currentColor 0 0) bottom/100% 18% no-repeat}
.mk .pad{padding:0 6cqw}
.mk .btnm{display:inline-block;padding:3cqw 6cqw;font-weight:700;font-size:3.6cqw;letter-spacing:.08em;margin-top:4cqw}
.mk .sect{padding:9cqw 6cqw 2cqw}
.mk .label{font-size:3.2cqw;letter-spacing:.2em;font-weight:700;margin:0 0 3cqw}
.mk .row{display:flex;justify-content:space-between;align-items:center;padding:3.4cqw 0;border-bottom:1px solid rgba(127,127,127,.25)}
.mk .grid2{display:grid;grid-template-columns:1fr 1fr;gap:4cqw}
.mk .photo{border-radius:3cqw}

/* Jay's */
.m-jays{background:#F2EADA;color:#1B1B1F}
.m-jays .logo{font-family:var(--slab);font-size:6cqw}
.m-jays .hero{height:98cqw;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:7cqw 6cqw;color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75)),radial-gradient(circle at 70% 30%,#6b5a4a,#2a2420 60%,#141213)}
.m-jays .hero::before{content:"";position:absolute;right:8cqw;top:8cqw;width:6cqw;height:40cqw;border-radius:3cqw;
  background:repeating-linear-gradient(135deg,#B02A28 0 3cqw,#fff 3cqw 6cqw,#243E7A 6cqw 9cqw,#fff 9cqw 12cqw)}
.m-jays .hero b{font-family:var(--slab);font-size:9cqw;line-height:1;font-weight:400}
.m-jays .btnm{background:#B02A28;color:#fff}
.m-jays .card{background:#fff;border-radius:3cqw;padding:4cqw;text-align:center;box-shadow:0 2cqw 5cqw rgba(0,0,0,.08)}
.m-jays .av{width:22cqw;height:22cqw;border-radius:50%;margin:0 auto 3cqw;background:radial-gradient(circle at 40% 35%,#c9a88a,#6b4d3a)}
.m-jays .card .pill{display:inline-block;margin-top:2cqw;padding:1.4cqw 4cqw;border-radius:9cqw;background:#243E7A;color:#fff;font-size:3cqw;font-weight:700}
.m-jays .foot{margin-top:9cqw;background:#1D2B4F;color:#F2EADA;padding:8cqw 6cqw}
/* Daniela's */
.m-lash{background:#FBEFF2;color:#4A1E33}
.m-lash .script{font-family:var(--display);font-style:italic;font-size:6.4cqw}
.m-lash .hero{margin:0 6cqw;height:86cqw;border-radius:40cqw 40cqw 4cqw 4cqw;background:radial-gradient(circle at 30% 25%,#fff,transparent 35%),linear-gradient(160deg,#EFC9D4,#D9A9BC 60%,#C6964A)}
.m-lash h4{font-family:var(--display);font-style:italic;font-weight:500;font-size:10cqw;line-height:1;margin:7cqw 6cqw 1cqw}
.m-lash .btnm{background:#9C6B3F;color:#fff;border-radius:9cqw}
.m-lash .price{font-family:var(--display);font-style:italic;color:#9C6B3F}
.m-lash .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1.6cqw}
.m-lash .cal i{aspect-ratio:1;border-radius:50%;background:rgba(74,30,51,.08)}
.m-lash .cal i.pick{background:#9C6B3F}
.m-lash .cal i.off{background:transparent;border:1px solid rgba(74,30,51,.12)}
/* Boba */
.m-boba{background:#2A1810;color:#F7EEDF}
.m-boba .logo{font-weight:700;letter-spacing:-.02em;font-size:5.6cqw}
.m-boba .hero{height:110cqw;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#8A5A33,#2A1810 65%)}
.m-boba .cup{position:relative;width:36cqw;height:56cqw;border-radius:3cqw 3cqw 10cqw 10cqw;background:linear-gradient(180deg,rgba(255,255,255,.14) 0 12%,#C9956A 12% 62%,#5A3520 62%);
  box-shadow:inset 0 0 0 1.2cqw rgba(255,255,255,.18),0 8cqw 14cqw rgba(0,0,0,.5);transform:rotate(-8deg)}
.m-boba .cup::before{content:"";position:absolute;left:55%;top:-18cqw;width:4cqw;height:34cqw;border-radius:2cqw;background:#E8C79A;transform:rotate(12deg)}
.m-boba .cup::after{content:"";position:absolute;left:10%;right:10%;bottom:5cqw;height:14cqw;background:radial-gradient(circle,#140B06 2.2cqw,transparent 2.5cqw) 0 0/7cqw 7cqw}
.m-boba h4{font-weight:700;font-size:10cqw;line-height:.95;margin:6cqw 6cqw 0;letter-spacing:-.03em}
.m-boba .sw{width:6cqw;height:6cqw;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:3cqw}
.m-boba .btnm{background:#E8C79A;color:#2A1810;border-radius:9cqw}
/* Brass Chair */
.m-hbc{background:#101215;color:#E8DCC2}
.m-hbc .title{min-height:130cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.m-hbc .title::before{content:"";position:absolute;inset:18cqw 6cqw 6cqw;border:1px solid rgba(179,144,78,.5)}
.m-hbc .crest{width:26cqw;height:26cqw;transform:rotate(45deg);border:1px solid #B3904E;display:grid;place-items:center;margin-bottom:10cqw}
.m-hbc .crest b{transform:rotate(-45deg);font-family:var(--display);font-size:8cqw;color:#B3904E}
.m-hbc h4{font-family:var(--display);font-weight:700;font-size:10cqw;line-height:1;margin:0;letter-spacing:.04em}
.m-hbc .small{font-size:3cqw;letter-spacing:.3em;color:#B3904E;margin-top:4cqw}
.m-hbc .btnm{border:1px solid #B3904E;color:#E8DCC2}
.m-hbc .photo{height:60cqw;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6)),radial-gradient(circle at 30% 30%,#5a4a36,#1a1712 70%)}

/* trades mock */
.m-trade{background:#141A20;color:#E7ECF1}
.m-trade .nav{border-bottom:1px solid rgba(255,255,255,.08)}
.m-trade .logo{font-weight:800;letter-spacing:.06em;font-size:5cqw;color:#E0A03E}
.m-trade .hero{min-height:98cqw;padding:9cqw 6cqw;display:flex;flex-direction:column;justify-content:center;gap:6cqw;
  background:linear-gradient(180deg,rgba(20,26,32,.15),rgba(20,26,32,.92)),linear-gradient(135deg,#2B3947,#141A20)}
.m-trade .hero b{font-weight:800;font-size:9.4cqw;line-height:1.02;letter-spacing:-.02em}
.m-trade .hero span{display:flex;flex-direction:column;gap:3cqw}
.m-trade .btnm{border-radius:1.6cqw;font-weight:700;letter-spacing:.04em}
.m-trade .btnm.call{background:#E0A03E;color:#141A20}
.m-trade .btnm.ghost{background:transparent;border:1px solid rgba(231,236,241,.45);color:#E7ECF1}
.m-trade .strip{background:#B0352A;color:#fff;font-size:3.2cqw;font-weight:700;letter-spacing:.18em;
  padding:3cqw;text-align:center;display:flex;align-items:center;justify-content:center;gap:2.5cqw}
.m-trade .strip i{width:2.4cqw;height:2.4cqw;border-radius:50%;background:#fff}
.m-trade .label{color:#E0A03E}
.m-trade .row{border-bottom:1px solid rgba(255,255,255,.07)}
.m-trade .area{display:flex;flex-wrap:wrap;gap:2cqw}
.m-trade .area span{font-size:3.1cqw;padding:1.8cqw 3cqw;border:1px solid rgba(231,236,241,.25);border-radius:6cqw}
.m-trade .trust{display:flex;gap:2cqw;margin-bottom:4cqw}
.m-trade .trust span{flex:1;text-align:center;font-size:2.7cqw;font-weight:700;letter-spacing:.1em;
  padding:3cqw 1cqw;border:1px solid #E0A03E;color:#E0A03E;border-radius:1.2cqw}
.m-trade .quote{border-left:2px solid #E0A03E;padding-left:3cqw}
.m-trade .foot{padding:6cqw;background:#0F141A}

/* ═══ SWITCH: the Google listing ═══ */
.switch-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:54rem){.switch-grid{grid-template-columns:.9fr 1.1fr;gap:4.5rem}}
.toggle{display:inline-flex;align-items:center;gap:1rem;background:none;border:0;padding:0;cursor:pointer;color:var(--playbill);font:inherit;margin-top:1.6rem}
.toggle .plate{width:64px;height:96px;border-radius:8px;background:linear-gradient(160deg,#2A241D,#15110D);border:1px solid var(--brass-dim);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,233,184,.12)}
.toggle .lever{width:22px;height:46px;border-radius:5px;background:linear-gradient(180deg,#EFE7D6,#A3947C);position:relative;transition:transform .35s cubic-bezier(.3,1.5,.5,1);transform:perspective(80px) rotateX(-28deg)}
.toggle[aria-checked="true"] .lever{transform:perspective(80px) rotateX(28deg)}
.toggle .lbl{text-align:left}
.toggle .lbl b{display:block;font-family:var(--display);font-size:1.5rem;font-weight:500;color:var(--bulb)}
.toggle .lbl small{color:var(--dim);font-size:.85rem}
.gcard{position:relative;background:#16130F;border:1px solid rgba(179,144,78,.3);border-radius:18px;padding:1.4rem;transition:box-shadow .6s,border-color .6s,filter .6s;filter:saturate(.35) brightness(.8)}
.gcard.on{filter:none;border-color:var(--brass);box-shadow:0 0 0 1px rgba(255,233,184,.08),0 0 90px -30px rgba(245,208,138,.55)}
.gcard .tag{position:absolute;top:1rem;right:1rem;font-size:.66rem;letter-spacing:.18em;color:var(--dim)}
.gcard h3{font-family:var(--body);font-weight:600;font-size:1.35rem;margin:0;color:var(--playbill)}
.gcard .cat{color:var(--dim);font-size:.88rem;margin:.1rem 0 .6rem}
.stars{font-size:.92rem;display:flex;align-items:center;gap:.45rem}
.stars .s{color:#F2B84B;letter-spacing:.05em}
.gcard .photos{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:1rem 0}
.gcard .photos i{aspect-ratio:1;border-radius:8px;background:#2A2520}
.gcard.on .photos i:nth-child(1){background:radial-gradient(circle at 40% 35%,#c9a88a,#5b3f2e)}
.gcard.on .photos i:nth-child(2){background:linear-gradient(160deg,#6b5a4a,#1d1a17)}
.gcard.on .photos i:nth-child(3){background:linear-gradient(160deg,#8a7a5e,#2a241c)}
.gcard.on .photos i:nth-child(4){background:radial-gradient(circle at 60% 40%,#d8b98f,#3a2c20)}
.gcard .acts{display:flex;flex-wrap:wrap;gap:.45rem;margin:.2rem 0 1rem}
.gcard .acts span{font-size:.8rem;padding:.35rem .8rem;border-radius:99px;border:1px solid rgba(239,231,214,.25)}
.gcard .acts span.x{opacity:.4;text-decoration:line-through}
.gcard .hours{font-size:.92rem;margin:0 0 1rem}
.gcard .rev{border-top:1px solid rgba(239,231,214,.12);padding-top:1rem;font-size:.9rem}
.gcard .rev q{display:block;color:var(--playbill);font-style:italic;quotes:"\201C" "\201D"}
.gcard .rev q.v-on{display:none}
.gcard.on .rev q.v-on{display:block}
.gcard.on .rev q.v-off{display:none}
.gcard .reply{margin:.7rem 0 0;padding:.6rem .8rem;border-left:2px solid var(--brass);background:rgba(179,144,78,.08);font-size:.85rem;color:var(--dim)}
.gcard .upd{margin:1rem 0 0;font-size:.78rem;color:var(--dim)}
.gcard .v-on{display:none}
.gcard.on .v-on{display:revert}
.gcard.on .v-off{display:none}
.good{color:var(--go)}.bad{color:var(--stop)}

/* ═══ SERVICES ═══ */
.lights{border-top:1px solid rgba(179,144,78,.24)}
.light{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.2rem;padding:1.85rem 0;border-bottom:1px solid rgba(179,144,78,.24)}
.light .dot{grid-row:span 2;width:14px;height:14px;border-radius:50%;margin-top:.55rem;background:#3E3323;transition:background .5s,box-shadow .5s}
.light.in .dot{background:var(--bulb);box-shadow:0 0 16px 4px rgba(255,233,184,.55)}
@media(min-width:48rem){.light{grid-template-columns:auto 15rem 1fr;gap:3rem;align-items:baseline}.light .dot{grid-row:auto;margin-top:0;align-self:center}}
.light h3{font-family:var(--display);font-weight:500;font-size:1.35rem;margin:0;color:var(--bulb)}
.light p{margin:0;color:var(--dim);max-width:var(--measure)}

/* ═══ TIERS (tickets) ═══ */
.tiers{display:grid;gap:1.5rem}
@media(min-width:52rem){.tiers{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.tier{--tp:clamp(1.6rem,4vw,2.1rem);position:relative;border:1px solid var(--brass-dim);padding:var(--tp);background:linear-gradient(170deg,rgba(28,23,18,.75),rgba(14,12,10,.4));display:flex;flex-direction:column;
}
.tier.feature{border-color:var(--brass);background:linear-gradient(170deg,var(--velvet),#120E0B)}
.tier .cap{font-size:.7rem;letter-spacing:.2em;color:var(--brass);margin:0 0 .8rem;font-weight:600;display:flex;justify-content:space-between}
.tier h3{font-family:var(--display);font-weight:500;font-size:1.6rem;margin:0 0 .2rem;color:var(--bulb)}
.tier .price{color:var(--dim);font-size:.86rem;margin:0 0 1.2rem}
.tier ul{position:relative;list-style:none;margin:0;padding:1.2rem 0 0;border-top:1px dashed var(--brass-dim);display:grid;gap:.75rem;color:var(--dim);font-size:.94rem}
.tier ul::before,.tier ul::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--ink);border:1px solid var(--brass-dim)}
.tier ul::before{left:calc(-1 * var(--tp) - 12px);clip-path:inset(0 0 0 calc(50% - 1px))}
.tier ul::after{right:calc(-1 * var(--tp) - 12px);clip-path:inset(0 calc(50% - 1px) 0 0)}
.tier.feature ul::before,.tier.feature ul::after{border-color:var(--brass)}
.tier li{display:flex;gap:.75rem;align-items:flex-start}
.tier li::before{content:"";flex:none;width:6px;height:6px;margin-top:.6rem;border-radius:50%;background:var(--brass)}
.tier.feature li::before{background:var(--bulb);box-shadow:0 0 8px rgba(255,233,184,.6)}
.tier .terms{margin:1.1rem 0 0;padding-top:.9rem;border-top:1px dashed var(--brass-dim);color:var(--dim);opacity:.8;font-size:.76rem;line-height:1.5}
.alacarte{margin-top:2rem;color:var(--dim);font-size:.95rem;text-align:center}

/* ═══ ABOUT ═══ */
.about{display:grid;gap:2.5rem;align-items:center}
@media(min-width:52rem){.about{grid-template-columns:.8fr 1.2fr;gap:4.5rem}}
.portrait{aspect-ratio:4/5;max-width:22rem;width:100%;border:1px dashed var(--brass-dim);display:grid;place-items:center;color:var(--dim);font-size:.85rem;letter-spacing:.14em;
  background:radial-gradient(ellipse at 50% 30%,rgba(245,208,138,.1),transparent 60%),#120F0C;justify-self:center}
.about p{color:var(--dim);max-width:var(--measure);margin:0 0 1rem}
.sig{font-family:var(--display);font-style:italic;color:var(--bulb);font-size:1.3rem}
.todo{border-bottom:1px dashed var(--brass);color:var(--glow)}

/* ═══ CONTACT ═══ */
.contact-grid{display:grid;gap:3rem}
@media(min-width:54rem){.contact-grid{grid-template-columns:.85fr 1.15fr;gap:4.5rem}}
.field{display:grid;gap:.45rem;margin-bottom:1.2rem}
label.fl{font-size:.9rem;color:var(--playbill)}
.fi{width:100%;font-family:var(--body);font-size:1rem;color:var(--playbill);background:#130F0C;border:1px solid var(--brass-dim);padding:.85rem .95rem;min-height:48px;transition:border-color .22s}
textarea.fi{min-height:7.5rem;resize:vertical;line-height:1.55}
.fi:focus{outline:none;border-color:var(--brass)}
.help{font-size:.84rem;color:var(--dim);margin:.1rem 0 0}
.direct{display:grid;gap:1.6rem;align-content:start}
.direct .k{font-size:.72rem;letter-spacing:.2em;color:var(--brass);margin:0 0 .35rem;font-weight:600}
.direct .v{font-family:var(--display);font-size:1.45rem;margin:0}
.direct a{color:var(--bulb);text-decoration:none;border-bottom:1px solid var(--brass-dim);padding-bottom:3px}
.formnote{font-size:.84rem;color:var(--dim);margin:.9rem 0 0}
footer{padding:2.75rem var(--gutter);border-top:1px solid rgba(179,144,78,.24);color:var(--dim);font-size:.87rem;display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between}

.rise{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1)}
.rise.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .bulbs i{opacity:1;transform:none;background:var(--bulb);box-shadow:0 0 11px 3px rgba(255,233,184,.5)}
  .ticker-track,.no-gsap .page{animation:none}
  .rise{opacity:1;transform:none}
}
