
:root{--ink:#172e25;--muted:#526359;--green:#14633d;--light:#edf5ef;--line:#dce6df;--paper:#f8faf7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #318659;outline-offset:4px}
[hidden]{display:none!important}.wrap,nav{width:min(1160px,100% - 48px);margin:auto}.site-header{border-bottom:1px solid var(--line);background:#fff}.site-header nav{display:flex;align-items:center;gap:26px;min-height:82px}.site-header a{text-decoration:none;min-height:44px;display:flex;align-items:center}.brand{font-size:24px;font-weight:900;letter-spacing:-1px;margin-right:auto;gap:14px}.brand span{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:0}.nav-guide{font-size:14px}.nav-cta{background:var(--light);padding:10px 17px;border-radius:10px;font-weight:750;color:var(--green)}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:12px;padding-top:22px}.breadcrumb a{text-decoration:none}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;padding:54px 0 50px;align-items:center}.eyebrow{font-size:12px;font-weight:800;color:var(--green);letter-spacing:.035em;margin:0 0 13px}h1{font-size:clamp(34px,4.5vw,57px);line-height:1.22;letter-spacing:-.045em;margin:0 0 23px}h2{font-size:clamp(23px,2.7vw,34px);line-height:1.35;letter-spacing:-.035em;margin:0 0 10px}h3{font-size:19px;line-height:1.45;letter-spacing:-.025em;margin:0 0 12px}p{margin:0 0 14px}.lead{font-size:20px;color:var(--muted);line-height:1.65;max-width:620px}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:26px 0 13px}.cta{display:inline-flex;min-height:49px;align-items:center;justify-content:center;text-align:center;background:var(--green);color:#fff;padding:13px 23px;border:0;border-radius:12px;font-weight:750;text-decoration:none;cursor:pointer;font-size:15px}.cta:hover{background:#0b4a2b}.text-link{font-size:14px;font-weight:700;padding:10px 0}.subtle{font-size:12px;color:var(--muted)}
.journey{background:#e6f0e8;padding:29px 30px;border-radius:24px;position:relative;border:1px solid #d4e4d8}.journey ol{list-style:none;margin:12px 0 20px;padding:0}.journey li{display:flex;gap:17px;align-items:center;padding:13px 0;border-bottom:1px solid #cedfd2}.journey li:last-child{border:0}.journey b{font-size:12px;color:var(--green);width:34px;height:34px;background:#fff;display:grid;place-items:center;border-radius:50%}.journey strong{display:block;font-size:17px}.journey span:not(.eyebrow){display:block;color:var(--muted);font-size:13px}.journey>p{border-top:1px solid #c9ddcf;margin:0;padding-top:16px;font-size:13px;color:var(--green);font-weight:700}
.jump{width:100%;display:flex;gap:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;overflow:auto;scrollbar-width:thin}.jump a{flex-shrink:0;min-height:44px;display:flex;align-items:center;padding:8px 18px;font-size:14px;text-decoration:none;border-radius:9px}.jump a:hover{background:var(--light)}
.section{padding:56px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:25px}.step-no{display:grid;place-items:center;width:33px;height:33px;flex-shrink:0;border:1px solid #c8d9ce;border-radius:9px;font-size:12px;color:var(--green);font-weight:800;margin-top:4px}.section-head p{color:var(--muted);font-size:14px;max-width:780px;margin:0}
.problem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.problem{position:relative;padding:22px 20px 35px;border-radius:16px;border:1px solid var(--line);background:#fff;text-decoration:none;min-width:0}.problem strong{display:block;font-size:16px;margin-bottom:9px}.problem span:not(.arrow){font-size:13px;color:var(--muted);display:block}.problem .arrow{position:absolute;right:18px;bottom:9px;color:var(--green)}.problem:hover,.product-card:hover{border-color:#3d875d;background:#f0f7f1}.problem.active{background:var(--light);border-color:var(--green)}
.filters{display:flex;align-items:end;gap:14px;background:#eaf1eb;padding:20px;border-radius:16px;margin-bottom:20px}.filters label{flex:1;font-size:13px;font-weight:650}.filters input,.filters select{margin-top:7px;background:#fff}.filters [role=status]{font-size:13px;color:var(--muted);padding-bottom:13px;white-space:nowrap}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.product-card{padding:23px;border:1px solid var(--line);border-radius:15px;text-decoration:none;background:#fff;display:block}.product-card h3{font-size:22px}.product-card p{font-size:13px;color:var(--muted)}.product-more{display:flex;justify-content:space-between;color:var(--green);font-size:12px;font-weight:750;padding-top:12px}.product-card .eyebrow{font-size:10px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{background:white;border:1px solid var(--line);padding:25px;border-radius:17px;min-width:0}.card>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:0}
.action-sheet{display:grid;grid-template-columns:.6fr 1.5fr;gap:24px;margin-top:20px;padding:27px;background:#eaf2ec;border-radius:17px}.steps{margin:0;padding-left:21px}.steps li{padding:5px 0 9px;font-size:14px}.keyword-list{list-style:none;padding:0;margin:16px 0}.keyword-list li{background:var(--light);padding:7px 10px;font-size:13px;margin:6px 0;border-radius:7px}.route-strip{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.route-strip span{padding:9px 13px;border:1px solid var(--line);border-radius:9px;font-size:13px}.route-strip span+span:before{content:'→';margin-right:10px;color:var(--green)}
.experiment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.experiment{padding:23px;background:#fff;border:1px solid var(--line);border-radius:17px;display:flex;flex-direction:column}.tag{align-self:flex-start;color:var(--green);font-size:11px;border:1px solid #c9ded1;background:#f0f7f1;border-radius:20px;padding:3px 10px;margin-bottom:14px}.experiment p{font-size:14px;color:var(--muted)}.measure{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.measure strong{display:block;color:var(--ink);font-size:13px}
.budget-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.calculator{background:white;padding:28px;border-radius:20px;border:1px solid var(--line)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:23px 0}.field-grid label{font-size:13px;font-weight:700}.field-grid small{font-size:11px;color:var(--muted);font-weight:400;display:block;margin-top:5px}input,select{width:100%;min-width:0;min-height:47px;border:1px solid #bfcfc3;border-radius:9px;padding:10px 12px;font-size:16px;color:var(--ink);background:#fff}.field-grid input{margin-top:7px}.calculator .cta{width:100%}output{display:block;background:var(--light);border-radius:12px;padding:17px;margin-top:15px;font-size:14px;font-weight:650;color:var(--green)}.budget-story{padding:16px 10px}.budget-story h3{font-size:27px}.budget-story>p{color:var(--muted);font-size:15px}.notice{background:#eaf2ec;padding:20px;border-radius:15px;margin-top:24px}.notice strong{font-size:15px}.notice p{font-size:13px;margin:10px 0 0;color:var(--muted)}
details{border-top:1px solid var(--line);margin-top:23px;padding-top:14px}summary{cursor:pointer;font-size:14px;font-weight:700;min-height:44px;padding:10px 0}details>p{color:var(--muted);font-size:14px;max-width:850px;padding-top:8px}.links{display:flex;flex-wrap:wrap;gap:8px}.links a{padding:10px 13px;background:#eaf1eb;border-radius:9px;text-decoration:none;font-size:13px;min-height:44px}.closing{text-align:center;background:#e3efe6;border-radius:24px;padding:48px 24px;margin:50px 0}.closing p{color:var(--muted);max-width:580px;margin:14px auto 22px}.closing .eyebrow{color:var(--green)}footer{padding:24px 0 35px}footer p{font-size:11px;color:var(--muted);margin:20px 0 0}footer .links a{background:transparent;padding-left:0;margin-right:10px}.mobile-action{display:none}.skip{position:absolute;top:-100px;left:15px;z-index:10}.skip:focus{top:10px;background:#fff;padding:15px}
@media(max-width:950px){.hero{gap:30px}.problem-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand span{display:none}}
@media(max-width:650px){html{scroll-padding-top:20px}.wrap,nav{width:calc(100% - 32px)}.site-header nav{min-height:65px;gap:12px}.brand{font-size:22px}.nav-guide{font-size:12px}.nav-cta{font-size:12px;padding:8px 12px}.hero{grid-template-columns:1fr;gap:25px;padding:30px 0}.hero h1{font-size:35px}.lead{font-size:17px}.hero-actions{gap:13px;margin-top:22px}.hero-actions .cta{flex:1;padding:13px 14px}.hero-actions .text-link{font-size:12px}.journey{padding:20px}.journey ol{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:15px 0}.journey li{border:0;padding:0;gap:9px;align-items:start}.journey b{width:25px;height:25px;flex-shrink:0;font-size:10px}.journey strong{font-size:14px}.journey span:not(.eyebrow){font-size:11px}.journey>p{font-size:12px}.jump{width:100%;gap:0}.jump a{padding:8px 13px;font-size:12px}.section{padding:35px 0}.section-head{gap:10px;margin-bottom:20px}.section-head p{font-size:13px}.step-no{width:27px;height:27px;font-size:10px}.problem-grid{gap:9px}.problem{padding:17px 13px 28px}.problem strong{font-size:14px}.problem span:not(.arrow){font-size:12px}.grid,.experiment-grid,.budget-layout,.action-sheet{grid-template-columns:1fr}.filters{padding:15px;gap:12px;flex-wrap:wrap}.filters label:first-child{flex-basis:100%}.filters label{font-size:12px}.filters [role=status]{font-size:12px}.catalog-grid{gap:9px}.product-card{padding:17px 14px}.product-card h3{font-size:19px}.product-card p{font-size:12px}.product-more{font-size:11px}.card,.experiment{padding:22px}.action-sheet{padding:23px;gap:9px}.calculator{padding:22px 18px}.field-grid{gap:14px 10px}.field-grid label{font-size:12px}.budget-story{padding:4px}.closing{margin:32px 0;padding:33px 20px}.closing h2{font-size:25px}footer{padding-bottom:100px}.mobile-action{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:5;box-shadow:0 -3px 16px #172e2508}.mobile-action>span{font-size:12px;font-weight:650}.mobile-action .cta{min-height:44px;font-size:13px;padding:10px 24px}body:has(input:focus) .mobile-action,body:has(select:focus) .mobile-action{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.focus-note{font-size:14px;color:var(--green);font-weight:700;margin-bottom:8px}.text-button{border:0;background:transparent;color:var(--green);text-decoration:underline;min-height:44px;cursor:pointer;margin-bottom:10px}

/* Compact product directory; scoped so diagnostic pages retain their layout. */
.catalog-page{background:#fff;color:#172b22}.catalog-page .wrap,.catalog-page nav{width:min(1000px,100% - 40px)}.catalog-page .site-header nav{min-height:64px}.catalog-page .brand{gap:0;font-size:22px}.catalog-page .brand span{display:inline;font-size:22px;font-weight:900;letter-spacing:-1px;color:#62c837}.catalog-page .nav-guide{font-size:13px}.catalog-page .nav-cta{font-size:12px;padding:7px 13px}.catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0 20px}.catalog-intro h1{font-size:32px;line-height:1.3;margin:0 0 10px}.catalog-intro p:last-child{font-size:14px;color:var(--muted);margin:0}.catalog-intro .eyebrow{font-size:10px;margin-bottom:8px}.catalog-intro img{width:220px;height:120px;object-fit:cover;border-radius:16px}.catalog-page #catalog{padding:20px;border:1px solid #dce6df;background:#f7faf7;border-radius:18px;margin:0 0 20px}.catalog-page .step-no{display:none}.catalog-page .section-head{margin:0 0 14px}.catalog-page h2{font-size:20px}.catalog-page .section-head p{font-size:12px}.catalog-page .filters{background:none;padding:0;margin-bottom:16px;gap:12px}.catalog-page .filters label:first-child{flex:2}.catalog-page .filters label{font-size:11px}.catalog-page .filters input,.catalog-page .filters select{margin-top:5px;min-height:46px}.catalog-page .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.catalog-page .product-card{padding:13px 14px;border-radius:11px;background:white;position:relative;min-height:85px}.catalog-page .product-card .eyebrow{font-size:10px;margin:0;color:#728077}.catalog-page .product-card h3{font-size:16px;margin:3px 0}.catalog-page .product-card p{display:none}.catalog-page .product-more{font-size:10px;padding:0;color:#35704d}.catalog-more{display:block;width:100%;min-height:44px;background:#fff;border:1px solid #dce6df;border-radius:10px;color:#21613c;font-size:13px;font-weight:700;margin-top:12px;cursor:pointer}.catalog-guide{margin:9px 0;padding:0;border:1px solid #e1e8e2;border-radius:12px}.catalog-guide>summary{padding:14px 17px;font-size:13px;min-height:50px}.catalog-guide>.section{padding:16px;border:0;border-top:1px solid #e1e8e2}.catalog-page .problem-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-page .problem{padding:14px 12px 28px}.catalog-page .problem strong{font-size:13px}.catalog-page .problem span:not(.arrow){font-size:11px}.catalog-other{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f0f5eb;border-radius:14px;padding:20px;margin:20px 0}.catalog-other h2{font-size:18px;margin:0 0 5px}.catalog-other p{font-size:12px;color:var(--muted);margin:0}.catalog-other .cta{font-size:12px;min-height:44px;padding:10px 16px}.catalog-page footer{padding:12px 0 25px}.catalog-page footer .links a{font-size:11px}.catalog-page footer p{margin-top:8px}
@media(max-width:650px){.catalog-page .wrap,.catalog-page nav{width:calc(100% - 28px)}.catalog-page .site-header nav{min-height:54px}.catalog-intro{padding:20px 0 16px}.catalog-intro h1{font-size:25px;letter-spacing:-1px}.catalog-intro p:last-child{font-size:12px}.catalog-intro img{display:none}.catalog-page #catalog{padding:14px;border-radius:14px;margin-bottom:14px}.catalog-page h2{font-size:18px}.catalog-page .section-head p{font-size:11px}.catalog-page .filters{gap:10px;margin-bottom:12px}.catalog-page .filters label:first-child{flex-basis:100%}.catalog-page .filters [role=status]{font-size:11px}.catalog-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.catalog-page .product-card{padding:10px 12px;min-height:80px}.catalog-page .product-card h3{font-size:15px}.catalog-page .problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-guide>summary{padding:13px;font-size:12px}.catalog-other{padding:16px;display:block;margin:16px 0}.catalog-other .cta{margin-top:12px}.catalog-page footer .links{gap:2px 10px}}
