
/* ============ FORGEFIT — SKILLS EDITION DESIGN SYSTEM ============
   Tokens: primitive → semantic. Charcoal / bone / brass. Fraunces + Archivo.
   Sharp 2px corners, hairline rules, film-first home. */
:root{
  --char-900:#12100c; --char-850:#171410; --char-800:#1d1a15; --char-700:#2a261e;
  --bone-50:#f6f1e6; --bone-100:#efe8d8; --bone-300:#d8cfb8; --bone-500:#a79b84; --bone-600:#7d7260;
  --brass-300:#e3c98c; --brass-500:#c6a15b; --brass-600:#a9873f; --brass-700:#8a6c2f;
  --green-500:#4caf6d; --green-700:#2e7d46;
  --bg:var(--char-900); --bg-2:var(--char-850); --surface:var(--char-800); --card:#191611;
  --ink:var(--bone-50); --muted:var(--bone-500); --faint:var(--bone-600);
  --line:#2c2820; --line-soft:#241f18; --acc:var(--brass-500); --acc-strong:var(--brass-300); --acc-ink:#17130a;
  --ok-bg:#17301f; --ok-ink:#9fd8ae; --err-bg:#3a1d1a; --err-ink:#f0b3ab;
  --shadow:0 24px 60px rgba(0,0,0,.5);
  color-scheme:dark;
}
body[data-theme="light"]{
  --bg:#f3eee2; --bg-2:#faf7ef; --surface:#fffdf6; --card:#fffdf6;
  --ink:#1d1912; --muted:#6d6350; --faint:#8d8271;
  --line:#ddd2ba; --line-soft:#e7dec9; --acc:var(--brass-700); --acc-strong:var(--brass-600); --acc-ink:#fffdf6;
  --ok-bg:#e2f2e4; --ok-ink:#1d5c2e; --err-bg:#fbe7e3; --err-ink:#8c2f24;
  --shadow:0 24px 60px rgba(60,48,20,.18);
  color-scheme:light;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Archivo','Segoe UI',Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;overflow-x:hidden;transition:background .35s ease,color .35s ease;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--acc)}
button{font-family:inherit}
::selection{background:var(--acc);color:var(--acc-ink)}
.wrap{max-width:1200px;margin:0 auto;padding-left:22px;padding-right:22px}
.view[hidden]{display:none!important}
.view{animation:viewIn .5s cubic-bezier(.22,1,.36,1)}
@keyframes viewIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
section{padding:76px 0 20px}
h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:44px;line-height:1.08;letter-spacing:.005em}
h1 em,h2 em{font-style:italic;color:var(--acc)}
h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:33px;line-height:1.15;margin-bottom:10px}
h2.rule{border-bottom:1px solid var(--acc);padding-bottom:12px;display:inline-block}
h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:21px;line-height:1.25}
.intro{color:var(--muted);margin:14px 0 24px;max-width:640px;font-size:16px}
.small{font-size:13px;color:var(--muted)}
.price{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:24px;color:var(--ink)}
.kicker{font-size:11px;font-weight:700;letter-spacing:3.4px;text-transform:uppercase;color:var(--acc)}
.num-tag{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--acc);font-size:15px}

