/* Hallmark · theme: custom Medicare Mentors / WSM mash + motion · genre: editorial · surface: absolute · posture: navy/crimson brand bands · signature: mentor figures draw-on · copy: verbatim */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R3 V3 · weakest: R, flat bands lacked energy; concentrate soft white light around the existing mentor signature, keep reading surfaces quiet. */
/* Hallmark · waive 7b · surface: absolute; brand white with navy ink · Medicare Mentors explicitly locks pure white for readable brand surfaces. */
/* Hallmark · exception 67 (Floor, not waived) · owner keeps uppercase Trusted since 2011 eyebrow; recorded as a remaining FAIL, not a pass. */

:root {
  /* Brand from medicarementors.com + logo: navy blue + crimson red */
  --color-paper: #F7F8FC;
  --color-paper-2: #EEF0F7;
  --color-paper-3: #ffffff;
  --color-ink: hsl(215 45% 16%);
  --color-ink-2: hsl(215 25% 32%);
  --color-muted: hsl(215 16% 42%);
  --color-rule: hsl(210 25% 84%);
  --color-rule-strong: hsl(210 20% 68%);
  --color-forest: #191A7E; /* navy (was forest) */
  --color-forest-2: #191A7E;
  --color-forest-deep: #191A7E;
  --color-accent: #E50A37; /* brand crimson */
  --color-accent-ink: #ffffff;
  --color-signal-ink: #E50A37;
  --color-focus: #E50A37;
  --color-on-dark: #FFFFFF;
  --color-on-dark-2: rgba(255,255,255,0.94);
  --color-on-dark-accent: #FFFFFF;
  --color-on-forest: #ffffff;
  --color-error: hsl(0 84% 45%);

  /* WSM energy: brand-composed gradients and transparent layers */
  --color-navy-deep: #0C1047;
  --color-crimson-deep: #940B2B;
  --color-crimson-shade: #B4082D;
  --color-clear: transparent;
  --color-figure-halo: rgba(255,255,255,0.40);
  --color-figure-halo-soft: rgba(255,255,255,0.17);
  --grad-figure-halo: radial-gradient(ellipse, var(--color-figure-halo), var(--color-figure-halo-soft) 38%, var(--color-clear) 70%);
  --color-orb: rgba(229,10,55,0.65);
  --color-orb-soft: rgba(229,10,55,0.28);
  --color-radial-navy: rgba(25,26,126,0.28);
  --color-radial-crimson: rgba(229,10,55,0.24);
  --color-cta-glow: rgba(229,10,55,0.38);
  --color-cta-glow-peak: rgba(229,10,55,0.56);
  --grad-hero-radial-a: radial-gradient(ellipse at 18% 25%, var(--color-radial-navy), var(--color-clear) 72%);
  --grad-hero-radial-b: radial-gradient(ellipse at 90% 60%, var(--color-radial-crimson), var(--color-clear) 70%);
  --shadow-cta-glow: 0 0 38px 8px var(--color-cta-glow);
  --shadow-cta-glow-peak: 0 0 58px 12px var(--color-cta-glow-peak);
  /* Light brand tints keep the animated title legible on the navy mesh. */
  --color-title-navy: #C7D7FF;
  --color-title-crimson: #FFBCCB;
  --grad-title: linear-gradient(110deg, var(--color-on-dark) 0%, var(--color-title-navy) 25%, var(--color-on-dark) 45%, var(--color-title-crimson) 65%, var(--color-on-dark) 85%);
  --grad-featured: linear-gradient(115deg, var(--color-forest) 10%, var(--color-accent) 40%, var(--color-title-crimson) 50%, var(--color-forest) 75%);
  --dur-mesh: 22s;
  --dur-flow: 7s;
  --text-eyebrow: 1rem;
  --heading-bar-width: 5rem;
  --dur-hero-arrive: 1000ms;
  --dur-hero-step: 140ms;
  --dur-cta-pulse: 2400ms;
  --color-white-wash: rgba(255,255,255,0.12);
  --color-white-sheen: rgba(255,255,255,0.06);
  --color-white-rule: rgba(255,255,255,0.3);
  --color-shadow: rgba(25,26,126,0.08);
  --color-shadow-raised: rgba(25,26,126,0.16);
  --grad-hero: linear-gradient(112deg, var(--color-forest) 0%, var(--color-navy-deep) 55%, var(--color-crimson-deep) 100%);
  --grad-cta: linear-gradient(110deg, var(--color-crimson-shade), var(--color-accent) 58%, var(--color-crimson-deep));
  --grad-accent-bar: linear-gradient(90deg, var(--color-forest), var(--color-accent) 72%, var(--color-crimson-shade));
  --grad-orb: radial-gradient(ellipse, var(--color-orb), var(--color-orb-soft) 38%, var(--color-clear) 70%);
  --grad-wash: radial-gradient(ellipse at 85% 15%, var(--color-white-wash), var(--color-clear) 65%);
  --grad-sheen: linear-gradient(110deg, var(--color-clear) 25%, var(--color-white-sheen) 50%, var(--color-clear) 75%);
  --grad-section: linear-gradient(135deg, var(--color-paper-3), var(--color-paper-2));
  --shadow-card: 0 8px 28px var(--color-shadow);
  --shadow-raised: 0 18px 42px var(--color-shadow-raised);
  --dur-reveal: 850ms;
  --dur-ambient: 4400ms;

  /* Live site faces: Public Sans + Source Sans 3 */
  --font-display: "Public Sans", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Source Sans 3", "Source Sans Pro", Verdana, ui-sans-serif, system-ui, sans-serif;

  --text-sm: 1rem;
  --text-md: 1.0625rem;
  --text-lg: clamp(1.0625rem, 0.3vw + 1rem, 1.25rem);
  --text-title: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  --text-quote: clamp(1.25rem, 0.6vw + 1rem, 1.5rem);
  --text-section: clamp(1.5rem, 1.2vw + 1rem, 2rem);
  --text-display: clamp(1.75rem, 1.6vw + 1rem, 2.375rem);
  --text-card: clamp(1.375rem, 0.85vw + 1rem, 1.625rem);
  --text-figure: clamp(1.5rem, 1.75vw + 0.75rem, 2.75rem);
  --tracking-display: -0.01em;

  /* Space */
  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 28px; --space-2xl: 48px; --space-3xl: 64px; --space-4xl: 88px;
  --container: 1360px; --gutter: 48px; --gap-columns: 32px;
  --section-gap-s: 40px; --section-gap: 56px; --section-gap-l: 72px;
  --control: 52px;
  --radius-control: 6px; --radius-card: 14px; --radius-pill: 999px;
  --rule-hair: 1px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-micro: 120ms; --dur-short: 220ms;
  --z-base: 1; --z-raised: 10; --z-skip: 600;
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scrollbar-color: var(--color-muted) var(--color-paper); scroll-padding-top: var(--space-lg); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-md); line-height: 1.6; caret-color: var(--color-accent); }
::selection { background: var(--color-paper-2); color: var(--color-ink); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: 600; font-synthesis: none; color: var(--color-forest-deep); letter-spacing: var(--tracking-display); overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
h1 { font-size: var(--text-display); line-height: 1.06; max-width: 20ch; }
h2 { font-size: var(--text-section); line-height: 1.1; max-width: 22ch; }
h3 { font-size: var(--text-title); line-height: 1.2; letter-spacing: 0; }
p { margin: 0; text-wrap: pretty; max-width: 62ch; }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; }
address { font-style: normal; }
strong { font-weight: 700; }
[hidden] { display: none !important; }
button, input, textarea { font: inherit; }
a { color: var(--color-forest); text-decoration-thickness: 1px; text-underline-offset: 0.18em; transition: color var(--dur-short) var(--ease-out); }
a:hover { color: var(--color-signal-ink); text-decoration-thickness: 2px; }
a:active { color: var(--color-ink); }

