/* MedLifestyle: the single stylesheet. GENERATED by tools-a/build_css.py from src-a/css/. Do not edit. */

/* ==========================================================================
   MedLifestyle site.css, layer 1: tokens (Option A Stage 1)
   One source for colour, type, spacing and radius. Built into
   site-a/assets/site.css by tools-a/build_css.py; do not edit site.css.
   Defaults per STAGED-IMPLEMENTATION-PLAN.md C-6 (accepted): cream-warm with
   more ink, ink quiz band, terracotta button, Cormorant display kept,
   "Est. MMXXVI" kept. Contrast ratios are computed by tools-a/check_contrast.py.
   Stage 1.5 (visual polish): near-black ink, a warm stone scale, a deeper
   "pinewood" ink for the quiz band, one accent (terracotta, for the primary
   button and link underlines only), a larger display scale, journal tokens
   and one warm photo grade.
   ========================================================================== */
:root {
  /* Palette */
  --cream: #F4EFE6;          /* page ground */
  --paper: #FAF7F2;          /* cards, raised surfaces */
  --ink: #16130F;            /* near-black: text, footer, letter band (Stage 1.5, was #1A1612) */
  --ink-soft: #5A4D3D;       /* muted body and UI text: 7.15:1 on cream */
  --terracotta: #C4633A;     /* brand accent: rules, borders, large display only (3.53:1 on cream) */
  --terracotta-deep: #A34B27;/* links, buttons, small accent text: 5.10:1 on cream, white on it 5.84:1 */
  --terracotta-hover: #8A3E20;
  --terracotta-on-ink: #DB8A63; /* accent text and links on ink: 6.71:1 */
  --olive: #4B5E35;          /* Stage 1.5: retired from the shared components (single accent); kept for legacy pages: 6.21:1 on cream */
  --gold: #B8934A;           /* rules and ornaments only, never text (2.51:1) */
  --stone: #8B7B65;          /* rules only */
  --rule: rgba(139, 123, 101, 0.25);
  --rule-soft: rgba(139, 123, 101, 0.18);
  --on-ink: #F4EFE6;         /* text on ink: 16.17:1 */
  --on-ink-muted: #A08F76;   /* muted text on ink: 5.89:1 */
  --marker-bg: #FBE7A1;      /* editor highlight, preview build only */

  /* Stage 1.5: warm stone scale (grounds and hairlines) and the pinewood quiz band */
  --stone-100: #EAE3D6;      /* alternate section ground, quiet cards: ink 14.51:1, ink-soft 6.42:1 */
  --stone-300: #D6CCBB;      /* solid hairlines, photo frames */
  --band: #0F110E;           /* quiz band: deeper than ink, a faint pine cast ("Silver Pinewood") */
  --on-band: #EDE8DE;        /* text on the band: 15.54:1 */
  --on-band-muted: #A9ADA3;  /* silver: kicker and meta on the band, 8.31:1 */
  --accent: var(--terracotta-deep); /* the one accent: primary button fill, link underline, active nav rule */

  /* Roles */
  --text: var(--ink);
  --text-muted: var(--ink-soft);
  --link: var(--ink);        /* Stage 1.5: links are ink with an accent underline (main) */
  --link-hover: var(--terracotta-deep);
  --btn-bg: var(--terracotta-deep);
  --btn-bg-hover: var(--terracotta-hover);
  --btn-text: #FFFFFF;
  --focus: #1A1612;

  /* Type */
  --font-display: 'Cormorant Garamond', Georgia, serif; /* 400 to 500 below 32px; 300 only at 32px and up */
  --font-body: 'Lora', Georgia, serif;
  --font-ui: 'DM Sans', system-ui, sans-serif;
  --fs-ui: 14px;             /* floor for every UI label */
  --fs-ui-l: 16px;
  --fs-small: 16px;
  --fs-body: 19px;
  --lh-body: 1.8;
  --fs-h3: 24px;
  --fs-h2: clamp(28px, 3vw, 36px);
  --fs-h1: clamp(40px, 5vw, 64px);
  --fs-question: clamp(28px, 4vw, 40px);
  /* Stage 1.5 display scale: type leads, Cormorant 400 at every size */
  --fs-display: clamp(48px, 6.4vw, 96px);  /* home hero */
  --fs-h1-journal: clamp(44px, 5.4vw, 80px);
  --fs-h2-journal: clamp(30px, 3.2vw, 44px);
  --fs-band-q: clamp(36px, 4.8vw, 64px);   /* quiz band question */
  --fs-pull: clamp(28px, 2.6vw, 36px);     /* pull quotes */
  --fs-dropcap: 88px;

  /* Spacing scale: 8 / 16 / 24 / 40 / 64 / 96 */
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 40px; --s5: 64px; --s6: 96px;

  /* Shape and sizes */
  --radius: 4px;
  --tap: 48px;               /* minimum tap target */
  --header-h-mobile: 56px;
  --bar-h: 64px;             /* mobile sticky bar */
  --measure: 68ch;
  --measure-journal: 62ch;   /* long reads: about 66 characters a line at 19px Lora */
  --radius-arch: 999px 999px 0 0; /* arched photo mask (home hero) */
  --frame-gap: 12px;         /* thin frame offset around photos */

  /* One warm grade for every curated stock photo (owned photos replace them later) */
  --grade: sepia(0.18) saturate(0.8) contrast(0.95) brightness(1.03);

  /* Breakpoints (for reference; CSS media queries cannot read variables): 600 / 900 / 1280 */

  /* Legacy names used by the merged rules below, mapped onto the tokens */
  --fond-creme: var(--cream);
  --encre: var(--ink);
  --terre: var(--terracotta);
  --olivier: var(--olive);
  --mer: var(--terracotta-deep); /* was navy #2B4B78: no default blue links anywhere */
  --or: var(--gold);
  --pierre: var(--ink-soft);
  --pierre-on-dark: var(--on-ink-muted);
  --blanc-casse: var(--paper);
}

/* ---------- layer 2: self-hosted fonts (font-display: swap) ---------- */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300; font-display: swap; src: url('/fonts/cormorant-garamond-300-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300; font-display: swap; src: url('/fonts/cormorant-garamond-300-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/cormorant-garamond-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/cormorant-garamond-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/cormorant-garamond-500-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/cormorant-garamond-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300; font-display: swap; src: url('/fonts/cormorant-garamond-300-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300; font-display: swap; src: url('/fonts/cormorant-garamond-300-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/cormorant-garamond-400-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/cormorant-garamond-400-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/lora-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/lora-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/lora-500-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/lora-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Lora'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/lora-400-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lora'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/lora-400-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/dm-sans-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/dm-sans-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/dm-sans-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/dm-sans-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- layer 3: merged 1-styles.css (rewritten to the tokens) ---------- */

* {box-sizing: border-box; margin: 0; padding: 0;}
html, body {background: var(--fond-creme); color: var(--encre);}
body {font-family: 'Lora', Georgia, serif;
  font-size: 19px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;}
::selection {background: rgba(196, 99, 58, 0.22);}
@media (prefers-reduced-motion: reduce) {
* {transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;}
}
.display {font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; letter-spacing: -0.005em;}
.italic {font-style: italic;}
.body {font-family: 'Lora', Georgia, serif; line-height: 1.8;}
.label {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 14px;
  color: var(--pierre);}
.label-tight {letter-spacing: 0.16em; font-size: 14px;}
.label-olivier {color: var(--olivier);}
.label-terre {color: var(--terracotta-deep);}
a {color: var(--link); text-decoration: none;}
a.body-link {border-bottom: 1px solid currentColor;}
a:hover {opacity: 0.78;}
.wordmark {display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  text-decoration: none;
  color: var(--encre);}
.wordmark .med {font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  letter-spacing: -0.025em;
  line-height: 0.85;
  color: var(--encre);}
.wordmark .lifestyle {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  color: var(--pierre);
  text-transform: uppercase;}
.wordmark.dark .med {color: var(--blanc-casse);}
.wordmark.dark .lifestyle {color: var(--pierre-on-dark);}
.wm-xs .med {font-size: 32px;}
.wm-xs .lifestyle {font-size: 6.5px; letter-spacing: 0.42em; margin-top: 4px; padding-left: 1px;}
.wm-s .med {font-size: 44px;}
.wm-s .lifestyle {font-size: 7.5px; letter-spacing: 0.42em; margin-top: 5px; padding-left: 1px;}
.wm-m .med {font-size: 72px;}
.wm-m .lifestyle {font-size: 10px; letter-spacing: 0.42em; margin-top: 7px; padding-left: 2px;}
.wm-l .med {font-size: 116px;}
.wm-l .lifestyle {font-size: 14px; letter-spacing: 0.42em; margin-top: 10px; padding-left: 3px;}
.shell {max-width: 1280px;
  margin: 0 auto;
  padding: 0 64px;}
@media (max-width: 820px) {
.shell {padding: 0 24px;}
}
.site-head {padding: 28px 0 18px;
  border-bottom: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;}
.site-head .meta-left,
.site-head .meta-right {display: flex;
  gap: 28px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pierre);
  align-items: center;}
.site-head .meta-right {justify-content: flex-end;}
.site-head .meta-right .live::before {content: "";
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--terracotta-deep);
  margin-right: 8px;
  transform: translateY(-1px);}
.site-head a {color: var(--pierre);}
.site-head a:hover {color: var(--encre);}
.site-head .center {display: flex; justify-content: center;}
.site-nav {border-bottom: 1px solid var(--rule);
  padding: 14px 0;}
.site-nav ul {list-style: none;
  display: flex;
  justify-content: center;
  gap: 40px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.24em;
  text-transform: uppercase;}
.site-nav a {position: relative;
  color: var(--encre);
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  transition: border-color 200ms ease;}
.site-nav a::before {content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 44px;
  min-height: 44px;}
