/* StellarLink Media — Studio v2 shared design system
   Fonts: Bricolage Grotesque (display) + Public Sans (body)
   Palette: navy #0B2545, action blue #0B57D6, bright blue #1E6FFF,
   slate text #3D5873 / #5C7188, hairlines #E8ECF1, mist #F4F8FC. */
:root{
  --sl-ink:#0B2545;
  --sl-action:#0B57D6;
  --sl-action-dark:#08409E;
  --sl-bright:#1E6FFF;
  --sl-navy-2:#24425F;
  --sl-body:#3D5873;
  --sl-muted:#5C7188;
  --sl-line:#E8ECF1;
  --sl-line-2:#DCE5EF;
  --sl-mist:#F4F8FC;
  --sl-warm:#FFE08A;
  --sl-footer-muted:#8FA6C4;
  --sl-radius:22px;
  --sl-shell:1200px;
  --sl-display:'Bricolage Grotesque',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sl-sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sl-sans)!important;
  color:var(--sl-ink);
  background:#fff;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display,.site-brand,.article-card h3,.start-card h3{
  font-family:var(--sl-display)!important;
  color:var(--sl-ink);
  letter-spacing:-.025em;
}
a{color:var(--sl-action)}
a:hover{color:var(--sl-action-dark)}
::selection{background:#CFE2FF;color:var(--sl-ink)}
:focus-visible{outline:3px solid rgba(30,111,255,.45);outline-offset:3px}
.site-shell{max-width:var(--sl-shell);margin:0 auto;padding-left:24px;padding-right:24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--sl-line)}
.site-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px 28px}
.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sl-ink);font-weight:800;font-size:22px;line-height:1;white-space:nowrap}
.site-brand:hover{color:var(--sl-ink)}
.site-brand svg{flex:0 0 auto}
.site-nav{display:flex;align-items:center;gap:4px 24px;font-size:15px;font-weight:600}
.site-nav a{color:var(--sl-navy-2);text-decoration:none;padding:10px 0}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--sl-action)}
.site-nav .site-nav-cta{background:var(--sl-ink);color:#fff!important;padding:10px 18px;border-radius:999px}
.site-nav .site-nav-cta:hover{background:var(--sl-action)}
.site-menu-toggle{display:none;border:1px solid var(--sl-line-2);background:#fff;color:var(--sl-ink);border-radius:999px;padding:10px 16px;font:700 14px var(--sl-sans);cursor:pointer}
.site-mobile-nav{display:none;border-top:1px solid var(--sl-line);padding:10px 24px 18px;background:#fff}
.site-mobile-nav a{display:block;padding:11px 0;color:var(--sl-navy-2);text-decoration:none;font-weight:700;border-bottom:1px solid #EEF2F7}
.site-mobile-nav a:last-child{border-bottom:none;color:var(--sl-action)}
.site-header.menu-open .site-mobile-nav{display:block}

/* ---------- Shared atoms ---------- */
.eyebrow,.kicker{margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--sl-action)}
.lede{font-size:clamp(18px,1.7vw,21px);line-height:1.55;color:var(--sl-body);max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:0 26px;min-height:56px;font:700 16px var(--sl-sans);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--sl-action);color:#fff}
.btn-primary:hover{background:var(--sl-action-dark);color:#fff}
.btn-navy{background:var(--sl-ink);color:#fff}
.btn-navy:hover{background:var(--sl-action);color:#fff}
.btn-light{background:#fff;color:var(--sl-ink)}
.btn-light:hover{color:var(--sl-action)}
.text-link{font-weight:800;text-decoration:none}
.fineprint{font-size:14px;color:var(--sl-muted);margin-top:12px}
.beehiiv-form{min-height:58px;max-width:560px}
.beehiiv-form iframe{max-width:100%}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px}
.chips span{display:inline-flex;padding:7px 13px;border:1px solid var(--sl-line-2);border-radius:999px;background:#fff;color:var(--sl-navy-2);font-size:13px;font-weight:700}
.section{padding:64px 0}
.section-tight{padding:40px 0 64px}
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:10px}
.section-head h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1;margin:0}
.section-note{color:var(--sl-muted);font-size:16px;margin:0 0 32px}
.taxonomy{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.taxonomy a,.taxonomy span{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#EEF4FC;color:var(--sl-navy-2);font-size:12px;font-weight:700;text-decoration:none;line-height:1.35}
.taxonomy a:hover{background:#DCEBFF;color:var(--sl-action-dark)}
.taxonomy .aud{background:var(--sl-ink);color:#fff}

/* ---------- Homepage ---------- */
.hero{padding:64px 0 48px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:48px;align-items:center}
.hero h1{font-size:clamp(44px,6.4vw,84px);line-height:.98;margin:0 0 24px;font-weight:800}
.hero h1 .highlight{background:linear-gradient(180deg,transparent 58%,var(--sl-warm) 58%,var(--sl-warm) 92%,transparent 92%);padding:0 5px}
.hero .lede strong{color:var(--sl-ink)}
.hero-figure{margin:0}
.hero-frame{background:#fff;border:2px solid var(--sl-ink);border-radius:20px;overflow:hidden;box-shadow:10px 10px 0 var(--sl-ink)}
.hero-frame img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.hero-figure figcaption{margin-top:22px;font-size:14px;color:var(--sl-muted)}
.proof-strip{border-top:1px solid var(--sl-line);border-bottom:1px solid var(--sl-line);background:#fff}
.proof-strip p{max-width:980px;margin:0 auto;padding:16px 24px;text-align:center;color:var(--sl-body);font-size:15px;line-height:1.65}
.proof-strip strong{color:var(--sl-ink)}
.ways{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--sl-line);border-radius:var(--sl-radius);overflow:hidden;background:#fff}
.way{padding:32px 36px;display:flex;gap:20px;align-items:flex-start}
.way + .way{background:var(--sl-mist);border-left:1px solid var(--sl-line)}
.way svg{flex:0 0 auto;color:var(--sl-action)}
.way .eyebrow{color:var(--sl-muted);margin-bottom:4px}
.way h3{font-size:24px;line-height:1.15;margin:0 0 6px}
.way p{color:var(--sl-body);font-size:16px;margin:0}
.way .beehiiv-form{margin-top:18px;max-width:480px}
.issue-band{background:var(--sl-mist);border-top:1px solid var(--sl-line);border-bottom:1px solid var(--sl-line)}
.issue-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}
.issue-feature{background:var(--sl-ink);color:#EAF1FC;border-radius:24px;padding:34px;display:flex;flex-direction:column;gap:18px;overflow:hidden;position:relative}
.issue-feature:before{content:"";position:absolute;right:-46px;top:-46px;width:190px;height:190px;border-radius:50%;background:rgba(30,111,255,.18)}
.issue-feature .eyebrow{color:#9FC2FF;margin:0}
.issue-feature h3{color:#fff;font-size:clamp(28px,3vw,40px);line-height:1.08;margin:0}
.issue-feature p{color:#C3D5EE;margin:0;max-width:48ch}
.issue-thumb{width:min(240px,100%);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.35);background:#fff;box-shadow:0 16px 34px rgba(0,0,0,.22)}
.issue-thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.issue-feature .btn{align-self:flex-start;position:relative;z-index:1}
.issue-panel{background:#fff;border:1px solid var(--sl-line-2);border-radius:24px;padding:30px 32px;display:flex;flex-direction:column}
.issue-panel h3{font-size:20px;margin:0 0 8px}
.issue-list{list-style:none;margin:0;padding:0}
.issue-list li{display:flex;gap:14px;padding:14px 0;border-top:1px solid #EEF2F7;color:var(--sl-body);font-size:15.5px}
.issue-list li:first-child{border-top:none}
.issue-list .num{font-weight:800;color:var(--sl-action)}
.issue-list strong{color:var(--sl-ink)}
.most-read{border-top:1px solid var(--sl-line);margin-top:8px;padding-top:18px}
.most-read h4{font:800 13px var(--sl-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-muted);margin:0 0 8px}
.most-read a{display:flex;justify-content:space-between;gap:16px;padding:10px 0;color:var(--sl-ink);text-decoration:none;font-weight:700;border-top:1px solid #EEF2F7}
.most-read a:first-of-type{border-top:none}
.most-read a span{color:var(--sl-muted);font-size:13px;font-weight:600;white-space:nowrap}
.most-read a:hover{color:var(--sl-action)}
.issue-panel .panel-foot{margin-top:auto;padding-top:18px}
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.article-card{background:#fff;border:1px solid var(--sl-line);border-radius:var(--sl-radius);overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:transform .16s ease,box-shadow .16s ease}
.article-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(11,37,69,.10)}
.article-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.08fr .92fr}
.article-card .card-media{display:block;background:var(--sl-mist);border-bottom:1px solid var(--sl-line)}
.article-card.featured .card-media{border-bottom:none;border-right:1px solid var(--sl-line)}
.article-card .card-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.article-card.featured .card-media img{aspect-ratio:3/2;height:100%}
.card-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.featured .card-body{padding:40px;justify-content:center}
.card-meta{font-size:14px;font-weight:800;color:var(--sl-action);margin:0}
.article-card h3{font-size:24px;line-height:1.15;margin:0}
.featured h3{font-size:clamp(28px,2.8vw,38px)}
.article-card h3 a{color:var(--sl-ink);text-decoration:none}
.article-card h3 a:hover{color:var(--sl-action)}
.article-card .dek{color:var(--sl-body);font-size:16px;margin:0}
.featured .dek{font-size:18px}
.also-new{border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:10px 26px;background:#fff}
.also-new h3{font:800 14px var(--sl-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--sl-muted);margin:16px 0 4px}
.also-new a{display:block;padding:15px 0;border-top:1px solid #EEF1F5;color:var(--sl-ink);text-decoration:none}
.also-new a:first-of-type{border-top:none}
.also-new strong{display:block;font-size:17px;line-height:1.35}
.also-new span{font-size:14px;color:var(--sl-muted)}
.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.start-card{background:#fff;border:1px solid var(--sl-line);border-radius:20px;padding:26px;text-decoration:none;display:flex;flex-direction:column;gap:10px}
.start-card .step{font:800 13px var(--sl-sans);letter-spacing:.08em;color:var(--sl-action);text-transform:uppercase}
.start-card h3{font-size:22px;line-height:1.15;margin:0}
.start-card p{color:var(--sl-body);margin:0;font-size:15.5px}
.start-card .go{margin-top:auto;color:var(--sl-action);font-weight:800}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.trust-grid h3{font:800 18px var(--sl-sans);letter-spacing:0;margin:0 0 8px}
.trust-grid p{color:var(--sl-body);margin:0}

/* ---------- Archive ---------- */
.archive-hero{padding:40px 0 24px}
.archive-hero h1{font-size:clamp(42px,5.6vw,68px);line-height:1;margin:0 0 18px}
.archive-tools{position:sticky;top:72px;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--sl-line);border-bottom:1px solid var(--sl-line);padding:12px 0}
.search-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search-box{flex:1 1 340px;display:flex;align-items:center;gap:10px;border:1.5px solid #C9D3DF;border-radius:14px;padding:0 16px;background:#fff;min-height:56px}
.search-box svg{color:var(--sl-muted);flex:0 0 auto}
.search-box input{border:none;outline:none;width:100%;font:500 16px var(--sl-sans);color:var(--sl-ink);background:transparent}
.clear-filters{border:none;background:none;color:var(--sl-action);font:800 14px var(--sl-sans);cursor:pointer;padding:12px}
.filter-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.filter-block .filter-label{margin:0;white-space:nowrap}
.archive-tools .topics-block{display:none}
.archive-tools.tools-open .topics-block{display:flex}
.filters-toggle{display:inline-flex;align-items:center;gap:6px;font:600 14.5px var(--sl-sans);color:var(--sl-navy);background:#fff;border:1.5px solid #D3DEEE;border-radius:999px;padding:10px 16px;cursor:pointer}
.filter-label{font:800 12px var(--sl-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-muted);margin:0 0 8px}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px}
.filter-chip{border:1px solid var(--sl-line-2);background:#fff;color:var(--sl-navy-2);border-radius:999px;padding:7px 12px;font:700 13.5px var(--sl-sans);cursor:pointer}
.filter-chip:hover{border-color:var(--sl-action);color:var(--sl-action)}
.filter-chip[aria-pressed="true"]{background:var(--sl-ink);border-color:var(--sl-ink);color:#fff}
.results-line{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin:28px 0 22px;color:var(--sl-muted);font-size:14.5px}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:72px}
.archive-card .dek,.latest-grid .article-card:not(.featured) .dek{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.archive-card .dek{-webkit-line-clamp:3}
.no-results{border:1px dashed var(--sl-line-2);border-radius:20px;padding:34px;text-align:center;color:var(--sl-body);grid-column:1/-1}
.archive-loading{color:var(--sl-muted);padding:30px 0 70px}

/* ---------- Generic pages ---------- */
.page-hero{padding:64px 0 46px}
.page-hero h1{font-size:clamp(42px,5.8vw,72px);line-height:1;margin:0 0 20px}
.dark-band{background:var(--sl-ink);color:#EAF1FC}
.dark-band h2,.dark-band h3{color:#fff}
.dark-band p{color:#C3D5EE}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.info-card{border:1px solid var(--sl-line);border-radius:20px;padding:26px;background:#fff}
.info-card h3{font-size:22px;margin:0 0 8px}
.info-card p{color:var(--sl-body);margin:0}
.info-card .tag{font:800 12px var(--sl-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-action);margin-bottom:12px}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.subscribe-panel{background:var(--sl-mist);border:1px solid #E3EBF4;border-radius:28px;padding:clamp(28px,4vw,48px)}
.plain-list{margin:0;padding-left:20px;color:var(--sl-body)}
.plain-list li{margin:8px 0}

/* Article pages: keep body layout, align chrome/type to Studio v2 */
.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--sl-display)!important}
.article-taxonomy{max-width:760px;margin:18px auto 0;padding:0 24px}
.article-taxonomy .taxonomy{margin-top:0}
.hero-compact h1{font-family:var(--sl-display)!important}

/* ---------- Footer ---------- */
.site-footer{background:var(--sl-ink);color:#C3D5EE;margin-top:0}
.site-footer a{color:#fff}
.footer-main{display:flex;flex-wrap:wrap;justify-content:space-between;gap:34px;padding:56px 24px 38px}
.footer-brand-block{flex:1 1 300px;min-width:min(300px,100%)}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--sl-display);font-weight:800;font-size:22px;text-decoration:none;margin-bottom:10px}
.footer-brand:hover{color:#fff}
.footer-tagline{max-width:34em;font-size:15px;margin:0}
.footer-subscribe{flex:1 1 340px;min-width:min(340px,100%);max-width:520px}
.footer-subscribe h2{font-size:24px;color:#fff;margin:0 0 8px}
.footer-subscribe p{margin:0 0 16px;font-size:14.5px;color:#C3D5EE}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:15px;font-weight:700}
.footer-nav a{text-decoration:none;padding:8px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px 24px 38px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:13px;color:var(--sl-footer-muted)}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.footer-bottom a{color:#C3D5EE;text-decoration:none}
.mobile-subscribe-bar{display:none}

/* ---------- Responsive ---------- */
@media(max-width:1020px){
  .hero-grid,.issue-grid{grid-template-columns:1fr}
  .hero{padding-top:48px}
  .hero-figure{max-width:680px}
  .latest-grid,.archive-grid,.card-grid,.trust-grid{grid-template-columns:repeat(2,1fr)}
  .article-card.featured{grid-template-columns:1fr 1fr}
  .start-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body{padding-bottom:66px}
  .site-nav{display:none}
  .site-menu-toggle{display:inline-flex}
  .site-header-inner{min-height:64px}
  .archive-tools{top:64px}
  .hero{padding:42px 0 36px}
  .hero h1{font-size:clamp(42px,13vw,58px)}
  .ways,.split-grid{grid-template-columns:1fr}
  .way + .way{border-left:none;border-top:1px solid var(--sl-line)}
  .way,.issue-panel{padding:26px}
  .issue-feature{padding:28px}
  .latest-grid,.archive-grid,.card-grid,.trust-grid,.start-grid{grid-template-columns:1fr}
  .article-card.featured{grid-template-columns:1fr}
  .article-card.featured .card-media{border-right:none;border-bottom:1px solid var(--sl-line)}
  .featured .card-body{padding:26px}
  .section{padding:46px 0}
  .mobile-subscribe-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--sl-ink);color:#fff;text-decoration:none;border-radius:16px;padding:13px 16px;box-shadow:0 14px 34px rgba(11,37,69,.28);font-weight:800;font-size:14.5px}
  .mobile-subscribe-bar span{background:var(--sl-action);border-radius:999px;padding:8px 12px;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .article-card{transition:none}
  .article-card:hover{transform:none}
}
.sub-alt{margin-top:10px;font-size:13.5px}
.sub-alt a{font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Mobile archive: compact tools + no floating subscribe bar over results */
@media (max-width:760px){
  .filters-toggle{display:inline-flex;align-items:center;gap:6px;font:600 14.5px 'Public Sans',system-ui,sans-serif;color:var(--sl-navy,#0B2545);background:#fff;border:1.5px solid #D3DEEE;border-radius:999px;padding:10px 16px;cursor:pointer}
  .archive-tools .filter-block{display:none}
  .archive-tools.tools-open .filter-block{display:flex}
  body:has([data-archive]) .mobile-subscribe-bar{display:none}
  body:has([data-archive]){padding-bottom:0}
}

/* Native subscribe form (no third-party script dependency) */
.sl-subscribe{display:flex;gap:10px;max-width:520px;margin-top:6px}
.sl-subscribe input{flex:1;min-width:0;font:16px 'Public Sans',system-ui,sans-serif;padding:13px 16px;border:1.5px solid #D3DEEE;border-radius:12px;background:#fff;color:#12263F}
.sl-subscribe input:focus{outline:none;border-color:#1E6FFF;box-shadow:0 0 0 4px rgba(30,111,255,.15)}
.sl-subscribe button{font:700 15px 'Public Sans',system-ui,sans-serif;padding:13px 24px;background:#0B57D6;color:#fff;border:none;border-radius:999px;cursor:pointer;white-space:nowrap}
.sl-subscribe button:hover{background:#08409E}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* No floating subscribe bar on mobile (owner request) */
@media (max-width:760px){
  .mobile-subscribe-bar{display:none}
  body{padding-bottom:0}
}
