/* ===========================================================================
   MeReT — Ghost theme stylesheet.
   Three-layer token architecture so the front-end switcher can swap whole
   colour worlds + type systems live:
     Layer 1  raw palettes   (--blue-* clinical · --m-* meret-classic)
     Layer 2  semantic roles (--bg, --head, --primary, --accent, …) — the layer
              each [data-scheme] / [data-fonts] bundle overrides
     Layer 3  component CSS   references ONLY the role tokens
   Schemes:  data-scheme="clinical-blue" (default, light) · "meret-classic" (dark)
   Fonts:    data-fonts="grotesk" (default) · "inter" · "plex"
   =========================================================================== */

/* ---------- Layer 1: raw palettes ---------- */
:root {
  /* clinical-blue palette */
  --blue-900:#0A2A43; --blue-800:#0E3A5A; --blue-700:#12567E; --blue-600:#1A6FA3;
  --blue-500:#2E86C1; --blue-300:#9CC6E3; --blue-100:#DCEBF5;
  --teal-600:#0E8A9C; --teal-500:#16B3C7; --teal-300:#7FD6E0;
  --red-600:#B5352A;
  --grey-900:#111A24; --grey-700:#2C3A47; --grey-500:#5B6B7A; --grey-300:#AEBAC6;
  --grey-100:#E6EBF0; --grey-50:#F4F7FA; --white:#fff;

  /* meret-classic palette (their real dark + bordeaux + gold world, refined) */
  --m-bg:#151515; --m-bg-2:#0f0f0f; --m-surface:#1d1b1b; --m-surface-2:#262323;
  --m-text:#f5f5f5; --m-text-soft:#cfcaca; --m-muted:#a8a3a0;
  --m-bordeaux:#a11c1f; --m-bordeaux-bright:#c8312f; --m-bordeaux-deep:#6e1417;
  --m-gold:#FFD700; --m-gold-dim:#d8b42c; --m-grey:#737373;
  --m-border:#332f2f; --m-border-2:#454040;

  /* structural tokens (theme-independent) */
  --wrap:1180px; --gut:clamp(1.1rem,4vw,2.5rem);
  --r-sm:8px; --r-md:14px; --r-lg:22px;
  --sh-sm:0 1px 2px rgba(17,26,36,.06); --sh-md:0 10px 30px -12px rgba(14,58,90,.22);
  --ease:cubic-bezier(.4,0,.2,1);
}

