/* AscentHero — scroll journey. Stage is sticky under the 72px site header; GSAP scrubs the layers. */
.ah{position:relative;height:560vh;background:var(--bg-page)}
.ah--static{height:auto}
.ah__stage{position:sticky;top:var(--header-h-web);height:calc(100vh - var(--header-h-web));min-height:560px;padding:12px;box-sizing:border-box}
.ah--static .ah__stage{position:relative;top:0;height:calc(100vh - var(--header-h-web))}
.ah__frame{position:relative;width:100%;height:100%;overflow:hidden;border-radius:28px;background:#0a0a0a;isolation:isolate;box-shadow:0 0 0 1px rgba(247,247,243,.06)}

/* Scene layers — oversized so pointer drift never exposes an edge */
.ah-scene{position:absolute;inset:-48px;will-change:transform}
.ah-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;will-change:transform}
.ah-teach{z-index:1}
.ah-teach img{transform-origin:27% 40%;filter:saturate(1.05) contrast(1.05)}
.ah-clouds{z-index:1;visibility:hidden;opacity:0}
.ah-clouds img{transform-origin:50% 45%;filter:saturate(1.1)}
.ah-road{z-index:2;visibility:hidden;clip-path:circle(0% at 50% 42%)}
.ah-road img{transform-origin:50% 55%}
.ah-light{position:absolute;inset:0;z-index:3;visibility:hidden;opacity:0;pointer-events:none;background:radial-gradient(70% 70% at 30% 42%,#fffdf6 0%,#fff1c9 30%,#ffd98a 62%,#f2b64a 100%)}
.ah-grad{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 52%,rgba(0,0,0,.78) 100%)}
.ah__frame>.afm-noise{z-index:2}
.ah__frame>.afm-vignette{z-index:2}

/* Notch nav (PrismaHero) */
.ah-notch{position:absolute;left:50%;top:0;z-index:20;transform:translateX(-50%);display:flex;align-items:center;gap:clamp(10px,2.4vw,40px);padding:12px clamp(16px,2.6vw,36px) 13px;background:#0a0a0a;border-radius:0 0 24px 24px;box-shadow:0 1px 0 rgba(247,247,243,.06)}
.ah-notch::before,.ah-notch::after{content:"";position:absolute;top:0;width:24px;height:24px;pointer-events:none}
.ah-notch::before{left:-24px;background:radial-gradient(circle at 0 100%,transparent 23.5px,#0a0a0a 24px)}
.ah-notch::after{right:-24px;background:radial-gradient(circle at 100% 100%,transparent 23.5px,#0a0a0a 24px)}
.ah-notch__item{position:relative;display:flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;cursor:pointer;font:600 12px/1 var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:rgba(241,235,221,.62);white-space:nowrap;transition:color .3s var(--ease-out)}
.ah-notch__item:hover{color:#f1ebdd}
.ah-notch__item.is-on{color:#ffd052}
.ah-notch__item::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#ffd052;transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease-ascend)}
.ah-notch__item.is-on::after{transform:scaleX(1)}
.ah-notch__n{font:400 10px/1 var(--font-display);letter-spacing:.1em;opacity:.7}

/* Shared chapter type */
.ah-ch{position:absolute;z-index:10;color:#f1ebdd}
.ah-eyebrow{display:block;font:600 12px/1 var(--font-ui);letter-spacing:.28em;text-transform:uppercase;color:rgba(241,235,221,.75);margin-bottom:14px;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.ah-eyebrow--gold{color:#ffd052}
.ah-chip{display:inline-block;padding:9px 16px 8px;border-radius:999px;background:rgba(10,10,10,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,208,82,.25)}
.ah-lede{margin:0;font:400 clamp(14px,1.1vw,17px)/1.5 var(--font-sans);color:rgba(241,235,221,.82);max-width:380px}
.ah-verse{margin:0;font:italic 400 clamp(28px,3.6vw,58px)/1.12 var(--font-serif);color:#f7f7f3;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.ah-verse--s{font-size:clamp(20px,1.7vw,26px)}
.ah-ref{display:block;margin-top:14px;font:600 12px/1 var(--font-ui);letter-spacing:.26em;text-transform:uppercase;font-style:normal;color:#ffd052}
.ah-textlink{background:none;border:0;padding:6px 0;cursor:pointer;font:600 13px/1 var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:#f1ebdd;border-bottom:1px solid rgba(241,235,221,.4);transition:border-color .3s,color .3s}
.ah-textlink:hover{color:#ffd052;border-color:#ffd052}

/* Chapter 0 */
.ah-ch1{left:0;right:0;bottom:0;padding:0 clamp(20px,3vw,44px) clamp(16px,2vw,28px)}
.ah-ch1__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:end;gap:24px}
.ah-ch1__copy{display:flex;flex-direction:column;gap:22px;padding-bottom:clamp(14px,2.4vw,40px)}
.ah-word{margin:0;font:400 clamp(72px,14.5vw,260px)/.82 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:#f1ebdd;text-shadow:0 10px 60px rgba(0,0,0,.35)}
.ah-word .afm-words{flex-wrap:nowrap}
.ah-hint{position:absolute;z-index:12;right:11px;top:calc(50% + 76px);display:flex;flex-direction:column;align-items:center;gap:10px;font:600 10px/1 var(--font-ui);letter-spacing:.3em;text-transform:uppercase;color:rgba(241,235,221,.7)}
.ah-hint span{writing-mode:vertical-rl}
.ah-hint i{display:block;animation:hop 1.6s var(--ease-bounce) infinite;font-style:normal}

/* Chapter 1 — verse beside the zoomed Christ figure */
.ah-ch2{left:auto;right:clamp(20px,6vw,110px);top:50%;margin-top:-140px;width:min(560px,46%);visibility:hidden}

/* Chapter 2 — clouds */
.ah-fw{position:absolute;top:44%;z-index:6;pointer-events:none;visibility:hidden;color:#f7f7f3;white-space:nowrap;text-transform:uppercase}
.ah-fw--display{font-family:var(--font-display);letter-spacing:.08em;opacity:.9}
.ah-fw--outline{font-family:var(--font-display);letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(255,236,180,.75)}
.ah-fw--serif{font-family:var(--font-serif);font-style:italic;text-transform:none;color:rgba(255,246,220,.85)}
.ah-rise{position:absolute;z-index:7;left:50%;top:12%;width:clamp(120px,14vw,220px);height:clamp(120px,14vw,220px);margin-left:calc(clamp(120px,14vw,220px) / -2);visibility:hidden}
.ah-rise img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 40px rgba(255,208,82,.7))}
.ah-rise .afm-rays{inset:-120%}
.ah-ch3{inset:auto 0 9% 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;visibility:hidden}
.ah-h2{margin:0 0 6px;font:400 clamp(40px,5.8vw,96px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:#f7f7f3;text-shadow:0 6px 40px rgba(0,0,0,.4)}

/* Chapter 3 — side panel + floating rail */
.ah-side{position:absolute;z-index:12;right:clamp(16px,3vw,44px);bottom:clamp(16px,3vw,44px);width:min(440px,calc(100% - 32px));padding:28px;border-radius:22px;display:flex;flex-direction:column;gap:12px;color:#f1ebdd;visibility:hidden}
.ah-side__h{margin:0;font:400 clamp(26px,2.4vw,38px)/1.05 var(--font-display);text-transform:uppercase;letter-spacing:.02em}
.ah-rail{position:absolute;z-index:12;left:clamp(20px,3vw,48px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:20px}
.ah-rail__item{display:flex;align-items:center;gap:14px;color:#ffd052;visibility:hidden}
.ah-rail__item span{font:400 clamp(30px,3.6vw,60px)/1 var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(241,235,221,.85)}
.ah-rail__item:nth-child(2){margin-left:36px}.ah-rail__item:nth-child(3){margin-left:72px}

/* Progress rail */
.ah-progress{position:absolute;z-index:12;right:18px;top:50%;width:2px;height:120px;margin-top:-60px;background:rgba(241,235,221,.18);border-radius:2px;overflow:hidden}
.ah-progress i{position:absolute;inset:0;background:#ffd052;transform-origin:50% 0;transform:scaleY(var(--prog,0))}
.ah--static .ah-progress,.ah--static .ah-hint{display:none}

@media (max-width:860px){
  .ah-notch{gap:12px;max-width:calc(100% - 64px);overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
  .ah-notch__item{font-size:10px;letter-spacing:.14em}
  .ah-notch__n{display:none}
  .ah-ch1__grid{grid-template-columns:minmax(0,1fr)}
  .ah-word{font-size:clamp(52px,18.5vw,140px)}
  .ah-lede{max-width:none}
  .ah-side{left:16px;right:16px;width:auto;padding:22px}
  .ah-teach img{object-position:24% 50%;transform-origin:50% 40%}
  .ah-road img{object-position:50% 50%}
  .ah-ch2{left:20px;right:20px;width:auto;top:auto;bottom:12%;margin:0}
  .ah-rail{top:18%;transform:none}
  .ah-rail__item span{font-size:30px}
  .ah-progress{display:none}
}
