/* brand.css — MergeSearch design system, generated from engine/scripts/render/shell.html
   (screen styles only; the PDF-print @page rules stay in the render engine). Do not hand-edit;
   regenerate so the portal and the report never drift. */

@font-face{font-family:"Fraunces Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-wght-normal.woff2) format("woff2");}
@font-face{font-family:"Fraunces Variable";font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-wght-italic.woff2) format("woff2");}
@font-face{font-family:"Hanken Grotesk Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/hanken-grotesk-latin-wght-normal.woff2) format("woff2");}

:root{
  --paper:#FAFAF8; --paper-2:#F2F1EA; --raised:#FFFFFF;
  --ink:#14130F; --ink-soft:#2A2823; --muted:#6B6A60;
  --line:#E5E3DA; --line-strong:#D6D3C7;
  --emerald:#0E7C5A; --emerald-dark:#0A6149; --emerald-tint:#EAF2EC; --emerald-ink:#0C2E22;
  --ring-adj:#CBE1D5; --ring-fee:#5EA184; --ring-eye:#0E7C5A;
  --fact:#0C2E22; --fact-bg:#EAF2EC; --est:#8A5D12; --est-bg:#F2E9D6; --inf:#575650; --inf-bg:#ECEBE4;
  --dot:rgba(20,19,15,.022);
  --shadow:0 1px 2px rgba(20,19,15,.04), 0 10px 30px -18px rgba(20,19,15,.20);
  --display:"Fraunces Variable",Georgia,"Times New Roman",serif;
  --body:"Hanken Grotesk Variable",system-ui,-apple-system,Segoe UI,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#12110D; --paper-2:#18160F; --raised:#1B1913;
    --ink:#F4F2EA; --ink-soft:#DAD6CB; --muted:#9B9789;
    --line:#2A2820; --line-strong:#3A382E;
    --emerald:#41BF92; --emerald-dark:#63D2A8; --emerald-tint:#15251D; --emerald-ink:#BEE9D4;
    --ring-adj:#2B473A; --ring-fee:#3F8869; --ring-eye:#4CC79B;
    --fact:#BEE9D4; --fact-bg:#15251D; --est:#D9AE5C; --est-bg:#2A2214; --inf:#A6A296; --inf-bg:#211F18;
    --dot:rgba(255,255,255,.02);
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 12px 34px -18px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --paper:#12110D; --paper-2:#18160F; --raised:#1B1913;
  --ink:#F4F2EA; --ink-soft:#DAD6CB; --muted:#9B9789;
  --line:#2A2820; --line-strong:#3A382E;
  --emerald:#41BF92; --emerald-dark:#63D2A8; --emerald-tint:#15251D; --emerald-ink:#BEE9D4;
  --ring-adj:#2B473A; --ring-fee:#3F8869; --ring-eye:#4CC79B;
  --fact:#BEE9D4; --fact-bg:#15251D; --est:#D9AE5C; --est-bg:#2A2214; --inf:#A6A296; --inf-bg:#211F18;
  --dot:rgba(255,255,255,.02);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 12px 34px -18px rgba(0,0,0,.7);
}
:root[data-theme="light"]{
  --paper:#FAFAF8; --paper-2:#F2F1EA; --raised:#FFFFFF;
  --ink:#14130F; --ink-soft:#2A2823; --muted:#6B6A60;
  --line:#E5E3DA; --line-strong:#D6D3C7;
  --emerald:#0E7C5A; --emerald-dark:#0A6149; --emerald-tint:#EAF2EC; --emerald-ink:#0C2E22;
  --ring-adj:#CBE1D5; --ring-fee:#5EA184; --ring-eye:#0E7C5A;
  --fact:#0C2E22; --fact-bg:#EAF2EC; --est:#8A5D12; --est-bg:#F2E9D6; --inf:#575650; --inf-bg:#ECEBE4;
  --dot:rgba(20,19,15,.022);
  --shadow:0 1px 2px rgba(20,19,15,.04), 0 10px 30px -18px rgba(20,19,15,.20);
}
*{box-sizing:border-box;}
body{margin:0;}
.page{
  background-color:var(--paper); color:var(--ink);
  font-family:var(--body); font-size:15px; line-height:1.62; font-weight:400;
  font-synthesis-weight:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; font-variant-numeric:tabular-nums;
  background-image:radial-gradient(circle at 1px 1px,var(--dot) 1px,transparent 0); background-size:4px 4px;
}
::selection{background:var(--emerald); color:#fff;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
h1,h2,h3,h4{font-family:var(--display); font-weight:500; letter-spacing:-.02em; line-height:1.06; margin:0;}
b,strong{font-weight:600;}
a{color:inherit;}

/* toolbar / section index */
.bar{position:sticky; top:0; z-index:30; background:color-mix(in srgb,var(--paper) 86%,transparent); backdrop-filter:saturate(1.3) blur(9px); border-bottom:1px solid var(--line);}
.bar .wrap{display:flex; align-items:center; justify-content:space-between; height:56px; gap:20px;}
.brand{display:flex; align-items:center; gap:9px; font-weight:700; font-size:14px; letter-spacing:-.01em; white-space:nowrap;}
.brand .dot{width:9px; height:9px; border-radius:50%; background:var(--emerald); box-shadow:0 0 0 3px color-mix(in srgb,var(--emerald) 20%,transparent);}
.brand small{color:var(--muted); font-weight:500;}
.idx{display:flex; gap:4px; overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none;}
.idx::-webkit-scrollbar{display:none;}
.idx a{font-size:12.5px; color:var(--muted); padding:6px 10px; border-radius:7px; white-space:nowrap; transition:color .15s, background .15s;}
.idx a:hover{color:var(--ink); background:var(--paper-2);}
.tools{display:flex; align-items:center; gap:10px;}
.toggle{font-size:12px; color:var(--ink-soft); background:transparent; border:1px solid var(--line-strong); border-radius:999px; padding:6px 12px; cursor:pointer; display:flex; gap:7px; align-items:center; font-family:var(--body);}
.toggle:hover{border-color:var(--emerald); color:var(--emerald);}
.toggle:focus-visible{outline:2px solid var(--emerald); outline-offset:2px;}

.eyebrow{font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}
.eyebrow.accent{color:var(--emerald);}
.tag{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line-strong); padding:4px 9px; border-radius:999px; white-space:nowrap;}

/* masthead */
.mast{position:relative; padding:76px 0 46px; border-bottom:1px solid var(--line); overflow:hidden;}
.mast .bg{position:absolute; right:-155px; top:-128px; width:436px; height:436px; opacity:.4; pointer-events:none;}
.mast h1{font-size:clamp(2.7rem,6vw,4.9rem); font-weight:500; max-width:15ch; margin:16px 0 0; text-wrap:balance;}
.mast h1 em{font-style:italic; color:var(--emerald);}
.lede{font-size:19px; line-height:1.55; color:var(--ink-soft); max-width:62ch; margin:22px 0 0;}
.lede b{color:var(--ink);}
.metarow{display:flex; flex-wrap:wrap; gap:12px 30px; margin-top:28px; padding-top:22px; border-top:1px solid var(--line);}
.metarow .m{display:flex; flex-direction:column; gap:3px;}
.metarow .m .k{font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);}
.metarow .m .v{font-size:14px; color:var(--ink); font-weight:600;}
.howto{margin-top:22px; font-style:italic; font-family:var(--display); font-size:17px; color:var(--muted);}

