@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Manrope:wght@400;500;600&display=swap');
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}.site-shell{width:min(100%,var(--max));margin:auto;padding-inline:var(--pad)}.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.display{font-family:var(--serif);font-weight:400;line-height:.88;letter-spacing:-.035em}.section{padding-block:var(--section)}.section-rule{border-top:1px solid var(--line)}.muted{color:var(--muted)}.serif{font-family:var(--serif)}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--ink);color:var(--white);padding:.7rem 1rem;z-index:999}.skip-link:focus{top:1rem}.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.page-intro{padding-top:clamp(8rem,14vw,12rem);padding-bottom:4rem}.page-intro h1{font-size:clamp(4rem,11vw,10rem);max-width:11ch}.page-intro .intro-copy{max-width:42rem;margin-top:2rem;font-size:clamp(1rem,1.7vw,1.3rem)}.footer{padding:3rem 0 2rem;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer-brand{font-family:var(--serif);font-size:2rem}.footer small{color:var(--muted)}

/* --- Motion & finish layer --- */
html{background:var(--ink)}
body{transition:background-color .4s ease}
body.is-transitioning{pointer-events:none}
::selection{background:var(--ink);color:var(--white)}

.page-transition{position:fixed;inset:0;z-index:9998;background:var(--ink);transform:translateY(0);transform-origin:bottom;pointer-events:none;transition:transform .85s var(--ease)}
body.is-ready .page-transition{transform:translateY(-102%)}
body.is-leaving .page-transition{transform:translateY(0);transform-origin:top}

.reveal{will-change:opacity,transform;transition-delay:var(--reveal-delay,0ms)}
.reveal[data-reveal="left"]{transform:translateX(-24px)}
.reveal[data-reveal="right"]{transform:translateX(24px)}
.reveal[data-reveal="scale"]{transform:scale(.975)}
.reveal.is-visible{transform:none}

.image-reveal{position:relative;overflow:hidden}
.image-reveal::after{content:"";position:absolute;inset:-1px;background:var(--bg);z-index:2;transform:scaleY(1);transform-origin:top;transition:transform 1.15s var(--ease);pointer-events:none}
.image-reveal.is-image-visible::after{transform:scaleY(0);transform-origin:bottom}
.image-reveal img{will-change:transform}

[data-parallax]{transform:translate3d(0,var(--parallax-y,0),0) scale(1.035)}

.footer-brand,.brand{transition:letter-spacing .45s var(--ease)}
.brand:hover,.footer-brand:hover{letter-spacing:.055em}

@media (prefers-reduced-motion:reduce){.page-transition{display:none}.reveal{opacity:1!important;transform:none!important}.image-reveal::after{display:none}[data-parallax]{transform:none!important}}
