@font-face {
  font-family: 'Brygada 1918';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('/assets/fonts/brygada-1918-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Brygada 1918';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('/assets/fonts/brygada-1918-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: 'Brygada 1918';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url('/assets/fonts/brygada-1918-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Brygada 1918';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url('/assets/fonts/brygada-1918-normal-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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/hanken-grotesk-normal-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/hanken-grotesk-normal-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;
}

/* MentalCare V1.1. Shared design tokens for the future component implementation. */
:root {
  --color-cream: #fbf8f4;
  --color-sand: #f2ece3;
  --color-lavender: #eee8ed;
  --color-peach: #f5ded7;
  --color-yellow: #f7e8c7;
  --color-navy: #1c2c44;
  --color-night: #0e1726;
  --color-muted: #526074;
  --color-coral: #ff6b61;
  --color-coral-hover: #ff8a82;
  --color-rust: #a83c34;
  --color-line: #ded6cb;
  --color-frame: #cbbfae;
  --color-field: #8a7e6e;
  --color-pale-coral: #ffb7b1;
  --color-pale-text: #e3e7ec;
  --color-white: #ffffff;
  --color-success: #315e49;
  --font-sans: 'Hanken Grotesk', system-ui, sans-serif;
  --font-serif: 'Brygada 1918', Georgia, serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --text-eyebrow: 0.75rem;
  --text-small: 0.8125rem;
  --text-meta: 0.875rem;
  --text-control: 0.9375rem;
  --text-body: 1rem;
  --text-reading: 1.0625rem;
  --text-h1: clamp(2.75rem, 5.4vw, 4.75rem);
  --text-h2: clamp(2.125rem, 4vw, 3.375rem);
  --text-h3: clamp(1.5rem, 2.4vw, 1.875rem);
  --leading-body: 1.65;
  --leading-heading: 1.12;
  --tracking-heading: -0.025em;
  --tracking-eyebrow: 0.1em;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-7: 56px;
  --space-8: 64px;
  --space-9: 72px;
  --space-10: 80px;
  --space-11: 88px;
  --space-12: 96px;
  --space-13: 104px;
  --space-14: 112px;
  --space-15: 120px;
  --radius-small: 8px;
  --radius-card-mobile: 16px;
  --radius-card: 24px;
  --radius-pill: 999px;
  --shadow-card: 0 18px 40px rgba(28, 44, 68, 0.08);
  --shadow-seal: 0 18px 44px -24px rgba(28, 44, 68, 0.45);
  --width-content: 1160px;
  --width-wide: 1280px;
  --width-reading: 36rem;
  --duration-fast: 180ms;
  --duration-calm: 240ms;
  --ease-calm: cubic-bezier(.22, 1, .36, 1);
  --ease-draw: cubic-bezier(.65, 0, .35, 1);
}
@media (min-width: 650px) {
  :root { --text-body: 1.0625rem; }
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; scroll-padding-block: var(--space-3); -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--color-navy); background: var(--color-cream); font: 400 var(--text-body)/var(--leading-body) var(--font-sans); font-variant-numeric: lining-nums; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
figure, blockquote, p, h1, h2, h3, h4, dl, dd { margin: 0; }
h1, h2, h3, h4 { font-family: var(--font-sans); font-weight: 500; letter-spacing: var(--tracking-heading); line-height: var(--leading-heading); text-wrap: balance; }
h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
h4 { font-size: 1.375rem; }
h1 em, h2 em { font-family: var(--font-serif); font-weight: 400; color: var(--color-rust); }
p { text-wrap: pretty; }
a { color: inherit; text-underline-offset: 5px; }
button, input, select, textarea { font: inherit; color: inherit; }
a, button, input, select, textarea, summary { scroll-margin-block: var(--space-2); }
button { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; }
[hidden] { display: none !important; }
::selection { background: var(--color-peach); color: var(--color-navy); }
:focus-visible { outline: 3px solid var(--color-navy); outline-offset: 5px; }
section[id], [id].specimen-section, main[id] { scroll-margin-top: var(--space-3); }
[tabindex="-1"]:focus { outline: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: absolute; z-index: 50; top: 8px; left: 16px; padding: 12px 24px; min-height: 44px; background: var(--color-cream); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.container { width: min(calc(100% - var(--space-4)), var(--width-content)); margin-inline: auto; min-width: 0; }
.container--wide { max-width: var(--width-wide); width: min(calc(100% - var(--space-4)), var(--width-wide)); }
.section { padding-block: var(--space-8); }
.section-heading { max-width: 24ch; margin-block: var(--space-2); }
.section-lead { max-width: var(--width-reading); }
.section-intro { display: grid; gap: var(--space-3); margin-bottom: var(--space-5); }
.section-intro__end { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); }
.reading { max-width: var(--width-reading); font-size: var(--text-reading); }
.reading p + p { margin-top: var(--space-3); }
.reading h3 { margin-block: var(--space-4) var(--space-2); }
.muted { color: var(--color-muted); font-size: var(--text-meta); }
.band-lavender { background: var(--color-lavender); }
.band-peach { background: var(--color-peach); }
.band-yellow { background: var(--color-yellow); }
@media (min-width: 768px) {
  .container { width: min(calc(100% - var(--space-10)), var(--width-content)); }
  .container--wide { width: min(calc(100% - var(--space-10)), var(--width-wide)); }
}
@media (min-width: 1000px) {
  .section { padding-block: var(--space-13); }
  .section-intro { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--space-8); align-items: end; }
}
@media (max-width: 649px) {
  h2 br { display: none; }
  .reading { font-size: var(--text-body); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none; transition: none; scroll-behavior: auto; }
}

/* Shared, buildless components. No rules target Calendesk internals. */
.eyebrow { display: flex; align-items: center; gap: var(--space-1); font: 600 var(--text-eyebrow)/1.6 var(--font-sans); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--color-rust); }
.eyebrow::before { content: ''; width: 5px; height: 5px; border-radius: 50%; flex: none; background: var(--color-coral); }
.arrow { display: inline-block; width: 18px; height: 12px; position: relative; flex: none; transition: transform var(--duration-calm) var(--ease-calm); }
.arrow::before { content: ''; position: absolute; left: 0; top: 5px; width: 16px; border-top: 1.5px solid currentColor; }
.arrow::after { content: ''; position: absolute; right: 1px; top: 2px; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 52px; padding: 12px 24px; border: 1px solid var(--color-navy); border-radius: var(--radius-pill); background: transparent; font: 500 var(--text-control)/1.4 var(--font-sans); text-decoration: none; text-align: center; color: var(--color-navy); transition: background var(--duration-calm) var(--ease-calm), border-color var(--duration-calm) var(--ease-calm); }
.button--primary { background: var(--color-coral); border-color: var(--color-coral); }
.button--secondary { background: transparent; border-color: var(--color-navy); }
.button:disabled, .button[aria-disabled="true"], .button[data-demo-state="disabled"] { background: var(--color-sand); color: var(--color-muted); border-color: var(--color-field); cursor: not-allowed; }
.button:active, .button[data-demo-state="active"] { background: var(--color-peach); border-color: var(--color-navy); }
.button--primary:active, .button--primary[data-demo-state="active"] { background: var(--color-coral-hover); }
.button[data-demo-state="focus"], .text-link[data-demo-state="focus"] { outline: 3px solid var(--color-navy); outline-offset: 5px; }
.button--primary[data-demo-state="hover"] { background: var(--color-coral-hover); border-color: var(--color-coral-hover); }
.button--secondary[data-demo-state="hover"] { background: var(--color-sand); }
.text-link { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; font: 500 var(--text-control)/1.5 var(--font-sans); text-decoration-thickness: 1px; }
.text-link[data-demo-state="active"], .text-link[data-demo-state="hover"] { color: var(--color-rust); }
.text-link[aria-disabled="true"] { color: var(--color-muted); cursor: not-allowed; }
.inline-link { display: inline; }
button.text-link { border: 0; padding: 0; background: transparent; text-decoration: underline; }
.site-header { background: var(--color-cream); position: relative; z-index: 20; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 96px; }
.brand-link { display: inline-flex; align-items: center; flex: none; min-height: 44px; }
.brand-link img { width: 164px; }
.site-nav { display: flex; gap: var(--space-3); align-items: center; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; text-decoration: none; white-space: nowrap; }
.site-nav a:hover { text-decoration: underline; }
.site-header__actions { display: flex; align-items: center; gap: var(--space-2); }
.site-header__actions .button { min-height: 48px; padding: 10px 20px; white-space: nowrap; }
.menu-toggle { display: none; background: transparent; padding: 8px 0; min-height: 44px; min-width: 44px; border: 0; font: 500 15px var(--font-sans); text-decoration: underline; text-underline-offset: 5px; }
.hero { display: grid; gap: var(--space-5); padding-block: var(--space-4) var(--space-8); align-items: center; }
.hero__title { margin-block: var(--space-3); max-width: 12ch; }
.hero__keyword { font: 600 var(--text-eyebrow)/1.6 var(--font-sans); display: flex; align-items: center; gap: var(--space-1); color: var(--color-rust); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; margin-bottom: var(--space-3); }
.hero__keyword::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--color-coral); flex: none; }
.hero__title-static, .hero__changing-line { display: block; }
.hero__changing-line { min-height: 1.24em; min-width: 8ch; }
.hero__changing-word { display: inline-block; transition: opacity var(--duration-calm) var(--ease-calm), transform var(--duration-calm) var(--ease-calm); }
.hero__changing-word[data-changing] { opacity: 0; transform: translateY(4px); }
.hero__lead { max-width: 32rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.hero__note { font-size: var(--text-meta); color: var(--color-muted); max-width: 34em; margin-top: var(--space-2); }
.faces-link { display: flex; align-items: center; gap: var(--space-2); min-height: 44px; margin-top: var(--space-3); font-size: var(--text-meta); text-decoration-thickness: 1px; }
.faces-link__images { display: flex; gap: 4px; flex: none; }
.faces-link img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: center top; background: var(--color-sand); }
.motion-toggle { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--space-1); padding: 8px 0; background: transparent; border: 0; font: 500 var(--text-small)/1.5 var(--font-sans); color: var(--color-muted); text-decoration: underline; text-underline-offset: 5px; }
.hero__photo { margin: 0; }
.hero__photo img { width: 100%; aspect-ratio: 4/4.7; max-height: 600px; object-fit: cover; object-position: 43% 54%; border-radius: var(--radius-card); filter: saturate(.85); }
.photo-caption { display: flex; align-items: center; gap: var(--space-1); font-size: var(--text-small); color: var(--color-muted); margin-top: var(--space-2); }
.photo-caption::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--color-coral); flex: none; }
.trust-strip { border-block: 1px solid var(--color-line); padding-block: var(--space-3); }
.trust-strip__items { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-meta); color: var(--color-muted); }
.trust-strip__items span + span::before { content: ''; display: inline-block; width: 4px; height: 4px; margin-right: var(--space-3); vertical-align: middle; background: var(--color-coral); border-radius: 50%; }
.offer-layout { display: grid; gap: var(--space-5); align-items: start; }
.accordion { border-top: 1px solid var(--color-frame); }
.accordion details { border-bottom: 1px solid var(--color-frame); }
.accordion summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-3); cursor: pointer; min-height: 72px; font-size: 18px; font-weight: 500; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: ''; width: 12px; height: 12px; flex: none; background: linear-gradient(currentColor,currentColor) center/12px 1px no-repeat, linear-gradient(currentColor,currentColor) center/1px 12px no-repeat; }
.accordion details[open] > summary::after { background-size: 12px 1px, 1px 0; }
.accordion details[open] > summary { color: var(--color-rust); }
.accordion__body, .accordion__content { padding-bottom: var(--space-4); max-width: 36rem; }
.accordion__body h3 { margin-bottom: var(--space-2); }
.accordion__body p + p { margin-top: var(--space-2); }
.service-list { list-style: none; margin: var(--space-3) 0; padding: 0; display: grid; gap: var(--space-1); font-size: 15px; }
.service-list li { display: flex; align-items: baseline; gap: var(--space-1); }
.service-list li::before { content: ''; flex: 0 0 4px; width: 4px; height: 4px; border-radius: 50%; background: var(--color-coral); align-self: start; margin-top: 10px; }
.intro-help { padding: var(--space-4); background: var(--color-cream); border-radius: var(--radius-card); }
.intro-help h3 { margin-block: var(--space-2); }
.intro-help p { margin-top: var(--space-2); }
.specification { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: var(--space-3); background: var(--color-cream); border-block: 1px solid var(--color-line); }
.specification > div { padding: var(--space-3) var(--space-2); min-width: 0; }
.specification > div + div { border-left: 1px solid var(--color-line); }
.specification dt { font: 600 12px/1.5 var(--font-sans); text-transform: uppercase; letter-spacing: .1em; color: var(--color-rust); }
.specification dd { margin-top: var(--space-1); font: 400 28px/1.25 var(--font-serif); font-variant-numeric: lining-nums; }
.intro-help .specification { grid-template-columns: 1fr; }
.intro-help .specification > div { padding-inline: 0; }
.intro-help .specification > div + div { border-left: 0; border-top: 1px solid var(--color-line); }
.quiet-note { color: var(--color-muted); font-size: var(--text-meta); }
.story { color: var(--color-cream); background: var(--color-night); padding-block: var(--space-9); }
.story .eyebrow, .story em { color: var(--color-pale-coral); }
.story blockquote { font: 400 clamp(2.375rem,5.5vw,4.5rem)/1.18 var(--font-serif); margin-top: var(--space-4); max-width: 24ch; }
.story blockquote h2 { font: inherit; letter-spacing: 0; }
.story p:not(.eyebrow) { color: var(--color-pale-text); font-size: 18px; max-width: 35rem; margin-top: var(--space-3); }
.specialist-grid { position: relative; display: grid; gap: var(--space-3); }
.specialist-card { display: flex; flex-direction: column; background: var(--color-white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); overflow: clip; min-width: 0; }
.specialist-card__media { position: relative; aspect-ratio: 4/3; flex: none; background: var(--color-sand); }
.specialist-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: saturate(.88); }
.specialist-card__place { position: absolute; bottom: var(--space-2); left: var(--space-2); right: var(--space-2); width: fit-content; max-width: calc(100% - 32px); padding: 8px 12px; border-radius: var(--radius-pill); background: var(--color-cream); font-size: 13px; line-height: 1.4; }
.specialist-card__content { padding: var(--space-2); display: flex; flex-direction: column; gap: var(--space-1); flex: 1; }
.specialist-card h3 { font-size: 26px; }
.specialist-card__places { color: var(--color-muted); font-size: 12px; line-height: 1.5; }
.specialist-card__role { font-size: 14px; line-height: 1.5; color: var(--color-muted); }
.specialist-card__quote { font: italic 400 21px/1.4 var(--font-serif); }
.specialist-card__facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-1); padding-top: var(--space-2); border-top: 1px solid var(--color-line); font-size: 14px; line-height: 1.5; }
.specialist-card__facts > div { display: grid; align-content: start; gap: var(--space-1); }
.specialist-card__facts > div:first-child { grid-column: 1 / -1; }
.specialist-card .chips { gap: 6px; }
.specialist-card .chips span { font-size: 14px; line-height: 1.4; padding: 4px 8px; }
.specialist-card__facts dt { color: var(--color-rust); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.chips { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.chips span { padding: 4px 10px; border-radius: var(--radius-pill); background: var(--color-sand); font-size: 14px; }
.specialist-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: auto; padding-top: var(--space-1); }
.specialist-card__actions .button { padding: 10px 16px; min-height: 48px; }
.help-card { display: flex; flex-direction: column; justify-content: center; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-card); background: var(--color-navy); color: var(--color-cream); min-width: 0; }
.help-card .eyebrow { color: var(--color-pale-coral); }
.help-card p { color: var(--color-pale-text); }
.help-card .button { align-self: flex-start; }
.help-card :focus-visible, .story :focus-visible { outline-color: var(--color-pale-coral); }
.steps-layout { display: grid; gap: var(--space-5); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); }
.steps li { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: var(--space-3); }
.steps li::before { content: ''; position: absolute; top: 24px; bottom: -48px; left: 22px; width: 1px; background: var(--color-frame); }
.steps li:last-child::before { bottom: 12px; }
.steps__number { position: relative; display: block; background: var(--color-peach); font: 500 48px/1.15 var(--font-serif); font-variant-numeric: lining-nums; align-self: start; text-align: center; }
.steps__number::after { content: ''; position: absolute; left: 20px; bottom: -14px; width: 5px; height: 5px; background: var(--color-coral); border-radius: 50%; }
.steps h3 { font-size: 23px; margin-bottom: var(--space-2); }
.locations { display: grid; gap: var(--space-2); }
.location-card { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding-block: var(--space-3); border-bottom: 1px solid var(--color-line); text-decoration: none; min-height: 88px; }
.location-card h3 { font-size: 24px; margin-bottom: var(--space-1); }
.location-card p { color: var(--color-muted); font-size: var(--text-meta); }
.online-note { background: var(--color-sand); border-radius: var(--radius-card); padding: var(--space-4); display: grid; gap: var(--space-2); margin-top: var(--space-4); }
.online-note h3 { font: italic 400 30px/1.25 var(--font-serif); color: var(--color-rust); }
.journal-grid { position: relative; display: grid; gap: var(--space-3); }
.article-card { padding: var(--space-4); border-radius: var(--radius-card); border: 1px solid var(--color-frame); background: var(--color-cream); position: relative; display: flex; flex-direction: column; gap: var(--space-3); }
.article-card__category { font-size: 12px; font-weight: 600; color: var(--color-rust); letter-spacing: .1em; text-transform: uppercase; }
.article-card h3 { overflow-wrap: anywhere; font: 400 28px/1.3 var(--font-serif); letter-spacing: 0; }
.article-card .text-link { margin-top: auto; }
.doubt-grid { display: grid; gap: var(--space-3); margin-bottom: var(--space-5); }
.doubt-card { padding: var(--space-4); border: 1px solid var(--color-frame); border-radius: var(--radius-card); }
.doubt-card h3 { font: italic 400 28px/1.3 var(--font-serif); margin-bottom: var(--space-2); }
.faq-layout { display: grid; gap: var(--space-5); }
.faq-layout .accordion { margin-top: var(--space-5); }
.choice-grid { display: grid; align-items: start; gap: var(--space-3); margin-top: var(--space-5); }
.choice-card { background: var(--color-cream); border: 1px solid var(--color-frame); border-radius: var(--radius-card); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.choice-card h3 { font-size: 30px; }
.choice-card .button { align-self: flex-start; margin-top: 8px; }
.choice-card--free { background: var(--color-navy); border-color: var(--color-navy); color: var(--color-cream); }
.choice-card--free .eyebrow { color: var(--color-pale-coral); }
.choice-card--free p { color: var(--color-pale-text); }
.choice-card--free .specification { border-radius: var(--radius-card-mobile); padding-inline: var(--space-1); margin-top: 0; color: var(--color-navy); }
.choice-card--free :focus-visible { outline-color: var(--color-pale-coral); }
.choice-pill { font-size: 12px; font-weight: 600; color: var(--color-cream); background: rgba(251,248,244,.12); padding: 8px 12px; border-radius: var(--radius-pill); width: fit-content; }
.crisis-strip { background: var(--color-coral); padding-block: var(--space-4); color: var(--color-navy); }
.crisis-strip p { font-size: 14px; line-height: 1.65; max-width: 72rem; }
.crisis-strip p a { display: inline; min-width: 0; min-height: 0; }
.crisis-strip__calls { display: none; }
.crisis-strip .text-link { font-size: 14px; }
.site-footer { padding-block: var(--space-8) var(--space-4); background: var(--color-night); color: var(--color-cream); }
.site-footer__top { display: grid; gap: var(--space-5); margin-bottom: var(--space-6); }
.site-footer .eyebrow, .site-footer h2 em { color: var(--color-pale-coral); }
.site-footer h2 { font-size: clamp(2.125rem,4.3vw,3.5rem); max-width: 20ch; margin-top: var(--space-2); }
.site-footer__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.site-footer__mail { color: var(--color-pale-text); font-size: 17px; min-height: 44px; display: flex; align-items: center; }
.site-footer__links { display: flex; flex-wrap: wrap; gap: var(--space-3); padding-block: var(--space-3); border-block: 1px solid rgba(251,248,244,.2); }
.site-footer__links a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; text-decoration-thickness: 1px; }
.site-footer__legal { margin-top: var(--space-3); color: var(--color-pale-text); font-size: 12px; line-height: 1.65; }
.site-footer__legal p + p { margin-top: var(--space-1); }
.site-footer :focus-visible { outline-color: var(--color-pale-coral); }
.placeholder { padding-block: var(--space-8) var(--space-12); }
.placeholder h1 { max-width: 16ch; margin-block: var(--space-3); }
.placeholder__links { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
/* Form controls and truthful prototype validation. */
.field { display: grid; gap: var(--space-1); min-width: 0; }
.field__label { font-size: 15px; font-weight: 500; }
.field__control { display: block; width: 100%; min-width: 0; min-height: 52px; padding: 12px 16px; border: 1px solid var(--color-field); border-radius: var(--radius-small); background: var(--color-cream); font-size: 16px; line-height: 1.5; }
textarea.field__control { min-height: 144px; resize: vertical; }
.field__control:hover, .field__control[data-demo-state="hover"] { border-color: var(--color-navy); }
.field__control:focus-visible, .field__control[data-demo-state="focus"] { outline: 3px solid var(--color-navy); outline-offset: 3px; }
.field__control[aria-invalid="true"], .field__control[data-demo-state="error"] { border: 2px solid var(--color-rust); }
.field__control:disabled { background: var(--color-sand); color: var(--color-muted); }
.field__hint { color: var(--color-muted); font-size: 14px; }
.field__error { color: var(--color-rust); font-size: 14px; }
.form-status { padding: var(--space-3); border: 1px solid var(--color-rust); background: var(--color-cream); border-radius: var(--radius-small); font-size: 16px; }
.form-status[data-state="success"] { border-color: var(--color-success); color: var(--color-success); }
.review-panel { min-height: 192px; border: 1px solid var(--color-frame); border-radius: var(--radius-card); padding: var(--space-4); background: var(--color-cream); display: flex; flex-direction: column; justify-content: space-between; }
.review-panel p { font-size: 14px; color: var(--color-muted); }
.sticky-action { padding: var(--space-2); background: var(--color-cream); border-top: 1px solid var(--color-line); display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.sticky-action__close { min-width: 44px; padding: 8px; min-height: 44px; border: 0; background: transparent; font-size: 14px; text-decoration: underline; }
/* One-shot success seal; its final state never depends on running the animation. */
.success-seal { width: 168px; height: 168px; overflow: visible; }
.success-seal__ring { stroke: var(--color-navy); stroke-width: 1.5; fill: none; stroke-dasharray: 100; transform: rotate(-90deg); transform-box: view-box; transform-origin: 50% 50%; animation: seal-ring 450ms var(--ease-draw) both; }
.success-seal__disc { fill: var(--color-navy); transform-box: view-box; transform-origin: 50% 50%; filter: drop-shadow(0 8px 12px rgba(28,44,68,.12)); animation: seal-disc 450ms 250ms var(--ease-calm) both; }
.success-seal__check { fill: none; stroke: var(--color-cream); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100; animation: seal-check 400ms 650ms var(--ease-draw) both; }
.success-seal__dot { fill: var(--color-coral); transform-box: fill-box; transform-origin: center; animation: seal-dot 300ms 1000ms var(--ease-calm) both; }
.success-seal__wave { fill: none; stroke: var(--color-frame); stroke-width: 1; opacity: 0; transform-box: view-box; transform-origin: 50% 50%; animation: seal-wave 550ms 1050ms var(--ease-calm) both; }
@keyframes seal-ring { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes seal-disc { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }
@keyframes seal-check { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes seal-dot { 0% { transform: scale(0); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
@keyframes seal-wave { from { opacity: .5; transform: scale(1); } to { opacity: 0; transform: scale(1.4); } }
/* Pattern-library layout, using exactly the same components as the home page. */
.specimen-intro { padding-block: var(--space-8) var(--space-5); }
.specimen-intro h1 { max-width: 18ch; margin-block: var(--space-3); }
.specimen-intro p { max-width: var(--width-reading); }
.specimen-nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); padding-block: var(--space-3); border-block: 1px solid var(--color-line); }
.specimen-nav a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; font-size: 15px; }
.specimen-section { padding-block: var(--space-8); border-bottom: 1px solid var(--color-line); }
.specimen-section > h2, .specimen-section > .container > h2 { margin-bottom: var(--space-3); }
.specimen-grid { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.specimen-example { min-width: 0; padding: var(--space-3); border: 1px solid var(--color-frame); border-radius: var(--radius-card-mobile); background: var(--color-cream); }
.specimen-label, .specimen-state-label { color: var(--color-muted); font-size: 13px; margin-bottom: var(--space-2); }
.specimen-state-row { display: flex; flex-wrap: wrap; align-items: start; gap: var(--space-3); margin-top: var(--space-3); }
.specimen-state-row > * { min-width: 0; max-width: 100%; }
.specimen-state-row .field { flex: 1 1 210px; }
.specimen-lead { max-width: var(--width-reading); margin-bottom: var(--space-3); }
.specimen-type__heading { font: 500 32px/1.2 var(--font-sans); }
.specimen-type__quote { font: italic 400 26px/1.4 var(--font-serif); }
.specimen-control-heading { margin-block: var(--space-4) var(--space-2); font-size: 24px; }
.specimen-hero__title { max-width: 15ch; }
.specimen-hero__title em { color: var(--color-rust); font-family: var(--font-serif); }
.specimen-profile__places, .specimen-profile__help { color: var(--color-muted); font-size: 14px; }
.specimen-form-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.field__required { font-size: 13px; color: var(--color-muted); }
.specimen-reading__title { font: 400 32px/1.3 var(--font-serif); }
.specimen-mini-card { display: grid; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--color-frame); border-radius: var(--radius-card-mobile); background: var(--color-cream); color: var(--color-navy); min-height: 44px; text-decoration: none; }
.specimen-mini-card h3 { font-size: 24px; }
.specimen-mini-card[data-demo-state="hover"] { background: var(--color-sand); }
.specimen-mini-card[data-demo-state="focus"], .specimen-choice-state[data-demo-state="focus"] { outline: 3px solid var(--color-navy); outline-offset: 5px; }
.specimen-mini-card[data-demo-state="active"] { border: 2px solid var(--color-navy); }
.specimen-mini-card[data-demo-state="disabled"] { color: var(--color-muted); background: var(--color-sand); }
.specimen-choice-state[data-demo-state="hover"] { background: #243756; }
.specimen-choice-state[data-demo-state="focus"], .specimen-choice-state[data-demo-state="active"] { outline: 3px solid var(--color-pale-coral); outline-offset: 3px; }
.specimen-choice-state[data-demo-state="disabled"] { background: var(--color-navy); cursor: not-allowed; }
.accordion[data-demo-state="focus"] summary, .accordion details[data-demo-state="focus"] summary { outline: 3px solid var(--color-navy); outline-offset: 3px; }
.accordion[data-demo-state="hover"] summary, .accordion details[data-demo-state="hover"] summary { color: var(--color-rust); }
.accordion details[aria-disabled="true"] { color: var(--color-muted); }
.field__control[data-demo-state="active"] { border: 2px solid var(--color-navy); }
.specimen-consent input[data-demo-state="focus"] { outline: 3px solid var(--color-navy); outline-offset: 5px; }
.specimen-consent input[aria-invalid="true"] { outline: 2px solid var(--color-rust); outline-offset: 3px; }
.specimen-consent .field__error { grid-column: 2; }
.form-status--success { border-color: var(--color-success); color: var(--color-success); }
.form-status ul { margin-bottom: 0; padding-left: 24px; }
.form-status a { display: inline-flex; align-items: center; min-height: 44px; }
.success-seal--static .success-seal__ring, .success-seal--static .success-seal__disc, .success-seal--static .success-seal__check, .success-seal--static .success-seal__dot { animation: none; stroke-dashoffset: 0; opacity: 1; }
.success-seal--static .success-seal__wave { animation: none; opacity: 0; }
.success-seal__caption { font-size: 15px; animation: seal-caption 350ms 900ms var(--ease-calm) both; }
@keyframes seal-caption { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.specimen-swatch__color { display: block; height: 64px; border-radius: 4px; margin-bottom: var(--space-2); }
.specimen-swatch:has(.specimen-swatch__color)::before { display: none; }
.specimen-swatch__color[data-color="cream"] { background: var(--color-cream); }
.specimen-swatch__color[data-color="sand"] { background: var(--color-sand); }
.specimen-swatch__color[data-color="navy"] { background: var(--color-navy); }
.specimen-swatch__color[data-color="night"] { background: var(--color-night); }
.specimen-swatch__color[data-color="coral"] { background: var(--color-coral); }
.specimen-swatch__color[data-color="rust"] { background: var(--color-rust); }
.specimen-swatch__color[data-color="lavender"] { background: var(--color-lavender); }
.specimen-swatch__color[data-color="peach"] { background: var(--color-peach); }
.specimen-swatch__color[data-color="yellow"] { background: var(--color-yellow); }
.specimen-swatch__color[data-color="muted"] { background: var(--color-muted); }
.specimen-swatch__color[data-color="line"] { background: var(--color-line); }
.specimen-swatch__color[data-color="frame"] { background: var(--color-frame); }
.specimen-swatch__color[data-color="field"] { background: var(--color-field); }
.specimen-swatch__color[data-color="pale-coral"] { background: var(--color-pale-coral); }
.specimen-swatch__color[data-color="pale-text"] { background: var(--color-pale-text); }
.specimen-swatch-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); }
.specimen-swatch { border: 1px solid var(--color-frame); padding: var(--space-2); border-radius: var(--radius-small); font-size: 14px; }
.specimen-swatch::before { content: ''; display: block; height: 64px; background: var(--swatch); border-radius: 4px; margin-bottom: var(--space-2); }
.specimen-type { display: grid; gap: var(--space-3); }
.specimen-hero { display: grid; gap: var(--space-3); }
.specimen-hero h2 { max-width: 14ch; }
.specimen-hero__actions, .specimen-form-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.specimen-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.specimen-faces { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: 14px; }
.specimen-faces > span:first-child { display: flex; gap: 4px; flex: none; }
.specimen-faces img { width: 44px; height: 44px; object-fit: cover; border-radius: 50%; }
.specimen-profile { display: grid; gap: var(--space-4); }
.specimen-profile__intro { display: grid; gap: var(--space-2); }
.specimen-profile__quote { font: italic 400 26px/1.4 var(--font-serif); }
.specimen-profile__facts { display: grid; gap: var(--space-2); font-size: 14px; }
.specimen-profile__facts dt { font-weight: 600; color: var(--color-rust); }
.specimen-filters { border: 0; padding: 0; margin: 0; display: grid; align-items: start; gap: var(--space-3); }
.specimen-reading { max-width: var(--width-reading); font-size: var(--text-reading); line-height: 1.65; }
.specimen-reading p + p { margin-top: var(--space-3); }
.specimen-end-cta { padding: var(--space-4); background: var(--color-peach); border-radius: var(--radius-card); display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.specimen-form { max-width: 48rem; display: grid; gap: var(--space-3); }
.specimen-form-grid { display: grid; gap: var(--space-3); align-items: start; }
.specimen-consent { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: var(--space-2); font-size: 15px; align-items: start; padding-block: 12px; min-height: 44px; }
.specimen-consent label { min-height: 44px; display: block; }
.specimen-consent input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--color-navy); }
.specimen-consent a { display: inline-flex; align-items: center; min-height: 44px; }
.specimen-sticky { max-width: 390px; border: 1px solid var(--color-frame); border-radius: var(--radius-card-mobile); overflow: clip; }
.specimen-sticky .sticky-action { position: static; flex-wrap: wrap; }
.specimen-sticky .sticky-action p { font-size: 14px; }
.specimen-sticky [data-sticky-closed] { padding: var(--space-2); }
.specimen-sticky [data-demo-open-sticky] { margin-inline-start: 16px; }
.specimen-seal { display: grid; justify-items: center; gap: var(--space-3); padding: var(--space-5); }
.specimen-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.specimen-table th, .specimen-table td { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--color-line); overflow-wrap: anywhere; }
@media (hover: hover) {
  .button--primary:hover:not(:disabled) { background: var(--color-coral-hover); border-color: var(--color-coral-hover); }
  .button--secondary:hover:not(:disabled) { background: var(--color-sand); }
  .button:hover .arrow, .text-link:hover .arrow, .location-card:hover .arrow { transform: translateX(3px); }
  .text-link:hover, .location-card:hover h3 { color: var(--color-rust); }
  .crisis-strip .text-link:hover { color: var(--color-navy); }
  .choice-card--free:hover { background: #243756; }
  .specialist-card:has(a:hover) { box-shadow: 0 18px 40px rgba(28,44,68,.13); }
}
@media (max-width: 1099px) {
  .site-header__inner { min-height: 80px; flex-wrap: wrap; gap: var(--space-2); }
  .site-nav { order: 3; flex-basis: 100%; flex-wrap: wrap; padding-block: var(--space-2); }
  .site-header[data-enhanced] .site-nav { position: absolute; top: 100%; left: 0; right: 0; padding: var(--space-3) max(16px,calc((100vw - 1160px)/2)); background: var(--color-cream); border-block: 1px solid var(--color-line); display: grid; gap: var(--space-1); }
  .site-header[data-enhanced] .site-nav[hidden] { display: none; }
  .site-header[data-enhanced] .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
}
@media (min-width: 650px) {
  .specialist-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .doubt-grid, .choice-grid, .specimen-grid, .specimen-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .specimen-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .specimen-swatch-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .article-card { padding: var(--space-3); }
}
@media (min-width: 900px) {
  .journal-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hero { grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: var(--space-8); padding-block: var(--space-5) var(--space-8); }
  .offer-layout { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: var(--space-8); }
  .story { padding-block: var(--space-15); }
  .steps-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: var(--space-8); }
  .steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-3); }
  .steps li { display: block; }
  .steps li::before { top: 47px; left: 0; right: -24px; width: auto; height: 1px; bottom: auto; }
  .steps li:last-child::before { right: 0; bottom: auto; }
  .steps__number { font-size: 64px; display: inline-block; padding-inline: 8px; margin-bottom: var(--space-4); text-align: left; }
  .steps__number::after { left: auto; right: -10px; bottom: 25px; }
  .steps h3 { font-size: 22px; }
  .locations { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-4); }
  .location-card { align-items: flex-start; padding-block: var(--space-3); }
  .location-card .arrow { margin-top: 12px; }
  .online-note { grid-template-columns: minmax(0,1fr) minmax(0,1.7fr) auto; align-items: center; gap: var(--space-4); }
  .faq-layout { grid-template-columns: minmax(0,.65fr) minmax(0,1fr); gap: var(--space-8); }
  .site-footer__top { grid-template-columns: minmax(0,1fr) minmax(0,.7fr); align-items: end; gap: var(--space-8); }
  .site-footer__actions { justify-self: end; }
  .specimen-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .specimen-filters { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (min-width: 1250px) {
  .specialist-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 649px) {
  .site-header__inner { min-height: 72px; gap: var(--space-1); }
  .brand-link img { width: 118px; }
  .site-header__actions { gap: 12px; }
  .site-header__actions .button { padding: 10px 16px; min-height: 44px; font-size: 14px; }
  .site-header__actions .arrow { display: none; }
  .hero { padding-top: var(--space-3); }
  .hero__title { margin-block: var(--space-2); }
  .hero__actions { margin-top: var(--space-3); gap: var(--space-1); }
  .hero__actions .button { padding-inline: 18px; }
  .hero__keyword { margin-bottom: var(--space-2); }
  .faces-link { align-items: flex-start; gap: 12px; }
  .faces-link__images { gap: 2px; }
  .faces-link > span:last-child { max-width: 24ch; }
  .hero__photo img { aspect-ratio: 3/2; max-height: 280px; border-radius: var(--radius-card-mobile); }
  .trust-strip__items { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .trust-strip__items span + span::before { display: none; }
  .intro-help, .help-card, .choice-card, .doubt-card, .article-card { border-radius: var(--radius-card-mobile); padding: var(--space-3); }
  .specification { grid-template-columns: 1fr; }
  .specification > div + div { border-left: 0; border-top: 1px solid var(--color-line); }
  .specification dd { font-size: 24px; }
  .specialist-grid, .journal-grid { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: 85%; gap: var(--space-2); overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: var(--space-3); scrollbar-color: var(--color-field) var(--color-sand); }
  .specialist-grid > *, .journal-grid > * { scroll-snap-align: start; }
  .specialist-card { border-radius: var(--radius-card-mobile); }
  .specialist-card__media { aspect-ratio: 1/1; max-height: 280px; }
  .specialist-card__actions { gap: var(--space-1); }
  .specialist-card__actions .button { font-size: 14px; }
  .specialist-card__place { bottom: 12px; left: 12px; font-size: 13px; }
  .story blockquote { max-width: 15ch; }
  .story p:not(.eyebrow) { font-size: 17px; }
  .steps-layout .button { width: fit-content; }
  .choice-card--free .specification { margin-block: 0; }
  .success-seal { width: 112px; height: 112px; }
  .specimen-reading { font-size: 16px; }
  .specimen-example { padding: var(--space-2); }
}
@media (prefers-reduced-motion: reduce) {
  .hero__changing-word, .arrow { transition: none; }
  .button:hover .arrow, .text-link:hover .arrow, .location-card:hover .arrow { transform: none; }
  .success-seal__ring, .success-seal__disc, .success-seal__check, .success-seal__dot { animation: none; opacity: 1; stroke-dashoffset: 0; transform: none; }
  .success-seal__ring { transform: rotate(-90deg); }
  .success-seal__wave { animation: none; opacity: 0; }
  .motion-toggle { display: none; }
}

/* Explicit samples use the same accessible palettes as their real components. */
.specimen-choice-state { display: grid; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-card-mobile); min-height: 44px; text-decoration: none; background: var(--color-navy); color: var(--color-cream); }
.specimen-choice-state .eyebrow { color: var(--color-pale-coral); }
.specimen-choice-state p { color: var(--color-pale-text); }
.specimen-choice-state h3 { font-size: 26px; }
.specimen-choice-state:focus-visible { outline-color: var(--color-pale-coral); }
.choice-card__badge { display: block; width: fit-content; font-size: 12px; font-weight: 600; padding: 8px 12px; border-radius: var(--radius-pill); background: rgba(251,248,244,.12); color: var(--color-cream); }
.specimen-swatch p strong, .specimen-swatch p span { display: block; }
.specimen-hero__title { font-size: clamp(36px,4vw,52px); margin-block: var(--space-3); }
.specimen-accordion { width: 100%; }
.specimen-consent input[data-demo-state="hover"] { outline: 1px solid var(--color-navy); outline-offset: 3px; }
.form-status:focus { outline: 3px solid var(--color-navy); outline-offset: 3px; }


@media (min-width: 900px) {
  .specimen-hero { grid-template-columns: minmax(0,1fr) minmax(0,.7fr); align-items: center; gap: var(--space-5); }
  .specimen-profile { grid-template-columns: minmax(0,.65fr) minmax(0,1fr); align-items: start; gap: var(--space-5); }
}
@media (hover: hover) {
  .specimen-choice-state:hover { background: #243756; color: var(--color-cream); }
}
@media (prefers-reduced-motion: reduce) {
  .success-seal__caption { animation: none; opacity: 1; transform: none; }
}

.specimen-accordion { border-block: 1px solid var(--color-frame); padding-block: var(--space-3); min-height: 72px; font-size: 18px; font-weight: 500; color: var(--color-muted); }

/* V1.2: source-confirmed data and more compact, accessible choices. */
.intro-help .button { margin-top: 24px; }
.choice-card--free .specification { grid-template-columns: 1fr; }
.choice-card--free .specification > div + div { border-left: 0; border-top: 1px solid var(--color-line); }
#wybor-sciezki .specimen-grid { align-items: start; }
.specimen-caption { margin-bottom: 24px; }
.specimen-reading__title { margin-bottom: 20px; }
.radio-field { border: 0; padding: 0; margin: 0; min-width: 0; }
.radio-field legend { margin-bottom: 8px; }
.radio-options { display: flex; flex-wrap: wrap; gap: 12px; }
.radio-choice { position: relative; display: inline-flex; cursor: pointer; max-width: 100%; }
.radio-choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; }
.radio-choice span { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--color-field); border-radius: var(--radius-pill); font-size: 15px; line-height: 1.4; }
.radio-choice input:checked + span { background: var(--color-navy); color: var(--color-cream); border-color: var(--color-navy); }
.radio-choice input:focus-visible + span, .radio-field[data-demo-state="focus"] .radio-choice:first-child span { outline: 3px solid var(--color-navy); outline-offset: 3px; }
.radio-choice input:disabled + span, .radio-field:disabled .radio-choice span { background: var(--color-sand); color: var(--color-muted); cursor: not-allowed; }
.radio-field[aria-invalid="true"] .radio-choice span { border: 2px solid var(--color-rust); }
.radio-field .field__error { margin-top: 8px; }
@media (hover: hover) {
 .radio-choice:hover span, .radio-field[data-demo-state="hover"] .radio-choice span { border-color: var(--color-navy); }
}
@media (min-width: 760px) {
 .specialist-card__actions { flex-wrap: nowrap; justify-content: space-between; gap: 8px; }
 .specialist-card__actions .text-link { font-size: 14px; gap: 4px; white-space: nowrap; }
 .specialist-card__actions .button { min-height: 44px; padding: 10px 8px; font-size: 14px; gap: 4px; white-space: nowrap; }
}
@media (max-width: 649px) {
 .crisis-strip__calls { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
 .crisis-strip__calls .button { min-height: 44px; padding: 10px 16px; font-size: 14px; }
}

@media (min-width: 760px) {
 .specialist-card__actions .arrow { width: 12px; }
 .specialist-card__actions .arrow::before { width: 11px; }
 .specialist-card__actions .arrow::after { right: 0; }
}

.hero__format { white-space: nowrap; }

.site-header__mail { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; white-space: nowrap; }
@media (max-width: 1099px) { .site-header__mail { display: none; } }

/* Corrected portrait files contain their shared color treatment, including specimens. */
.specialist-card__media img[src*="/zespol/poprawione/"] { filter: none; }

/* Stage 1d / 0j: visible therapy rules near paid bookings. */
.site-header__rules { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:500; white-space:nowrap; text-decoration:none; }
.site-nav .site-nav__rules { display:none; }
@media (min-width:1100px) {
  .site-header__inner { gap:16px; }
  .site-nav { gap:16px; }
  .site-header__actions { gap:12px; }
}
@media (min-width:1100px) and (max-width:1279px) {
  .brand-link { width:140px; }
  .site-nav { gap:10px; }
  .site-nav a { font-size:14px; }
  .site-header__actions .button { padding-inline:16px; font-size:14px; }
}
@media (max-width:1099px) {
  .site-header__rules { display:none; }
  .site-nav .site-nav__rules { display:inline-flex; }
}
.booking-rules { margin-top:32px; padding:32px; border:1px solid var(--color-line); border-radius:var(--radius-card-mobile); background:var(--color-white); color:var(--color-navy); }
.booking-rules h3 { margin:0; font-size:24px; line-height:1.25; }
.booking-rules h3 em { font-family:var(--font-serif); font-weight:400; color:var(--color-rust); }
.booking-rules > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 32px; margin:24px 0 0; padding:0; list-style:none; }
.booking-rules > ul > li { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; gap:16px; min-width:0; }
.booking-rules__icon { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:var(--color-cream); }
.booking-rules__icon img { width:24px; height:24px; }
.booking-rules p { margin:0; font-size:16px; line-height:1.6; }
.booking-rules > .button { margin-top:24px; max-width:100%; }
.booking-rules + .booking-rules__profiles { margin-top:20px; }
@media (max-width:767px) {
  .booking-rules { padding:24px; }
  .booking-rules > ul { grid-template-columns:minmax(0,1fr); gap:24px; }
  .booking-rules > ul > li { gap:12px; }
}

