/* ============================================================
   AI Summary Helper — shared stylesheet
   Own accent identity (blue + gold, rooted in the real product
   icon) built on the same component system as byphil.eu — glass
   surfaces, same type stack — so it reads as family, not a reskin.
   Plain CSS, no preprocessor, no build step.
   ============================================================ */

:root,
:root[data-theme="dark"]{
  --ink-950:#08090C;
  --ink-900:#0C0D11;
  --ink-800:#141519;
  --ink-700:#1D1E24;
  --steel-600:#3A3A42;
  --steel-400:#6E6E78;
  --paper:#F5F5F7;
  --paper-dim:#A9A9B3;
  --sky:#4C8DFF;
  --sky-light:#8FBBFF;
  --amber:#E4A83E;
  --amber-light:#F0C36B;
  --violet:#A98AE8;
  --signal: var(--sky);
  --signal-light: var(--sky-light);
  --brass: var(--amber);
  --brass-light: var(--amber-light);
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'JetBrains Mono', monospace;

  --surface-1: rgba(255,255,255,0.05);
  --surface-1-strong: rgba(255,255,255,0.08);
  --surface-2: rgba(255,255,255,0.025);
  --border-subtle: rgba(255,255,255,0.07);
  --border-medium: rgba(255,255,255,0.13);
  --border-strong: rgba(255,255,255,0.2);
  --input-bg: rgba(0,0,0,0.25);
  --card-shadow: rgba(0,0,0,0.6);
  --sheen-strong: rgba(255,255,255,0.35);
  --sheen-soft: rgba(255,255,255,0.14);

  --cta-sky-1: var(--sky-light);
  --cta-sky-2: var(--sky);
  --cta-amber-1: var(--amber-light);
  --cta-amber-2: var(--amber);

  --nav-bg: rgba(10,15,28,0.72);
  --nav-bg-solid: rgba(10,15,28,0.97);
  --glow-sky: rgba(76,141,255,0.16);
  --glow-amber: rgba(228,168,62,0.12);
  --glow-sky-strong: rgba(76,141,255,0.20);
  --glow-amber-strong: rgba(228,168,62,0.15);
  --grain-dot: rgba(255,255,255,0.035);
  --screen-bg-1:#191A20;
  --screen-bg-2:#08090C;
  --card-bg-1:#1C1D24;
  --card-bg-2:#08090C;
  --best-tint: rgba(228,168,62,0.08);
  --surface-2-strong: rgba(0,0,0,0.14);
  --danger-tint: rgba(248,113,113,0.12);
}

:root[data-theme="light"]{
  --ink-950:#F6F5F1;
  --ink-900:#FBFAF7;
  --ink-800:#FFFFFF;
  --ink-700:#EDECE6;
  --steel-600:#C7C6C0;
  --steel-400:#83838C;
  --paper:#15161B;
  --paper-dim:#54545D;
  --signal:#1D4ED8;
  --signal-light:#2563EB;
  --brass:#9A6B14;
  --brass-light:#B27D19;

  --surface-1: rgba(20,21,26,0.035);
  --surface-1-strong: rgba(20,21,26,0.06);
  --surface-2: rgba(20,21,26,0.02);
  --border-subtle: rgba(20,21,26,0.08);
  --border-medium: rgba(20,21,26,0.14);
  --border-strong: rgba(20,21,26,0.24);
  --input-bg: #FFFFFF;
  --card-shadow: rgba(20,21,26,0.14);
  --sheen-strong: rgba(255,255,255,0.7);
  --sheen-soft: rgba(255,255,255,0.55);

  --nav-bg: rgba(246,245,241,0.82);
  --nav-bg-solid: rgba(246,245,241,0.97);
  --glow-sky: rgba(29,78,216,0.09);
  --glow-amber: rgba(154,107,20,0.08);
  --glow-sky-strong: rgba(29,78,216,0.13);
  --glow-amber-strong: rgba(154,107,20,0.11);
  --grain-dot: rgba(20,21,26,0.05);
  --screen-bg-1:#FFFFFF;
  --screen-bg-2:#F1F0EB;
  --card-bg-1:#FFFFFF;
  --card-bg-2:#F1F0EB;
  --best-tint: rgba(154,107,20,0.07);
  --surface-2-strong: rgba(20,21,26,0.04);
  --danger-tint: rgba(192,35,30,0.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink-950);
  color:var(--paper);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  -webkit-tap-highlight-color:transparent;
  transition:background-color 0.25s ease, color 0.25s ease;
}
@media (prefers-reduced-motion: reduce){ body{transition:none;} html{scroll-behavior:auto;} }