/* ---------- Layer 2: semantic roles — clinical-blue (default) ---------- */
:root,
[data-scheme="clinical-blue"] {
  --bg:var(--grey-50); --surface:var(--white); --surface-2:var(--blue-100);
  --ink:#14202B; --head:var(--blue-900); --muted:var(--grey-500); --text-soft:var(--grey-700);
  --border:var(--grey-100); --border-2:var(--grey-300);

  --primary:var(--blue-700); --primary-2:var(--blue-800); --on-primary:#fff;
  --shadow-primary:0 8px 22px -10px rgba(18,86,126,.7);
  --shadow-primary-hover:0 12px 28px -10px rgba(18,86,126,.85);
  --accent:var(--teal-600); --accent-2:var(--teal-500); --accent-soft:var(--teal-300);
  --link-strong:var(--blue-700); --card-hover-border:var(--blue-300);

  --grad-mark:linear-gradient(140deg,var(--blue-700),var(--teal-600));
  --grad-icon:linear-gradient(150deg,var(--blue-100),#fff); --icon-ink:var(--blue-700);

  --hero-line:var(--grey-100); --hero-em:var(--blue-600); --hero-em-underline:var(--teal-500);
  --hero-glow:radial-gradient(circle at 50% 50%,rgba(46,134,193,.30),rgba(22,179,199,.16) 42%,transparent 70%);

  --header-bg:rgba(244,247,250,.82); --header-bg-2:rgba(255,255,255,.9);
  --nav-ink:var(--grey-700); --nav-ink-hover:var(--blue-800); --nav-hover-bg:rgba(18,86,126,.07);

  --soft-bg:linear-gradient(180deg,#fff,var(--blue-100) 220%);
  --dark-bg:radial-gradient(120% 140% at 85% 0%,var(--blue-800),var(--blue-900));
  --dark-ink:#cfe0ec; --dark-head:#fff; --dark-kicker:var(--teal-300); --dark-value-ink:#b6cad9;
  --dark-no-ink:var(--teal-300); --dark-no-border:rgba(127,214,224,.35);

  --approach-ink:var(--blue-900); --approach-strong:var(--teal-600);
  --segment-rule:var(--blue-700); --chip-ink:var(--teal-600); --chip-bg:var(--blue-100);

  --cta-bg:radial-gradient(120% 160% at 15% 0%,var(--teal-600),var(--blue-700) 55%,var(--blue-800));
  --cta-ink:#d3e6ee; --cta-head:#fff;
  --cta-btn-bg:#fff; --cta-btn-ink:var(--blue-800); --cta-btn-hover:var(--blue-100);

  --footer-bg:var(--blue-900); --footer-ink:#9fb4c4; --footer-head:#fff; --footer-base:#7d93a4;
  --footer-rule:rgba(255,255,255,.1);

  --ghost-ink:var(--blue-800); --ghost-border:var(--grey-300);
  --ghost-hover-ink:var(--blue-700); --ghost-hover-border:var(--blue-600); --ghost-hover-bg:#fff;
  --skip-bg:var(--blue-900);
}

/* ---------- Layer 2: semantic roles — meret-classic (dark / bordeaux / gold) ----------
   Bordeaux #a11c1f only ~2.3:1 on #151515 → never used as text. It carries the brand as
   FILLS (white text) + rules/borders; near-white text + gold accents carry legibility. */
[data-scheme="meret-classic"] {
  --bg:var(--m-bg); --surface:var(--m-surface); --surface-2:var(--m-surface-2);
  --ink:var(--m-text); --head:var(--m-text); --muted:var(--m-muted); --text-soft:var(--m-text-soft);
  --border:var(--m-border); --border-2:var(--m-border-2);

  --primary:var(--m-bordeaux); --primary-2:var(--m-bordeaux-deep); --on-primary:#fff;
  --shadow-primary:0 8px 22px -10px rgba(161,28,31,.55);
  --shadow-primary-hover:0 12px 28px -10px rgba(161,28,31,.7);
  --accent:var(--m-gold); --accent-2:var(--m-gold); --accent-soft:var(--m-gold-dim);
  --link-strong:var(--m-gold); --card-hover-border:var(--m-bordeaux-bright);

  --grad-mark:linear-gradient(140deg,var(--m-bordeaux),#5e1012);
  --grad-icon:linear-gradient(150deg,#2a2020,#191616); --icon-ink:var(--m-gold);

  --hero-line:rgba(255,255,255,.05); --hero-em:var(--m-gold); --hero-em-underline:var(--m-bordeaux-bright);
  --hero-glow:radial-gradient(circle at 50% 50%,rgba(161,28,31,.32),rgba(255,215,0,.08) 45%,transparent 70%);

  --header-bg:rgba(21,21,21,.82); --header-bg-2:rgba(15,15,15,.92);
  --nav-ink:var(--m-text-soft); --nav-ink-hover:var(--m-gold); --nav-hover-bg:rgba(255,215,0,.10);

  --soft-bg:linear-gradient(180deg,#1b1818,#151515);
  --dark-bg:radial-gradient(120% 140% at 85% 0%,#2a1416,#150c0d);
  --dark-ink:#d9cfcf; --dark-head:#fff; --dark-kicker:var(--m-gold); --dark-value-ink:#cabfbf;
  --dark-no-ink:var(--m-gold); --dark-no-border:rgba(255,215,0,.30);

  --approach-ink:var(--m-text); --approach-strong:var(--m-gold);
  --segment-rule:var(--m-gold-dim); --chip-ink:var(--m-gold); --chip-bg:rgba(255,215,0,.10);

  --cta-bg:radial-gradient(120% 160% at 15% 0%,var(--m-bordeaux),#6e1417 55%,#4d0e10);
  --cta-ink:#f3dede; --cta-head:#fff;
  --cta-btn-bg:var(--m-gold); --cta-btn-ink:#1a1206; --cta-btn-hover:#ffe34d;

  --footer-bg:var(--m-bg-2); --footer-ink:#9a9494; --footer-head:#f5f5f5; --footer-base:#6f6a6a;
  --footer-rule:rgba(255,255,255,.08);

  --ghost-ink:var(--m-text); --ghost-border:var(--m-border-2);
  --ghost-hover-ink:var(--m-gold); --ghost-hover-border:var(--m-gold-dim); --ghost-hover-bg:rgba(255,255,255,.03);
  --skip-bg:var(--m-bordeaux);
}

/* ---------- Layer 2: type systems (font axis) ---------- */
:root,
[data-fonts="grotesk"]{--font-head:var(--gh-font-heading,"Schibsted Grotesk",system-ui,sans-serif);--font-body:var(--gh-font-body,"Hanken Grotesk",system-ui,sans-serif)}
[data-fonts="inter"]{--font-head:"Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif}
[data-fonts="plex"]{--font-head:"IBM Plex Sans",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif}

/* ===========================================================================
   Layer 3: components (reference role tokens only)
   =========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);
  font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv01";
  transition:background .3s var(--ease),color .3s var(--ease)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.08;letter-spacing:-.018em;color:var(--head);margin:0}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.visually-hidden,.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:200;background:var(--skip-bg);color:#fff;padding:.6rem 1rem;border-radius:var(--r-sm)}
.muted{color:var(--muted)}
:focus-visible{outline:2.5px solid var(--accent-2);outline-offset:3px;border-radius:3px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-head);
  font-weight:600;font-size:.98rem;line-height:1;padding:.85em 1.4em;border-radius:var(--r-sm);
  border:1.5px solid transparent;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s,color .18s;text-decoration:none}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-primary)}
.btn-primary:hover{background:var(--primary-2);box-shadow:var(--shadow-primary-hover)}
.btn-ghost{background:transparent;color:var(--ghost-ink);border-color:var(--ghost-border)}
.btn-ghost:hover{border-color:var(--ghost-hover-border);color:var(--ghost-hover-ink);background:var(--ghost-hover-bg)}
.btn-sm{padding:.6em 1.05em;font-size:.9rem}
.btn-lg{padding:1em 1.7em;font-size:1.05rem}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s,box-shadow .25s}
.site-header.is-condensed{border-bottom-color:var(--border);background:var(--header-bg-2);box-shadow:var(--sh-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--head);font-family:var(--font-head);font-weight:700;font-size:1.3rem;letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--grad-mark);color:#fff}
.brand-word{padding-top:2px}
.site-nav{display:flex;align-items:center}
.nav-list{display:flex;align-items:center;gap:.4rem;list-style:none;margin:0;padding:0}
.nav-item>a{color:var(--nav-ink);font-family:var(--font-head);font-weight:500;font-size:.97rem;padding:.5rem .8rem;border-radius:var(--r-sm)}
.nav-item>a:hover{color:var(--nav-ink-hover);background:var(--nav-hover-bg);text-decoration:none}
.nav-cta{margin-left:.4rem}
.nav-toggle{display:none}

/* ---------- options switcher (preview control) ---------- */
.switcher-bar{border-bottom:1px solid var(--border);background:var(--header-bg-2)}
.switcher-inner{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;min-height:38px;flex-wrap:wrap}
.switcher-label{font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--muted);margin-right:auto}
.switcher-field{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-head);font-size:.8rem;color:var(--text-soft)}
.switcher-field select{font-family:var(--font-head);font-size:.8rem;font-weight:500;color:var(--head);
  background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-sm);
  padding:.32rem 1.7rem .32rem .6rem;cursor:pointer;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.switcher-field select:hover{border-color:var(--accent)}
.switcher-field select:focus-visible{outline:2.5px solid var(--accent-2);outline-offset:1px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(3.5rem,9vw,7rem) 0 clamp(3rem,7vw,5.5rem)}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-grid{position:absolute;inset:-2px;
  background-image:linear-gradient(var(--hero-line) 1px,transparent 1px),linear-gradient(90deg,var(--hero-line) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(120% 90% at 78% 8%,#000,transparent 72%);opacity:.6}
.hero-glow{position:absolute;top:-22%;right:-12%;width:62vw;height:62vw;max-width:760px;max-height:760px;border-radius:50%;
  background:var(--hero-glow);filter:blur(8px)}
.hero-inner{position:relative;z-index:1;max-width:880px}
.eyebrow{font-family:var(--font-head);font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  font-size:.78rem;color:var(--accent);margin-bottom:1.1rem}
.hero-title{font-size:clamp(2.8rem,8vw,5.4rem);line-height:.98;margin-bottom:1.3rem}
.hero-title em{font-style:normal;color:var(--hero-em);position:relative}
.hero-title em::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.09em;background:var(--hero-em-underline);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease) .6s}
.is-ready .hero-title em::after{transform:scaleX(1)}
.hero-lead{font-size:clamp(1.12rem,2.2vw,1.4rem);color:var(--text-soft);max-width:42ch;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:3rem}
.hero-stats{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(1.2rem,4vw,3rem);margin:0;padding-top:1.8rem;border-top:1px solid var(--border)}
.hero-stats dt{font-family:var(--font-head);font-weight:700;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--head);letter-spacing:-.02em}
.hero-stats dd{margin:.25rem 0 0;font-size:.86rem;color:var(--muted);max-width:18ch;line-height:1.4}

/* staggered reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0)*90ms + 80ms)}
.is-ready .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-title em::after{transform:scaleX(1);transition:none}}

/* ---------- bands & sections ---------- */
.band{padding:clamp(3.2rem,7vw,6rem) 0}
.band--approach{padding:clamp(2.4rem,5vw,3.5rem) 0}
.band--soft{background:var(--soft-bg)}
.band--dark{background:var(--dark-bg);color:var(--dark-ink)}
.band--dark h2,.band--dark h3{color:var(--dark-head)}
.approach-inner{max-width:880px}
.approach-text{font-family:var(--font-head);font-weight:500;font-size:clamp(1.3rem,3vw,2rem);line-height:1.3;color:var(--approach-ink);letter-spacing:-.01em}
.approach-text strong{color:var(--approach-strong);font-weight:700}
.section-kicker{font-family:var(--font-head);font-weight:600;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;color:var(--accent);margin:0 0 .8rem}
.section-kicker--invert{color:var(--dark-kicker)}
.section-head{max-width:46ch;margin-bottom:2.8rem}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;max-width:none}
.section-title{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.section-sub{color:var(--muted);margin-top:.7rem;font-size:1.05rem}
.link-arrow{font-family:var(--font-head);font-weight:600;color:var(--link-strong);white-space:nowrap}
.link-arrow span{transition:transform .2s var(--ease);display:inline-block}
.link-arrow:hover{text-decoration:none}.link-arrow:hover span{transform:translateX(4px)}

/* ---------- grids ---------- */
.grid{display:grid;gap:1.4rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* ---------- cards / pillars ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:1.7rem;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--card-hover-border)}
.pillar h3{font-size:1.18rem;margin:.4rem 0 .6rem}
.pillar p{color:var(--text-soft);font-size:.97rem;line-height:1.55}
.pillar-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;color:var(--icon-ink);
  background:var(--grad-icon);border:1px solid var(--border)}
.pillar-icon svg{width:30px;height:30px}

/* ---------- values (dark band) ---------- */
.values{gap:2.2rem 3rem}
.value{position:relative;padding-left:3.4rem}
.value-no{position:absolute;left:0;top:.1rem;font-family:var(--font-head);font-weight:700;font-size:1.05rem;
  color:var(--dark-no-ink);border:1px solid var(--dark-no-border);border-radius:8px;padding:.25rem .45rem;line-height:1}
.value h3{font-size:1.15rem;margin-bottom:.45rem}
.value p{color:var(--dark-value-ink);font-size:.97rem}

/* ---------- segments ---------- */
.segment{padding:1.5rem 0;border-top:2px solid var(--segment-rule)}
.segment h3{font-size:1.1rem;margin-bottom:.5rem}
.segment p{color:var(--text-soft);font-size:.94rem}
.segments-note{margin-top:2rem;font-family:var(--font-head);font-weight:500;color:var(--text-soft)}

/* ---------- founders ---------- */
.founders{gap:1.4rem}
.credo{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:1.8rem;display:flex;flex-direction:column;gap:1.3rem}
.credo blockquote{margin:0;font-family:var(--font-head);font-weight:500;font-size:1.12rem;line-height:1.4;color:var(--head);letter-spacing:-.01em}
.credo figcaption{display:flex;align-items:center;gap:.8rem;font-size:.9rem;color:var(--muted)}
.credo figcaption strong{display:block;color:var(--ink);font-family:var(--font-head)}
.credo-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex:0 0 auto;
  font-family:var(--font-head);font-weight:700;font-size:.85rem;color:#fff;background:var(--grad-mark)}

/* ---------- articles ---------- */
.article-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.article-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.article-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.article-card:hover .article-img img{transform:scale(1.04)}
.article-body{padding:1.3rem 1.4rem 1.6rem}
.tag-chip{display:inline-block;font-family:var(--font-head);font-weight:600;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--chip-ink);background:var(--chip-bg);padding:.25rem .6rem;border-radius:999px;margin-bottom:.7rem}
.article-card h3{font-size:1.1rem;margin-bottom:.5rem}
.article-card h3 a{color:var(--head)}.article-card h3 a:hover{color:var(--link-strong);text-decoration:none}
.article-card p{color:var(--text-soft);font-size:.93rem}

/* ---------- CTA ---------- */
.band--cta{background:var(--cta-bg);color:var(--cta-ink);text-align:center}
.cta-inner{max-width:720px;margin-inline:auto}
.band--cta h2{color:var(--cta-head);font-size:clamp(2rem,5vw,3.1rem);margin-bottom:1rem}
.band--cta p{color:var(--cta-ink);font-size:1.12rem;margin-bottom:2rem}
.cta-actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}
.band--cta .btn-primary{background:var(--cta-btn-bg);color:var(--cta-btn-ink)}
.band--cta .btn-primary:hover{background:var(--cta-btn-hover)}
.band--cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.band--cta .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}

/* ---------- footer ---------- */
.site-footer{background:var(--footer-bg);color:var(--footer-ink);padding:clamp(3rem,6vw,4.5rem) 0 2rem;margin-top:auto}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--footer-rule)}
.brand--footer{color:var(--footer-head)}.brand--footer .brand-word{color:var(--footer-head)}
.footer-claim{margin-top:1rem;font-size:.95rem;line-height:1.6;color:var(--footer-ink);max-width:34ch}
.footer-col h4{color:var(--footer-head);font-size:.95rem;margin-bottom:.9rem}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.92rem}
.footer-col a{color:var(--footer-ink)}.footer-col a:hover{color:var(--footer-head);text-decoration:none}
.footer-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;font-size:.85rem;color:var(--footer-base)}
.footer-legal a{color:var(--footer-ink)}.footer-legal a:hover{color:var(--footer-head);text-decoration:none}

