/* Warm forest palette and a single sliding navigation plane. */
:root{--forest:#293d35;--forest-deep:#203129;--linen:#f5f4ef;--sand:#e7e2d8;--panel-width:min(62vw,880px);--menu-ease:cubic-bezier(.25,.8,.25,1)}body{background:var(--linen)}.menu-toggle,.menu-toggle:hover{background:var(--forest);color:var(--linen);box-shadow:none}.menu-toggle span,.menu-toggle:hover span{color:var(--linen)}.menu-toggle{border:1px solid #ffffff25;transition:background .2s}.menu-toggle:hover{background:var(--forest-deep)}.story-change{background:var(--sand);color:var(--ink)}.story-contact,.contact-cta{background:var(--forest);color:var(--linen)}.story-contact h2,.contact-cta h2{color:var(--linen)}.story-contact p,.contact-cta p{color:#e7e2d8}.story-contact .arrow-link,.contact-cta .arrow-link{color:var(--linen);border-color:#d5cfc1}.story-contact .arrow-link:hover,.contact-cta .arrow-link:hover{color:var(--linen);border-color:var(--linen)}.filters button[aria-pressed=true],.solid-button,.solid-button:hover{background:var(--forest);border-color:var(--forest);color:var(--linen)}.phase-label{color:var(--forest);border-color:#a5aa9f}.source-credo,.studio-services,.process{background:var(--sand)}
/* The panel and the page move together. No expanding clip, no staggered links. */
header nav,header nav.open{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;position:fixed;top:0;right:0;bottom:0;left:auto;width:var(--panel-width);height:100dvh;max-height:none;margin:0;padding:110px clamp(35px,6vw,95px) 42px;background:var(--forest);color:var(--linen);border:0;box-shadow:none;clip-path:none;transform:translateX(100%);visibility:hidden;pointer-events:none;overflow-y:auto;overscroll-behavior:contain;transition:transform .65s var(--menu-ease),visibility 0s .65s}header nav.open{transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}header nav .menu-identity{display:none}header nav .menu-links,header nav .menu-contact,header nav.open .menu-links,header nav.open .menu-contact{opacity:1;transform:none;transition:none}.menu-links{align-self:stretch;margin:auto 0}.menu-contact{margin-top:35px;padding-top:24px;border-top:1px solid #ffffff35;flex-direction:column;gap:9px;flex-shrink:0}header nav .menu-links a{color:var(--linen);font-weight:300;line-height:1.2;letter-spacing:-.045em;padding:12px 0;border:0;transition:opacity .2s}header nav .menu-links a[aria-current=page]{color:var(--linen);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:10px}header nav .menu-links a:hover{color:var(--linen);opacity:.7}header nav .menu-links a:after{display:none}header nav .menu-contact a,header nav .menu-contact a:hover{color:var(--linen);border:0;text-decoration:none;padding:0;line-height:1.5}.menu-contact a:hover{text-decoration:underline!important}.menu-backdrop{background:rgba(24,34,28,.14);transition:opacity .65s var(--menu-ease),visibility 0s .65s}.menu-is-open .menu-backdrop{transition-delay:0s}main,footer{transition:transform .65s var(--menu-ease);transform:translateX(0)}.menu-is-open main,.menu-is-open footer{transform:translateX(-12vw)}header .brand{transition:transform .65s var(--menu-ease)}.menu-is-open header .brand{transform:translateX(-12vw)}body{overflow-x:clip}.menu-toggle span{transition:transform .35s var(--menu-ease)}header nav a:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--linen);outline-offset:6px}.source-palette>div{background:transparent!important;border:1px solid currentColor}
@media(max-width:700px){:root{--panel-width:92vw}header nav,header nav.open{top:0;right:0;bottom:0;left:auto;width:var(--panel-width);height:100dvh;max-height:none;padding:100px 32px max(30px,env(safe-area-inset-bottom));gap:0;clip-path:none;grid-template-columns:none;grid-template-rows:none}header nav .menu-links a{padding:12px 0;line-height:1.2}.menu-contact{margin-top:30px;padding-top:20px;gap:12px}header nav .menu-contact a{overflow-wrap:anywhere}.menu-is-open main,.menu-is-open footer,.menu-is-open header .brand{transform:translateX(-18vw)}.story-contact h2{color:var(--linen)}}
@media(max-height:600px){header nav,header nav.open{padding-top:80px;padding-bottom:25px}header nav .menu-links a{padding-block:7px}.menu-contact{margin-top:20px;padding-top:15px}}
@media(prefers-reduced-motion:reduce){header nav,header nav.open,main,footer,header .brand,.menu-backdrop,.menu-toggle span{transition:none!important}}
