:root{--ink:#0b0b0d;--ink-2:#101014;--bone:#e8e4dc;--ash:#736e78;--accent:#7a5260;--rule:#232128;--display:"Bodoni Moda", serif;--sans:"Jost", system-ui, sans-serif;--spine-left:clamp(20px, 6vw, 88px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--bone);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;overflow-x:hidden}::selection{background:var(--accent);color:var(--bone)}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,6vw,88px)}.spine{left:var(--spine-left);background:var(--rule);z-index:2;pointer-events:none;width:1px;position:fixed;top:0;bottom:0}.spine:after{content:"";width:1px;height:var(--progress,0%);background:linear-gradient(180deg,transparent,var(--accent) 22%,var(--bone));position:absolute;top:0;left:0}.spine-dot{left:calc(var(--spine-left) - 3px);background:var(--bone);z-index:3;pointer-events:none;border-radius:50%;width:7px;height:7px;transition:transform .5s cubic-bezier(.2,.8,.2,1),background .5s;position:fixed;top:50vh}.spine-dot.node{background:var(--accent);transform:scale(1.9)}.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--ash);margin:0;font-size:11px;font-weight:400}.display{font-family:var(--display);letter-spacing:-.015em;margin:0;font-weight:400;line-height:.94}.lede{color:#b9b4bd;max-width:46ch;font-size:clamp(16px,2vw,19px);font-weight:300;line-height:1.65}.hero{flex-direction:column;justify-content:center;min-height:100svh;padding-top:14vh;padding-bottom:14vh;display:flex;position:relative}.hero .eyebrow{margin-bottom:clamp(28px,7vh,64px)}.hero-title{font-size:clamp(56px,13.5vw,190px)}.hero-title .thin{color:var(--accent);font-style:italic;font-weight:400}.hero-sub{flex-wrap:wrap;align-items:baseline;gap:10px 26px;margin-top:clamp(32px,6vh,60px);display:flex}.hero-sub p{margin:0}.scrollcue{letter-spacing:.3em;text-transform:uppercase;color:var(--ash);align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:clamp(24px,5vh,48px);left:clamp(20px,6vw,88px)}.scrollcue span{background:var(--rule);width:44px;height:1px;display:block;position:relative;overflow:hidden}.scrollcue span:after{content:"";background:var(--bone);animation:2.6s cubic-bezier(.6,0,.2,1) infinite sweep;position:absolute;inset:0}@keyframes sweep{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.movement{border-top:1px solid var(--rule);align-items:center;min-height:100svh;padding:16vh 0;display:flex}.movement:nth-child(2n){background:var(--ink-2)}.movement-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,7vw,96px);width:100%;display:grid}.plate{aspect-ratio:3/4;border:1px solid var(--rule);background:var(--ink-2);margin:clamp(28px,4vh,44px) 0 0;position:relative;overflow:hidden}.plate img{object-fit:cover;filter:grayscale()contrast(1.15)brightness(.72);width:100%;height:100%;transition:transform 1.6s cubic-bezier(.2,.8,.2,1),filter 1.6s;display:block;transform:scale(1.06)}.plate:after{content:"";background:linear-gradient(180deg, #0b0b0d26, #0b0b0dbf), var(--accent);mix-blend-mode:multiply;opacity:.55;pointer-events:none;position:absolute;inset:0}.reveal.in .plate img,.plate.in img{filter:grayscale()contrast(1.05)brightness(.8);transform:scale(1)}.numeral{font-family:var(--display);color:var(--accent);margin:0 0 20px;font-size:clamp(40px,6vw,76px);line-height:1}.movement h2{font-family:var(--display);margin:0 0 26px;font-size:clamp(38px,6.5vw,84px);font-weight:400;line-height:1}.meta{border-top:1px solid var(--rule);letter-spacing:.16em;text-transform:uppercase;color:var(--ash);flex-wrap:wrap;gap:28px;margin-top:36px;padding-top:18px;font-size:12px;display:flex}.choose{border-top:1px solid var(--rule);padding-top:18vh;padding-bottom:14vh}.choose h2{font-family:var(--display);margin:22px 0 26px;font-size:clamp(38px,7vw,92px);font-weight:400;line-height:1}.weekends{border-top:1px solid var(--rule);margin:clamp(48px,9vh,88px) 0 0;padding:0;list-style:none}.weekend{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:baseline;gap:clamp(16px,4vw,48px);padding:clamp(22px,3.4vh,34px) 0;transition:padding-left .45s cubic-bezier(.2,.8,.2,1),color .45s;display:grid}.weekend:hover{padding-left:16px}.weekend-date{font-family:var(--display);white-space:nowrap;font-size:clamp(24px,3.6vw,40px);line-height:1}.weekend-season{letter-spacing:.28em;text-transform:uppercase;color:var(--ash);font-size:11px}.weekend-note{color:#9a949f;text-align:right;max-width:34ch;font-size:13px;line-height:1.5}.weekend:hover .weekend-date{color:var(--accent)}.cta-row{flex-wrap:wrap;align-items:center;gap:24px 40px;margin-top:clamp(56px,10vh,104px);display:flex}.cta{border:1px solid var(--bone);color:var(--bone);letter-spacing:.26em;text-transform:uppercase;align-items:center;gap:18px;padding:20px 34px;font-size:12px;text-decoration:none;transition:color .5s;display:inline-flex;position:relative;overflow:hidden}.cta span{z-index:1;position:relative}.cta:before{content:"";background:var(--bone);transition:transform .55s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translateY(101%)}.cta:hover{color:var(--ink)}.cta:hover:before{transform:translateY(0)}.cta:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.cta-note{color:var(--ash);max-width:32ch;font-size:13px;line-height:1.6}footer{border-top:1px solid var(--rule);letter-spacing:.24em;text-transform:uppercase;color:var(--ash);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:60px;padding-bottom:80px;font-size:11px;display:flex}.reveal{opacity:0;transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}@media (width<=760px){.movement-grid{grid-template-columns:1fr;gap:24px}.plate{aspect-ratio:16/10;margin-top:20px}.weekend{grid-template-columns:1fr;gap:8px}.weekend-note{text-align:left}.spine,.spine-dot{display:none}}@media (prefers-reduced-motion:reduce){.plate img{transition:none;transform:none}html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.scrollcue span:after{animation:none}.spine-dot{transition:none}}
