
:root{
  --bg:#ffffff;
  --surface:#f7f7f5;
  --surface-2:#fcfcfb;
  --text:#1f2328;
  --muted:#606770;
  --line:#deded8;
  --accent:#1f5a4a;
  --accent-soft:#eef4f1;
  --shadow:0 10px 24px rgba(20,20,20,.05);
  --radius:4px;
  --container:1120px;
  --header:74px;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 2rem), var(--container)); margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)
}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--header);gap:1rem}
.brand{display:flex;align-items:center;gap:.8rem;min-width:0}
.brand-mark{width:36px;height:36px;border:1px solid var(--line);display:grid;place-items:center;background:var(--surface)}
.brand-mark img{width:20px;height:20px}
.brand-copy{display:flex;flex-direction:column;gap:.08rem;min-width:0}
.brand-copy span:first-child{font-size:.98rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-copy span:last-child{font-size:.78rem;color:var(--muted)}
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;padding:.65rem;width:42px;height:42px;align-items:center;justify-content:center}
.nav-toggle span{display:block;width:18px;height:1px;background:var(--text);margin:3px 0}
.nav{display:flex;align-items:center;gap:1.25rem}
.nav a{font-size:.94rem;color:var(--muted)}
.nav a:hover,.nav a.is-active{color:var(--text)}
.hero{padding:4.5rem 0 2.5rem}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start}
.eyebrow{display:inline-block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
h1,h2,h3{font-weight:400;letter-spacing:-.01em;line-height:1.2;margin:0 0 1rem}
h1{font-size:clamp(1.8rem,3.1vw,2.65rem)}
h2{font-size:clamp(1.25rem,2vw,1.6rem)padding-top:56px;}
h3{font-size:1.03rem}
p{margin:.85rem 0 0}
.lead{font-size:1.04rem;color:#3b4045;max-width:68ch}
.hero-copy .intro-list{margin:1.4rem 0 0;padding:0;list-style:none;display:grid;gap:.65rem;color:var(--muted)}
.hero-copy .intro-list li{padding-left:1rem;position:relative}
.hero-copy .intro-list li::before{content:"";position:absolute;left:0;top:.7rem;width:6px;height:6px;background:var(--accent)}
.hero-panel{display:grid;gap:1rem}
.mini-card{background:var(--surface);border:1px solid var(--line);padding:1.25rem;box-shadow:var(--shadow)}
.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.icon-card{border:1px solid var(--line);padding:1rem;background:var(--surface-2);min-height:122px;display:flex;flex-direction:column;justify-content:space-between}
.icon-card span{font-size:.9rem;color:var(--muted)}
.icon-card svg{width:30px;height:30px;stroke:var(--accent);fill:none;stroke-width:1.7}
.section{padding:2.6rem 0}
.section-heading{max-width:76ch;margin-bottom:1.5rem}
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.card{background:var(--surface-2);border:1px solid var(--line);padding:1.3rem;box-shadow:var(--shadow)}
.muted{color:var(--muted)}
.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1rem;border:1px solid var(--text);background:#fff;color:var(--text)}
.button.secondary{background:var(--surface)}
.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:1rem;align-items:start}
.form-grid{display:grid;gap:1rem}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.field-group{display:grid;gap:.45rem}
label{font-size:.92rem}
input,select{width:100%;min-height:46px;padding:.72rem .8rem;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:0;outline:none}
input:focus,select:focus,button:focus,.accordion-trigger:focus,.nav-toggle:focus{box-shadow:0 0 0 2px rgba(31,90,74,.12);border-color:var(--accent)}
small{color:var(--muted);font-size:.83rem}
.range-wrap{display:grid;gap:.6rem;padding-top:.5rem}
.range-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}
input[type="range"]{padding:0;min-height:auto;border:none}
.result-stack{display:grid;gap:1rem}
.result-box{display:grid;gap:.9rem}
.result-stat{padding:1rem;border:1px solid var(--line);background:#fff}
.result-label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.35rem}
.result-value{display:block;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.breakdown{display:grid;gap:.6rem}
.breakdown-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.65rem}
.note-box{background:var(--accent-soft);border:1px solid #d8e6df;padding:1rem}
.accordion-group{display:grid;gap:.75rem}
.accordion{border:1px solid var(--line);background:var(--surface-2)}
.accordion-trigger{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:none;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.accordion-trigger span{font-size:1rem}
.accordion-trigger svg{width:16px;height:16px;flex:none;transition:transform .25s ease;stroke:var(--muted);fill:none;stroke-width:1.6}
.accordion.is-open .accordion-trigger svg{transform:rotate(180deg)}
.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.accordion.is-open .accordion-panel{grid-template-rows:1fr}
.accordion-inner{overflow:hidden}
.accordion-content{padding:0 1.1rem 1.15rem;color:#33383d}
.accordion-content p:first-child{margin-top:0}
.list-clean{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.list-clean li{padding-left:1rem;position:relative}
.list-clean li::before{content:"";position:absolute;left:0;top:.75rem;width:5px;height:5px;background:var(--accent)}
.contact-card p{margin-top:.45rem}
.footer{border-top:1px solid var(--line);padding:1.8rem 0 2.8rem;margin-top:1.4rem;background:#fff}
.footer-grid{display:grid;grid-template-columns:1.1fr auto auto;gap:1rem;align-items:start}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted)}
.legal-copy{font-size:.84rem;color:var(--muted)}
.anchor-offset{scroll-margin-top:calc(var(--header) + 18px)}
@media (max-width: 960px){
  .hero-grid,.tool-layout,.footer-grid,.grid-two{grid-template-columns:1fr}
  .icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 760px){
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);flex-direction:column;align-items:flex-start;padding:1rem;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
  .nav.is-open{display:flex}
  .field-grid{grid-template-columns:1fr}
  .icon-grid{grid-template-columns:1fr}
  .hero{padding-top:3rem}
}

strong,b{font-weight:400}
.icon-card img{width:30px;height:30px;object-fit:contain}


.contact-card{padding:24px;border:1px solid #e5e7eb;background:#fff}
.contact-mail{font-size:1rem;color:#111827;text-decoration:none}
.contact-mail:hover{text-decoration:underline}
.accordion-copy h3{font-size:1.3rem !important;line-height:1.3;margin:24px 0 12px;font-weight:400;padding-left:20px}
.accordion-copy p{margin:10px 10px 12px;padding-left:10px}




.legal-section h2{padding-top:56px;margin-top:16px;}
