/* ===== About ===== */
body{background:var(--green-950)}
.ab{color:var(--on-dark)}
.ab h1,.ab h2,.ab h3{color:var(--paper)}
.ab .eyebrow{color:var(--yellow-400)}
.ab-hero{position:relative;overflow:hidden;padding:calc(var(--head) + clamp(64px,12vh,140px)) 0 clamp(56px,9vh,100px);border-bottom:1px solid var(--line-dark)}
.ab-hero-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.ab-hero h1{max-width:900px}
.ab-hero h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.95}
.ab-hero .lead{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.5;color:var(--on-dark-muted);max-width:660px}
.ab-down{display:inline-flex;align-items:center;gap:12px;margin-top:10px;color:var(--yellow-400);font-family:var(--font-mono);font-size:var(--t-sm);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.ab-down i{width:26px;height:40px;border:1.5px solid rgba(255,223,109,.6);border-radius:14px;position:relative}
.ab-down i::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--yellow-400);animation:abwheel 1.6s ease-in-out infinite}
@keyframes abwheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
.ab-glow{position:absolute;right:-10%;top:-20%;width:70%;height:140%;background:radial-gradient(ellipse at center,rgba(69,118,98,.45) 0%,rgba(24,43,35,0) 65%);pointer-events:none}

/* The climb: chapters scroll on the left, the mountain stays put on the right */
.ab-climb{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0 clamp(24px,4vw,64px);width:min(1240px,100%);margin-inline:auto;padding:0 clamp(16px,4vw,32px)}
.ab-mtn{grid-column:2;grid-row:1;position:sticky;top:var(--head);height:calc(100vh - var(--head));height:calc(100svh - var(--head));display:flex;align-items:flex-end;justify-content:center;padding:24px 0}
.ab-mtn{overflow:hidden}
.ab-mtn svg{width:100%;height:100%;max-height:820px;display:block}
.mtn-lab{font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;fill:rgba(254,255,249,.55)}
.mtn-sum{fill:rgba(254,255,249,.8)}
.mtn-not{fill:var(--yellow-400)}
.mtn-camp text{transition:fill .4s var(--ease)}
.mtn-camp .tent{fill:#14261f;stroke:rgba(254,255,249,.5);stroke-width:2;transition:fill .4s var(--ease),stroke .4s var(--ease)}
.mtn-camp.on text{fill:var(--paper)}
.mtn-camp.on .tent{fill:var(--yellow-400);stroke:var(--yellow-400)}
.mtn-pulse{transform-box:fill-box;transform-origin:center;animation:mtnpulse 1.8s ease-in-out infinite}
@keyframes mtnpulse{0%,100%{transform:scale(.7);opacity:.35}50%{transform:scale(1.25);opacity:.08}}
#mtn-summit{transition:opacity .4s var(--ease)}
.ab-climb.top #mtn-summit .mtn-not{animation:dotblink 1.1s ease-in-out infinite}
@keyframes dotblink{0%,100%{opacity:1}50%{opacity:.25}}
.ab-alt{position:absolute;left:0;top:24px;display:flex;flex-direction:column;gap:2px;background:rgba(20,36,29,.82);border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:10px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ab-alt span{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted)}
.ab-alt b{font-family:var(--font-display);font-size:1.35rem;color:var(--yellow-400);line-height:1.1}

.ab-steps{grid-column:1;grid-row:1;list-style:none;margin:0;padding:12vh 0 18vh;display:flex;flex-direction:column}
.ab-step{min-height:78vh;min-height:78svh;display:flex;flex-direction:column;justify-content:center;gap:14px;max-width:560px;opacity:.22;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ab-step.on{opacity:1;transform:none}
.ab-num{font-family:var(--font-mono);font-size:var(--t-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow-400)}
.ab-step h2{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.02}
.ab-step p{font-size:var(--t-lead);line-height:1.55;color:var(--on-dark-muted)}
.ab-stat{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.ab-stat b{font-family:var(--font-display);font-size:clamp(2.6rem,4.6vw,3.8rem);line-height:.9;color:var(--yellow-400);flex:none}
.ab-stat span{font-size:var(--t-body);line-height:1.35;color:var(--paper);max-width:260px}
.ab-certs{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ab-certs li{display:flex;flex-direction:column;gap:1px;padding:8px 12px;border-radius:var(--r-md);border:1px solid rgba(255,223,109,.35);background:rgba(255,223,109,.06)}
.ab-certs b{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--yellow-400);font-weight:500}
.ab-certs span{font-size:var(--t-xs);color:var(--on-dark-muted)}

.ab-crew{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.ab-crew-lab{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow-400)}
.ab-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ab-logo{aspect-ratio:16/9;display:grid;place-items:center;padding:8px;border-radius:var(--r-md);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line-dark);opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease),border-color .2s var(--ease)}
.ab-logo img{display:block;max-width:var(--w,60%);max-height:52%;width:auto;height:auto;filter:brightness(0) invert(1);opacity:.85}
.ab-logo:hover{border-color:var(--yellow-400)}
.ab-step.on .ab-logo{opacity:1;transform:none}
.ab-step.on .ab-logo:nth-child(1){transition-delay:0.05s}.ab-step.on .ab-logo:nth-child(2){transition-delay:0.10s}.ab-step.on .ab-logo:nth-child(3){transition-delay:0.15s}.ab-step.on .ab-logo:nth-child(4){transition-delay:0.20s}.ab-step.on .ab-logo:nth-child(5){transition-delay:0.25s}.ab-step.on .ab-logo:nth-child(6){transition-delay:0.30s}.ab-step.on .ab-logo:nth-child(7){transition-delay:0.35s}.ab-step.on .ab-logo:nth-child(8){transition-delay:0.40s}.ab-step.on .ab-logo:nth-child(9){transition-delay:0.45s}.ab-step.on .ab-logo:nth-child(10){transition-delay:0.50s}.ab-step.on .ab-logo:nth-child(11){transition-delay:0.55s}.ab-step.on .ab-logo:nth-child(12){transition-delay:0.60s}
.ab-values{padding:clamp(64px,10vh,110px) 0;border-top:1px solid var(--line-dark)}
.ab-values h2{margin-top:12px;font-size:clamp(2rem,4vw,3.2rem);max-width:760px}
.ab-cards{margin-top:clamp(28px,4vw,48px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-card{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.4vw,30px);border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line-dark);transition:border-color .2s var(--ease),transform .2s var(--ease)}
.ab-card:hover{border-color:var(--yellow-400);transform:translateY(-3px)}
.ab-icon{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.14em;color:var(--ink);background:var(--yellow-400);border-radius:var(--r-pill);padding:4px 10px;align-self:flex-start}
.ab-card h3{font-size:1.5rem}
.ab-card p{color:var(--on-dark-muted);line-height:1.55}
.ab-cta{padding:clamp(72px,12vh,130px) 0;background:radial-gradient(ellipse 80% 90% at 85% 0%,#2f5c49 0%,var(--green-700) 45%,var(--green-900) 100%)}
.ab-cta-in{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ab-cta h2{font-size:clamp(2.6rem,6vw,5rem);line-height:.98}
.ab-cta p{font-size:var(--t-lead);color:var(--on-dark-muted)}

@media (max-width:899px){
  .ab-climb{grid-template-columns:minmax(0,1fr);padding:0 16px}
  .ab-mtn{grid-column:1;grid-row:1;z-index:2;height:44svh;height:44vh;padding:10px 0 0;background:linear-gradient(var(--green-950) 82%,rgba(24,43,35,0));align-self:start}
  .ab-alt{top:10px;padding:8px 12px}
  .ab-alt b{font-size:1.1rem}
  .ab-steps{grid-row:2;padding:4vh 0 30vh}
  .ab-step{min-height:62svh;min-height:62vh;justify-content:flex-start;padding-top:2vh}
  .ab-step h2{font-size:clamp(1.8rem,8vw,2.4rem)}
  .ab-step p{font-size:var(--t-body)}
  .ab-cards{grid-template-columns:minmax(0,1fr)}
  .ab-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .ab-stat{flex-direction:column;gap:6px}
  .ab-cta .cta-row .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .ab-step{opacity:1;transform:none;transition:none}
  .ab-logo{opacity:1;transform:none;transition:none}
  .mtn-pulse,.ab-down i::after,.ab-climb.top #mtn-summit .mtn-not{animation:none}
}