/* ---------- Header: one slim line ---------- */
#scrollProg{position:fixed;top:0;left:0;height:2px;width:0;background:var(--acc);z-index:400}
header.site{background:var(--bg-2);position:sticky;top:0;z-index:120;border-bottom:1px solid var(--line);animation:headIn .6s cubic-bezier(.16,.8,.26,1)}
@keyframes headIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.hwrap{max-width:1200px;margin:0 auto;padding:9px 18px;display:flex;flex-wrap:nowrap;align-items:center;gap:10px;justify-content:space-between}
.brand{font-family:'Fraunces',Georgia,serif;font-size:24px;font-weight:600;letter-spacing:3.5px;color:var(--ink);text-decoration:none;line-height:1;text-transform:uppercase;white-space:nowrap}
.brand span{color:var(--acc)}
.brand-sub{font-size:9px;letter-spacing:4px;color:var(--acc);text-transform:uppercase;font-weight:600;margin-top:3px}
.tools{display:flex;gap:7px;align-items:center;flex-wrap:nowrap;margin-left:auto;min-width:0}
.tbtn{background:transparent;color:var(--ink);border:1px solid var(--line);cursor:pointer;font-weight:600;padding:7px 10px;border-radius:2px;font-size:12.5px;white-space:nowrap}
.tbtn:hover{border-color:var(--acc);color:var(--acc)}
select.tbtn{appearance:none;-webkit-appearance:none}
.call-btn{background:transparent;color:var(--acc);text-decoration:none;font-weight:700;padding:8px 13px;border-radius:2px;border:1px solid var(--acc);font-size:11.5px;text-transform:uppercase;letter-spacing:1.6px;white-space:nowrap}
.call-btn:hover{background:var(--acc);color:var(--acc-ink)}
.burger{display:block;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:2px;padding:7px 11px;font-size:17px;cursor:pointer;line-height:1}
nav.main{display:none;flex-wrap:wrap;gap:2px;align-items:center;max-width:1200px;margin:0 auto;padding:8px 14px 12px;border-top:1px solid var(--line-soft)}
nav.main.open{display:flex;animation:navIn .3s ease}
@keyframes navIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
nav.main a{color:var(--muted);text-decoration:none;font-weight:600;font-size:11px;padding:7px 9px;cursor:pointer;text-transform:uppercase;letter-spacing:1.7px;transition:color .2s}
nav.main a.active{color:var(--acc);box-shadow:inset 0 -1px 0 var(--acc)}
nav.main a:hover{color:var(--ink)}

