:root{--ground:#170D0A;--surface:#2A1811;--surface2:#352016;--ink:#FBEDE4;--terra:#E8703F;--rose:#FF9EAE;--amber:#FFC98A;--muted:#C4A99C;--sand:#F3D9C8;--hd:'Monoton',system-ui,sans-serif;--bd:'Nunito Sans',system-ui,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16.5px/1.65 var(--bd);background-image:radial-gradient(70vw 50vw at 100% 0%,rgba(232,112,63,.12),transparent 60%),radial-gradient(60vw 50vw at 0% 60%,rgba(255,158,174,.06),transparent 60%)}
img{max-width:100%;display:block}
a{color:var(--amber)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:56px;background:var(--terra);color:var(--ground);padding:10px 16px;border-radius:10px;z-index:100}.skip:focus{left:16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2{font-family:var(--hd);font-weight:400;line-height:1.08;letter-spacing:.02em;margin:0 0 .45em}
h1{font-size:clamp(44px,7vw,96px)}h2{font-size:clamp(30px,3.8vw,50px)}
h3{font:800 22px/1.25 var(--bd);margin:0 0 .4em}
h1 span,h2 span{color:var(--terra)}
.neon{color:var(--ink);text-shadow:0 0 6px rgba(255,158,174,.55),0 0 22px rgba(232,112,63,.55),0 0 48px rgba(232,112,63,.35)}
.js:not(.rm) .neon{animation:buzz 6s infinite}
@keyframes buzz{0%,92%,100%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}97%{opacity:1}}
p{margin:0 0 1em}
.wrap{max-width:1220px;margin:0 auto;padding:0 24px}
.kick{font:800 12.5px/1.3 var(--bd);letter-spacing:2.2px;text-transform:uppercase;color:var(--rose);margin:0 0 14px}
.lbl{font:800 12px/1.3 var(--bd);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.lead{font-size:clamp(17px,1.5vw,19.5px);color:var(--muted);max-width:38em}
.note,.mini{font-size:14px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 26px;border-radius:999px;font:800 15.5px/1.1 var(--bd);text-decoration:none;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px)}
.btn.sm{min-height:44px;padding:10px 20px;font-size:14.5px}
.btn.hot{background:var(--terra);color:var(--ground);box-shadow:0 0 0 0 rgba(232,112,63,.5),0 10px 30px -10px rgba(232,112,63,.8)}.btn.hot:hover{box-shadow:0 0 0 6px rgba(232,112,63,.18),0 10px 30px -10px rgba(232,112,63,.8)}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(251,237,228,.5)}.btn.line:hover{box-shadow:inset 0 0 0 1.5px var(--rose)}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.lnk{font-weight:800}
/* header + overlay menu */
.hdr{position:sticky;top:0;z-index:50;transition:background .3s}
.hdr-in{max-width:1220px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:14px 24px;transition:padding .3s}
.hdr.scrolled{background:rgba(23,13,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(232,112,63,.25)}
.hdr.scrolled .hdr-in{padding:8px 24px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 19px/1 var(--bd);margin-right:auto}
.logo svg{width:42px;height:42px;flex:none}
.js:not(.rm) .logo svg{animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.logo small{display:block;font:400 12px var(--bd);color:var(--muted);margin-top:3px}
.menubtn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(251,237,228,.4);background:transparent;color:var(--ink);font:800 15px var(--bd);cursor:pointer}
.menubtn .bars{display:flex;gap:3px;align-items:flex-end;height:16px}
.menubtn .bars i{width:3px;background:var(--terra);border-radius:2px;height:8px}
.menubtn .bars i:nth-child(2){height:16px}.menubtn .bars i:nth-child(3){height:11px}
.js:not(.rm) .menubtn .bars i{animation:eq 1.1s ease-in-out infinite alternate}.js:not(.rm) .menubtn .bars i:nth-child(2){animation-delay:-.4s}.js:not(.rm) .menubtn .bars i:nth-child(3){animation-delay:-.8s}
.menu{position:fixed;inset:48px 0 0 0;z-index:60;background:radial-gradient(80vw 70vh at 80% 20%,rgba(232,112,63,.25),transparent 60%),#120906;overflow:auto;opacity:0;transition:opacity .3s}
.menu.open{opacity:1}
.menu-in{max-width:1100px;margin:0 auto;padding:16px 24px 40px}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menuclose{min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--terra);color:var(--ground);font:800 15px var(--bd);cursor:pointer}
.mlist{list-style:none;padding:0;margin:30px 0}
.mlist a{display:flex;align-items:baseline;gap:18px;padding:10px 0;font:400 clamp(26px,5vw,54px)/1.15 var(--hd);color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(232,112,63,.2);transition:color .2s,padding .3s}
.mlist a span{font:800 14px var(--bd);color:var(--rose)}
.mlist a:hover,.mlist a[aria-current]{color:var(--terra);padding-left:12px}
.js:not(.rm) .menu.open .mlist li{animation:rise .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*50ms)}
.menu-c{color:var(--muted)}
/* hero */
.hero{position:relative;min-height:calc(100vh - 48px);display:flex;align-items:center;margin-top:-74px;padding:120px 0 70px;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hb-ph{position:absolute;inset:0;background:#2A1811}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,13,10,.96) 0%,rgba(23,13,10,.82) 45%,rgba(23,13,10,.55)),linear-gradient(0deg,var(--ground),transparent 40%)}
.hero-in{position:relative;z-index:2;width:100%}
.neon.big{font-size:clamp(64px,12vw,170px);line-height:.95;margin-bottom:26px}
.eq{display:flex;align-items:flex-end;gap:6px;height:60px;margin-top:40px}
.eq i{width:10px;border-radius:5px 5px 2px 2px;background:linear-gradient(var(--rose),var(--terra));height:30%}
.eq i:nth-child(3n){height:70%}.eq i:nth-child(4n+1){height:50%}.eq i:nth-child(5n){height:90%}
.js:not(.rm) .eq i{animation:eq 1s ease-in-out infinite alternate}
.eq i:nth-child(2){animation-delay:-.2s}.eq i:nth-child(3){animation-delay:-.5s}.eq i:nth-child(4){animation-delay:-.8s}.eq i:nth-child(5){animation-delay:-.3s}.eq i:nth-child(6){animation-delay:-.65s}.eq i:nth-child(7){animation-delay:-.1s}.eq i:nth-child(8){animation-delay:-.45s}.eq i:nth-child(9){animation-delay:-.9s}.eq i:nth-child(10){animation-delay:-.35s}.eq i:nth-child(11){animation-delay:-.7s}.eq i:nth-child(12){animation-delay:-.15s}
@keyframes eq{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.eq i{transform-origin:50% 100%}
.hin{opacity:1}
.js:not(.rm) .hin{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.js:not(.rm) .hin:nth-child(2){animation-delay:.1s}.js:not(.rm) .hin:nth-child(3){animation-delay:.2s}.js:not(.rm) .hin:nth-child(4){animation-delay:.3s}.js:not(.rm) .hin:nth-child(5){animation-delay:.4s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0px)}}
.ph{background:var(--surface2);overflow:hidden}.ph img{width:100%;height:100%;object-fit:cover}
/* sections */
.sec{padding:clamp(56px,7vw,100px) 0}
.sec.dk{background:#110805;border-top:1px solid rgba(232,112,63,.14);border-bottom:1px solid rgba(232,112,63,.14)}
.sh{max-width:760px;margin-bottom:32px}
.sh p{color:var(--muted);font-size:17.5px}
/* spine timeline */
.tl-sec{padding-top:30px}
.spine{list-style:none;padding:0;margin:0;position:relative}
.spine:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(232,112,63,.2)}
.spine-fill{position:absolute;left:50%;top:0;width:4px;margin-left:-2px;height:0;background:linear-gradient(var(--rose),var(--terra));box-shadow:0 0 16px rgba(232,112,63,.8);border-radius:2px;z-index:1}
.rm .spine-fill{height:100%!important}
.stop{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 80px;padding:40px 0}
.node{position:relative}
.stop .dot{position:absolute;top:10px;width:22px;height:22px;border-radius:50%;background:var(--ground);border:3px solid var(--terra);z-index:2;transition:background .4s,box-shadow .4s}
.stop.on .dot{background:var(--terra);box-shadow:0 0 0 6px rgba(232,112,63,.2),0 0 24px rgba(232,112,63,.9)}
.when{font:400 clamp(22px,2.4vw,32px)/1.1 var(--hd);color:var(--rose);margin:0;padding-top:4px}
.stop.l .node{grid-column:2;grid-row:1;padding-left:20px}.stop.l .dot{left:-51px}
.stop.l .stop-b{grid-column:1;grid-row:1/3;text-align:left}
.stop.r .node{grid-column:1;grid-row:1;text-align:right;padding-right:20px}.stop.r .dot{right:-51px}
.stop.r .stop-b{grid-column:2;grid-row:1/3}
.stop.w{grid-template-columns:minmax(0,1fr)}
.stop.w .node{text-align:center;padding:0 0 70px}.stop.w .dot{left:50%;margin-left:-11px;top:auto;bottom:22px}
.stop.w .stop-b{background:var(--surface);border:1px solid rgba(232,112,63,.25);border-radius:28px;padding:clamp(20px,3vw,40px);position:relative;z-index:2}
.stop-b>p{color:var(--muted)}
.tw{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}
.rev-tw{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.sq{aspect-ratio:1;border-radius:22px}
.tw p{color:var(--muted)}
.ticks{list-style:none;padding:0;margin:0 0 18px}
.ticks li{padding:7px 0 7px 26px;position:relative}
.ticks li:before{content:"";position:absolute;left:0;top:14px;width:12px;height:12px;border-radius:50%;background:var(--terra);box-shadow:0 0 10px rgba(232,112,63,.8)}
.plans{list-style:none;padding:0;margin:18px 0 0}
.plans li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px dashed rgba(232,112,63,.3)}
.pn{font-weight:800}.pn small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.plans b{font:800 22px var(--bd);color:var(--amber);white-space:nowrap;text-align:right}.plans b small{display:block;font:400 12.5px var(--bd);color:var(--muted)}
.trow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}
.tc{margin:0}.tc-ph{aspect-ratio:3/4;border-radius:999px 999px 16px 16px;filter:saturate(.9)}
.tc figcaption{margin-top:8px;font-size:13px}.tc b{display:block}.tc small{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.stats div{background:var(--surface);border-radius:18px;padding:16px;text-align:center}
.stats b{display:block;font:400 clamp(34px,4vw,52px)/1 var(--hd);color:var(--terra);text-shadow:0 0 18px rgba(232,112,63,.6)}
.stats span{font-size:13.5px;color:var(--muted)}
/* chooser */
.chooser{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:20px;text-align:left}
.ch-prog{height:6px;border-radius:999px;background:var(--surface2);overflow:hidden;margin-bottom:14px}
.ch-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rose),var(--terra));transition:width .5s}
.q{border:0;padding:0;margin:0 0 16px;min-width:0}
.q legend{display:flex;align-items:center;gap:10px;font:800 16px var(--bd);margin-bottom:8px;padding:0}
.qn{font:400 16px var(--hd);color:var(--terra)}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.op{min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid rgba(251,237,228,.22);background:transparent;color:var(--ink);font:700 14.5px var(--bd);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.op:hover{border-color:var(--rose);transform:translateY(-1px)}
.op[aria-pressed=true]{background:var(--terra);border-color:var(--terra);color:var(--ground)}
.ch-r{background:var(--ground);border:1px solid rgba(232,112,63,.3);border-radius:22px;padding:20px;position:relative;overflow:hidden}
.sec.dk .ch-r,.stop .ch-r{background:#120906}
.ch-empty{text-align:center;padding:30px 10px;color:var(--muted)}.ch-empty .eq{justify-content:center;margin:0 auto 20px}
.ch-ph{aspect-ratio:16/10;border-radius:16px;margin-bottom:14px}
.ch-match h3{font:400 clamp(26px,2.6vw,34px)/1.1 var(--hd);color:var(--ink);text-shadow:0 0 16px rgba(232,112,63,.6)}
.ch-match>p{color:var(--muted)}
.ch-facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ch-facts li{background:var(--surface);border-radius:12px;padding:8px 10px}.ch-facts span{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-weight:800}.ch-facts b{font-size:14.5px}
.alts{display:flex;flex-wrap:wrap;gap:6px}
.alt{min-height:40px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid rgba(255,158,174,.3);color:var(--ink);font:700 13.5px var(--bd);cursor:pointer}
.alt b{color:var(--rose);margin-left:4px}
.ch-match.pop{animation:pop .6s cubic-bezier(.3,1.5,.5,1)}
@keyframes pop{from{transform:scale(.96);opacity:.4}to{transform:scale(1);opacity:1}}
/* booking */
.book{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}
.fld{min-width:0}
.fld label{display:block;font-weight:800;margin-bottom:6px}
select,input,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1.5px solid rgba(251,237,228,.18);border-radius:14px;padding:12px 14px;min-height:50px}
select:focus,input:focus,textarea:focus{outline:0;border-color:var(--terra)}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.day{min-height:64px;border-radius:14px;border:1.5px solid rgba(251,237,228,.18);background:var(--surface);color:var(--ink);font:800 14px/1.2 var(--bd);cursor:pointer;padding:6px 2px}
.day small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.day[aria-checked=true]{background:var(--terra);color:var(--ground);border-color:var(--terra)}.day[aria-checked=true] small{color:var(--ground)}
.day:disabled{opacity:.4;cursor:not-allowed}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.slot{min-height:46px;border-radius:12px;border:1.5px solid rgba(251,237,228,.18);background:transparent;color:var(--ink);font:800 14.5px var(--bd);cursor:pointer}
.slot[aria-checked=true]{background:var(--rose);color:var(--ground);border-color:var(--rose)}
.slot:disabled{text-decoration:line-through;color:rgba(196,169,156,.6);cursor:not-allowed}
.ticket{position:relative;background:linear-gradient(135deg,#E8703F,#C9532A);color:var(--ground);border-radius:22px;padding:22px 24px;margin-bottom:16px}
.ticket .kick{color:var(--ground)}
.tk-i{font:400 clamp(22px,2.4vw,30px)/1.1 var(--hd);margin:0 0 6px}
.tk-w,.tk-t{font-weight:800;margin:0}
.tk-cut{border-top:2px dashed rgba(23,13,10,.4);margin:14px -24px;position:relative}
.tk-cut:before,.tk-cut:after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:#110805}
.tk-cut:before{left:-11px}.tk-cut:after{right:-11px}
.tk-p{margin:0;font-size:14px}
.form{display:grid;gap:12px}
.form .btn{justify-self:start}
.err{color:#FF9E8A;font-size:14px;margin:4px 0 0}
[aria-invalid=true]{border-color:#FF9E8A!important}
.thanks{background:var(--surface);border:1px solid var(--terra);border-radius:22px;padding:24px}
.formwrap .form{grid-template-columns:repeat(2,minmax(0,1fr))}.formwrap .wide,.formwrap .btn,.formwrap .mini{grid-column:1/-1}
/* horizontal timeline */
.hline{list-style:none;padding:28px 0 0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.hline:before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,var(--terra),var(--rose),transparent)}
.hline li{position:relative;padding-top:18px}
.hline li:before{content:"";position:absolute;left:0;top:-26px;width:16px;height:16px;border-radius:50%;background:var(--terra);box-shadow:0 0 14px rgba(232,112,63,.9)}
.hline b{font:400 18px var(--hd);color:var(--rose)}.hline h3{margin-top:8px}.hline p{color:var(--muted);margin:0}
.hscroll{overflow-x:auto;position:relative;padding-bottom:14px;scroll-snap-type:x mandatory}
.htl{list-style:none;padding:40px 0 0;margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:20px;position:relative;min-width:max-content}
.htl:before{content:"";position:absolute;left:0;right:0;top:68px;height:2px;background:linear-gradient(90deg,var(--terra),var(--rose))}
.htl li{scroll-snap-align:start;padding:0 10px 0 0;position:relative;width:260px}
.hd{display:block;font:400 22px var(--hd);color:var(--amber)}
.hdot{display:block;width:18px;height:18px;border-radius:50%;background:var(--ground);border:3px solid var(--terra);margin:10px 0 16px;position:relative;z-index:2;box-shadow:0 0 14px rgba(232,112,63,.8)}
.htl p{color:var(--muted)}
/* tiers, split */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tier{background:var(--surface);border:1px solid rgba(232,112,63,.2);border-radius:26px;padding:28px}
.tier.hi{border-color:var(--terra);box-shadow:0 0 40px -10px rgba(232,112,63,.5)}
.tp{font:400 clamp(34px,3.4vw,44px)/1 var(--hd);color:var(--amber);margin:6px 0 12px}.tp small{font:400 14px var(--bd);color:var(--muted)}
.tier>p{color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px);align-items:start}
.kv{list-style:none;padding:0;margin:0 0 18px}
.kv li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed rgba(232,112,63,.25)}
.kv span{color:var(--muted)}.kv b{text-align:right}
.tbox{position:relative;overflow-x:auto;background:var(--surface);border-radius:20px}
.tbl{width:100%;border-collapse:collapse;min-width:480px}
.tbl th,.tbl td{text-align:left;padding:14px 18px;border-bottom:1px solid rgba(232,112,63,.15)}
.tbl thead th{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.tbl td{color:var(--amber);font-weight:800}.tbl tr:last-child>*{border-bottom:0}
/* teachers */
.tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tcard{background:var(--surface);border-radius:26px;overflow:hidden}.tcard>div{padding:20px 22px 24px}
.tg-ph{aspect-ratio:4/3}
.tcard h3{font:400 30px/1 var(--hd);color:var(--ink)}.tcard p{color:var(--muted)}
/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rev{margin:0;background:var(--surface);border-radius:24px;padding:26px;border-left:4px solid var(--terra)}
.stars{color:var(--amber);letter-spacing:3px}
.rev blockquote{margin:12px 0 16px;font-size:17px}
.rev figcaption{font-weight:800}.rev small{display:block;font-weight:400;color:var(--muted)}
/* visit, cta, gallery */
.vis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.vis p{color:var(--muted)}
.vis-ph{aspect-ratio:4/3;border-radius:28px;box-shadow:0 0 60px -20px rgba(232,112,63,.6)}
.cta{text-align:center;padding:clamp(34px,5vw,70px) 20px;border-radius:36px;background:radial-gradient(60% 100% at 50% 0%,rgba(232,112,63,.3),transparent 70%),var(--surface);border:1px solid rgba(232,112,63,.35)}
.cta .eq{justify-content:center;margin:0 auto 24px;height:50px}
.cta p{color:var(--muted);max-width:36em;margin:0 auto}.cta .btns{justify-content:center}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:200px;gap:12px}
.gal .ph{border-radius:20px}.gal .g0{grid-column:span 2;grid-row:span 2}.gal .g3{grid-column:span 2}
/* page hero */
.phero{padding:30px 0 10px}
.phero-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:center}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 16px}.crumbs a{color:var(--ink);font-weight:800}
.ph-tall{aspect-ratio:3/4;border-radius:999px 999px 28px 28px;max-height:440px;margin-left:auto;box-shadow:0 0 0 1px rgba(232,112,63,.4),0 0 70px -20px rgba(232,112,63,.7)}
/* contact */
.ccards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ccd{display:block;background:var(--surface);border-radius:22px;padding:24px;color:var(--ink);text-decoration:none;border:1px solid transparent;transition:border-color .2s}
.ccd:hover{border-color:var(--terra)}
.ccd b{display:block;font-size:20px;margin:4px 0;overflow-wrap:anywhere}.ccd small{color:var(--muted)}
.mapbox svg{width:100%;height:auto;display:block;font-family:var(--bd)}
/* faq */
.faq{display:grid;gap:10px;max-width:900px}
.faq details{background:var(--surface);border-radius:18px;padding:0 22px}
.faq summary{list-style:none;cursor:pointer;padding:18px 32px 18px 0;font-weight:800;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";position:absolute;right:4px;top:24px;width:10px;height:10px;border-radius:50%;background:var(--terra);box-shadow:0 0 10px var(--terra);transition:transform .3s}
.faq details[open] summary:after{transform:scale(1.6);background:var(--rose)}
.faq details p{color:var(--muted);margin:0;padding-bottom:18px}
/* footer */
.ftr{background:#0D0604;border-top:1px solid rgba(232,112,63,.3);padding:60px 0 100px;margin-top:20px}
.ftr-big{font:400 clamp(54px,10vw,140px)/.95 var(--hd);margin:0 0 40px;color:var(--ink);text-shadow:0 0 30px rgba(232,112,63,.5)}
.ftr-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:24px;border-top:1px solid rgba(232,112,63,.2)}
.ftr-g>div{min-width:0;overflow-wrap:anywhere}
.ftr-g h2{font:800 16px var(--bd);letter-spacing:1.5px;text-transform:uppercase;color:var(--rose)}
.ftr-g a{display:block;color:var(--muted);text-decoration:none;padding:5px 0}.ftr-g a:hover{color:var(--ink)}
.ftr-g p{color:var(--muted)}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(232,112,63,.2);font-size:14px;color:var(--muted)}
.wa{position:fixed;right:20px;bottom:20px;z-index:40;width:60px;height:60px;border-radius:50%;background:#1F9D55;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(31,157,85,.25),0 12px 30px -10px rgba(0,0,0,.6);transition:transform .2s}
.wa:hover{transform:scale(1.07)}.wa svg{width:32px;height:32px;fill:#fff}
/* reveals */
.js:not(.rm) .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.js:not(.rm) .rv.in{opacity:1;transform:translateY(0px)}
/* responsive */
@media (max-width:980px){
 .spine:before,.spine-fill{left:14px}
 .stop,.stop.w{grid-template-columns:minmax(0,1fr);padding:26px 0 26px 46px;gap:0}
 .stop .node,.stop.l .node,.stop.r .node,.stop.w .node{grid-column:1;grid-row:1;text-align:left;padding:0 0 12px}
 .stop .stop-b,.stop.l .stop-b,.stop.r .stop-b{grid-column:1;grid-row:2}
 .stop .dot,.stop.l .dot,.stop.r .dot,.stop.w .dot{left:-43px;right:auto;top:6px;bottom:auto;margin:0}
 .chooser,.book,.split,.vis,.phero-g{grid-template-columns:minmax(0,1fr)}
 .tiers,.revs,.tgrid,.ccards{grid-template-columns:minmax(0,1fr)}
 .hline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
 .trow{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ftr-g{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ph-tall{max-height:320px;margin:0 auto}
}
@media (max-width:620px){
 .wrap{padding:0 16px}.hdr-in,.hdr.scrolled .hdr-in{padding:10px 16px}
 .hdr-cta{display:none}.logo small{display:none}
 .tw,.rev-tw{grid-template-columns:minmax(0,1fr)}
 .days{grid-template-columns:repeat(4,minmax(0,1fr))}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ch-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .hline{grid-template-columns:minmax(0,1fr)}
 .formwrap .form{grid-template-columns:minmax(0,1fr)}
 .gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.gal .g0,.gal .g3,.gal .g4{grid-column:span 2;grid-row:span 1}
 .stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.stats div{padding:12px 6px}
 .hero{min-height:auto;padding-top:110px}
}
