/* The 4-number check (/check/). External file: the page's CSP allows no inline scripts or styles. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2")}
@font-face{font-family:"Archivo Black";font-weight:400;font-display:swap;src:url(/fonts/archivo-black-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700-latin.woff2) format("woff2")}
:root{
  --black:#111111; --orange:#f2551d; --orange-hover:#ff6a33; --orange-text:#c2410c;
  --ink:#111111; --muted:#5a5a5a; --line:#e3e3e0; --bg:#f5f5f3; --card:#fff; --edge:#111111; --ph:#9a9a9a;
  --page:#fff; --panel:#111111; --panel-ink:#fff; --panel-muted:#bdbdbd; --panel-line:#2e2e2e;
  --display:"Archivo Black","Arial Black",Inter,sans-serif;
  --figures:"Barlow Condensed","Arial Narrow",Inter,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{--ink:#f2f2f0; --muted:#b0b0ac; --line:#333; --bg:#161616; --card:#1b1b1b; --edge:#e8e8e6; --ph:#7a7a7a;
    --orange-text:#ff7a45; --panel:#1b1b1b; --panel-ink:#f2f2f0; --panel-muted:#b0b0ac; --panel-line:#333}
  :root{--page:#111}
  .top{background:rgba(17,17,17,.95)!important;border-bottom-color:#e8e8e6!important}
  .results{border:2px solid var(--edge)}
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
body{font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--page);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--orange-text)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
::selection{background:var(--orange);color:var(--black)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);border-bottom:2px solid var(--black)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;min-height:44px}
.logo img{display:block;height:26px;width:auto}
nav{display:flex;align-items:center;gap:20px}
nav a:not(.btn){color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}
@media (max-width:600px){.hide-sm{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--orange);color:var(--black);text-decoration:none;font:inherit;font-weight:700;font-size:16px;padding:10px 20px;border:0;border-radius:0;cursor:pointer;text-align:center}
.btn:hover{background:var(--orange-hover)}
.btn.outline{background:var(--card);color:var(--ink);border:2px solid var(--edge);padding:8px 18px}
.btn.outline:hover{background:var(--bg)}
.btn.ghost{background:transparent;color:#fff;border:2px solid #fff;padding:8px 18px}
.btn.ghost:hover{background:#fff;color:var(--black)}

.intro{background:var(--black);color:#fff;padding:44px 0 36px}
.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:13px;font-weight:700;color:var(--orange)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5.4vw,58px);line-height:1.05;letter-spacing:-1.2px;margin:12px 0 14px}
.lead{font-size:clamp(17px,2vw,20px);color:#d0d0d0;max-width:720px}
.private{margin-top:16px;font-size:15px;color:#fff;display:flex;gap:10px;align-items:baseline}
.sq{display:inline-block;width:10px;height:10px;background:var(--orange);flex-shrink:0}

.work{padding:28px 0 56px;background:var(--bg)}
.grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:24px;align-items:start}
@media (max-width:900px){.grid{grid-template-columns:minmax(0,1fr)}}
.h{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:-.4px;line-height:1.15;margin-bottom:8px}
.inputs{background:var(--card);border:2px solid var(--edge);padding:20px}
.hint{color:var(--muted);font-size:15px;margin-bottom:16px}
.sup{border-top:2px solid var(--line);padding:16px 0 4px}
.sup:first-child{border-top:0;padding-top:4px}
.sup-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.sup-head .mark{width:12px;height:12px;background:var(--orange);flex-shrink:0}
.sup-head input{flex:1;font-weight:700}
.rm{min-width:44px;min-height:44px;border:2px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:0 10px}
.rm:hover{border-color:var(--edge);color:var(--ink)}
.four{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
@media (min-width:1100px){.four{grid-template-columns:repeat(4,1fr)}}
.field label{display:block;font-weight:600;font-size:14px;line-height:1.3;margin-bottom:4px;color:var(--ink)}
.field label small{font-weight:400;color:var(--muted)}
.field > small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
input[type=text]{width:100%;min-height:48px;font:inherit;font-size:18px;padding:8px 10px;border:2px solid var(--line);border-radius:0;background:var(--card);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none}
input[type=text]:focus{outline:none;border-color:var(--edge)}
input::placeholder{color:var(--ph);opacity:1}
input.bad{border-color:var(--orange-text)}
.msg{font-size:13px;color:var(--orange-text);margin-top:6px;min-height:0}
.row-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.cap{font-size:14px;color:var(--muted)}
.aov{margin-top:18px;padding-top:16px;border-top:2px solid var(--line)}
.aov input{max-width:220px}

.results{background:var(--panel);color:var(--panel-ink);padding:20px}
.results .h{color:var(--panel-ink)}
.says p{margin:0 0 12px;font-size:17px}
.says p.big{font-size:20px;font-weight:600;line-height:1.4}
.says b{font-family:var(--figures);font-weight:700;font-size:1.2em;letter-spacing:.2px;color:var(--orange);font-variant-numeric:tabular-nums}
.says .note{color:var(--panel-muted);font-size:15px}
.says .empty{color:var(--panel-muted)}
.chart{margin:18px 0 6px}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart text.v{paint-order:stroke;stroke:var(--panel);stroke-width:5px;stroke-linejoin:round}
.chart .cap2{font-size:13px;color:var(--panel-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.table{overflow-x:auto;margin-top:14px;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:14.5px;font-variant-numeric:tabular-nums}
th,td{padding:9px 7px;text-align:right;border-top:1px solid var(--panel-line);white-space:nowrap}
th:first-child,td:first-child{text-align:left;white-space:normal;min-width:96px}
tbody th,thead th:first-child{position:sticky;left:0;background:var(--panel);z-index:1}
thead th{border-top:0;color:var(--panel-muted);font-weight:600;font-size:12.5px;line-height:1.25;vertical-align:bottom;white-space:normal;min-width:64px}
tr.avg td,tr.avg th{font-weight:700;border-top:2px solid var(--panel-ink)}
td.few{color:var(--panel-muted)}
td .fl{display:block;font-size:11.5px;color:var(--panel-muted);font-weight:400}
.swipe{display:none;font-size:13px;color:var(--panel-muted);margin-bottom:4px}
@media (max-width:700px){.swipe{display:block}}
.tnote{font-size:13px;color:var(--panel-muted);margin-top:8px}
.given{display:none}
.stamp{font-size:13px;color:var(--panel-muted);margin-top:14px}
.print-head{display:none}
.srx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.bridge{padding:56px 0 64px}
.bridge h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.8px;line-height:1.1;margin-bottom:12px}
.bridge p{max-width:680px;color:var(--muted)}
.bridge .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.bridge .btn.ghost{color:var(--ink);border-color:var(--edge)}
.bridge .btn.ghost:hover{background:var(--edge);color:var(--card)}
.bridge .fine{font-size:13px;margin-top:14px}
footer{padding:22px 0 28px;color:var(--muted);font-size:14px;border-top:2px solid var(--edge)}
footer a{color:var(--muted);display:inline-block;padding:12px 2px;min-height:44px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;align-items:center}
@media (max-width:600px){.wrap{padding:0 16px}.inputs,.results{padding:16px}.bridge .btn{width:100%}}

/* Print: light, one A4 page (six suppliers fit), results only, with the figures typed. The chart is drawn 460 wide for print. */
@media print{
  @page{size:A4;margin:12mm}
  :root{--page:#fff;--ink:#111;--muted:#444;--panel:#fff;--panel-ink:#111;--panel-muted:#555;--panel-line:#ccc;--orange:#c2410c}
  body{background:#fff;color:#111;font-size:10pt}
  .top,.intro,.inputs,.bridge,footer,.no-print,.swipe,.results > .h{display:none!important}
  .work{background:#fff;padding:0}
  .wrap{max-width:none;padding:0}
  .grid{display:block}
  .results{border:0!important;padding:0;background:#fff;color:#111;display:grid;grid-template-columns:minmax(0,1fr) 88mm;gap:0 7mm;align-items:start}
  .results > *{grid-column:1/-1}
  .results > .says{grid-column:1}
  .results > .chart{grid-column:2;margin:0}
  .print-head{display:flex!important;align-items:center;gap:12px;border-bottom:2px solid #111;padding-bottom:6px;margin-bottom:8px}
  .print-head img{height:18px;width:auto}
  .print-head span{font-family:var(--display);font-size:14pt}
  .says p{font-size:9.5pt;margin-bottom:4px;line-height:1.4}
  .says p.big{font-size:11pt}
  .says .note{font-size:9pt}
  .says b{color:#111}
  .chart{break-inside:avoid}
  .chart svg{width:88mm}
  .chart .cap2{font-size:8pt;margin-bottom:2px}
  .table{margin-top:6px;overflow:visible}
  table{font-size:8.5pt}
  th,td{padding:2.5px 4px}
  thead th{font-size:7.5pt}
  td .fl{font-size:7pt}
  .tnote{font-size:7.5pt;margin-top:3px}
  .given{display:block;margin-top:6px;break-inside:avoid}
  .given h3{font-size:9pt;margin-bottom:1px}
  .stamp{color:#333;font-size:8.5pt;margin-top:6px}
  tbody th,thead th:first-child{position:static}
}
/* .61 a11y 7 */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