.site-nav a:hover {border-bottom-color: var(--terre);}
.site-nav a.is-active {border-bottom-color: var(--terre); color: var(--encre);}
.site-nav a.subscribe,
.site-nav a.talk-to-us {color: var(--terracotta-deep);}
@media (max-width: 820px) {
.site-head {gap: 12px;}
.site-head .meta-left {visibility: hidden; min-width: 0;}
.site-head .meta-right .nav-checklist {font-size: 14px; padding: 0 12px;}
}
.btn-primary {display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--terracotta-deep);
  color: var(--blanc-casse);
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 18px 32px;
  border: 0;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background 220ms ease;
  text-decoration: none;}
.btn-primary:hover {background: var(--btn-bg-hover);}
.btn-primary .arrow {font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 18px; letter-spacing: 0; text-transform: none; transform: translateY(-1px);}
.btn-ghost {display: inline-flex;
  align-items: center;
  gap: 14px;
  background: transparent;
  color: var(--encre);
  border: 1px solid var(--encre);
  border-radius: var(--radius);
  padding: 17px 32px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;}
.btn-ghost:hover {background: var(--encre); color: var(--blanc-casse);}
.btn-link {position: relative;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mer);
  border-bottom: 1px solid var(--mer);
  padding-bottom: 4px;
  display: inline-block;}
.btn-link::before {content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 44px;
  min-height: 44px;}
.img {position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: linear-gradient(160deg, #c8b8a3 0%, #8a7a64 60%, #5a4d3d 100%);
  background-size: cover;
  background-position: center;}
.img::before {content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 70%, rgba(75, 94, 53, 0.55), transparent 55%),
    radial-gradient(ellipse at 75% 30%, rgba(244, 239, 230, 0.35), transparent 50%),
    radial-gradient(ellipse at 60% 85%, rgba(26, 22, 18, 0.45), transparent 60%);}
.img::after {content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(115deg, rgba(26,22,18,0.04) 0 2px, transparent 2px 6px);
  mix-blend-mode: multiply;}
.img.has-photo::before {background: linear-gradient(to top, rgba(26, 22, 18, 0.45) 0%, transparent 55%);}
.img.has-photo::after {display: none;}
.img.terre {background: linear-gradient(170deg, #5a4d3d 0%, #8a6f4f 50%, #c4633a 100%);}
.img.olive {background: linear-gradient(170deg, #4a5d3d 0%, #6e7a4f 55%, #2a331a 100%);}
.img.sea {background: linear-gradient(180deg, #2b4b78 0%, #5a7595 55%, #1a2a44 100%);}
.img.dusk {background: linear-gradient(180deg, #c4633a 0%, #8a5a55 50%, #2b3a4d 100%);}
.img.stone {background: linear-gradient(165deg, #b3a48a 0%, #8b7b65 60%, #4a4233 100%);}
.img-cap {position: absolute;
  bottom: 14px;
  left: 14px;
  color: rgba(250, 247, 242, 0.7);
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-family: 'DM Sans', sans-serif;
  z-index: 2;}
.ratio-23 {aspect-ratio: 2 / 3;}
.ratio-32 {aspect-ratio: 3 / 2;}
.ratio-43 {aspect-ratio: 4 / 3;}
.ratio-11 {aspect-ratio: 1 / 1;}
.ratio-169 {aspect-ratio: 16 / 9;}
.ratio-21 {aspect-ratio: 2 / 1;}
.ed-card {display: flex; flex-direction: column; text-decoration: none; color: inherit;}
.ed-card:hover .ed-headline {color: var(--terracotta-deep);}
.ed-card .img {transition: transform 600ms ease;}
.ed-card:hover .img > * {transform: scale(1.02);}
.ed-cat {color: var(--olivier); margin-top: 22px;}
.ed-overline {color: var(--pierre); margin-top: 22px; font-size: 14px; letter-spacing: 0.24em;}
.ed-headline {font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.005em;
  margin-top: 14px;
  transition: color 200ms ease;}
.ed-headline em {font-style: italic;}
.ed-teaser {font-family: 'Lora', serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--encre);
  margin-top: 14px;}
.ed-byline {margin-top: 18px;
  color: var(--pierre);
  font-size: 14px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-family: 'DM Sans', sans-serif;}
.ed-headline.xl {font-size: 56px; line-height: 1.02; letter-spacing: -0.015em;}
.ed-headline.lg {font-size: 42px; line-height: 1.06;}
.ed-headline.sm {font-size: 24px; line-height: 1.15;}
.site-foot {margin-top: 120px;
  background: var(--encre);
  color: var(--blanc-casse);
  padding: 80px 0 36px;}
.site-foot .shell {display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 56px;}
@media (max-width: 820px) {
.site-foot .shell {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 600px) {
.site-foot .shell {grid-template-columns: 1fr;}
}
.site-foot h4 {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 14px;
  color: var(--pierre-on-dark);
  margin-bottom: 20px;}
.site-foot ul {list-style: none;}
.site-foot li {padding: 6px 0; font-family: 'Lora', serif; font-size: 15px;}
.site-foot a {color: var(--blanc-casse);}
.site-foot a:hover {color: var(--terracotta-deep);}
.site-foot .credo {font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-style: italic;
  font-size: 22px;
  line-height: 1.45;
  color: var(--blanc-casse);
  margin-top: 18px;
  max-width: 30ch;}
.site-foot .legal {margin-top: 64px;
  padding-top: 24px;
  border-top: 1px solid rgba(139, 123, 101, 0.3);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  color: var(--pierre-on-dark);
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;}
.section-rule {display: flex;
  align-items: center;
  gap: 24px;
  margin: 80px 0 36px;}
.section-rule .label {white-space: nowrap;}
.section-rule .line {flex: 1; height: 1px; background: var(--rule);}
.section-rule .pg {color: var(--pierre); font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.2em; text-transform: uppercase;}
.partner-overline {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  font-size: 14px;
  color: var(--pierre);}
.threads {display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;}
@media (max-width: 980px) {
.threads {grid-template-columns: repeat(2, 1fr);}
}
.thread {background: var(--blanc-casse);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: 14px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: border-color 200ms ease, transform 200ms ease;}
.thread:hover {border-color: var(--terre); transform: translateY(-2px);}
.thread .img {aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  margin-bottom: 12px;}
.thread .label {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--olivier);
  font-weight: 500;}
.thread .h {font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  color: var(--encre);
  margin-top: 6px;}
.thread .h em {font-style: italic;}
.thread .n {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--pierre);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 10px;}
.country-band {display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 24px;}
@media (max-width: 820px) {
.country-band {grid-template-columns: 1fr;}
}
.country-card {background: var(--blanc-casse);
  border: 1px solid var(--rule);
  padding: 22px 24px;
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  display: block;
  transition: border-color 200ms ease, transform 200ms ease;}
.country-card:hover {border-color: var(--terre); transform: translateY(-2px);}
.country-card h6 {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--terracotta-deep);
  font-weight: 500;
  margin-bottom: 14px;}
.country-card p {font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: var(--encre);
  margin: 8px 0;}
.country-card p em {font-style: italic;}
.country-coming {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--pierre);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-top: 18px;
  text-align: center;}
.guide-cover.members-card {background: var(--encre);
  border-color: var(--encre);
  color: var(--blanc-casse);}
.guide-cover.members-card .gc-overline {color: var(--terracotta-deep);}
.guide-cover.members-card .gc-title {color: var(--blanc-casse);}
.guide-cover.members-card .gc-sub {color: var(--pierre-on-dark);}
.guide-cover.members-card .gc-edition {border-top-color: rgba(139, 123, 101, 0.3); color: var(--terracotta-deep);}
.guide-cover.members-card .gc-edition .imprint {color: var(--pierre-on-dark);}
.takeaway-grid {display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;}
@media (max-width: 620px) {
.takeaway-grid {grid-template-columns: 1fr;}
}
.hub {max-width: 1280px;
  margin: 0 auto;
  padding: 64px 64px 96px;}
@media (max-width: 820px) {
.hub {padding: 48px 24px 72px;}
}
.hub h1 {font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(48px, 6vw, 92px);
  line-height: 0.98;
  letter-spacing: -0.015em;
  color: var(--encre);
  max-width: 22ch;
  margin-bottom: 28px;}
.hub .intro {font-size: 18px;
  line-height: 1.7;
  color: var(--encre);
  max-width: 60ch;
  margin-bottom: 48px;}
.hub-body {max-width: 65ch;}
.hub-body p {font-size: 19px;
  line-height: 1.65;
  color: var(--pierre);
  margin-bottom: 1.5em;}
.hub-hero {padding: 64px 0 56px;
  border-bottom: 1px solid var(--rule);}
.hub-hero .label-band {color: var(--olivier);
  margin-bottom: 18px;}
.hub-hero h1 {font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(48px, 6vw, 92px);
  line-height: 0.98;
  letter-spacing: -0.015em;
  color: var(--encre);
  max-width: 22ch;}
.hub-hero h1 em {font-style: italic; color: var(--terracotta-deep);}
.hub-hero .intro {margin-top: 28px;
  font-size: 18px;
  line-height: 1.7;
  color: var(--encre);
  max-width: 60ch;}
.hub-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  margin-top: 36px;}
@media (max-width: 980px) {
.hub-grid {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 600px) {
.hub-grid {grid-template-columns: 1fr;}
}
.country-filter {display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 18px 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pierre);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  margin-top: 36px;}
.country-filter .filter-label {color: var(--encre);}
.country-filter a {color: var(--encre);}
.country-filter a:hover {color: var(--terracotta-deep);}
.country-filter .dim {opacity: 0.4; pointer-events: none;}
.article-breadcrumb {padding: 20px 24px 0;
  max-width: 720px;
  margin: 0 auto;}
.article-breadcrumb ol {list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pierre);}
.article-breadcrumb a {color: var(--pierre);}
.article-breadcrumb a:hover {color: var(--terracotta-deep);}
.article-breadcrumb .bc-sep {color: var(--rule);}
.article-breadcrumb [aria-current="page"] {color: var(--encre);}
.article-page header {max-width: 720px;
  margin: 0 auto;
  padding: 44px 24px 0;}
.article-page header .category {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 14px;
  color: var(--olivier);
  margin-bottom: 18px;}
.article-page header h1 {font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300;
  font-size: clamp(40px, 5vw, 66px);
  line-height: 1.04;
  letter-spacing: -0.014em;
  color: var(--encre);}
.article-page header h1 em {font-style: italic; color: var(--terracotta-deep);}
.article-page header img {display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius);
  margin-top: 36px;}
.article-body {font-family: 'Lora', serif;
  font-size: 19px;
  line-height: 1.65;
  max-width: 68ch;
  color: var(--encre);
  margin: 0 auto;
  padding: 40px 24px 0;}
.article-body h2 {font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.15;
  margin: 48px 0 14px;
  color: var(--encre);}
.article-body h2 em {font-style: italic; color: var(--terracotta-deep);}
.article-body h3 {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.01em;
  margin: 32px 0 8px;
  color: var(--encre);}
.article-body p {margin-bottom: 1.4em;}
.article-body ul, .article-body ol {margin: 0 0 1.5em 22px;}
.article-body li {margin: 8px 0;}
.article-body a {color: var(--encre);
  text-decoration: underline;
  text-decoration-color: var(--terre);
  text-underline-offset: 2px;}
.article-body a:visited {text-decoration-color: var(--olivier);}
.article-body strong {font-weight: 600;}
.article-body blockquote {margin: 40px 0;
  padding: 26px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  font-style: italic;
  font-size: 25px;
  line-height: 1.45;
  color: var(--encre);}
.article-body blockquote p {margin-bottom: 0;}
.article-body blockquote p + p {margin-top: 0.8em;}
.article-body img {display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius);
  margin: 32px 0;}
.article-body figure {margin: 32px 0;}
.article-body figure img {margin: 0;}
.article-body figcaption {margin-top: 10px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pierre);}
.article-body hr {border: 0;
  border-top: 1px solid var(--rule);
  margin: 44px 0;}
.trust-prose {max-width: 66ch;
  margin: 56px auto 104px;
  padding: 0 24px;
  font-family: 'Lora', Georgia, serif;
  font-size: 18px;
  line-height: 1.78;
  color: var(--encre);}
.trust-prose .eyebrow {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 14px;
  color: var(--pierre);
  margin-bottom: 20px;}
.trust-prose h1 {font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300;
  font-size: clamp(40px, 5vw, 66px);
  line-height: 1.04;
  letter-spacing: -0.014em;
  margin-bottom: 28px;
  color: var(--encre);}
.trust-prose h1 em {font-style: italic; color: var(--terracotta-deep);}
.trust-prose .lede {font-size: 21px;
  line-height: 1.6;
  color: var(--encre);
  margin-bottom: 36px;}
.trust-prose h2 {font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  font-size: clamp(26px, 3vw, 32px);
  line-height: 1.15;
  margin: 48px 0 14px;
  color: var(--encre);}
.trust-prose h3 {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.01em;
  margin: 32px 0 8px;
  color: var(--encre);}
.trust-prose p {font-size: 19px;
  line-height: 1.65;
  margin-bottom: 1.4em;}
.trust-prose ul, .trust-prose ol {margin: 0 0 1.5em 22px;}
.trust-prose li {margin: 8px 0;}
.trust-prose a {color: var(--mer); border-bottom: 1px solid var(--rule);}
.trust-prose a:hover {color: var(--terracotta-deep); border-bottom-color: var(--terre);}
.trust-prose strong {font-weight: 600;}
.trust-prose hr {border: 0;
  border-top: 1px solid var(--rule);
  margin: 44px 0;}
.trust-prose .updated {font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pierre);
  margin-top: 48px;}
