/* ============================================================
   THE OWNERSHIP ATLAS — design system
   A cartographic-editorial research journal: one centered column,
   generous air, hairline rules instead of boxes, engraved atlas-plate
   banners (one unique plate per section), Fraunces serif display over
   a quiet system sans for data. Palette: aged ivory paper, spruce ink,
   burnished copper. Class contract of the family shell is preserved
   (topbar ids, offcanvas, data-table, favstar, ask form, …) so the
   shared JS keeps working — the skin is entirely new.
   ============================================================ */

@font-face{
  font-family:'Fraunces';
  src:url('/static/fonts/fraunces.woff2') format('woff2');
  font-weight:400 700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Fraunces';
  src:url('/static/fonts/fraunces-italic.woff2') format('woff2');
  font-weight:400 700; font-style:italic; font-display:swap;
}

:root{
  --paper:#f6f3ec; --paper2:#eeeadd; --paper3:#e7e2d2;
  --ink:#20261f; --ink2:#434b41; --muted:#7a7d6d;
  --line:#d9d2bf; --hair:#e5dfcf;
  --spruce:#2f5d4a; --spruce-deep:#1e3a2e; --spruce-ink:#16241d;
  --copper:#a8622c; --copper-soft:rgba(168,98,44,.14);
  --up:#2c7a52; --down:#b13a33; --star:#b58a2e;
  --serif:'Fraunces','Iowan Old Style',Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
[data-theme="dark"]{
  --paper:#141814; --paper2:#1b211b; --paper3:#222922;
  --ink:#e9e4d4; --ink2:#c8c4b2; --muted:#98a08d;
  --line:#333b32; --hair:#272e26;
  --spruce:#8dbfa4; --spruce-deep:#101a14; --spruce-ink:#0c130f;
  --copper:#cf8a4d; --copper-soft:rgba(207,138,77,.16);
  --up:#6dbd92; --down:#df7a64; --star:#cfa64a;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:15px/1.5 var(--sans);background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased}
a{color:var(--spruce);text-decoration:none}
a:hover{color:var(--copper)}
::selection{background:var(--copper-soft)}

/* ---------------- masthead (two rows: wordmark, then sticky nav) -------- */
.masthead{background:var(--paper);border-bottom:1px solid var(--line)}
.mast-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  max-width:76rem;margin:0 auto;padding:20px 20px 12px;gap:12px}
.mast-tools{display:flex;align-items:center;gap:12px}
.mast-tools.right{justify-content:flex-end}
.burger{background:none;border:0;color:var(--ink);font-size:20px;cursor:pointer;padding:4px}
.logo-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;text-align:center}
.logo{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:.01em;
  color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:12px;line-height:1}
.logo:hover{color:var(--ink)}
.logo .mark{width:34px;height:34px;flex:0 0 auto}
.logo em{font-style:normal;color:var(--spruce)}
.tagline{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.mast-nav{position:sticky;top:0;z-index:50;background:var(--paper);
  border-bottom:1px solid var(--line);margin-bottom:-1px}
.mainnav{display:flex;justify-content:center;align-items:center;gap:4px;
  max-width:76rem;margin:0 auto;padding:0 16px;flex-wrap:nowrap}
.mainnav>a,.mainnav .ddbtn{display:block;color:var(--ink2);padding:11px 11px;
  font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.mainnav>a:hover,.ddbtn:hover{color:var(--copper)}
.mainnav>a.cur{color:var(--ink);box-shadow:inset 0 -2px 0 var(--copper)}
.dd{position:relative;display:flex;align-items:center}
.ddmenu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--paper);border:1px solid var(--line);min-width:210px;
  box-shadow:0 14px 34px rgba(24,30,22,.14);padding:8px 0;z-index:60}
.ddmenu.open{display:block}
.ddmenu a{display:block;padding:8px 18px;color:var(--ink2);font-size:13.5px}
.ddmenu a:hover{background:var(--paper2);color:var(--copper)}
.ddmenu .ddsep{border-top:1px solid var(--hair);margin:6px 0}

