/* ═══════════════════════════════════════════════════════════
   RESCU — THE DESCENT design system v50
   Shared by all Descent-language pages. Content never gated:
   reveals are JS-added (.pre) only after JS proves it can run.
   ═══════════════════════════════════════════════════════════ */
:root{
  --chalk:#F7F7F7; --fawn:#F9E3DB; --tang:#E7714D; --lav:#BAA5C0;
  --cer:#DCDFE7; --ox:#481B2E; --abyss:#2B0F1C; --void:#160710;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --disp:'Bebas Neue',sans-serif; --body:'Montserrat',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--fawn);background:var(--ox);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--tang);color:var(--void)}
img{max-width:100%;display:block}

/* atmosphere + canvas + grain */
.atmo{position:fixed;inset:0;z-index:0;pointer-events:none}
.atmo-deep{position:absolute;inset:0;background:linear-gradient(180deg,var(--abyss),var(--void));opacity:var(--depth,0)}
#dive{position:fixed;inset:0;z-index:1;pointer-events:none}
.grain{position:fixed;inset:-50%;z-index:3;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-3%)}80%{transform:translate(4%,4%)}}

/* HUD + progress */
.hud{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:10;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--lav);text-align:right;pointer-events:none}
.hud .ata{font-size:30px;color:var(--tang);font-weight:700;letter-spacing:.04em;line-height:1}
.hud .lbl{opacity:.65;margin-top:3px}
.hud .gauge{width:3px;height:160px;background:rgba(186,165,192,.18);margin:16px 0 16px auto;border-radius:2px;position:relative;overflow:hidden}
.hud .gauge i{position:absolute;left:0;right:0;top:0;height:0;background:linear-gradient(180deg,var(--lav),var(--tang));border-radius:2px}
.hud .o2{color:var(--fawn)}
.pulse-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:11;background:rgba(231,113,77,.12)}
.pulse-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--tang),var(--fawn));box-shadow:0 0 12px rgba(231,113,77,.7)}
@media(max-width:760px){.hud{right:12px;font-size:9px}.hud .ata{font-size:20px}.hud .gauge{height:90px}}

/* header */
.dhead{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:linear-gradient(180deg,rgba(22,7,16,.72),transparent);backdrop-filter:blur(6px)}
.brand{font-weight:800;font-size:24px;letter-spacing:-1px;color:var(--chalk);text-decoration:none}
.brand b{color:var(--tang)}
.dnav{display:flex;gap:26px;align-items:center}
.dnav a{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fawn);text-decoration:none;opacity:.85}
.dnav a:hover{color:var(--tang);opacity:1}
.book{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--void);background:var(--tang);padding:11px 20px;border-radius:999px;text-decoration:none;font-weight:700;transition:transform .15s ease}
.book:hover{transform:translateY(-2px)}
a:focus-visible{outline:3px solid var(--lav);outline-offset:3px}
@media(max-width:900px){.dnav a:not(.book){display:none}.dhead{padding:14px 16px}}

/* layout */
main{position:relative;z-index:2}
section{min-height:92vh;display:flex;align-items:center;padding:14vh 8vw}
.inner{max-width:980px;width:100%}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--tang);display:flex;align-items:center;gap:12px;margin-bottom:22px}
.kicker::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--tang),transparent)}
.kicker .at{color:var(--lav)}
h1,h2{font-family:var(--disp);font-weight:400;color:var(--chalk);line-height:.9;letter-spacing:.012em}
h1{font-size:clamp(70px,12.5vw,210px)}
h2{font-size:clamp(50px,8vw,130px);margin-bottom:24px}
h2 em,h1 em{font-style:normal;color:var(--tang)}
h3{font-family:var(--disp);font-weight:400;font-size:clamp(26px,3vw,44px);color:var(--chalk);letter-spacing:.02em;margin-bottom:12px}
.organ{font-family:var(--mono);font-size:12px;color:var(--lav);letter-spacing:.22em;margin-bottom:8px;opacity:.8}
.lede{font-size:clamp(16px,1.5vw,19px);line-height:1.75;max-width:580px;opacity:.92}
.lede b{color:var(--chalk)}

/* media panel: real photography as lit specimens */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}
.panel{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 36px 90px rgba(0,0,0,.5);transform:perspective(1100px) rotateY(var(--ry,0deg));}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(231,113,77,.14),transparent 45%,rgba(22,7,16,.45));pointer-events:none}
.panel img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/4.6}
.panel .tag{position:absolute;left:16px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--fawn);background:rgba(22,7,16,.7);padding:7px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.panel.wide img{aspect-ratio:16/9}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:40px}}

/* chips, service rows, price tables */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chip{font-family:var(--mono);font-size:11px;letter-spacing:.12em;border:1px solid rgba(186,165,192,.35);color:var(--lav);padding:9px 16px;border-radius:999px;background:rgba(22,7,16,.35);backdrop-filter:blur(6px)}
.chip b{color:var(--tang);font-weight:700}
.svc{margin-top:26px;display:grid;gap:12px;max-width:600px}
.svc a,.price-row{display:flex;justify-content:space-between;align-items:center;gap:16px;text-decoration:none;color:var(--fawn);border:1px solid rgba(186,165,192,.22);border-radius:16px;padding:18px 22px;background:linear-gradient(120deg,rgba(43,15,28,.55),rgba(22,7,16,.4));backdrop-filter:blur(8px);transition:border-color .2s,transform .2s}
.svc a:hover{border-color:var(--tang);transform:translateX(6px)}
.svc .nm,.price-row .nm{font-weight:700;font-size:15px;color:var(--chalk)}
.svc .ds,.price-row .ds{font-size:13px;opacity:.75}
.svc .px,.price-row .px{font-family:var(--mono);font-size:13px;color:var(--tang);white-space:nowrap;font-weight:700}
.prices{margin-top:26px;display:grid;gap:10px;max-width:600px}

