/* =====================================================================
   THEME: LEDGER · theme.css  (extends shared base.css)
   Broadsheet / trust: navy + gold, serif-forward, hairline rules,
   lead story + ranked index, one "desk" per vertical. No ad slots.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{
  --font-sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-head:'Playfair Display',Georgia,'Times New Roman',serif;
  --maxw:1200px; --radius:2px; --radius-sm:2px;

  --bg:#faf8f3; --surface:#ffffff; --ink:#161a22; --ink-soft:#4b5568;
  --ink-faint:#6b7385; --line:#ded8c9;

  --navy:#12233f; --gold:#a9812f; --gold-soft:#f3ead4;
  --accent:#12233f; --accent-2:#a9812f; --accent-ink:#ffffff;
  --pill:#f3ead4; --pill-ink:#12233f;
  --grad:linear-gradient(135deg,#12233f,#33507f);
  --thumb:linear-gradient(135deg,#12233f,#33507f);

  --footer-bg:#12233f; --footer-ink:#a9b6cd; --footer-line:#24375a; --footer-faint:#9aa8c0;
  --shadow:none; --shadow-lg:0 10px 30px rgba(18,35,63,.15);
}
/* masthead: navy bar, gold underline on active/hover */
.top{background:var(--navy);border-bottom:3px solid var(--gold);backdrop-filter:none}
.top .wrap{height:70px}
.top .brand{color:#fff;font-weight:800;letter-spacing:.01em}
.top .brand .logo{padding:.28rem .65rem;border-radius:4px}
footer .brand .logo{padding:.35rem .65rem;border-radius:4px}
.top .brand .dot{border-radius:2px}
.nav a{color:#dfe6f2;border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:600;
  border-bottom:2px solid transparent;padding:.4rem .55rem}
.nav a:hover,.nav a.active{background:none;color:#fff;border-bottom-color:var(--gold)}
.search-box{border-radius:2px;border-color:#33507f;background:#0d1a30}
.search-box input{color:#fff}.search-box input::placeholder{color:#8fa0bd}
.search-box button{background:var(--gold);color:#fff;font-weight:700}
.eyebrow,.kicker{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
.kicker{display:block}
.h{font-weight:700}
.prose a{color:var(--navy);text-decoration-color:var(--gold)}

/* home: lead + ranked index */
.l-lead-wrap{display:grid;grid-template-columns:2.2fr 1fr;margin-top:34px}
.l-lead{padding-right:34px;border-right:1px solid var(--line);display:block}
.l-lead .thumb{aspect-ratio:16/8;background:var(--grad);margin:.6rem 0 1rem}
.l-lead h2{font-family:var(--font-head);font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.1;margin:.5rem 0 .6rem}
.l-lead:hover h2{color:var(--gold)}
.l-lead .dek{font-size:1.15rem;color:var(--ink-soft);font-style:italic;margin:0 0 .8rem}
.byline{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.l-index{padding-left:30px}
.l-index h3{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:2px solid var(--navy);
  padding-bottom:.5rem;margin:0 0 .2rem}
.l-index a{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.l-index .n{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--gold);line-height:1;width:34px;flex:none}
.l-index h4{margin:0 0 .25rem;font-size:1.04rem;line-height:1.22;font-family:var(--font-head)}
.l-index a:hover h4{color:var(--gold)}
.l-index .cat{display:block;border:0;background:none;padding:0;margin:0 0 .2rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}

/* desks: one per vertical, 4 columns (bands data trimmed to 4) */
.desk{margin:42px 0}
.desk-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;border-bottom:2px solid var(--navy);padding-bottom:8px}
.desk-head h3{font-family:var(--font-head);font-size:1.6rem;margin:0}
.desk-head .bl{flex:1;color:var(--ink-soft);font-style:italic;font-size:.95rem}
.desk-head a{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700}
.desk .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.desk .card{display:block;padding:0 22px;border-right:1px solid var(--line);color:var(--ink);background:none;border-top:0;border-bottom:0;border-left:0;box-shadow:none}
.desk .card:first-child{padding-left:0}.desk .card:nth-child(4){border-right:0;padding-right:0}
.desk .card:nth-child(n+5){display:none}
.desk .thumb{aspect-ratio:16/10;background:var(--grad);margin-bottom:.7rem;position:relative;overflow:hidden}
.desk .card h3{font-family:var(--font-head);font-size:1.1rem;line-height:1.24;margin:0 0 .35rem}
.desk .card:hover h3{color:var(--gold)}
.desk .m{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}

/* category page */
.l-cat-lead{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;padding:8px 0 30px;border-bottom:1px solid var(--line);margin-bottom:28px}
.l-cat-lead .thumb{aspect-ratio:16/9;background:var(--grad);position:relative;overflow:hidden}
.l-cat-lead h2{font-family:var(--font-head);font-size:2rem;line-height:1.12;margin:.4rem 0 .6rem}
.l-cat-lead:hover h2{color:var(--gold)}
.l-cat-lead p{color:var(--ink-soft);font-style:italic;font-size:1.1rem;margin:0}
.ranked-list{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.ranked-list .row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.ranked-list .num{font-family:var(--font-head);font-size:1.8rem;font-weight:700;color:var(--gold);line-height:1;width:44px;flex:none}
.ranked-list .cat{display:block;border:0;background:none;padding:0;margin:0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}
.ranked-list h4{margin:.15rem 0 0;font-family:var(--font-head);font-size:1.08rem;line-height:1.25}
.ranked-list .row:hover h4{color:var(--gold)}
.jump{margin:36px 0 10px;padding-top:18px;border-top:2px solid var(--navy)}
.jump h4{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
.jump .row{display:flex;flex-wrap:wrap;gap:10px}
.jump .row a{border:1px solid var(--line);background:var(--surface);padding:.45rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem}
.jump .row a .jump-ico{font-size:1.05em;line-height:1}
.jump .row a:hover{border-color:var(--gold);color:var(--gold)}

.related h2{border-bottom:2px solid var(--navy);padding-bottom:8px}

@media(max-width:900px){
  .l-lead-wrap{grid-template-columns:1fr}.l-lead{border-right:0;padding-right:0}.l-index{padding-left:0;margin-top:24px}
  .desk .cols{grid-template-columns:1fr 1fr}.desk .card{border-right:0;padding:0 0 18px}
  .l-cat-lead{grid-template-columns:1fr}.ranked-list{grid-template-columns:1fr}
}
@media(max-width:560px){.desk .cols{grid-template-columns:1fr}}
