/* Photography and motion: an editorial opening, composed for small screens too. */
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--gold);z-index:50;transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{padding-top:48px}.hero-label{margin-bottom:30px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.hero-copy h1{font-size:clamp(62px,6.6vw,94px);line-height:1.03;letter-spacing:-.065em;margin:0 0 28px;position:relative;z-index:2}.title-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.title-line>span,.title-line>em{display:block;animation:title-rise 1.05s cubic-bezier(.16,1,.3,1) both}.title-line:nth-child(2)>span{animation-delay:.12s}.title-line:nth-child(3)>em{animation-delay:.24s}.hero-copy>p{font-size:17px;max-width:395px;color:var(--muted);margin:0 0 30px;animation:soft-rise 1s .45s both}.hero-copy>.button{animation:soft-rise 1s .55s both}.hero-visual{margin:0;min-width:0;animation:photo-open 1.6s cubic-bezier(.16,1,.3,1) both}.photo-window{height:510px;position:relative;isolation:isolate;overflow:hidden;transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease-out}.city-photo{display:block;width:100%;height:calc(100% + 100px);object-fit:cover;object-position:50% 44%;transform:translateY(calc(-50px + var(--photo-y,0px))) scale(1.06);animation:photo-settle 2.2s cubic-bezier(.16,1,.3,1) both}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,19,38,.03) 40%,rgba(3,19,38,.87) 100%);pointer-events:none}.photo-caption{position:absolute;left:28px;right:24px;bottom:35px;z-index:2}.photo-caption span{display:block;font-size:10px;letter-spacing:.2em;margin-bottom:9px;color:var(--gold)}.photo-caption strong{font-weight:400;letter-spacing:-.03em;font-size:28px;line-height:1.2}.photo-lines{position:absolute;right:20px;bottom:34px;width:65px;height:65px;opacity:.55}.photo-lines i{position:absolute;width:25px;height:1px;background:var(--gold);right:0;top:0;transform-origin:left;animation:gold-step 1.2s .7s both}.photo-lines i:nth-child(2){right:13px;top:13px;animation-delay:.82s}.photo-lines i:nth-child(3){right:26px;top:26px;animation-delay:.94s}.photo-lines i:nth-child(4){right:39px;top:39px;animation-delay:1.06s}.hero-visual figcaption{font-size:10px;letter-spacing:.07em;margin-top:13px;color:var(--muted)}.photo-credit{font-size:9px;color:#8193a6;display:inline-block}.hero-foot{margin-top:40px}.scroll-arrow{display:inline-block;animation:arrow-nudge 2.8s 1.5s infinite}.button span{transition:transform .3s}.button:hover span{transform:translateX(4px)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease var(--reveal-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.textlink{transition:color .25s}.textlink:hover{color:var(--gold)}
@keyframes title-rise{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes soft-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes photo-open{from{clip-path:inset(0 0 100% 0);transform:translateY(20px)}to{clip-path:inset(0);transform:none}}@keyframes photo-settle{from{scale:1.12}to{scale:1}}@keyframes gold-step{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes arrow-nudge{0%,75%,100%{transform:translateY(0)}85%{transform:translateY(5px)}}
@media(min-width:1400px){.hero-grid{gap:60px}.photo-window{height:540px}}
@media(max-width:1000px) and (min-width:751px){.hero-grid{gap:25px;grid-template-columns:1.1fr 1fr}.hero-copy h1{font-size:61px}.photo-window{height:450px}.photo-caption strong{font-size:23px}.photo-lines{display:none}}
@media(max-width:750px){.hero{padding-top:36px}.hero-label{margin-bottom:24px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-copy h1{font-size:clamp(53px,11vw,78px);margin:0 0 24px;letter-spacing:-.06em}.hero-copy>p{font-size:16px;max-width:430px}.photo-window{height:340px}.city-photo{object-position:50% 48%}.hero-visual{margin:0 0 0 24px}.photo-caption strong{font-size:26px}.photo-caption{left:23px;bottom:26px}.hero-visual figcaption{font-size:9px}.photo-credit{font-size:8px}.hero-foot{margin-top:30px}.photo-window{transform:none!important}}
@media(prefers-reduced-motion:reduce){.hero-visual,.title-line>span,.title-line>em,.hero-copy>p,.hero-copy>.button,.city-photo,.photo-lines i,.scroll-arrow{animation:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.photo-window,.button span{transition:none!important;transform:none!important}.city-photo{transform:translateY(-50px) scale(1.06)!important}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.metrics strong{position:relative;font-variant-numeric:tabular-nums}
.metrics strong>[aria-hidden]{font:inherit;letter-spacing:inherit}
.journey.motion-track .day{position:relative}
.journey.motion-track .day::before,.journey.motion-track .day::after{content:'';position:absolute;left:23px;top:88px;bottom:0;width:1px;pointer-events:none}
.journey.motion-track .day::before{background:rgba(200,161,90,.16)}
.journey.motion-track .day::after{background:var(--gold);transform:scaleY(var(--day-progress,0));transform-origin:top;transition:transform .18s linear}
.journey.motion-track .day:last-of-type::before,.journey.motion-track .day:last-of-type::after{bottom:25px}
.journey.motion-track .day .number{position:relative;align-self:start;transition:color .4s,text-shadow .4s}
.journey.motion-track .day.is-current .number{color:#f0d49a;text-shadow:0 0 25px rgba(200,161,90,.2)}
.journey.motion-track .day h3{transition:color .5s}
.journey.motion-track .day.is-current h3{color:#e0bc79}
.button{position:relative;transition:background .3s,box-shadow .3s,transform .3s;isolation:isolate}
.button::after{content:'';position:absolute;inset:5px;border:1px solid currentColor;opacity:0;transform:scale(.96);pointer-events:none;transition:opacity .3s,transform .4s}
.button:focus-visible::after{opacity:.45;transform:scale(1)}
.button:active{transform:translateY(0)}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(0,0,0,.12)}.button:hover::after{opacity:.38;transform:scale(1)}.button:hover span{transform:translateX(6px)}}
@media(max-width:750px){.journey.motion-track .day::before,.journey.motion-track .day::after{left:17px;top:73px;bottom:0}.journey.motion-track .day:last-of-type::before,.journey.motion-track .day:last-of-type::after{bottom:30px}}
@media(prefers-reduced-motion:reduce){.journey.motion-track .day::after{transform:scaleY(1);transition:none}.journey.motion-track .day .number,.journey.motion-track .day h3,.button,.button::after{transition:none!important}.button:hover{transform:none!important}}