.skip { position: absolute; left: var(--space-md); top: var(--space-md); z-index: var(--z-skip); display: inline-flex; align-items: center; min-height: var(--control); padding-inline: var(--space-lg); background: var(--color-paper-3); color: var(--color-ink); font-weight: 700; border: var(--rule-hair) solid var(--color-ink); border-radius: var(--radius-control); transform: translateY(-300%); }
.skip:focus-visible { transform: none; }

.wrap { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xl); align-items: start; }

/* Site header */
.letterhead { border-bottom: 1px solid var(--color-rule); overflow: visible; }
.letterhead-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-lg); padding-block: var(--space-lg) var(--space-md); overflow: visible; }
.wordmark { display: inline-flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-md); min-width: 0; min-height: 48px; justify-content: flex-start; text-decoration: none; color: var(--color-forest-deep); }
.wordmark:hover { color: var(--color-forest-deep); }
.wordmark-logo { display: block; height: clamp(4.75rem, 2.1vw + 3.9rem, 6.5rem); width: auto; max-width: min(100%, 10rem); overflow: visible; object-fit: contain; object-position: center top; }
.wordmark-name { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.75rem, 1vw + 1.4rem, 2.25rem); line-height: 1.1; letter-spacing: var(--tracking-display); }
.wordmark-line { font-size: var(--text-sm); color: var(--color-ink-2); line-height: 1.3; max-width: 22ch; }
.letterhead-call { display: inline-flex; align-items: center; min-height: 48px; font-weight: 700; font-size: var(--text-md); white-space: nowrap; }
.header-actions { display: flex; align-items: center; gap: var(--space-lg); }
.mainnav { padding-block: var(--space-xs); }
.mainnav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0 var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); padding-top: var(--space-xs); }
.mainnav a { display: inline-flex; align-items: center; min-height: 48px; padding-inline: var(--space-2xs); color: var(--color-ink); text-decoration: none; font-size: var(--text-md); white-space: nowrap; }
.mainnav a:hover { color: var(--color-forest); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.35em; }
.mainnav a[aria-current="page"] { color: var(--color-forest-deep); font-weight: 700; text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; text-underline-offset: 0.35em; }

/* Hero content and supporting visual */
.opening { padding-block: var(--space-2xl) var(--space-lg); }
.opening + .section { padding-top: var(--space-2xl); }
.opening .letter { grid-column: 1 / span 7; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-lg); }
.opening .margin { grid-column: 8 / span 5; }
.opening.wide .letter { grid-column: 1 / span 9; }
.opening.portrait .letter { grid-column: 1 / span 6; }
.opening.portrait .margin { grid-column: 7 / span 6; }
.lead { font-size: var(--text-lg); line-height: 1.5; color: var(--color-ink); max-width: 34ch; }
.philosophy { font-family: var(--font-display); font-style: normal; font-size: var(--text-lg); line-height: 1.4; color: var(--color-forest-deep); max-width: 30ch; }
.reassure { font-size: var(--text-sm); color: var(--color-ink-2); }

/* Buttons: one filled recipe, one outlined */
.actions { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-md); align-items: center; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--control); padding-inline: var(--space-md); border: 2px solid var(--color-forest); border-radius: var(--radius-control); background: var(--color-forest); color: var(--color-on-forest); font: 700 var(--text-md)/1.2 var(--font-body); text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out); }
.button:hover { background: var(--color-forest-deep); border-color: var(--color-forest-deep); color: var(--color-on-forest); text-decoration: none; }
.button:active { transform: translateY(1px); }
.button:disabled { opacity: 0.6; cursor: not-allowed; transform: none; background: var(--color-muted); border-color: var(--color-muted); }
.button.outline { background: var(--color-paper-3); color: var(--color-forest); }
.button.outline:hover { background: var(--color-paper-2); color: var(--color-forest-deep); }