.masthead-person {display: grid;
  grid-template-columns: 132px 1fr;
  gap: 28px;
  align-items: start;
  margin: 40px 0;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--rule);}
.masthead-person:last-of-type {border-bottom: 0;}
.masthead-person .portrait {aspect-ratio: 4 / 5;
  background: var(--blanc-casse);
  border: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pierre);
  padding: 10px;}
.masthead-person .who h2 {margin-top: 0;}
.masthead-person .role {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 14px;
  color: var(--terracotta-deep);
  margin: 4px 0 16px;}
@media (max-width: 640px) {
.masthead-person {grid-template-columns: 96px 1fr; gap: 20px;}
}
.hub-body h3 {font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--encre);
  margin: 36px 0 10px;}
.subscribe-form {display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  max-width: 480px;}
.subscribe-form input[type="email"] {flex: 1;
  min-width: 220px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rule);
  color: var(--encre);
  font-family: 'Lora', serif;
  font-size: 16px;
  padding: 14px 0;
  outline: none;
  transition: border-color 200ms ease;}
.subscribe-form input[type="email"]::placeholder {color: var(--pierre); font-style: italic;}
.subscribe-form input[type="email"]:focus {border-bottom-color: var(--terre);}
.subscribe-form.on-dark input[type="email"] {border-bottom-color: rgba(139, 123, 101, 0.5);
  color: var(--blanc-casse);}
.subscribe-form.on-dark input[type="email"]::placeholder {color: var(--pierre-on-dark);}
.subscribe-form.on-dark input[type="email"]:focus {border-bottom-color: var(--terre);}
.subscribe-form input[name="website"] {position: absolute; left: -9999px;}
.related-articles {max-width: 720px;
  margin: 64px auto 0;
  padding-bottom: 64px;}
.related-articles .related-grid {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 28px;}
@media (max-width: 720px) {
.related-articles .related-grid {grid-template-columns: 1fr;}
}
.related-card {display: block;
  text-decoration: none;
  color: inherit;
  padding: 20px 22px;
  background: var(--blanc-casse);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  transition: border-color 200ms ease, transform 200ms ease;}
.related-card:hover {border-color: var(--terre); transform: translateY(-2px); opacity: 1;}
.related-card .rc-cat {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--olivier);}
.related-card h3 {font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 21px;
  line-height: 1.25;
  color: var(--encre);
  margin-top: 10px;}
.related-card:hover h3 {color: var(--terracotta-deep);}
.partner-cta {max-width: 720px;
  margin: 48px auto;
  padding: 28px 30px;
  border: 1px solid var(--rule);
  border-left: 3px solid var(--terre);
  background: var(--blanc-casse);
  border-radius: var(--radius);}
.partner-cta .partner-cta-overline {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pierre);}
.partner-cta h3 {font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  color: var(--encre);
  margin: 10px 0 8px;}
.partner-cta p {font-family: 'Lora', serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--encre);
  margin-bottom: 16px;}
.journey-strip {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;}
@media (max-width: 820px) {
.journey-strip {grid-template-columns: 1fr;}
}
.journey-card {display: block;
  text-decoration: none;
  color: inherit;
  padding: 28px 26px;
  background: var(--blanc-casse);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  transition: border-color 200ms ease, transform 200ms ease;}
.journey-card:hover {border-color: var(--terre); transform: translateY(-2px); opacity: 1;}
.journey-card .jc-overline {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--olivier);}
.journey-card p {font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.3;
  color: var(--encre);
  margin: 12px 0 16px;}
.journey-card p em {font-style: italic; color: var(--terracotta-deep);}
.journey-card .jc-arrow {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pierre);}
.journey-card:hover .jc-arrow {color: var(--terracotta-deep);}
.btn-primary, .subscribe-form button, .capture-block button {min-height: 44px;
  display: inline-flex;
  align-items: center;}
.subscribe-form input[type="email"], .capture-block input[type="email"] {min-height: 44px;}
.capture-block {background: var(--blanc-casse);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 32px 28px;
  margin: 40px 0;
  max-width: 68ch;}
.capture-block .cb-label {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terracotta-deep);
  display: block;
  margin-bottom: 10px;}
.capture-block .cb-pitch {font-family: 'Lora', serif;
  font-size: 19px;
  line-height: 1.6;
  margin: 0 0 18px;}
.capture-block label,
.subscribe-form label {font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pierre);
  display: block;
  flex-basis: 100%;
  margin-bottom: 6px;}
.capture-block .assurance {font-family: 'Lora', serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--pierre);
  margin-top: 12px;}
.capture-compact {padding: 24px 24px;}
.capture-compact .cb-pitch {font-size: 17px; margin-bottom: 14px;}
.capture-contextual {padding: 28px; border-left: 2px solid var(--olivier);}
.capture-contextual .cb-pitch {font-size: 17px;}
.capture-full {padding: 44px 36px; border-left: 2px solid var(--terre);}
.capture-full .cb-contents {font-family: 'Lora', serif;
  font-size: 17px;
  line-height: 1.7;
  margin: 0 0 18px 20px;}
.capture-footer {background: transparent; border: none; padding: 0; margin: 0;}
.capture-hero {background: transparent; border: none; padding: 0; margin: 28px 0 0; max-width: 560px;}
.sticky-letter-bar {position: fixed;
  left: 0; right: 0; bottom: 0;
  height: 58px;
  background: var(--encre);
  color: var(--fond-creme);
  display: none;
  align-items: center;
  justify-content: center;
  gap: 20px;
  z-index: 60;
  font-family: 'Lora', serif;
  font-size: 16px;}
.sticky-letter-bar.is-visible {display: flex;}
.sticky-letter-bar a {color: var(--fond-creme);
  text-decoration: underline;
  text-decoration-color: var(--terre);
  min-height: 44px;
  display: inline-flex;
  align-items: center;}
.sticky-letter-bar button {background: none;
  border: 1px solid rgba(244,239,230,0.4);
  color: var(--fond-creme);
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
  font-size: 16px;}