/* Media społecznościowe w stopce (Claude, 12.10.2026, prośba Pawła): przygaszone, rozjaśniają się po najechaniu. */
.site-footer__social { display:flex; gap:10px; margin:0; padding:0; list-style:none; }
.site-footer__legal { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px 24px; }
.site-footer__legal-text p + p { margin-top: var(--space-1); }
.site-footer__social a { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(251,248,244,.22); color:rgba(251,248,244,.55); transition:color .2s, background .2s, border-color .2s; }
.site-footer__social svg { width:20px; height:20px; }
.site-footer__social a:hover, .site-footer__social a:focus-visible { color:var(--color-cream); background:rgba(251,248,244,.1); border-color:rgba(251,248,244,.55); }
.site-footer__social a:focus-visible { outline:3px solid var(--color-coral); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .site-footer__social a { transition:none; } }

/* Partia 23: link do polityki pod zgodą jako osobny cel min. 44 px (kontrola Codex) */
.group-form__consent > a.inline-action { display:inline-flex; align-items:center; min-height:44px; }
/* Partia 34 (Claude): hero. Linia ze zmieniającym się słowem nie łamie się (najdłuższe: „Twoją historię.”), żeby nagłówek
   nie zmieniał wysokości. Słowo znika w dół i wjeżdża od góry. */