/* Client review cards */
.note { position: relative; margin: 0; padding: var(--space-lg); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule); border-top: 3px solid var(--color-accent); border-radius: var(--radius-card); }
.stars { display: block; color: var(--color-accent); font-size: var(--text-md); letter-spacing: 0.12em; line-height: 1; }
.note blockquote { margin: var(--space-md) 0 var(--space-lg); }
.note blockquote p { font-family: var(--font-display); font-style: normal; font-weight: 600; font-size: var(--text-quote); line-height: 1.32; color: var(--color-ink); max-width: none; }
.note figcaption { display: grid; gap: var(--space-3xs); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-ink-2); }
.note figcaption strong { font-family: var(--font-display); font-weight: 600; font-size: var(--text-title); color: var(--color-forest-deep); }

/* Sections */
.section { padding-block: var(--section-gap-s); }
.section + .section { padding-top: 0; }
.section.well { background: var(--color-paper-2); padding-block: var(--section-gap); }
.well + .section { padding-top: var(--section-gap); }
.section.ruled { border-top: var(--rule-hair) solid var(--color-rule); padding-top: var(--section-gap-s); }
.head { display: flex; flex-direction: column; gap: var(--space-md); }
.quiet { color: var(--color-ink-2); }
.note-small { font-size: var(--text-sm); color: var(--color-ink-2); }
main p:not([class]) > a { display: inline-block; padding-block: var(--space-sm); }
.text-link { display: inline-flex; align-items: center; min-height: 48px; font-weight: 700; }


/* Founders: the framed photograph */
.founders .head { grid-column: 1 / span 5; align-self: center; }
.founders .frame { grid-column: 7 / span 6; }
.frame { margin: 0; }
.frame-mat { overflow: hidden; border: 2px solid var(--color-accent); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.frame-mat img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.frame figcaption { margin-top: var(--space-md); font-family: var(--font-display); font-style: normal; font-size: var(--text-sm); color: var(--color-ink-2); }
.pull { font-family: var(--font-display); font-weight: 600; font-size: var(--text-quote); line-height: 1.25; color: var(--color-crimson-shade); max-width: 20ch; }

/* Rows: a heading block beside a ruled list */
.rows .head { grid-column: 1 / span 4; }
.rows .row-list { grid-column: 6 / span 7; list-style: none; border-top: var(--rule-hair) solid var(--color-rule-strong); }
.row-list li { display: flex; flex-direction: column; gap: var(--space-sm); padding-block: var(--space-lg); border-bottom: var(--rule-hair) solid var(--color-rule); }
.row-list .text-link { align-self: flex-start; }
.rows .after { grid-column: 6 / span 7; }

/* Closing call to action */
.signoff-band { border-top: 1px solid var(--color-rule); padding-block: var(--section-gap-s); }
.signoff-band h2 { grid-column: 1 / span 6; }
.signoff-band .body { grid-column: 8 / span 5; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-lg); }

/* Slips: notices that set the terms */
.slip { padding: var(--space-lg) var(--space-lg); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule-strong); border-radius: var(--radius-card); display: flex; flex-direction: column; gap: var(--space-xs); }
.slip strong { font-family: var(--font-display); font-weight: 600; font-size: var(--text-title); line-height: 1.25; color: var(--color-signal-ink); }

/* Educational workshop cards */
.invites { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-columns); }
.invitation { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-md); padding: var(--space-lg); background: var(--color-paper-3); border: 1px solid var(--color-rule); border-radius: var(--radius-card); }
.invitation-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); font-size: var(--text-sm); color: var(--color-ink-2); }
.tag { display: inline-flex; align-items: center; padding: var(--space-2xs) var(--space-sm); border: var(--rule-hair) solid var(--color-signal-ink); border-radius: var(--radius-control); color: var(--color-signal-ink); font-weight: 700; font-size: var(--text-sm); }
.details { margin: 0; width: 100%; border-top: var(--rule-hair) solid var(--color-rule); }
.details div { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: var(--space-xs) var(--space-lg); padding-block: var(--space-sm); border-bottom: var(--rule-hair) solid var(--color-rule); }
.details dt { font-weight: 700; font-size: var(--text-sm); color: var(--color-ink-2); }
.details dd { margin: 0; font-size: var(--text-sm); }

/* Demo forms: intentionally disconnected */
.form-side .head { grid-column: 1 / span 5; position: sticky; top: var(--space-xl); }
.form-side .reply-card { grid-column: 7 / span 6; }
.reply-card { display: flex; flex-direction: column; gap: var(--space-lg); padding: var(--space-lg); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule-strong); border-radius: var(--radius-card); }
.demo-flag { display: flex; flex-direction: column; gap: var(--space-xs); padding-bottom: var(--space-lg); border-bottom: 1px solid var(--color-rule); }
.demo-flag strong { font-family: var(--font-display); font-weight: 600; font-size: var(--text-title); color: var(--color-signal-ink); }
.demo-flag p, .reply-card .note-small { font-size: var(--text-sm); }
.field { display: flex; flex-direction: column; gap: var(--space-xs); margin: 0; padding: 0; border: 0; min-width: 0; }
.field > label:not(.check), .field > legend { font-weight: 700; font-size: var(--text-md); padding: 0; }
.field label span { font-weight: 400; color: var(--color-ink-2); }
.field input, .field textarea { width: 100%; height: var(--control); padding: 0 var(--space-md); background: var(--color-paper-3); color: var(--color-ink); border: 2px solid var(--color-muted); border-radius: var(--radius-control); font-size: var(--text-md); outline: 3px solid var(--color-clear); outline-offset: 2px; }
.field textarea { height: auto; min-height: 8rem; padding: var(--space-sm) var(--space-md); resize: vertical; line-height: 1.5; }
.field input:hover, .field textarea:hover { border-color: var(--color-ink-2); }
.field input:focus-visible, .field textarea:focus-visible { outline-color: var(--color-focus); }
.field input:user-invalid, .field textarea:user-invalid { border-color: var(--color-error); }
.field input:disabled, .field textarea:disabled { opacity: 0.6; cursor: not-allowed; }
.field input[type="number"] { max-width: 8rem; -moz-appearance: textfield; appearance: textfield; }
.field input[type="number"]::-webkit-inner-spin-button, .field input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.hint { font-size: var(--text-sm); color: var(--color-ink-2); min-height: 1lh; }
.choices { gap: var(--space-sm); }
.check { display: flex; align-items: flex-start; gap: var(--space-md); min-height: 48px; padding: var(--space-sm) var(--space-md); border: 2px solid var(--color-muted); border-radius: var(--radius-control); background: var(--color-paper-3); font-weight: 400; cursor: pointer; }
.check:hover { border-color: var(--color-ink-2); }
.check:has(input:checked) { border-color: var(--color-forest); background: var(--color-paper-2); }
.check input { flex-shrink: 0; width: 24px; height: 24px; margin: var(--space-2xs) 0 0; accent-color: var(--color-forest); cursor: pointer; }
.check input:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.form-status { padding: var(--space-md) var(--space-lg); background: var(--color-paper-2); border: 2px solid var(--color-forest); border-radius: var(--radius-control); font-weight: 700; }
.form-status:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.reply-card .button { align-self: flex-start; }

