:root{--bg-canvas:#eef7f2;--bg-surface:rgba(255,255,255,.84);--bg-surface-hover:#fff;--text-primary:#1f2937;--text-muted:#4b6257;--accent-primary:#14532d;--accent-secondary:#bbdfc8;--border-subtle:rgba(20,83,45,.19);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.25);--glow-accent:0 0 24px -4px rgba(20,83,45,.2);--glass-backdrop:blur(16px) saturate(180%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:17px/1.8 "Trebuchet MS","Segoe UI",sans-serif;overflow-wrap:anywhere;hyphens:auto}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,6vw,5.6rem);max-width:17ch}h2{font-size:clamp(1.8rem,3.7vw,2.8rem)}h3{font-size:1.35rem}p{margin-bottom:1.3rem}a{color:var(--accent-primary);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}img{display:block;width:100%;height:auto;object-fit:cover;border-radius:20px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #927028;outline-offset:5px}button{cursor:pointer}.wrap{width:min(1100px,calc(100% - 48px));margin:0 auto}.tagline{background:#dceee2;font-size:.78rem;letter-spacing:.09em;padding:7px 0;color:#254b34}.site-header{position:relative;background:#fff;border-bottom:1px solid var(--border-subtle);z-index:10}.header-row{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1rem;font-weight:bold;white-space:nowrap;letter-spacing:-.04em}.brand-mark{width:34px;height:30px;border:2px solid var(--accent-primary);border-radius:18px 18px 3px 3px;position:relative;display:inline-block;flex-shrink:0}.brand-mark:after{content:"";position:absolute;left:4px;right:4px;bottom:6px;border-top:2px solid var(--accent-primary)}.nav-links{display:flex;gap:24px;align-items:center}.nav-links a{text-decoration:none;font-size:.9rem;font-weight:bold}.nav-links a[aria-current=page]{border-bottom:2px solid var(--accent-primary)}.menu-toggle{display:none;border:1px solid var(--border-subtle);background:var(--bg-canvas);color:var(--accent-primary);border-radius:10px;font-size:2rem;line-height:1;padding:6px 16px}.skip{position:absolute;left:16px;top:-100px;z-index:30;background:white;padding:10px}.skip:focus{top:10px}.hero{position:relative;min-height:calc(100svh - 126px);display:grid;place-items:center;background:#14231a;color:white;isolation:isolate}.hero-image{position:absolute;inset:0;height:100%;border-radius:0;z-index:-2;filter:saturate(.65)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,13,.48),rgba(8,20,13,.83));z-index:-1}.hero-copy{text-align:center;padding:90px 0;max-width:850px}.hero h1{margin:0 auto 24px}.hero p{max-width:60ch;margin:0 auto 32px;color:#edf6ef}.eyebrow{display:block;text-transform:uppercase;font-size:.76rem;font-weight:bold;letter-spacing:.16em;margin-bottom:18px;color:var(--accent-primary)}.hero .eyebrow{color:#d2efd9}.button{display:inline-block;text-decoration:none;border:1px solid #14532d;background:#14532d;color:white;font-weight:bold;padding:12px 22px;border-radius:8px;box-shadow:4px 4px 0 #9ac8aa;transition:transform .3s var(--ease-kinetic),box-shadow .3s var(--ease-kinetic),background .3s}.button:hover{transform:translate(4px,4px);box-shadow:0 0 0 #9ac8aa;background:#0d4222}.button.secondary{background:white;color:#14532d}.band{padding:85px 0}.band.white{background:#fff}.band.tint{background:#e0eee5}.band.structural,.band.control{background:radial-gradient(ellipse at 90% 30%,#c0dfca 0,transparent 60%),#eaf4ee}.band.control{background:radial-gradient(ellipse at 5% 55%,#cee6d6 0,transparent 65%),#e4f0e8}.intro{max-width:70ch;margin:0 auto}.lead{font-size:1.22rem;line-height:1.7}.section-head{max-width:720px;margin-bottom:35px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}.card{padding:30px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;backdrop-filter:var(--glass-backdrop);transition:transform .4s var(--ease-kinetic),box-shadow .4s var(--ease-kinetic),background .4s}.card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}.card p:last-child{margin-bottom:0}.card-link{display:inline-block;font-weight:bold;margin-top:8px}.media-card{padding:0;overflow:clip}.media-card .card-copy{padding:28px}.media-card img{aspect-ratio:4/3;border-radius:20px 20px 0 0}.photo-frame{position:relative}.photo-frame img{aspect-ratio:4/3}.annotation{position:absolute;bottom:18px;left:18px;right:18px;padding:16px 20px;background:rgba(255,255,255,.9);backdrop-filter:var(--glass-backdrop);border-radius:20px;font-size:.87rem;line-height:1.5}.photo-band{position:relative;background:#14231a;color:white;min-height:430px;display:grid;align-items:end;isolation:isolate}.photo-band>img{position:absolute;inset:0;height:100%;border-radius:0;z-index:-2}.photo-band:after{position:absolute;content:"";inset:0;background:linear-gradient(transparent,rgba(8,20,13,.9));z-index:-1}.photo-band .wrap{padding-top:140px;padding-bottom:50px}.photo-band p{max-width:65ch}.checklist{padding-left:1.3rem}.checklist li{padding:7px 0}.sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:sequence;margin:30px 0}.sequence>div{padding:23px 18px;border-radius:20px;background:rgba(255,255,255,.82);border:1px solid var(--border-subtle)}.sequence>div:before{counter-increment:sequence;content:"0" counter(sequence);display:block;color:var(--accent-primary);font-weight:bold;margin-bottom:12px}.sequence strong{display:block}.sequence p{font-size:.9rem;margin-bottom:0}.diagram{width:100%;height:auto;color:var(--accent-primary);background:#f5faf7;border-radius:20px;padding:15px}.article-head{padding:75px 0 55px;background:radial-gradient(ellipse at 90% 0,#cce5d4,transparent 65%)}.article-head h1{font-size:clamp(2.6rem,5vw,4.3rem);max-width:23ch}.article-meta{font-size:.87rem;color:var(--text-muted)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:55px;align-items:start}.prose{max-width:70ch;margin:0 auto;min-width:0}.prose h2{font-size:1.85rem;margin-top:45px}.prose h3{margin-top:28px}.prose>img{aspect-ratio:16/9;margin-bottom:35px}.side-note{position:sticky;top:24px;font-size:.93rem}.side-note a{display:block;margin-top:15px}.note{border-left:4px solid var(--accent-primary);background:white;padding:22px;border-radius:0 20px 20px 0;margin:30px 0}.table-scroll{overflow-x:auto;margin:30px 0}table{border-collapse:collapse;width:100%;min-width:560px;font-size:.93rem;background:white}th,td{text-align:left;padding:16px;border:1px solid var(--border-subtle);vertical-align:top}th{background:#dceee2;color:#14532d}.faq-list details{border-top:1px solid var(--border-subtle);padding:24px 0}.faq-list details:last-child{border-bottom:1px solid var(--border-subtle)}summary{font-size:1.15rem;font-weight:bold;cursor:pointer;color:#14532d}details p{padding-top:18px;margin-bottom:0}.narrow{max-width:760px;margin:0 auto}.form-field{display:grid;gap:7px;margin-bottom:22px}.form-field label{font-weight:bold}.form-field input,.form-field select,.form-field textarea{width:100%;padding:12px 14px;border:1px solid #799a86;border-radius:10px;background:white;color:var(--text-primary)}textarea{min-height:180px;resize:vertical}.help{font-size:.88rem;color:var(--text-muted)}.review{background:#fff;border:1px solid var(--border-subtle);padding:28px;border-radius:20px;margin-top:30px}.review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.94rem}.actions{display:flex;gap:18px;flex-wrap:wrap;margin:22px 0}.status{min-height:1.8em;color:#14532d;font-weight:bold}.site-footer{padding:60px 0 25px;background:#d9eadd;border-top:1px solid var(--border-subtle);font-size:.88rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:30px}.site-footer h2{font-size:1rem;letter-spacing:0;margin-bottom:16px}.site-footer a{display:block;margin-bottom:7px}.site-footer address{font-style:normal}.footer-bottom{border-top:1px solid var(--border-subtle);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-bottom a{display:inline}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}.js .reveal-visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}
@media(min-width:1025px){.hero-copy{padding:110px 0}.band{padding:95px 0}}
@media(min-width:769px) and (max-width:1024px){.nav-links{gap:15px}.brand{font-size:.9rem}.split{gap:30px}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 220px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:481px) and (max-width:768px){.wrap{width:calc(100% - 40px)}.band{padding:65px 0}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.split,.article-layout{grid-template-columns:1fr}.side-note{position:static}.sequence{grid-template-columns:repeat(2,1fr)}.hero{min-height:75svh}.header-row{min-height:80px}.article-head{padding:55px 0 35px}.photo-band{min-height:370px}}
@media(max-width:767px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 24px;background:rgba(255,255,255,.97);backdrop-filter:var(--glass-backdrop);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-elevation);flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex;animation:menuOpen .25s var(--ease-kinetic)}.nav-links a{padding:12px}.brand{font-size:.95rem}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}.band{padding:50px 0}.grid{grid-template-columns:minmax(0,1fr)}.card{padding:23px}.media-card{padding:0}.footer-grid{grid-template-columns:1fr}.hero-copy{padding:65px 0}.hero h1{font-size:2.8rem}.sequence{grid-template-columns:1fr}.annotation{position:relative;inset:auto;margin:-25px 12px 0}.tagline{font-size:.67rem}.brand-mark{width:28px;height:26px}.brand{gap:7px}.actions .button{width:100%;text-align:center}.review{padding:20px}}
@keyframes menuOpen{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}