/*
Theme Name: Miles Insights — Intelligence Desk
Theme URI: https://milesinsights.com
Author: Miles Insights
Description: Custom editorial theme for MilesInsights.com. Paper-and-ink intelligence-brief design, zero webfonts, no page builder. Option A "The Intelligence Desk", approved 2026-07-05.
Version: 1.0.0
Requires PHP: 7.4
License: Proprietary
Text Domain: milesinsights
*/

:root{
  --paper:#fbfaf7;
  --ink:#1b2237;
  --head:#131a30;
  --muted:#5d6478;
  --line:#e5e3dc;
  --rule:#131a30;
  --accent:#2c5fd8;
  --accent-bright:#467FF7;
  --navy:#1C244B;
  --official:#0e7a54;
  --reported:#a05c0c;
  --serif:Charter,Georgia,Cambria,"Times New Roman",serif;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.68 var(--sans)}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px 14px;z-index:99}

/* ---------- masthead ---------- */
.topline{border-bottom:1px solid var(--line);font:600 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.topline .wrap{display:flex;justify-content:space-between;gap:14px;padding:9px 28px}
.mast{border-bottom:3px double var(--rule)}
.mast .wrap{display:flex;align-items:center;gap:30px;padding:22px 28px 18px}
.wordmark{font:800 1.7rem/1 var(--serif);letter-spacing:-.01em;color:var(--head)}
.wordmark:hover{text-decoration:none}
.wordmark em{font-style:italic;color:var(--accent)}
.mnav{display:flex;gap:24px;margin-left:auto;align-items:center}
.mnav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center}
.mnav a{color:var(--ink);font:600 .9rem/1 var(--sans)}
.mnav a:hover{color:var(--accent);text-decoration:none}
.mnav .cta a,a.cta{background:var(--navy);color:#fff;padding:10px 18px;border-radius:6px;font-weight:700}
.mnav .cta a:hover,a.cta:hover{background:var(--accent);color:#fff;text-decoration:none}
.mob{display:none}

/* ---------- shared building blocks (used by theme templates AND hand-coded page content) ---------- */
.kick{font:700 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.btn{display:inline-block;background:var(--navy);color:#fff !important;font:700 .98rem var(--sans);padding:12px 22px;border-radius:8px;border:0;cursor:pointer;text-decoration:none !important}
.btn:hover{background:var(--accent)}
.chip{display:inline-block;font:700 .64rem/1 var(--sans);letter-spacing:.08em;padding:4px 8px;border-radius:4px;text-transform:uppercase;vertical-align:2px}
.chip.of{background:#e7f4ee;color:var(--official)}
.chip.re{background:#f8ecdd;color:var(--reported)}

/* hero */
.hero{padding:64px 0 30px}
.hero h1{font:800 3.4rem/1.08 var(--serif);letter-spacing:-.015em;color:var(--head);margin:0 0 20px;max-width:17ch;text-wrap:balance}
.hero .sub{font-size:1.16rem;color:var(--muted);max-width:56ch;margin:0 0 30px}
.subcard{border:1px solid var(--line);border-left:4px solid var(--navy);background:#fff;max-width:560px;padding:20px 22px;border-radius:0 10px 10px 0}
.subcard .t{font:700 1rem var(--sans);color:var(--head);margin:0 0 4px}
.subcard p{margin:0 0 14px;font-size:.9rem;color:var(--muted)}
.nl{display:flex;gap:10px}
.nl input[type=email],.nl input[type=text]{flex:1;font:inherit;padding:12px 15px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper)}
.nl input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* the wire */
.wire{padding:50px 0 6px}
.wire-head{display:flex;align-items:baseline;gap:16px;border-bottom:3px solid var(--rule);padding-bottom:10px;margin-bottom:2px;flex-wrap:wrap}
.wire-head h2{font:800 1.5rem var(--serif);margin:0;color:var(--head)}
.wire-head .sub{font:600 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.wire-head a{margin-left:auto;font:700 .85rem var(--sans)}
.witem{display:flex;gap:18px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.witem time{flex:0 0 74px;font:600 .78rem/1.4 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.witem .chip{flex:0 0 auto}
.witem .w{font-size:.98rem}
.witem .w strong{color:var(--head)}
.wire-note{font:italic .85rem var(--serif);color:var(--muted);padding:12px 0 0}

/* sections + editorial cards */
.sec{padding:56px 0 10px}
.sec h2{font:800 1.9rem var(--serif);color:var(--head);margin:0 0 6px}
.sec .lead{color:var(--muted);margin:0 0 26px;max-width:60ch}
.feat{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border-top:3px solid var(--rule)}
.fcard{padding:24px 26px 28px;border-right:1px solid var(--line);color:var(--ink)}
.fcard:last-child{border-right:0}
.fcard:hover{text-decoration:none}
.fcard .cat{font:700 .68rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);display:block;margin:0 0 10px}
.fcard h3{font:800 1.45rem/1.22 var(--serif);margin:0 0 10px;color:var(--head);text-wrap:balance}
.fcard:first-child h3{font-size:1.8rem}
.fcard p{margin:0;font-size:.93rem;color:var(--muted)}
.fcard time{display:block;font:600 .76rem var(--sans);color:var(--muted);margin-top:14px}
.fcard:hover h3{color:var(--accent)}

/* ink band */
.band{background:var(--navy);color:#fff;margin:64px 0 0}
.band .wrap{display:flex;gap:40px;align-items:center;padding:52px 28px}
.band h2{font:800 1.9rem/1.2 var(--serif);margin:0 0 10px;color:#fff}
.band p{margin:0;color:#c3cdea;max-width:56ch}
.band .free{display:block;font:italic .9rem var(--serif);color:#9db8f5;margin-top:10px}
.band .btn{background:#fff;color:var(--navy) !important;white-space:nowrap}
.band .btn:hover{background:#dde7ff}

/* full-bleed helper for hand-coded page content */
.full,.rc-full{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}

/* ---------- footer ---------- */
.ft{border-top:3px double var(--rule);margin-top:70px}
.ft .wrap{padding:30px 28px;display:flex;gap:36px;flex-wrap:wrap;align-items:baseline}
.ft nav,.ft ul{display:flex;gap:20px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.ft a{color:var(--muted);font:600 .87rem var(--sans)}
.ft .fine{font:italic .84rem var(--serif);color:var(--muted);max-width:60ch;margin-left:auto}

/* ---------- archive (blog) ---------- */
.page-title{padding:54px 0 0}
.page-title h1{font:800 2.6rem var(--serif);color:var(--head);margin:0 0 10px}
.page-title p{color:var(--muted);margin:0 0 30px;max-width:60ch}
.idx{border-top:3px solid var(--rule);margin-bottom:44px}
.irow{display:flex;gap:22px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.irow:hover{text-decoration:none}
.irow time{flex:0 0 92px;font:600 .78rem var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.irow .t{font:800 1.3rem/1.25 var(--serif);color:var(--head);display:block}
.irow p{margin:6px 0 0;color:var(--muted);font-size:.93rem;max-width:72ch}
.irow:hover .t{color:var(--accent)}
.pagenav{display:flex;gap:14px;padding:6px 0 40px;font:600 .9rem var(--sans)}

/* ---------- single post / generic entry content ---------- */
.art{max-width:700px;margin:0 auto;padding:56px 28px 20px}
.art>.kick{margin-bottom:12px}
.art h1.title{font:800 2.5rem/1.15 var(--serif);color:var(--head);margin:0 0 14px;text-wrap:balance}
.meta{font:600 .84rem var(--sans);color:var(--muted);margin:0 0 24px}
.entry{font-size:1.04rem}
.entry p{margin:0 0 17px}
.entry h2{font:800 1.5rem var(--serif);color:var(--head);margin:34px 0 12px}
.entry h3{font:800 1.2rem var(--serif);color:var(--head);margin:28px 0 10px}
.entry ul,.entry ol{margin:0 0 17px;padding-left:26px}
.entry li{margin:0 0 6px}
.entry blockquote{border-left:3px solid var(--accent);background:#fff;border-radius:0 8px 8px 0;padding:12px 18px;margin:0 0 20px;font:italic 1rem var(--serif);color:var(--muted)}
.entry img{border-radius:8px}
.entry table{border-collapse:collapse;width:100%;font:.92rem var(--sans);margin:10px 0 22px;display:block;overflow-x:auto}
.entry th{text-align:left;font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:9px 10px;border-bottom:2px solid var(--rule)}
.entry td{padding:11px 10px;border-bottom:1px solid var(--line)}
.entry td:first-child{font-weight:700;color:var(--head)}
.entry .disc,.entry .wp-block-quote.is-style-disclosure{border-left:3px solid var(--accent);background:#fff;border-radius:0 8px 8px 0;padding:12px 16px;font:italic .92rem var(--serif);color:var(--muted);margin:0 0 30px}
.ctabox{border:1px solid var(--line);border-left:4px solid var(--navy);background:#fff;border-radius:0 10px 10px 0;padding:22px 24px;margin:34px 0}
.ctabox strong{font:700 1.05rem var(--sans);color:var(--head)}
.ctabox p{margin:6px 0 14px;color:var(--muted);font-size:.94rem}
.author{display:flex;gap:16px;border-top:3px double var(--rule);margin-top:44px;padding:24px 0}
.author .m{flex:0 0 46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 1.2rem var(--serif)}
.author p{margin:2px 0 0;font-size:.9rem;color:var(--muted);max-width:58ch}

/* generic page (hand-coded pages bring their own layout; plain pages get .art) */
.page-plain .art h1.title{margin-bottom:24px}

/* 404 */
.notfound{max-width:640px;margin:0 auto;padding:90px 28px;text-align:center}
.notfound h1{font:800 3rem var(--serif);color:var(--head);margin:0 0 12px}

/* ---------- mobile ---------- */
@media(max-width:860px){
  .hero h1{font-size:2.4rem}
  .feat{grid-template-columns:1fr}
  .fcard{border-right:0;border-bottom:1px solid var(--line)}
  .band .wrap{flex-direction:column;align-items:flex-start}
  .irow,.witem{flex-wrap:wrap}
  .topline .wrap{flex-direction:column;gap:2px}
  /* mobile menu */
  .mnav{display:none}
  .mob{display:block;margin-left:auto}
  .mob summary{list-style:none;cursor:pointer;font:700 .9rem var(--sans);color:var(--head);padding:8px 4px}
  .mob summary::-webkit-details-marker{display:none}
  .mob[open] summary{color:var(--accent)}
  .mob ul{position:absolute;left:0;right:0;background:var(--paper);border-bottom:3px double var(--rule);list-style:none;margin:12px 0 0;padding:8px 28px 20px;z-index:50}
  .mob li{padding:10px 0;border-bottom:1px solid var(--line)}
  .mob a{font:700 1.05rem var(--sans);color:var(--head)}
  .mast .wrap{position:relative}
}
@media(min-width:861px){.mob{display:none}}