/* Booking: calling cards */
.cards { grid-column: 1 / -1; list-style: none; display: flex; flex-direction: column; gap: var(--space-lg); }
.calling-card { display: grid; grid-template-columns: 6rem minmax(0, 1fr) auto; gap: var(--space-lg) var(--space-xl); align-items: center; padding: var(--space-lg); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule-strong); border-radius: var(--radius-card); }
.monogram { display: inline-flex; align-items: center; justify-content: center; width: 6rem; height: 6rem; border: 2px solid var(--color-accent); border-radius: var(--radius-pill); font-family: var(--font-display); font-style: normal; font-size: var(--text-title); color: var(--color-signal-ink); }
.calling-card h2, .invitation h2 { font-size: var(--text-card); max-width: 18ch; }
.card-body { display: flex; flex-direction: column; gap: var(--space-xs); }
.role { font-size: var(--text-sm); color: var(--color-ink-2); }
.card-action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-xs); }

/* About: the services, set as a list */
.services .head { grid-column: 1 / span 5; }
.services .service-list { grid-column: 7 / span 6; list-style: none; columns: 2; column-gap: var(--gap-columns); }
.service-list li { break-inside: avoid; padding-block: var(--space-sm); border-bottom: var(--rule-hair) solid var(--color-rule); font-family: var(--font-display); font-size: var(--text-title); line-height: 1.3; color: var(--color-forest-deep); }
.services .after { grid-column: 7 / span 6; }
.story .pull-col { grid-column: 1 / span 5; }
.story .head { grid-column: 7 / span 6; }

/* Contact */
.opening .contact-call { grid-column: 7 / span 6; }
.phone-figure { display: flex; flex-direction: column; gap: var(--space-sm); }
.big-phone { display: inline-flex; align-items: center; min-height: 48px; font-family: var(--font-display); font-weight: 600; font-size: var(--text-figure); line-height: 1.05; letter-spacing: var(--tracking-display); font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--color-forest-deep); }
.big-phone:hover { color: var(--color-signal-ink); }
.pair { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-columns); }
.pair > div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-md); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule-strong); }
.pair address { font-size: var(--text-lg); line-height: 1.5; }

/* Footer: a navy panel */
.site-footer { background: var(--color-forest-deep); color: var(--color-on-dark); padding-block: var(--space-3xl) var(--space-xl); }
.site-footer a { color: var(--color-on-dark); }
.site-footer a:hover { color: var(--color-on-dark-accent); }
.site-footer :focus-visible { outline-color: var(--color-on-dark-accent); }
/* Cinzel-path stacked footer lockup: navy paths on a light paper chip. */
.footer-logo { display: inline-flex; align-items: center; max-width: 100%; padding: var(--space-sm) var(--space-md); background: var(--color-paper-3); border-radius: var(--radius-card); text-decoration: none; overflow: visible; }
.footer-logo img { display: block; height: clamp(4.75rem, 2vw + 3.6rem, 6.25rem); width: auto; max-width: min(100%, 9rem); overflow: visible; object-fit: contain; object-position: center top; }
.footer-mark { /* retained for any residual text marks */ font-family: var(--font-display); font-weight: 600; font-size: var(--text-section); line-height: 1.1; letter-spacing: var(--tracking-display); color: var(--color-on-dark); }

.footer-motto { margin-top: var(--space-md); font-family: var(--font-display); font-style: normal; font-size: var(--text-lg); color: var(--color-on-dark-2); max-width: 26ch; }
.footer-brand { grid-column: 1 / span 4; }
.footer-local { margin-top: var(--space-lg); color: var(--color-on-dark-2); }
.footer-visit { grid-column: 6 / span 4; display: flex; flex-direction: column; gap: var(--space-xs); }
.footer-nav { grid-column: 10 / span 3; }
.site-footer > .wrap > .grid { row-gap: var(--space-2xl); }
.footer-label { font-size: var(--text-sm); font-weight: 700; color: var(--color-on-dark-accent); }
.footer-phone { display: inline-flex; align-items: center; min-height: 48px; font-size: var(--text-lg); font-weight: 700; white-space: nowrap; }
.site-footer address, .footer-visit p { color: var(--color-on-dark-2); }
.footer-nav ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-lg); margin-top: var(--space-xs); }
.footer-nav a { display: inline-flex; align-items: center; min-height: 48px; }
.legal { margin-top: var(--space-2xl); padding-top: var(--space-xl); border-top: var(--rule-hair) solid var(--color-forest); display: flex; flex-direction: column; gap: var(--space-md); }
.legal p { font-size: var(--text-sm); color: var(--color-on-dark-2); max-width: 75ch; }
.legal .disclaimer { font-size: var(--text-md); color: var(--color-on-dark); max-width: none; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-xl); margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-on-dark-2); }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 48px; }
.draft { padding: var(--space-2xs) var(--space-sm); border: var(--rule-hair) solid var(--color-on-dark-2); border-radius: var(--radius-control); }

