/* =====================================================================
   Livestly.com — site stylesheet
   Design language (approved via seed-session mockups): brand-blue header
   with the white script logo and nav in one row; hairline-clean white
   body (Country Living-calm, minimal shadows); DM Serif Display headlines
   over DM Sans (the serif ships one 400 weight - never fake-bold it);
   a slim sticky nav that appears on scroll (never on protected pages);
   coral used sparingly as the single warm accent.
   ===================================================================== */

/* ---------- Design tokens ---------- */
:root{
  --blue:#0072BB;         /* brand — sampled from the Livestly script logo */
  --blue-deep:#005A96;
  --blue-tint:#E8F3FB;
  --blue-tint-2:#D8EAF7;

  --ink:#10293C;          /* headlines */
  --body:#3A4C5E;         /* body copy */
  --muted:#6C7E8E;        /* meta, captions */

  --ground:#FFFFFF;       /* page background */
  --line:#E7EDF1;         /* hairline */
  --line-2:#F0F4F7;

  --accent:#F2704F;       /* warm coral accent */
  --accent-deep:#B4472A;  /* coral that passes AA as text on light */

  /* category badge colors — distinct hues, white text at AA */
  --cat-health:#0E7C68;   /* Health & Wellness — teal */
  --cat-fitness:#6A4BA6;  /* Fitness & Exercise — violet */
  --cat-food:#BC5518;     /* Food & Recipes — terracotta */
  --cat-family:#A6446E;   /* Family & Parenting — berry */
  --cat-diy:#8F6410;      /* DIY & Life Hacks — bronze */
  --cat-life:#2F5FB0;     /* Life & Trends — indigo */
  --cat-travel:#157A4C;   /* Travel — emerald */

  --serif:'DM Serif Display',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  --radius:6px;
  --wrap:1180px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}

body{
  font-family:var(--sans);
  color:var(--body);
  background:var(--ground);
  line-height:1.58;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.section{padding-top:44px;padding-bottom:44px}
.section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:24px}
.section-head h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(23px,2.6vw,27px)}
.section-head .rule{flex:1;height:1px;background:var(--line)}
.section-head .link-more{font-weight:800;font-size:13px;color:var(--accent-deep)}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--accent-deep);font-weight:800;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;
}
.eyebrow svg{width:14px;height:14px}

