:root{
  --ink:#16231C;--ink-d:#14201A;--forest:#1E4D36;--leaf:#DCE8D2;--leaf-2:#C5D9B5;
  --amber:#E8A33D;--amber-d:#C77F12;--amber-l:#F2C67A;--ground:#F5F6F0;--muted:#4A5A50;
  --muted-2:#3F5046;--line:#E3E8DF;--line-2:#C9D3CB;--white:#fff;--sand:#F5E2BC;--sand-fg:#5A3A05;
  --display:'Bricolage Grotesque','DM Sans',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}
h1,h2,h3,p{margin:0}
a{color:var(--forest)}
a:hover{color:var(--ink-d)}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--forest);color:#fff;padding:10px 16px;border-radius:8px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:1200px;width:100%;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:1040px}
.display{font-family:var(--display);font-weight:700;letter-spacing:-.02em}

/* header */
.hdr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:16px;padding-bottom:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:44px}
.logo-mark{width:36px;height:36px;border-radius:50%;background:var(--forest);display:flex;align-items:center;justify-content:center}
.logo-text{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em}
.hdr-slim .logo-mark{width:28px;height:28px}
.hdr-slim .logo-text{font-size:20px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none}
.nav a[aria-current="page"]{background:var(--leaf)}
.hdr-right{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.langs{display:flex;gap:4px;padding:4px;border:1px solid var(--line-2);border-radius:999px;background:#fff}
.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:40px;border-radius:999px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none}
.langs a[aria-current="true"]{background:var(--forest);color:#fff}
.hdr-link{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;color:var(--muted-2);text-decoration:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:2px solid transparent;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;font-family:inherit}
.btn-lg{min-height:52px;padding:0 28px;font-size:17px}
.btn-amber{background:var(--amber);color:var(--ink-d)}
.btn-amber:hover{color:var(--ink-d);background:#F0B050}
.btn-forest{background:var(--forest);color:#fff}
.btn-forest:hover{color:#fff;background:#173B29}
.btn-outline{background:#fff;border-color:var(--forest);color:var(--forest)}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}

/* hero */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:40px;padding-bottom:72px}
.hero-l{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.hero-r{flex:1 1 380px;min-width:0}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--leaf);color:var(--forest);font-size:14px;font-weight:700}
.kicker i{width:8px;height:8px;border-radius:50%;background:var(--amber-d);display:block}
h1.hero-title{font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,76px);line-height:1.02;letter-spacing:-.03em;color:var(--ink-d)}
.lead{font-size:20px;color:var(--muted);max-width:540px}
.row-btns{display:flex;flex-wrap:wrap;gap:12px}
.small{font-size:14px;color:var(--muted)}
.hero-panel{position:relative;overflow:hidden;border-radius:32px;background:var(--leaf);padding:32px}
.hero-panel .c1{position:absolute;right:-90px;top:-90px}
.hero-panel .c2{position:absolute;left:-70px;bottom:-70px}

/* calculator cards */
.calc-card{position:relative;background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:20px;box-shadow:0 12px 32px rgba(20,32,26,.12)}
.cc-head{display:flex;align-items:center;gap:12px}
.cc-ico{width:40px;height:40px;border-radius:12px;background:var(--leaf);color:var(--forest);display:flex;align-items:center;justify-content:center}
.cc-title{font-family:var(--display);font-weight:700;font-size:22px}
.seg{display:flex;gap:4px;padding:4px;background:var(--ground);border-radius:999px}
.seg button{flex:1;min-height:44px;min-width:60px;border:0;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;background:transparent;color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--forest);color:#fff}
.seg-fit{align-self:flex-start}
.seg-fit button{flex:none;min-width:76px}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.row-label{font-size:16px;color:var(--muted)}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:#fff;font-size:22px;color:var(--ink);cursor:pointer}
.stepper output{min-width:48px;text-align:center;font-family:var(--display);font-weight:700;font-size:32px}
.res{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:6px}
.eyebrow{font-size:14px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.big{font-family:var(--display);font-weight:700;font-size:56px;line-height:1;color:var(--forest)}
.unit{font-size:20px;color:var(--muted)}
.res-eq{font-size:17px;font-weight:500}

/* trust */
.trust-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;padding-top:36px;padding-bottom:36px}
.trust-item{display:flex;gap:14px;align-items:flex-start}
.trust-item i{flex:none;width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--amber-d)}
.trust-item b{display:block;font-family:var(--display);font-size:20px}
.trust-item span{font-size:15px;color:var(--muted)}

/* sections */
.sec{padding-top:88px}
.sec-head{max-width:640px;display:flex;flex-direction:column;gap:12px;margin-bottom:40px}
h2.sec-title{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.5vw,48px);line-height:1.08;letter-spacing:-.02em}
.sec-sub{font-size:18px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:14px;color:var(--ink);text-decoration:none}
a.card:hover{border-color:var(--forest);color:var(--ink)}
.card-dark{background:var(--forest);color:var(--ground);border-color:var(--forest)}
.card-dark .card-text{color:var(--leaf)}
.card-dark .ico{background:var(--amber-l);color:var(--ink-d)}
.ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--leaf);color:var(--forest);flex:none}
.ico-round{border-radius:50%;width:56px;height:56px;background:var(--amber);color:var(--ink-d)}
.card-title{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.15}
.card-text{font-size:16px;color:var(--muted)}
.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
.chip{display:inline-flex;align-items:center;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--ground);color:var(--muted-2)}
.chip-soon{background:var(--sand);color:var(--sand-fg);font-size:12px;padding:2px 10px}
.card-dark .chip-soon{background:var(--amber-l);color:var(--ink-d)}
.go{font-size:15px;font-weight:700;color:var(--forest)}
.card-soon{opacity:.96}