/* Narrower screens: one column, the margin under the letter */
@media (max-width: 60rem) {
  :root { --gutter: 24px; --gap-columns: 24px; --section-gap-s: 40px; --section-gap: 48px; }
  .grid > *, .opening .letter, .opening .margin, .opening .contact-call, .opening.wide .letter, .opening.portrait .letter, .opening.portrait .margin,
  .founders .head, .founders .frame, .rows .head, .rows .row-list, .rows .after,
  .signoff-band h2, .signoff-band .body, .form-side .head, .form-side .reply-card,
  .services .head, .services .service-list, .services .after, .story .pull-col, .story .head,
  .footer-brand, .footer-visit, .footer-nav { grid-column: 1 / -1; }
  .opening { padding-block: var(--space-2xl) var(--space-lg); }
  .opening + .section { padding-top: var(--space-2xl); }
  .form-side .head { position: static; }
  .invites, .pair { grid-template-columns: minmax(0, 1fr); }
  .calling-card { grid-template-columns: 5rem minmax(0, 1fr); }
  .monogram { width: 5rem; height: 5rem; }
  .card-action { grid-column: 1 / -1; }
}
@media (max-width: 40rem) {
  :root { --gutter: 20px; --section-gap-s: 36px; --section-gap: 48px; }
  .note, .invitation, .reply-card, .calling-card { padding: var(--space-lg); }
  .calling-card { grid-template-columns: minmax(0, 1fr); }
  .services .service-list { columns: 1; }
  .details div { grid-template-columns: minmax(0, 1fr); }
  .actions { flex-direction: column; align-items: stretch; width: 100%; }
  .actions .button { width: 100%; }
  .opening .letter { gap: var(--space-md); }
  .opening > .grid { row-gap: var(--space-md); }
  .wordmark-name { font-size: var(--text-title); }
  .mainnav ul { gap: 0 var(--space-md); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  .button:active { transform: none; }
}


/* Consolidated visitor paths and advisor introductions */
.cards-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); margin-top: var(--space-xl); }
.choice-card, .advisor-card { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-md); background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule); border-top: 3px solid var(--color-accent); border-radius: var(--radius-card); }
/* Path cards: same full navy→crimson gradient border on all three (was featured-only). */
.choice-card { border: 2px solid var(--color-clear); background: linear-gradient(var(--color-paper-3), var(--color-paper-3)) padding-box, var(--grad-featured) border-box; background-size: 100% 100%, 300% 100%; }
.choice-card::before { content: none; }
.choice-card .text-link, .advisor-card .text-link { margin-top: auto; align-self: flex-start; }
.legal .disclaimer { padding: var(--space-lg); border: var(--rule-hair) solid var(--color-on-dark-2); border-left: 4px solid var(--color-on-dark-accent); }
.legal .disclaimer strong { display: block; margin-bottom: var(--space-xs); }
@media (max-width: 60rem) {
  .cards-3 { grid-template-columns: minmax(0, 1fr); }
}


/* Mentor figures draw-on sting (hero) */
.opening .margin {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xl);
}
.hero-figures {
  position: relative;
  width: min(420px, 100%);
  aspect-ratio: 1;
  margin-inline: auto;
  flex-shrink: 0;
}
.hero-figures img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#mm-figures-end { opacity: 0; transition: opacity 420ms cubic-bezier(.33,0,.2,1); }
#mm-figures-end.is-settled { opacity: 1; }
html[data-motion-paused] #mm-figures-end { opacity: 1; transition: none; }
#mm-figures-anim { z-index: 1; opacity: 1; transition: opacity 420ms cubic-bezier(.33,0,.2,1); }
#mm-figures-anim.is-settling { opacity: 0; pointer-events: none; }
#mm-figures-anim[hidden] { display: none; }
html[data-motion-paused] #mm-figures-anim { display: none; }
@media (prefers-reduced-motion: reduce) {
  #mm-figures-anim { display: none; }
  #mm-figures-end { opacity: 1; transition: none; }
}
@media (max-width: 60rem) {
  .hero-figures { width: min(340px, 100%); }
}

@media (max-width: 40rem) { .hero-figures { width: min(300px, 100%); } }