/* stats band */
.stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:34px}
.stat .n{font-family:var(--disp);font-size:clamp(40px,4.6vw,68px);color:var(--tang);line-height:1}
.stat .l{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--lav);text-transform:uppercase;margin-top:4px}

/* CTA + cards */
.cta{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--void);background:var(--fawn);padding:16px 30px;border-radius:999px;text-decoration:none;font-weight:700;transition:transform .15s ease,background .15s;display:inline-block}
.cta:hover{transform:translateY(-2px);background:var(--chalk)}
.cta.ghost{background:transparent;color:var(--fawn);border:1px solid rgba(249,227,219,.4)}
.cta.hot{background:var(--tang);color:var(--void)}
.cta:focus-visible{outline:3px solid var(--tang);outline-offset:3px}
.surface-card{margin-top:40px;border:1px solid rgba(231,113,77,.4);border-radius:24px;padding:42px 34px;background:linear-gradient(160deg,rgba(72,27,46,.75),rgba(22,7,16,.7));backdrop-filter:blur(10px);box-shadow:0 30px 80px rgba(0,0,0,.45);text-align:center}
.surface-card .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.fine{margin-top:30px;font-size:11px;line-height:1.7;opacity:.55;max-width:560px;margin-left:auto;margin-right:auto}

/* reveals */
.rv{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.pre{opacity:0;transform:translateY(42px)}

/* footer — the full site map keeps every legacy page reachable */
.dfoot{position:relative;z-index:2;background:var(--void);border-top:1px solid rgba(231,113,77,.25);padding:70px 8vw 40px}
.dfoot .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;max-width:1200px}
.dfoot h4{font-family:var(--mono);font-size:11px;letter-spacing:.25em;color:var(--tang);text-transform:uppercase;margin-bottom:16px}
.dfoot a{display:block;color:var(--fawn);opacity:.8;text-decoration:none;font-size:13.5px;line-height:2}
.dfoot a:hover{color:var(--tang);opacity:1}
.dfoot .brandline{font-weight:800;font-size:28px;color:var(--chalk);letter-spacing:-1px}
.dfoot .brandline b{color:var(--tang)}
.dfoot .meta{margin-top:14px;font-size:13px;line-height:1.9;opacity:.75}
.dfoot .legal{margin-top:48px;padding-top:22px;border-top:1px solid rgba(186,165,192,.15);font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--lav);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media(max-width:900px){.dfoot .grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.dfoot .grid{grid-template-columns:1fr}}

@media(max-width:760px){section{padding:12vh 7vw}.svc a{flex-direction:column;align-items:flex-start;gap:6px}}
@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  .rv,.rv.pre{opacity:1!important;transform:none!important;transition:none}
  html{scroll-behavior:auto}
}

/* mobile HUD: compact ATA pill, out of the text column */
@media(max-width:760px){
  .hud{top:auto;bottom:16px;right:12px;transform:none;
    background:rgba(22,7,16,.55);border:1px solid rgba(231,113,77,.3);
    border-radius:999px;padding:8px 14px;backdrop-filter:blur(6px);
    display:flex;align-items:baseline;gap:8px}
  .hud .ata{font-size:16px}
  .hud .lbl,.hud .gauge,.hud .o2{display:none}
  .hud .lbl:first-of-type{display:block;font-size:8px;margin:0}
}

/* mobile menu anchor → footer sitemap */
.dnav .menu-m{display:none}
@media(max-width:900px){.dnav .menu-m{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fawn);text-decoration:none}}

/* ── pathway tiers ── */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:40px}
.tier{position:relative;border:1px solid rgba(186,165,192,.25);border-radius:20px;padding:30px 24px;background:linear-gradient(160deg,rgba(43,15,28,.6),rgba(22,7,16,.5));backdrop-filter:blur(8px);display:flex;flex-direction:column}
.tier .pid{font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--lav)}
.tier .pn{font-family:var(--disp);font-size:34px;color:var(--chalk);letter-spacing:.02em;margin:8px 0 2px}
.tier .pp{font-family:var(--mono);font-size:24px;color:var(--tang);font-weight:700}
.tier .pp small{font-size:11px;color:var(--lav);font-weight:400}
.tier ul{list-style:none;margin:18px 0 22px;flex:1}
.tier li{font-size:13.5px;line-height:1.55;padding:7px 0 7px 20px;position:relative;opacity:.9;border-bottom:1px solid rgba(186,165,192,.1)}
.tier li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:2px;background:var(--tang)}
.tier .cta{text-align:center;padding:13px 18px;font-size:11px}
.tier.hot{border-color:var(--tang);box-shadow:0 0 0 1px var(--tang),0 24px 60px rgba(231,113,77,.18);transform:scale(1.02)}
.tier .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.22em;background:var(--tang);color:var(--void);padding:6px 14px;border-radius:999px;font-weight:700;white-space:nowrap}
@media(max-width:1100px){.tiers{grid-template-columns:repeat(2,1fr)}.tier.hot{transform:none}}
@media(max-width:600px){.tiers{grid-template-columns:1fr}}
