/* Style language v1 (Oct 31, 2026). Loads after site.css (and qotd.css where present).
   New tokens use the --sl- prefix so nothing inside the kept custom elements changes:
   listen controls, scorecard tiles, R-bar chart, outcome stack, track record banner, dial, PDF viewer, lightbox.
   Calls page: only its tags change (squared). Kept from the current site: frosted sticky header, hero grid texture. */
:root{
  /* color: same navy and gold identity */
  --sl-paper:#FAF9F6;--sl-surface:#FFFFFF;--sl-alt:#F2F0EA;
  --sl-ink:#0E1A2B;--sl-muted:#556173;--sl-line:#E2DFD6;--sl-grid:#ECE9E1;
  --sl-navy:#0F2747;--sl-navy-deep:#0B1D36;--sl-navy-hover:#13305A;
  --sl-gold:#B08A3E;--sl-gold-ink:#7E6224;--sl-gold-lt:#D4B26A;--sl-gold-lt-hover:#E0C487;--sl-gold-tint:#F4EEE2;
  --sl-up:#1E7F66;--sl-down:#B9433A;
  --sl-on-navy:#F5F3EE;--sl-on-navy-muted:#C3CCD8;
  /* type */
  --sl-serif:"Source Serif 4","Iowan Old Style",Charter,Georgia,serif;
  --sl-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --sl-fs-display:clamp(44px,6vw,76px);--sl-fs-h1:clamp(32px,4vw,46px);--sl-fs-h2:clamp(24px,2.4vw,30px);
  --sl-fs-h3:20px;--sl-fs-title:18.5px;--sl-fs-prose:18px;--sl-fs-body:17px;--sl-fs-sm:14.5px;--sl-fs-xs:13px;
  --sl-fs-label:12.5px;--sl-fs-tag:11.5px;
  /* space, 4px base */
  --sl-1:4px;--sl-2:8px;--sl-3:12px;--sl-4:16px;--sl-5:24px;--sl-6:32px;--sl-7:48px;--sl-8:64px;
  /* shape */
  --sl-r-tag:3px;--sl-r-sm:4px;--sl-r:6px;--sl-r-box:8px;
  --sl-rule:2px solid var(--sl-navy);--sl-hair:1px solid var(--sl-line);
  --sl-measure:68ch;
}

/* ---------- Header and nav: frosted sticky header kept (site.css); current page gets a gold underline, not color alone */
.nav a{position:relative;padding:6px 0}
.nav a[aria-current="page"]{color:var(--sl-ink)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--sl-gold)}
@media (max-width:880px){.nav a[aria-current="page"]::after{display:none}.nav a[aria-current="page"]{font-weight:700}}

/* ---------- Home hero: kept simple. Grid texture and wolf watermark kept */
.hero-name .wrap{padding-top:72px;padding-bottom:64px}
.hero-name h1{font-size:var(--sl-fs-display);margin:0 0 14px}
.idlines li:first-child{font-style:normal}
@media (max-width:620px){.hero-name .wrap{padding-top:48px;padding-bottom:44px}}

/* ---------- Page header: one height and one rhythm everywhere */
.page-head{padding:40px 0 36px}
.page-head h1{font-size:var(--sl-fs-h1);line-height:1.1;letter-spacing:-.015em}
.crumbs{font-size:13.5px;margin-bottom:14px;color:var(--sl-on-navy-muted)}
.crumbs a{color:var(--sl-on-navy-muted)}
.page-head .lede{font-size:17px;margin-top:10px;color:var(--sl-on-navy-muted)}
.page-meta{margin-top:12px;color:var(--sl-on-navy-muted)}
.page-head .qotd-full{margin-top:10px}
.ri-head .ri-tk{margin:0 0 4px;font:600 var(--sl-fs-label)/1.3 var(--sl-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-gold-lt)}
.ri-head .ri-sub{margin-top:12px}
@media (max-width:620px){.page-head{padding:28px 0 26px}}

/* ---------- Sections */
section.band{padding:56px 0}
section.band.dread{padding:48px 0 56px}
.sec-head{margin-bottom:20px;align-items:baseline}
.sec-head h2,.pl-lead h2{font-size:var(--sl-fs-h2)}
.sec-head .more{font-size:14px}
.page-body:not(:has(.ct-table)){padding:48px 0 72px}   /* Calls page keeps its spacing (custom page) */
@media (max-width:620px){section.band{padding:40px 0}.page-body:not(:has(.ct-table)){padding:32px 0 56px}}

/* ---------- Section label: one style for every small caps label */
.eyebrow,.sl-label,.pl-col h3,.rs-cols .pl-col h2,.w-type,.ex-n,.sl-fig .ex-n{font:600 var(--sl-fs-label)/1.3 var(--sl-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-gold-ink)}
.sl-label{margin:0 0 var(--sl-2)}

/* ---------- List rows. Serif for things you read, sans for index entries and data */
.il-title{font:600 var(--sl-fs-title)/1.3 var(--sl-serif);color:var(--sl-ink)}
.il-title:hover{color:var(--sl-gold-ink)}
.il-item{padding:14px 0}
.il-sub{font-size:14px}
.il-fig,.dr-fig{border-radius:var(--sl-r-sm)}
.w-title{font-size:var(--sl-fs-title)}
.wlist a{padding:13px 0}
.pl-list li{font-size:15.5px}