/* Approved WSM mash: luminous brand bands, readable sans type, quiet reading surfaces. */
.letterhead { background: var(--color-paper-3); border-bottom: 1px solid var(--color-rule); }
h1, h2, h3 { font-weight: 700; }
.opening { position: relative; isolation: isolate; overflow: hidden; background: var(--color-navy-deep); color: var(--color-paper-3); }
.opening > .grid { position: relative; z-index: var(--z-base); }
.opening::before { content: ""; position: absolute; inset: 0; background: var(--grad-hero-radial-a); pointer-events: none; }
.opening::after { content: ""; position: absolute; inset: 0; background: var(--grad-hero-radial-b); pointer-events: none; }
.opening .grid { align-items: center; }
.hero-title { background-image: var(--grad-title); background-size: 300% 100%; background-clip: text; -webkit-background-clip: text; color: var(--color-title-navy); -webkit-text-fill-color: transparent; }
.hero-atmosphere { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.hero-atmosphere::before, .hero-atmosphere::after { content: ""; position: absolute; width: 28rem; aspect-ratio: 1; border-radius: 50%; background: var(--grad-orb); opacity: 0.55; }
.hero-atmosphere::before { top: -18rem; left: -8rem; }
.hero-atmosphere::after { right: -14rem; bottom: -18rem; }
.motion-toggle { display: none; position: relative; z-index: var(--z-base); margin: var(--space-md) var(--gutter) 0 auto; min-height: 48px; padding: var(--space-xs) var(--space-md); border: var(--rule-hair) solid var(--color-white-rule); border-radius: var(--radius-control); background: var(--color-navy-deep); color: var(--color-on-dark); font: inherit; font-size: var(--text-sm); cursor: pointer; }
.motion-toggle:hover, .motion-toggle:focus-visible { border-color: var(--color-on-dark); }
.opening h1, .opening .lead, .opening .big-phone { color: var(--color-paper-3); }
.opening .philosophy, .opening .reassure, .opening .phone-figure > p,
.opening .frame figcaption { color: var(--color-on-dark-2); }
.opening .lead { font-weight: 600; }
.opening .slip { color: var(--color-ink); }
.eyebrow { font: 700 var(--text-eyebrow)/1.4 var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; }
.hero-figures { isolation: isolate; }
.hero-figures::before { content: ""; position: absolute; inset: -26%; z-index: -1; border-radius: 50%; background: var(--grad-figure-halo); pointer-events: none; }
.button { position: relative; isolation: isolate; overflow: hidden; background: var(--grad-cta); border-color: var(--color-accent); color: var(--color-paper-3); }
.button::after { content: ""; position: absolute; inset: 0; background: var(--grad-sheen); opacity: 0; pointer-events: none; }
.button:hover::after, .button:focus-visible::after { opacity: 1; }
.button:hover, .button:focus-visible { background: var(--grad-cta); border-color: var(--color-crimson-deep); color: var(--color-paper-3); }
.button.outline { background: var(--color-clear); border-color: var(--color-forest); color: var(--color-forest); }
.opening .button.outline, .site-footer .button.outline { color: var(--color-paper-3); border-color: var(--color-paper-3); }
.button.outline:hover, .button.outline:focus-visible { background: var(--color-paper-2); color: var(--color-forest); }
.opening .button.outline:hover, .opening .button.outline:focus-visible, .site-footer .button.outline:hover, .site-footer .button.outline:focus-visible { background: var(--color-paper-3); border-color: var(--color-paper-3); color: var(--color-forest); }
.note, .choice-card, .invitation, .calling-card, .reply-card, .advisor-card { box-shadow: var(--shadow-card); }
.review-grid .note { grid-column: auto; }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--gap-columns); margin-top: var(--space-xl); }
.section.founders { background: var(--grad-hero); color: var(--color-paper-3); }
.founders h2, .founders .pull, .founders .text-link, .founders .frame figcaption { color: var(--color-paper-3); }
.founder-names { color: var(--color-on-dark); font-weight: 700; text-decoration: underline; text-decoration-color: var(--color-accent); text-underline-offset: 0.2em; }
.founders .frame figcaption { border-left: 3px solid var(--color-accent); padding-left: var(--space-sm); }
.legal { border-top-color: var(--color-white-rule); }
@media (max-width: 60rem) { .review-grid { grid-template-columns: minmax(0,1fr); } }

/* Short section signatures, not full-width dividers. */
.words h2::after, .paths h2::after, .founders h2::after {
  content: ""; display: block; width: var(--heading-bar-width); height: var(--space-2xs);
  margin-top: var(--space-md); background: var(--grad-accent-bar);
}
.paths h2::after { width: 3.5rem; height: 3px; margin-top: var(--space-sm); }
.button--glow { box-shadow: var(--shadow-cta-glow); }
.button--glow:hover, .button--glow:focus-visible { box-shadow: var(--shadow-cta-glow-peak); }

/* Accents share one direction; content remains visible without JavaScript. */
.note, .choice-card, .invitation, .calling-card, .advisor-card { position: relative; }
.note::before, .invitation::before, .calling-card::before, .advisor-card::before {
  content: ""; position: absolute; top: 0; left: var(--space-lg); right: var(--space-lg);
  height: 3px; background: var(--grad-accent-bar); pointer-events: none;
}
/* Path cards share one gradient border; no extra top hairline / featured-only bar. */
.choice-card::before, .choice-card--featured::before { content: none; }
.choice-card--featured { /* class retained for entrance gradient-flow animation */ }
.section.well:not(.founders) { background: var(--grad-section); }
.signoff-band { border-image: var(--grad-accent-bar) 1; border-top-width: 3px; }
.site-footer { background: var(--grad-hero); }

@media (prefers-reduced-motion: no-preference) {
  .motion-toggle:not([hidden]) { display: block; }
  .opening:has(.hero-atmosphere)::before, .opening:has(.hero-atmosphere)::after { inset: -12%; animation: mesh-shift var(--dur-mesh) ease-in-out both; }
  .opening:has(.hero-atmosphere)::after { animation-direction: reverse; }
  .hero-title { animation: gradient-flow var(--dur-flow) ease-in-out 3; }
  .hero-atmosphere::before, .hero-atmosphere::after { animation: corner-pulse var(--dur-ambient) ease-in-out 2; }
  .hero-atmosphere::after { animation-delay: var(--dur-hero-step); }
  .is-inview .choice-card--featured { animation: gradient-flow var(--dur-flow) ease-in-out; }
  [data-motion-paused] *, [data-motion-paused] *::before, [data-motion-paused] *::after { animation-play-state: paused !important; }

  .opening .letter > :where(.eyebrow, h1, .lead, .actions) {
    animation: hero-arrive var(--dur-hero-arrive) var(--ease-out) both;
  }
  .opening .letter > h1 { animation-delay: var(--dur-hero-step); }
  .opening .letter > .lead { animation-delay: calc(var(--dur-hero-step) * 2); }
  .opening .letter > .actions { animation-delay: calc(var(--dur-hero-step) * 3); }
  .button--glow { animation: cta-glow var(--dur-cta-pulse) ease-in-out 2; animation-delay: calc(var(--dur-hero-step) * 3); }
  .hero-figures::before { animation: mentor-bloom var(--dur-ambient) ease-in-out 2 alternate; }
  .note, .choice-card, .invitation, .calling-card, .advisor-card {
    transition: transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);
  }
  .button::after { transform: translateX(-100%); transition: transform var(--dur-reveal) var(--ease-out), opacity var(--dur-short) var(--ease-out); }
  .button:hover::after, .button:focus-visible::after { transform: translateX(100%); }
  .button:hover, .button:focus-visible { transform: translateY(-2px); }
  .button:active { transform: translateY(1px); }
  .is-inview { animation: section-arrive var(--dur-reveal) var(--ease-out) both; }
  @media (hover: hover) {
    .note:hover, .choice-card:hover, .invitation:hover, .calling-card:hover, .advisor-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-raised); }
  }
  .choice-card:focus-within, .invitation:focus-within, .calling-card:focus-within, .advisor-card:focus-within { transform: translateY(-6px); box-shadow: var(--shadow-raised); }
}
@keyframes hero-arrive { from { opacity: 0.35; transform: translateY(var(--space-xs)); } to { opacity: 1; transform: none; } }
@keyframes cta-glow { 0%, 100% { box-shadow: var(--shadow-cta-glow); } 50% { box-shadow: var(--shadow-cta-glow-peak); } }
@keyframes mentor-bloom { from { transform: scale(0.97); opacity: 0.75; } to { transform: scale(1.03); opacity: 0.95; } }
@keyframes section-arrive { from { opacity: 0.6; transform: translateY(var(--space-xs)); } to { opacity: 1; transform: none; } }