/* search: quiet underline field, left tools */
.searchwrap{position:relative}
.searchwrap input{background:transparent;border:0;border-bottom:1px solid var(--line);
  color:var(--ink);padding:6px 2px;width:150px;outline:none;font:13.5px var(--sans)}
.searchwrap input:focus{border-bottom-color:var(--copper)}
.searchwrap input::placeholder{color:var(--muted)}
.searchresults{display:none;position:absolute;left:0;top:115%;width:320px;background:var(--paper);
  border:1px solid var(--line);box-shadow:0 14px 34px rgba(24,30,22,.16);overflow:hidden;z-index:70}
.searchresults.open{display:block}
.searchresults a{display:flex;justify-content:space-between;gap:10px;padding:9px 13px;color:var(--ink)}
.searchresults a:hover{background:var(--paper2)}
.searchresults .k{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;flex:0 0 auto}

.savebtn{flex:0 0 auto;position:relative;color:var(--star);font-size:18px;line-height:1;padding:4px 2px}
.favbadge{position:absolute;top:-5px;right:-10px;background:var(--copper);color:var(--paper);
  font-size:9.5px;font-weight:800;border-radius:999px;min-width:15px;height:15px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 3px}
.theme-toggle,.tb-theme{font-size:16px;background:none;border:1px solid var(--line);border-radius:50%;
  width:32px;height:32px;cursor:pointer;color:var(--ink2);padding:0;line-height:1;flex:0 0 auto}
.theme-toggle:hover,.tb-theme:hover{border-color:var(--copper);color:var(--copper)}
.userbtn{background:none;border:0;color:var(--ink2);font-size:18px;cursor:pointer;padding:4px}
.userbtn:hover{color:var(--copper)}

/* ---------------- offcanvas ---------------- */
.offcanvas{position:fixed;top:0;bottom:0;width:300px;max-width:86vw;background:var(--paper);z-index:90;
  transition:transform .22s;overflow-y:auto;padding:16px;border-right:1px solid var(--line)}
.offcanvas.left{left:0;transform:translateX(-100%)}
.offcanvas.right{right:0;left:auto;transform:translateX(100%);border-left:1px solid var(--line);border-right:0}
.offcanvas.open{transform:none}
.oc-backdrop{display:none;position:fixed;inset:0;background:rgba(22,30,24,.45);z-index:80}
.oc-backdrop.open{display:block}
.oc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.oc-head b{font-family:var(--serif);font-size:17px;font-weight:600}
.oc-close{background:none;border:0;font-size:22px;cursor:pointer;color:var(--ink)}
.oc-link{display:block;padding:10px 4px;border-bottom:1px solid var(--hair);color:var(--ink);font-weight:600}
.offcanvas details{border-bottom:1px solid var(--hair);padding:4px 0}
.offcanvas summary{padding:8px 4px;font-weight:600;cursor:pointer}
.offcanvas details a{display:block;padding:6px 16px;color:var(--ink2)}
.offcanvas details a:hover,.oc-link:hover{color:var(--copper)}
.oc-card{border:1px solid var(--hair);padding:12px;margin:12px 0}
.oc-card p{margin:6px 0 0;color:var(--muted);font-size:13px}
.oc-row{display:flex;justify-content:space-between;align-items:center;padding:10px 2px}
.oc-view{border-top:1px solid var(--hair);margin-top:12px;padding-top:10px;font-size:12.5px}
.oc-view p{margin:0 0 8px;line-height:1.5}

/* ---------------- page scaffolding ---------------- */
.page{padding:0 0 30px;min-height:52vh}
.col{max-width:56rem;margin:0 auto;padding:0 20px}
.colw{max-width:76rem;margin:0 auto;padding:0 20px}
h1{font-family:var(--serif);font-weight:600;font-size:40px;line-height:1.06;
  letter-spacing:-.01em;margin:18px 0 10px;text-align:center}