@media (max-width: 899px) {
.sticky-letter-bar {display: none !important;}
}
@media (min-width: 900px) and (max-width: 1099px) {
.site-nav ul {gap: 22px;}
.site-nav a {font-size: 14px; letter-spacing: 0.16em;}
}
.nav-toggle {display: none;}
.nav-checklist {font-size: 14px; padding: 0 18px;}
.site-head .meta-right .nav-checklist {color: var(--blanc-casse);}
@media (max-width: 899px) {
.site-nav {padding-left: 64px; padding-right: 64px;}
.nav-toggle {display: inline-flex;
    align-items: center;
    min-height: 44px;
    min-width: 44px;
    background: none;
    border: 1px solid var(--rule);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--encre);
    cursor: pointer;}
.site-nav ul {display: none; flex-direction: column;}
.site-nav ul.is-open {display: flex;}
.site-nav a {min-height: 44px;}
}
@media (max-width: 820px) {
.site-nav {padding-left: 24px; padding-right: 24px;}
}
.article-page .byline {font-family: 'Lora', serif;
  font-size: 16px;
  color: var(--pierre);
  margin: 6px 0 20px;}
.series-nav {border-top: 1px solid var(--rule);
  padding: 20px 0;
  margin: 32px 0;
  max-width: 68ch;}
.series-nav .series-links {display: flex; justify-content: space-between; gap: 24px; margin-top: 10px;}
.series-nav a {font-family: 'Lora', serif; font-size: 17px; color: var(--encre); text-decoration: underline; text-decoration-color: var(--terre); min-height: 44px; display: inline-flex; align-items: center;}
.author-bio {background: var(--blanc-casse);
  border-top: 1px solid var(--rule);
  padding: 24px 28px;
  margin: 40px auto;
  max-width: 68ch;
  font-family: 'Lora', serif;
  font-size: 17px;
  line-height: 1.6;}
body.has-letter-bar .site-foot {padding-bottom: 94px;}
@media (max-width: 899px) {
body.has-letter-bar .site-foot {padding-bottom: 36px;}
}
.site-foot .capture-footer .cb-pitch {color: var(--fond-creme); font-size: 17px;}
.site-foot .capture-footer label {color: rgba(244,239,230,0.7);}
.site-foot .capture-footer .assurance {color: rgba(244,239,230,0.7); font-size: 16px;}
.site-foot .capture-footer .assurance a {color: var(--fond-creme);}
.site-foot .foot-pro {margin-top: 20px;}
.site-foot .capture-footer .cb-label {color: var(--fond-creme); opacity: 0.85;}
.overline {font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 14px;
  color: var(--terracotta-deep);
  margin: 0 0 20px;}
.hero-letter .hero-grid {align-items: start;}
.hero-letter h1 {font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(40px, 5.4vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.012em;
  max-width: 18ch;}
.hero-letter h1 em {font-style: italic; color: var(--terracotta-deep);}
.hero-letter .hero-sub {font-family: 'Lora', serif;
  font-size: 19px;
  line-height: 1.6;
  color: var(--pierre);
  max-width: 52ch;
  margin: 14px 0 0;}
.hero-letter .capture-hero {margin-top: 16px;}
.capture-hero .assurance a {color: var(--encre);
  text-decoration: underline;
  text-decoration-color: var(--terre);}
.letter-band {background: var(--encre);
  color: var(--blanc-casse);
  padding: 80px 0;}
.letter-band .overline {margin-bottom: 24px;}
.letter-band .letter-format {font-family: 'Lora', serif;
  font-size: 19px;
  line-height: 1.7;
  color: var(--blanc-casse);
  max-width: 62ch;
  margin: 0 0 20px;}
.letter-band .letter-honest {font-family: 'Lora', serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--pierre-on-dark);
  max-width: 62ch;}
.letter-band .letter-honest a {position: relative;
  color: var(--fond-creme);
  text-decoration: underline;
  text-decoration-color: var(--terre);}
.letter-band .letter-honest a::before {content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 44px;
  min-height: 44px;}

/* ---------- layer 3: merged 2-astro-home.css (rewritten to the tokens) ---------- */