@keyframes mesh-shift { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(6%, -4%) scale(1.08); } }
@keyframes gradient-flow { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes corner-pulse { 0%, 100% { opacity: 0.45; transform: scale(1); } 50% { opacity: 0.65; transform: scale(1.07); } }
@media (forced-colors: active) { .hero-title { background: none; -webkit-text-fill-color: currentColor; } }

/* Layout pass: clearer groups without changing the v2 identity. */
.approach { background: var(--grad-section); padding-block: var(--space-xl); }
.approach-intro { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xl); }
.approach-intro .head { max-width: 42rem; }
.approach-intro > .text-link { flex-shrink: 0; }
.section.paths { padding-bottom: var(--space-md); }
.section.paths + .approach { padding-top: var(--space-lg); }
.cards-3 { align-items: stretch; }
.choice-card { height: 100%; min-height: 100%; }
.approach-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); list-style: none; margin: var(--space-md) 0 0; padding: var(--space-md) 0 0; border-top: none; }
.approach-steps li { display: grid; align-content: start; gap: var(--space-sm); min-width: 0; }
.approach-steps h3 { font-size: var(--text-title); }
@media (max-width: 75rem) {
  .header-actions { gap: var(--space-md); }
  .wordmark-line { max-width: 32ch; }
}
@media (max-width: 60rem) {
  .letterhead-row { align-items: flex-start; }
  .header-actions { flex-direction: column; align-items: flex-end; gap: var(--space-xs); }
  .mainnav ul { justify-content: space-between; gap: 0 var(--space-md); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-visit { grid-column: 1 / span 6; }
  .footer-nav { grid-column: 8 / span 5; }
  .approach-intro { align-items: flex-start; flex-direction: column; gap: var(--space-sm); }
}
@media (max-width: 40rem) {
  .letterhead-row { flex-direction: column; gap: var(--space-xs); padding-block: var(--space-sm) var(--space-xs); }
  .mainnav { padding-block: var(--space-2xs); }
  .mainnav ul { padding-top: var(--space-2xs); }
  .wordmark-line { max-width: none; }
  .header-actions { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-sm); }
  .header-book { font-size: var(--text-sm); padding-inline: var(--space-sm); }
  .letterhead-call { white-space: nowrap; line-height: 1.3; }
  .mainnav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-xs); }
  .mainnav a { width: 100%; }
  .footer-visit, .footer-nav { grid-column: 1 / -1; }
  .footer-bottom { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-md); }
  .footer-bottom > :first-child { grid-column: 1 / -1; }
  .draft { justify-self: start; }
  .approach-steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
}

@media (max-width: 22rem) {
  .header-actions { flex-direction: column; align-items: stretch; gap: var(--space-xs); }
  .letterhead-call { justify-content: center; }
}

/* Layout pass 2: a full-width navigation tier and spacious centered footer. */
.letterhead { box-shadow: var(--shadow-card); }
.letterhead-row { flex-wrap: nowrap; padding-block: var(--space-lg); gap: var(--space-lg); align-items: center; }
.wordmark-logo { max-height: 6.5rem; max-width: min(100%, 10rem); }
.wordmark-line { font-size: var(--text-sm); margin-top: 0; max-width: 26ch; padding-left: var(--space-md); border-left: var(--rule-hair) solid var(--color-rule); }
.header-actions { flex-direction: row; align-items: center; gap: var(--space-lg); padding: var(--space-sm) var(--space-md); background: var(--color-paper-2); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card); flex-shrink: 0; }
.navigation-tier { background: var(--color-paper-2); }
.mainnav { padding-block: var(--space-xs); }
.mainnav ul { display: flex; justify-content: center; gap: var(--space-xs) var(--space-2xl); border: 0; padding: 0; }
.mainnav a { justify-content: center; padding-inline: var(--space-md); }
.site-footer { padding-block: var(--space-2xl) var(--space-xl); }
.site-footer > .wrap > .footer-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3xl); max-width: 68rem; margin-inline: auto; }
.footer-columns > * { grid-column: auto; }
.footer-visit { gap: var(--space-lg); }
.footer-nav ul { margin-top: var(--space-lg); gap: var(--space-sm) var(--space-lg); }
.footer-local { margin-top: var(--space-xl); }
.legal { margin-top: var(--space-2xl); padding-top: var(--space-lg); gap: var(--space-md); text-align: center; }
.legal p, .legal .disclaimer { max-width: 75ch; margin-inline: auto; }
.footer-bottom { display: flex; justify-content: center; gap: var(--space-md) var(--space-xl); margin-top: var(--space-lg); }
@media (max-width: 60rem) {
  .letterhead-row { flex-direction: column; gap: var(--space-sm); padding-block: var(--space-sm); }
  .wordmark-logo { height: 4rem; }
  .wordmark { align-items: center; justify-content: center; text-align: left; }
  .wordmark-line { border-left-color: var(--color-rule); text-align: left; }
  .site-footer > .wrap > .footer-columns { grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl); text-align: center; }
  .footer-motto { margin-inline: auto; }
  .footer-visit { align-items: center; }
  .footer-brand { display: flex; flex-direction: column; align-items: center; }
  .footer-nav ul { width: min(24rem, 100%); margin-inline: auto; }
  .footer-nav a { justify-content: center; }
}
@media (max-width: 40rem) {
  .letterhead-row { padding-block: var(--space-2xs); gap: var(--space-2xs); }
  .wordmark { flex-direction: column; gap: var(--space-xs); text-align: center; }
  .wordmark-logo { height: 3.35rem; }
  .wordmark-line { padding-left: 0; border-left: 0; text-align: center; max-width: 32ch; }
  .header-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); padding: var(--space-xs); }
  .header-actions a { justify-content: center; font-size: var(--text-sm); padding-inline: var(--space-xs); }
  .mainnav { padding-block: var(--space-2xs); }
  .mainnav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--space-sm); }
  .mainnav a { width: 100%; padding-inline: var(--space-xs); }
  .site-footer { padding-block: var(--space-2xl) var(--space-xl); }
  .footer-bottom { flex-direction: column; }
  .draft { align-self: center; }
}