.skip-link{
  position:absolute; top:-100px; left:16px; z-index:100;
  background:var(--cta-sky-2); color:#08101F;
  padding:12px 18px; border-radius:10px; font-weight:600; font-size:14px;
  transition:top 0.2s ease;
}
.skip-link:focus{top:16px;}

/* ── Locale suggestion banner ────────────────────────────────────── */
.lang-banner{
  position:sticky; top:0; z-index:90;
  background:var(--nav-bg-solid); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border-medium);
}
.lang-banner-inner{
  max-width:1080px; margin:0 auto; padding:10px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.lang-banner-text{ font-size:14px; color:var(--paper); }
.lang-banner-link{
  color:var(--signal-light); font-weight:600; text-decoration:underline;
  text-underline-offset:3px;
}
.lang-banner-link:hover{ color:var(--signal); }
.lang-banner-close{
  width:28px; height:28px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid var(--border-subtle); border-radius:8px;
  color:var(--paper-dim); cursor:pointer;
}
.lang-banner-close:hover{ background:var(--surface-1-strong); color:var(--paper); }
@media (max-width: 640px){ .lang-banner-inner{ padding:8px 14px; } .lang-banner-text{ font-size:13px; } }

.reveal{opacity:0; transform:translateY(18px); transition:opacity 0.6s ease, transform 0.6s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }
html.no-js .reveal{opacity:1; transform:none;}

a{color:inherit; text-decoration:none;}
img,svg{display:block;}

body::before{
  content:""; position:fixed; inset:0;
  background:
    radial-gradient(60% 45% at 18% -5%, var(--glow-sky), transparent 60%),
    radial-gradient(50% 40% at 100% 10%, var(--glow-amber), transparent 60%),
    var(--ink-950);
  z-index:-2;
}
body::after{
  content:""; position:fixed; inset:0;
  background-image:radial-gradient(var(--grain-dot) 1px, transparent 1px);
  background-size:3px 3px; z-index:-1; opacity:0.5;
}

:focus-visible{ outline:2px solid var(--signal-light); outline-offset:3px; border-radius:4px; }

.wrap{
  max-width:1120px; margin:0 auto;
  padding-left:max(28px, env(safe-area-inset-left));
  padding-right:max(28px, env(safe-area-inset-right));
}
.wrap-narrow{ max-width:760px; }

/* ── Nav ─────────────────────────────────────────────────────────── */
header.nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  background:var(--nav-bg);
  border-bottom:1px solid var(--border-subtle);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:64px; gap:16px; }