/* tools hub */
.crumbs{font-size:14px;color:var(--muted)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
h1.page-title{font-family:var(--display);font-weight:700;font-size:clamp(36px,5.5vw,64px);line-height:1.04;letter-spacing:-.03em;color:var(--ink-d);max-width:820px}
.hub-head{display:flex;flex-direction:column;gap:20px;padding-top:24px;padding-bottom:40px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;background:#fff;border:2px solid var(--forest);color:var(--forest);font-size:16px;font-weight:700;text-decoration:none}
.start{border-radius:32px;background:var(--forest);color:var(--ground);padding:40px;display:flex;flex-direction:column;gap:28px}
.start .eyebrow{color:var(--amber-l)}
.start h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.02em}
.start p{font-size:17px;color:var(--leaf)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.step{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:20px;background:var(--ground);color:var(--ink);text-decoration:none}
.step:hover{color:var(--ink)}
.step-n{flex:none;width:40px;height:40px;border-radius:50%;background:var(--amber);color:var(--ink-d);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:20px}
.step b{display:block;font-family:var(--display);font-size:20px;line-height:1.2}
.step span{font-size:15px;color:var(--muted)}
.groups{display:flex;flex-direction:column;gap:56px;padding-top:48px}
.group-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.group-n{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:22px}
.g1 .group-n,.g1 .ico-round{background:var(--leaf);color:var(--forest)}
.g2 .group-n,.g2 .ico-round{background:var(--sand);color:var(--sand-fg)}
.g3 .group-n,.g3 .ico-round{background:var(--forest);color:var(--ground)}
.g4 .group-n,.g4 .ico-round{background:var(--line);color:var(--ink)}
.group-head h2{font-family:var(--display);font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.02em}
.group-head span.sub{font-size:16px;color:var(--muted);display:block}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;padding-top:56px;padding-bottom:88px}
.panel{border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.panel-leaf{background:var(--leaf)}
.panel-white{background:#fff;border:1px solid var(--line)}
.panel h2{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.2}

/* shop / forms */
.shop{border-radius:32px;background:var(--forest);color:var(--ground);padding:48px;display:flex;flex-wrap:wrap;align-items:center;gap:40px}
.shop-l{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.shop-r{flex:1 1 280px;display:flex;flex-direction:column;align-items:center;gap:12px}
.shop .eyebrow{color:var(--amber-l)}
.shop p.lead{color:var(--leaf);font-size:18px}
.shop .price{font-family:var(--display);font-weight:700;font-size:22px}
.shop .small{color:var(--leaf-2)}
.form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:520px}
.form-row{display:flex;flex-wrap:wrap;gap:12px}
.form input[type=email]{flex:1 1 220px;min-width:0;min-height:52px;padding:0 20px;border-radius:999px;border:1px solid #A9BBA8;background:#fff;font-size:16px;font-family:inherit;color:var(--ink)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.consent input{margin-top:4px;width:20px;height:20px;flex:none}
.shop .consent{color:var(--leaf)}
.shop .consent a{color:var(--amber-l)}
.nl .consent{color:var(--muted-2)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-msg{font-size:15px;font-weight:700;min-height:22px}
.nl{border-radius:32px;background:var(--leaf);padding:48px;display:flex;flex-wrap:wrap;align-items:center;gap:28px 48px}
.nl-l{flex:1 1 340px;display:flex;flex-direction:column;gap:10px}
.nl-l h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.02em}
.nl-l p{font-size:17px;color:var(--muted-2)}
.nl-r{flex:1 1 380px}

/* footer */
.ftr{background:var(--ink-d);color:#C9D3CB;margin-top:88px}
.ftr-in{padding-top:40px;padding-bottom:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.ftr .logo-text{color:var(--ground)}
.ftr small{font-size:14px;display:block;max-width:420px;margin-top:8px}
.ftr a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--ground)}
.ftr-bottom{padding-bottom:28px;font-size:13px}
.ftr-quiet{background:transparent;color:var(--muted);border-top:1px solid var(--line);margin-top:48px}
.ftr-quiet a{color:var(--muted-2);font-size:14px}
.ftr-quiet .ftr-in{padding-top:20px;padding-bottom:28px;font-size:14px;align-items:center}

/* tool page */
.tool-wrap{display:flex;flex-direction:column;gap:28px;padding-top:24px;padding-bottom:16px}
.tool-wrap h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.03em;color:var(--ink-d)}
.tool-wrap .lead{font-size:18px;max-width:620px}
.tool-cols{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch}
.tool-in{flex:1 1 440px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:22px}
.tool-out{flex:1 1 340px;min-width:0;background:var(--forest);color:var(--ground);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:22px}
.fld{display:flex;flex-direction:column;gap:10px}
.fld-label{font-size:14px;font-weight:700;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills button{min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;border:2px solid var(--forest);background:#fff;color:var(--forest)}
.pills button[aria-pressed="true"]{background:var(--forest);color:#fff}
.fld-row{display:flex;flex-wrap:wrap;gap:20px 32px}
.tool-out .eyebrow{color:var(--amber-l)}
.tool-out .big{color:var(--ground);font-size:64px}
.tool-out .unit{color:var(--leaf)}
.tool-out .per{font-size:15px;color:var(--leaf)}
.bars{display:flex;flex-direction:column;gap:14px}
.bar-top{display:flex;justify-content:space-between;font-size:15px}
.bar-top b{font-weight:700}
.bar{height:12px;border-radius:999px;background:rgba(245,246,240,.18)}
.bar i{display:block;height:12px;border-radius:999px;background:var(--leaf-2)}
.bar i.me{background:var(--amber)}
.tool-note{margin-top:auto;font-size:13px;color:var(--leaf-2)}
.share{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px 24px;display:flex;flex-direction:column;gap:16px}
.share-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.share-top h2{font-family:var(--display);font-weight:700;font-size:20px;margin-right:8px}
.code{padding:10px 14px;border-radius:12px;background:var(--ground);font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--ink);word-break:break-all;width:100%;border:0}
.code-dark{background:var(--ink-d);color:var(--leaf)}
.quiet{display:flex;flex-direction:column;gap:12px;padding-top:8px}
.quiet-links{display:flex;flex-wrap:wrap;gap:10px}
.quiet-links a,.quiet-links span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:#fff;border:1px solid #D5DDD3;color:var(--ink);font-size:15px;font-weight:500;text-decoration:none}
.quiet-links span{color:var(--muted);background:transparent}
.quiet-guide{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:700}

/* embed */
.embed{max-width:480px;margin:0 auto;padding:20px;background:#fff;display:flex;flex-direction:column;gap:18px}
.embed .res-box{border-radius:20px;background:var(--forest);color:var(--ground);padding:20px;display:flex;flex-direction:column;gap:6px}
.embed .res-box .eyebrow{color:var(--amber-l);font-size:13px}
.embed .res-box .big{color:var(--ground);font-size:48px}
.embed .res-box .unit{color:var(--leaf);font-size:18px}
.embed .res-box .per{font-size:15px;color:var(--leaf)}
.embed .fine{font-size:12px;color:var(--muted)}
.embed-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding-top:12px;border-top:1px solid var(--line)}
.embed-foot a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none}
.embed-foot a.b{font-weight:700}
.embed-foot a.m{color:var(--muted-2)}
body.is-embed{background:#fff}

/* prose */
.prose{max-width:720px;padding-top:24px;padding-bottom:24px;display:flex;flex-direction:column;gap:16px}
.prose h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,5vw,48px);line-height:1.08;letter-spacing:-.02em}
.prose h2{font-family:var(--display);font-weight:700;font-size:22px;margin-top:12px}
.prose p,.prose li{font-size:17px;color:var(--muted-2)}
.prose ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}

@media (max-width:560px){
  .hero{gap:32px;padding-bottom:48px}
  .shop,.nl,.start{padding:28px}
  .hero-panel{padding:20px}
  .calc-card{padding:20px}
  .big{font-size:48px}
  .tool-out .big{font-size:52px}
}
@media print{
  .hdr,.ftr,.share,.quiet,.langs{display:none}
}

/* quick tools */
.btn-outline-light{background:transparent;border-color:var(--leaf);color:var(--ground)}
.btn-outline-light:hover{background:rgba(245,246,240,.12);color:#fff}
.sel{min-height:48px;padding:0 14px;border-radius:14px;border:1px solid var(--line-2);background:#fff;font:inherit;font-size:16px;color:var(--ink);max-width:100%}
.tlist{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0;margin:0}
.tlist li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;border-radius:12px;background:var(--ground);font-size:15px}
.tlist li button{width:36px;height:36px;border-radius:50%;border:0;background:#fff;font-size:20px;cursor:pointer;color:var(--ink)}
.cmp{width:100%;border-collapse:collapse;font-size:15px}
.cmp th,.cmp td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
.cmp thead th{font-family:var(--display);font-size:15px}
.cmp tbody th{color:var(--muted);font-weight:500}
.chart-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:16px;margin-top:20px}
.chart-card svg{width:100%;height:auto;display:block}
.ch-g{stroke:#E3E8E0;stroke-width:1}
.ch-t{font-size:11px;fill:#6B7A6E;font-family:var(--body,sans-serif)}
.ch-line{fill:none;stroke:var(--forest);stroke-width:3}
.ch-band{fill:var(--leaf-2);opacity:.35}
.ch-th{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:5 4}
.ch-d{fill:var(--amber)}
body.is-embed-tool{background:#fff}
body.is-embed-tool .tool-wrap{padding:12px 4px;gap:16px}
body.is-embed-tool .tool-wrap h1{font-size:26px}
body.is-embed-tool .tool-wrap .lead{display:none}
.qopts{display:flex;flex-direction:column;gap:10px}
.qopt{min-height:52px;padding:10px 18px;border-radius:16px;border:2px solid var(--line-2);background:#fff;font:inherit;font-size:16px;font-weight:500;text-align:left;color:var(--ink);cursor:pointer}
.qopt:hover,.qopt[aria-pressed="true"]{border-color:var(--forest);background:var(--ground)}
.qres{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;counter-reset:q}
.qres li{counter-increment:q;display:flex;flex-direction:column;gap:4px;padding:16px 18px 16px 56px;border-radius:18px;background:var(--ground);position:relative}
.qres li:before{content:counter(q);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-weight:700}
.qres b{font-family:var(--display);font-size:20px}
.hist li{background:rgba(245,246,240,.1);color:var(--ground)}
.cmp td,.cmp th{vertical-align:top}
@media print{
  .hdr,.ftr,.share,.quiet,.tool-in,.tool-out,.skip,.tool-note,.tool-wrap .lead{display:none!important}
  body{background:#fff}.chart-card{border:0}
}