/* sections */
section{padding:58px 0; border-bottom:1px solid var(--line);}
section.alt{background:var(--paper-2);}
.shead{display:flex; align-items:baseline; gap:14px; margin-bottom:8px;}
.shead .no{font-size:13px; color:var(--emerald); font-weight:700; font-family:var(--body);}
.shead h2{font-size:clamp(1.7rem,3vw,2.5rem); font-weight:500;}
.sdek{color:var(--muted); font-size:16px; max-width:70ch; margin:0 0 30px; line-height:1.55;}
.sdek b{color:var(--ink);}

/* verdict callout */
.verdict{font-family:var(--display); font-style:italic; font-size:clamp(1.25rem,2.3vw,1.6rem); line-height:1.42; color:var(--ink); border-left:2px solid var(--emerald); padding:2px 0 2px 22px; margin:0 0 26px; max-width:64ch;}
.verdict .u{font-style:normal; background:linear-gradient(transparent 60%,color-mix(in srgb,var(--emerald) 22%,transparent) 60%); padding:0 1px;}

/* citations */
.c{font-family:var(--body); font-size:10px; font-weight:700; vertical-align:super; color:var(--emerald); margin-left:2px; cursor:help; border-bottom:1px dotted color-mix(in srgb,var(--emerald) 45%,transparent); line-height:0; white-space:nowrap;}

/* badges */
.badge{display:inline-flex; align-items:center; gap:5px; font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:3px 7px; border-radius:5px; width:fit-content; font-family:var(--body);}
.badge::before{content:""; width:5px; height:5px; border-radius:50%;}
.badge.fact{color:var(--fact); background:var(--fact-bg);} .badge.fact::before{background:var(--emerald);}
.badge.est{color:var(--est); background:var(--est-bg);} .badge.est::before{background:var(--est);}
.badge.inf{color:var(--inf); background:var(--inf-bg);} .badge.inf::before{background:var(--inf);}

