a:focus-visible,.btn:focus-visible,input:focus-visible{outline:2px solid var(--g2);outline-offset:3px}
.steps{display:flex;flex-direction:column}
.step:last-child{border-bottom:1px solid var(--ln)}
.step .n{font-family:var(--fm);font-size:12.5px;font-weight:600;color:var(--g2);padding-top:3px}
/* hero */
  .hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:460px;background:#16210F}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(178deg,rgba(14,24,11,.12),rgba(14,24,11,.34) 46%,rgba(14,24,11,.84)),
               linear-gradient(90deg,rgba(14,24,11,.46),rgba(14,24,11,.10) 58%,transparent)}
.hero .wrap{width:100%;flex:1 1 100%;padding-top:76px;padding-bottom:50px;display:flex;flex-direction:column;gap:15px;align-items:flex-start}
.hero h1{font-size:clamp(32px,5.2vw,54px);color:#fff;max-width:16ch}
.hero p{color:#E4EBDD;font-size:clamp(17px,2vw,20px);max-width:50ch}
section{padding:62px 0;border-top:1px solid var(--ln)}
h2{font-size:clamp(24px,3.4vw,34px)}
.lede{color:var(--mu);font-size:18px;max-width:var(--read)}
.draftnote{background:var(--flag-w);border:1px dashed var(--flag);border-radius:10px;padding:14px 18px;font-family:var(--fm);font-size:13.5px;color:var(--flag);line-height:1.55;margin:22px 0 0}
.segs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.seg{background:var(--c);border:1px solid var(--ln);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh)}
section.alt .seg{background:var(--p)}
.seg h3{font-size:16.5px}
.seg p{max-width:none;font-size:15px;color:var(--mu)}
.seg .tagline{font-family:var(--fm);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ac)}
/* calculator */
  .calc{background:var(--c);border:1px solid var(--ln2);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
section.alt .calc{background:var(--p)}
.calc .in{padding:28px 30px;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-bottom:1px solid var(--ln)}
@media(max-width:700px){.calc .in{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-family:var(--fd);font-style:italic;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.06em;color:var(--ink)}
.fld .hint{font-size:13.5px;color:var(--mu);line-height:1.35}
.fld .wrapin{display:flex;align-items:center;gap:8px;background:var(--s2);border:1px solid var(--ln2);border-radius:10px;padding:10px 14px}
.fld .wrapin span{font-family:var(--fm);font-size:14px;color:var(--mu)}
.fld input{border:0;background:transparent;font-family:var(--fd);font-style:italic;font-weight:700;font-size:24px;color:var(--ink);width:100%;
    font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.fld input::-webkit-outer-spin-button,.fld input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc .out{padding:26px 30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px}
.oc{display:flex;flex-direction:column;gap:4px}
.oc .l{font-family:var(--fm);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--mu)}
.oc .n{font-family:var(--fd);font-style:italic;font-weight:700;font-size:29px;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.oc .n.green{color:var(--g1)}
.oc .d{font-size:13.5px;color:var(--mu);line-height:1.4}
.calc .foot{padding:0 30px 26px;font-size:14.5px;color:var(--mu);max-width:none;line-height:1.5}
.warn{background:var(--flag-w);border:1px solid var(--flag);border-radius:var(--r);padding:26px 30px;display:flex;flex-direction:column;gap:11px}
.warn h3{color:var(--flag)}
.warn p,.warn li{color:#6E4A10}
.warn ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15.5px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
.box ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:15.5px;color:var(--mu)}
.box p{max-width:none;font-size:15.5px;color:var(--mu)}
.step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;padding:20px 0;border-top:1px solid var(--ln);align-items:start}
.step p{font-size:16px;max-width:var(--read);color:var(--mu)}
details p + p{padding-top:0;margin-top:-8px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:40px;align-items:center}
.cta{background:var(--ink);color:#D6E0CD;border-radius:var(--r);padding:44px 40px;display:flex;flex-direction:column;gap:15px}
.cta p{color:inherit;max-width:var(--read);font-size:17.5px}