.hero[data-astro-cid-j7pv25f6] {padding:40px 0 88px;border-bottom:1px solid var(--rule)}
.hero-grid[data-astro-cid-j7pv25f6] {display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
@media(max-width:980px) {
.hero-grid[data-astro-cid-j7pv25f6] {grid-template-columns:1fr;gap:48px}
}
.hero-art[data-astro-cid-j7pv25f6] {aspect-ratio:4 / 5;position:relative;border-radius:0}
.hero-art[data-astro-cid-j7pv25f6] .quote[data-astro-cid-j7pv25f6] {position:absolute;bottom:-1px;left:-1px;background:var(--blanc-casse);padding:22px 28px 22px 22px;width:78%;font-family:Cormorant Garamond,serif;font-style:italic;font-weight: 400;font-size:22px;line-height:1.4;color:var(--encre)}
.hero-art[data-astro-cid-j7pv25f6] .quote[data-astro-cid-j7pv25f6]:before {content:"";display:block;width:36px;height:1px;background: var(--terracotta-deep);margin-bottom:14px}
.feature-row[data-astro-cid-j7pv25f6] {display:grid;grid-template-columns:1.2fr 1fr;gap:64px;padding-top:56px}
@media(max-width:980px) {
.feature-row[data-astro-cid-j7pv25f6] {grid-template-columns:1fr;gap:48px}
}
.feature-side[data-astro-cid-j7pv25f6] {display:flex;flex-direction:column;gap:48px}
.feature-side[data-astro-cid-j7pv25f6] .ed-card[data-astro-cid-j7pv25f6] {padding-bottom:32px;border-bottom:1px solid var(--rule)}
.feature-side[data-astro-cid-j7pv25f6] .ed-card[data-astro-cid-j7pv25f6]:last-child {border-bottom:0;padding-bottom:0}
.feature-side[data-astro-cid-j7pv25f6] .ed-card[data-astro-cid-j7pv25f6] {display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:start}
.feature-side[data-astro-cid-j7pv25f6] .ed-card[data-astro-cid-j7pv25f6] .img[data-astro-cid-j7pv25f6] {aspect-ratio:1 / 1}
.feature-side[data-astro-cid-j7pv25f6] .ed-headline[data-astro-cid-j7pv25f6] {font-size:22px;line-height:1.2;margin-top:6px}
.feature-side[data-astro-cid-j7pv25f6] .ed-cat[data-astro-cid-j7pv25f6] {margin-top:0}
.letter-band[data-astro-cid-j7pv25f6] {margin-top:96px}
.guide-cover[data-astro-cid-j7pv25f6] {aspect-ratio:3 / 4;background:var(--fond-creme);border:1px solid var(--rule);padding:36px 32px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:inherit;transition:border-color .22s ease,transform .22s ease}
.guide-cover[data-astro-cid-j7pv25f6]:hover {border-color:var(--terre);transform:translateY(-2px)}
.guide-cover[data-astro-cid-j7pv25f6].dark {background:var(--encre);border-color:var(--encre)}
.guide-cover[data-astro-cid-j7pv25f6].dark .gc-overline[data-astro-cid-j7pv25f6],.guide-cover[data-astro-cid-j7pv25f6].dark .gc-edition[data-astro-cid-j7pv25f6] {color:var(--pierre)}
.guide-cover[data-astro-cid-j7pv25f6].dark .gc-title[data-astro-cid-j7pv25f6] {color:var(--blanc-casse)}
.guide-cover[data-astro-cid-j7pv25f6].dark .gc-sub[data-astro-cid-j7pv25f6] {color:var(--pierre)}
.gc-overline[data-astro-cid-j7pv25f6] {font-family:DM Sans,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.28em;font-size:14px;color:var(--pierre)}
.gc-rule[data-astro-cid-j7pv25f6] {width:40px;height:1px;background: var(--terracotta-deep);margin:22px 0}
.gc-title[data-astro-cid-j7pv25f6] {font-family:Cormorant Garamond,serif;font-weight:300;font-size:38px;line-height:.98;letter-spacing:-.012em;color:var(--encre)}
.gc-title[data-astro-cid-j7pv25f6] em[data-astro-cid-j7pv25f6] {font-style:italic;color: var(--terracotta-deep)}
.gc-sub[data-astro-cid-j7pv25f6] {margin-top:16px;font-family:Lora,serif;font-style:italic;color:var(--pierre);font-size:14px;line-height:1.5}
.gc-edition[data-astro-cid-j7pv25f6] {color:var(--olivier);font-family:DM Sans,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.3em;font-size:14px;border-top:1px solid var(--rule);padding-top:14px;display:flex;justify-content:space-between}
.guide-cover[data-astro-cid-j7pv25f6].dark .gc-edition[data-astro-cid-j7pv25f6] {border-top-color:#8b7b654d;color:var(--olivier)}
.guide-cover[data-astro-cid-j7pv25f6].dark .gc-edition[data-astro-cid-j7pv25f6] .imprint[data-astro-cid-j7pv25f6] {color:var(--pierre)}
.consult-cta[data-astro-cid-j7pv25f6] {display:flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid var(--rule);background:var(--fond-creme);padding:40px 44px}
@media(max-width:820px) {
.consult-cta[data-astro-cid-j7pv25f6] {flex-direction:column;align-items:flex-start;gap:24px}
}
.consult-headline[data-astro-cid-j7pv25f6] {font-family:Cormorant Garamond,serif;font-weight: 400;font-size:28px;line-height:1.25;color:var(--encre);max-width:46ch}
.consult-headline[data-astro-cid-j7pv25f6] em[data-astro-cid-j7pv25f6] {font-style:italic;color: var(--terracotta-deep)}
.consult-sub[data-astro-cid-j7pv25f6] {font-family:Lora,serif;font-size:16px;line-height:1.6;color:var(--pierre);max-width:52ch;margin-top:14px}
.consult-cta[data-astro-cid-j7pv25f6] .btn-primary[data-astro-cid-j7pv25f6] {flex-shrink:0}
.postcards[data-astro-cid-j7pv25f6] {display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:820px) {
.postcards[data-astro-cid-j7pv25f6] {grid-template-columns:repeat(2,1fr)}
}
.postcard[data-astro-cid-j7pv25f6] {display:flex;flex-direction:column;text-decoration:none;color:inherit}
.postcard[data-astro-cid-j7pv25f6] .img[data-astro-cid-j7pv25f6] {aspect-ratio:1 / 1}
.postcard[data-astro-cid-j7pv25f6] h4[data-astro-cid-j7pv25f6] {font-family:Cormorant Garamond,serif;font-weight: 400;font-size:20px;line-height:1.2;margin-top:14px}
.postcard[data-astro-cid-j7pv25f6] h4[data-astro-cid-j7pv25f6] em[data-astro-cid-j7pv25f6] {font-style:italic}
.postcard[data-astro-cid-j7pv25f6] .where[data-astro-cid-j7pv25f6] {color:var(--pierre);font-family:DM Sans,sans-serif;font-size:14px;letter-spacing:.22em;text-transform:uppercase;margin-top:6px}

/* ---------- layer 3: merged 3-rbi.css (rewritten to the tokens) ---------- */

@media (min-width: 900px) {
.site-nav ul {flex-wrap: wrap; row-gap: 8px;}
}
.site-nav a.nav-rbi {color: var(--olivier);}
mark.tc {background: #FBE7A1; color: var(--encre); padding: 0 3px; border-radius: var(--radius); font-style: normal;}
.editor-note {border: 2px dashed var(--terre); background: #FFF6EC; padding: 14px 18px; margin: 20px auto; max-width: 760px; font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 1.5;}
.editor-note strong {color: var(--terracotta-deep);}
.foot-disclosure {border-top: 1px solid rgba(244,239,230,0.18); padding-top: 18px; margin-top: 8px; font-family: 'Lora', serif; font-size: 14px; line-height: 1.6; color: var(--fond-creme);}
.foot-disclosure p {margin: 0 0 10px; max-width: 90ch;}
.foot-disclosure a {text-decoration: underline;}
.form-notice {font-family: 'DM Sans', sans-serif; font-size: 14px; margin-top: 8px; color: var(--terracotta-deep);}
.rbi-meta {font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--pierre); margin: 6px 0 0;}
.rbi-authors {display: flex; flex-wrap: wrap; gap: 18px; margin: 18px 0;}
.rbi-author {display: flex; gap: 12px; align-items: flex-start; max-width: 340px;}
.rbi-author .photo {width: 56px; height: 56px; border-radius: 50%; background: var(--rule); flex: 0 0 56px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--pierre); text-align: center;}
.rbi-author p {margin: 0; font-size: 14px; line-height: 1.5;}
.direct-answer {border-left: 3px solid var(--olivier); padding: 4px 0 4px 16px;}
.planned {color: var(--pierre); font-style: italic;}
.rbi-sources ol {font-size: 14px;}
.rbi-disclaimer {font-size: 14px; color: var(--pierre); border-top: 1px solid var(--rule); padding-top: 14px;}
.rbi-cta {background: var(--blanc-casse); border: 1px solid var(--rule); padding: 22px; margin: 32px 0;}
.rbi-cta h2 {margin-top: 0;}
.rbi-spokes {display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; list-style: none; margin: 0 0 1.5em !important;}
.rbi-spokes li {border: 1px solid var(--rule); padding: 14px; margin: 0 !important;}
.rbi-desk h3 {font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; font-family: 'DM Sans', sans-serif; margin: 18px 0 8px; color: var(--pierre);}
.rbi-table {width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 0 1.5em;}
.rbi-table th, .rbi-table td {border-bottom: 1px solid var(--rule); padding: 10px 8px; text-align: left; vertical-align: top;}
.rbi-table th {font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pierre);}
.table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.faq dt {font-weight: 600; margin-top: 1.2em;}
.faq dd {margin: 0.4em 0 0;}
.conflict {border-left: 3px solid var(--terre); padding-left: 14px;}
.quiz-progress {height: 4px; background: var(--rule); margin: 0 0 18px;}
.quiz-progress span {display: block; height: 100%; background: var(--terracotta-deep); transition: width .2s;}
.quiz-step {border: 0; padding: 0; margin: 0;}
.quiz-step legend {font-family: 'Cormorant Garamond', serif; font-size: 26px; line-height: 1.25; margin-bottom: 16px;}
.quiz-count {display: block; font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pierre); margin-bottom: 6px;}
.quiz-opt {display: flex; gap: 10px; align-items: center; min-height: 48px; padding: 10px 14px; margin: 0 0 10px; border: 1px solid var(--rule); background: var(--blanc-casse); cursor: pointer; font-size: 17px;}
.quiz-opt:hover, .quiz-opt:focus-within {border-color: var(--terre);}
.quiz-nav {display: flex; justify-content: space-between; gap: 12px; margin-top: 16px;}
.lead-form label, .calc-form label {display: block; font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.06em; margin: 14px 0 6px;}
.lead-form input[type=text], .lead-form input[type=email], .lead-form input[type=tel], .lead-form input:not([type]), .lead-form select,
.calc-form input, .calc-form select {width: 100%; min-height: 46px; padding: 8px 12px; border: 1px solid var(--rule); background: #fff; font-size: 16px; font-family: inherit;}
.lead-form label.consent, .calc-form label.consent {display: flex; gap: 10px; align-items: flex-start; font-size: 14px; letter-spacing: 0; line-height: 1.5; font-family: 'Lora', serif;}
.lead-form label.consent input, .calc-form label.consent input {width: auto; min-height: 0; margin-top: 4px; flex: 0 0 auto;}
.lead-form button[type=submit] {margin-top: 18px;}
.form-small {font-size: 14px; color: var(--pierre); margin: 8px 0 0 !important;}
.hp {position: absolute; left: -9999px;}
.form-notice.is-warn {color: var(--encre); background: #FFF6EC; border-left: 3px solid var(--terre); padding: 8px 12px;}
.form-notice .btn-link, .form-notice a {margin-left: 6px;}
.estimate-label {font-family: 'DM Sans', sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--terracotta-deep);}
.calc-out {margin-top: 24px;}
.btn-link {background: none; border: 0; padding: 0; font: inherit; color: var(--terracotta-deep); text-decoration: underline; cursor: pointer;}
.mobile-contact {display: none;}
@media (max-width: 899px) {
.mobile-contact {display: flex; align-items: center; justify-content: center; position: fixed; right: 16px; bottom: 16px; z-index: 60;
    min-height: 48px; min-width: 48px; padding: 0 18px; border-radius: var(--radius); background: var(--olivier); color: #fff; text-decoration: none;
    font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.06em; box-shadow: 0 2px 10px rgba(0,0,0,.18);}
body.has-letter-bar .mobile-contact {bottom: 78px;}
}
@media print {
.site-head, .site-nav, .site-foot, .article-breadcrumb, .no-print, .mobile-contact, .sticky-letter-bar, .editor-note {display: none !important;}
body {background: #fff;}
.rbi-table {font-size: 11px;}
a {color: inherit; text-decoration: none;}
.rbi-sources a::after {content: " (" attr(href) ")"; font-size: 9px; word-break: break-all;}
}
.home-quiz {text-align: center; margin: 24px 0 8px;}
.country-coming a {color: inherit;}
.tool-band {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 24px 0;}
@media (max-width: 899px) {
.tool-band {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 560px) {
.tool-band {grid-template-columns: 1fr;}
}
.tool-card {display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid var(--rule, #D9D0C1); background: var(--blanc-casse); color: var(--encre); text-decoration: none; transition: border-color .2s, transform .2s;}
.tool-card:hover {border-color: var(--terre); transform: translateY(-2px);}
.tool-card .tc-overline {font-family: 'DM Sans', sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--terracotta-deep);}
.tool-card .tc-title {font-family: 'Cormorant Garamond', serif; font-size: 24px; line-height: 1.2;}
.tool-card .tc-sub {font-size: 15px; line-height: 1.5; color: var(--pierre); flex: 1;}
.tool-card .tc-arrow {font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.04em;}
.hero-byline {font-family: 'DM Sans', sans-serif; font-size: 14px; letter-spacing: 0.04em; color: var(--pierre); margin: 18px 0;}
.hero-byline a {color: inherit;}
.hero-ctas {display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 24px;}
.no-move {border: 1px solid var(--olivier); border-left-width: 4px; background: var(--blanc-casse); padding: 18px 22px; margin: 28px 0 36px;}
.no-move h2 {margin-top: 0;}
.no-move ul {margin: 12px 0;}
.no-move-links {font-family: 'DM Sans', sans-serif; font-size: 14px; margin-bottom: 0;}
.tool-rail {position: fixed; z-index: 55; font-family: 'DM Sans', sans-serif;}
.tool-rail a {text-decoration: none; color: var(--encre);}
.tool-rail .tr-label {margin: 0 0 8px; font-size: 14px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--pierre);}
@media (min-width: 1720px) {
.tool-rail {right: 24px; top: 50%; transform: translateY(-50%); width: 190px; display: flex; flex-direction: column; gap: 8px;}
.tool-rail .tr-item {display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; background: var(--blanc-casse); border: 1px solid var(--rule, #D9D0C1); transition: border-color .2s;}
.tool-rail .tr-item:hover {border-color: var(--terre);}
.tool-rail .tr-quiz {background: var(--terracotta-deep); border-color: var(--terre);}
.tool-rail .tr-quiz .tr-name, .tool-rail .tr-quiz .tr-sub {color: #fff;}
.tool-rail .tr-name {font-size: 14px; line-height: 1.3;}
.tool-rail .tr-sub {font-size: 14px; color: var(--pierre);}
.tool-rail .tr-short {display: none;}
}
@media (max-width: 1719px) {
.tool-rail {left: 0; right: 0; bottom: 0; display: flex; background: var(--blanc-casse); border-top: 1px solid var(--rule, #D9D0C1); box-shadow: 0 -2px 10px rgba(0,0,0,.08);}
.tool-rail .tr-label, .tool-rail .tr-name, .tool-rail .tr-sub {display: none;}
.tool-rail .tr-item {flex: 1; display: flex; align-items: center; justify-content: center; min-height: 52px; font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; border-left: 1px solid var(--rule, #D9D0C1);}
.tool-rail .tr-item:first-of-type {border-left: 0;}
.tool-rail .tr-quiz {background: var(--terracotta-deep); color: #fff;}
body.has-tool-rail {padding-bottom: 52px;}
body.has-tool-rail .mobile-contact {bottom: 68px;}
}
@media print {
.tool-rail {display: none !important;}
}
.passport {border-top: 1px solid var(--rule, #D9D0C1); padding-top: 12px; margin-top: 40px;}
.passport-top {font-family: 'DM Sans', sans-serif; font-size: 14px;}
.passport-jump ul {columns: 2;}
.foot-disclosure {border-top: 0; padding-top: 0; font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--pierre-on-dark);}
.foot-disclosure p {margin: 0;}
.lead-form textarea {width: 100%; font: inherit; padding: 10px; box-sizing: border-box;}

/* ==========================================================================
   MedLifestyle site.css, layer 4: Stage 1 components and base fixes
   Comes after the merged legacy rules, so it wins on equal specificity.
   Every component is shown on /styleguide/ (noindex).
   ========================================================================== */

/* ---------- Base: links, focus, Cormorant floor ---------- */
a { color: var(--link); }
a:hover { color: var(--link-hover); opacity: 1; }
main a:not([class]) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.on-ink :focus-visible, .quiz-band :focus-visible, .site-foot :focus-visible { outline-color: var(--on-ink); }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--ink); color: var(--on-ink); padding: var(--s1) var(--s2); font-family: var(--font-ui); font-size: var(--fs-ui-l); }
.skip-link:focus { left: var(--s2); top: var(--s2); }

/* ---------- Buttons ---------- */
.btn-primary, .btn-quiz {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s2);
  min-height: var(--tap); padding: 0 var(--s3);
  background: var(--btn-bg); color: var(--btn-text);
  font-family: var(--font-ui); font-weight: 500; font-size: var(--fs-ui-l); letter-spacing: 0.08em; text-transform: uppercase;
  border: 0; border-radius: var(--radius); text-decoration: none; cursor: pointer; transition: background 200ms ease;
}
.btn-primary:hover, .btn-quiz:hover { background: var(--btn-bg-hover); color: var(--btn-text); }
.btn-quiz-l { min-height: 56px; padding: 0 var(--s4); font-size: 17px; }
.btn-secondary {
  display: inline-flex; align-items: center; min-height: var(--tap); padding: 0 var(--s3);
  border: 1px solid var(--ink); border-radius: var(--radius); background: transparent; color: var(--ink);
  font-family: var(--font-ui); font-size: var(--fs-ui-l); letter-spacing: 0.04em; text-decoration: none;
}
.btn-secondary:hover { background: var(--ink); color: var(--on-ink); }
.on-ink .btn-secondary, .quiz-band .btn-secondary { border-color: var(--on-ink); color: var(--on-ink); }
.btn-link { color: var(--link); }

/* ---------- Header: "Est. MMXXVI" kept (C-6 default), Take the quiz is the primary button ---------- */
.site-head .meta-left, .site-head .meta-right { font-size: var(--fs-ui); letter-spacing: 0.16em; }
.site-nav ul { font-size: var(--fs-ui); letter-spacing: 0.14em; gap: var(--s4); }
.site-nav a { color: var(--ink); }
.site-nav a.nav-rbi { color: var(--olive); }
.site-nav a.talk-to-us { color: var(--terracotta-deep); }
.site-nav ul { align-items: center; }
.site-nav a.btn-quiz { color: var(--btn-text); border-bottom: 0; padding: 0 var(--s2); min-height: var(--tap); font-size: var(--fs-ui); letter-spacing: 0.1em; }
.site-nav a.btn-quiz:hover { color: var(--btn-text); background: var(--btn-bg-hover); }
.site-nav a.btn-quiz.is-active { color: var(--btn-text); }
@media (min-width: 900px) and (max-width: 1099px) {
  .site-nav ul { gap: var(--s3); }
  .site-nav a { font-size: var(--fs-ui); letter-spacing: 0.08em; }
}
@media (max-width: 899px) {
  .site-head { min-height: var(--header-h-mobile); padding: var(--s1) 0; }
  .site-head .meta-left { visibility: visible; }
  .wm-s .med { font-size: 32px; }
  .site-nav ul { align-items: stretch; }
  .site-nav a { display: flex; align-items: center; min-height: var(--tap); }
  .site-nav a.btn-quiz { justify-content: center; margin: var(--s1) 0; }
}

/* ---------- Quiz band: full-width ink band, big serif question ---------- */
.quiz-band { background: var(--ink); color: var(--on-ink); padding: var(--s5) 0; margin: var(--s5) 0; }
.quiz-band .qb-inner { max-width: 1280px; margin: 0 auto; padding: 0 64px; display: grid; grid-template-columns: 1fr auto; gap: var(--s4); align-items: center; }
.quiz-band .qb-kicker { font-family: var(--font-ui); font-size: var(--fs-ui); letter-spacing: 0.16em; text-transform: uppercase; color: var(--terracotta-on-ink); margin: 0 0 var(--s2); }
.quiz-band .qb-question { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-question); line-height: 1.15; color: var(--on-ink); margin: 0; max-width: 22ch; }
.quiz-band .qb-meta { font-family: var(--font-ui); font-size: var(--fs-ui-l); color: var(--on-ink-muted); margin: var(--s2) 0 0; }
.quiz-band .qb-cta { display: flex; flex-direction: column; gap: var(--s2); align-items: flex-start; }
.quiz-band .qb-cta a.qb-secondary { color: var(--on-ink); font-family: var(--font-ui); font-size: var(--fs-ui-l); text-decoration: underline; text-decoration-color: var(--terracotta-on-ink); min-height: var(--tap); display: inline-flex; align-items: center; }
@media (max-width: 820px) {
  .quiz-band .qb-inner { grid-template-columns: 1fr; padding: 0 var(--s3); }
}

/* ---------- Comparison table: sticky first column on desktop, one card per country on mobile ---------- */
.compare { margin: var(--s4) 0; }
.compare-caption { font-family: var(--font-ui); font-size: var(--fs-ui); color: var(--text-muted); margin: 0 0 var(--s2); }
.compare-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--paper); }
.compare-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; font-size: 16px; line-height: 1.5; }
.compare-table th, .compare-table td { padding: var(--s2); text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); }
.compare-table thead th { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h3); color: var(--ink); background: var(--paper); }
.compare-table tbody th { position: sticky; left: 0; z-index: 1; background: var(--cream); font-family: var(--font-ui); font-size: var(--fs-ui); font-weight: 500; letter-spacing: 0.04em; color: var(--ink); width: 13rem; box-shadow: 1px 0 0 var(--rule); }
.compare-table thead th:first-child { position: sticky; left: 0; z-index: 2; background: var(--cream); }
.compare-table .src { display: block; margin-top: var(--s1); font-family: var(--font-ui); font-size: var(--fs-ui); color: var(--text-muted); }
.compare-cards { display: none; }
@media (max-width: 899px) {
  .compare-scroll { display: none; }
  .compare-cards { display: grid; gap: var(--s2); }
  .compare-card { border: 1px solid var(--rule); border-top: 3px solid var(--terracotta); border-radius: var(--radius); background: var(--paper); padding: var(--s2) var(--s3); }
  .compare-card h3 { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h3); margin: 0 0 var(--s1); }
  .compare-card dl { margin: 0; }
  .compare-card dt { font-family: var(--font-ui); font-size: var(--fs-ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); margin-top: var(--s2); }
  .compare-card dd { margin: 4px 0 0; font-size: 17px; line-height: 1.5; }
  .compare-card .src { font-family: var(--font-ui); font-size: var(--fs-ui); color: var(--text-muted); }
}

/* ---------- Key facts ---------- */
.key-facts { display: grid; grid-template-columns: minmax(10rem, 14rem) 1fr; gap: 0; margin: var(--s3) 0 var(--s4); border: 1px solid var(--rule); border-left: 3px solid var(--olive); border-radius: var(--radius); background: var(--paper); }
.key-facts dt, .key-facts dd { padding: 12px var(--s2); border-bottom: 1px solid var(--rule-soft); margin: 0; }
.key-facts dt { font-family: var(--font-ui); font-size: var(--fs-ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); }
.key-facts dd { font-size: 17px; line-height: 1.55; }
.key-facts dt:last-of-type, .key-facts dd:last-of-type { border-bottom: 0; }
@media (max-width: 600px) {
  .key-facts { grid-template-columns: 1fr; }
  .key-facts dt { border-bottom: 0; padding-bottom: 0; }
}

/* ---------- Checked badge ---------- */
.checked-badge { display: inline-flex; align-items: center; gap: var(--s1); min-height: 32px; padding: 4px 12px; border: 1px solid var(--olive); border-radius: var(--radius); background: var(--paper); font-family: var(--font-ui); font-size: var(--fs-ui); color: var(--ink); }
.checked-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--olive); flex: 0 0 8px; }
.checked-badge a { color: var(--ink); }