/* stat tiles — hairline grid */
.tiles{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.tile{background:var(--paper); padding:20px 18px; display:flex; flex-direction:column; gap:9px; min-height:150px;}
section.alt .tile{background:var(--paper-2);}
.tile .k{font-size:10px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:var(--muted);}
.tile .v{font-family:var(--display); font-weight:500; font-size:34px; letter-spacing:-.02em; line-height:1; color:var(--ink);}
.tile .v small{font-size:16px; color:var(--muted);}
.tile .s{font-size:12px; color:var(--ink-soft); line-height:1.4; margin-top:auto;}
.tile .up{color:var(--emerald); font-weight:700;}

/* two-column */
.cols{display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:start;}
.stack{display:flex; flex-direction:column; gap:16px;}
.point{display:grid; grid-template-columns:20px 1fr; gap:12px; font-size:14.5px; line-height:1.5; color:var(--ink-soft);}
.point .a{color:var(--emerald); font-weight:700;}
.point b{color:var(--ink);}

/* tables */
.tw{overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--raised);}
section.alt .tw{background:var(--paper);}
table{border-collapse:collapse; width:100%; font-size:13px;}
th{font-size:10px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); text-align:left; padding:11px 14px; border-bottom:1px solid var(--line-strong); background:color-mix(in srgb,var(--paper-2) 60%,transparent);}
td{padding:10px 14px; border-bottom:1px solid var(--line); color:var(--ink-soft); vertical-align:top; line-height:1.45;}
tbody tr:last-child td{border-bottom:0;}
td .co{color:var(--ink); font-weight:600;}
td.n,th.n{text-align:right; font-variant-numeric:tabular-nums;}
td.n{color:var(--ink); font-weight:600;}
.cap{font-size:11.5px; color:var(--muted); margin-top:10px; line-height:1.5;}
pre.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11.5px; line-height:1.55; color:var(--ink-soft); background:var(--raised); border:1px solid var(--line); border-left:2px solid var(--emerald); border-radius:8px; padding:12px 14px; margin:0; white-space:pre-wrap; overflow-x:auto;}
section.alt pre.code{background:var(--paper);}
.hbars{display:flex; flex-direction:column; gap:11px; margin:4px 0 2px;}
.hbar{display:grid; grid-template-columns:96px 1fr auto; gap:14px; align-items:center;}
.hbar .hl{font-size:13px; color:var(--ink); font-weight:600;}
.hbar .ht{height:15px; background:color-mix(in srgb,var(--line) 72%,var(--paper)); border-radius:999px; overflow:hidden;}
.hbar .hf{height:100%; border-radius:999px; background:linear-gradient(90deg,color-mix(in srgb,var(--emerald) 55%,var(--paper)),var(--emerald));}
.hbar .hv{font-size:13px; color:var(--ink); font-weight:700; font-variant-numeric:tabular-nums; min-width:52px; text-align:right;}

/* pool rings */
.pool{display:grid; grid-template-columns:330px 1fr; gap:46px; align-items:center;}
.eye{width:320px; height:320px; margin:0 auto; position:relative;}
.eye svg{width:100%; height:100%; display:block; overflow:visible;}
.rseg{transition:opacity .16s;}
.pool:hover .rseg{opacity:.5;} .pool .rseg:hover{opacity:1;}
.rl{display:flex; flex-direction:column;}
.rrow{display:grid; grid-template-columns:14px 1fr auto; gap:14px; align-items:center; padding:15px 2px; border-bottom:1px solid var(--line);}
.rrow:last-child{border-bottom:0;}
.sw{width:13px; height:13px; border-radius:4px;}
.rrow .nm{font-weight:600; font-size:14.5px; color:var(--ink);}
.rrow .df{font-size:12.5px; color:var(--muted); margin-top:2px; line-height:1.4;}
.rrow .ct{text-align:right;}
.rrow .ct .b{font-family:var(--display); font-weight:500; font-size:21px; letter-spacing:-.01em; color:var(--ink);}
.rrow .ct .ne{font-size:10.5px; color:var(--muted);}
.gauge{margin-top:22px; background:var(--raised); border:1px solid var(--line); border-radius:12px; padding:18px 20px;}
section.alt .gauge{background:var(--paper);}
.gauge .t{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px;}
.gauge .sc{font-family:var(--display); font-weight:500; font-size:24px; color:var(--ink);}
.gauge .sc small{color:var(--muted); font-size:15px;}
.gtrack{display:flex; gap:5px;}
.gtrack i{flex:1; height:10px; border-radius:3px; background:var(--line-strong);}
.gtrack i.on{background:var(--emerald);}
.gauge .nt{font-size:12.5px; color:var(--ink-soft); margin-top:12px; line-height:1.45;}

