@font-face{font-family:ApproachNeue;src:url("assets/HelveticaNeue-Bold.ttf");font-weight:700}
.opening{padding:4vh 0 2vh}
.opening p,.label,.hint{margin:0}
.opening h1{font:700 clamp(40px,5.4vw,84px)/1.04 ApproachNeue,Arial,sans-serif;letter-spacing:-.045em;margin:10px 0 24px}
.steps{display:flex;justify-content:space-between;border-block:1px solid #bcc0bc;padding:14px 0;gap:6px}
.steps a,.contact,footer a{color:inherit}
.steps a{text-decoration:none;padding:4px;font-size:clamp(14px,1.5vw,22px)}
.steps a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.steps small,.label{font:700 12px/1.4 ApproachNeue,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.window{overflow-x:auto;scroll-snap-type:x mandatory}
.edge-frame{position:relative;isolation:isolate;--edge:clamp(22px,6vw,90px)}
.edge-frame::before,.edge-frame::after{content:"";position:absolute;inset-block:0;width:var(--edge);z-index:1;pointer-events:none;background:#fcf7ed;backdrop-filter:blur(8px);background:linear-gradient(var(--direction),#fcf7ed,transparent);mask-image:linear-gradient(var(--direction),black 20%,transparent)}
.edge-frame::before{left:0;--direction:to right}
.edge-frame::after{right:0;--direction:to left}
.edge-frame .slide{padding-inline:var(--edge)}
.track{display:flex}
.slide{flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:32px 4%;scroll-snap-align:start;box-sizing:border-box}
.slide h2{font:700 clamp(36px,4vw,64px)/1.02 ApproachNeue,Arial,sans-serif;margin:18px 0;letter-spacing:-.035em}
.slide p:not(.label){font-size:clamp(18px,1.6vw,24px);max-width:43ch;line-height:1.45}
.slide img{width:100%;height:clamp(180px,34vh,380px);object-fit:contain}
.hint{font-size:15px;text-align:right}
footer{padding:36px 0 60px;text-align:center}footer a{text-decoration:none}
@media(min-width:801px) and (min-height:540px) and (prefers-reduced-motion:no-preference){
 .animated .journey{height:350vh}
 .animated .stage{position:sticky;top:0;padding:5vh 0}
 .animated .window{overflow:clip}
 .animated .slide{min-height:60vh}
}
@media(max-width:800px){.slide{grid-template-columns:1fr;gap:12px;padding:25px 3%}.slide img{height:155px}.slide h2{font-size:37px}.steps small{display:block}.steps a{font-size:15px}.hint{margin-top:16px}}