.wordmark{ font-family:var(--font-display); font-weight:700; font-size:20px; letter-spacing:-0.01em; display:flex; align-items:center; gap:9px; white-space:nowrap; }
.wordmark img{ width:26px; height:26px; border-radius:7px; flex-shrink:0; }
.wordmark .dot{ color:var(--signal-light); }
.wordmark .sub{ font-family:var(--font-body); font-weight:500; font-size:13px; color:var(--paper-dim); padding-left:9px; border-left:1px solid var(--border-medium); }
nav.links{ display:flex; gap:26px; }
nav.links a{ font-size:15px; color:var(--paper-dim); font-weight:500; transition:color 0.2s ease; padding:10px 2px; }
nav.links a:hover{ color:var(--paper); }
.btn-sign-in{
  font-size:14px; font-weight:600; padding:11px 18px; min-height:40px;
  display:inline-flex; align-items:center; border-radius:10px;
  background:var(--surface-1); border:1px solid var(--border-medium);
  transition:background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.btn-sign-in:hover{ background:var(--surface-1-strong); border-color:var(--border-strong); }
.btn-sign-in:active{ transform:scale(0.96); }

.theme-toggle{
  width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
  background:var(--surface-1); border:1px solid var(--border-medium); border-radius:10px;
  color:var(--paper); cursor:pointer; flex-shrink:0;
  transition:background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.theme-toggle:hover{ background:var(--surface-1-strong); }
.theme-toggle:active{ transform:scale(0.92); }
.theme-toggle svg{ width:19px; height:19px; }
.theme-toggle .icon-sun{ display:none; }
:root[data-theme="light"] .theme-toggle .icon-moon{ display:none; }
:root[data-theme="light"] .theme-toggle .icon-sun{ display:block; }
.theme-toggle-mobile{
  display:flex; align-items:center; justify-content:space-between; padding:14px 4px; width:100%;
  background:none; border:none; font-family:var(--font-body); font-size:16px; font-weight:500; color:var(--paper); cursor:pointer;
}
.theme-toggle-mobile svg{ width:19px; height:19px; }
.theme-toggle-mobile .icon-sun{ display:none; }
:root[data-theme="light"] .theme-toggle-mobile .icon-moon{ display:none; }
:root[data-theme="light"] .theme-toggle-mobile .icon-sun{ display:block; }

.nav-toggle{
  display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:var(--surface-1); border:1px solid var(--border-medium); border-radius:10px; color:var(--paper); cursor:pointer;
}
.nav-toggle svg{ width:20px; height:20px; }
.nav-desktop-group{ display:flex; align-items:center; gap:14px; }

.mobile-menu{ border-bottom:1px solid var(--border-subtle); background:var(--nav-bg-solid); backdrop-filter:blur(16px); }
.mobile-menu[hidden]{ display:none; }
.mobile-menu-inner{ padding:8px 24px 18px; display:flex; flex-direction:column; }
.mobile-menu-inner a{ font-size:16px; font-weight:500; color:var(--paper); padding:14px 4px; border-bottom:1px solid var(--border-subtle); }
.mobile-menu-inner .theme-toggle-mobile{ border-bottom:1px solid var(--border-subtle); }
.mobile-menu-inner a:last-child{ border-bottom:none; }

@media (max-width: 900px){ .nav-desktop-links{ display:none; } .nav-toggle{ display:flex; } }

.brand-cluster{ display:flex; align-items:center; gap:12px; min-width:0; }
.ecosystem-badge{
  display:inline-flex; align-items:center; gap:7px; flex-shrink:0;
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.01em;
  color:var(--paper-dim); padding:7px 12px; border-radius:20px;
  border:1px solid var(--border-subtle); background:var(--surface-1);
  transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.ecosystem-badge:hover{ color:var(--paper); border-color:var(--border-medium); background:var(--surface-1-strong); }
.ecosystem-badge .pulse-dot{ width:6px; height:6px; border-radius:50%; background:var(--signal-light); box-shadow:0 0 6px var(--signal-light); flex-shrink:0; }
@media (max-width: 620px){ .ecosystem-badge{ display:none; } }

/* ── Ecosystem section (other byphil tools) ─────────────────────── */
.ecosystem-card{ display:block; transition:border-color 0.2s ease, transform 0.15s ease; }
a.ecosystem-card:hover{ border-color:var(--border-strong); transform:translateY(-2px); }
.ecosystem-card.self{ border-color:var(--border-strong); background:linear-gradient(180deg, var(--surface-1-strong), var(--surface-2)); }
.ecosystem-card .f-badge{
  display:inline-block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--signal-light); background:var(--surface-1-strong); border:1px solid var(--border-subtle);
  padding:3px 8px; border-radius:6px; margin-bottom:14px;
}

/* ── Hero ────────────────────────────────────────────────────────── */
.hero{ padding:96px 0 64px; text-align:center; position:relative; }
.eyebrow{
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--brass-light); display:inline-flex; align-items:center; gap:8px; margin-bottom:22px;
}
.eyebrow .dash{ width:16px; height:1px; background:var(--brass); display:inline-block; }
.hero h1{
  font-family:var(--font-display); font-weight:600; font-size:clamp(32px, 5.6vw, 58px);
  line-height:1.1; letter-spacing:-0.02em; margin:0 0 22px; max-width:780px; margin-left:auto; margin-right:auto;
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(100deg, var(--signal-light), var(--brass-light));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p.sub{ font-size:18px; line-height:1.65; color:var(--paper-dim); max-width:560px; margin:0 auto 34px; }
.hero-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:20px; }
.hero-meta{ font-family:var(--font-mono); font-size:12px; color:var(--paper-dim); letter-spacing:0.02em; }

.btn-primary{
  font-size:14.5px; font-weight:600; padding:14px 24px; min-height:48px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:12px;
  background:linear-gradient(180deg, var(--cta-sky-1), var(--cta-sky-2)); color:#08101F;
  box-shadow:0 10px 24px -8px rgba(76,141,255,0.5), inset 0 1px 0 rgba(255,255,255,0.35);
  transition:transform 0.15s ease, box-shadow 0.2s ease; border:none; cursor:pointer;
}
.btn-primary:hover{ transform:translateY(-1px); box-shadow:0 14px 30px -8px rgba(76,141,255,0.6), inset 0 1px 0 rgba(255,255,255,0.35); }
.btn-primary:active{ transform:scale(0.97); }
.btn-secondary{
  font-size:14.5px; font-weight:600; padding:14px 24px; min-height:48px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:12px;
  color:var(--paper); border:1px solid var(--border-medium); background:var(--surface-2);
  transition:background 0.2s ease, transform 0.15s ease; cursor:pointer;
}
.btn-secondary:hover{ background:var(--surface-1-strong); }
.btn-secondary:active{ transform:scale(0.97); }

/* ── Section shell ───────────────────────────────────────────────── */
section{ padding:76px 0; }
.section-head{ margin-bottom:44px; }
.section-head.center{ text-align:center; }
.section-head.center p{ margin-left:auto; margin-right:auto; }
.section-head .eyebrow{ margin-bottom:12px; }
.section-head h2{ font-family:var(--font-display); font-size:clamp(26px, 3.4vw, 36px); font-weight:600; letter-spacing:-0.015em; margin:0 0 10px; }
.section-head p{ color:var(--paper-dim); font-size:16.5px; line-height:1.6; max-width:520px; margin:0; }

/* ── Feature grid ────────────────────────────────────────────────── */
.feature-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.feature-card{
  background:linear-gradient(180deg, var(--surface-1), var(--surface-2));
  border:1px solid var(--border-subtle); border-radius:18px; padding:24px;
}
.feature-card .f-icon{
  width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; position:relative; box-shadow:0 10px 18px -8px var(--card-shadow), inset 0 1px 0 var(--sheen-strong);
}
.feature-card .f-icon::before{ content:""; position:absolute; inset:0; border-radius:12px; background:linear-gradient(160deg, var(--sheen-strong), rgba(255,255,255,0) 50%); }
.feature-card .f-icon svg{ width:22px; height:22px; position:relative; z-index:2; }
.feature-card h3{ font-family:var(--font-display); font-size:17px; font-weight:600; margin:0 0 8px; }
.feature-card p{ font-size:14.5px; line-height:1.6; color:var(--paper-dim); margin:0; }
.icon-cyan{ background:linear-gradient(150deg, #5B8CFF, #2C4FD1); }
.icon-indigo{ background:linear-gradient(150deg, #8AA6FF, #4C5FD9); }
.icon-violet{ background:linear-gradient(150deg, #A98AE8, #6B4CC4); }
.icon-gold{ background:linear-gradient(150deg, #E4C88E, #B4863B); }

@media (max-width: 1024px){ .feature-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 640px){ .feature-grid{ grid-template-columns:1fr; gap:12px; } .feature-card{ padding:20px; } }

/* ── Mock card (product preview, no screenshots needed) ─────────── */
.mock-shell{
  border-radius:28px; padding:22px;
  background:
    radial-gradient(120% 90% at 15% -10%, var(--glow-sky-strong), transparent 55%),
    radial-gradient(90% 70% at 105% 105%, var(--glow-amber-strong), transparent 55%),
    linear-gradient(165deg, var(--screen-bg-1), var(--screen-bg-2) 75%);
  border:1px solid var(--border-subtle);
  box-shadow:0 30px 60px -24px var(--card-shadow);
  max-width:520px; margin:0 auto;
}
.mock-card{
  background:linear-gradient(180deg, var(--surface-1), var(--surface-2));
  border:1px solid var(--border-subtle); border-radius:16px; padding:18px; margin-bottom:12px;
}
.mock-card:last-child{ margin-bottom:0; }
.mock-card .mock-tags{ display:flex; gap:6px; margin-bottom:10px; flex-wrap:wrap; }
.mock-chip{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.03em; padding:4px 9px; border-radius:20px;
  background:var(--surface-1-strong); border:1px solid var(--border-subtle); color:var(--paper-dim);
}
.mock-card h4{ font-family:var(--font-display); font-size:15.5px; margin:0 0 6px; }
.mock-card p{ font-size:13px; line-height:1.55; color:var(--paper-dim); margin:0; }
.mock-badge{
  display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:10.5px;
  color:var(--signal-light); margin-top:10px;
}

/* ── Pricing tiers (shared with byphil.eu Support Pass) ─────────── */
.tier-toggle{ display:inline-flex; padding:4px; border-radius:12px; background:var(--surface-1); border:1px solid var(--border-subtle); margin-bottom:26px; }
.tier-toggle button{
  font-size:13px; font-weight:600; padding:8px 16px; border-radius:9px; background:transparent; color:var(--paper-dim);
  border:none; cursor:pointer; font-family:var(--font-body); transition:background 0.2s ease, color 0.2s ease;
}
.tier-toggle button.active{ background:var(--cta-sky-2); color:#08101F; }

.tiers{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.tier-card{ border:1px solid var(--border-subtle); border-radius:16px; padding:22px 20px; background:var(--surface-2); position:relative; }
.tier-card.best{ border-color:var(--best-border); background:var(--best-tint); }
.tier-card .best-badge{
  position:absolute; top:-11px; left:18px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em;
  text-transform:uppercase; color:#08101F; background:var(--cta-amber-1); padding:3px 8px; border-radius:6px;
}
.tier-name{ font-size:13.5px; font-weight:600; color:var(--paper-dim); margin-bottom:6px; }
.tier-price{ font-family:var(--font-display); font-size:26px; font-weight:600; margin-bottom:2px; }
.tier-price span{ font-size:12.5px; font-weight:500; color:var(--paper-dim); }
.tier-note{ font-size:12px; color:var(--paper-dim); margin-bottom:16px; }
.tier-card ul{ list-style:none; padding:0; margin:0 0 18px; font-size:13.5px; color:var(--paper-dim); }
.tier-card li{ padding-left:14px; position:relative; margin-bottom:8px; line-height:1.45; }
.tier-card li::before{ content:"·"; position:absolute; left:2px; color:var(--signal-light); }
.tier-card.best li::before{ color:var(--brass-light); }
.tier-cta{ display:block; text-align:center; font-size:13.5px; font-weight:600; padding:11px; border-radius:9px; background:var(--surface-1-strong); border:1px solid var(--border-medium); transition:background 0.2s ease; }
.tier-card.best .tier-cta{ background:var(--cta-amber-1); color:#08101F; border:none; }
.tier-cta:hover{ background:var(--border-medium); }
.tier-card.best .tier-cta:hover{ background:var(--cta-amber-2); }
.price-yearly{ display:none; }
.tiers.yearly .price-monthly{ display:none; }
.tiers.yearly .price-yearly{ display:inline; }
@media (max-width: 760px){ .tiers{ grid-template-columns:1fr; } }

/* ── FAQ ─────────────────────────────────────────────────────────── */
.faq{ max-width:760px; margin:0 auto; }
.faq details{
  border:1px solid var(--border-subtle); border-radius:14px; padding:18px 20px; margin-bottom:10px;
  background:var(--surface-2);
}
.faq summary{ font-family:var(--font-display); font-size:15.5px; font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:20px; color:var(--paper-dim); flex-shrink:0; transition:transform 0.2s ease; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq p{ font-size:14.5px; line-height:1.65; color:var(--paper-dim); margin:12px 0 0; }

/* ── Blog cards + prose ──────────────────────────────────────────── */
.blog-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.blog-card{
  display:block; background:linear-gradient(180deg, var(--surface-1), var(--surface-2));
  border:1px solid var(--border-subtle); border-radius:18px; padding:22px; transition:border-color 0.2s ease, transform 0.15s ease;
}
.blog-card:hover{ border-color:var(--border-strong); transform:translateY(-2px); }
.blog-card .blog-date{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--brass-light); margin-bottom:10px; display:block; }
.blog-card h3{ font-family:var(--font-display); font-size:17px; font-weight:600; margin:0 0 10px; line-height:1.3; }
.blog-card p{ font-size:14px; line-height:1.6; color:var(--paper-dim); margin:0 0 14px; }
.blog-card .blog-read{ font-size:13.5px; font-weight:600; color:var(--signal-light); display:inline-flex; align-items:center; gap:5px; }
@media (max-width: 1024px){ .blog-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 640px){ .blog-grid{ grid-template-columns:1fr; gap:12px; } .blog-card{ padding:20px; } }

.post-hero{ padding:56px 0 20px; }
.post-hero .blog-date{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--brass-light); display:block; margin-bottom:16px; }
.post-hero h1{ font-family:var(--font-display); font-size:clamp(28px, 4.4vw, 44px); font-weight:600; letter-spacing:-0.02em; line-height:1.15; margin:0 0 16px; }
.post-hero .post-sub{ font-size:17px; line-height:1.6; color:var(--paper-dim); max-width:640px; }

.prose{ max-width:680px; margin:0 auto; font-size:16.5px; line-height:1.75; color:var(--paper); }
.prose p{ margin:0 0 22px; color:var(--paper-dim); }
.prose h2{ font-family:var(--font-display); font-size:24px; font-weight:600; letter-spacing:-0.01em; margin:44px 0 16px; color:var(--paper); }
.prose h3{ font-family:var(--font-display); font-size:19px; font-weight:600; margin:32px 0 12px; color:var(--paper); }
.prose ul, .prose ol{ color:var(--paper-dim); padding-left:22px; margin:0 0 22px; }
.prose li{ margin-bottom:8px; line-height:1.6; }
.prose strong{ color:var(--paper); font-weight:600; }
.prose a{ color:var(--signal-light); text-decoration:underline; text-underline-offset:3px; }
.prose blockquote{
  margin:28px 0; padding:4px 0 4px 20px; border-left:2px solid var(--brass-light);
  color:var(--paper); font-style:italic;
}
.post-cta{
  margin-top:48px; padding:24px; border-radius:16px; text-align:center;
  background:linear-gradient(180deg, var(--surface-1), var(--surface-2)); border:1px solid var(--border-subtle);
}
.post-cta p{ margin:0 0 16px; color:var(--paper-dim); }

/* ── Footer ──────────────────────────────────────────────────────── */
footer{ border-top:1px solid var(--border-subtle); padding:36px 0; }
.footer-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.footer-inner .wordmark{ font-size:15px; }
footer .foot-links{ display:flex; gap:20px; flex-wrap:wrap; }
footer .foot-links a{ font-size:13.5px; color:var(--paper-dim); }
footer .foot-links a:hover{ color:var(--paper); }
footer .copyright{ font-size:13px; color:var(--steel-400); margin-top:18px; line-height:1.65; }
.credit-link{ color:var(--signal); font-weight:500; transition:color 0.2s ease; }
.credit-link:hover{ color:var(--signal-light); }

@media (prefers-reduced-motion: reduce){ .feature-card, .blog-card{ transition:none; } }