/* Illustrative photography stays separate from founders and client reviews. */
.everyday-photo { margin-block: 0 var(--space-2xl); }
.everyday-photo img { display: block; width: 100%; height: auto; max-height: 36rem; object-fit: cover; object-position: center top; border-radius: var(--radius-card); }
.everyday-photo figcaption { margin-top: var(--space-sm); color: var(--color-muted); font-size: var(--text-sm); text-align: right; }
.everyday-photo a { text-decoration: underline; text-underline-offset: 0.2em; }
@media (max-width: 40rem) {
  .everyday-photo figcaption { text-align: center; }
}

/* Google reviews: a quiet, continuous band below the hero. */
.words {
  --color-star-gold: #F4B400;
  --color-review-glass: rgba(255, 255, 255, 0.86);
  --radius-review: 1.25rem;
  --review-gap: 1rem;
}
.section.words {
  padding-block: var(--space-lg);
  background: var(--color-paper);
}
.words .head { flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-md); margin-bottom: var(--space-sm); }
.words .head h2 { max-width: none; font-size: 1.5rem; }
.words .head .text-link { margin-left: auto; }
.words h2::after { display: none; }
.words .head .quiet { margin-bottom: 0; }
.review-ticker { overflow: hidden; padding-block: var(--space-xs); }
.review-ticker:focus-visible { outline: 3px solid var(--color-focus); outline-offset: -3px; }
.review-ticker-track, .review-ticker-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--review-gap);
  justify-content: center;
  align-items: center;
}
.review-ticker-group { padding-inline: var(--space-md); }
.review-pill {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  width: min(48rem, calc(100vw - 2rem));
  max-width: 100%;
  min-height: 6rem;
  margin: 0;
  padding: 1rem 1.5rem;
  background: var(--color-review-glass);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-review);
  box-shadow: 0 2px 8px var(--color-shadow);
  backdrop-filter: blur(8px);
}
.review-stars { color: var(--color-star-gold); letter-spacing: 0.08em; font-size: 1.125rem; }
.review-pill blockquote {
  flex: 1 1 18rem;
  min-width: 0;
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-ink-2);
  white-space: normal;
  overflow-wrap: anywhere;
}
.review-pill figcaption { flex: 0 1 12rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 1rem; }
.review-author { font-size: 1rem; font-weight: 600; color: var(--color-ink-2); overflow-wrap: anywhere; }
.review-source { font-size: 0.6875rem; letter-spacing: 0.06em; color: var(--color-muted); }
/* Static/reduced-motion presentation is deliberately bounded to three quotes. */
.review-ticker-group[aria-hidden="true"], .review-ticker-group > :nth-child(n+4) { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .review-ticker.is-loaded .review-ticker-track {
    width: max-content;
    flex-wrap: nowrap;
    gap: 0;
    animation: review-ticker var(--ticker-duration) linear infinite;
  }
  .review-ticker.is-loaded .review-ticker-group {
    display: flex;
    flex-wrap: nowrap;
    padding: 0 var(--review-gap) 0 0;
  }
  .review-ticker.is-loaded .review-pill { display: flex; flex-shrink: 0; }
  .review-ticker:hover .review-ticker-track,
  .review-ticker:focus-within .review-ticker-track,
  html[data-motion-paused] .review-ticker-track { animation-play-state: paused; }
}
@keyframes review-ticker { to { transform: translateX(-50%); } }

/* Career page */
.check-list { list-style: none; margin: var(--space-md) 0 0; padding: 0; display: grid; gap: var(--space-xs); }
.check-list li { padding-left: 1.6rem; position: relative; }
.check-list li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 0.7rem; height: 0.35rem; border-left: 3px solid var(--color-accent); border-bottom: 3px solid var(--color-accent); transform: rotate(-45deg); }
.check-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-columns); margin-top: var(--space-xl); }
.step-list { margin: var(--space-xl) 0 0; padding-left: 1.5rem; display: grid; gap: var(--space-md); }
.step-list li::marker { font-family: var(--font-display); font-weight: 700; color: var(--color-accent); }
.step-list h3 { margin-bottom: var(--space-xs); }
.agent-quote { margin: 0; padding-left: var(--space-md); border-left: 4px solid var(--color-title-crimson); font-family: var(--font-display); font-weight: 600; }
.faq { display: grid; gap: var(--space-sm); margin-top: var(--space-lg); max-width: 56rem; }
.faq details { background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule); border-radius: 14px; padding: 0 var(--space-md); }
.faq summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; font-weight: 700; padding-block: var(--space-sm); }
.faq summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.faq details p { padding-bottom: var(--space-md); }
figure.advisor-card { margin: 0; }
figure.advisor-card blockquote { margin: 0; }
figure.advisor-card figcaption { margin-top: auto; font-size: var(--text-sm); color: var(--color-ink-2); }
.founders .head .button { align-self: flex-start; }
@media (max-width: 1024px) { .check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .check-grid { grid-template-columns: minmax(0, 1fr); } }
/* Keep links inside running career copy in the text flow (overrides the block-link tap padding). */
main .step-list p > a, main .head p > a, main .faq p > a { display: inline; padding-block: 0; }
main .note-small > a { display: inline; padding-block: 0; }
