:root{--g:#1f5f4a;--ink:#1d2326;--mut:#5a6570;--bg:#fbfaf7;--line:#dfe3e0}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.top{background:var(--g);color:#fff}.top .wrap{padding:.6rem 1rem}
.brand{color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none}
.top ul{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1rem}
.top a{color:#fff}.top a[aria-current]{font-weight:700;text-decoration-thickness:3px}
h1{font-size:1.75rem;line-height:1.25;margin:1.2rem 0 .6rem}h2{font-size:1.3rem;margin:2rem 0 .5rem}
.lead{font-size:1.12rem}a{color:var(--g)}
.btn,button{display:inline-block;background:#c2410c;color:#fff;border:0;border-radius:.5rem;padding:.8rem 1.2rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;min-height:44px}
.btn:focus,button:focus,a:focus,input:focus,textarea:focus{outline:3px solid #f59e0b;outline-offset:2px}
table{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff}caption{text-align:left;font-weight:700;padding:.4rem 0}
th,td{border:1px solid var(--line);padding:.5rem;text-align:left;vertical-align:top}
.small{font-size:.88rem;color:var(--mut)}.crumb{font-size:.9rem;margin-top:1rem}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:.6rem;padding:1rem;color:inherit;text-decoration:none}.card h2{margin:0 0 .3rem;color:var(--g)}.card span{color:var(--g);font-weight:600}
.quote{background:#fff;border:2px solid var(--g);border-radius:.7rem;padding:1rem;margin:2rem 0}
.quote h2{margin-top:.3rem}.qf label{display:block;font-weight:600;margin:.8rem 0 .2rem}
.qf input:not([type=checkbox]),.qf textarea{width:100%;font:inherit;padding:.6rem;border:1px solid #9aa5a0;border-radius:.4rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0}.consent input{width:1.4rem;height:1.4rem;margin-top:.2rem;flex:none}.consent label{font-weight:400;margin:0;font-size:.93rem}
.placeholder{background:#fff4d6;border:2px dashed #b45309;padding:.7rem;border-radius:.4rem}
.status{font-weight:600}.steps li{margin-bottom:.6rem}
.foot{border-top:1px solid var(--line);margin-top:3rem;padding:1rem 0;font-size:.9rem;color:var(--mut)}
/* v2 polish */
:root{--g:#1f5f4a;--g2:#174a3a;--acc:#e8743b}
body{background:#f7f6f2}
.top{position:sticky;top:0;z-index:1000;box-shadow:0 1px 8px rgba(0,0,0,.12)}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;letter-spacing:-.01em}.brand b,.fbrand b{color:#ffd5bd}
.top ul{font-size:.95rem;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:.2rem}
.btn,button{background:var(--acc);box-shadow:0 2px 0 #b9541f}.btn:hover,button:hover{filter:brightness(.95)}
.btn.ghost,button.ghost{background:#fff;color:var(--g);border:2px solid var(--g);box-shadow:none}
button:disabled{opacity:.5;cursor:not-allowed}
.cta-row{display:flex;flex-wrap:wrap;gap:.6rem}
.hero{background:linear-gradient(135deg,#1f5f4a,#2f7a60);color:#fff;margin:0 -1rem;padding:1.6rem 1rem 1.8rem;border-radius:0 0 1rem 1rem}
.hero h1{margin-top:0;font-size:2rem}.hero .btn.ghost{background:transparent;color:#fff;border-color:#fff}
@media(min-width:48rem){.hero{margin:1rem 0;border-radius:1rem;padding:2.4rem}}
.card{box-shadow:0 1px 3px rgba(0,0,0,.06);transition:transform .15s}.card:hover{transform:translateY(-2px)}.card svg{width:100%;height:auto;border-radius:.5rem;margin-bottom:.5rem}.card h3{margin:.2rem 0;color:var(--g)}
.trust{background:#fff;border-radius:.7rem;padding:.4rem 1rem;margin:1.6rem 0;border-left:5px solid var(--acc)}.trust ul{padding-left:1.1rem}
.steps-row{list-style:none;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.steps-row li{background:#fff;border-radius:.6rem;padding:.8rem;display:flex;gap:.6rem;align-items:center}.steps-row span{background:var(--g);color:#fff;border-radius:50%;width:2rem;height:2rem;display:grid;place-items:center;flex:none;font-weight:700}
.guide-links{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.guide-links a{display:block;background:#fff;border:1px solid var(--line);padding:.5rem .8rem;border-radius:2rem}
.tool{background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:1rem;display:grid;gap:.7rem}
.tool fieldset{border:0;padding:0;margin:0}.tool legend{font-weight:700;margin-bottom:.3rem}
.tool input[type=number],.tool input:not([type]),.find input{width:100%;font:inherit;padding:.6rem;border:1px solid #9aa5a0;border-radius:.4rem}
.row{display:flex;gap:.6rem;align-items:flex-end}.row>*{flex:1}.row.tight>*{flex:none}.row label{font-weight:600}
.opt{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.5rem;margin:.3rem 0;cursor:pointer}.opt small{margin-left:auto;color:var(--mut)}.opt input{width:1.2rem;height:1.2rem;accent-color:var(--g)}
.hint{color:var(--mut)}
#map{height:60vh;min-height:320px;border-radius:.6rem;cursor:crosshair}
.result{display:block;background:#e6f0ec;border-radius:.6rem;padding:.9rem;font-size:1rem}.result .big{display:block;font-size:1.7rem;font-weight:800;color:var(--g2)}
.note{background:#fff8ef;border-left:4px solid var(--acc);padding:.6rem .8rem;border-radius:.3rem;font-size:.92rem}
.foot{background:#16372d;color:#d7e3de;border:0}.foot a{color:#fff}.foot h2{font-size:1rem;color:#fff;margin:.8rem 0 .3rem}.foot ul{list-style:none;padding:0;margin:0;line-height:2}
.fcols{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.fbrand{font-weight:800;font-size:1.2rem;color:#fff;margin-bottom:.2rem}.disc{font-size:.82rem;color:#a9bdb5}
.quote{border-color:var(--acc)}
/* v3 responsive desktop layout */
.wrap{max-width:75rem;padding:0 1rem}
main p,main li,.lead,.quote,.qf,.trust,.note{max-width:70ch}
.cards{grid-template-columns:1fr}
@media(min-width:40rem){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:48rem){.wrap{padding:0 1.5rem}.top .wrap{padding:.6rem 1.5rem}.hero{padding:3rem 2.5rem}}
@media(min-width:64rem){
.wrap{padding:0 2rem}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.8rem 2rem}
.top ul{margin:0;gap:1.4rem;padding-bottom:0}
.cards{grid-template-columns:repeat(3,1fr)}
.hero{padding:4rem 3.5rem}.hero h1{font-size:2.6rem;max-width:22ch}.hero .lead,.hero p{max-width:60ch}
h1{font-size:2.1rem}
.tool{max-width:none}.quote{max-width:48rem}.tool .note{max-width:70ch}
#map{height:65vh;min-height:480px}
.foot .wrap{padding:1rem 2rem}
}
.disclose{background:#fff8ef;border-left:4px solid var(--acc);padding:.5rem .7rem;border-radius:.3rem;font-size:.92rem}
.checked{margin-top:2rem;font-size:.9rem;color:var(--mut);border-top:1px solid var(--line);padding-top:.6rem}
/* Header nav: hamburger under 1024px, inline from 1024px */
.top .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.dnav{display:none}
.mnav{position:static}
.mnav summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.4rem .9rem;border:2px solid rgba(255,255,255,.7);border-radius:.5rem;color:#fff;font-weight:700;font-size:1rem}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary:focus-visible{outline:3px solid #ffd5bd;outline-offset:2px}
.mnav[open] summary{background:#fff;color:var(--g)}
.mnav .mico{font-size:1.25rem;line-height:1}
.mnav nav{position:absolute;left:0;right:0;top:100%;background:var(--g2,#174a3a);box-shadow:0 8px 16px rgba(0,0,0,.2)}
.top .mnav ul{display:block;margin:0;padding:.3rem 0;overflow:visible;white-space:normal;font-size:1.1rem}
.mnav li a{display:block;padding:.9rem 1.25rem;min-height:44px;text-decoration:none;border-top:1px solid rgba(255,255,255,.12)}
.mnav li:first-child a{border-top:0}
.mnav li a:hover,.mnav li a:focus-visible{background:rgba(255,255,255,.1)}
.mnav li a[aria-current]{border-left:4px solid #ffd5bd}
.top{position:sticky}
@media(min-width:64rem){.mnav{display:none}.dnav{display:block}.top .dnav ul{display:flex}}
.tips{margin:.6rem 0;padding-left:1.2rem;font-size:.92rem;color:var(--ink)}.tips:empty{display:none}.tips li{margin:.2rem 0}

.mjq{margin-top:.8rem}.mjq iframe{display:block;width:100%;height:640px;border:0;border-radius:.5rem;background:#fff}@media (max-width:600px){.quote{padding:.7rem}.mjq iframe{height:720px}}

.measure{scroll-margin-top:5rem;background:#f3f8f5;border:2px solid #1f5f4a;border-radius:.5rem;padding:.8rem 1rem;margin:.8rem 0}.measure h3{margin:0 0 .3rem}.measure .mtext{font-weight:600;margin:.2rem 0 .5rem;overflow-wrap:anywhere}.measure .mrow{display:flex;align-items:center;gap:.8rem;margin:.3rem 0}.measure .mdone{color:#1f5f4a;font-weight:700}.measure .small{margin:.3rem 0 0;font-size:.9rem}
