/* The copy and the horse share a grid; neither depends on absolute text offsets. */
.intro-stage{background:radial-gradient(ellipse at 68% 43%,#1c2418 0,#0d130d 44%,#080c08 82%)}
.intro-stage header{left:0;right:0;top:0;padding:35px 6vw}
.intro-stage .brand{font:600 22px/1.1 var(--sans);letter-spacing:-.045em}
.intro-stage .brand span{font:400 10px/1.5 var(--sans);letter-spacing:.14em;margin-top:9px}
.intro-stage .intro-layout{position:relative;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:2vw;min-height:100svh;padding:145px 6vw 125px;pointer-events:none}
.intro-stage .signature{position:relative;inset:auto;transform:none;width:auto;max-width:none;min-width:0;z-index:1}
.intro-stage .signature .eyebrow{max-width:none;font-size:10px;letter-spacing:.13em;line-height:1.6;margin:0 0 25px}
.intro-stage .signature h1{font:400 clamp(64px,6.5vw,126px)/1.02 var(--serif);letter-spacing:-.045em}
.intro-stage .signature h1 br{display:block}
.intro-stage .signature h1 em{font-size:1em;margin-left:0;color:var(--gold)}
.intro-stage .intro-description{font:400 clamp(16px,1.05vw,20px)/1.7 var(--sans);max-width:400px;margin:28px 0 30px;text-wrap:pretty}
.intro-stage .intro-links{gap:14px 28px;margin:0}
.intro-stage .intro-links a{font:500 14px/1.5 var(--sans);min-height:50px;gap:22px}
.intro-stage .intro-primary{padding:15px 24px;background:var(--gold);border-color:var(--gold)}
.intro-stage .intro-secondary{padding:12px 0}
.intro-stage .signature .byline{font:400 11px/1.6 var(--sans);letter-spacing:.02em;margin:25px 0 0;color:#9ca591}
.intro-stage .intro-visual{position:relative;align-self:stretch;min-width:0;min-height:300px}
.intro-stage .intro-visual .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.85;filter:saturate(.8)}
.intro-stage.loaded .intro-visual .fallback{opacity:0}
.intro-stage footer{position:absolute;bottom:24px;left:6vw;right:6vw;flex-wrap:nowrap;gap:20px}
.intro-stage .chapter-link{border:0;gap:22px;min-height:48px;font:400 12px/1.5 var(--sans);color:#bdc4b4}
.intro-stage footer #hint{display:inline;position:static;width:auto;margin:0;color:inherit;font:inherit;letter-spacing:.025em;text-align:left}
.journey .intro-stage .chapter-link span{transform:none}
.intro-stage .chapter-link .scroll-arrow,.journey .intro-stage .chapter-link .scroll-arrow{display:grid;place-items:center;width:32px;height:40px;border:1px solid #c5b58645;border-radius:20px;color:var(--gold);transition:transform .3s}
.intro-stage .chapter-link:hover .scroll-arrow{transform:translateY(4px)}
.intro-stage .actions button{font-size:12px;min-height:48px;opacity:1;color:#aab39f;padding:12px}
.intro-stage #loading{bottom:80px;font-size:12px}
@media(min-width:768px) and (max-width:1050px){
 .intro-stage .intro-layout{padding:145px 5vw 115px;grid-template-columns:1.15fr 1fr}
 .intro-stage .signature h1{font-size:clamp(58px,7vw,74px)}
 .intro-stage .intro-links{gap:9px 18px}
 .intro-stage .intro-description{max-width:330px}
}
/* Natural document flow keeps small screens and enlarged text fully reachable. */
@media(max-width:767px),(max-height:600px){
 .journey .intro-chapter{height:auto;min-height:100svh}
 .journey .intro-stage,.intro-stage{position:relative;height:auto;min-height:100svh;overflow:hidden}
 .journey .project-chapter{margin-top:0}
 .intro-stage footer{position:relative;inset:auto;margin:0;padding:20px 6vw 26px}
}
@media(max-width:767px){
 .intro-stage header{padding:24px}
 .intro-stage .brand{font-size:20px;letter-spacing:-.055em}
 .intro-stage .brand span{font-size:9px;letter-spacing:.07em;margin-top:7px}
 .intro-stage .intro-layout{min-height:0;padding:103px 24px 0;grid-template-columns:1fr;gap:25px}
 .intro-stage .intro-visual{order:-1;height:clamp(190px,29svh,300px);min-height:0;margin:0 7vw}
 .intro-stage .signature{inset:auto;width:100%;max-width:none}
 .intro-stage .signature .eyebrow{font-size:9px;letter-spacing:.09em;margin:0 0 15px}
 .intro-stage .signature h1{font-size:clamp(46px,12.7vw,85px);line-height:1.02}
 .intro-stage .intro-description{font-size:16px;line-height:1.65;max-width:400px;margin:21px 0 25px}
 .intro-stage .intro-links{gap:6px;align-items:stretch;flex-direction:column}
 .intro-stage .intro-links a{font-size:14px;justify-content:space-between}
 .intro-stage .intro-primary{padding:15px 22px;min-height:54px}
 .intro-stage .intro-secondary{align-self:flex-start;gap:24px;min-height:48px}
 .intro-stage .signature .byline{display:none}
 .intro-stage footer{padding:27px 24px 25px}
 .intro-stage .chapter-link{font-size:11px;gap:15px}
 .intro-stage #loading{top:115px;bottom:auto}
}
@media(max-width:359px){
 .intro-stage header{padding:22px 18px}
 .intro-stage .brand{font-size:18px}
 .intro-stage .brand span{font-size:8px}
 .intro-stage .intro-layout{padding-left:20px;padding-right:20px}
 .intro-stage footer{padding-left:20px;padding-right:20px}
 .intro-stage .signature h1{font-size:42px}
}
@media(min-width:768px) and (max-height:600px){
 .intro-stage .intro-layout{min-height:570px;padding-top:115px;padding-bottom:25px}
 .intro-stage .signature h1{font-size:64px}
 .intro-stage .intro-description{margin:20px 0}
}
@media(prefers-reduced-motion:reduce){.intro-stage .chapter-link .scroll-arrow{transition:none}}
