:root{color-scheme:light;--ink:#142c23;--focus:#96670b;--muted:#4c655a;--paper:#f7faf7;--surface:#fff;--line:#d6e2da;--green:#08704e;--on-green:#fff;--lime:#d6f78c;--wash:#eaf3eb;--xs:.5rem;--xm:1rem;--xl:2rem;--ys:.5rem;--ym:1.5rem;--yl:3rem;--radius:1rem;font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper)}
[data-theme=dark]{color-scheme:dark;--ink:#eaf6ee;--focus:#d6f78c;--muted:#b3c9bd;--paper:#101e18;--surface:#182c22;--line:#345244;--green:#b9ed88;--on-green:#10241a;--wash:#213a2d}
*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,p,figure,ul,ol{margin:0}h1{font-size:3rem;line-height:1.167;font-weight:700;letter-spacing:-.03em}h2{font-size:2rem;line-height:1.25;letter-spacing:-.02em}h3{font-size:1.5rem;line-height:1.333;font-weight:600}h4{font-size:1.25rem;line-height:1.4}a{color:var(--green);text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{max-width:100%;height:auto;display:block}button{color:inherit}button svg{width:22px;height:22px;display:block}svg{flex:none}::selection{background:var(--lime);color:#11271c}.wrap{width:min(1280px,100% - 4rem);margin-inline:auto}.skip{position:absolute;inset:0 auto auto 0;transform:translateY(-150%);background:var(--surface);padding:var(--xm);z-index:100}.skip:focus{transform:none}
.topline{background:#133c2a;color:#e0efdf;font-size:.875rem}.topline .wrap{min-height:32px;display:flex;justify-content:space-between;align-items:center;gap:var(--xm)}.topline a{color:inherit}.header{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{display:flex;gap:var(--xm);align-items:center;min-height:92px}.brand{display:block;flex:none;color:var(--green);text-decoration:none}.brand img{width:234px;height:auto;object-fit:contain}.brand-text{font-size:1.3rem;font-weight:800;line-height:1.1}.nav{display:flex;align-items:center;gap:var(--xm);margin-left:auto}.nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.875rem;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--green)}.header-actions{display:flex;gap:var(--xs);align-items:center}.icon-button{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:50%;display:grid;place-items:center}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--ys) var(--xm);font-size:1rem;font-weight:600;border:1px solid var(--green);border-radius:8px;background:var(--green);color:var(--on-green);text-decoration:none;text-align:center;gap:var(--xs)}.button.secondary{background:transparent;color:var(--green)}.button:hover{filter:brightness(.95)}.actions{display:flex;flex-wrap:wrap;gap:var(--xm);margin-top:var(--ym)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.breadcrumbs{padding-block:var(--ym);font-size:.875rem;color:var(--muted);display:flex;gap:var(--xs);flex-wrap:wrap}.breadcrumbs a{color:var(--muted)}.hero{padding-block:var(--ym) var(--yl);display:grid;grid-template-columns:1fr 1fr;gap:var(--xl);align-items:start}.hero-copy{display:flex;flex-direction:column;gap:var(--ym)}.hero-copy h1{max-width:14ch}.hero-copy .lead{max-width:52ch;font-size:1.125rem;line-height:1.5;color:var(--muted)}.hero-copy .actions{margin:0}.hero-media{position:relative}.hero-media img{border-radius:var(--radius);width:100%;height:auto}.hero figcaption,.scene-caption{font-size:.75rem;color:var(--muted);margin-top:var(--ys)}.hero-tags{display:flex;gap:var(--xs);flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:var(--ys) var(--xs);border:1px solid var(--line);border-radius:6px;font-size:.875rem;background:var(--surface)}.hero-index{display:flex;gap:var(--xm);align-items:center;margin-top:var(--ym);font-size:.875rem}.hero-index strong{font-size:1.5rem;color:var(--green)}.split-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--xl);background:#123e2b;color:#f6fff6;padding:var(--ym) var(--xl);border-radius:var(--radius)}.split-strip p{color:#c9dfce;font-size:.875rem}.split-strip strong{display:block;margin-bottom:var(--ys);font-size:1.125rem}.section{padding-block:var(--yl)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--xl);margin-bottom:var(--ym)}.section-head p{max-width:58ch;color:var(--muted);margin-top:var(--ys)}.section-head .eyebrow{margin-bottom:var(--ys)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--xm)}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:var(--green)}.card>a{height:100%;display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}.card img{width:100%;aspect-ratio:3/2;object-fit:cover}.card-body{padding:var(--ym) var(--xm);display:flex;flex-direction:column;gap:var(--ys);flex:1}.card-title{font-size:1.25rem;line-height:1.4;letter-spacing:0}.card p{font-size:1rem;color:var(--muted)}.card small{font-size:.75rem;color:var(--green);text-transform:uppercase;letter-spacing:.08em}.card-action{color:var(--green);font-weight:600;margin-top:var(--ym)}.surface{background:var(--surface);border:1px solid var(--line);padding:var(--ym) var(--xl);border-radius:var(--radius)}.prose{max-width:75ch}.prose>*+*{margin-top:var(--ym)}.prose h2{margin-top:var(--yl)}.prose ul,.prose ol{padding-left:var(--xl)}.prose li+li{margin-top:var(--ys)}.body-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--xl);align-items:start}.sidebar{position:sticky;top:116px;display:grid;gap:var(--ym)}.sidebar p{color:var(--muted)}.sidebar .button{width:100%;margin-top:var(--ym)}.sidebar ul{padding-left:var(--xm)}.aside-label{font-size:.875rem;font-weight:700;margin-bottom:var(--ys);color:var(--green)}.answer{border-left:4px solid var(--green);background:var(--wash);padding:var(--ym) var(--xl);border-radius:0 var(--radius) var(--radius) 0}.answer p{margin-top:var(--ys)}.data-table{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-block:var(--ym)}table{border-collapse:collapse;width:100%;text-align:left;min-width:580px}th,td{padding:var(--ym) var(--xm);border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;background:var(--wash)}tr:last-child td{border-bottom:0}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--xm);margin-top:var(--ym)}.detail-list li{list-style:none;padding:var(--ym) var(--xm);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.detail-list strong{display:block;margin-bottom:var(--ys)}.detail-list p{color:var(--muted)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding-block:var(--ym)}.faq summary{font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:var(--xm)}.faq summary:after{content:'+';font-size:1.5rem;color:var(--green)}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:var(--ys);color:var(--muted);max-width:80ch}.sources{font-size:.875rem;color:var(--muted)}.sources ul{padding-left:var(--xm)}.band{background:var(--wash);border-block:1px solid var(--line)}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:var(--xl);align-items:center}.cta-grid p{margin-top:var(--ys);max-width:60ch;color:var(--muted)}.footer{background:#102e20;color:#f1f8f1;padding-block:var(--yl);margin-top:var(--yl)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--xl)}.footer a{color:#e7f6de}.footer ul{list-style:none;padding:0;display:grid;gap:var(--ys);margin-top:var(--ym)}.footer p{color:#b9d2c0;font-size:.875rem;margin-top:var(--ym)}.footer .brand img,[data-theme=dark] .brand img{filter:brightness(0) invert(1)}.footer-bottom{border-top:1px solid #42604b;padding-top:var(--ym);margin-top:var(--yl);display:flex;justify-content:space-between;gap:var(--xm);font-size:.75rem;color:#b9d2c0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ym) var(--xm)}.field{display:flex;flex-direction:column;gap:var(--ys)}.field.full{grid-column:1/-1}.field label{font-weight:600}.field small{color:var(--muted);font-size:.875rem}.field input,.field select,.field textarea{min-height:48px;padding:var(--ys) var(--xm);width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px}.field textarea{min-height:128px;resize:vertical}.calc-result{background:var(--wash);border:1px solid var(--line);border-radius:var(--radius);padding:var(--ym) var(--xl);margin-top:var(--ym)}.calc-result strong{font-size:2rem;display:block}.calc-result p{margin-top:var(--ys)}.notice{color:var(--muted);font-size:.875rem;margin-top:var(--ym)}.form-error{color:#bb291e;font-weight:600;margin-top:var(--ym)}[data-theme=dark] .form-error{color:#ffb8a8}.form-error:empty{display:none}.filter-row{display:flex;flex-wrap:wrap;gap:var(--xs);margin-bottom:var(--ym)}.filter-row button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:32px;min-height:44px;padding:var(--ys) var(--xm)}.filter-row button[aria-pressed=true]{background:var(--green);color:var(--on-green);border-color:var(--green)}[hidden]{display:none!important}.content-link{font-weight:600}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--xm)}.step-number{font-size:2rem;font-weight:700;color:var(--green);display:block;margin-bottom:var(--ys)}
@media(max-width:1100px){.nav{gap:var(--xs)}.header .button{display:none}.brand img{width:204px}.body-layout{grid-template-columns:minmax(0,1fr) 260px}.sidebar .surface{padding:var(--ym) var(--xm)}}
@media(max-width:900px){.nav{display:none}.header-inner{flex-wrap:wrap}.nav.open{display:flex;position:static;order:3;width:100%;margin:0;padding:0 0 var(--ym);flex-direction:column;align-items:stretch;background:var(--surface);gap:0}.nav.open a{font-size:1rem;padding:var(--ys) var(--xs)}.menu-toggle{display:grid}.header-actions{margin-left:auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.body-layout{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:1fr 1fr}.hero h1{font-size:2.5rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){:root{--xl:1.5rem;--ym:1rem;--yl:2rem}.wrap{width:calc(100% - 3rem)}.topline .wrap span:last-child{display:none}.header-inner{min-height:76px}.brand img{width:194px}.hero{grid-template-columns:1fr}.hero-copy{gap:var(--ym)}h1,.hero h1{font-size:2rem;line-height:1.25}h2{font-size:1.75rem;line-height:1.286}h3{font-size:1.375rem;line-height:1.364}.hero-copy h1{max-width:22ch}.split-strip{grid-template-columns:1fr;gap:var(--ym)}.section-head{align-items:start;flex-direction:column;gap:var(--ym)}.cards,.cards.two{grid-template-columns:1fr 1fr}.cta-grid,.mini-grid{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.detail-list{grid-template-columns:1fr}.hero-index{display:none}}
@media(max-width:430px){.wrap{width:calc(100% - 2rem)}.brand img{width:164px}.header-inner{gap:var(--xs)}.cards,.cards.two,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.actions{flex-direction:column}.actions .button{width:100%}.hero-tags .tag{font-size:.75rem}.surface{padding:var(--ym) var(--xm)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.prose section>*+*{margin-top:var(--ym)}.prose section+section{margin-top:var(--yl)}.prose section h2{margin-top:0}.filter-row{margin-top:var(--ym)}#filter-status{margin:0 0 var(--ym)}.section>h2+.cards{margin-top:var(--ym)}caption{text-align:left;font-weight:600;padding:var(--ym) var(--xm);color:var(--ink)}.field input,.field select,.field textarea{border-color:#788d80}[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea{border-color:#8da996}
@media(max-width:720px){.data-table{overflow:visible}table{min-width:0}thead{display:none}tr{display:block;padding:var(--ym) var(--xm);border-bottom:1px solid var(--line)}td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);overflow-wrap:anywhere;gap:var(--xm);padding:var(--ys) 0;border:0}td:before{content:attr(data-label);font-weight:600}tr:last-child{border:0}.topline .wrap{flex-wrap:wrap;gap:0;padding-block:var(--ys)}.topline a{font-size:.75rem}}

.calculator-heading{max-width:75ch}.calculator-heading>*+*{margin-top:var(--ym)}.calculator-heading p:last-child{color:var(--muted)}.section>.hero-media{max-width:800px}

.footer,.topline{--focus:#d6f78c}

/* R2: contact, assistant and lead capture */
.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}.trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.dialog-open{overflow:hidden}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--xl)}.contact-panel>div>*+*{margin-top:var(--ym)}.contact-phone{display:block;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:650;letter-spacing:-.04em}.contact-email{display:block;overflow-wrap:anywhere}.legal-data dt{color:var(--muted);font-size:.85rem;margin-top:1rem}.legal-data dd{margin:0}.contact-dock{position:fixed;right:24px;bottom:22px;z-index:25;display:flex;align-items:center;gap:8px;filter:drop-shadow(0 5px 12px #001b182b)}.contact-dock button,.dock-phone{border:1px solid #ffffff30;background:var(--brand,#08704e);color:white;min-height:50px;border-radius:28px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;font:inherit;font-weight:600;cursor:pointer}.dock-phone{width:50px;padding:12px}.dock-phone svg{width:23px;height:23px}.online-dot{width:7px;height:7px;border-radius:100%;background:#d6f78c}.contact-dialog,.chat-dialog{background:var(--paper);color:var(--ink);padding:28px;border:1px solid var(--line);border-radius:18px;width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;box-shadow:0 28px 100px #001d2955}.contact-dialog::backdrop,.chat-dialog::backdrop{background:#052d3270;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.dialog-head h2{font-size:clamp(1.45rem,4vw,1.9rem);line-height:1.15}.dialog-head .eyebrow{font-size:.68rem;margin-bottom:8px}.dialog-close{flex:none;width:36px;height:36px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:50%;font:inherit;font-size:25px;line-height:1;cursor:pointer}.contact-dialog>p{margin:16px 0;color:var(--muted)}.contact-dialog .form-grid{gap:16px}.contact-dialog input,.contact-dialog textarea{background:var(--surface)}.contact-dialog form>.field{margin-bottom:16px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;line-height:1.5;margin:20px 0;color:var(--muted)}.consent input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:#08704e}.consent a{text-decoration:underline}.request-status{font-size:.85rem;line-height:1.5;margin-top:12px;white-space:pre-line;overflow-wrap:anywhere}.request-status:empty{display:none}button:disabled{opacity:.65;cursor:wait}.quick-dialog{max-width:500px}.chat-dialog{width:min(430px,calc(100vw - 24px));margin:0;left:auto;top:auto;right:24px;bottom:84px;padding:22px;max-height:calc(100dvh - 112px)}.chat-note{font-size:.78rem;color:var(--muted);margin:14px 0}.chat-messages{overflow:auto;min-height:100px;max-height:35dvh;padding-right:5px;overscroll-behavior:contain}.chat-message{font-size:.88rem;line-height:1.55;border-radius:12px;padding:12px 14px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line)}.chat-message.user{background:#08704e;color:white;margin-left:24px;border-color:transparent}.chat-message.assistant{margin-right:16px}.chat-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.chat-suggestions button{font:inherit;font-size:.73rem;padding:7px 10px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:20px;cursor:pointer}.chat-compose{display:flex;align-items:stretch;gap:8px}.chat-compose textarea{min-height:60px;resize:vertical;width:100%;background:var(--surface);color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem}.chat-compose .button{padding:0 16px}.chat-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.chat-bottom .button{font-size:.8rem;min-height:40px;padding:9px 14px}.text-button{font:inherit;font-size:.75rem;border:0;background:transparent;color:var(--muted);cursor:pointer}.chat-dialog .notice{font-size:.68rem;margin-top:10px}.chat-sources{display:flex;flex-direction:column;gap:5px;font-size:.72rem}.chat-sources a{text-decoration:underline}.footer{padding-bottom:96px}
@media(max-width:720px){.contact-panel{grid-template-columns:1fr;gap:24px}.contact-dock{bottom:14px;right:14px}.chat-dialog{right:12px;bottom:78px;max-height:calc(100dvh - 90px);padding:18px}.contact-dialog{padding:22px;max-height:calc(100dvh - 24px)}.contact-dialog .form-grid{grid-template-columns:1fr}.chat-messages{max-height:32dvh}.header-actions .button{font-size:.75rem;padding:10px 12px}.footer{padding-bottom:100px}}