.h1sub{color:var(--muted);font-weight:400;font-size:16px}
h2{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.15;margin:10px 0 8px;text-align:center}
h3{font-size:16px;margin:16px 0 6px}
.blurb,.lede{color:var(--ink2);max-width:44rem;margin:0 auto 8px;text-align:center;
  font-family:var(--serif);font-size:17px;line-height:1.6}
.lede{font-style:italic}
.fineprint{color:var(--muted);font-size:12.5px}
.center{text-align:center}
.page-summary{font-size:14px;color:var(--muted);margin:12px auto 4px;max-width:46rem;text-align:center}

/* section opener: ⸻ SMALL-CAPS CAPTION ⸻ */
.plate-cap{display:flex;align-items:center;gap:18px;max-width:56rem;margin:64px auto 6px;
  padding:0 20px;color:var(--copper);font-size:11.5px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;white-space:nowrap}
.plate-cap::before,.plate-cap::after{content:"";flex:1;border-top:1px solid var(--line)}
.plate-cap a{color:inherit}
section.atlas{margin:0 0 8px}

/* engraved plate banners with title overlaid on the image */
.pagehero{position:relative;max-width:76rem;margin:26px auto 8px;padding:0 20px}
.pagehero .frame{position:relative;overflow:hidden;border:1px solid var(--line)}
.pagehero img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover}
.pagehero .ph-text{position:absolute;left:0;right:0;bottom:0;padding:84px 24px 26px;text-align:center;
  background:linear-gradient(180deg,rgba(22,33,26,0) 0%,rgba(22,33,26,.44) 45%,rgba(20,30,24,.86) 100%)}
.pagehero h1{color:#f3efe2;margin:0 0 6px;text-shadow:0 1px 14px rgba(12,18,14,.55)}
.pagehero .ph-sub{color:#d8d3c0;font-family:var(--serif);font-style:italic;font-size:16.5px;
  max-width:46rem;margin:0 auto}
.pagehero figcaption,.platecredit{color:var(--muted);font-size:11.5px;text-align:center;margin-top:8px}
.pagehero.tall img{aspect-ratio:16/7}
@supports not (aspect-ratio:21/9){.pagehero img{height:340px}}

/* trust line: plain centered fine print, no pill */
.trust-strip{display:block;text-align:center;color:var(--muted);font-size:12.5px;
  letter-spacing:.05em;margin:14px auto 4px;max-width:56rem;padding:0 20px}
.trust-strip b{color:var(--ink2);font-weight:600}

/* stat row: typographic figures separated by hairlines */
.statrow{display:flex;justify-content:center;flex-wrap:wrap;margin:22px auto 10px;max-width:70rem;padding:0 12px}
.stat{padding:4px 30px;text-align:center;border-left:1px solid var(--line);margin:8px 0}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.1;
  font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:3px;color:var(--muted);font-size:10.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase}
.stat .sub{font-size:12px;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:400}

/* ranked line (family "ranked cards" as one open row) */
.rank-row{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:6px auto 2px;max-width:72rem;padding:0 12px}
.rank-card{display:flex;align-items:baseline;gap:8px;padding:6px 22px;font-size:13.5px;
  border-left:1px solid var(--line)}