/* ---------- Header (brand blue, script logo + centered all-caps nav) ---------- */
.site-header{background:var(--blue);position:relative;z-index:50}
@media(min-width:1121px){.site-header{border-bottom:10px solid #f2f2f2c7}}
.site-header .nav{display:flex;align-items:center;gap:34px;height:72px}
.logo{display:inline-flex;align-items:center;flex:none}
/* Oversized masthead logo: intentionally larger than the bar so the script
   bleeds below the blue band over the page (approved header effect). */
.logo img{height:90px;width:auto;margin-top:20px}
.nav-links{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;flex:1;min-width:0}
.nav-links a{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#DFEFFB;white-space:nowrap;padding:9px 12px;border-radius:7px;transition:background .15s,color .15s}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.14)}
.nav-links a[aria-current="page"]{color:#fff;background:rgba(9,26,40,.22)}
.site-header .nav > .nav-search{flex:none}
.nav-search{display:inline-grid;place-items:center;color:#CFE7F8;width:38px;height:38px}
.nav-search:hover{color:#fff}
.nav-search svg{width:19px;height:19px}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;padding:8px}
.nav-toggle span{display:block;height:2.5px;background:#fff;border-radius:2px;margin:4px 0;transition:.2s}

/* ---------- Sticky nav (appears on scroll; OMIT this markup on protected pages) ---------- */
.sticky-nav{
  position:fixed;top:0;left:0;right:0;background:var(--blue);z-index:80;
  transform:translateY(-100%);transition:transform .25s ease;
  box-shadow:0 2px 10px -4px rgba(9,26,40,.4);
}
.sticky-nav.on{transform:translateY(0)}
.sticky-nav .sn-row{display:flex;align-items:center;gap:30px;height:52px}
.sticky-nav img{height:40px;width:auto}
.sticky-nav nav{display:flex;justify-content:center;flex:1;gap:6px;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#DFEFFB}
.sticky-nav nav a{padding:7px 10px;border-radius:6px;transition:background .15s,color .15s}
.sticky-nav nav a:hover{color:#fff;background:rgba(255,255,255,.14)}
.sticky-nav .nav-search{margin-left:auto;width:34px;height:34px;flex:none}
.sticky-nav .nav-search svg{width:17px;height:17px}

/* ---------- Ad slots (GAM placeholders — swapped for GPT tags at launch) ---------- */
.ad-slot{display:flex;flex-direction:column;align-items:center;gap:6px;margin:30px auto}
/* mobile sticky adhesion footer (injected by main.js at <=820px) */
.ad-adhesion{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;justify-content:center;align-items:flex-end;
  background:rgba(255,255,255,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  box-shadow:0 -2px 12px rgba(9,26,40,.14);
  padding:0 0 env(safe-area-inset-bottom,0px)}
.ad-close{position:absolute;top:-24px;right:8px;width:26px;height:24px;border:0;border-radius:7px 7px 0 0;
  background:rgba(255,255,255,.9);color:#5F7488;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 -2px 8px rgba(9,26,40,.14)}
.ad-close svg{width:12px;height:12px}
.ad-close:hover{color:var(--ink)}
/* injected in-content ads: extra breathing room + hairline rules */
.article-body .ad-slot{margin:46px auto;padding:20px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ad-label{font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9AAAB8}

/* ---------- Category badges ---------- */
.cat{
  display:inline-block;color:#fff;font-weight:700;font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:5px;
}
.cat-mini{font-size:9.5px;padding:2.5px 8px;border-radius:4px;letter-spacing:.05em}
.cat-health{background:var(--cat-health)}
.cat-fitness{background:var(--cat-fitness)}
.cat-food{background:var(--cat-food)}
.cat-family{background:var(--cat-family)}
.cat-diy{background:var(--cat-diy)}
.cat-life{background:var(--cat-life)}
.cat-travel{background:var(--cat-travel)}

.byline{color:var(--muted);font-size:12.5px;margin-top:10px;font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- Homepage: greeting ---------- */
.greet{padding:50px 0 28px;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;border-bottom:1px solid var(--line)}
.greet h1{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(30px,4vw,44px);line-height:1.08}
.greet p{color:var(--muted);font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}

/* ---------- Homepage: hero + "The latest" rail ---------- */
.top-split{display:grid;grid-template-columns:2fr 1fr;gap:40px;padding:38px 0 44px;border-bottom:1px solid var(--line)}
.feature-card{display:block}
.feature-card .fc-media img,.feature-card .fc-media svg{aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;border-radius:var(--radius)}
.feature-card .fc-body{padding:20px 4px 0}
.feature-card h2,.feature-card h3{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(25px,2.9vw,35px);line-height:1.12;margin-top:12px}
.feature-card:hover h2,.feature-card:hover h3{color:var(--blue)}
.feature-card p{margin-top:10px;font-size:16px;max-width:640px}
.feature-card .byline{margin-top:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.rail{border-left:1px solid var(--line);padding-left:38px;display:flex;flex-direction:column}
.rail ul{flex:1}
.rail li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.rail li:first-child{padding-top:0}
.rail .thumb{width:86px;height:62px;border-radius:5px;overflow:hidden;flex:none;display:block;background:var(--blue-tint)}
.rail .thumb img,.rail .thumb svg{width:100%;height:100%;object-fit:cover}
.rail .rail-tx{flex:1;display:block}
.rail h5{font-family:var(--serif);font-weight:400;font-size:16.5px;color:var(--ink);line-height:1.25}
.rail .rail-tx:hover h5{color:var(--blue)}
.rail small{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--muted);font-size:10.5px;margin-top:7px;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Story cards (bare, hairline-clean) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:40px 0;border-bottom:1px solid var(--line)}
.post-card{display:block}
.post-card .pc-media{display:block;border-radius:var(--radius);overflow:hidden;background:var(--blue-tint)}
.post-card .pc-media img,.post-card .pc-media svg{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;display:block}
.post-card .pc-body{padding:0}
.post-card .cat{margin-top:16px}
.post-card h3{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:20px;line-height:1.2;margin-top:10px}
.post-card:hover h3{color:var(--blue)}
.post-card p{font-size:14px;margin-top:8px}
.post-card.soon{cursor:default}
.post-card.soon:hover h3{color:var(--ink)}

/* ---------- Topics row ---------- */
.topics{padding:40px 0 8px}
.topicrow{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.topic{padding:19px 18px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.topic:first-child{border-left:0}
.topic:hover{background:#F5FAFD}
.topic .dot{width:10px;height:10px;border-radius:3px}
.topic h4{font-weight:800;font-size:13.5px;color:var(--ink);line-height:1.2}
.topic small{font-size:11.5px;color:var(--muted);font-weight:600}

/* ---------- Trending strip ---------- */
.trending{padding-top:36px;padding-bottom:6px}
.trend-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:0 64px}
.trend{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:14px 0}
.trend .tno{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1;color:var(--accent);flex:none;width:38px}
.trend .t-media{width:104px;height:70px;border-radius:5px;overflow:hidden;flex:none;display:block;background:var(--blue-tint)}
.trend .t-media img{width:100%;height:100%;object-fit:cover;display:block}
.trend .t-tx{flex:1;display:block}
.trend h3{font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.25;color:var(--ink)}
.trend:hover h3{color:var(--blue)}
.trend small{display:block;margin-top:6px}
@media(max-width:820px){
  .trend-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none;gap:0}
}

/* ---------- Newsletter (outlined, no slogans) ---------- */
.newsletter{margin:44px 0 64px;border:1px solid var(--ink);border-radius:10px;padding:34px 40px;display:flex;align-items:center;gap:40px}
.newsletter h2{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--ink);flex:1;line-height:1.3}
.newsletter p{display:none}
.newsletter .nl-note{display:block;font-size:12.5px;color:var(--muted);margin-top:8px}
.newsletter .nl-note a{color:var(--blue);text-decoration:underline}
.newsletter > div{flex:1}
.nl-form{display:flex;gap:10px;flex:1;max-width:440px;flex-wrap:wrap}
.nl-form input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:999px;padding:13px 18px;font-size:14.5px;font-family:inherit;color:var(--ink)}
.nl-form button{background:var(--ink);color:#fff;font-weight:800;border:0;border-radius:999px;padding:13px 24px;font-size:14.5px;transition:background .15s}
.nl-form button:hover{background:var(--blue)}
.nl-form button:disabled{opacity:.85}

/* ---------- Category landing pages ---------- */
.cat-hero{color:#fff;padding:56px 0;position:relative}
.cat-hero--img{background-size:cover;background-position:center;overflow:hidden}
.cat-hero--img::before{content:"";position:absolute;inset:0;background:var(--ov);opacity:.60;mix-blend-mode:multiply}
.cat-hero--img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,17,26,.62),rgba(8,17,26,.30) 60%,rgba(8,17,26,.12))}
.cat-hero--img .wrap{position:relative;z-index:2}
.cat-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.6vw,46px);line-height:1.06;text-shadow:0 2px 14px rgba(6,14,22,.4)}
.cat-hero p{margin-top:12px;font-size:clamp(15px,1.9vw,18px);max-width:620px;line-height:1.55;color:rgba(255,255,255,.94);text-shadow:0 1px 10px rgba(6,14,22,.45)}
.cat-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:38px;transition:border-color .15s}
.cat-feature:hover{border-color:#C9D6E0}
.cf-media{background:var(--blue-tint);height:100%}
.cf-media img,.cf-media svg{width:100%;height:100%;object-fit:cover;display:block}
.cf-body{padding:26px 30px 30px}
.cf-body h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(22px,2.8vw,30px);line-height:1.14;margin-top:12px}
.cat-feature:hover .cf-body h2{color:var(--blue)}
.cf-body p{color:var(--body);margin-top:12px;font-size:15px;line-height:1.55}
.cat-crossnav{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.cx-label{color:var(--muted);font-weight:700;font-size:13px;letter-spacing:.02em;margin-right:4px}
.cat-crossnav a{color:#fff;font-weight:700;font-size:13px;padding:8px 15px;border-radius:999px}
.cat-crossnav a:hover{filter:brightness(1.07)}
.cat-empty{border:1px solid var(--line);border-radius:10px;padding:40px 36px;margin-top:38px;text-align:center}
.cat-empty h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(21px,2.8vw,26px)}
.cat-empty p{color:var(--muted);margin:12px auto 0;max-width:520px}

/* ---------- Article page ---------- */
.wrap-article{max-width:1340px}
.article-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:stretch}
.article-main{min-width:0}
.article-main .article-figure{max-width:none}
.article-main .article-body{max-width:780px;font-size:18px}
.article-rail{padding-top:70px}
.article-rail .ad-slot{margin:0 auto 34px}
.article-rail .rail-sticky{position:sticky;top:66px}
@media(max-width:1120px){
  .article-cols{display:block}
  .article-rail{display:none}
}
.article-hero{max-width:760px;margin:0 auto;padding:34px 0 8px;text-align:center}
.article-hero .cat{margin-bottom:16px}
.article-hero h1{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(28px,4.2vw,40px);line-height:1.12;text-wrap:balance}
.article-hero .dek{font-size:clamp(16px,2vw,19px);color:var(--muted);line-height:1.55;margin:14px auto 0;max-width:620px}
.article-meta{display:inline-flex;align-items:center;gap:11px;margin-top:20px;text-align:left}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;font-family:var(--sans)}
.article-meta span{font-size:13px;color:var(--muted);line-height:1.4}
.article-meta .avatar{color:#fff}
.article-meta strong{color:var(--ink)}
.article-figure{max-width:940px;margin:28px auto 0;border-radius:8px;overflow:hidden;background:var(--blue-tint)}
.article-figure img,.article-figure svg{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.article-disclosure{max-width:760px;margin:18px auto 0;font-size:12.5px;color:var(--muted);background:var(--blue-tint);border-radius:6px;padding:11px 15px;line-height:1.5}
.article-disclosure a{color:var(--blue);text-decoration:underline}
.article-body{max-width:720px;margin:8px auto 0;padding:22px 0 8px;font-size:17.5px;color:var(--body)}
.article-body p{margin-top:20px}
.article-body h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(23px,3vw,28px);line-height:1.18;margin-top:38px}
.article-body h3{font-family:var(--sans);font-weight:800;color:var(--ink);font-size:19px;margin-top:26px}
.article-body ul{margin-top:18px;display:flex;flex-direction:column;gap:12px;list-style:none}
.article-body li{position:relative;padding-left:26px;line-height:1.55}
.article-body li::before{content:"";position:absolute;left:4px;top:11px;width:8px;height:8px;border-radius:2px;background:var(--accent)}
.article-body strong{color:var(--ink);font-weight:700}
.article-body a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.callout{margin-top:32px;background:var(--blue-tint);border-left:4px solid var(--blue);border-radius:0 8px 8px 0;padding:20px 22px;font-size:15.5px;color:var(--ink)}
.callout-label{display:block;font-family:var(--sans);font-weight:800;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:6px}
.body-figure{margin:32px 0 8px}
.body-figure img,.body-figure svg{width:100%;height:auto;border-radius:var(--radius);display:block;background:var(--blue-tint)}
.body-figure figcaption{font-size:13px;color:var(--muted);font-style:italic;margin-top:10px;padding-left:14px;border-left:3px solid var(--accent)}
.more-reads{max-width:1180px;margin:40px auto 0;padding-top:8px}
.more-reads .eyebrow{margin-bottom:6px}
.more-reads h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(22px,2.8vw,27px);margin-bottom:6px}
.more-reads .card-grid{border-bottom:0;padding-top:20px;padding-bottom:8px}

/* ---------- Search ---------- */
.search-wrap{max-width:720px;margin:0 auto;padding:48px 24px 8px;text-align:center}
.search-wrap h1{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(30px,4.2vw,40px)}
.search-wrap .sub{color:var(--muted);margin-top:12px;font-size:15.5px}
.search-box{display:flex;align-items:center;gap:12px;margin-top:26px;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:5px 20px}
.search-box:focus-within{border-color:var(--blue)}
.search-box svg{width:21px;height:21px;color:var(--muted);flex:none}
.search-box input{flex:1;border:0;outline:0;background:none;font-size:16.5px;font-family:inherit;color:var(--ink);padding:12px 0}
.search-count{color:var(--muted);font-size:14px;margin-top:16px}
.search-results{max-width:720px;margin:24px auto 0;padding:0 24px 40px;display:flex;flex-direction:column;gap:14px}
.search-result{display:block;border:1px solid var(--line);border-radius:8px;padding:18px 20px;transition:border-color .15s}
.search-result:hover{border-color:var(--blue)}
.search-result h3{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:20px;margin-top:9px}
.search-result p{color:var(--body);font-size:14px;margin-top:6px;line-height:1.5}
.search-result mark{background:var(--accent);color:#43140A;border-radius:3px;padding:0 2px}
.search-empty{text-align:center;color:var(--muted);padding:30px 0}

/* ---------- Legal / static pages ---------- */
.legal{max-width:760px;margin:0 auto;padding:44px 0 20px}
.legal h1{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(28px,3.8vw,38px);line-height:1.12}
.legal .updated{color:var(--muted);font-size:13px;margin-top:8px}
.legal h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:22px;margin-top:32px}
.legal p{margin-top:16px}
.legal ul{margin-top:16px;display:flex;flex-direction:column;gap:10px;list-style:none}
.legal li{position:relative;padding-left:24px;line-height:1.55}
.legal li::before{content:"";position:absolute;left:3px;top:10px;width:7px;height:7px;border-radius:2px;background:var(--blue)}
.legal a{color:var(--blue);text-decoration:underline}
.legal strong{color:var(--ink)}

/* ---------- Sitemap page ---------- */
.sitemap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:30px}
.sitemap-col h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:21px;margin-bottom:12px}
.sitemap-col ul{display:flex;flex-direction:column;gap:9px;list-style:none}
.sitemap-col a{color:var(--blue)}
.sitemap-col a:hover{text-decoration:underline}

/* ---------- Footer ---------- */
.site-footer{background:#0E2233;color:#AEC3D4;margin-top:56px;font-size:14px}
.site-footer .wrap{padding-top:48px;padding-bottom:32px}
.footer-main{display:grid;grid-template-columns:1fr 1.7fr;gap:48px}
.footer-brand img{height:40px;width:auto;margin-bottom:16px}
.footer-brand p{margin-top:12px;line-height:1.6;color:#95ACBE;font-size:13.5px}
.footer-brand a{color:#CFE2F0}
.footer-brand a:hover{color:#fff}
.footer-social{display:flex;gap:12px;margin-top:18px}
.footer-social a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.footer-social a:hover{background:var(--blue)}
.footer-social svg{width:18px;height:18px;fill:#CFE2F0}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:16px}
.footer-nav a{color:#CFE2F0;font-weight:700;font-size:13.5px}
.footer-nav a:hover{color:#fff}
.footer-cats{display:flex;flex-wrap:wrap;gap:9px 20px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-cats a{color:#9DB4C6;font-weight:700;font-size:13px}
.footer-cats a:hover{color:#fff}
.footer-legal p{margin-top:12px;line-height:1.6;color:#8399AB;font-size:12.5px}
.footer-divider{border:0;border-top:1px solid rgba(255,255,255,.1);margin:22px 0}
.footer-adv h4{color:#CFE2F0;font-size:14px;margin-bottom:8px}
.footer-adv p{color:#8399AB;font-size:12.5px;line-height:1.6}
.footer-adv a{color:#CFE2F0;text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:20px;color:#7C92A4;font-size:12.5px}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .top-split{grid-template-columns:1fr}
  .rail{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:26px}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .topicrow{grid-template-columns:repeat(4,1fr)}
  .topic{border-top:1px solid var(--line)}
  .topic:nth-child(-n+4){border-top:0}
  .topic:nth-child(5){border-left:0}
  .cat-feature{grid-template-columns:1fr}
  .cf-media img,.cf-media svg{aspect-ratio:16/9;height:auto}
  .newsletter{flex-direction:column;align-items:flex-start;gap:20px}
  .sitemap-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;gap:30px}
}
/* mid-size: tighten so 7 links + logo fit one row */
@media(max-width:1280px){
  .site-header .nav{gap:22px}
  .nav-links{gap:2px}
  .nav-links a{font-size:12px;letter-spacing:.05em;padding:8px 9px}
  .sticky-nav nav{gap:2px;font-size:11.5px;letter-spacing:.05em}
}
/* below this the single-row nav can't fit — collapse to the menu */
@media(max-width:1120px){
  .nav-links{
    position:absolute;top:72px;left:0;right:0;background:var(--blue);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 0 14px;
    box-shadow:0 12px 24px -12px rgba(0,0,0,.4);display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 28px;width:100%;font-size:15px;letter-spacing:.06em;border-radius:0}
  .site-header .nav > .nav-search{margin-left:auto}
  .nav-toggle{display:block}
  .logo img{height:72px;margin-top:12px}
  .sticky-nav nav{display:none}
}
@media(max-width:640px){
  .logo img{height:60px;margin-top:8px}
  .card-grid{grid-template-columns:1fr}
  .topicrow{grid-template-columns:repeat(2,1fr)}
  .topic:nth-child(n+3){border-top:1px solid var(--line)}
  .topic:nth-child(odd){border-left:0}
  .article-body{font-size:16.5px}
  .newsletter{padding:26px 24px}
  .greet{padding-top:36px}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none !important;scroll-behavior:auto !important}
}
:where(a,button,input):focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:4px}
