:root{
  --ground:#f5f4f2; --card:#fff; --card2:#faf9f8; --ink:#191817; --ink2:#33322f;
  --body:#57554f; --muted:#6a6862; --faint:#8a8780;
  --line:#e5e3df; --line2:#dddbd4; --line3:#ecebe7;
  --accent:#5b5bd6; --accent-d:#4343b8; --accent-x:#3d3d96; --accent-t:#e8e8f4; --accent-b:#d5d5f0;
  --warn-bg:#f0e9e4; --warn-fg:#8a5a34;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Schibsted Grotesk',Helvetica,Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-d)}
input,button,select{font:inherit;color:inherit}
::selection{background:var(--accent-b)}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.eb{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.eb-s{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.mono{font-family:var(--mono);font-weight:500;letter-spacing:-.03em}

header.site{position:sticky;top:0;z-index:40;background:rgba(245,244,242,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.site .wrap{height:76px;display:flex;align-items:center;gap:26px}
.logo{display:flex;align-items:center;gap:9px;border:0;background:0;padding:0;cursor:pointer}
.wordmark{display:flex;align-items:baseline;gap:1px;font-family:var(--serif);font-size:23px;letter-spacing:-.015em;color:var(--ink)}
.wordmark i{font-style:italic;color:var(--accent)}
nav.main{display:flex;gap:24px;flex-grow:1}
.navlink{border:0;background:0;padding:0;font-size:14.5px;font-weight:500;color:var(--body);cursor:pointer}
.navlink:hover{color:var(--ink)}
.btn{border:0;border-radius:999px;cursor:pointer;font-weight:600}
.btn-dark{height:40px;padding:0 20px;background:var(--ink);color:var(--card2);font-size:14.5px}
.btn-accent{height:50px;padding:0 26px;background:var(--accent);color:#fff;font-size:15px}
.btn-ghost{height:38px;padding:0 15px;border:1px solid var(--line2);background:var(--card);font-size:14px;font-weight:500}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:11.5px}

.chip{height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line2);background:var(--card2);font-size:13.5px;font-weight:500;cursor:pointer;color:var(--ink)}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-t);color:var(--accent-x);font-weight:600}
.chip-s{height:36px;padding:0 14px}

h1.hero{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.2vw,86px);line-height:.98;letter-spacing:-.028em;max-width:17ch}
h1.hero em{font-style:italic;color:var(--accent)}
h2.disp{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,42px);line-height:1.08;letter-spacing:-.02em}
.lede{margin:26px 0 0;max-width:60ch;font-size:19px;line-height:1.55;color:var(--body)}
.pill-note{display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 15px;border:1px solid var(--line2);border-radius:999px;background:var(--card);margin-bottom:28px;font-size:13.5px;color:var(--body)}
.dot{width:7px;height:7px;border-radius:999px;background:var(--accent)}

.searchbar{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 9px 9px 30px;display:flex;align-items:center;gap:0}
.sf{border:0;background:0;padding:0;text-align:left;cursor:pointer;min-width:0}
.sf .k{display:block;margin-bottom:3px}
.sf .v{display:block;font-size:15.5px;font-weight:600;color:var(--ink)}
.sf-rule{width:1px;height:38px;background:var(--line3);flex-shrink:0}
.panel{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 26px}
.chips{display:flex;flex-wrap:wrap;gap:7px}

.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.stat{padding:26px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.stat .n{font-family:var(--mono);font-size:38px;font-weight:500;letter-spacing:-.035em}
.stat .l{margin-top:7px;font-size:14.5px;line-height:1.4;color:var(--muted)}

.card{background:var(--card);border:1px solid var(--line);border-radius:18px}
.result{padding:22px 24px;display:flex;gap:22px;align-items:flex-start}
.thumb{border:0;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--serif);color:var(--body)}
.policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e9e8e4;border:1px solid #e9e8e4;border-radius:14px;overflow:hidden}
.policy-grid>div{background:var(--card2);padding:12px 14px}
.policy-grid .k{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.policy-grid .v{font-size:14px;font-weight:500}
.policy-grid .v.mono{font-family:var(--mono);font-size:15px}
.verdict{display:flex;align-items:flex-start;gap:7px;padding:8px 13px;border-radius:14px;font-size:13.5px;font-weight:600;line-height:1.3}
.verdict.ok{background:var(--accent-t);color:var(--accent-x)}
.verdict.no{background:var(--warn-bg);color:var(--warn-fg)}
.side{width:172px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.mini{height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--line2);background:var(--card);font-size:13px;font-weight:600;color:var(--body);cursor:pointer}
.mini[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-t);color:var(--accent-x)}
.mini:disabled{opacity:.45;cursor:not-allowed}

.tray{position:sticky;top:76px;z-index:39;background:var(--ink);color:var(--card2)}
.tray .wrap{padding:12px 28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dark-panel{padding:44px 48px;background:var(--ink);border-radius:22px;color:var(--card2)}
.dark-panel p{max-width:62ch;font-size:17px;line-height:1.6;color:#cac7bf;margin:0 0 8px}
.empty{padding:58px 28px;border:1px dashed #cac7bf;border-radius:18px;text-align:center}
footer.site{margin-top:104px;border-top:1px solid var(--line);background:var(--card2)}
footer.site .wrap{padding:36px 28px;display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--faint)}
aside.book{position:sticky;top:96px;flex:1 1 340px;min-width:312px;max-width:380px;display:grid;gap:14px}
.row{display:flex;align-items:baseline;gap:12px}
.row .l{flex-grow:1;font-size:14px;color:var(--body)}
.rule{height:1px;background:var(--line3)}
section{margin-top:92px}
section:first-of-type{margin-top:0}

@media (max-width:1080px){
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid3,.grid2{grid-template-columns:1fr}
  .searchbar{flex-wrap:wrap;border-radius:18px;padding:18px}
  .sf-rule{display:none}
  .sf{flex:1 1 100%!important;padding-left:0!important;margin-bottom:14px}
  .result{flex-wrap:wrap}
  .side{width:100%}
  aside.book{position:static;max-width:none}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  nav.main{display:none}
  section{margin-top:64px}
}
