:root{
  --paper:#F6F8FB; --surface:#fff; --ink:#10203A; --muted:#55657D; --line:#D9E0EB; --grid:#E6ECF4;
  --cobalt:#2648D9; --cobalt-dark:#1A34A8; --hl:#FFE066; --edge:#8E9DB4;
  --sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--sans)}
a{color:var(--cobalt)}
a:hover{color:var(--cobalt-dark)}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}
img,svg{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:20}

/* header */
.site-head{background:var(--surface);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;min-height:62px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.3rem;letter-spacing:-.025em;color:var(--ink);text-decoration:none}
.brand:hover{color:var(--ink)}
.site-head nav{display:flex;gap:22px;flex-wrap:wrap}
.site-head nav a{color:var(--ink);text-decoration:none;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
.site-head nav a:hover,.site-head nav a[aria-current]{border-bottom-color:var(--cobalt);color:var(--ink)}

/* home */
.hero{padding:56px 0 28px}
.hero h1{font-size:clamp(2.3rem,6vw,3.9rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 16px;max-width:16ch;font-weight:700}
.hero p{font-size:1.15rem;color:var(--muted);max-width:52ch;margin:0 0 26px}
.find{display:block;width:100%;max-width:520px;font:inherit;font-size:1.05rem;padding:13px 16px;border:2px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink)}
.find:focus{outline:3px solid rgba(38,72,217,.3);border-color:var(--cobalt)}
.group{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px 32px;border-top:2px solid var(--ink);padding:20px 0 12px;margin-top:30px}
.group h2{font-size:1.25rem;margin:0;letter-spacing:-.02em}
.rows a{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:4px 24px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rows a:last-child{border-bottom:0}
.rows a b{font-weight:600;color:var(--cobalt)}
.rows a:hover b{text-decoration:underline}
.rows a span{color:var(--muted)}
.none{display:none;padding:20px 0;color:var(--muted)}
.home-note{max-width:68ch;margin:52px 0 0;color:var(--muted)}

/* tool page */
.crumbs{font-size:.88rem;color:var(--muted);padding:22px 0 0}
.crumbs a{color:var(--muted)}
.tool-head h1{font-size:clamp(1.9rem,4.5vw,2.8rem);line-height:1.1;letter-spacing:-.03em;margin:10px 0 10px;max-width:22ch}
.tool-head p{font-size:1.1rem;color:var(--muted);max-width:60ch;margin:0 0 26px}
.calc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.calc-in{padding:24px;border-right:1px solid var(--line);min-width:0}
.calc-out{padding:24px;min-height:280px;min-width:0;background-color:#fff;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}
.calc.single{grid-template-columns:minmax(0,1fr)}
.calc.single .calc-in{border-right:0}
@media (max-width:780px){.calc,.calc.single{grid-template-columns:minmax(0,1fr)}.calc-in{border-right:0;border-bottom:1px solid var(--line)}.group{grid-template-columns:minmax(0,1fr)}.rows a{grid-template-columns:minmax(0,1fr)}.calc-in,.calc-out{padding:20px 16px}}

.field{margin-bottom:16px}
.field>label,.lab{display:block;font-weight:500;font-size:.92rem;margin-bottom:6px}
.inp{display:flex;align-items:stretch;border:1.5px solid var(--edge);border-radius:6px;background:#fff}
.inp:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(38,72,217,.18)}
.inp input,.inp select,.inp textarea{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.05rem;padding:10px 12px;color:var(--ink);font-variant-numeric:tabular-nums}
.inp input,.inp select{height:46px}
.inp input:focus,.inp select:focus{outline:none}
.inp .pre{padding:10px 0 10px 12px;color:var(--muted)}
.inp .suf{padding:10px 12px 10px 0;color:var(--muted)}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.btn{background:var(--cobalt);color:#fff;border:0;border-radius:6px;padding:12px 20px;font:600 1rem var(--sans);cursor:pointer}
.btn:hover{background:var(--cobalt-dark)}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.btn.ghost:hover{background:var(--paper)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.checks label{display:flex;gap:10px;align-items:center;margin:9px 0;font-weight:400}
.checks input{width:18px;height:18px;accent-color:var(--cobalt)}
input[type=range]{width:100%;accent-color:var(--cobalt)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--edge);background:#fff;color:var(--ink);border-radius:999px;padding:6px 14px;font:500 .95rem var(--sans);cursor:pointer}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg{display:inline-flex;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden;margin-bottom:16px}
.seg button{border:0;background:#fff;padding:8px 16px;font:500 .95rem var(--sans);cursor:pointer;color:var(--ink)}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}

/* results */
.r-label{font-size:.92rem;color:var(--muted);font-weight:500;margin:0 0 4px}
.r-big{display:inline;font-size:clamp(2rem,5.5vw,3.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.25;font-variant-numeric:tabular-nums;background:linear-gradient(transparent 58%,var(--hl) 58%,var(--hl) 92%,transparent 92%);padding:0 .12em;margin-left:-.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.r-note{color:var(--muted);font-size:.92rem;margin:12px 0 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:20px 0 0}
.stats div{background:#fff;padding:11px 14px}
.stats dt{font-size:.8rem;color:var(--muted)}
.stats dd{margin:2px 0 0;font-weight:700;font-size:1.08rem;font-variant-numeric:tabular-nums}
.calc-out h3{font-size:1.02rem;margin:24px 0 8px;letter-spacing:-.01em}
.err{color:#9B1C1C;font-weight:500}
.tbl-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums}
th,td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th:first-child,td:first-child{text-align:left}
th{font-weight:600;background:#F0F4FA}
tr:last-child td{border-bottom:0}
.bar{display:flex;height:14px;border-radius:3px;overflow:hidden;margin:18px 0 8px;background:var(--line)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.pw{font:600 1.3rem/1.45 var(--mono);word-break:break-all;background:#fff;border:1.5px solid var(--ink);border-radius:6px;padding:16px;margin:0 0 14px;min-height:64px}
.meter{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:8px 0}
.meter i{display:block;height:100%;background:var(--cobalt)}
.pct-grid{display:grid;gap:16px}
.pct-card{background:#fff;padding:18px 20px;border-bottom:1px solid var(--line)}
.pct-card:last-child{border-bottom:0}
.pct-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:1.05rem}
.pct-line .inp{width:130px}
.pct-line .inp input{padding:8px 10px}
.pct-res{margin:12px 0 0;font-size:1.05rem}
textarea.big{width:100%;min-height:220px;resize:vertical;border:1.5px solid var(--edge);border-radius:6px;padding:12px;font:inherit;font-size:1.05rem;line-height:1.6;background:#fff;color:var(--ink)}
textarea.big:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(38,72,217,.18)}

/* ads */
.ad-slot{margin:36px 0;text-align:center;min-height:110px}
.ad-slot small{display:block;font-size:.7rem;color:var(--muted);margin-bottom:4px}

/* article */
.prose{max-width:68ch;margin:40px 0 0;font:400 1.08rem/1.78 var(--serif)}
.prose h2{font:700 1.55rem/1.2 var(--sans);letter-spacing:-.02em;margin:2.1em 0 .55em}
.prose h3{font:700 1.15rem/1.3 var(--sans);margin:1.6em 0 .4em}
.prose p,.prose ul,.prose ol{margin:0 0 1.1em}
.prose li{margin-bottom:.4em}
.formula{font:500 .98rem/1.6 var(--mono);background:#fff;border-left:4px solid var(--cobalt);padding:12px 16px;margin:0 0 1.2em;overflow-x:auto}
.prose .tbl-wrap{margin:0 0 1.3em;font-family:var(--sans)}
.faq{max-width:68ch;margin:40px 0 0}
.faq h2{font:700 1.55rem/1.2 var(--sans);letter-spacing:-.02em;margin:0 0 .6em}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem}
.faq details p{font:400 1.05rem/1.7 var(--serif);margin:10px 0 0}
.related{max-width:68ch;margin:40px 0 0}
.related h2{font:700 1.3rem/1.2 var(--sans);margin:0 0 .5em}
.related ul{list-style:none;padding:0;margin:0}
.related li{padding:9px 0;border-top:1px solid var(--line)}
.related li a{font-weight:600}
.related li span{color:var(--muted);margin-left:8px}
.meta{color:var(--muted);font-size:.9rem;margin:0 0 6px}
.list-page .rows a{grid-template-columns:minmax(0,1fr)}

/* footer */
.site-foot{margin-top:72px;background:var(--ink);color:#C9D3E3;padding:36px 0 44px;font-size:.93rem}
.site-foot .wrap{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr;gap:28px}
.site-foot a{color:#fff}
.site-foot h2{font-size:.95rem;color:#fff;margin:0 0 10px}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:6px 0}
.site-foot p{margin:0 0 10px;max-width:46ch}
@media (max-width:820px){.site-foot .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:520px){.site-foot .wrap{grid-template-columns:minmax(0,1fr)}}

.calc.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
@media (max-width:780px){.calc.rev{grid-template-columns:minmax(0,1fr)}}

[hidden]{display:none!important}

.calc-out .tbl-wrap{max-height:440px;overflow:auto}
.calc-out th{position:sticky;top:0}