/* ---------- Buttons ---------- */
.btn{display:inline-block;background:var(--acc);color:var(--acc-ink);text-decoration:none;font-weight:700;padding:14px 26px;border-radius:2px;margin:6px 8px 6px 0;border:1px solid var(--acc);cursor:pointer;font-size:11.5px;text-transform:uppercase;letter-spacing:2px;transition:background .25s,color .25s,transform .2s}
.btn:hover{background:var(--acc-strong);border-color:var(--acc-strong)}
.btn:active{transform:scale(.98)}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.alt:hover{border-color:var(--acc);color:var(--acc);background:transparent}
.btn.wa{background:transparent;color:var(--ok-ink);border-color:var(--green-700)}
.btn.wa:hover{background:var(--ok-bg);color:var(--ok-ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}
.btn.sm{padding:10px 16px;font-size:10.5px}

/* ---------- Cards & grids ---------- */
.grid{display:flex;flex-wrap:wrap;gap:20px}
.card{flex:1 1 250px;background:var(--card);border:1px solid var(--line);border-radius:2px;padding:28px;transition:border-color .3s}
.card:hover{border-color:var(--acc)}
.card p{font-size:14.5px;color:var(--muted);margin:8px 0}
.card img.ph{width:100%;height:190px;object-fit:cover;border-radius:2px;border:1px solid var(--line);display:block;margin-bottom:14px}
.two{display:flex;flex-wrap:wrap;gap:28px}
.two .col{flex:1 1 330px;min-width:0}
.two img{width:100%;height:320px;object-fit:cover;border-radius:2px;border:1px solid var(--line);display:block}
.pill{display:inline-block;padding:5px 12px;border-radius:2px;border:1px solid var(--line);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1.6px}
.open-now{color:var(--ok-ink);border-color:var(--green-700)}
.closed-now{color:var(--err-ink);border-color:#7a3a32}
.check{list-style:none;margin:10px 0}
.check li{padding:5px 0;color:var(--muted);font-size:14.5px}
.check li::before{content:"— ";color:var(--acc);font-weight:700}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:center;overflow:hidden;background:#0a0906}
.hero-bg{position:absolute;inset:-12% 0;background:url(images/img-c31c2810a4e7.jpg) center/cover no-repeat;will-change:transform}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(92deg,rgba(10,9,6,.93) 0%,rgba(10,9,6,.6) 55%,rgba(10,9,6,.25) 100%)}
#fx{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-in{position:relative;z-index:3;padding-top:84px;padding-bottom:96px;will-change:transform,opacity;width:100%}
.hero h1{font-size:clamp(50px,7.4vw,92px);line-height:1.01;color:#f6f1e6;max-width:700px}
.hero h1 em{color:var(--brass-300)}
.hero p{color:#ddd5c2;font-size:16.5px;max-width:480px;margin:20px 0 16px}
.hero .pill{margin-bottom:18px;background:rgba(10,9,6,.55);color:#efe8d8;border-color:rgba(239,232,216,.4)}
.hero h1 .hl{display:block;opacity:0;animation:hlUp .9s cubic-bezier(.16,.8,.26,1) forwards}
.hero h1 .hl:nth-child(2){animation-delay:.14s}
.hero h1 .hl:nth-child(3){animation-delay:.28s}
.hfade{opacity:0;animation:hlUp .9s cubic-bezier(.16,.8,.26,1) forwards}
@keyframes hlUp{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:none}}
.cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;color:#f6f1e6;font-size:10px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;text-align:center;opacity:.85}
.cue::after{content:"";display:block;width:18px;height:18px;margin:6px auto 0;border-right:2px solid var(--brass-500);border-bottom:2px solid var(--brass-500);transform:rotate(45deg);animation:cueB 1.7s ease-in-out infinite}
@keyframes cueB{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.45}50%{transform:rotate(45deg) translate(5px,5px);opacity:1}}

/* ---------- Counters ---------- */
.stats{display:flex;flex-wrap:wrap;gap:18px;margin:26px 0}
.stat{flex:1 1 170px;background:transparent;border:1px solid var(--line);border-radius:2px;padding:24px;text-align:center}
.cnum{font-family:'Fraunces',Georgia,serif;font-size:42px;font-weight:500;color:var(--acc);line-height:1.1}
.stat p{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1.4px;margin-top:6px}

/* ---------- Before / After ---------- */
.ba{position:relative;max-width:760px;border-radius:2px;overflow:hidden;user-select:none;touch-action:none;border:1px solid var(--line)}
.ba img{display:block;width:100%;height:430px;object-fit:cover}
.ba .after{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.ba .after img{height:430px}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#f6f1e6;transform:translateX(-50%);z-index:3}
.ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--char-900);color:var(--brass-300);width:46px;height:46px;border-radius:50%;border:1px solid var(--brass-500);display:flex;align-items:center;justify-content:center;font-weight:700;z-index:4;cursor:ew-resize;font-size:15px}
.ba-tag{position:absolute;top:12px;z-index:3;background:rgba(10,9,6,.72);color:#f6f1e6;font-weight:700;font-size:11px;letter-spacing:2px;padding:5px 11px;border-radius:2px;text-transform:uppercase}
.ba-tag.l{left:12px}.ba-tag.r{right:12px}

/* ---------- Testimonials / video cards ---------- */
.stars{color:#d9a441;letter-spacing:2px}
.vt-card{position:relative;border-radius:2px;overflow:hidden;cursor:pointer;border:1px solid var(--line);flex:1 1 280px;min-height:260px;display:flex;align-items:flex-end;background:#0a0906}
.vt-card img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.vt-card:hover img.bg{transform:scale(1.05)}
.vt-card .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.85))}
.vt-card .play{position:absolute;top:16px;left:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--brass-500);background:rgba(10,9,6,.55);color:var(--brass-300);display:flex;align-items:center;justify-content:center;font-size:15px;z-index:2}
.vt-card .cap{position:relative;z-index:2;padding:20px;color:#f6f1e6}
.vt-card .cap p{color:#e3dcc9;font-size:14px;margin:5px 0}
.vt-card .cap span{color:var(--brass-300);font-weight:600;font-size:13px}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery-grid img{width:100%;height:230px;object-fit:cover;border-radius:2px;cursor:pointer;display:block;border:1px solid var(--line);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.gallery-grid img:hover{transform:scale(1.02)}
.insta-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.insta-strip img{width:100%;height:150px;object-fit:cover;border-radius:2px;border:1px solid var(--line);cursor:pointer;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.insta-strip img:hover{transform:scale(1.03)}

/* ---------- Timetable ---------- */
.tt-wrap{overflow:hidden;border:1px solid var(--line);border-radius:2px}
table.tt{width:100%;border-collapse:collapse;background:var(--card);font-size:14px}
table.tt th,table.tt td{padding:11px 10px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top}
table.tt th{background:var(--surface);color:var(--ink);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700}
table.tt td:first-child{font-weight:700;white-space:nowrap;color:var(--acc)}

/* ---------- FAQ ---------- */
.faq{border:1px solid var(--line);border-radius:2px;margin-bottom:10px;background:var(--card);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:none;color:var(--ink);font-weight:600;font-size:15.5px;padding:16px 18px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.faq-a{display:none;padding:0 18px 16px;color:var(--muted);font-size:14.5px}

/* ---------- Forms ---------- */
form .fld{margin-bottom:14px}
label.fl{display:block;font-weight:700;font-size:12px;margin-bottom:6px;text-transform:uppercase;letter-spacing:1.2px}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],input[type=number],input[type=file],select,textarea{width:100%;padding:11px 12px;border-radius:2px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:15px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc)}
textarea{min-height:88px;resize:vertical}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:26px}
.confirm{display:none;background:var(--ok-bg);color:var(--ok-ink);border-radius:2px;border:1px solid var(--green-700);padding:13px 16px;font-weight:600;margin-top:14px;font-size:14.5px}
.err{display:none;background:var(--err-bg);color:var(--err-ink);border-radius:2px;border:1px solid #7a3a32;padding:12px 15px;font-weight:600;margin-top:12px;font-size:14px}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.step-ind{padding:7px 13px;border-radius:2px;background:transparent;border:1px solid var(--line);font-weight:700;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}
.step-ind.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.bstep[hidden]{display:none!important}
.payopts{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
.payopt{flex:1 1 140px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:2px;padding:14px;font-weight:700;cursor:pointer;font-size:14px;text-transform:uppercase;letter-spacing:1.2px}
.payopt.sel{border-color:var(--acc);background:var(--acc);color:var(--acc-ink)}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px}
.switch{position:relative;width:50px;height:27px;border-radius:999px;background:var(--line);border:1px solid var(--line);cursor:pointer;flex:0 0 auto;transition:.2s;padding:0}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:50%;background:#f6f1e6;transition:left .25s cubic-bezier(.34,1.56,.64,1)}
.switch[aria-checked="true"]{background:var(--green-500)}
.switch[aria-checked="true"]::after{left:25px}

/* ---------- Cart / calculator / dashboard ---------- */
.cart-box{background:transparent;border:1px solid var(--acc);border-radius:2px;padding:24px;margin-top:10px}
.cart-total{font-family:'Fraunces',Georgia,serif;font-size:26px;font-weight:600}
.prog{margin:12px 0}
.prog .lab{display:flex;justify-content:space-between;font-size:14px;font-weight:600;gap:10px}
.prog .bar{height:10px;background:var(--line-soft);border-radius:2px;overflow:hidden;margin-top:5px}
.prog .fill{height:100%;background:var(--acc)}

/* ---------- Blog ---------- */
.post{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:26px;margin-bottom:20px}
.post .body{display:none;margin-top:14px;color:var(--muted);font-size:15px}
.post .body.open{display:block}
.post .body p{margin-bottom:12px}
.post .body strong{color:var(--ink)}

/* ---------- Modals ---------- */
.modal{display:none;position:fixed;inset:0;background:rgba(5,4,2,.74);z-index:300;align-items:center;justify-content:center;padding:18px}
.modal .box{background:var(--bg-2);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow);max-width:560px;width:100%;max-height:88vh;overflow:auto;padding:26px;animation:popIn .4s cubic-bezier(.22,1.3,.36,1)}
@keyframes popIn{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
.modal .x{float:right;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:2px;padding:6px 12px;cursor:pointer;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:1px}
#lb .box{background:none;border:none;box-shadow:none;max-width:920px;padding:0}
#lb img{width:100%;border-radius:2px;border:1px solid var(--line);display:block}

/* ---------- Footer ---------- */
footer.site{background:var(--bg-2);border-top:1px solid var(--line);margin-top:60px}
.fgrid{display:flex;flex-wrap:wrap;gap:28px;padding:40px 0 10px}
.fcol{flex:1 1 200px;min-width:0}
.fcol h4{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;margin-bottom:12px;color:var(--acc);font-weight:700}
.fcol a{display:block;color:var(--muted);text-decoration:none;padding:3px 0;font-size:14px;cursor:pointer}
.fcol a:hover{color:var(--ink)}
.fcol p{color:var(--muted);font-size:14px;margin-bottom:8px}
.news-row{display:flex;gap:8px;flex-wrap:wrap}
.news-row input{flex:1 1 160px;min-width:0}
.copy{border-top:1px solid var(--line-soft);padding:16px 0 24px;color:var(--faint);font-size:12.5px;margin-top:16px}

/* ---------- Floating WhatsApp (only float — no chat) ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:150;background:#1e2b20;color:#cfe8d4;text-decoration:none;font-weight:700;padding:12px 17px;border-radius:2px;border:1px solid #3e6b4a;box-shadow:0 14px 30px rgba(0,0,0,.35);font-size:11.5px;text-transform:uppercase;letter-spacing:1.6px}
.wa-float:hover{background:#27382a}

/* ---------- Reveal ---------- */
.rv.in{animation-duration:.9s;animation-timing-function:cubic-bezier(.22,1.18,.36,1);animation-fill-mode:both}
.rv.fade.in{animation-name:rvFade}
.rv.up.in{animation-name:rvUp}
.rv.zoom.in{animation-name:rvZoom}
.rv.left.in{animation-name:rvLeft}
.rv.right.in{animation-name:rvRight}
@keyframes rvFade{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
@keyframes rvUp{from{opacity:0;transform:translateY(48px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes rvZoom{from{opacity:0;transform:scale(.92) translateY(14px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes rvLeft{from{opacity:0;transform:translateX(-56px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes rvRight{from{opacity:0;transform:translateX(56px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.rv.d1.in{animation-delay:.12s}.rv.d2.in{animation-delay:.24s}.rv.d3.in{animation-delay:.36s}

.mapframe{width:100%;height:340px;border:1px solid var(--line);border-radius:2px;display:block}

/* ---------- Film: scroll-scrubbed chapters ---------- */
.story{position:relative;height:340vh}
.story-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#080706}
.sframe{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.sframe.on{opacity:1}
.sframe img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);will-change:transform;display:block}
.sframe .sshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,5,.55),rgba(8,7,5,.18) 42%,rgba(8,7,5,.92))}
.story-ui{position:absolute;inset:0;z-index:2}
.spanel{position:absolute;left:0;right:0;bottom:104px;opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,.8,.26,1);pointer-events:none}
.spanel.on{opacity:1;transform:none;pointer-events:auto}
.spanel h3{font-size:clamp(34px,5.6vw,58px);color:#f6f1e6;line-height:1.05;margin:12px 0}
.spanel h3 em{color:var(--brass-300)}
.spanel p{color:#e8e2d2;max-width:540px;font-size:16.5px}
.spanel .sstat{margin-top:16px;color:#d7d0bd;font-weight:600;font-size:14.5px}
.spanel .sstat b{font-family:'Fraunces',Georgia,serif;color:var(--brass-300);font-size:28px;font-weight:500;margin-right:8px}
.story-meta{position:absolute;left:0;right:0;bottom:26px}
.story-meta .mrow{display:flex;justify-content:space-between;align-items:center;color:#f6f1e6;font-weight:700;letter-spacing:2px;font-size:12.5px;margin-bottom:10px;gap:10px}
.story-meta .mrow>span:first-child{white-space:nowrap}
.sdots{display:flex;gap:7px}
.sdot{width:26px;height:4px;background:rgba(246,241,230,.3);transition:background .3s}
.sdot.on{background:var(--brass-500)}
.story-bar{height:4px;background:rgba(246,241,230,.18);overflow:hidden}
.story-bar i{display:block;height:100%;width:0;background:var(--brass-500)}
.story-cta{margin:0;white-space:nowrap}
@media (min-width:901px){.story-cta{margin-right:170px}}

/* ---------- Full-screen program scenes ---------- */
.scene{position:relative;min-height:94vh;min-height:94svh;display:flex;align-items:flex-end;overflow:hidden;background:#080706}
.scene-bg{position:absolute;inset:-12% 0}
.scene-bg img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.2);will-change:transform}
.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,5,.5),rgba(8,7,5,.1) 45%,rgba(8,7,5,.93))}
.scene .ghost{position:absolute;top:24px;right:16px;z-index:1;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:clamp(70px,14vw,150px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(246,241,230,.22)}
.scene-in{position:relative;z-index:2;width:100%;padding-top:80px;padding-bottom:76px}
.scene-in h3{font-size:clamp(34px,5.2vw,56px);color:#f6f1e6;line-height:1.05;margin:12px 0}
.scene-in h3 em{color:var(--brass-300)}
.scene-in p{color:#e8e2d2;max-width:560px;font-size:16.5px}
.scene-in .sprice{color:#f6f1e6;font-weight:700;font-size:15.5px;margin:14px 0 6px}
.scene-in .sprice b{color:var(--brass-300)}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  nav.main{flex-direction:column;align-items:stretch;padding:6px 14px 14px}
  @keyframes navIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  nav.main a{padding:11px 10px;font-size:13px}
  .call-btn{display:none}
  .hwrap{padding:8px 10px;gap:6px}
  .brand{font-size:17px;letter-spacing:1.5px}
  .brand-sub{display:none}
  .tools{gap:5px}
  .tbtn{padding:6px 7px;font-size:11.5px}
  #langSel{max-width:84px}
  .burger{padding:6px 9px;font-size:16px}
  h1{font-size:33px}
  h2{font-size:26px}
  section{padding:58px 0 16px}
  .hero{min-height:78vh;min-height:78svh}
  .hero h1{font-size:clamp(40px,11vw,56px)}
  .ba img,.ba .after img{height:300px}
  .story{height:300vh}
}
@media (max-width:640px){
  .hero-in{padding-top:56px;padding-bottom:84px}
  .hero .ctas{display:flex;flex-direction:column;align-items:stretch}
  .hero .ctas .btn{margin:5px 0;text-align:center}
  .wa-float{right:12px;bottom:14px;padding:11px 14px;font-size:11px}
  .scene{min-height:88vh;min-height:88svh}
  .story-meta{bottom:70px}
  .spanel{bottom:138px}
  .spanel p{font-size:15px}
  .sdot{width:17px}
  .story-cta{padding:8px 12px;font-size:10.5px}
}
@media (max-width:760px){
  table.tt,table.tt tbody,table.tt tr,table.tt td{display:block;width:100%}
  table.tt thead{display:none}
  table.tt tr{border-bottom:2px solid var(--acc);padding:8px 0}
  table.tt td{border-bottom:1px solid var(--line-soft);padding:8px 12px}
  table.tt td::before{content:attr(data-d);font-weight:700;color:var(--acc);display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}
  table.tt td:first-child{background:var(--surface);font-size:15px}
  table.tt td:first-child::before{content:"Time"}
}
@media (prefers-reduced-motion: reduce){
  .rv.in,.view,.modal .box,header.site,nav.main.open{animation:none}
  .hero h1 .hl,.hfade{animation:none;opacity:1}
  .cue::after{animation:none}
  #fx{display:none}
  .story{height:100vh;height:100svh}
  .sframe img,.scene-bg img{transform:none}
  html{scroll-behavior:auto}
}
