:root{--ink:#202c29;--muted:#5b6762;--green:#176754;--line:#dce3de;--paper:#fff;--soft:#f2f5f2;--accent:#f0cf4e;letter-spacing:0;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.15;font-weight:600;letter-spacing:0}h2{font-size:36px}h3{font-size:22px}svg{width:20px;height:20px;flex-shrink:0}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #bc8c00;outline-offset:4px}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:28px;padding:16px 40px;max-width:1600px;margin:auto}.brand{font-size:30px;font-weight:800;text-decoration:none;line-height:1}.brand span{color:var(--green)}.brand .brand-dot{color:#ab8100}nav{display:flex;gap:34px;font-size:14px}nav a,.contact-nav{text-decoration:none}.contact-nav{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.hero{position:relative;min-height:520px;height:min(630px,calc(100svh - 158px));color:white;background:#415955;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:rgba(13,27,23,.3);z-index:-1}.hero-inner{width:min(1160px,calc(100% - 80px));margin:auto;padding-top:50px}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;line-height:1.5}.green{color:var(--green)}.hero h1{font-size:108px;margin:10px 0}.hero-subtitle{font-size:30px;line-height:1.25;font-weight:500;max-width:620px;text-shadow:0 1px 3px #0006}.hero-description{font-size:16px;max-width:410px;margin:18px 0 26px;text-shadow:0 1px 3px #0009}.button{border:1px solid transparent;border-radius:4px;display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:13px 21px;min-height:50px;font-weight:600;text-decoration:none;font-size:14px;transition:background .15s,box-shadow .15s}.light{color:var(--ink);background:white}.light:hover{background:#edf4f0}.primary{background:var(--green);color:white}.primary:hover{background:#10503f}.hero-caption{position:absolute;bottom:20px;left:40px;right:40px;display:flex;justify-content:space-between;gap:20px;font-size:11px;text-shadow:0 1px 4px #000}.intro-strip{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:24px;padding-block:30px;border-bottom:1px solid var(--line);align-items:center;font-size:13px}.intro-strip p{font-size:14px}.intro-strip div{display:flex;align-items:center;gap:10px;line-height:1.4}.intro-strip svg{color:var(--green)}.section{padding-block:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{font-size:14px;color:var(--muted)}.prototype-notice{display:flex;align-items:start;gap:12px;background:#fff9dd;border-left:3px solid #b18a0d;padding:14px 18px;font-size:13px;margin-bottom:32px}.prototype-notice svg{color:#7c640c;margin-top:2px}.planner-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}form>label,legend{display:block;font-size:14px;font-weight:600;margin-bottom:8px}select{appearance:auto;display:block;width:100%;height:48px;padding:0 12px;border:1px solid #b7c5bd;border-radius:4px;background:white;color:var(--ink);margin-bottom:24px;font-size:14px}fieldset{margin:0 0 24px;padding:0;border:0}.radio-options{display:flex;gap:20px;flex-wrap:wrap}.radio-options label{display:flex;align-items:center;gap:8px;font-size:14px}.radio-options input{accent-color:var(--green);width:17px;height:17px;margin:0}form .button{width:100%;margin-top:5px}.privacy-note{display:flex;gap:8px;align-items:start;color:var(--muted);font-size:12px;margin-top:14px}.privacy-note svg{width:15px;height:15px;margin-top:3px}.plan-output{background:var(--soft);border:1px solid var(--line);padding:30px;border-radius:6px;min-width:0}.output-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.label{font-size:12px;font-weight:600;color:var(--green)}.small-label{font-size:10px;padding:2px 6px;background:#dee9e1;border-radius:2px;font-weight:700}.plan-output h3{font-size:25px}.plan-summary{font-size:14px;color:var(--muted);margin-top:12px}.context{font-size:12px;margin-top:14px;color:var(--green)}.plan-steps{margin:24px 0;padding:0;list-style:none;counter-reset:steps}.plan-steps li{position:relative;padding:16px 0 16px 38px;border-top:1px solid #d7e0d9}.plan-steps li:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:19px;color:var(--green);font-size:11px;font-weight:700}.plan-steps label{display:flex;gap:12px;align-items:start;font-size:14px;font-weight:600;cursor:pointer}.plan-steps input{width:17px;height:17px;flex-shrink:0;margin:3px 0 0;accent-color:var(--green)}.plan-steps p{font-size:13px;color:var(--muted);margin-top:6px;margin-left:29px}.plan-steps label:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.sources{border-top:1px solid #d7e0d9;padding-top:18px}.sources h4{font-size:12px;margin-bottom:8px}.sources a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;text-decoration:none;color:var(--green)}.sources a:hover{text-decoration:underline}.sources svg{width:15px;height:15px}.output-bottom{display:flex;align-items:center;gap:10px;margin-top:20px}.output-bottom p{font-size:12px;margin-right:auto;color:var(--muted)}.icon-button{width:38px;height:38px;padding:8px;display:grid;place-items:center;border:1px solid #bbc9c0;border-radius:4px;background:transparent;color:var(--green)}.icon-button:hover{background:#e0e9e2}.result-note{font-size:11px;color:var(--muted);line-height:1.65;border-top:1px solid #d7e0d9;padding-top:14px;margin-top:18px}.approach{background:var(--soft)}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:46px}.principles article{border-top:1px solid #becdc3;padding-top:22px;position:relative}.step-number{font-size:12px;color:var(--muted)}.principles svg{position:absolute;right:0;top:20px;color:var(--green);width:25px;height:25px}.principles h3{font-size:21px;margin:32px 0 14px}.principles p{font-size:14px;color:var(--muted)}.about{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.about h2{margin:14px 0 24px;font-size:33px}.about p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:18px}.about p.independence{font-size:12px}.project-facts{padding-top:40px}.project-facts h3{font-size:18px}.project-facts dl{margin-top:22px}.project-facts dl>div{display:grid;grid-template-columns:1fr 1.5fr;gap:22px;padding-block:16px;border-top:1px solid var(--line);font-size:13px}.project-facts dt{color:var(--muted)}.project-facts dd{margin:0}.project-facts a{overflow-wrap:anywhere}.contact-band{background:#154e40;color:white;padding:60px 0}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{margin:14px 0 20px}.contact-band p:not(.eyebrow){font-size:14px;color:#d2e2d8}.contact-band .button{flex-shrink:0}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}.faq h2{font-size:30px}details{border-bottom:1px solid var(--line);padding-block:18px}details:first-child{padding-top:0}summary{font-size:15px;font-weight:600;cursor:pointer}details p{font-size:14px;color:var(--muted);margin-top:14px}footer{display:flex;gap:28px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:30px;font-size:11px;color:var(--muted)}footer .brand{font-size:25px;color:var(--ink)}.skip{position:absolute;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero-inner{padding-top:60px}.hero-image{object-position:50% 60%}}
@media(max-width:900px){.wrap,.hero-inner{width:calc(100% - 48px)}.site-header{padding-inline:24px;gap:20px}nav{gap:20px}.intro-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.planner-layout{gap:28px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.section-heading{align-items:start;flex-direction:column;gap:18px}.about{gap:40px}.principles{gap:25px}.hero-caption{left:24px;right:24px}.plan-output{padding:22px}.faq{gap:30px}}
@media(max-width:640px){.site-header{min-height:74px;flex-wrap:wrap;gap:12px;padding:18px 20px}.brand{font-size:26px}nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:13px;padding-top:9px}.contact-nav{font-size:12px}.contact-nav svg{width:16px;height:16px}.wrap,.hero-inner{width:calc(100% - 40px)}.hero{height:calc(100svh - 205px);min-height:480px;max-height:580px}.hero-inner{padding-top:30px}.hero h1{font-size:78px;margin:14px 0}.hero-subtitle{font-size:25px}.hero-description{font-size:14px;max-width:340px}.hero-image{object-position:54% 50%}.hero-caption{left:20px;right:20px;font-size:10px;bottom:15px;flex-direction:column;gap:0}.eyebrow{font-size:10px}.intro-strip{font-size:12px;padding-block:24px}.intro-strip p{font-size:12px}.intro-strip svg{width:17px;height:17px}.section{padding-block:48px}h2{font-size:29px}.section-heading{gap:16px}.section-heading>p{font-size:13px}.planner-layout{grid-template-columns:minmax(0,1fr);gap:30px}.prototype-notice{font-size:12px;padding:12px}.plan-output{padding:22px 18px}.plan-output h3{font-size:23px}.principles{grid-template-columns:1fr;gap:30px;margin-top:30px}.principles h3{margin:24px 0 10px}.about{grid-template-columns:1fr;gap:25px}.about h2{font-size:29px}.project-facts{padding-top:0}.contact-band{padding:40px 0}.contact-band>.wrap{align-items:start;flex-direction:column;gap:24px}.contact-band h2{font-size:28px}.contact-band p:not(.eyebrow){font-size:13px}.faq{grid-template-columns:1fr;gap:28px}.faq h2{font-size:27px}footer{align-items:start;flex-direction:column;gap:14px}.hero .button{gap:12px;padding:12px 15px;font-size:13px}.project-facts dl>div{grid-template-columns:1fr 1.3fr;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