.hero__changing-line { white-space:nowrap; }
.hero__changing-word { transition:opacity 340ms cubic-bezier(.2,.7,.2,1), transform 420ms cubic-bezier(.2,.7,.2,1), filter 340ms ease; will-change:transform, opacity, filter; }
.hero__changing-word[data-changing="out"] { opacity:0; transform:translateY(.42em); filter:blur(3px); transition-duration:240ms; transition-timing-function:cubic-bezier(.4,0,1,1); }
.hero__changing-word[data-changing="in"] { opacity:0; transform:translateY(-.42em); filter:blur(3px); transition:none; }
@media (max-width:359.98px) { .hero__changing-line { font-size:.88em; } }
@media (prefers-reduced-motion: reduce) { .hero__changing-word, .hero__changing-word[data-changing] { transition:none; transform:none; filter:none; opacity:1; } }
/* Partia 55: linki z pola „Nurt” do stron nurtów (Claude, 13.10.2026). */
.approach-link { color:inherit; text-decoration:underline; text-decoration-color:var(--color-coral); text-decoration-thickness:1px; text-underline-offset:4px; }
.approach-link:hover { text-decoration-thickness:2px; }
.t3-nurty-link { display:flex; align-items:center; min-height:44px; margin-top:6px; padding:0 12px; border-top:1px solid var(--color-line); font-size:15px; font-weight:600; color:var(--color-rust); text-underline-offset:4px; }
/* Partia 56: linki do stron nurtów na stronie Psychoterapia indywidualna (Claude, 13.10.2026). */
.nurty-more { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:12px !important; font-size:15px; }
.nurty-more a { font-weight:600; text-underline-offset:4px; text-decoration-color:var(--color-coral); }
/* Partia 57: nurty i psychotraumatolog w nawigacji (Claude, 13.10.2026). */
.h20__nurty { grid-column:1/-1; margin:6px 0 0; border-top:1px solid #f0e9df; padding-top:6px; }
.h20__nurty > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:0 12px; border-radius:12px; font-size:15.5px; font-weight:600; color:var(--color-navy); cursor:pointer; list-style:none; }
.h20__nurty > summary::-webkit-details-marker { display:none; }
.h20__nurty > summary:hover { background:var(--color-cream); color:var(--color-rust); }
.h20__nurty > summary:focus-visible { outline:2px solid var(--color-navy); outline-offset:2px; }
.h20__nurty[open] > summary .h20__chev { transform:rotate(180deg); }
.h20__nurty-body { display:grid; gap:14px; padding:6px 12px 6px; }
.h20__nurty-fam p { margin:0 0 6px; font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--color-muted); }
.h20__panel .h20__nurty-fam ul { display:flex; flex-wrap:wrap; gap:6px; }
.h20__panel .h20__nurty-fam a { min-height:44px; padding:0 14px; border:1px solid #e6ddd0; border-radius:999px; background:var(--color-white); font-size:14.5px; white-space:nowrap; }
.h20__panel .h20__nurty-fam a:hover { border-color:var(--color-navy); background:var(--color-white); color:var(--color-navy); }
.h20__panel .h20__nurty-fam a[aria-current="page"] { border-color:var(--color-rust); color:var(--color-rust); font-weight:600; }
.h20__panel a.h20__nurty-all { display:inline-flex; gap:8px; padding:0 2px; font-size:14.5px; font-weight:600; color:var(--color-rust); }
.h20__panel--help:has(.h20__nurty[open]) { max-height:calc(100vh - 110px); overflow-y:auto; }
@media (min-width:1100px) {
  .h20__nurty-body { gap:8px; }
  .h20__nurty-fam { display:grid; grid-template-columns:146px minmax(0,1fr); align-items:start; gap:8px; }
  .h20__nurty-fam p { margin:10px 0 0; font-size:12px; letter-spacing:.06em; line-height:1.25; }
  .h20__panel .h20__nurty-fam a { min-height:34px; padding:0 12px; font-size:14px; }
}
.h20__panel a.h20__nurty-m { display:none; }
@media (max-width:1099px) { .h20__nurty { display:none; } .h20__panel a.h20__nurty-m { display:flex; gap:8px; } }
.o6-nurty { margin-top:20px; }
.j11-ap h3 a { color:inherit; text-decoration:underline; text-decoration-color:var(--color-coral); text-decoration-thickness:1px; text-underline-offset:5px; }
.j11-ap--note .text-link + .text-link { margin-top:10px; }
/* Partia 60: bez przewijania w poziomie na 360 px (Claude, 14.10.2026). */
.w16-article .w16-ahero h1 { overflow-wrap:break-word; }
@media (max-width:374px) { .w16-article .w16-ahero h1 { font-size:38px; } }
.p1d-metrics dl dt, .p1d-metrics dl dd { overflow-wrap:anywhere; }
.p1d-metrics { overflow-x:clip; }

/* Part 1b. Scoped additions keep the approved part 1a composition intact. */
.page-intro { padding-block: 56px 64px; }
.page-intro h1 { max-width: 18ch; margin-block: 16px 24px; }
.page-intro .reading { max-width: 39rem; }
.page-intro__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-top: 32px; }
.part-1b-note { margin-top: 32px; max-width: 44rem; }
.team-filters { margin-block: 32px; padding: 24px; background: var(--color-sand); border-radius: 16px; display: grid; gap: 24px; }
.team-filters__field { min-width: 0; display: grid; align-content: start; gap: 8px; }
.team-filters label, .team-filters legend, .booking-search label { font-size: 14px; font-weight: 600; }
.team-filters select, .booking-search input { width: 100%; min-width: 0; min-height: 52px; padding: 12px 40px 12px 16px; border: 1px solid var(--color-field); border-radius: 8px; background: var(--color-cream); }
.team-filters fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.team-filters legend { padding: 0; margin-bottom: 8px; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-pills label { position: relative; display: flex; align-items: center; min-height: 44px; }
.filter-pills input { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border: 1px solid var(--color-field); border-radius: 999px; cursor: pointer; background: var(--color-cream); }
.filter-pills span { position: relative; padding: 10px 16px; pointer-events: none; font-weight: 400; }
.filter-pills input:checked { background: var(--color-navy); border-color: var(--color-navy); }
.filter-pills input:checked + span { color: var(--color-cream); }
.filter-pills input:focus-visible { outline-offset: 3px; }
.team-filters__reset { align-self: end; justify-self: start; }
.team-count { color: var(--color-muted); font-size: 14px; margin-bottom: 24px; min-height: 24px; }
.team-list { display: grid; grid-template-columns: minmax(0,1fr); align-items: stretch; gap: 24px; }
.team-list .specialist-card { min-width: 0; }
.team-list .specialist-card__media img { filter: none; }
.team-list .specialist-card__role { overflow-wrap: anywhere; }
.team-list .specialist-card__actions { flex-wrap: wrap; }
.team-list .specialist-card:focus { outline: 3px solid var(--color-navy); outline-offset: 5px; }
.team-list .specialist-card__facts dd { overflow-wrap: anywhere; }
.team-list .help-card { align-self: stretch; }
.team-list__more { display: flex; justify-content: center; margin-top: 40px; }
.team-empty { padding: 40px 24px; border-block: 1px solid var(--color-line); }
.team-empty h3 { max-width: 24ch; }
.team-empty h3 em { font-family: var(--font-serif); font-weight: 400; color: var(--color-rust); }
.team-empty p { max-width: 38rem; margin-top: 16px; }
.team-empty__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 24px; }
.team-quality { display: grid; gap: 32px; }
.topic-links { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 0 40px; }
.topic-links a { min-height: 44px; padding: 10px 16px; display: inline-flex; align-items: center; text-decoration: none; font-size: 14px; border: 1px solid var(--color-field); border-radius: 999px; }
.topic-links a:hover { background: var(--color-sand); }
.profile-hero { display: grid; gap: 40px; }
.profile-hero h1 { max-width: 20ch; }
.profile-hero__title { max-width: 40rem; font-size: 19px; line-height: 1.5; }
.profile-hero__facts { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; padding-block: 20px; border-block: 1px solid var(--color-line); font-size: 14px; }
.profile-hero blockquote { font: italic 400 clamp(25px,3vw,34px)/1.4 var(--font-serif); max-width: 36rem; margin-top: 32px; }
.profile-hero .text-link { max-width: 32rem; }
.profile-portrait { align-self: start; }
.profile-portrait img { width: 100%; aspect-ratio: 5/6; object-fit: cover; border-radius: 24px; }
.profile-portrait figcaption { font-size: 12px; margin-top: 12px; color: var(--color-muted); }
.profile-layout { display: grid; gap: 40px; }
.profile-layout + .profile-layout { margin-top: 64px; padding-top: 64px; border-top: 1px solid var(--color-line); }
.profile-layout h2 { max-width: 19ch; }
.profile-list { margin: 0; padding-left: 24px; max-width: 40rem; }
.profile-list li + li { margin-top: 16px; }
.profile-locations { display: grid; gap: 24px; }
.profile-location { border-top: 1px solid var(--color-line); padding-top: 24px; }
.profile-location h3 { font-size: 24px; margin-bottom: 8px; }
.profile-location p { max-width: 36rem; }
.profile-qualifications { width: 100%; }
.profile-qualifications summary h2 { display: inline; font-size: var(--text-h3); }
.profile-qualifications .accordion__body { max-width: none; }
.profile-sticky { position: fixed; z-index: 30; inset: auto 0 0; padding: 12px 16px max(12px,env(safe-area-inset-bottom)); border-top: 1px solid var(--color-line); background: var(--color-cream); box-shadow: 0 -8px 24px rgba(28,44,68,.06); }
.profile-sticky .button { width: 100%; }
.booking-paths .choice-grid { align-items: stretch; }
.booking-paths .choice-card h2 { font-size: clamp(30px,3.2vw,42px); max-width: 18ch; }
.booking-paths .choice-card--free h2 em { color: var(--color-pale-coral); }
.booking-paths .choice-card > .button { margin-top: 8px; }
.booking-paths .choice-card__micro { font-size: 13px; }
.booking-search { max-width: 45rem; margin-block: 32px; display: grid; gap: 8px; }
.booking-search input { padding-right: 16px; }
.booking-list { display: grid; gap: 16px; }
.booking-card { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 16px; align-items: start; background: var(--color-sand); padding: 24px; border: 1px solid var(--color-line); border-radius: 16px; }
.booking-card img { width: 56px; height: 68px; object-fit: cover; object-position: top; border-radius: 8px; }
.booking-card h3 { font-size: 24px; }
.booking-card__role { font-size: 14px; line-height: 1.5; margin-block: 8px; }
.booking-card__places { font-size: 13px; color: var(--color-muted); }
.booking-card .button { grid-column: 1/-1; justify-self: start; font-size: 14px; min-height: 44px; padding: 10px 20px; }
.booking-practical { display: grid; gap: 32px; margin-block: 40px 24px; }
.booking-practical article { border-top: 1px solid var(--color-field); padding-top: 24px; }
.booking-practical h3 { font-size: 25px; margin-bottom: 16px; }
.booking-practical p { max-width: 37rem; }
@media (min-width: 650px) {
 .team-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .team-filters__wide { grid-column: 1/-1; }
 .booking-practical { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
}
@media (min-width: 1000px) {
 .page-intro { padding-block: 80px 96px; }
 .team-filters { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 32px; padding: 32px; }
 .team-filters__wide { grid-column: auto; }
 .team-quality { grid-template-columns: 1fr 1.1fr; gap: 80px; }
 .profile-hero { grid-template-columns: 1.25fr .85fr; gap: 64px; align-items: start; }
 .profile-layout { grid-template-columns: .8fr 1.2fr; gap: 80px; }
 .profile-portrait { margin-top: 0; }
 .profile-sticky { display: none; }
 .booking-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 649px) {
 .profile-hero__title { font-size: 17px; }
 .profile-page a, .profile-page summary { scroll-margin-bottom: 108px; }
 .profile-hero .page-intro__actions { align-items: stretch; }
 .profile-hero .page-intro__actions > .button { width: 100%; }
 .booking-card { padding: 20px; }
}

.inline-action { display: inline-flex; align-items: center; min-height: 44px; vertical-align: baseline; }
.booking-search input::placeholder { color: var(--color-muted); opacity: 1; }

/* Part 1b.1: responsive disclosures, portraits and the sourced team mosaic. */
.team-filter-toggle { margin-block: 32px 24px; }
.team-mosaic { display: none; }
.booking-all { margin-top: 24px; }
.profile-hero { grid-template-areas: "intro" "body" "photo"; row-gap: 0; }
.profile-hero__intro { grid-area: intro; }
.profile-hero__body { grid-area: body; min-width: 0; }
.profile-hero__photo { grid-area: photo; margin-top: 40px; }
@media (max-width: 767px) {
 .profile-hero { grid-template-areas: "intro" "photo" "body"; }
 .profile-hero__photo { margin-top: 24px; }
 .profile-hero__photo img { height: 45vh; height: 45svh; aspect-ratio: auto; object-fit: cover; object-position: center 20%; border-radius: var(--radius-card-mobile); }
}
@media (min-width: 1000px) {
 .profile-hero { grid-template-areas: "intro photo" "body photo"; grid-template-rows: max-content 1fr; column-gap: 64px; }
 .profile-hero__photo { margin-top: 0; }
}
@media (min-width: 1024px) {
 .team-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
 .team-mosaic { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 16px; height: 480px; }
 .team-mosaic img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 20%; border-radius: var(--radius-card); }
}

