:root{--page-motion:800ms}.masthead nav{flex-wrap:wrap;justify-content:center}.scroll-cue{display:none}.js.home-entry .masthead{min-height:92svh;position:relative;justify-content:center;padding-top:7svh;padding-bottom:17svh;gap:28px;opacity:1;transition:none}.home-entry .logo-link{animation:logo-enter 950ms ease both}.home-entry .masthead nav{animation:logo-enter 700ms 600ms ease both}.js.home-entry .scroll-cue{position:absolute;display:flex;bottom:35px;left:50%;transform:translateX(-50%);align-items:center;gap:22px;white-space:nowrap;font-size:15px;color:var(--muted);animation:cue-enter 700ms 1100ms ease both}.scroll-cue span{font-size:24px}.js.home-entry:not(.content-ready) main,.js.home-entry:not(.content-ready) footer{opacity:0;pointer-events:none}.js.home-entry.content-ready main{animation:page-unfold var(--page-motion) ease both}.js:not(.home-entry) main{animation:page-unfold var(--page-motion) 100ms ease both;transform-origin:top center}.page-arrival .masthead .logo-link{animation:logo-enter 500ms ease both}.page-arrival .masthead nav{animation:logo-enter 500ms 100ms ease both}.js.page-leaving main{animation:none!important;opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-8px);transition:opacity 220ms ease,clip-path 240ms ease,transform 240ms ease;pointer-events:none}.page-leaving footer{opacity:0;transition:opacity 180ms ease}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:8%;align-items:start}.contact-info h2{font-size:25px;margin-bottom:20px}.contact-email{display:block;font-size:clamp(20px,2.4vw,30px);letter-spacing:-.02em;margin-bottom:22px;overflow-wrap:anywhere}.contact-info p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:25px}#contact-form label{display:flex;flex-direction:column;gap:10px;font-size:15px;margin-bottom:24px}#contact-form input,#contact-form textarea,#contact-form select,#copy-fallback{font:inherit;font-size:16px;line-height:1.6;width:100%;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid #c9c3d3;border-radius:0;min-width:0}#contact-form textarea{resize:vertical}#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus{outline:2px solid #8468a8;outline-offset:2px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-note{font-size:14px;color:var(--muted);line-height:1.8;margin-top:18px}.form-status{font-size:15px;line-height:1.8;margin-top:15px;min-height:28px}#copy-fallback{margin-top:20px}@keyframes logo-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes cue-enter{from{opacity:0}to{opacity:1}}@keyframes page-unfold{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(20px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}@media(max-width:700px){.masthead nav{gap:15px 20px}.js.home-entry .masthead{min-height:90svh;padding-top:4svh;padding-bottom:15svh;gap:24px}.js.home-entry .scroll-cue{bottom:28px}.contact-layout{grid-template-columns:1fr;gap:40px}.form-pair{grid-template-columns:1fr;gap:0}.contact-email{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-entry .logo-link,.home-entry .masthead nav,.page-arrival .masthead .logo-link,.page-arrival .masthead nav,.js.home-entry .scroll-cue,.js main{animation:none!important}.js.home-entry:not(.content-ready) main,.js.home-entry:not(.content-ready) footer{opacity:1;pointer-events:auto}.js.home-entry .masthead{min-height:60svh}.js.page-leaving main{opacity:1;clip-path:none;transform:none;transition:none}}

/* The spacer preserves layout when the original menu becomes fixed. */
.nav-anchor{height:64px;width:100%;flex-shrink:0}
.masthead .nav-anchor nav{height:64px;box-sizing:border-box;align-items:center;padding:10px 20px;border-bottom:1px solid transparent;flex-wrap:nowrap}
.menu-pinned .masthead .nav-anchor nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;background:var(--paper);border-bottom-color:var(--line);box-shadow:0 3px 12px #34334408;animation:none;opacity:1;transform:none}
html{scroll-padding-top:84px}
@media(max-width:700px){.masthead .nav-anchor nav{gap:clamp(10px,3vw,20px);padding:10px 12px;font-size:15px}.masthead .nav-anchor nav a{white-space:nowrap}}