.rank-card:first-child{border-left:0}
.rk-label{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rank-card b{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk-val{font-weight:700;font-variant-numeric:tabular-nums}
.rk-more{color:var(--copper)}

/* ---------------- tables: open ledger style ---------------- */
.data-table{width:100%;border-collapse:collapse;margin:12px 0 8px;font-size:13.5px}
.data-table th{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);text-align:right;padding:8px 10px;border-bottom:2px solid var(--ink);
  cursor:pointer;white-space:nowrap;background:none}
.data-table th:first-child{text-align:left}
.data-table td{padding:9px 10px;border-bottom:1px solid var(--hair);text-align:right;white-space:nowrap}
.data-table td:first-child{text-align:left}
/* text columns are explicitly left-aligned wherever they sit (a ranked table's
   "#" column must never push the name column into right alignment) */
.data-table th.tl,.data-table td.tl{text-align:left}
.data-table td.tname{text-align:left}
.data-table tbody tr:hover{background:var(--paper2)}
.data-table .tname{max-width:300px;overflow:hidden;text-overflow:ellipsis}
.data-table a{color:var(--ink)}
.data-table a:hover{color:var(--copper)}
.data-table .rowno{color:var(--muted);font-size:12px;width:26px}
.num{font-variant-numeric:tabular-nums}
.up{color:var(--up)} .down{color:var(--down)}
.unit,.datec{color:var(--muted);font-size:12px}
.table-note{color:var(--muted);font-size:12px;margin:2px 0 10px}
.stub td{color:var(--muted);text-align:center;padding:26px 10px;font-family:var(--serif);font-style:italic;font-size:15px}

/* inline weight bar drawn inside cells */
.wb{display:inline-block;height:7px;background:var(--copper);opacity:.75;vertical-align:middle;
  margin-left:8px;border-radius:1px;min-width:1px}
.wb.g{background:var(--up)} .wb.r{background:var(--down)} .wb.s{background:var(--spruce)}

/* status words (never boxes) */
.st{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.st-new{color:var(--up)} .st-inc{color:var(--up)} .st-red{color:var(--down)}
.st-exit{color:var(--down)} .st-unch{color:var(--muted)} .st-na{color:var(--muted)}
.momlbl{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* small dots for streaks: ●●●○ */
.streak{letter-spacing:2px;font-size:9px;vertical-align:1px}
.streak .on{color:var(--copper)} .streak .off{color:var(--line)}

/* sparkline cells */
.spark{width:96px;height:26px;vertical-align:middle}
.spark polyline{fill:none;stroke:var(--spruce);stroke-width:1.6}
.spark .fill{fill:var(--copper-soft);stroke:none}

/* ---------------- controls: underline tabs, quiet buttons ------------- */
.subnav,.tabsline{display:flex;justify-content:center;gap:26px;border-bottom:1px solid var(--line);
  margin:14px auto 4px;max-width:72rem;padding:0 20px;flex-wrap:wrap}
.subnav a,.tabsline a,.tabsline button{padding:9px 2px;color:var(--muted);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;background:none;border:0;cursor:pointer}
.subnav a.cur,.tabsline .cur{color:var(--ink);box-shadow:inset 0 -2px 0 var(--copper)}
.subnav a:hover,.tabsline a:hover,.tabsline button:hover{color:var(--copper)}
.toolbar,.viewrow{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px auto}
.tbtn,.vbtn{border:1px solid var(--line);border-radius:3px;padding:6px 14px;color:var(--ink2);
  font-size:13px;background:transparent;cursor:pointer;font-family:var(--sans)}
.tbtn:hover,.vbtn:hover{border-color:var(--copper);color:var(--copper)}
.tbtn.cur,.vbtn.cur{background:var(--spruce);border-color:var(--spruce);color:var(--paper)}
.copybtn{cursor:pointer;background:var(--spruce);color:#f3efe2;border:1px solid var(--spruce);
  border-radius:3px;padding:6px 16px}
.copybtn:hover{background:var(--spruce-deep);color:#f3efe2}
.favstar{background:none;border:0;cursor:pointer;font-size:14px;color:var(--muted);
  padding:0 5px 0 0;vertical-align:-1px}
.favstar.on{color:var(--star)}

/* screener/filter band: hairline rules, no panel */
.screen-form{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end;justify-content:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 12px;margin:14px 0}
.screen-form label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.screen-form input,.screen-form select,select.inp,input.inp{border:0;border-bottom:1px solid var(--line);
  background:transparent;color:var(--ink);padding:6px 2px;font:13.5px var(--sans);width:130px;outline:none}
.screen-form input:focus,.screen-form select:focus{border-bottom-color:var(--copper)}

/* note lines (methodology/caveats): hairline-left, no fill */
.note-box{border-left:2px solid var(--copper);padding:4px 0 4px 16px;margin:16px auto;color:var(--ink2);
  font-size:13.5px;max-width:52rem}
.note-box b{color:var(--ink)}
.stalebadge{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.06em;
  padding:1px 6px;border-radius:2px;color:var(--down);border:1px solid var(--down);vertical-align:1px}
.fig-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:center;margin:8px 0 12px}
.fig-label{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--ink2)}
.asof{font-size:11.5px;color:var(--muted)}

/* provenance block */
.provenance{border-top:1px solid var(--line);margin-top:26px;padding-top:12px;color:var(--muted);font-size:12.5px}
.provenance b{color:var(--ink2)}
.provenance a{color:var(--copper)}

/* guided view helper */
.guide-help{display:none;border-left:2px solid var(--spruce);padding:6px 0 6px 16px;
  font-size:13px;line-height:1.55;margin:10px auto;max-width:52rem;color:var(--ink2)}
body.guided .guide-help{display:block}

/* ---------------- home specifics ---------------- */
.homehero{position:relative;max-width:80rem;margin:0 auto;padding:0 20px}
.homehero .frame{position:relative;overflow:hidden;border:1px solid var(--line)}
.homehero img{display:block;width:100%;aspect-ratio:21/8;object-fit:cover}
.homehero .ph-text{position:absolute;left:0;right:0;bottom:0;padding:110px 24px 34px;text-align:center;
  background:linear-gradient(180deg,rgba(22,33,26,0) 0%,rgba(22,33,26,.42) 45%,rgba(18,28,22,.9) 100%)}
.homehero h1{color:#f3efe2;font-size:52px;margin:0 0 8px;text-shadow:0 1px 16px rgba(12,18,14,.6)}
.homehero .ph-sub{color:#ddd8c6;font-family:var(--serif);font-style:italic;font-size:18px;max-width:52rem;margin:0 auto}
@media (max-width:700px){.homehero img{aspect-ratio:4/3}.homehero h1{font-size:31px}
  .homehero .ph-text{padding:70px 14px 20px}}

/* module = one dashboard section; art-free, typography-led */
.module{max-width:56rem;margin:0 auto;padding:0 20px}
.module.wide{max-width:76rem}
.module .morelink{display:block;text-align:center;margin:8px 0 0;font-size:12.5px;
  letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--copper)}
.module .morelink:hover{color:var(--spruce)}

/* two quiet columns inside a module when lists pair up */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.duo>div:first-child{border-right:1px solid var(--hair);padding-right:44px}
.duo h3{font-family:var(--serif);font-weight:600;font-size:18px;text-align:center;margin:8px 0 2px}
.duo .h3sub{text-align:center;color:var(--muted);font-size:12px;margin:0 0 6px}
@media (max-width:820px){.duo{grid-template-columns:1fr}
  .duo>div:first-child{border-right:0;padding-right:0;border-bottom:1px solid var(--hair);
  padding-bottom:14px;margin-bottom:8px}}

/* index-ledger list (news, filings feeds): dateline · text · source */
.ledger{margin:6px 0}
.ledger-item{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.ledger-item .when{flex:0 0 92px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.ledger-item .what{flex:1;min-width:0}
.ledger-item .what b{font-weight:600;font-size:14.5px;line-height:1.4}
.ledger-item .what a{color:var(--ink)}
.ledger-item .what a:hover{color:var(--copper)}
.ledger-item .what p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.ledger-item .src{flex:0 0 auto;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.chip,.cc{display:inline-block;border:1px solid var(--line);border-radius:2px;padding:1px 7px;
  font-size:11px;margin-right:6px;color:var(--muted);letter-spacing:.04em}
a.chip:hover{border-color:var(--copper);color:var(--copper)}

/* sector rotation bars: label · bar · pp */
.rot{max-width:46rem;margin:10px auto}
.rot-row{display:grid;grid-template-columns:170px 1fr 84px;gap:12px;align-items:center;padding:7px 0;
  border-bottom:1px solid var(--hair);font-size:13.5px}
.rot-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rot-track{position:relative;height:10px}
.rot-track::before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;border-left:1px solid var(--line)}
.rot-bar{position:absolute;top:1px;height:8px;border-radius:1px}
.rot-bar.pos{left:50%;background:var(--up)}
.rot-bar.neg{right:50%;background:var(--down)}
.rot-row .pp{text-align:right;font-variant-numeric:tabular-nums}

/* ---------------- learn / prose ---------------- */
.prose{max-width:44rem;margin:0 auto;font-family:var(--serif);font-size:17px;line-height:1.75;color:var(--ink)}
.prose p{margin:0 0 18px}
.prose h2{font-size:26px;text-align:left;margin:34px 0 12px}
.prose h3{font-family:var(--serif);font-size:19px;font-weight:600;margin:26px 0 8px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:24px}
.prose li{margin:0 0 8px}
.prose .kicker{color:var(--copper);font-size:11.5px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;font-family:var(--sans);text-align:center;display:block;margin:0 0 10px}
.prose blockquote{border-left:2px solid var(--copper);margin:0 0 18px;padding:2px 0 2px 18px;
  font-style:italic;color:var(--ink2)}
.prose table{font-family:var(--sans)}
.dropcap:first-letter{font-size:52px;font-family:var(--serif);float:left;line-height:.9;
  padding:4px 8px 0 0;color:var(--spruce)}

/* learn index: an index of entries, not cards */
.tocline{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid var(--hair)}
.tocline .no{flex:0 0 34px;color:var(--copper);font-family:var(--serif);font-size:17px}
.tocline .t{flex:0 0 auto;font-weight:600;font-size:15.5px}
.tocline .t a{color:var(--ink)}
.tocline .t a:hover{color:var(--copper)}
.tocline .dots{flex:1;border-bottom:1px dotted var(--line);margin:0 2px;transform:translateY(-4px)}
.tocline .d{color:var(--muted);font-size:12.5px;flex:0 1 auto;text-align:right;max-width:46%}
@media (max-width:640px){.tocline .d{display:none}}

/* AI-agents prompts */
.prompt-text{white-space:pre-wrap;border:1px solid var(--line);padding:14px 16px;font-size:12.5px;
  line-height:1.55;color:var(--ink2);margin:0 0 10px;background:var(--paper2);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------------- Research Desk (/ask) — the dark copper room ---------- */
.deskwrap{background:var(--spruce-ink);color:#e6e0cd;margin:26px 0 0;padding:0 0 46px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.deskwrap .pagehero{margin-top:0;padding-top:0}
.deskwrap .pagehero .frame{border:0;border-bottom:1px solid rgba(207,138,77,.35)}
.deskwrap h1{color:#f0ead6}
.deskwrap .lede{color:#bdb8a2}
.desk{max-width:50rem;margin:22px auto 0;padding:0 20px}
.desk-label{text-align:center;color:#cf8a4d;font-size:11px;font-weight:800;
  letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px}
#askForm{display:flex;gap:12px}
#askInput{flex:1;border:1px solid rgba(207,138,77,.55);border-radius:6px;
  background:rgba(240,234,214,.07);color:#f0ead6;padding:14px 16px;
  font:16px var(--serif);outline:none;caret-color:#e09c5e;min-width:0}
#askInput::placeholder{color:#938d76;font-style:italic}
#askInput:focus{border-color:#e09c5e;background:rgba(240,234,214,.1);
  box-shadow:0 0 0 3px rgba(207,138,77,.18)}
#askBtn{background:#cf8a4d;color:#1c150c;border:0;border-radius:6px;padding:10px 26px;
  font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
#askBtn:hover{background:#e09c5e}
#askBtn:disabled{opacity:.6}
.desk-stages{display:flex;justify-content:center;gap:0;margin:26px 0 4px;flex-wrap:wrap}
.stage{padding:2px 22px;border-left:1px solid rgba(207,138,77,.25);text-align:center;min-width:118px}
.stage:first-child{border-left:0}
.stage .lbl{display:block;font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#8d8874}
.stage .val{display:block;margin-top:4px;font-size:12.5px;color:#e6e0cd;min-height:17px}
.stage.lit .lbl{color:#cf8a4d}
.stage .val em{color:#cf8a4d;font-style:normal}
.ask-out{margin-top:22px;border-top:1px solid rgba(207,138,77,.3);padding-top:18px}
.ask-out p{font-family:var(--serif);font-size:16.5px;line-height:1.7;color:#efe9d5}
#askTable{width:100%;border-collapse:collapse;font-size:13px;margin:14px 0 4px}
#askTable th{color:#8d8874;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:right;
  padding:6px 8px;border-bottom:1px solid rgba(207,138,77,.4)}
#askTable th:first-child{text-align:left}
#askTable td{padding:7px 8px;border-bottom:1px solid rgba(230,224,205,.09);text-align:right;
  font-variant-numeric:tabular-nums}
#askTable td:first-child{text-align:left}
#askTable a{color:#e8c99a}
.ask-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ask-links .chip{border-color:rgba(207,138,77,.45);color:#cf8a4d}
.ask-links .chip:hover{border-color:#cf8a4d}
.ask-period{font-size:11.5px;color:#8d8874;margin-top:10px}
.ask-ex{margin-top:26px;border-top:1px solid rgba(230,224,205,.12);padding-top:14px}
.ask-ex .exlbl{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#8d8874}
.ask-ex p{margin:8px 0 0}
.ask-example{display:inline-block;margin:6px 12px 0 0;color:#c9b98e;font-family:var(--serif);
  font-style:italic;font-size:14.5px;cursor:pointer;border-bottom:1px dotted rgba(201,185,142,.5)}
.ask-example:hover{color:#e8c99a}

/* ---------------- legal & forms ---------------- */
.legalpage{max-width:46rem;margin:0 auto;padding:0 20px}
.legalpage p{font-size:14px;line-height:1.7;margin:0 0 13px}
.legalpage h2{text-align:left;font-size:21px;margin:26px 0 8px}
.contact-form{display:flex;flex-direction:column;gap:14px;max-width:480px;margin:0 auto}
.contact-form label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);
  background:transparent;padding:9px 2px;font:14.5px var(--sans);color:var(--ink);outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--copper)}
.contact-form textarea{border:1px solid var(--line);padding:10px}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}

/* ---------------- footer: spruce colophon ---------------- */
.footer{background:var(--spruce-deep);color:#c8ccbb;margin-top:70px;padding:44px 20px 26px;font-size:13px}
[data-theme="dark"] .footer{background:#0d120e}
.f-inner{max-width:72rem;margin:0 auto}
.f-mark{text-align:center;margin-bottom:26px}
.f-mark .fm-logo{font-family:var(--serif);font-size:22px;color:#eee9d8;font-weight:600}
.f-mark .fm-tag{color:#93a396;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:5px}
.f-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;
  max-width:62rem;margin:0 auto;text-align:center}
.f-col b{display:block;color:#eee9d8;margin-bottom:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.f-col a{display:block;color:#b6bfae;padding:3px 0;font-size:13px}
.f-col a:hover{color:#e0a86a}
.f-family{font-size:12.5px;padding:18px 0 4px;border-top:1px solid rgba(238,233,216,.14);
  margin-top:26px;text-align:center;color:#93a396}
.f-family a{font-weight:700;color:#c8ccbb}
.f-family a:hover{color:#e0a86a}
.f-sub{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 0;flex-wrap:wrap}
.f-sub input{border:0;border-bottom:1px solid rgba(238,233,216,.35);background:transparent;color:#eee9d8;
  padding:8px 4px;font-size:13px;min-width:230px;outline:none}
.f-sub input:focus{border-bottom-color:#e0a86a}
.f-sub .tbtn{border-color:rgba(238,233,216,.4);color:#eee9d8}
.f-sub .tbtn:hover{border-color:#e0a86a;color:#e0a86a}
.f-langs{text-align:center;padding:6px 0}
.lang-sel{background:transparent;color:inherit;border:1px solid var(--line);
  border-radius:3px;padding:5px 10px;font-size:12.5px;cursor:pointer}
.footer .lang-sel{border-color:rgba(238,233,216,.35);color:#c8ccbb}
.lang-sel option{color:#20261f;background:#f6f3ec}
.f-legal{color:#8d9a8b;font-size:11.5px;border-top:1px solid rgba(238,233,216,.14);
  padding-top:14px;margin-top:12px;max-width:62rem;margin-left:auto;margin-right:auto;text-align:center}
.f-legal p{margin:0 0 8px;line-height:1.55}
.f-legal a{color:#b6bfae;text-decoration:underline}

/* ---------------- misc ---------------- */
.compass{animation:none}
.srcline{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin-top:6px}
.divider{max-width:8rem;margin:34px auto;border:0;border-top:1px solid var(--line);position:relative}
.divider::after{content:"✦";position:absolute;top:-9px;left:50%;transform:translateX(-50%);
  color:var(--copper);background:var(--paper);padding:0 10px;font-size:11px}
.arrowlink{font-weight:700}
.mm{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--copper-soft);
  color:var(--copper);font-size:10px;font-weight:800;align-items:center;justify-content:center;
  margin-right:8px;vertical-align:-5px;letter-spacing:0}

/* ---------------- responsive ---------------- */
@media (max-width:1020px){
  .mainnav>a,.mainnav .ddbtn{padding:11px 7px;font-size:11px;letter-spacing:.07em}
}
@media (max-width:880px){
  .mast-nav .mainnav{display:none}
  .mast-top{padding:14px 14px 12px;grid-template-columns:auto 1fr auto}
  .logo{font-size:22px;gap:8px}
  .logo .mark{width:26px;height:26px}
  .tagline{display:none}
  .searchwrap input{width:96px}
  h1{font-size:30px}
  h2{font-size:22px}
  .stat{padding:4px 16px}
  .stat b{font-size:22px}
  .plate-cap{margin-top:44px;white-space:normal;text-align:center;line-height:1.5}
  .colw,.col{padding:0 14px}
  .data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:12.5px}
  .data-table td,.data-table th{padding:7px 8px}
  .pagehero .ph-text{padding:56px 14px 18px}
  .trust-strip{font-size:11.5px}
  .subnav,.tabsline{gap:16px}
  .statrow{margin:14px auto 6px}
  .rot-row{grid-template-columns:110px 1fr 70px;font-size:12.5px}
  .screen-form input,.screen-form select{width:110px}
  html,body{overflow-x:hidden}
  .ledger-item .src{display:none}
  .ledger-item .when{flex-basis:72px}
  .footer{padding:30px 14px 20px}
  .desk-stages .stage{padding:2px 12px;min-width:96px}
}
@media (max-width:560px){
  .searchwrap input{width:74px}
  .logo{font-size:18px}
  .duo{grid-template-columns:1fr}
  .statrow .stat{border-left:0;flex:1 1 40%;padding:4px 10px}
  .rank-card{border-left:0;padding:4px 12px}
  #askForm{flex-direction:column}
  #askBtn{width:100%;padding:13px}
  .desk-stages .stage{min-width:0;flex:1 1 30%;padding:2px 8px}
  .pagehero,.homehero{padding:0 10px}
  .rot-row{grid-template-columns:90px 1fr 78px;font-size:12px}
  .screen-form{gap:10px 12px}
  .screen-form input,.screen-form select{width:100%}
  .screen-form label{flex:1 1 44%}
  .ledger-item{gap:10px}
  h1{font-size:26px}
}
