:root{color-scheme:light;
--navy:#102c3a;
--ink:#142f3c;
--muted:#50636c;
--paper:#fff;
--mist:#f1f5f6;
--line:#cbd7dc;
--copper:#a64b29;
--light-copper:#f2b697;
--gutter:clamp(1.25rem,5vw,5rem)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:2rem}
body{margin:0;
background:var(--paper);
color:var(--ink);
font-family:Arial,Helvetica,sans-serif;
font-size:1rem;
line-height:1.65}
a{color:inherit;
text-underline-offset:.3em}
a:focus-visible{outline:3px solid var(--copper);
outline-offset:6px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:500;
line-height:1.08;
letter-spacing:-.045em}
p+p{margin-top:1rem}
.wrap{max-width:1440px;
margin-inline:auto;
padding-inline:var(--gutter)}
.eyebrow{font-size:.875rem;
line-height:1.5;
font-weight:600;
letter-spacing:.11em;
text-transform:uppercase}
.header{min-height:112px;
display:flex;
align-items:center;
justify-content:space-between;
gap:2rem}
.wordmark{display:inline-flex;
align-items:center;
gap:.45rem;
text-decoration:none;
font-size:1.5rem;
line-height:1;
font-weight:700;
letter-spacing:.02em;
white-space:nowrap}
.brand-symbol{display:grid;
place-items:center;
border:1px solid var(--copper);
color:var(--copper);
height:34px;
width:34px;
font-size:1.4rem;
margin-right:.4rem}
.brand-dc{font-weight:400;
font-size:.85rem;
letter-spacing:.07em;
align-self:flex-end;
padding-bottom:.1rem}
nav{display:flex;
align-items:center;
gap:2rem}
nav a{font-size:.875rem;
text-decoration:none;
padding-block:.65rem}
nav a:hover,.text-link:hover{color:var(--copper)}
.nav-contact{border-bottom:1px solid var(--ink)}
.nav-contact span{margin-left:1.1rem}
.skip{position:absolute;
top:-100px;
left:1rem;
z-index:5;
background:white;
padding:1rem}
.skip:focus{top:1rem}
.hero{display:grid;
grid-template-columns:1.2fr 1fr;
align-items:center;
gap:clamp(2rem,5vw,5rem);
padding-top:3.5rem;
padding-bottom:6.5rem}
.hero .eyebrow{color:var(--copper)}
h1{font-size:clamp(2.8rem,4.4vw,4.25rem);
margin-top:1.5rem;
line-height:1.02}
h1 em{font-family:Georgia,serif;
font-weight:400;
color:var(--copper)}
.intro{font-size:1.125rem;
max-width:32rem;
margin-top:1.75rem;
color:var(--muted)}
.button{display:inline-flex;
align-items:center;
justify-content:space-between;
gap:2.5rem;
margin-top:2rem;
background:var(--navy);
color:white;
padding:.9rem 1.25rem;
text-decoration:none;
font-size:.9375rem}
.button:hover{background:#245063}
.button span{font-size:1.2rem}
.stack{background:var(--navy);
color:white;
padding:clamp(1.25rem,3vw,2.5rem);
border-top:4px solid var(--copper)}
.stack-head{display:flex;
justify-content:space-between;
gap:1rem;
padding-bottom:2rem;
color:#c2d4dd;
font-size:.875rem}
.stack-head span:last-child{white-space:nowrap}
.stack .eyebrow{color:#c2d4dd;
font-size:.8125rem}
.stack h2{font-size:clamp(1.6rem,2.3vw,2.2rem);
margin-top:.65rem}
.operator-layer{border:1px solid #718894;
padding:1.5rem}
.operator-layer>p:last-child{font-size:.875rem;
margin-top:.75rem;
color:#c2d4dd}
.layer-join{display:flex;
justify-content:space-around;
height:2rem;
margin-inline:1rem}
.layer-join span{width:1px;
background:#718894}
.helio-layer{padding:1.5rem;
background:#234554}
.helio-layer .eyebrow{color:var(--light-copper)}
.helio-layer ul{list-style:none;
padding:0;
margin:1.5rem 0 0;
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem}
.helio-layer li{display:flex;
align-items:center;
gap:.75rem;
font-size:1rem}
.helio-layer li span{color:var(--light-copper);
font-size:.75rem}
.stack figcaption{font-size:.875rem;
line-height:1.6;
color:#c2d4dd;
margin-top:1.5rem;
max-width:30rem}
.section{padding-top:5.5rem;
padding-bottom:5.5rem}
.approach{background:var(--mist);
border-block:1px solid var(--line)}
.section-heading{display:grid;
grid-template-columns:1fr 1.35fr;
gap:1.25rem 4rem}
.section-heading>.eyebrow{grid-column:1/-1;
color:var(--copper)}
h2{font-size:clamp(2.2rem,3.7vw,3.5rem)}
.section-heading>p:last-child{max-width:31rem;
color:var(--muted);
align-self:end;
justify-self:end}
.stages{list-style:none;
padding:0;
margin:3.5rem 0 0;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2.5rem}
.stages li{border-top:1px solid #9bacb4;
padding-top:1.25rem}
.stage-number{color:var(--copper);
font-family:Georgia,serif;
font-size:2rem}
.stages h3{font-size:1.45rem;
letter-spacing:-.025em;
margin-top:1rem;
line-height:1.2}
.stages p{color:var(--muted);
margin-top:1rem}
.development-note{border-left:2px solid var(--copper);
padding-left:1.1rem;
margin-top:3rem;
color:var(--muted);
font-size:.875rem;
max-width:60rem}
.operators{display:grid;
grid-template-columns:1fr 1fr;
gap:4rem}
.operators .eyebrow{color:var(--copper);
margin-bottom:1.5rem}
.operator-copy{padding-top:2.8rem;
color:var(--muted)}
.large-copy{font-size:1.5rem;
line-height:1.45;
letter-spacing:-.025em;
color:var(--ink)}
.operator-question{margin-top:2.5rem;
padding-top:1.5rem;
border-top:1px solid var(--line)}
.operator-question>span{font-size:.8125rem;
letter-spacing:.08em;
text-transform:uppercase;
font-weight:600}
.operator-question p{font-size:1.125rem;
color:var(--ink);
margin-top:.7rem}
.text-link{display:inline-block;
margin-top:1rem;
font-size:.9375rem}
.text-link span{margin-left:.75rem}
.people{background:var(--navy);
color:white}
.people .section-heading>.eyebrow{color:var(--light-copper)}
.people .section-heading>p:last-child{color:#c2d4dd}
.team{display:grid;
grid-template-columns:1fr 1fr;
gap:4rem;
margin-top:3.5rem}
.team article{border-top:1px solid #657e8b;
padding-top:1.5rem}
.team .eyebrow{color:#c2d4dd;
font-size:.8125rem}
.team h3{font-size:2rem;
margin-top:1rem}
.team article>p:last-child{color:#c2d4dd;
max-width:29rem;
margin-top:1rem}
.contact{padding-top:6rem;
padding-bottom:6rem}
.contact .eyebrow{color:var(--copper)}
.contact h2{font-size:clamp(3rem,6vw,5.5rem);
margin-top:1.5rem}
.contact>.contact-intro{max-width:36rem;
color:var(--muted);
font-size:1.25rem;
margin-top:1.5rem}
.footer{display:flex;
align-items:center;
justify-content:space-between;
gap:2rem;
border-top:1px solid var(--line);
padding-top:2rem;
padding-bottom:2rem}
.footer .wordmark{font-size:1.15rem}
.footer p,.footer>a:last-child{font-size:.8125rem;
color:var(--muted)}
.footer>a:last-child{white-space:nowrap}

@media(max-width:900px){.header{min-height:96px}
nav{gap:1.25rem}
.hero{gap:2rem;
grid-template-columns:1fr 1fr;
padding-top:2rem}
.hero h1{font-size:clamp(2.2rem,4.5vw,3rem)}
.stack{padding:1.25rem}
.operator-layer,.helio-layer{padding:1.1rem}
.section-heading,.operators{gap:2rem}
.stages{gap:1.5rem}
.team{gap:2rem}
}

@media(max-width:680px){.header{flex-wrap:wrap;
gap:1.25rem;
padding-top:1.5rem;
padding-bottom:1.5rem}
.header nav{width:100%;
justify-content:space-between;
gap:.5rem}
.header nav a{font-size:.8125rem}
.hero{grid-template-columns:1fr;
padding-top:1.5rem;
padding-bottom:3.5rem;
gap:3rem}
.hero h1{font-size:clamp(2rem,8.5vw,3.4rem)}
.intro{font-size:1.0625rem}
.stack{padding:1.5rem}
.section{padding-top:3.5rem;
padding-bottom:3.5rem}
.section-heading,.operators,.team{grid-template-columns:1fr;
gap:1.5rem}
.section-heading>p:last-child{justify-self:start}
.stages{grid-template-columns:1fr;
gap:2rem;
margin-top:2.5rem}
.stages h3{margin-top:.5rem}
.stages p{margin-top:.75rem}
.operator-copy{padding-top:0}
.team{margin-top:2.5rem;
gap:2rem}
.footer{align-items:flex-start;
flex-wrap:wrap;
gap:1.25rem}
.footer p{order:3;
flex-basis:100%}
.contact h2{font-size:clamp(3rem,11vw,4.4rem)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

@media print{body{font-size:11pt}
.header nav,.button,.skip,.footer>a:last-child{display:none}
.hero,.section{padding-block:1.5rem}
.hero{grid-template-columns:1fr 1fr}
h1{font-size:35pt}
h2{font-size:24pt}
.stack,.people{background:white;
color:var(--ink);
border:1px solid var(--line)}
.stack p,.stack figcaption,.people p,.people .section-heading>p:last-child,.team article>p:last-child{color:var(--muted)}
.helio-layer{background:var(--mist)}
.team,.stages,figure{break-inside:avoid}
}

.contact-address{margin-top:1rem;
color:var(--muted);
font-size:1rem}

.purpose{padding-top:0;padding-bottom:5.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 4rem}
.purpose .eyebrow{grid-column:1/-1;color:var(--copper)}
.purpose>p:last-child{max-width:34rem;color:var(--muted);align-self:end}
.hero-copy,.stack,.section-heading>*{min-width:0}
.people a:focus-visible{outline-color:var(--light-copper)}
@media(max-width:680px){.purpose{grid-template-columns:1fr;gap:1.25rem;padding-bottom:3.5rem}.stack-head{flex-wrap:wrap}.stack{padding:1.25rem}.nav-contact span{margin-left:.4rem}}
