/* ---------- LANDING HERO ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:160px 0 90px}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;filter:contrast(1.05) saturate(.85) brightness(.55);transform:scale(1.04);transition:transform 8s linear}
.hero.in-view .hero-bg{transform:scale(1)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,.15) 35%,rgba(11,11,12,.95) 100%),linear-gradient(90deg,rgba(11,11,12,.5),rgba(11,11,12,0) 60%)}
.hero-content{position:relative;z-index:2;width:100%;max-width:1080px}
.hero .tagline{display:inline-flex;align-items:center;gap:12px;padding:8px 16px;background:rgba(11,11,12,.55);backdrop-filter:blur(6px);border:1px solid var(--line-strong);font-family:var(--f-disp);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.hero .tagline .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(211,47,47,.18)}
.hero h1{font-family:var(--f-disp);font-weight:700;font-size:clamp(56px,10vw,160px);line-height:.92;color:var(--ink);text-transform:uppercase;letter-spacing:-.015em;max-width:1100px;margin:24px 0 26px}
.hero h1 .accent{color:var(--gold);display:block}
.hero p.sub{font-size:19px;color:rgba(237,237,237,.85);max-width:620px;margin-bottom:36px;line-height:1.55}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px}

.trustbar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong);padding-top:22px;max-width:980px}
.trustbar > div{padding:0 24px 0 0}
.trustbar .l{font-family:var(--f-disp);font-size:10px;font-weight:600;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;margin-bottom:8px}
.trustbar .v{font-size:13px;color:var(--ink);font-weight:500;line-height:1.45}

/* ---------- LANDING NAV (transparent over hero) ---------- */
.l-hdr{position:fixed;inset:0 0 auto 0;z-index:50;padding:20px 0;transition:background .3s,padding .3s,border-color .3s;border-bottom:1px solid transparent}
.l-hdr.scrolled{background:rgba(11,11,12,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px 0;border-bottom-color:var(--line)}

/* ---------- PROBLEM STATEMENT ---------- */
.problem{padding:140px 0;background:var(--bg)}
.problem-c{max-width:880px;margin:0 auto;text-align:left}
.problem h2{font-size:clamp(36px,5vw,64px);text-transform:uppercase;line-height:1.05;margin-bottom:28px}
.problem h2 em{color:var(--gold);font-style:normal}
.problem p{font-size:18px;line-height:1.7;color:var(--ink);max-width:680px}
.problem p + p{margin-top:18px}
.problem .quiet{color:var(--ink-mute);font-size:16px}

/* ---------- AUTHORITY / SYSTEM ---------- */
.system{padding:140px 0;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);margin-top:48px}
.step{padding:36px 28px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-height:220px}
.step:last-child{border-right:none}
.step .n{font-family:var(--f-disp);font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.step h3{font-family:var(--f-disp);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:0}
.step p{font-size:14px;line-height:1.6;color:var(--ink-mute)}

/* ---------- METRICS / CONTROLLED PROOF ---------- */
.proof{padding:120px 0;background:var(--bg)}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px}

/* ---------- PROGRAMS preview ---------- */
.progs{padding:140px 0;background:var(--bg-2);border-top:1px solid var(--line)}
.prog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:48px}
.prog{padding:48px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:16px;transition:background .25s}
.prog:hover{background:var(--bg-3)}
.prog .meta{font-family:var(--f-disp);font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.prog h3{font-family:var(--f-disp);font-weight:700;font-size:32px;text-transform:uppercase;letter-spacing:0}
.prog p{font-size:15px;line-height:1.65;color:var(--ink-mute);max-width:520px}
.prog a{margin-top:8px;font-family:var(--f-disp);font-size:11px;font-weight:600;letter-spacing:.22em;color:var(--ink);text-transform:uppercase}
.prog a::after{content:"  \2192"}

/* ---------- BOTTOM CTA ---------- */
.l-bigcta{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.l-bigcta-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;filter:contrast(1.05) saturate(.8) brightness(.45)}
.l-bigcta::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,11,12,.6) 0%,rgba(11,11,12,.85) 100%)}
.l-bigcta-c{position:relative;z-index:2;width:100%;text-align:center;padding:96px 0}
.l-bigcta h2{font-size:clamp(48px,8vw,128px);color:var(--ink);text-transform:uppercase;line-height:.92;margin-bottom:22px;letter-spacing:-.015em}
.l-bigcta h2 em{color:var(--gold);font-style:normal;display:block}
.l-bigcta p{font-size:18px;color:rgba(237,237,237,.85);max-width:580px;margin:0 auto 36px;line-height:1.6}

@media (max-width:1024px){
  .steps{grid-template-columns:1fr 1fr}
  .step{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .step:nth-child(2n){border-right:none}
  .proof-grid{grid-template-columns:1fr 1fr}
  .prog-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hero{padding:130px 0 80px}
  .trustbar{grid-template-columns:1fr 1fr;gap:18px;padding-top:18px}
  .trustbar > div{padding:10px 0}
  .steps{grid-template-columns:1fr}
  .step{border-right:none}
  .proof-grid{grid-template-columns:1fr;gap:0}
  .prog{padding:36px 24px}
  .problem,.system,.proof,.progs{padding:80px 0}
}

/* header emblem logo */
.brand-logo{height:46px;width:auto;display:block;flex-shrink:0}
.hdr.scrolled .brand-logo{height:38px}

/* before / after transformations */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
.ba-card{background:#111114;border:1px solid var(--line);overflow:hidden}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ba-shot{position:relative;aspect-ratio:3/4;overflow:hidden;background:#000}
.ba-shot img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.ba-tag{position:absolute;left:10px;top:10px;font-family:var(--f-disp);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.62);padding:5px 9px;line-height:1}
.ba-tag.ba-after{background:var(--gold);color:#0B0B0C}
.ba-cap{padding:15px 18px}
.ba-name{font-family:var(--f-disp);font-weight:700;font-size:20px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
@media(max-width:768px){.ba-grid{grid-template-columns:1fr}}
