@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; }

/* Approved global navigation and crisis information for part 1c. */
.breadcrumbs { margin-block: 0 16px; color: var(--color-muted); font-size: 14px; line-height: 1.5; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.breadcrumbs li + li::before { content: "›"; }
.breadcrumbs a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
.breadcrumbs [aria-current="page"] { color: var(--color-navy); }
.site-footer__crisis { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin-top: 24px; color: var(--color-cream); font-size: 14px; line-height: 1.5; }
.site-footer__crisis a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.site-footer__crisis a:focus-visible { outline-color: var(--color-cream); }
@media (max-width: 649px) { .site-footer__crisis > span:first-child { flex-basis: 100%; } }

/* Part1c assets already carry the approved source correction. */
img[src*="/zespol/part-1c/"] { filter:none !important; }
/*1c.1 points16–17: responsive source portraits with an overlay place label. */
.specialist-card__media { aspect-ratio:5/6; max-height:none; overflow:hidden; }
.specialist-card__media img { position:static; display:block; width:100%; height:100%; aspect-ratio:5/6; object-fit:cover; }
.specialist-card__place { position:absolute; display:block; left:12px; bottom:12px; right:auto; margin:0; max-width:calc(100% - 24px); background:rgba(251,248,244,.92); color:#1c2c44; border-radius:999px; font-size:13px; }
.supervisor-card > img { height:auto; min-height:0; aspect-ratio:5/6; align-self:start; object-fit:cover; object-position:center; background:var(--color-sand); }
.booking-card img { height:auto; aspect-ratio:5/6; object-fit:cover; }
@media(max-width:767px) {
 .profile-hero__photo img { width:min(100%,37.5svh); height:auto; aspect-ratio:5/6; object-fit:cover; object-position:center; margin-inline:auto; }
}
@media(min-width:1024px) {
 .team-mosaic { height:auto; width:min(100%,265px); grid-template-rows:repeat(3,auto); justify-self:center; }
 .team-mosaic img { height:auto; aspect-ratio:5/6; object-fit:cover; object-position:center; }
}

/* Reserve the enhanced mobile header before deferred JS, with a no-JS fallback. */
@media(max-width:1099px) {
 html.js .site-header:not([data-enhanced]) .site-nav { display:none; }
 html.js .site-header .menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
}
/* A three-level breadcrumb keeps its current page on a stable second row. */
@media(max-width:649px) { .breadcrumbs li:nth-child(3):last-child { flex-basis:100%; } }

/* 1c.1: grouped navigation and source-colored v4 portrait containers. */
.site-footer__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
.site-footer__group { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.site-footer__group h3 { color:var(--color-pale-text); font-size:12px; font-weight:600; line-height:1.3; letter-spacing:.08em; text-transform:uppercase; margin-bottom:12px; }
.site-footer__group a { max-width:100%; }
img[src*="/zespol/v4/"] { filter:none !important; object-position:center; }
:is(.specialist-card__media,.profile-hero__photo,.supervisor-card,.team-mosaic__portrait,.booking-card__photo,.hero__photo) { background:var(--portrait-bg,var(--color-sand)); }
.specialist-card__media img,.profile-hero__photo img,.supervisor-card > img,.booking-card img,.team-mosaic img { background:var(--portrait-bg,var(--color-sand)); aspect-ratio:5/6; object-fit:cover; object-position:center; }
@media(min-width:1024px) { .site-footer__links { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.site-footer__group a { min-width:44px; }
img[src*="/zespol/v4/"] { object-fit:cover; }

/*1c.1 points14–15: approved white footer logo with a44px keyboard target. */
.site-footer__logo { display:flex; align-items:flex-end; width:150px; min-height:44px; margin-bottom:24px; text-decoration:none; }
.site-footer__logo img { display:block; width:100%; height:auto; aspect-ratio:1541/291.1; }
.site-footer__logo + h2 { margin-top:0; }
.site-footer__logo:focus-visible { outline:3px solid #ffb7b1; outline-offset:5px; }
@media(min-width:1024px) { .site-footer__logo { width:180px; } }

/* A1200px source covers every full portrait at DPR2 without enlargement. */
.profile-hero__photo img,.specimen-profile > figure > img { max-width:600px; margin-inline:auto; }
.specimen-grid .specialist-card { max-width:600px; }
@media(max-width:767px) { .supervisor-card { max-width:600px; margin-inline:auto; } }

.specimen-profile > figure { min-width:0; }
.specimen-profile > figure > img { display:block; width:100%; height:auto; aspect-ratio:5/6; object-fit:cover; }
@media(max-width:899px) { .specimen-profile { grid-template-columns:minmax(0,1fr); } }

/* Etap 1e partia 3 (Claude, 12.10.2026). */
/* Karty specjalistów na całej stronie: szklana etykieta miejsca i wyraźny tytuł */
.specialist-card__place { display:inline-flex; align-items:center; gap:6px; width:fit-content; padding:6px 12px 6px 9px; border-radius:999px; font-size:13px; font-weight:600; line-height:1.3; color:var(--color-navy);
  background:rgba(255,255,255,.62); -webkit-backdrop-filter:blur(14px) saturate(170%); backdrop-filter:blur(14px) saturate(170%);
  border:1px solid rgba(255,255,255,.75); box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 22px rgba(28,44,68,.12); }
.specialist-card__place::before { content:""; width:15px; height:15px; flex:none; background:currentColor; -webkit-mask:url("/assets/icons/phosphor/regular/map-pin.svg") center/contain no-repeat; mask:url("/assets/icons/phosphor/regular/map-pin.svg") center/contain no-repeat; }
.specialist-card__place--online::before { -webkit-mask-image:url("/assets/icons/phosphor/regular/video-camera.svg"); mask-image:url("/assets/icons/phosphor/regular/video-camera.svg"); }
.specialist-card__place b { color:var(--color-rust); font-weight:700; }
.specialist-card__role { color:var(--color-rust); font-weight:600; font-size:13.5px; letter-spacing:.01em; }
.specialist-card__quote { border-top:1px solid #f0e9df; padding-top:12px; }


/* Native anchor and focus scrolling must not cancel each other during rapid keyboard input. */
html { scroll-behavior: auto; }
/* Part 1c: approved service layer. Selectors leave the 1a/1b compositions intact. */
.part-1c .breadcrumbs { margin-top: 16px; }
.service-hero { display: grid; gap: 32px; padding-block: 20px 40px; }
.service-hero__copy { display: grid; align-content: center; gap: 20px; min-width: 0; }
.service-hero h1 { font-size: clamp(40px, 4.2vw, 60px); line-height: 1.08; }
.service-lead { max-width: 36rem; }
.service-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.service-actions a { max-width: 100%; }
.service-hero__visual { order: -1; position: relative; padding: 20px; border-radius: 24px; background: var(--service-bg,var(--color-sand)); overflow: hidden; }
.service-hero__visual > img { width: 100%; aspect-ratio: 3/2; object-fit: cover; position: relative; border-radius: 16px; }
.service-hero__visual figcaption { position: relative; display: flex; gap: 8px; align-items: center; font-size: 14px; margin-top: 12px; }
.brand-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--color-coral); }
.service-motif { width: 240px; height: 240px; color: var(--service-ink,var(--color-navy)); pointer-events: none; }
.service-hero__visual > .service-motif { position: absolute; right: -72px; top: -82px; width: 320px; height: 320px; }
.mc-icon { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--service-bg,var(--color-sand)); color: var(--color-navy); }
.mc-icon img { width: 24px; height: 24px; filter: invert(14%) sepia(23%) saturate(1203%) hue-rotate(177deg) brightness(94%) contrast(94%); }
.service-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--color-line); background: #fff; border-radius: 20px; overflow: hidden; }
.service-fact { display: flex; align-items: flex-start; gap: 12px; padding: 20px 14px; min-width: 0; }
.service-fact:nth-child(even) { border-left: 1px solid var(--color-line); }
.service-fact:nth-child(n+3) { border-top: 1px solid var(--color-line); }
.service-fact dt { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--color-muted); }
.service-fact dd { font-family: var(--font-serif); font-size: 20px; line-height: 1.25; margin-top: 6px; overflow-wrap: anywhere; }
.service-micro { font-size: 14px; margin-top: 16px; max-width: 64ch; }
.service-page-nav { position: sticky; top: 0; z-index: 15; padding-block: 12px; background: var(--color-cream); border-block: 1px solid var(--color-line); margin-top: 32px; }
.service-page-nav > .container { display: flex; gap: 16px; align-items: center; }
.service-page-nav span { font-size: 14px; white-space: nowrap; }
.service-page-nav > .container > div { display: flex; gap: 10px; overflow-x:auto; padding:10px; scroll-padding-inline:10px; scrollbar-width:thin; }
.service-page-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; border: 1px solid var(--color-navy); border-radius: 999px; padding: 8px 16px; text-decoration: none; font-size: 14px; }
.service-page-nav a[aria-current="location"] { background: var(--color-navy); color: var(--color-cream); }
.service-section { padding-block: 64px; scroll-margin-top: 100px; }
.service-content > .eyebrow { margin-bottom: 12px; }
.service-content > h2 { max-width: 24ch; margin-bottom: 32px; }
.service-content > p { max-width: 62ch; margin-block: 20px; }
.service-content > h3 { margin-top: 32px; margin-bottom: 16px; }
.service-section[data-band] { background: var(--section-bg); }
.service-when, .service-practical, .service-list { padding: 0; margin: 28px 0; list-style: none; display: grid; gap: 16px; }
.service-when li, .service-practical li { display: flex; align-items: flex-start; gap: 16px; padding: 20px 24px; background: #fff; border: 0; border-radius: 16px; }
.service-when .mc-icon { background: var(--color-coral); }
.service-list li { border-bottom: 1px solid var(--color-line); padding-block: 16px; max-width: 62ch; }
.service-quote { font-family: var(--font-serif); font-style: italic; font-size: 24px; line-height: 1.45; border-left: 2px solid var(--color-coral); padding-left: 24px; max-width: 62ch; margin-top: 32px; }
.service-content h3 + p, .service-content p + p { margin-top: 16px; }
.service-content h3:has(+ p) { max-width: 30ch; }
.service-safety { border-left: 2px solid var(--color-rust); padding: 24px; background: var(--color-sand); margin-top: 24px; max-width: 62ch; }
.service-safety p { margin: 0; }
.service-timeline { display: grid; list-style: none; gap: 32px; padding: 0; margin: 32px 0 0; position: relative; }
.service-timeline::before { content: ''; position: absolute; top: 28px; bottom: 28px; left: 28px; width: 1px; background: var(--color-line); }
.service-timeline li { position: relative; display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 20px; }
.service-step-number { position: relative; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--color-navy); background: var(--color-cream); font: 400 28px/1 var(--font-serif); }
.service-timeline .mc-icon { margin-bottom: 16px; }
.service-timeline h3 { font-size: 20px; margin-bottom: 12px; }
.service-people { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; margin-top: 32px; }
.service-person { display: flex; flex-direction: column; min-width: 0; }
.service-person__profile { text-decoration: none; display: block; }
.service-person img { width: 100%; aspect-ratio: 5/6; object-fit: cover; border-radius: 16px; background: var(--portrait-bg,var(--color-sand)); }
.service-person h3 { font-size: 17px; font-weight:500; line-height: 1.25; margin-block: 12px 6px; }
.service-person p { font-size: 14px; color: var(--color-muted); }
.service-person__actions { margin-top: auto; padding-top: 12px; display: grid; gap: 4px; }
.service-person__actions a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.service-follow { margin-top: 28px; }
.service-accordion { border-bottom: 1px solid var(--color-line); padding-block: 20px; }
.service-accordion summary { font-size: 20px; font-weight: 500; cursor: pointer; min-height: 44px; padding: 8px 36px 8px 0; list-style: none; position: relative; }
.service-accordion summary::-webkit-details-marker { display: none; }
.service-accordion summary::after { content: '+'; font-size: 24px; font-weight: 400; position: absolute; right: 4px; top: 5px; }
.service-accordion[open] summary::after { content: '−'; }
.service-accordion > div { max-width: 62ch; padding-block: 16px 8px; }
.service-accordion p + p { margin-top: 16px; }
.service-item-title { border-top: 1px solid var(--color-line); padding-top: 28px; }
.service-item-meta { font-family: var(--font-serif); font-size: 23px; }
.service-close { display: grid; gap: 32px; align-items: center; }
.service-close > figure img { aspect-ratio: 4/3; width: 100%; object-fit: cover; border-radius: 20px; }
.service-close h2 { margin-bottom: 24px; }
.service-close p { max-width: 62ch; margin-bottom: 24px; }
.service-close figcaption { margin-top: 12px; font-size: 14px; }
.service-facts-repeat { margin-bottom: 48px; }
.service-related h2 { margin-bottom: 24px; }
.service-related > .container > div { display: flex; flex-wrap: wrap; gap: 16px 32px; }
.booking-pending { padding: 20px; border: 1px solid var(--color-field-border); border-radius: 16px; max-width: 38rem; }
.booking-pending p + p { margin-top: 12px; }
.booking-pending .service-actions { margin-top: 16px; }
.service-empty { padding: 32px; background: var(--color-sand); border-radius: 20px; max-width: 48rem; }
.service-empty h3 { margin-bottom: 20px; }
.service-empty p { margin-bottom: 24px; }
.service-index-hero { padding-block: 32px 48px; }
.service-index-hero h1 { max-width: 19ch; margin-block: 16px 24px; }
.service-index-hero > p { max-width: 62ch; }
.service-index-hero .service-actions { margin-top: 24px; }
.service-offer-grid { display: grid; gap: 24px; margin-top: 32px; }
.service-offer-card { position: relative; padding: 32px 28px; background: var(--service-bg); border: 1px solid var(--color-line); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
.service-offer-card > .service-motif { position: absolute; width: 104px; height: 104px; top: 20px; right: 12px; }
.service-offer-card h3 { font-size: 20px; padding-right: 60px; margin-bottom: 24px; min-height: 48px; }
.service-offer-card h3 a { display:inline; font:inherit; line-height:inherit; text-decoration:none; }
.service-offer-card > p { max-width: 38ch; }
.service-offer-card .service-offer-price { margin-top: auto; padding-top: 24px; font: 400 22px/1.4 var(--font-serif); }
.service-free-card { padding: 32px; border-radius: 24px; background: var(--color-navy); color: var(--color-cream); display: grid; gap: 20px; }
.service-free-card .eyebrow { color: var(--color-pale-coral); }
.service-free-card h2 { font-size: 32px; }
.service-free-card p { max-width: 62ch; }
.service-free-values { font: 400 30px/1.3 var(--font-serif); }
.service-free-card .button { justify-self: start; }
.service-table { border-collapse: collapse; width: 100%; margin-top: 32px; text-align: left; }
.service-table th, .service-table td { border-bottom: 1px solid var(--color-line); padding: 20px 12px; vertical-align: top; }
.service-table thead th { font-size: 13px; text-transform: uppercase; font-weight: 600; }
.service-table tbody th { font-weight: 500; width: 50%; }
.service-table td:last-child { font-family: var(--font-serif); font-size: 24px; }
.service-color-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--service-ink); margin-right: 10px; }
.service-table-wrap { max-width: 900px; }
.service-room-grid { display: grid; gap: 32px; }
.service-room-card { display: flex; flex-direction: column; min-width: 0; }
.service-room-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 20px; }
.service-room-card h2 { font-size: 32px; margin-top: 16px; }
.service-room-card p { margin-top: 16px; }
.service-room-card .service-actions { margin-top: auto; padding-top: 20px; }
.service-room-gallery { display: flex; overflow-x: auto; gap: 24px; padding: 12px 10px 24px; scroll-padding-inline:10px; scroll-snap-type:x proximity; }
.service-room-gallery figure { flex: 0 0 82%; scroll-snap-align: start; }
.service-room-gallery button { padding: 0; border: 0; background: transparent; width: 100%; display: block; border-radius: 20px; }
.service-room-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 20px; }
.service-room-gallery figcaption { margin-top: 12px; font-size: 14px; }
.gallery-dialog { border: 0; background: var(--color-cream); color: var(--color-navy); border-radius: 20px; max-width: min(1100px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 24px; }
.gallery-dialog::backdrop { background: rgba(14,23,38,.85); }
.gallery-dialog img { max-height: 65dvh; max-width: 100%; margin: 16px auto; object-fit: contain; }
.gallery-dialog__actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.gallery-dialog button { min-height: 44px; min-width: 44px; border: 1px solid var(--color-navy); border-radius: 999px; background: transparent; padding: 8px 16px; }
.gallery-dialog figcaption { max-width: 62ch; }
.mc-icons-sheet, .mc-cover-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-block: 24px; }
.mc-icons-sheet > div { display: flex; gap: 12px; align-items: center; font-size: 13px; overflow-wrap: anywhere; }
.mc-new { display: inline-flex; gap: 8px; align-items: center; padding: 4px 12px; font-weight: 600; font-size: 13px; border-radius: 999px; background: var(--color-cream); border: 1px solid var(--color-line); }
.mc-cover { container-type:inline-size; position: relative; background: var(--service-bg); border: 1px solid var(--color-line); aspect-ratio: 3/2; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; overflow: hidden; }
.mc-cover > .service-motif { position: absolute; width: 38%; height: 60%; right: 2%; top: 18%; }
.mc-cover-label { font-size: 12px; font-weight: 600; max-width: 62%; }
.mc-cover-title { font-size:clamp(18px,6cqi,24px); hyphens:auto; overflow-wrap:anywhere; line-height: 1.2; max-width: 55%; margin-top: auto; margin-bottom:12px; }
.mc-cover-brand { font-size: 12px; }
.mc-cover--og { aspect-ratio: 1200/630; }
.mc-cover--portrait { aspect-ratio: 4/5; }
.mc-cover--portrait .service-motif { top: 16%; right: 10%; width: 70%; height: 28%; }
.mc-cover--portrait .mc-cover-title { max-width: 100%; }
.mc-cover--dark { color: var(--color-cream); }
.mc-cover--dark em { color: var(--color-pale-coral); }
img[src*="/zespol/part-1c/"] { filter: none !important; }
@media(max-width:767px) {
 .service-page-nav span { display: none; }
 .service-page-nav > .container > div { width: 100%; }
 .service-price-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .service-price-table, .service-price-table tbody { display:block; }
 .service-price-table colgroup { display:none; }
 .service-price-table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; column-gap:16px; row-gap:2px; padding-block:8px; border-bottom:1px solid var(--color-line); }
 .service-price-table th,.service-price-table td { display:block; width:auto; border:0; padding:0; }
 .service-price-table tbody th { grid-area:1/1; font-size:16px; line-height:1.2; padding-left:18px; position:relative; }
 .service-price-table tbody th a { text-underline-offset:3px; }
 .service-price-table td:nth-child(2) { grid-area:2/1; padding-left:18px; font-size:14px; line-height:1.4; color:var(--color-muted); }
 .service-price-table td:last-child { grid-area:1/2/3/3; align-self:center; font-size:23px; line-height:1.25; white-space:nowrap; }
 .service-price-table .service-color-dot { position:absolute; left:0; top:5px; width:8px; height:8px; margin:0; }
 .service-fact { flex-direction: column; }
}
@media(min-width:768px) {
 .service-section { padding-block:72px; }
 .service-people { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-offer-grid,.service-practical,.service-room-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .service-room-gallery figure { flex-basis: 46%; }
 .mc-icons-sheet { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .mc-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1024px) {
 .service-hero { grid-template-columns: 1.05fr .95fr; gap: 48px; padding-block: 40px 48px; align-items: center; }
 .service-hero__visual { order: 0; padding: 32px; }
 .service-hero__visual > img { aspect-ratio: 4/5; }
 .service-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-fact:nth-child(n) { border-top: 0; border-left: 1px solid var(--color-line); padding: 24px; }
 .service-fact:first-child { border: 0; }
 .service-section { padding-block: 88px; }
 .service-when { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-timeline { grid-template-columns: repeat(var(--steps,4),minmax(0,1fr)); }
 .service-timeline::before { left: 28px; right: 28px; top: 28px; bottom: auto; width: auto; height: 1px; }
 .service-timeline li { display: block; }
 .service-step-number { margin-bottom: 24px; }
 .service-people { grid-template-columns: repeat(6,minmax(0,1fr)); }
 .service-close { grid-template-columns: .9fr 1.1fr; gap: 48px; }
 .service-facts-repeat { display: none; }
 .service-room-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .service-room-gallery figure { flex-basis: calc((100% - 48px)/3); }
}
@media(prefers-reduced-motion:reduce) { .service-page-nav { transition: none; } .service-room-gallery { scroll-behavior:auto; scroll-snap-type:none; } }

.service-comparison { display:grid; gap:32px; margin-top:32px; }
.service-comparison article { border-top:1px solid var(--color-line); padding-top:24px; }
.service-comparison article h3 { margin-bottom:20px; }
.service-comparison article p + p { margin-top:16px; }
.service-comparison .service-item-title { border:0; padding-top:0; }
#wiedza .service-list { display:grid; gap:24px; }
#wiedza .service-list li { padding:24px; background:var(--color-cream); border:0; border-radius:16px; font:400 24px/1.3 var(--font-serif); }
@media(min-width:1024px) { .service-comparison { grid-template-columns:repeat(var(--columns,2),minmax(0,1fr)); } #wiedza .service-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .mc-cover-grid { grid-template-columns:1fr; } }

.mc-cover-title em { font-family:var(--font-serif); font-style:italic; font-weight:400; }

@media(min-width:1200px) { .mc-cover-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* 1c.1: typography and rhythm are scoped to the approved 1c pages. */
.part-1c h1 { font-size:clamp(40px,4.2vw,60px); line-height:1.08; }
.part-1c h2 { font-size:clamp(30px,2.9vw,42px); line-height:1.12; }
.service-room-card h2 { font-size:20px; }
.service-content > h2 { margin-bottom:32px; }
.service-content > h2:has(+ p:not(.service-follow)) { margin-bottom:16px; }
.service-content > p { margin-block:0 16px; }
.service-content > p:last-child { margin-bottom:0; }
.service-content > p + :is(ul,ol,.service-people,.service-comparison,details,.service-table-wrap) { margin-top:32px; }
.service-content > h2 + :is(ul,ol,.service-people,.service-comparison,.service-table-wrap) { margin-top:0; }
.service-content > .eyebrow { margin-bottom:12px; }
.service-related { padding-block:56px; }
.service-close .eyebrow { margin-bottom:12px; }
.service-close h2 { margin-bottom:16px; }
.service-close > .service-facts-repeat { grid-column:1/-1; margin-bottom:0; }
.service-person { text-decoration:none; color:var(--color-navy); border-radius:16px; }
.service-person__photo { display:block; overflow:hidden; border-radius:16px; background:var(--portrait-bg,var(--color-sand)); aspect-ratio:5/6; }
.service-person__photo img { display:block; object-position:center; transition:transform 200ms ease; }
.service-person:focus-visible { outline:2px solid #1c2c44; outline-offset:4px; }
.service-person__actions { display:none; }
.service-check { flex:none; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#ff6b61; margin-top:3px; }
.service-check svg { width:12px; height:12px; }
.service-when li { font-size:17px; }
.mc-fact-dot { flex:none; width:8px; height:8px; border-radius:50%; background:#ff6b61; margin:8px 18px; }
.service-offer-card h3 .arrow { margin-left:8px; }
.service-table { table-layout:fixed; }
.service-price-table tbody th { width:52%; }
.service-price-table td { overflow-wrap:normal; }
#wiedza .service-list li > div { position:relative; padding-left:16px; }
#wiedza .service-list li > div::before { content:''; position:absolute; left:0; top:.65em; transform:translateY(-50%); width:7px; height:7px; border-radius:50%; background:var(--color-coral); }
#wiedza .service-list a { display:flex; position:relative; align-items:center; min-height:44px; padding-right:36px; text-decoration:none; }
#wiedza .service-list a .arrow { position:absolute; right:0; top:50%; transform:translateY(-50%); margin:0; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .service-person:hover img { transform:scale(1.02); } }
@media(max-width:767px) {
 .part-1c .breadcrumbs { margin-block:0; }
 .service-hero { padding-top:8px; }
 .service-hero__copy { gap:12px; }
 .service-hero__visual { order:0; }
 .service-actions { gap:12px; }
 .service-price-table tbody th { width:auto; }
}
@media(prefers-reduced-motion:reduce) { .service-person__photo img { transition:none; transform:none; } }
@media(max-width:767px) {
 .service-price-table td:has([data-price-key="attendance"]) { max-width:125px; white-space:normal; font-size:17px; line-height:1.2; }
}
#wiedza .service-list li > div { flex:1; min-width:0; }
.mc-fact-dot { display:inline-block; }
.service-content > p:has(+ .service-actions), .service-close p:has(+ .service-actions) { margin-bottom:32px; }
#wiedza .service-list li::before { content:none; }
#wiedza .service-list a { font:inherit; line-height:1.3; align-items:flex-start; padding-block:7px; }
#wiedza .service-list li > div::before { top:calc(.65em + 7px); }
#wiedza .service-list li { align-items:stretch; }
#wiedza .service-list li > div { display:flex; }
#wiedza .service-list a { flex:1; }
