:root{--deep:#0e3331;--ink:#0d1a1a;--mist:#edf1ef;--bone:#fafbfa;--gold:#c79a3b;--line:#c9d3d0;--muted:#51605e;--sans:"Avenir Next","Segoe UI Variable Display","Segoe UI",system-ui,Helvetica,Arial,sans-serif;--serif:Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:1.0625rem/1.8 var(--serif);color:var(--ink);background:var(--bone)}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(1300px,100% - 3rem);margin-inline:auto}
section{scroll-margin-top:72px}
h1,h2,h3{font-family:var(--sans);font-weight:300;line-height:1.1;letter-spacing:-.025em}
h1{font-size:clamp(2.7rem,6.2vw,5.6rem)}
h2{font-size:clamp(2rem,3.8vw,3.3rem)}
h3{font-size:1.3rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.6rem}
.btn{display:inline-block;background:var(--gold);color:var(--ink);font:600 .98rem/1 var(--sans);padding:1.1rem 1.9rem;border:1.5px solid var(--gold);border-radius:2px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor;margin-left:.8rem}
.btn.ghost:hover{background:#eaf1ef;color:var(--deep);border-color:#eaf1ef}
.btn.small{padding:.75rem 1.3rem}
header{position:sticky;top:0;z-index:50;background:var(--bone);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:.8rem;font:600 1.05rem var(--sans);letter-spacing:-.01em;text-decoration:none}
.brand i{display:grid;place-items:center;width:34px;height:34px;background:var(--deep);color:var(--gold);font:600 1.1rem var(--sans)}
nav ul{display:flex;gap:2.2rem;align-items:center;list-style:none}
nav a:not(.btn){font:500 .95rem var(--sans);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent;transition:border-color .2s}
nav a:not(.btn):hover{border-color:var(--gold)}
.menu{display:none;width:44px;height:44px;border:1px solid var(--line);background:none;cursor:pointer;position:relative}
.menu span,.menu:before,.menu:after{content:"";position:absolute;left:11px;right:11px;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}
.menu:before{top:15px}.menu span{top:21px}.menu:after{top:27px}
.menu[aria-expanded=true]:before{transform:translateY(6px) rotate(45deg)}
.menu[aria-expanded=true]:after{transform:translateY(-6px) rotate(-45deg)}
.menu[aria-expanded=true] span{opacity:0}
.hero{background:var(--deep) linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/64px 64px;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);color:#eaf1ef;padding:6.5rem 0 0}
.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:center}
.ln{display:block;overflow:hidden;padding-bottom:.08em}
.ln>span{display:block;transform:translateY(105%);animation:up .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*.13s + .1s)}
@keyframes up{to{transform:none}}
.lead{font-size:1.25rem;max-width:37rem;margin:1.8rem 0 2.5rem;color:#c3d3cf}
.diagram{border:1px solid rgba(255,255,255,.25);padding:1.6rem;background:rgba(0,0,0,.14);font-family:var(--sans)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem;border-top:1px solid rgba(255,255,255,.25)}
.facts p{padding:1.8rem 1.8rem 2.4rem 0;font:.95rem/1.5 var(--sans);color:#b3c6c1}
.facts strong{display:block;font-size:1.25rem;font-weight:500;color:#fff;margin-bottom:.2rem}
.about{padding:7rem 0 0}
.split{display:grid;grid-template-columns:1fr 1.35fr;gap:6rem;align-items:start}
.sticky{position:sticky;top:110px}
.sticky p{margin-top:1.4rem;color:var(--muted)}
.prose p{margin-bottom:1.5rem;max-width:40rem}
.prose .big,.big{font-size:1.4rem;line-height:1.6}
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:6rem}
.spec div{border-top:3px solid var(--deep);padding-top:1.1rem}
dt{font:500 .9rem var(--sans);color:var(--muted);margin-bottom:.3rem}
dd{font:500 1.15rem/1.45 var(--sans)}
.activities{background:var(--mist);margin-top:7rem;padding:7rem 0}
.head{display:grid;grid-template-columns:1.3fr 1fr;gap:6rem;align-items:end;margin-bottom:4.5rem}
.head p{color:var(--muted)}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem;list-style:none}
.stage{position:relative;border-top:2px solid var(--line);padding-top:2.4rem;transition:border-color .6s}
.stage:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;background:var(--line);transition:background .6s}
.stage.in{border-color:var(--deep)}.stage.in:before{background:var(--gold)}
.stage b{display:block;font:300 3.4rem/1 var(--sans);color:var(--deep);margin-bottom:1.2rem}
.stage p{font-size:1rem;line-height:1.7;color:#33413f}
.across{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:5rem}
.across article{background:var(--bone);border-left:5px solid var(--gold);padding:2.4rem 2.6rem;transition:transform .25s}
.across article:hover{transform:translateX(6px)}
.across p{max-width:34rem}
.why{padding:7rem 0}
.aside{border-top:1px solid var(--line);padding-top:1.2rem;font-family:var(--sans)}
.aside strong,.aside a{display:block;color:var(--ink)}
.ben{position:relative;padding:2rem 0 2rem 3.2rem;border-bottom:1px solid var(--line);transition:padding-left .25s}
.ben:first-child{border-top:1px solid var(--line)}
.ben:before{content:"";position:absolute;left:0;top:2.55rem;width:14px;height:14px;background:var(--gold);transition:transform .25s}
.ben:hover{padding-left:3.6rem}.ben:hover:before{transform:rotate(45deg)}
.ben p{max-width:36rem}
.contact{background:var(--mist);padding:7rem 0}
.info{margin-top:3rem;display:grid;gap:1.6rem}
.info a{text-underline-offset:4px}
form{background:var(--bone);border:1px solid var(--line);padding:3rem}
.field{margin-bottom:1.7rem}
label{display:block;font:500 .92rem var(--sans);margin-bottom:.2rem}
input:not([type=checkbox]),textarea{width:100%;font:1.05rem var(--serif);color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;padding:.7rem 0;resize:vertical}
input:focus-visible,textarea:focus-visible{outline:0;border-color:var(--gold);box-shadow:0 2px 0 var(--gold)}
.check label{display:flex;gap:.7rem;font-weight:400;line-height:1.5}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--deep);flex:none}
[aria-invalid=true]{border-color:#a02a2a!important}
.err{display:block;min-height:1.2rem;font:.85rem var(--sans);color:#a02a2a;margin-top:.3rem}
#status{margin-top:1.2rem;font:.95rem/1.5 var(--sans);color:var(--deep)}
footer{background:#081f1e;color:#b3c6c1;padding-top:4.5rem;font-size:.97rem}
.foot{display:grid;grid-template-columns:1.2fr .6fr 1.2fr;gap:4rem;padding-bottom:3.5rem}
footer .brand{color:#fff;margin-bottom:1.2rem}
footer ul{list-style:none;font-family:var(--sans)}footer li{margin-bottom:.6rem}
footer a{text-underline-offset:4px}footer a:hover{color:var(--gold)}
.small-print{font-size:.9rem;line-height:1.7}
.copy{border-top:1px solid rgba(255,255,255,.15);padding:1.6rem 0;font:.88rem var(--sans)}
@media(max-width:1000px){.stages{grid-template-columns:1fr 1fr}.spec{grid-template-columns:1fr 1fr}.foot{grid-template-columns:1fr 1fr}.small-print{grid-column:1/-1}}
@media(max-width:900px){
 .menu{display:block}
 nav{position:absolute;top:72px;left:0;right:0;background:var(--bone);border-bottom:1px solid var(--line);padding:0 1.5rem;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
 nav.open{max-height:360px;padding:1.2rem 1.5rem 1.8rem}
 nav ul{flex-direction:column;align-items:flex-start;gap:1.2rem}
 .hero{padding-top:4rem}.hero-grid,.split,.head,.across{grid-template-columns:1fr;gap:2.5rem}
 .sticky{position:static}.facts{grid-template-columns:1fr;margin-top:3rem}.facts p{padding:1.2rem 0}
 .about,.why,.contact,.activities{padding-top:4.5rem;padding-bottom:4.5rem}.about{padding-bottom:0}.activities{margin-top:4.5rem}
 .spec{margin-top:4rem}form{padding:2rem 1.5rem}
}
@media(max-width:600px){.stages,.spec,.foot{grid-template-columns:1fr}.btn.ghost{margin:.8rem 0 0}.across article{padding:1.8rem 1.5rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ln>span{transform:none}}