/* comp range bar */
.rangebar{position:relative; height:66px; margin:38px 0 6px;}
.rt{position:absolute; left:0; right:0; top:28px; height:10px; background:color-mix(in srgb,var(--line) 70%,var(--paper)); border:1px solid var(--line); border-radius:999px;}
.rband{position:absolute; top:28px; height:10px; border-radius:999px; background:linear-gradient(90deg,color-mix(in srgb,var(--emerald) 30%,var(--paper)),var(--emerald));}
.rc{position:absolute; top:16px; width:3px; height:34px; background:var(--emerald-dark); border-radius:2px; transform:translateX(-50%);}
.rc::after{content:""; position:absolute; left:50%; top:-6px; width:13px; height:13px; background:var(--emerald-dark); border:2.5px solid var(--paper); border-radius:50%; transform:translateX(-50%);}
.rk{position:absolute; top:44px; transform:translateX(-50%); font-size:11px; color:var(--ink-soft); white-space:nowrap;}
.rk.mid{color:var(--emerald-dark); font-weight:700;}
.rkl{position:absolute; top:0; transform:translateX(-50%); font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted);}

/* ringed longlist groups */
.llg{margin-top:22px;}
.llg .gh{display:flex; align-items:center; gap:10px; margin:0 0 8px;}
.llg .gh .s{width:11px; height:11px; border-radius:3px;}
.llg .gh .g{font-size:11px; letter-spacing:.07em; text-transform:uppercase; font-weight:700; color:var(--ink);}
.llg .gh .x{font-size:11.5px; color:var(--muted);}

/* verification */
.ladder{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:30px;}
.rung{border:1px solid var(--line); border-radius:11px; padding:15px; background:var(--raised); position:relative;}
section.alt .rung{background:var(--paper);}
.rung.on{border-color:var(--emerald); box-shadow:0 0 0 1px var(--emerald);}
.rung .rn{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}
.rung .rt2{font-family:var(--display); font-weight:500; font-size:17px; margin:6px 0 4px; color:var(--ink);}
.rung .rd{font-size:12px; color:var(--ink-soft); line-height:1.4;}
.rung .now{position:absolute; top:13px; right:13px; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); font-weight:700;}
.rung.dim{opacity:.55;}
.vrow{display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line);}
.vrow:last-child{border-bottom:0;}
.vrow .cl{font-size:13.5px; color:var(--ink-soft); line-height:1.45;}
.vrow .cl b{color:var(--ink);}
.chips{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end;}
.chip{font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; padding:4px 8px; border-radius:6px; border:1px solid var(--line-strong); color:var(--muted); display:inline-flex; gap:5px; align-items:center; white-space:nowrap;}
.chip.pass{color:var(--emerald); border-color:color-mix(in srgb,var(--emerald) 40%,transparent); background:var(--emerald-tint);}
.chip .m{font-weight:800;}

.srcgrid{columns:2; column-gap:40px; font-size:12px; color:var(--muted); line-height:1.7;}
.srcgrid a,.srcgrid span{color:var(--muted);}
.srcgrid b{color:var(--ink-soft); font-weight:600;}

.foot{padding:36px 0 60px; color:var(--muted); font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.pfoot{display:none;}

/* drill-down marker: point right when closed, down when open */
details.collapsible > summary > span:first-child{display:inline-block; transition:transform .16s var(--ease);}
details.collapsible[open] > summary > span:first-child{transform:rotate(90deg);}

/* tooltip */
.tt{position:fixed; z-index:80; pointer-events:none; background:var(--ink); color:var(--paper); font-family:var(--body); font-size:11.5px; line-height:1.5; padding:9px 12px; border-radius:9px; max-width:320px; opacity:0; transform:translateY(4px); transition:opacity .12s,transform .12s; box-shadow:var(--shadow);}
.tt.show{opacity:1; transform:translateY(0);}

.reveal{opacity:0; transform:translateY(14px);}
.reveal.in{opacity:1; transform:none; transition:opacity .7s var(--ease), transform .7s var(--ease);}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1!important; transform:none!important; transition:none!important;} }

@media (max-width:920px){
  .tiles{grid-template-columns:repeat(2,1fr);} .cols,.pool{grid-template-columns:1fr; gap:30px;}
  .ladder{grid-template-columns:repeat(2,1fr);} .eye{width:280px; height:280px;} .srcgrid{columns:1;}
  .idx{display:none;}
}
@media (max-width:520px){ .tiles{grid-template-columns:1fr 1fr;} .wrap{padding:0 18px;} }

/* ---- print: a clean A4 PDF ---- */