/* ---------- Tags: one shape (3px corners) everywhere, Calls tables included; same color meaning as today */
.pill,.chip{border-radius:var(--sl-r-tag)}
.pill:not(.ct-table .pill),.chip:not(.ct-table .chip){font:600 var(--sl-fs-tag)/1.55 var(--sl-sans);letter-spacing:.02em;padding:0 6px;vertical-align:1px}
.chip-attr{background:transparent!important;color:var(--sl-muted)!important;border-color:var(--sl-line)!important}

/* ---------- Filter chips and search field */
.rf-btn:not(.ct-jump .rf-btn):not(.ct-all),.gchips .rf-btn,.rfilter .rf-btn,.rjump:not(.ct-jump) .rf-btn{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--sl-r-sm);font:600 13px/1 var(--sl-sans);background:var(--sl-surface);border:1px solid var(--sl-line);color:var(--sl-navy)}
.rf-btn:not(.ct-jump .rf-btn):not(.ct-all):hover{border-color:var(--sl-navy)}
.rf-btn[aria-pressed="true"]:not(.ct-jump .rf-btn):not(.ct-all){background:var(--sl-navy);border-color:var(--sl-navy);color:var(--sl-on-navy)}
.gfilter input[type=search]{border-radius:var(--sl-r);height:44px;border-color:#8A8375}
.glabel{font-size:11px;min-width:3.6em}

/* ---------- Buttons: navy is the one action color on light grounds, light gold on navy */
.btn{min-height:44px;padding:0 18px;border-radius:var(--sl-r);font:600 15px/1 var(--sl-sans);justify-content:center}
.hero .ctas .btn{height:44px;border-radius:var(--sl-r)}
.btn-navy{background:var(--sl-navy);color:#fff}
.btn-navy:hover{background:var(--sl-navy-hover);color:#fff}
.btn-line{background:var(--sl-surface);border-color:#8A8375;color:var(--sl-ink)}
.btn-line:hover{border-color:var(--sl-ink)}
.btn-on-dark{background:var(--sl-gold-lt);color:var(--sl-navy)}
.btn-on-dark:hover{background:var(--sl-gold-lt-hover);color:var(--sl-navy)}
.sl-link{font-weight:600;text-decoration:none;color:var(--sl-navy)}
.sl-link::after{content:" \2192"}
.sl-link:hover{color:var(--sl-gold-ink);text-decoration:underline}

/* ---------- Boxes: hairline, navy top rule, no shadow */
.facts{border-radius:var(--sl-r-box);border-top:3px solid var(--sl-navy);max-width:760px}
.facts div{grid-template-columns:170px minmax(0,1fr);padding:12px 18px}
.facts dd{font-variant-numeric:tabular-nums}
.creds,.filecard,.hero-art .tag{box-shadow:none}

/* ---------- Prose */
.prose{font-size:var(--sl-fs-prose);line-height:1.65;max-width:var(--sl-measure)}
.prose{font-family:var(--sl-serif)}            /* article body text in serif (Brad) */
.prose table,.prose figcaption,.prose .chip,.prose .pill{font-family:var(--sl-sans)}
.prose h2{font-size:26px;margin:1.7em 0 .5em}
.prose h3{font-size:20px;margin:1.4em 0 .4em}
.prose p{margin:0 0 1em}

/* ---------- Tables (prose and data). Navy head, hairline rows, no zebra, numbers right aligned */
.prose table,.sl-table{width:100%;border-collapse:collapse;font-size:15px;background:var(--sl-surface);border:var(--sl-hair);border-radius:0}
.prose th,.sl-table th{background:var(--sl-navy);color:#fff;text-align:left;font:600 12px/1.3 var(--sl-sans);letter-spacing:.07em;text-transform:uppercase;padding:10px 12px}
.prose td,.sl-table td{padding:10px 12px;border-top:var(--sl-hair);vertical-align:top}
.prose tr:nth-child(even) td{background:transparent}
.prose td.num,.prose th.num,.sl-table td.num,.sl-table th.num{text-align:right;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.sl-cap{caption-side:top;text-align:left;padding:0 0 8px;font:600 var(--sl-fs-label)/1.3 var(--sl-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-gold-ink)}
.tw{border-radius:0}

/* ---------- Figure and caption */
.sl-fig{margin:28px 0}
.sl-fig img{border:var(--sl-hair);border-radius:var(--sl-r-sm);background:#fff}
.sl-fig figcaption{margin-top:8px;font-size:13.5px;line-height:1.45;color:var(--sl-muted)}
.sl-fig figcaption b{display:block;font:600 16px/1.3 var(--sl-serif);color:var(--sl-ink);margin:2px 0}
.qotd-fig img{border-radius:var(--sl-r-sm)}
.qotd-embed blockquote{border-radius:0}

/* ---------- Footer: same navy, tighter */
.site-footer{padding:44px 0 32px}
@media (max-width:620px){.facts div{grid-template-columns:1fr;gap:2px;padding:10px 14px}}
/* Calls page, by side (preview Nov 2, 2026): four tiles, Buys, Shorts, All calls, Average R */
.ct-tiles.ct-tiles-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.ct-tiles.ct-tiles-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Calls page R chart, side marker (Nov 2, 2026): L or S at the base of each bar, legend key to match */
.ct-vb-m{font:700 11px/1 var(--sl-sans);fill:var(--sl-on-navy);letter-spacing:.02em;pointer-events:none}
.ct-vb-m-stop{fill:#fff;stroke:var(--sl-down);stroke-width:3px;paint-order:stroke;stroke-linejoin:round}
.ct-vb-mk{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:var(--sl-r-tag);background:var(--sl-alt);border:1px solid var(--sl-line);font:700 10px/1 var(--sl-sans);color:var(--sl-navy);margin-right:5px}
