@charset "UTF-8";

:root{--paper:#f5f6ef;
--white:#fff;
--ink:#173d43;
--muted:#526d6e;
--mint:#c0e7d8;
--line:#cdd9ce;
--dark:#143c43;
--accent:#136e6e;
--space:clamp(24px,6vw,104px);
--max:1480px}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:95px}
body{margin:0;
background:var(--paper);
color:var(--ink);
font-family:Arial,Helvetica,sans-serif;
font-size:16px;
line-height:1.6;
-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;
text-underline-offset:5px}
button{font:inherit;
cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cb8b2e;
outline-offset:5px}
::selection{background:#c6e5d3}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:500;
letter-spacing:-.055em;
line-height:1.06}
h1{font-size:clamp(64px,6.8vw,108px)}
h2{font-size:clamp(42px,4.5vw,70px)}
h3{font-size:clamp(28px,3vw,43px)}
em{font-family:Georgia,'Times New Roman',serif;
font-weight:400;
letter-spacing:-.055em}
p+p{margin-top:20px}
.section-pad{padding-left:var(--space);
padding-right:var(--space)}
.eyebrow{font-size:10px;
font-weight:700;
letter-spacing:.15em;
line-height:1.6;
margin-bottom:26px}
.status-dot{display:inline-block;
width:6px;
height:6px;
border-radius:50%;
background:#3a887a;
margin-right:9px;
vertical-align:middle}
.button{display:inline-flex;
align-items:center;
justify-content:space-between;
gap:35px;
padding:17px 24px;
color:#f4f8ed;
background:var(--ink);
border:1px solid var(--ink);
border-radius:4px;
text-decoration:none;
font-size:13px;
line-height:1.4;
transition:background .2s,transform .2s}
.button:hover{background:#25616a;
transform:translateY(-2px)}
.button span{font-size:18px}
.button-small{padding:12px 18px;
font-size:11px;
gap:22px}
.text-link{display:inline-flex;
gap:19px;
align-items:center;
font-size:13px;
font-weight:600;
text-decoration:none;
border-bottom:1px solid currentColor;
padding-bottom:4px}
.text-link:hover{color:var(--accent)}
.skip-link{position:fixed;
z-index:100;
top:8px;
left:8px;
padding:12px;
background:white;
transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{height:100px;
padding:0 var(--space);
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
border-bottom:1px solid var(--line);
position:relative;
z-index:2}
.wordmark{display:flex;
gap:10px;
align-items:center;
text-decoration:none;
font-size:34px;
font-weight:600;
letter-spacing:-.07em;
line-height:1}
.wordmark svg{width:23px;
height:29px}
.brand-by{display:block;
font-size:7px;
letter-spacing:.2em;
margin:6px 0 0 2px}
.site-header nav{display:flex;
gap:35px;
margin-left:auto;
margin-right:50px}
.site-header nav a{text-decoration:none;
font-size:12px}
.site-header nav a:hover{color:var(--accent)}
.hero{display:grid;
grid-template-columns:1fr 1.05fr;
min-height:720px;
padding-top:76px;
padding-bottom:68px;
overflow:hidden;
position:relative}
.hero-copy{position:relative;
z-index:1}
.hero-description{max-width:435px;
margin-top:30px;
font-size:15px;
color:var(--muted);
line-height:1.75}
.hero-actions{display:flex;
gap:25px;
align-items:center;
margin-top:30px}
.hero-note{font-size:10px;
max-width:410px;
color:var(--muted);
line-height:1.6;
margin-top:26px}
.hero-visual{position:relative;
align-self:center;
min-width:0;
margin-right:calc(var(--space)*-.75);
margin-left:-42px;
padding-top:7px}
.hero-visual:before{content:"";
position:absolute;
inset:5% 1% 8% 1%;
background:radial-gradient(ellipse,#cce7d7 0%,#dfece0 45%,transparent 70%);
z-index:-1}
.hero-visual img{display:block;
width:118%;
max-width:none;
margin-left:-8%;
position:relative;
z-index:1}
.hero-visual figcaption{font-size:9px;
letter-spacing:.025em;
text-align:right;
padding-right:40px;
color:var(--muted);
margin-top:-8px}
.visual-tag{position:absolute;
top:3%;
left:20%;
font-size:8px;
letter-spacing:.16em;
z-index:2}
.visual-orbit{position:absolute;
border:1px solid #c6daca;
border-radius:50%;
width:79%;
aspect-ratio:1;
left:11%;
top:8%;
transform:rotateX(22deg)}
.orbit-two{width:90%;
left:5%;
top:2%;
opacity:.5}
.spec-ribbon{display:grid;
grid-template-columns:1fr 1.3fr 1fr 1.1fr;
align-items:center;
gap:28px;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
padding-top:31px;
padding-bottom:31px}
.spec-ribbon>div{display:flex;
align-items:center;
gap:16px}
.spec-ribbon strong{font-size:46px;
font-weight:400;
letter-spacing:-.06em;
white-space:nowrap;
line-height:1.1}
.spec-ribbon small{display:block;
font-size:12px;
letter-spacing:0;
text-align:right;
margin-top:3px}
.spec-ribbon div>span{font-size:10px;
color:var(--muted);
line-height:1.6}
.spec-ribbon>p{font-size:11px;
border-left:1px solid var(--line);
padding-left:27px}
.spec-ribbon>p>span{display:block;
font-size:8px;
color:var(--muted);
margin-top:7px}
.intro{padding-top:118px;
padding-bottom:118px}
.intro-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:12%}
.intro-grid>div{max-width:480px}
.large-copy{font-size:22px;
line-height:1.5;
color:var(--ink)}
.intro-grid p+p{font-size:14px;
color:var(--muted);
margin-top:24px}
.intro-grid .text-link{margin-top:29px}
.system-section{background:var(--dark);
color:#eff5ea;
padding-top:88px;
padding-bottom:68px}
.section-top{display:flex;
justify-content:space-between;
align-items:flex-end;
gap:40px;
margin-bottom:45px}
.section-top>p{font-size:13px;
line-height:1.7;
opacity:.75;
padding-bottom:6px}
.system-section .eyebrow{color:#b8d9c5}
.flow-tour{border:1px solid #51716d;
border-radius:5px;
overflow:hidden}
.stage-nav{display:grid;
grid-template-columns:repeat(6,1fr);
border-bottom:1px solid #51716d}
.stage-nav button{display:flex;
flex-direction:column;
align-items:flex-start;
gap:14px;
background:transparent;
color:#c3d2c8;
border:0;
border-right:1px solid #51716d;
text-align:left;
padding:22px 18px;
line-height:1.4;
font-size:11px;
position:relative}
.stage-nav button:last-child{border-right:0}
.stage-nav button>span:first-child{font-size:9px;
letter-spacing:.1em}
.stage-nav button[aria-pressed="true"]{background:#c3e4d1;
color:var(--ink)}
.stage-nav button:hover{background:#315a5c}
.stage-nav button[aria-pressed="true"]:hover{background:#d1eedc}
.stage-icon{position:absolute;
top:20px;
right:18px;
font-size:24px;
font-weight:400}
.stage-detail{display:grid;
grid-template-columns:.55fr 1fr;
min-height:330px;
padding:50px 62px;
gap:50px;
align-items:center;
background:radial-gradient(ellipse at 10% 40%,#2a5757 0%,transparent 65%)}
.stage-number{font-family:Georgia,serif;
font-size:150px;
font-style:italic;
line-height:1;
color:#9bc7b2;
letter-spacing:-.09em}
.stage-content{max-width:650px}
.stage-content .eyebrow{font-size:9px;
margin-bottom:16px}
.stage-content h3{font-size:34px;
letter-spacing:-.035em}
.stage-content>p:not(.eyebrow){color:#c6d7ce;
font-size:13px;
margin-top:17px;
line-height:1.75}
.stage-chain{font-size:11px;
padding:13px 0;
margin-top:19px;
border-top:1px solid #4a706b;
border-bottom:1px solid #4a706b;
color:#d7ecdb}
.stage-content .stage-detail-note{font-size:11px!important;
line-height:1.7!important;
color:#b4c9c0!important}
.system-footnote{font-size:10px;
color:#b0c7bd;
margin-top:17px}
.full-train{margin-top:28px;
border-top:1px solid #50706c;
border-bottom:1px solid #50706c}
.full-train summary{padding:18px 0;
font-size:12px}
.full-train-body{padding-bottom:25px;
color:#c4d8cc;
font-size:12px;
max-width:1000px}
.full-train-body p+p{margin-top:14px}
.two-paths{padding-top:112px;
padding-bottom:100px}
.path-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:24px}
.path-card{padding:30px 36px 34px;
border-radius:5px;
background:#e4eadd;
overflow:hidden}
.path-card.drinking{background:#dcece8}
.path-label{display:flex;
align-items:center;
gap:9px;
font-size:9px;
letter-spacing:.1em}
.path-label>span:last-child{margin-left:auto;
font-size:12px;
letter-spacing:0}
.path-dot{width:5px;
height:5px;
border-radius:50%;
background:#477263}
.drinking .path-dot{background:#268e94}
.path-art{height:175px;
display:flex;
align-items:center;
justify-content:center;
margin:12px 0 14px}
.path-art svg{height:100%;
width:95%;
fill:none;
stroke:#537e70;
stroke-width:7;
stroke-linecap:round;
stroke-linejoin:round}
.drinking .path-art svg{stroke:#54878a}
.path-art .water-strokes{stroke:#77aaa2;
stroke-width:2}
.path-art .thin-stroke{stroke-width:1.5;
opacity:.5}
.path-art .drop-fill{fill:#a7cfc8;
stroke-width:1.5}
.path-card h3{font-size:36px}
.path-card>p:not(.fine-print){font-size:13px;
max-width:450px;
color:var(--muted);
margin-top:22px}
.path-specs{display:flex;
gap:45px;
margin-top:30px;
padding-top:25px;
border-top:1px solid #b9ccc0}
.path-specs strong{display:block;
font-size:24px;
font-weight:400;
letter-spacing:-.035em}
.path-specs span{display:block;
font-size:9px;
color:var(--muted)}
.fine-print{font-size:10px;
line-height:1.7;
color:var(--muted)}
.path-card>.fine-print{margin-top:22px}
.materials{display:grid;
grid-template-columns:1.1fr 1fr;
gap:8%;
align-items:center;
border-top:1px solid var(--line);
padding-top:90px;
padding-bottom:100px}
.materials-visual{background:#e8ede2;
border:1px solid #d0dbcc;
padding:36px 28px;
border-radius:5px}
.materials-visual>.eyebrow{font-size:9px;
margin-bottom:45px}
.media-columns{display:grid;
grid-template-columns:repeat(14,1fr);
gap:22px 8px;
align-items:end;
padding:0 4px 30px}
.media-column{height:100px;
background:linear-gradient(90deg,#b4c9c0 0%,#fafff4 35%,#c5d6cb 78%,#6f9188 100%);
border:1px solid #8ea89a;
border-radius:4px;
position:relative;
box-shadow:2px 7px 8px #567b6720}
.media-column:before,.media-column:after{content:"";
position:absolute;
left:-2px;
right:-2px;
height:3px;
background:#69887b;
top:8px}
.media-column:after{top:auto;
bottom:8px}
.media-column>span{position:absolute;
inset:29% 2px 30%;
background:var(--media);
opacity:.8;
border-radius:1px}
.media-key{display:flex;
flex-wrap:wrap;
gap:9px 14px;
padding-top:18px;
border-top:1px solid #c5d3c4}
.media-key span{display:flex;
gap:5px;
align-items:center;
font-size:8px}
.media-key i{display:inline-block;
width:6px;
height:6px;
border-radius:1px}
.kdf{--media:#947653;
background:#947653}
.catalytic{--media:#283c3d;
background:#283c3d}
.gac{--media:#486666;
background:#486666}
.bone{--media:#918a6e;
background:#918a6e}
.zeolite{--media:#afb39a;
background:#afb39a}
.e33{--media:#a9633b;
background:#a9633b}
.polish{--media:#537e75;
background:#537e75}
.calcite{--media:#e6e4cc;
background:#e6e4cc}
.small-label{display:block;
font-size:7px;
letter-spacing:.09em;
margin-top:26px;
color:var(--muted)}
.materials-copy>p:not(.eyebrow){font-size:13px;
color:var(--muted);
margin-top:25px}
.materials-note{padding-left:20px;
border-left:2px solid #79a58f;
margin-top:25px}
.materials-note>strong{font-size:12px}
.materials-note p{font-size:11px;
color:var(--muted);
margin-top:6px}
.coverage{background:#e6ebdf;
padding-top:92px;
padding-bottom:80px}
.source-layout{display:grid;
grid-template-columns:1fr 1.15fr;
gap:65px;
margin-top:50px}
.source-options{display:flex;
flex-direction:column;
border-top:1px solid #b9ccbc}
.source-options button{display:flex;
align-items:center;
gap:25px;
background:transparent;
border:0;
border-bottom:1px solid #b9ccbc;
color:var(--muted);
padding:19px 16px;
font-size:20px;
text-align:left;
letter-spacing:-.025em}
.source-options button>span:first-child{font-size:9px}
.source-options button>span:last-child{margin-left:auto;
font-size:18px}
.source-options button[aria-pressed="true"]{color:var(--ink);
background:#d1dfce}
.source-options button:hover{background:#dbe5d5}
.source-detail{background:#f2f5eb;
padding:35px 38px;
border-radius:5px;
min-height:350px}
.source-tag{display:inline-block;
border:1px solid #a9c5af;
border-radius:3px;
font-size:8px;
letter-spacing:.09em;
padding:6px 10px;
margin-bottom:25px}
.source-detail h3{font-size:30px}
.source-detail>p{color:var(--muted);
font-size:13px;
margin-top:19px}
.source-callout{padding-top:22px;
margin-top:25px;
border-top:1px solid #cdd9c9}
.source-callout>strong{font-size:12px}
.source-callout p{font-size:11px;
color:var(--muted);
margin-top:7px}
.coverage>.fine-print{max-width:800px;
margin-top:27px}
.controls{display:grid;
grid-template-columns:1fr 1.15fr;
gap:9%;
padding-top:110px;
padding-bottom:110px;
align-items:center}
.controls>div>p:not(.eyebrow){font-size:13px;
color:var(--muted);
margin-top:25px}
.controls>div>.fine-print{font-size:10px!important}
.controls-visual{border:1px solid #c5d3c3;
background:#eff2e8;
border-radius:5px}
.control-head{display:flex;
justify-content:space-between;
gap:14px;
font-size:7px;
letter-spacing:.1em;
border-bottom:1px solid #c5d3c3;
padding:20px}
.control-head>span:last-child{color:var(--muted)}
.control-flow{display:flex;
align-items:center;
justify-content:space-between;
padding:45px 22px}
.control-flow>div{flex:1;
text-align:center}
.control-flow strong{font-weight:500;
font-size:13px;
display:block}
.control-flow p{font-size:8px;
color:var(--muted);
line-height:1.8;
margin-top:7px}
.control-symbol{display:flex;
align-items:center;
justify-content:center;
margin:0 auto 14px;
width:42px;
height:42px;
border:1px solid #9fb9a7;
border-radius:50%;
font-size:24px;
color:#4e8271}
.control-arrow{font-size:14px;
color:#9db7a3}
.control-bottom{border-top:1px solid #c5d3c3;
padding:18px 20px;
font-size:9px}
.costs{padding-top:90px;
padding-bottom:100px;
background:#fcfcf6;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line)}
.cost-intro{display:grid;
grid-template-columns:1fr 1fr;
gap:8%;
font-size:13px;
color:var(--muted);
max-width:1080px}
.cost-intro p+p{margin:0}
.cost-toolbar{display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
border-bottom:1px solid var(--line);
padding:35px 0 20px}
.cost-filters{display:flex;
gap:4px;
flex-wrap:wrap}
.cost-filters button{background:transparent;
border:1px solid transparent;
padding:8px 13px;
border-radius:3px;
font-size:10px;
color:var(--muted)}
.cost-filters button[aria-pressed="true"]{background:#e7eddf;
border-color:#c5d6c1;
color:var(--ink)}
.cost-filters button:hover{border-color:#bfd3c1}
.download-link{border:0;
background:transparent;
font-size:10px;
white-space:nowrap;
color:var(--ink)}
.download-link span{margin-left:12px}
.cost-grid{display:grid;
grid-template-columns:1fr 300px;
gap:40px;
align-items:start;
padding-top:10px}
.cost-summary{background:#e9efdf;
padding:25px 26px;
border-radius:5px;
position:sticky;
top:25px;
margin-top:16px}
.cost-summary>.eyebrow{font-size:8px;
margin-bottom:15px}
.cost-summary>strong{display:block;
font-size:31px;
font-weight:400;
letter-spacing:-.04em;
line-height:1.3}
.subtotal-label{display:block;
font-size:9px;
color:var(--muted);
margin-top:7px}
.summary-rule{height:1px;
background:#c6d4be;
margin:20px 0}
.cost-summary>p{font-size:10px;
color:var(--muted);
margin-top:14px}
.cost-summary>p>strong{font-weight:600}
.cost-summary .text-link{font-size:10px;
margin-top:22px;
gap:12px}
.component{border-bottom:1px solid var(--line)}
.component summary{display:grid;
grid-template-columns:1fr auto 12px;
align-items:center;
gap:20px;
padding:19px 0;
font-size:12px}
.component summary>span:first-child{display:flex;
flex-direction:column}
.component small{display:block;
font-size:8px;
color:var(--muted);
margin-top:3px;
letter-spacing:.03em}
.component .price{font-size:12px;
white-space:nowrap}
.component .price.unpriced{font-size:10px;
color:var(--muted)}
.component .component-body{padding:0 30px 22px 0;
font-size:11px;
color:var(--muted)}
.component-body p+p{margin-top:9px}
.component-body a{display:inline-flex;
margin-top:10px;
font-size:10px}
summary{cursor:pointer;
list-style:none;
display:flex;
justify-content:space-between;
align-items:center;
gap:20px}
summary::-webkit-details-marker{display:none}
summary>span:last-child{font-size:18px;
font-weight:400}
details[open]>summary>span:last-child{transform:rotate(45deg)}
.unpriced-scope{margin-top:40px;
border-top:1px solid var(--line);
padding-top:30px;
max-width:930px}
.unpriced-scope>.eyebrow{display:block;
font-size:8px;
margin-bottom:12px}
.unpriced-scope h3{font-size:27px}
.unpriced-scope p{font-size:12px;
color:var(--muted);
margin-top:15px}
.faq{display:grid;
grid-template-columns:.85fr 1.15fr;
gap:8%;
padding-top:100px;
padding-bottom:100px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{font-size:13px;
padding:23px 0;
line-height:1.5;
letter-spacing:-.015em}
.faq-list details>p{font-size:12px;
color:var(--muted);
margin:0 18px 20px 0}
.faq-list details>p+p{margin-top:0}
.closing{padding-top:75px;
padding-bottom:85px;
text-align:center;
background:#dfeadd;
position:relative;
overflow:hidden}
.closing:before,.closing:after{content:"";
position:absolute;
width:650px;
height:650px;
border:1px solid #cadbc7;
border-radius:50%;
top:60px;
left:-290px}
.closing:after{left:auto;
right:-290px;
top:-250px}
.closing>*{position:relative;
z-index:1}
.closing-drop{font-family:Georgia,serif;
font-size:46px;
line-height:1;
margin-bottom:22px}
.closing .eyebrow{font-size:8px}
.closing h2{font-size:clamp(46px,5.5vw,80px)}
.closing .button{margin-top:30px}
.site-footer{display:grid;
grid-template-columns:1fr 1.5fr 1fr;
gap:35px;
padding-top:40px;
padding-bottom:30px;
align-items:center}
.footer-wordmark{font-size:30px;
letter-spacing:-.07em;
text-decoration:none;
font-weight:600;
line-height:1}
.footer-wordmark>span{font-size:7px;
letter-spacing:.15em;
display:block;
margin-top:8px}
.site-footer>p{font-size:10px;
color:var(--muted);
line-height:1.8}
.site-footer>a:not(.footer-wordmark){font-size:11px;
text-decoration:none;
justify-self:end}
.footer-status{font-size:8px;
color:var(--muted);
grid-column:1/-1;
border-top:1px solid var(--line);
padding-top:20px}

@media(min-width:1600px){body>header,body>main>section,body>main>.spec-ribbon,body>footer{padding-left:max(var(--space),calc((100vw - 1300px)/2));
padding-right:max(var(--space),calc((100vw - 1300px)/2))}
.hero{grid-template-columns:1fr 1.2fr}
}

@media(max-width:1100px){.site-header nav{margin-right:10px;
gap:22px}
.hero{min-height:650px;
grid-template-columns:1fr 1fr;
padding-top:65px;
padding-bottom:55px}
.hero-visual{margin-left:-10px;
margin-right:-40px}
.hero h1{font-size:clamp(56px,7.3vw,80px)}
.hero-description{font-size:13px;
max-width:360px}
.hero-actions{gap:18px;
flex-wrap:wrap}
.hero-actions .text-link{font-size:11px}
.spec-ribbon{gap:18px}
.spec-ribbon strong{font-size:38px}
.spec-ribbon>div{gap:12px}
.spec-ribbon div>span{font-size:8px}
.spec-ribbon>p{padding-left:17px;
font-size:9px}
.stage-nav button{font-size:9px;
padding:19px 12px}
.stage-icon{right:10px}
.stage-detail{padding:40px;
gap:30px}
.source-layout{gap:35px}
.path-card{padding:25px}
.cost-grid{grid-template-columns:1fr 270px;
gap:25px}
.cost-summary{padding:23px 20px}
.cost-summary>strong{font-size:28px}
.control-flow{padding:35px 12px}
.control-head{font-size:6px}
.controls{gap:6%}
.materials{gap:6%}
.materials-visual{padding:28px 20px}
.media-columns{gap:18px 5px}
.media-column{height:87px}
}

@media(max-width:800px){:root{--space:28px}
.site-header{height:84px;
gap:20px}
.site-header nav{gap:20px;
margin-right:0}
.header-cta{display:none}
.hero{grid-template-columns:1fr;
padding-top:55px;
padding-bottom:35px;
min-height:0}
.hero-copy{max-width:600px}
.hero h1{font-size:clamp(62px,10vw,85px)}
.hero h1 br:nth-of-type(2){display:none}
.hero-description{max-width:500px;
font-size:14px;
margin-top:24px}
.hero-note{max-width:460px}
.hero-visual{margin:20px auto 0;
width:95%;
max-width:650px}
.hero-visual img{width:110%;
margin-left:-5%}
.hero-visual figcaption{padding-right:0}
.visual-tag{top:0;
left:10%}
.spec-ribbon{grid-template-columns:1fr 1.25fr 1fr;
gap:20px;
padding-top:27px;
padding-bottom:27px}
.spec-ribbon>p{grid-column:1/-1;
border-left:0;
padding:17px 0 0;
border-top:1px solid var(--line);
display:flex;
align-items:center;
justify-content:space-between;
gap:20px}
.spec-ribbon>p br{display:none}
.spec-ribbon>p>span{margin:0}
.intro{padding-top:75px;
padding-bottom:75px}
.intro-grid{gap:8%}
.large-copy{font-size:18px}
.intro-grid p+p{font-size:12px}
.system-section{padding-top:65px;
padding-bottom:50px}
.stage-nav{grid-template-columns:repeat(3,1fr)}
.stage-nav button{padding:17px 14px;
font-size:11px;
min-height:90px;
border-bottom:1px solid #51716d}
.stage-nav button:nth-child(3){border-right:0}
.stage-nav button:nth-child(n+4){border-bottom:0}
.stage-detail{grid-template-columns:85px 1fr;
padding:32px 25px;
gap:28px;
min-height:350px}
.stage-number{font-size:85px}
.stage-content h3{font-size:29px}
.stage-content>p:not(.eyebrow){font-size:12px}
.stage-icon{right:14px;
top:14px}
.section-top{gap:25px;
margin-bottom:35px}
.section-top>p{font-size:11px}
.two-paths{padding-top:75px;
padding-bottom:70px}
.path-grid{gap:16px}
.path-card{padding:25px 22px}
.path-card h3{font-size:29px}
.path-card>p:not(.fine-print){font-size:12px}
.path-label{font-size:7px}
.path-art{height:145px}
.path-specs{gap:25px}
.path-specs strong{font-size:20px}
.path-specs span{font-size:8px}
.materials{grid-template-columns:1fr 1fr;
padding-top:70px;
padding-bottom:70px;
gap:30px}
.materials-visual{padding:25px 16px}
.media-columns{grid-template-columns:repeat(7,1fr);
gap:14px 6px}
.media-column{height:66px}
.materials-visual>.eyebrow{font-size:7px;
margin-bottom:25px}
.small-label{font-size:6px;
line-height:1.8}
.media-key{gap:9px 10px}
.media-key span{font-size:7px}
.materials-copy>p:not(.eyebrow){font-size:12px}
.coverage{padding-top:70px;
padding-bottom:65px}
.source-layout{gap:25px}
.source-options button{font-size:17px;
gap:14px;
padding:20px 10px}
.source-detail{padding:25px}
.source-detail h3{font-size:25px}
.source-detail>p{font-size:12px}
.controls{grid-template-columns:1fr;
padding-top:75px;
padding-bottom:70px;
gap:35px}
.controls>div:first-child{max-width:560px}
.controls-visual{max-width:600px}
.control-head{font-size:8px}
.control-flow{padding:30px}
.control-flow strong{font-size:15px}
.control-flow p{font-size:10px}
.control-symbol{width:48px;
height:48px}
.control-bottom{font-size:10px}
.costs{padding-top:70px;
padding-bottom:70px}
.cost-intro{font-size:12px;
gap:30px}
.cost-grid{grid-template-columns:1fr;
gap:25px}
.cost-summary{position:static;
margin:0;
grid-row:1;
display:grid;
grid-template-columns:1fr 1fr;
column-gap:30px;
padding:25px}
.cost-summary>.eyebrow{grid-column:1/-1;
margin-bottom:8px}
.cost-summary>strong{font-size:32px}
.subtotal-label{grid-column:1;
margin-top:4px}
.summary-rule{display:none}
.cost-summary>p{grid-column:2;
margin-top:0;
grid-row:2/5}
.cost-summary>#cost-count{grid-column:1;
grid-row:auto;
margin-top:12px;
font-size:9px}
.cost-summary>.text-link{grid-column:2;
grid-row:5;
justify-self:start;
margin-top:12px}
.cost-toolbar{align-items:flex-start}
.cost-filters button{padding:8px;
font-size:9px}
.faq{padding-top:75px;
padding-bottom:70px;
gap:35px;
grid-template-columns:1fr}
.faq-list summary{font-size:14px}
.site-footer{grid-template-columns:1fr 2fr;
gap:25px}
.site-footer>a:not(.footer-wordmark){grid-column:2;
justify-self:start}
.footer-wordmark{grid-row:1/3}
.footer-status{grid-column:1/-1}
}

@media(max-width:520px){:root{--space:22px}
html{scroll-padding-top:24px}
.site-header{height:76px}
.wordmark{font-size:29px;
gap:8px}
.wordmark svg{width:20px}
.brand-by{font-size:6px}
.site-header nav{gap:16px}
.site-header nav a{font-size:10px}
.site-header nav a:first-child{display:none}
.hero{padding-top:40px}
.hero h1{font-size:66px;
letter-spacing:-.065em}
.hero h1 br:nth-of-type(2){display:block}
.hero .eyebrow{font-size:7px;
letter-spacing:.12em;
margin-bottom:24px}
.hero-description{font-size:13px;
margin-top:23px;
max-width:360px}
.hero-actions{gap:19px;
margin-top:25px}
.button{font-size:12px;
padding:15px 18px;
gap:25px}
.hero-actions .text-link{font-size:10px;
gap:9px}
.hero-note{font-size:9px;
margin-top:22px;
max-width:345px}
.hero-visual{width:110%;
margin:26px -5% 0}
.hero-visual figcaption{font-size:7px;
padding-right:10px}
.visual-tag{font-size:6px}
.spec-ribbon{grid-template-columns:1fr 1.3fr;
gap:23px 18px}
.spec-ribbon>div:nth-child(3){border-top:1px solid var(--line);
padding-top:20px;
grid-column:1}
.spec-ribbon>p{grid-column:2;
border:0;
padding:18px 0 0;
display:block;
font-size:9px;
align-self:stretch}
.spec-ribbon>p>span{font-size:7px;
margin-top:9px}
.spec-ribbon strong{font-size:39px}
.spec-ribbon div>span{font-size:8px}
.spec-ribbon small{font-size:10px}
.intro{padding-top:64px;
padding-bottom:64px}
.intro>.eyebrow{font-size:8px}
.intro-grid{grid-template-columns:1fr;
gap:30px}
h2{font-size:43px}
.large-copy{font-size:19px}
.intro-grid p+p{font-size:13px}
.section-top{display:block}
.section-top>p{margin-top:22px;
font-size:12px}
.eyebrow{font-size:8px;
margin-bottom:22px}
.system-section{padding-top:55px;
padding-bottom:40px}
.stage-nav button{font-size:9px;
padding:14px 9px;
min-height:85px;
gap:22px}
.stage-nav button>span:first-child{font-size:8px}
.stage-icon{font-size:19px;
right:10px;
top:9px}
.stage-detail{grid-template-columns:1fr;
gap:6px;
padding:26px 22px;
min-height:0}
.stage-number{font-size:55px;
line-height:1;
margin-bottom:12px}
.stage-content h3{font-size:28px}
.stage-content .eyebrow{font-size:7px;
margin-bottom:12px}
.stage-content>p:not(.eyebrow){font-size:12px}
.stage-content .stage-detail-note{font-size:10px!important}
.stage-chain{font-size:10px}
.system-footnote{font-size:9px}
.full-train summary{font-size:10px}
.full-train-body{font-size:11px}
.two-paths{padding-top:60px;
padding-bottom:60px}
.path-grid{grid-template-columns:1fr;
gap:20px}
.path-card{padding:26px}
.path-label{font-size:8px}
.path-card h3{font-size:35px}
.path-art{height:155px}
.path-card>p:not(.fine-print){font-size:13px}
.path-specs{gap:45px}
.path-specs strong{font-size:23px}
.path-specs span{font-size:9px}
.materials{grid-template-columns:1fr;
padding-top:60px;
padding-bottom:60px;
gap:35px}
.materials-copy{grid-row:1}
.materials-copy>p:not(.eyebrow){font-size:13px}
.materials-visual{padding:28px 24px}
.media-columns{grid-template-columns:repeat(14,1fr);
gap:18px 5px}
.media-column{height:82px}
.media-key span{font-size:8px}
.materials-visual>.eyebrow{font-size:8px}
.small-label{font-size:6px}
.coverage{padding-top:60px;
padding-bottom:55px}
.source-layout{grid-template-columns:1fr;
gap:22px;
margin-top:30px}
.source-options{display:grid;
grid-template-columns:1fr 1fr;
gap:6px;
border:0}
.source-options button{border:1px solid #bccdbb;
border-radius:3px;
padding:12px 10px;
font-size:12px;
gap:8px}
.source-options button>span:first-child{font-size:7px}
.source-options button:last-child{grid-column:1/-1}
.source-options button>span:last-child{font-size:14px}
.source-detail{min-height:0;
padding:26px}
.source-detail h3{font-size:29px}
.source-tag{margin-bottom:23px}
.source-detail>p{font-size:13px}
.controls{padding-top:60px;
padding-bottom:60px;
gap:30px}
.control-head{font-size:6px;
padding:16px}
.control-flow{padding:27px 12px}
.control-flow strong{font-size:12px}
.control-flow p{font-size:8px}
.control-symbol{width:38px;
height:38px;
font-size:22px}
.control-bottom{font-size:8px;
padding:17px 14px}
.costs{padding-top:55px;
padding-bottom:55px}
.cost-intro{grid-template-columns:1fr;
gap:15px}
.cost-toolbar{flex-direction:column;
align-items:flex-start;
padding-top:25px;
gap:15px}
.cost-filters{gap:1px}
.cost-filters button{font-size:8px;
padding:8px 7px}
.download-link{font-size:9px;
padding-left:0}
.cost-summary{display:block;
padding:26px}
.cost-summary>strong{font-size:34px}
.cost-summary>p{margin-top:17px}
.cost-summary>#cost-count{font-size:10px}
.cost-summary>.text-link{margin-top:18px}
.component summary{font-size:11px;
gap:12px;
padding:18px 0}
.component .price{font-size:11px}
.component small{font-size:7px}
.component .price.unpriced{font-size:9px}
.component .component-body{font-size:10px;
padding-right:12px}
.unpriced-scope h3{font-size:25px}
.unpriced-scope p{font-size:11px}
.faq{padding-top:60px;
padding-bottom:60px;
gap:30px}
.faq-list summary{font-size:12px;
padding:20px 0;
gap:20px}
.faq-list details>p{font-size:12px}
.closing{padding-top:55px;
padding-bottom:65px}
.closing .eyebrow{font-size:7px}
.closing h2{font-size:47px}
.closing:before,.closing:after{width:420px;
height:420px;
left:-300px}
.closing:after{right:-300px;
left:auto;
top:-50px}
.site-footer{padding-top:30px;
padding-bottom:24px;
gap:20px;
grid-template-columns:.7fr 1.3fr}
.site-footer>p{font-size:8px}
.site-footer>a:not(.footer-wordmark){font-size:9px}
.footer-wordmark{font-size:28px}
.footer-status{font-size:7px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}
}

