:root{--navy:#1b2e46;--gold:#f6cf55;--ivory:#f5f1e8;--slate:#697685;--white:#fff;--page-pad:clamp(1.5rem, 5vw, 4.5rem);--measure:68rem;--hairline:color-mix(in srgb, var(--navy) 12%, transparent)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{min-height:100%;margin:0}body:has(.stage){height:100svh;overflow:hidden}.stage{scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100svh;overflow:hidden auto}.stage .hero,.stage .panel{scroll-snap-align:start;scroll-snap-stop:always;height:100svh;min-height:100svh;max-height:100svh}.stage main{display:contents}body{font-family:var(--font-text,system-ui, sans-serif);color:var(--navy);background:var(--navy);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.6}img,svg{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.skip-link{left:var(--page-pad);z-index:20;background:var(--gold);color:var(--navy);font-family:var(--font-text);padding:.4rem .7rem;font-size:.85rem;text-decoration:none;position:absolute;top:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.hero{min-height:100svh;padding:4rem var(--page-pad) 6.5rem;background:var(--navy);color:var(--ivory);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero-inner{flex-direction:column;align-items:center;gap:2.6rem;width:min(100%,62rem);display:flex}.hero-logo{width:min(100%,56rem);color:var(--gold)}.hero-logo img{width:100%}.hero-slogan{max-width:36rem;color:var(--ivory);font-family:var(--font-display);letter-spacing:.08em;text-align:center;margin:0;font-size:clamp(.95rem,2.1vw,1.15rem);font-weight:300;line-height:1.7}.hero-nav{justify-content:center;gap:1.75rem;display:flex;position:absolute;bottom:1.8rem;left:0;right:0}.hero-nav a{color:var(--gold);font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;font-size:.78rem;font-weight:400;text-decoration:none}.hero-nav a:hover{color:var(--ivory)}.brand-mark{flex-shrink:0;width:min(100%,14.5rem);display:block}.brand-mark img{width:100%}.panel{background:var(--ivory);color:var(--navy);flex-direction:column;display:flex;position:relative}.panel-mark{top:1.35rem;left:var(--page-pad);z-index:2;position:absolute}.panel-inner{width:min(100%, var(--measure));padding:5.5rem var(--page-pad);margin:0 auto}.stage .panel-inner{flex-direction:column;flex:auto;justify-content:center;min-height:0;display:flex;overflow:auto}.stage .panel .site-footer{flex-shrink:0}.section-label{color:var(--slate);font-family:var(--font-display);letter-spacing:.32em;text-transform:uppercase;margin:0 0 .85rem;font-size:.72rem;font-weight:400}.section-title{font-family:var(--font-display);letter-spacing:.04em;margin:0 0 1rem;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:300;line-height:1.25}.section-copy{max-width:38rem;color:var(--slate);margin:0 0 2.5rem;font-size:1.02rem}.section-copy a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:.18em}.project-grid,.article-list{gap:1rem;display:grid}.project-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.project-card,.article-card,.empty-state{border:1px solid var(--hairline);background:color-mix(in srgb, var(--white) 70%, var(--ivory));text-decoration:none}.project-card,.empty-state{padding:1.4rem 1.45rem 1.3rem}.project-card{flex-direction:column;gap:.7rem;min-height:10.5rem;transition:border-color .16s;display:flex}.project-card:hover{border-color:color-mix(in srgb, var(--gold) 70%, var(--navy))}.project-card h3,.article-card h3{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-size:1.15rem;font-weight:400}.project-card p,.article-card p{color:var(--slate);margin:0;font-size:.95rem}.project-card p{flex:1}.project-meta{color:var(--slate);letter-spacing:.04em;gap:1rem;font-size:.78rem;display:flex}.empty-state{color:var(--slate);grid-column:1/-1}.empty-state a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:.18em}.article-card{gap:.45rem 1.5rem;padding:1.35rem 1.4rem;transition:border-color .16s;display:grid}.article-card:hover{border-color:color-mix(in srgb, var(--gold) 70%, var(--navy))}.article-card time{color:var(--slate);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.site-footer{padding:2rem var(--page-pad) 2.4rem;background:var(--navy);color:color-mix(in srgb, var(--ivory) 72%, transparent)}.site-footer-inner{width:min(100%, var(--measure));grid-template-columns:1fr auto 1fr;align-items:center;gap:.85rem 1.5rem;margin:0 auto;font-size:.88rem;display:grid}.footer-legal{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;justify-self:start;font-size:.72rem}.footer-globe{justify-self:center;display:flex}.footer-globe img{width:2.1rem;height:2.1rem}.footer-icons{justify-self:end;align-items:center;gap:1.1rem;display:flex}.site-footer a{color:var(--ivory);text-decoration:none}.site-footer a:hover{color:var(--gold)}.footer-icons a{color:var(--ivory);display:flex}.footer-icons svg{width:1.2rem;height:1.2rem}.article-page{background:var(--ivory);min-height:100svh;position:relative}.article-header,.article-body{width:min(100%,46rem);padding-left:var(--page-pad);padding-right:var(--page-pad);margin:0 auto}.article-header{padding-top:5.5rem;padding-bottom:2rem}.article-header time{color:var(--slate);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}.article-header h1{font-family:var(--font-display);letter-spacing:.03em;margin:.7rem 0 .9rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:300;line-height:1.2}.article-header p{color:var(--slate);margin:0;font-size:1.05rem}.legal-toc{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;flex-wrap:wrap;gap:.85rem 1.5rem;margin-top:1.4rem;font-size:.72rem;display:flex}.legal-toc a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:.22em}.prose{padding-bottom:4rem;font-size:1.05rem}.prose>*+*{margin-top:1.15rem}.prose h2,.prose h3{font-family:var(--font-display);letter-spacing:.04em;margin-top:2.1rem;scroll-margin-top:1.25rem;font-weight:400}.prose ul{margin:0;padding-left:1.25rem}.prose li+li{margin-top:.45rem}.prose a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:.18em}.prose em{font-style:italic}.prose code{font-size:.9em}.prose pre{border:1px solid var(--hairline);background:color-mix(in srgb, var(--white) 80%, var(--ivory));padding:1rem 1.1rem;font-size:.92rem;overflow:auto}.not-found{min-height:100svh;padding:var(--page-pad);background:var(--navy);color:var(--ivory);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;display:flex}.not-found img{width:min(100%,22rem)}.not-found a{color:var(--gold);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;text-decoration:none}@media (width>=720px){.article-card{grid-template-columns:7.5rem 1fr;align-items:baseline}.article-card h3,.article-card p{grid-column:2}}@media (prefers-reduced-motion:reduce){html,.stage{scroll-behavior:auto}.stage{scroll-snap-type:none}.hero-inner,.hero-nav{transition:none;animation:none}}@media (prefers-reduced-motion:no-preference){.hero-inner{animation:.9s both rise}.hero-nav{animation:.9s .4s both rise}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