/* ---------- Byline ---------- */
.byline-block { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2); margin: var(--s2) 0 var(--s3); font-family: var(--font-ui); font-size: var(--fs-ui-l); color: var(--text-muted); }
.byline-block .photo { width: var(--tap); height: var(--tap); border-radius: 50%; background: var(--rule); flex: 0 0 var(--tap); display: flex; align-items: center; justify-content: center; font-size: var(--fs-ui); color: var(--ink); overflow: hidden; }
.byline-block a { color: var(--ink); }
.rbi-meta, .hero-byline { font-size: var(--fs-ui-l); color: var(--text-muted); }
.rbi-author .photo { font-size: var(--fs-ui); color: var(--ink); }

/* ---------- How it works strip ---------- */
.how-it-works { margin: var(--s5) 0; }
.how-it-works h2 { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h2); margin: 0 0 var(--s3); }
.hiw-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s3); margin: 0; padding: 0; counter-reset: hiw; }
.hiw-steps li { counter-increment: hiw; border-top: 2px solid var(--terracotta); padding-top: var(--s2); margin: 0; }
.hiw-steps li::before { content: counter(hiw); display: block; font-family: var(--font-display); font-weight: 500; font-size: 32px; line-height: 1; color: var(--terracotta-deep); margin-bottom: var(--s1); }
.hiw-steps h3 { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h3); line-height: 1.2; margin: 0 0 var(--s1); }
.hiw-steps p { font-size: 17px; line-height: 1.6; margin: 0; color: var(--text-muted); }
@media (max-width: 899px) { .hiw-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .hiw-steps { grid-template-columns: 1fr; } }