/* A supervisor supports the team and has no booking actions. */
.supervisor-card { grid-column: 1/-1; display: grid; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-card-mobile); background: var(--color-cream); }
.supervisor-card > img { width: 100%; height: 360px; object-fit: cover; object-position: center 20%; }
.supervisor-card__content { display: grid; align-content: start; gap: 20px; padding: 24px; }
.supervisor-card__title { font-size: 17px; line-height: 1.5; }
.supervisor-card__note { font-size: 14px; color: var(--color-muted); }
.supervisor-card .text-link { justify-self: start; }
.team-quality__note { grid-column: 1/-1; }
.supervisor-notice { display: flex; align-items: baseline; gap: 12px; margin-top: 32px; max-width: 36rem; }
.supervisor-notice > span { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: var(--color-coral); }
@media (min-width: 768px) {
 .supervisor-card { grid-template-columns: .65fr 1.35fr; border-radius: var(--radius-card); }
 .supervisor-card > img { height: 100%; min-height: 360px; }
 .supervisor-card__content { padding: 40px; }
}


/* Keep an open disclosure answer clear of the summary focus outline. */
.business-faq .accordion__body, .profile-qualifications .accordion__body { padding-top: 12px; }

/*1c.1 point17: keep the team cards legible on wide phones. */
@media(min-width:520px) { .team-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1024px) { .team-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
