/* VELUM motion edition.
   Chapter score: curtain intro / hero char reveal + photo wipe / statement filled word by word /
   pinned photographic film (day -> evening -> night, camera push) / light room aperture / cards dealt /
   architecture mat wipe / rules drawing / accordion / arrival. Static and reduced-motion states are complete. */
:root{--mk-curtain:#23333e;--mk-curtain-ink:#d5e3ed;--mk-curtain-font:Bricolage,Arial,sans-serif;--mk-cursor:#fff;--mk-cursor-solid:rgba(35,51,62,.9);--mk-cursor-label:#edf0ee;--mk-grain:.05}
.mk-cursor:not(.is-label){mix-blend-mode:difference}
body{overflow-anchor:none}

/* ---------- Light journey: base (no JS / reduced motion) shows the composed night still ---------- */
.light-journey{background:#162a37;color:#edf0ee;position:relative}
.journey-pin{position:relative;overflow:hidden;isolation:isolate}
.journey-visual{position:relative;width:100%;aspect-ratio:3/2;max-height:78svh;overflow:hidden;background:#142230}
.journey-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 60% 50%,transparent 55%,rgba(10,18,26,.45) 100%);z-index:3}
.jv-frame{position:absolute;left:0;top:50%;width:100%;aspect-ratio:3/2;transform:translateY(-50%);transform-origin:72% 40%}
.jv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.jv-layer{position:absolute;inset:0;pointer-events:none;opacity:0}
.jv-daygrade{background:#dbe9f3;mix-blend-mode:soft-light}
.jv-sun{inset:0 -45%;background:linear-gradient(112deg,transparent 0 16%,rgba(255,247,228,.5) 24%,transparent 33%,transparent 41%,rgba(255,247,228,.36) 47%,transparent 55%,transparent 63%,rgba(255,247,228,.22) 68%,transparent 75%);mix-blend-mode:screen}
.jv-lampcool{background:radial-gradient(ellipse 14% 10% at 75% 46%,#aebfca 0%,rgba(174,191,202,.7) 45%,rgba(174,191,202,0) 100%);mix-blend-mode:color}
.jv-dusk{background:linear-gradient(180deg,#eaa873 0%,#c9714c 58%,#6a3a32 100%);mix-blend-mode:multiply}
.jv-sunset{background:radial-gradient(ellipse 58% 78% at 6% 38%,rgba(255,164,92,.8),rgba(255,140,80,0) 70%);mix-blend-mode:screen}
.jv-night{background:radial-gradient(ellipse 16% 22% at 75% 45%,rgba(20,34,48,0) 0%,rgba(20,34,48,0) 32%,rgba(20,34,48,.82) 66%,#142230 100%);mix-blend-mode:multiply}
.jv-glow{background:radial-gradient(ellipse 25% 31% at 75% 45%,rgba(255,186,112,.58) 0%,rgba(255,160,90,.22) 42%,rgba(255,150,80,0) 72%);mix-blend-mode:screen}
.jv-pool{background:radial-gradient(ellipse 23% 8% at 68% 66%,rgba(255,196,130,.62) 0%,rgba(255,180,110,0) 72%);mix-blend-mode:screen}
.jv-door{background:radial-gradient(ellipse 4.5% 6.5% at 47% 53%,rgba(255,184,110,.55),rgba(255,170,100,0) 72%);mix-blend-mode:screen}
.jv-night{opacity:.92}.jv-glow{opacity:.95}.jv-pool{opacity:.8}.jv-door{opacity:.75}
.jv-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}
.jv-scrim{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2;background:linear-gradient(90deg,rgba(11,20,28,.74) 0%,rgba(11,20,28,.38) 30%,rgba(11,20,28,0) 54%),linear-gradient(0deg,rgba(11,20,28,.55) 0%,rgba(11,20,28,0) 24%)}
.journey-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px var(--pad);font-size:13px;position:relative;z-index:4}
.journey-clock{display:none}
.journey-index{opacity:.6;font-size:12px}.journey-index b{font-weight:400}
.journey-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;padding:30px var(--pad) 45px;position:relative;z-index:4}
.journey-beat{min-width:0}.journey-kicker{font-size:12px;margin-bottom:22px;opacity:.75}
.journey-beat h2{font-family:var(--display);font-weight:500;font-size:clamp(45px,5.8vw,82px);line-height:.94;letter-spacing:-.065em}
.journey-beat>p:last-child{font-size:15px;line-height:1.65;margin-top:27px;max-width:310px;opacity:.8}
.journey-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px var(--pad);position:relative;z-index:4}
.journey-phases{display:flex;list-style:none;gap:24px;padding:0;margin:0;font-size:12px}
.journey-phases li{opacity:.42;position:relative;transition:opacity .5s}
.journey-phases li:before{content:'';display:block;width:5px;height:5px;background:currentColor;border-radius:50%;position:absolute;left:50%;top:-13px;transform:translateX(-50%) scale(0);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.journey-phases .active{opacity:1}.journey-phases .active:before{transform:translateX(-50%) scale(1)}
.journey-bottom>a{font-size:13px;display:flex;align-items:center;gap:22px}.journey-bottom>a span{font-size:23px;transition:transform .4s cubic-bezier(.16,1,.3,1)}.journey-bottom>a:hover span{transform:translate(3px,-3px)}
.journey-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(239,240,238,.12);z-index:5;display:none}
.journey-progress i{display:block;height:100%;background:currentColor;transform:scaleX(0);transform-origin:left}

/* ---------- Motion mode: the same room becomes a pinned film ---------- */
.mk-motion .light-journey{height:420svh;background:#142230}
.mk-motion .journey-pin{position:sticky;top:0;height:100svh;color:var(--j-ink,#23333e)}
.mk-motion .journey-visual{position:absolute;inset:0;aspect-ratio:auto;max-height:none}
.mk-motion .jv-frame{left:0;top:0;width:100%;height:100%;aspect-ratio:auto;transform:none;will-change:transform}
.mk-motion .jv-layer{will-change:opacity}
.mk-motion .jv-dust{display:block}
.mk-motion .journey-visual{background:#7b8d9d}
.light-journey.is-portrait .jv-frame{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%);mask-image:linear-gradient(180deg,transparent 0,#000 30%)}
.mk-motion .journey-top{position:absolute;left:0;right:0;top:0;padding-top:34px}
.mk-motion .journey-clock{display:flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:12px}
.mk-motion .journey-clock b{font-weight:500}
.mk-motion .journey-clock i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8;animation:velum-tick 2s ease-in-out infinite}
@keyframes velum-tick{0%,100%{opacity:.25}50%{opacity:.9}}
.mk-motion .journey-copy{position:absolute;left:var(--pad);top:25%;padding:0;width:min(36%,560px);display:block;pointer-events:none}
.mk-motion .journey-beat{position:absolute;top:0;left:0;width:100%}
.mk-motion .journey-beat h2{font-size:clamp(51px,min(8.4vw,13svh),128px)}
.mk-motion .journey-beat>p:last-child{font-size:clamp(13px,1.2vw,17px);margin-top:28px;line-height:1.65}
.mk-motion .journey-bottom{position:absolute;left:0;right:0;bottom:0;padding-bottom:34px}
.mk-motion .journey-progress{display:block;background:color-mix(in srgb,currentColor 14%,transparent)}

/* ---------- Hero + details ---------- */
.mk-motion .hero-copy,.mk-motion .hero-media{animation:none}
.mk-motion .hero-media img{transition:none}
.hero-media-inner{display:block;height:100%;will-change:transform}
.mk-motion .hero-wordmark .mk-char{will-change:transform}
.round-link span{display:inline-block}
.mk-motion .round-link span{animation:velum-nudge 2.4s cubic-bezier(.45,0,.55,1) infinite}
@keyframes velum-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
.mk-motion .light-handle{animation:velum-pulse 2.6s cubic-bezier(.2,.6,.3,1) infinite}
@keyframes velum-pulse{0%{box-shadow:0 0 0 0 rgba(255,231,193,.42)}70%,100%{box-shadow:0 0 0 24px rgba(255,231,193,0)}}
.mk-motion .room-layout{will-change:clip-path}
.mk-motion .architecture-image img{will-change:transform}
.mk-motion .intro-statement .mk-fill{transition:none}

@media(max-width:1000px){.mk-motion .journey-copy{width:40%;top:24%}.mk-motion .journey-beat>p:last-child{font-size:14px;max-width:265px}.journey-phases{gap:21px}}
@media(max-height:600px) and (min-width:701px){.mk-motion .journey-top{padding-top:22px}.mk-motion .journey-copy{top:21%}.mk-motion .journey-kicker{margin-bottom:14px;font-size:11px}.mk-motion .journey-beat h2{font-size:clamp(44px,11.5svh,67px)}.mk-motion .journey-beat>p:last-child{font-size:12px;line-height:1.5;margin-top:16px}.mk-motion .journey-bottom{padding-bottom:22px}.journey-bottom>a{font-size:12px}}
@media(max-width:700px){
  .journey-visual{max-height:none}
  .journey-copy{grid-template-columns:1fr;gap:40px}
  .journey-top{font-size:11px;padding-top:25px;padding-bottom:15px}
  .journey-beat h2{font-size:54px}.journey-kicker{margin-bottom:16px}.journey-beat>p:last-child{font-size:14px;margin-top:18px}
  .journey-bottom{flex-wrap:wrap;padding-top:20px;gap:25px}.journey-bottom>a{font-size:12px;gap:15px}.journey-phases{font-size:11px;gap:21px}
  .jv-scrim{background:linear-gradient(180deg,rgba(11,20,28,.72) 0%,rgba(11,20,28,.36) 38%,rgba(11,20,28,0) 58%),linear-gradient(0deg,rgba(11,20,28,.6) 0%,rgba(11,20,28,0) 22%)}
  .mk-motion .light-journey{height:360svh}
  .mk-motion .journey-top{padding-top:22px;font-size:10px}
  .mk-motion .journey-clock{font-size:10px;gap:7px}
  .mk-motion .journey-copy{left:var(--pad);top:12%;width:calc(100% - var(--pad)*2)}
  .mk-motion .journey-beat h2{font-size:clamp(46px,min(15vw,9.4svh),72px);line-height:.92}
  .mk-motion .journey-kicker{font-size:10px;margin-bottom:14px}
  .mk-motion .journey-beat>p:last-child{font-size:12px;line-height:1.55;margin-top:16px;max-width:245px}
  .mk-motion .journey-bottom{padding-bottom:26px;flex-wrap:nowrap;gap:15px}
  .mk-motion .journey-bottom>a{font-size:10px;gap:8px}.mk-motion .journey-bottom>a span{font-size:19px}
  .mk-motion .journey-phases{font-size:10px;gap:16px}
}
@media(max-width:359px){.mk-motion .journey-top{font-size:9px}.mk-motion .journey-clock{display:none}.mk-motion .journey-beat h2{font-size:46px}.mk-motion .journey-beat>p:last-child{font-size:11px;margin-top:14px}.mk-motion .journey-bottom{gap:10px}.mk-motion .journey-bottom>a{font-size:9px;gap:6px}.mk-motion .journey-phases{font-size:9px;gap:14px}}
@media(prefers-reduced-motion:reduce){.light-journey{height:auto!important}.journey-pin{position:relative!important;height:auto!important}.round-link span,.light-handle{animation:none!important}}