/* ---------- What we are / aren't ---------- */
.what-we-are { margin: var(--s3) 0; padding: var(--s2) var(--s3); border-left: 3px solid var(--olive); background: var(--paper); font-size: 17px; line-height: 1.6; border-radius: 0 var(--radius) var(--radius) 0; }
.what-we-are a { color: var(--link); }

/* ---------- Tool rail: slim strip. Fixed on the right from 1720px (the 1280px column plus the rail), slim bottom strip 900 to 1719px,
   replaced by the mobile sticky bar below 900px (Tools stays one tap away in the nav). ---------- */
.tool-rail .tr-label { font-size: var(--fs-ui); color: var(--text-muted); }
@media (min-width: 1720px) {
  .tool-rail { width: 176px; gap: var(--s1); }
  .tool-rail .tr-item { border-radius: var(--radius); padding: 10px 12px; }
  .tool-rail .tr-name { font-size: var(--fs-ui); }
  .tool-rail .tr-sub { font-size: var(--fs-ui); color: var(--text-muted); }
  .tool-rail .tr-quiz { background: var(--btn-bg); border-color: var(--btn-bg); }
  .tool-rail .tr-quiz:hover { background: var(--btn-bg-hover); }
}
@media (min-width: 900px) and (max-width: 1719px) {
  .tool-rail .tr-item { min-height: var(--tap); font-size: var(--fs-ui); letter-spacing: 0.06em; }
  .tool-rail .tr-quiz { background: var(--btn-bg); color: var(--btn-text); }
  body.has-tool-rail { padding-bottom: var(--tap); }
}
@media (max-width: 899px) {
  .tool-rail { display: none; }
  body.has-tool-rail { padding-bottom: 0; }
}

/* ---------- Mobile sticky bar: Take the quiz + WhatsApp (below 900px) ---------- */
.mobile-bar { display: none; }
@media (max-width: 899px) {
  .mobile-bar { display: grid; grid-template-columns: 2fr 1fr; gap: var(--s1); position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: var(--s1) var(--s2) calc(var(--s1) + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--rule); box-shadow: 0 -2px 10px rgba(26, 22, 18, 0.08); }
  .mobile-bar a { display: flex; align-items: center; justify-content: center; min-height: var(--tap); border-radius: var(--radius); font-family: var(--font-ui); font-size: var(--fs-ui-l); font-weight: 500; letter-spacing: 0.04em; text-decoration: none; }
  .mobile-bar .mb-quiz { background: var(--btn-bg); color: var(--btn-text); }
  .mobile-bar .mb-wa { border: 1px solid var(--olive); color: var(--olive); background: var(--paper); }
  body.has-mobile-bar { padding-bottom: calc(var(--bar-h) + env(safe-area-inset-bottom)); }
  .mobile-contact { display: none !important; }  /* replaced by the bar */
}
@media print { .mobile-bar { display: none !important; } }

/* ---------- Editor markers (preview build only; the Stage 5 public build strips them) ---------- */
mark.tc { background: var(--marker-bg); color: var(--ink); border-radius: var(--radius); }
.form-notice { font-size: var(--fs-ui); color: var(--terracotta-deep); }

/* ---------- Footer small print: one plain line ---------- */
.foot-disclosure { font-size: var(--fs-ui); color: var(--on-ink-muted); }
.site-foot a { color: var(--on-ink); }

/* ---------- Styleguide page helpers (only used on /styleguide/) ---------- */
.sg-section { border-top: 1px solid var(--rule); padding: var(--s4) 0; }
.sg-section > h2 { font-family: var(--font-ui); font-size: var(--fs-ui); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 var(--s3); }
.sg-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s2); list-style: none; padding: 0; margin: 0; }
.sg-swatches li { border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; background: var(--paper); margin: 0; }
.sg-chip { height: 72px; }
.sg-swatches p { margin: 0; padding: var(--s1) 12px; font-family: var(--font-ui); font-size: var(--fs-ui); line-height: 1.45; }
.sg-row { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: center; margin: var(--s2) 0; }
.sg-note { font-family: var(--font-ui); font-size: var(--fs-ui); color: var(--text-muted); }
.sg-space { display: flex; align-items: flex-end; gap: var(--s2); }
.sg-space span { display: block; background: var(--terracotta); border-radius: 2px; }
.sg-frame { border: 1px dashed var(--stone); border-radius: var(--radius); padding: var(--s3); position: relative; }
.sg-frame .mobile-bar, .sg-frame .tool-rail { position: static; display: grid; box-shadow: none; }
.sg-frame .tool-rail { display: flex; flex-direction: column; width: 176px; gap: var(--s1); }

/* ---------- Utilities ---------- */
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Specificity guards: buttons and source lines inside article and prose bodies ---------- */
main a.btn-primary, main a.btn-quiz, .site-nav a.btn-quiz { color: var(--btn-text); text-decoration: none; border-bottom: 0; }
main a.btn-primary:hover, main a.btn-quiz:hover { color: var(--btn-text); }
main a.btn-secondary { color: var(--ink); text-decoration: none; }
main a.btn-secondary:hover, main .quiz-band a.btn-secondary { color: var(--on-ink); }
main .quiz-band a.qb-secondary { color: var(--on-ink); }
.key-facts .src, .compare .src { display: block; margin-top: 4px; font-family: var(--font-ui); font-size: var(--fs-ui); line-height: 1.45; color: var(--text-muted); }
.key-facts .src a, .compare .src a { color: var(--text-muted); }
.mobile-bar a.mb-quiz { color: var(--btn-text); }

/* ---------- Stage 2: home and page blocks ---------- */
.short-answer { font-size: 20px; line-height: 1.6; margin: var(--s2) 0 0; max-width: var(--measure); }
.option-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--s3); margin: var(--s3) 0 var(--s5); }
.option-big { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s4); background: var(--olive); color: var(--on-ink); border-radius: var(--radius); text-decoration: none; }
.option-big .jc-overline, .option-big .jc-arrow { color: var(--on-ink); font-family: var(--font-ui); font-size: var(--fs-ui); letter-spacing: 0.12em; text-transform: uppercase; }
.option-big .ob-title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h2); line-height: 1.15; }
.option-big .ob-sub { font-size: 17px; line-height: 1.6; flex: 1; }
.option-big:hover { color: var(--on-ink); opacity: 0.94; }
.option-small { display: grid; gap: var(--s2); }
@media (max-width: 899px) { .option-feature { grid-template-columns: 1fr; } }
.alerts-title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h2); line-height: 1.2; color: var(--on-ink); margin: 0 0 var(--s3); max-width: 24ch; }
.letter-band .btn-secondary { border-color: var(--on-ink); color: var(--on-ink); }
.letter-cta { font-family: var(--font-ui); font-size: var(--fs-ui-l); color: var(--text-muted); border-top: 1px solid var(--rule); padding-top: var(--s2); margin-top: var(--s3); }
.quiz-capture { margin-top: var(--s4); padding: var(--s3); border: 1px solid var(--rule); border-left: 3px solid var(--terracotta); border-radius: var(--radius); background: var(--paper); }
.quiz-capture h3 { margin-top: 0; }
.form-notice.is-ok { color: var(--olive); }
.hub-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s2); margin: var(--s3) 0; }
@media (max-width: 899px) { .hub-cards { grid-template-columns: 1fr; } }
.calendar-slot { border: 1px dashed var(--stone); border-radius: var(--radius); padding: var(--s3); background: var(--paper); margin: var(--s2) 0; }
.talk-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s2); margin: var(--s3) 0; }
.talk-options > div { border: 1px solid var(--rule); border-radius: var(--radius); background: var(--paper); padding: var(--s3); }
.talk-options h3 { margin-top: 0; }
@media (max-width: 899px) { .talk-options { grid-template-columns: 1fr; } }

/* ==========================================================================
   MedLifestyle site.css, layer 5: Option A Stage 1.5 visual polish
   Polish, not restart: same markup, same IA. Comes last, so it wins on equal
   specificity. References (awwwards-inspo/list.md): near-black and warm stone
   with a deeper quiz band (Silver Pinewood); type-led hierarchy and large serif
   display (La Maddalena); journal pacing on long reads, with no scroll effects
   (Tierra Ignota); cream calm, framed and arched photos, a restrained nav
   (Mejuma, Le Saint Georges, Faith Ibiza).
   Rules: one accent colour (terracotta) for the primary button, link underlines
   and the active nav rule. Nothing moves on scroll. Every token is on /styleguide/.
   ========================================================================== */

/* ---------- Single-colour restraint: italics and overlines go to ink ---------- */
.hero-letter h1 em, .article-page header h1 em, .article-body h2 em, .journey-card p em,
.consult-headline em, h1 em, h2 em { color: inherit; }
.overline, .journey-card .jc-overline, .tool-card .tc-overline, .article-page header .category,
.section-rule .label, .section-rule .pg { color: var(--ink-soft); }
.section-rule .line { background: var(--stone-300); }
.letter-band .overline { color: var(--on-ink-muted); }