/* ---------- post / page (Ghost content) ---------- */
.post-wrap{max-width:760px;margin-inline:auto;padding:clamp(2.5rem,6vw,4.5rem) var(--gut)}
.post-head{margin-bottom:2.2rem}
.post-title{font-size:clamp(2rem,5vw,3rem);margin:.6rem 0 .8rem}
.post-meta{color:var(--muted);font-size:.9rem;font-family:var(--font-head)}
.post-feature{margin:0 0 2.2rem;border-radius:var(--r-lg);overflow:hidden}
.post-content{font-size:1.12rem;line-height:1.75}
.post-content>*+*{margin-top:1.3rem}
.post-content h2{font-size:1.7rem;margin-top:2.4rem}
.post-content h3{font-size:1.3rem;margin-top:1.8rem}
.post-content a{text-decoration:underline;text-underline-offset:3px}
.post-content img{border-radius:var(--r-md)}
.post-content blockquote{border-left:3px solid var(--accent-2);padding-left:1.3rem;color:var(--text-soft);font-family:var(--font-head);font-size:1.2rem}
.post-content figcaption{color:var(--muted);font-size:.85rem;text-align:center;margin-top:.5rem}
/* Koenig editor wide / full bleed */
.gh-content .kg-width-wide{width:min(98vw,1000px);margin-inline:calc(50% - min(49vw,500px))}
.gh-content .kg-width-full{width:100vw;margin-inline:calc(50% - 50vw);border-radius:0}
.gh-content .kg-card-hascaption{display:flex;flex-direction:column}
.gh-content .kg-bookmark-card,.gh-content .kg-embed-card{margin-block:1.6rem}