/* Links: ink, with the accent as a hairline underline */
main a:not([class]) { color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 3px; }
main a:not([class]):hover { color: var(--accent); }
.btn-link { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.btn-link::before { display: none; }
.btn-link:hover { color: var(--accent); }

/* ---------- Restrained nav: one row of quiet caps, one button ---------- */
.site-head { border-bottom: 0; padding: var(--s3) 0 var(--s2); }
.site-head .meta-left, .site-head .meta-right { color: var(--ink-soft); }
.site-nav { border-bottom: 1px solid var(--stone-300); padding: 10px 0; }
.site-nav ul { gap: var(--s4); letter-spacing: 0.12em; }
.site-nav a, .site-nav a.nav-rbi, .site-nav a.talk-to-us, .site-nav a.subscribe { color: var(--ink); }
.site-nav a:hover { border-bottom-color: var(--ink); color: var(--ink); }
.site-nav a.is-active { border-bottom-color: var(--accent); }
.site-nav a.btn-quiz { padding: 0 var(--s3); letter-spacing: 0.12em; }
.site-nav a.btn-quiz.is-active { border-bottom: 0; }

/* ---------- Buttons: the terracotta fill is the one accent; secondary is an ink hairline ---------- */
.btn-secondary { border-color: var(--ink); }
.btn-primary, .btn-quiz { letter-spacing: 0.1em; }

/* ---------- Home hero: type leads, one arched and framed photo ---------- */
.hero-letter h1 { font-weight: 400; font-size: var(--fs-display); line-height: 0.98; letter-spacing: -0.015em; }
.hero-letter .hero-sub { font-size: 20px; line-height: 1.7; max-width: 34em; }
.hero-grid[data-astro-cid-j7pv25f6] { grid-template-columns: 1.35fr 1fr; gap: var(--s5); align-items: end; }
.hero-art[data-astro-cid-j7pv25f6] { aspect-ratio: 4 / 5; border-radius: var(--radius-arch); outline: 1px solid var(--stone-300); outline-offset: var(--frame-gap); margin: var(--frame-gap); }
@media (max-width: 899px) {
  .hero-grid[data-astro-cid-j7pv25f6] { grid-template-columns: 1fr; gap: var(--s4); }
  .hero-art[data-astro-cid-j7pv25f6] { aspect-ratio: 1 / 1; max-width: 420px; margin: var(--frame-gap) auto; }
}

/* ---------- One warm grade over every curated stock photo ----------
   Background photos (.img.has-photo): the graded copy sits on ::before, the
   caption scrim on ::after, the caption on top. <img> in pages takes the same filter. */
.img.has-photo { isolation: isolate; }
.img.has-photo::before { background: inherit; filter: var(--grade); }
.img.has-photo::after { display: block; background: linear-gradient(to top, rgba(22, 19, 15, 0.55) 0%, transparent 45%); mix-blend-mode: normal; }
.img.has-photo .img-cap { z-index: 1; color: var(--on-ink); }
main img:not(.no-grade), .article-page header img { filter: var(--grade); }
.photo-frame { border: 1px solid var(--stone-300); padding: var(--frame-gap); background: var(--paper); }

/* ---------- Cards become type-led columns on hairlines ---------- */
.journey-card, .tool-card { background: transparent; border: 0; border-top: 1px solid var(--ink); border-radius: 0; padding: var(--s3) 0 0; }
.journey-card:hover, .tool-card:hover { transform: none; border-top-color: var(--accent); }
.journey-card p { font-size: 26px; line-height: 1.3; }
.tool-card .tc-title { font-size: 28px; }
.journey-strip { gap: var(--s4); }
.tool-band { gap: var(--s4); }
.option-big { background: var(--stone-100); color: var(--ink); border-radius: 0; padding: var(--s5) var(--s4); }
.option-big .jc-overline, .option-big .jc-arrow { color: var(--ink-soft); }
.option-big .ob-title { font-size: var(--fs-h2-journal); line-height: 1.08; }
.option-big:hover { color: var(--ink); opacity: 1; background: var(--stone-300); }

/* ---------- Quiz band: deeper ink, bigger question, silver meta ---------- */
.quiz-band { background: var(--band); color: var(--on-band); padding: var(--s6) 0; }
.quiz-band .qb-kicker, .quiz-band .qb-meta { color: var(--on-band-muted); }
.quiz-band .qb-question { color: var(--on-band); font-size: var(--fs-band-q); line-height: 1.04; max-width: 15ch; }
.quiz-band .qb-cta a.qb-secondary, main .quiz-band a.qb-secondary { color: var(--on-band); text-decoration-color: var(--on-band-muted); }
.article-body .quiz-band { padding: var(--s5) 0; }
.article-body .quiz-band .qb-inner { padding: 0 var(--s4); }
.article-body .quiz-band .qb-question { font-size: clamp(32px, 3.6vw, 48px); }

/* ---------- Shared blocks: hairlines, not colour ---------- */
.direct-answer { border-left: 1px solid var(--ink); padding-left: var(--s3); }
.key-facts { border: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; }
.key-facts dt, .key-facts dd { border-bottom-color: var(--stone-300); }
.no-move { border: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--stone-300); background: var(--stone-100); padding: var(--s4); }
.checked-badge { border-color: var(--stone); background: transparent; }
.checked-badge::before { background: var(--ink); }
.what-we-are { border-left: 1px solid var(--ink); background: transparent; border-radius: 0; }
.hiw-steps li { border-top: 1px solid var(--ink); }
.hiw-steps li::before { content: counter(hiw, decimal-leading-zero); color: var(--ink-soft); font-weight: 400; font-size: 40px; }
.compare-scroll { background: transparent; border-color: var(--stone-300); }
.compare-table thead th, .compare-table tbody th, .compare-table thead th:first-child { background: var(--cream); }
.rbi-cta { background: transparent; border: 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--stone-300); padding: var(--s4) 0; }
.quiz-capture { border-left: 1px solid var(--ink); }
@media (max-width: 899px) {
  .compare-card { border-top: 1px solid var(--ink); background: transparent; }
  .mobile-bar .mb-wa { border-color: var(--ink); color: var(--ink); }
}

/* ---------- Journal pacing: long Holding the option and country reads (.article-page.journal) ----------
   Generous measure, wide margins, numbered sections, a drop cap on the lede and one pull quote.
   All static: no scroll-linked effects, no reveal animation. */
.article-page.journal header { max-width: 920px; padding-top: var(--s5); }
.article-page.journal header h1 { font-weight: 400; font-size: var(--fs-h1-journal); line-height: 1.0; letter-spacing: -0.015em; margin-bottom: var(--s3); }
.article-page.journal header .short-answer { font-size: 21px; line-height: 1.65; max-width: var(--measure-journal); }
.journal .article-body { max-width: var(--measure-journal); line-height: 1.8; padding-top: var(--s5); padding-bottom: var(--s5); counter-reset: sec; }
.journal .article-body > h2:not(#questions-we-hear-most) { position: relative; counter-increment: sec; font-size: var(--fs-h2-journal); line-height: 1.1; margin-top: var(--s6); padding-top: var(--s3); border-top: 1px solid var(--stone-300); }
.journal .article-body > h2:not(#questions-we-hear-most)::before { content: counter(sec, decimal-leading-zero); display: block; font-family: var(--font-ui); font-size: var(--fs-ui); font-weight: 500; letter-spacing: 0.2em; color: var(--ink-soft); margin-bottom: var(--s1); }
.journal .article-body > h2#questions-we-hear-most { font-size: var(--fs-h2-journal); margin-top: var(--s6); }
@media (min-width: 1200px) {
  .journal .article-body > h2:not(#questions-we-hear-most)::before { position: absolute; left: -96px; top: 34px; margin: 0; }
}
.journal .article-body p.lede::first-letter { float: left; font-family: var(--font-display); font-weight: 500; font-size: var(--fs-dropcap); line-height: 0.8; padding: 8px 12px 0 0; color: var(--ink); }
.pull-quote { margin: var(--s5) 0; padding: var(--s3) 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--stone-300); }
.pull-quote p { margin: 0; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: var(--fs-pull); line-height: 1.2; color: var(--ink); }
@media (min-width: 1200px) {
  .journal .pull-quote { float: right; width: 320px; margin: var(--s1) -260px var(--s3) var(--s4); }
}
.journal .article-body blockquote { border-top-color: var(--stone-300); border-bottom-color: var(--stone-300); }

/* ---------- Calm cream: more air between home sections ---------- */
.section-rule { margin-top: var(--s6); }
.letter-band { background: var(--ink); }

/* ---------- Motion: hover colour changes only; none at all when reduced motion is asked for ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Styleguide helpers for Stage 1.5 ---------- */
.sg-arch { width: 220px; aspect-ratio: 4 / 5; border-radius: var(--radius-arch); outline: 1px solid var(--stone-300); outline-offset: var(--frame-gap); margin: var(--frame-gap); }
.sg-journal { max-width: var(--measure-journal); }

/* How it works sits inside the narrower journal measure: two columns, not four */
.journal .article-body .hiw-steps { grid-template-columns: 1fr 1fr; gap: var(--s4) var(--s3); }
@media (max-width: 600px) { .journal .article-body .hiw-steps { grid-template-columns: 1fr; } }

/* Small screens: calmer answer size, section labels on one line each */
@media (max-width: 600px) {
  .article-page.journal header .short-answer { font-size: 19px; }
  .section-rule { flex-wrap: wrap; gap: var(--s1) var(--s2); }
  .section-rule .line { display: none; }
  .section-rule .pg { letter-spacing: 0.12em; }
}

/* ---------- Photo credits: tiny, one line, bottom of frame (Peter 30 Oct) ---------- */
.img-cap,
.img.has-photo .img-cap {
  bottom: 8px;
  left: 10px;
  right: 10px;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - 20px);
  pointer-events: none;
}

/* Go-live: hide editor marks on public pages (styleguide keeps them) */
body.is-public mark.tc, body.is-public p.planned {display: none;}