/* ---------- archive ---------- */
.archive-head{padding:clamp(2.6rem,6vw,4.5rem) 0 1.5rem;text-align:center}
.archive-head h1{font-size:clamp(2rem,5vw,3rem)}
.archive-head p{color:var(--muted);margin-top:.7rem}
.pagination{display:flex;justify-content:center;gap:1.5rem;padding:3rem 0;font-family:var(--font-head)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .grid-3,.grid-2,.grid-4,.values{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr;gap:1.1rem}
  .section-head--row{flex-direction:column;align-items:flex-start;gap:.8rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .switcher-label{display:none}
  .switcher-inner{justify-content:center;gap:.6rem;padding-block:.4rem}
  .nav-list{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--surface);
    border-block:1px solid var(--border);padding:1rem var(--gut) 1.5rem;gap:.2rem;box-shadow:var(--sh-md);
    transform:translateY(-12px);opacity:0;pointer-events:none;transition:.2s var(--ease)}
  .nav-list.is-open{transform:none;opacity:1;pointer-events:auto}
  .nav-item>a{display:block;padding:.7rem .4rem;font-size:1.05rem}
  .nav-cta{margin:.4rem 0 0}.nav-cta .btn{width:100%;justify-content:center}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;
    background:none;border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer}
  .nav-toggle span:not(.visually-hidden){display:block;height:2px;width:18px;margin-inline:auto;background:var(--head);border-radius:2px}
}
