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

/* 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; }


/* 1c.1 point 18, variant E: a small footer line, separate from the full strip. */
.site-footer .site-footer__crisis {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-top: 24px;
  background: rgba(255, 107, 97, .14);
  border-radius: 16px;
  padding: 6px 8px 6px 6px;
  color: #fbf8f4;
  font: 400 14px/1.5 var(--font-sans);
}
.site-footer__crisis .site-footer__crisis-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.site-footer__crisis .site-footer__crisis-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ff6b61;
  color: #1c2c44;
}
.site-footer__crisis-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}
.site-footer__crisis .site-footer__crisis-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  min-width: 0;
}
.site-footer .site-footer__crisis a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  color: #fbf8f4;
  font: inherit;
}
.site-footer__crisis .site-footer__crisis-number {
  padding-block: 6px;
  text-decoration: none;
}
.site-footer__crisis-number > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #ff6b61;
  color: #1c2c44;
  font-weight: 600;
  white-space: nowrap;
}
.site-footer__crisis .site-footer__crisis-help {
  padding-inline: 4px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.site-footer .site-footer__crisis a:focus-visible {
  outline: 2px solid #fbf8f4;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  .site-footer__crisis .site-footer__crisis-label { flex-basis: 100%; }
}

/* Stage1c.2: shared refinements preserve the approved1c.1 component system. */
.breadcrumbs li { white-space:nowrap; }
.breadcrumbs li + li::before { content:none; }
.breadcrumbs li:not(:last-child)::after { content:'›'; margin-left:0; }
@media(max-width:767px) {
 .breadcrumbs { margin-bottom:20px; }
 .part-1c .breadcrumbs { margin-bottom:20px; }
 .breadcrumbs li:nth-child(3):last-child { flex-basis:auto; }
 .service-page-nav > .container > div { scrollbar-width:none; }
 .service-page-nav > .container > div::-webkit-scrollbar { display:none; }
 .service-page-nav > .container { position:relative; }
 .service-page-nav.has-more > .container::after { content:''; position:absolute; top:0; bottom:0; right:0; width:24px; pointer-events:none; background:linear-gradient(to right,transparent,var(--nav-bg,#fbf8f4)); }
}
.site-footer__logo img { aspect-ratio:1423/291.1; }
.calendesk-embed { width:100%; max-width:880px; min-width:0; margin-block:24px; }
.calendesk-embed__frame { display:none; width:100%; min-height:900px; border:0; border-radius:16px; background:#fff; }
.calendesk-embed__frame[src] { display:block; }
.calendesk-embed__fallback { padding:24px; background:#fff; border-radius:16px; margin-top:16px; }
.calendesk-embed__status { font-size:14px; margin-block:8px; }
.calendesk-embed__status:empty { display:none; }
.booking-calendar { scroll-margin-top:20px; background:var(--color-peach); border-radius:20px; padding:24px 16px; margin-block:24px; }
.booking-calendar:focus { outline:2px solid var(--color-navy); outline-offset:4px; }
.booking-calendar__heading { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.booking-calendar__heading img { display:block; flex:none; width:56px; height:56px; border-radius:50%; object-fit:cover; }
.booking-calendar__heading h3 { font-size:22px; margin-bottom:8px; }
.booking-calendar__heading p { font-size:14px; }
.booking-calendar__heading .text-link { min-height:44px; }
.booking-calendar__closed { background:#fff; padding:24px; border-radius:16px; }
.booking-calendar__closed .service-actions { margin-top:24px; }
.booking-calendar__closed p { max-width:62ch; }
.part-1c2-home .section,.part-1c2-team .section { padding-block:64px; }
.part-1c2-home .section-heading,.part-1c2-team .section-heading { font-size:clamp(30px,2.9vw,42px); line-height:1.12; }
.home-offer-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.home-offer-card { position:relative; overflow:hidden; padding:24px; border-radius:20px; background:var(--service-bg); }
.home-offer-card h3 { max-width:calc(100% - 72px); font-size:24px; margin-bottom:20px; }
.home-offer-card .home-offer-subtitle { font-weight:500; margin-bottom:16px; }
.home-offer-card p { margin-bottom:16px; }
.home-offer-card > .service-motif { position:absolute; right:12px; top:16px; width:64px; height:64px; }
.home-offer-card .service-list { display:block; margin-block:16px; }
.home-offer-card .service-list li { padding-block:8px; border:0; }
.home-offer-card .service-list a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:3px; }
.home-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; margin-top:32px; }
.home-metrics dt { font:400 clamp(28px,3.2vw,44px)/1.1 var(--font-serif); font-variant-numeric:lining-nums; margin-bottom:12px; }
.home-metrics dd { font-size:16px; }
.home-metrics-source { font-size:13px; color:#526074; margin-top:24px; }
.home-partners-label { margin-top:40px; margin-bottom:16px; font-weight:500; }
.home-partners { display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
.home-partners a { display:flex; align-items:center; justify-content:center; min-height:92px; background:#fff; padding:20px; border-radius:12px; }
.home-partners img { max-width:100%; width:auto; height:44px; object-fit:contain; }
.home-cooperation { max-width:62ch; margin-block:24px; }
.part-1c2-team #jakosc { background:#f2ece3; }
.group-form { max-width:880px; padding:24px; background:#fff; border-radius:20px; margin-top:32px; }
.group-form h3 { font-size:24px; margin-bottom:16px; }
.group-form > p { margin-bottom:24px; }
.group-form__fields { display:grid; gap:24px; }
.group-form label,.group-form legend { display:block; font-weight:500; margin-bottom:8px; }
.group-form fieldset { margin:0; padding:0; border:0; }
.group-form input:not([type=radio]):not([type=checkbox]),.group-form select,.group-form textarea { width:100%; min-height:48px; border:1px solid #8a7e6e; border-radius:10px; padding:12px; background:#fbf8f4; color:#1c2c44; font:inherit; }
.group-form textarea { min-height:110px; }
.group-form input[aria-invalid=true],.group-form select[aria-invalid=true] { border:2px solid #a83c34; }
.group-form .group-form__choice { display:flex; align-items:center; gap:12px; min-height:44px; font-weight:400; margin:0; }
.group-form input[type=radio],.group-form input[type=checkbox] { width:22px; height:22px; flex:none; accent-color:#1c2c44; }
.group-form__hint { font-size:14px; margin-top:8px; }
.group-form__error { color:#a83c34; font-size:14px; margin-top:8px; }
.group-form__summary { padding:20px; border:2px solid #a83c34; border-radius:12px; margin-bottom:24px; }
.group-form__summary a { display:block; min-height:44px; }
.group-form__consent { margin-block:24px; }
.group-form__submit { margin-top:24px; }
.group-form__result { padding:24px; background:#f5ded7; border-radius:16px; margin-top:24px; }
.group-form__demo { font-size:14px; padding:16px; background:#f2ece3; border-radius:12px; margin-bottom:24px; }
@media(min-width:768px) {
 .calendesk-embed__frame { min-height:760px; }
 .booking-calendar { padding:32px; }
 .part-1c2-home .section,.part-1c2-team .section { padding-block:72px; }
 .home-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-partners { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .group-form__fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .group-form__wide { grid-column:1/-1; }
}
@media(min-width:1024px) {
 .part-1c2-home .section,.part-1c2-team .section { padding-block:88px; }
 .home-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .part-1c2-home .offer-layout { grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr); align-items:start; }
}

/* Keep source numbers together and reserve the motif area above the card copy. */
.part-1c2-home .band-sand { background:#f2ece3; }
.home-offer-card h3 { min-height:64px; }
.home-metrics-number { white-space:nowrap; }

.home-offer-group { display:flex; flex-direction:column; gap:16px; min-width:0; }
.home-offer-group > .home-offer-card { flex:1; }
.home-psychiatry-note { font-size:16px; padding-inline:24px; }
/* Partia 26 (Claude): wysokość z czystej strony rezerwacji Calendesk. */
.calendesk-embed__frame[data-height-received="true"] { min-height:0; }

/* Approved profile sequence for1c.2. Shared navigation and calendars remain external. */
/* Native focus and anchors must not leave a previous smooth scroll running. */
html { scroll-behavior:auto; }
.part-1c2-profile { --profile-gap:24px; }
.part-1c2-profile .section { padding-block:64px; }
.part-1c2-profile .profile-band-sand { background:var(--color-sand); }
.part-1c2-profile .profile-hero { padding-block:24px 48px; grid-template-columns:minmax(0,1fr); grid-template-areas:'intro' 'body' 'photo'; gap:0; }
.part-1c2-profile .profile-hero .eyebrow { margin-bottom:8px; }
.part-1c2-profile .profile-hero h1 { margin-block:0 12px; font-size:40px; line-height:1.08; }
.part-1c2-profile .profile-hero__title { font-size:16px; line-height:1.45; }
.part-1c2-profile .profile-hero blockquote { font-size:22px; line-height:1.3; margin-top:20px; }
.part-1c2-profile .profile-hero .page-intro__actions { margin-top:20px; gap:12px; align-items:flex-start; }
.part-1c2-profile .profile-hero .page-intro__actions > .button { width:100%; }
.part-1c2-profile .profile-hero .text-link { min-height:44px; font-size:16px; line-height:1.4; }
.part-1c2-profile .profile-hero__photo { margin:28px auto 0; width:240px; max-width:100%; aspect-ratio:4/5; height:300px; border-radius:20px; }
.part-1c2-profile .profile-hero__photo img { width:100%; height:100%; max-width:600px; aspect-ratio:4/5; object-fit:contain; object-position:center; border-radius:20px; }
.part-1c2-profile .profile-hero__photo figcaption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.profile-supervisor-notice { margin-top:24px; font-size:17px; }
.profile-facts-band { border-block:1px solid var(--color-line); background:var(--color-cream); }
.profile-facts { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; padding-block:32px; }
.profile-facts > div { display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px 16px; align-content:start; }
.profile-facts .profile-icon { grid-row:1/3; }
.profile-facts dt { font-size:12px; line-height:1.4; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.profile-facts dd { font-size:16px; line-height:1.5; }
.profile-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:var(--color-sand); flex:none; }
.profile-icon img { width:24px; height:24px; }
.profile-icon img,.profile-check img { filter:invert(14%) sepia(23%) saturate(1203%) hue-rotate(177deg) brightness(94%) contrast(94%); }
.part-1c2-profile .service-page-nav { position:sticky; top:0; z-index:15; padding-block:12px; background:var(--color-cream); border-block:1px solid var(--color-line); }
.part-1c2-profile .service-page-nav > .container { display:flex; gap:16px; align-items:center; }
.part-1c2-profile .service-page-nav > .container > span { font-size:14px; white-space:nowrap; }
.part-1c2-profile .service-page-nav > .container > div { display:flex; min-width:0; gap:10px; overflow-x:auto; padding:10px; scroll-padding-inline:10px; }
.part-1c2-profile .service-page-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; flex:0 0 auto; white-space:nowrap; border:1px solid var(--color-navy); border-radius:999px; padding:8px 16px; text-decoration:none; font-size:14px; }
.part-1c2-profile .service-page-nav a[aria-current='location'] { background:var(--color-navy); color:var(--color-cream); }
.part-1c2-profile .service-page-nav a[aria-current='location']:focus-visible { outline-color:var(--color-navy); }
.part-1c2-profile .profile-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
.part-1c2-profile .section h2 { font-size:clamp(30px,2.9vw,42px); line-height:1.12; }
.profile-topic-grid,.profile-practical-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; list-style:none; padding:0; margin:32px 0 0; }
.profile-topic-grid li { display:flex; align-items:flex-start; gap:14px; padding:24px; border-radius:20px; background:#fff; min-width:0; }
.profile-check { flex:none; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--color-coral); margin-top:2px; }
.profile-check img { width:12px; height:12px; }
.profile-topics-notice { margin-top:32px; padding:24px; border:1px solid var(--color-navy); border-radius:16px; max-width:880px; }
.profile-topics-notice a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; }
.profile-calendar-reading { max-width:880px; }
.profile-calendar-lead { margin-top:24px; max-width:64ch; }
.profile-calendar-contact { margin-top:24px; max-width:70ch; }
.profile-calendar-closed { margin-block:24px; padding:24px; border-radius:16px; background:#fff; }
.profile-calendar-closed p { max-width:66ch; }
.profile-steps { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; margin:32px 0 0; padding:0; list-style:none; }
.profile-steps > li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; position:relative; min-width:0; }
.profile-step-number { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--color-navy); border-radius:50%; background:var(--color-cream); font:400 28px/1 var(--font-serif); position:relative; z-index:1; }
.profile-steps > li:not(:last-child)::after { content:''; position:absolute; top:48px; left:24px; bottom:-32px; width:1px; background:var(--color-line); }
.profile-steps .profile-icon { margin-bottom:16px; }
.profile-steps h3 { font-size:24px; margin-bottom:12px; }
.profile-steps p { max-width:40ch; }
.part-1c2-profile .profile-qualifications summary h2 { font-size:clamp(30px,2.9vw,42px); }
.part-1c2-profile .profile-qualifications .accordion__body { padding-top:24px; }
.part-1c2-profile .profile-list { max-width:880px; }
.profile-room-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin-top:32px; align-items:stretch; }
.profile-room-card { background:var(--color-sand); border-radius:20px; overflow:hidden; min-width:0; }
.profile-room-photo { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.profile-room-card__body { padding:24px; }
.profile-room-card h3 { font-size:24px; margin-bottom:16px; }
.profile-room-access { margin-top:12px; }
.profile-room-card .text-link { margin-top:16px; }
.profile-room-card--online { padding:24px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:24px; }
.profile-room-card--online .profile-icon { background:var(--color-cream); }
.profile-room-card--online h3 { margin:0; }
.profile-practical-grid li { padding:24px; border-radius:20px; background:#fff; min-width:0; }
.profile-practical-grid .profile-icon { margin-bottom:20px; }
.profile-rules-link { margin-top:24px; }
.part-1c2-profile .profile-sticky { z-index:30; }
.part-1c2-profile section[id] { scroll-margin-top:calc(100px - var(--space-3)); }
@media(max-width:767px) {
 .part-1c2-profile .service-page-nav > .container > span { display:none; }
 .part-1c2-profile .service-page-nav > .container > div { width:100%; }
 .part-1c2-profile a,.part-1c2-profile summary { scroll-margin-bottom:108px; }
 .part-1c2-profile .profile-qualifications summary { padding-block:24px; }
}
@media(min-width:768px) {
 .part-1c2-profile .section { padding-block:72px; }
 .part-1c2-profile .profile-hero { padding-block:40px 64px; }
 .part-1c2-profile .profile-hero h1 { font-size:52px; }
 .part-1c2-profile .profile-hero__title { font-size:19px; max-width:48rem; }
 .part-1c2-profile .profile-hero blockquote { font-size:30px; margin-top:32px; }
 .part-1c2-profile .profile-hero .page-intro__actions { margin-top:32px; gap:16px 24px; }
 .part-1c2-profile .profile-hero .page-intro__actions > .button { width:auto; }
 .part-1c2-profile .profile-hero__photo { width:min(100%,600px); height:auto; aspect-ratio:5/6; margin-top:40px; }
 .part-1c2-profile .profile-hero__photo img { height:auto; aspect-ratio:5/6; object-fit:cover; }
 .profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
 .profile-facts dd { font-size:17px; }
 .profile-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .profile-practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .profile-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .part-1c2-profile .profile-sticky { display:none; }
}
@media(min-width:1024px) {
 .part-1c2-profile .section { padding-block:88px; }
 .part-1c2-profile .profile-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); grid-template-areas:'intro photo' 'body photo'; column-gap:64px; grid-template-rows:max-content 1fr; padding-block:56px 88px; }
 .part-1c2-profile .profile-hero h1 { font-size:clamp(52px,4.2vw,60px); }
 .part-1c2-profile .profile-hero__photo { margin-top:0; }
 .part-1c2-profile .profile-hero blockquote { font-size:32px; }
 .part-1c2-profile .profile-hero .text-link { font-size:17px; }
 .profile-facts { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
 .part-1c2-profile .profile-layout { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:80px; }
 .profile-topic-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
 .profile-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:48px; }
 .profile-steps > li { display:block; }
 .profile-step-number { margin-bottom:32px; }
 .profile-steps > li:not(:last-child)::after { top:24px; left:48px; right:-40px; bottom:auto; height:1px; width:auto; }
 .profile-room-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .profile-practical-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
 .part-1c2-profile .service-page-nav { transition:none; }
}

/* Stage1d, confirmed fixes after1c.2. */
.home-partners a { min-height:112px; padding:8px 20px; }
.home-partners .partner-logo { object-fit:contain; width:auto; max-width:100%; }
.home-partners .partner-logo--ptzs { height:96px; }
.home-partners .partner-logo--siec-badawcza-w-psychoterapii { height:84px; }
.home-partners .partner-logo--akademia-humanitas-ciemne { height:44px; }
.part-1c2-profile .profile-hero .profile-free-link { display:block; }
.part-1c2-profile .profile-free-link .arrow { display:inline-block; vertical-align:middle; margin-left:10px; }
.part-1c2-profile .profile-qualifications summary h2 { color:#1c2c44; }
.booking-calendar { width:100%; max-width:1040px; }
.booking-calendar .calendesk-embed { max-width:none; width:100%; }
.booking-calendar__title { margin-bottom:24px; }
@media(min-width:1024px) { .home-partners a { min-height:128px; } }

/* Approved profile mock-up, 12 October 2026.
   Load after shared/profile styles. All rules are limited to .profile-1e.
   Icon URLs are resolved from this stylesheet, not from profile HTML. */
body.profile-1e {
  --color-profile-mint: #dff0ea;
  --color-profile-fog: #dfe7ef;
  --color-profile-purple: #6e5a84;
  --color-profile-green: #2f6b5c;
  --color-profile-gold: #8a6a1f;
  --color-profile-blue: #3d5a7a;
  --color-profile-video: #1f2a3a;
  --color-profile-control: #3a4658;
  --color-profile-indicator: #7fd1a8;
  --color-profile-shadow: color-mix(in srgb, var(--color-navy) 14%, transparent);
  --color-profile-soft-shadow: color-mix(in srgb, var(--color-navy) 6%, transparent);
  --p1e-shadow-high: 0 26px 54px var(--color-profile-shadow);
  color: var(--color-navy);
  background: var(--color-cream);
  font-variant-numeric: lining-nums;
}
.profile-1e .p1e-section { padding-block:76px; }
.profile-1e .p1e-section h2 { font-size:clamp(28px,2.7vw,40px); line-height:1.12; }
.profile-1e .p1e-section > .container > h2 { margin:0 0 32px; max-width:30ch; }
.profile-1e .p1e-section h3 { font-weight:500; }
.profile-1e main :is(.p1e-it, h2 em) { font-family:var(--font-serif); font-style:italic; font-weight:500; color:var(--color-rust); }
.profile-1e :is(.p1e-hero,.p1e-section) :is(a,button,summary) { scroll-margin-block:24px 108px; }
.profile-1e .p1e-section[id] { scroll-margin-top:calc(var(--p1e-nav-height,90px) + 16px); }
.profile-1e :is(.p1e-hero,.p1e-section) :is(.text-link,.inline-action) { min-height:44px; }
.profile-1e :is(.p1e-hero,.p1e-section) .button { max-width:100%; }
.profile-1e :is(.p1e-hero,.p1e-section) :is(a,button,summary):focus-visible { outline:3px solid var(--color-navy); outline-offset:5px; }
.profile-1e :is(.p1e-book,.p1e-section)[tabindex='-1']:focus-visible { outline:3px solid var(--color-navy); outline-offset:5px; }
.profile-1e :is(.p1e-hero,.p1e-section) :is(p,li,dd) { overflow-wrap:break-word; }

/* Reusable local icon masks and coloured holders. */
.profile-1e .p1e-ic { display:inline-block; width:22px; height:22px; flex:none; background:currentColor; -webkit-mask:var(--m) center/contain no-repeat; mask:var(--m) center/contain no-repeat; }
.profile-1e .p1e-ic[data-icon='map-pin'] { --m:url('/assets/icons/phosphor/regular/map-pin.svg'); }
.profile-1e .p1e-ic[data-icon='users'] { --m:url('/assets/icons/phosphor/regular/users.svg'); }
.profile-1e .p1e-ic[data-icon='compass'] { --m:url('/assets/icons/phosphor/regular/compass.svg'); }
.profile-1e .p1e-ic[data-icon='translate'] { --m:url('/assets/icons/phosphor/regular/translate.svg'); }
.profile-1e .p1e-ic[data-icon='clock'] { --m:url('/assets/icons/phosphor/regular/clock.svg'); }
.profile-1e .p1e-ic[data-icon='check'] { --m:url('/assets/icons/phosphor/regular/check.svg'); }
.profile-1e .p1e-ic[data-icon='credit-card'] { --m:url('/assets/icons/phosphor/regular/credit-card.svg'); }
.profile-1e .p1e-ic[data-icon='calendar-check'] { --m:url('/assets/icons/phosphor/regular/calendar-check.svg'); }
.profile-1e .p1e-ic[data-icon='arrow-u-up-left'] { --m:url('/assets/icons/phosphor/regular/arrow-u-up-left.svg'); }
.profile-1e .p1e-ic[data-icon='shield-check'] { --m:url('/assets/icons/phosphor/regular/shield-check.svg'); }
.profile-1e .p1e-ic[data-icon='chat-circle'] { --m:url('/assets/icons/phosphor/regular/chat-circle.svg'); }
.profile-1e .p1e-ic[data-icon='chats'] { --m:url('/assets/icons/phosphor/regular/chats.svg'); }
.profile-1e .p1e-ic[data-icon='question'] { --m:url('/assets/icons/phosphor/regular/question.svg'); }
.profile-1e .p1e-ic[data-icon='signpost'] { --m:url('/assets/icons/phosphor/regular/signpost.svg'); }
.profile-1e .p1e-ic[data-icon='clipboard-text'] { --m:url('/assets/icons/phosphor/regular/clipboard-text.svg'); }
.profile-1e .p1e-ic[data-icon='heart'] { --m:url('/assets/icons/phosphor/regular/heart.svg'); }
.profile-1e .p1e-ic[data-icon='stairs'] { --m:url('/assets/icons/phosphor/regular/stairs.svg'); }
.profile-1e .p1e-ic[data-icon='elevator'] { --m:url('/assets/icons/phosphor/regular/elevator.svg'); }
.profile-1e .p1e-ic[data-icon='train'] { --m:url('/assets/icons/phosphor/regular/train.svg'); }
.profile-1e .p1e-ic[data-icon='tram'] { --m:url('/assets/icons/phosphor/regular/tram.svg'); }
.profile-1e .p1e-ic[data-icon='video-camera'] { --m:url('/assets/icons/phosphor/regular/video-camera.svg'); }
.profile-1e .p1e-ic[data-icon='microphone'] { --m:url('/assets/icons/phosphor/regular/microphone.svg'); }
.profile-1e .p1e-ic[data-icon='headphones'] { --m:url('/assets/icons/phosphor/regular/headphones.svg'); }
.profile-1e .p1e-ic[data-icon='phone'] { --m:url('/assets/icons/phosphor/regular/phone.svg'); }
.profile-1e .p1e-ic[data-icon='user'] { --m:url('/assets/icons/phosphor/regular/user.svg'); }
.profile-1e .p1e-ic[data-icon='armchair'] { --m:url('/assets/icons/phosphor/regular/armchair.svg'); }
.profile-1e .p1e-ic[data-icon='car'] { --m:url('/assets/icons/phosphor/regular/car.svg'); }
.profile-1e .p1e-ic[data-icon='coffee'] { --m:url('/assets/icons/phosphor/regular/coffee.svg'); }
.profile-1e .p1e-ic[data-icon='currency-circle-dollar'] { --m:url('/assets/icons/phosphor/regular/currency-circle-dollar.svg'); }
.profile-1e .p1e-ic[data-icon='footprints'] { --m:url('/assets/icons/phosphor/regular/footprints.svg'); }
.profile-1e .p1e-ic[data-icon='house-line'] { --m:url('/assets/icons/phosphor/regular/house-line.svg'); }
.profile-1e .p1e-ic[data-icon='lifebuoy'] { --m:url('/assets/icons/phosphor/regular/lifebuoy.svg'); }
.profile-1e .p1e-ic[data-icon='receipt'] { --m:url('/assets/icons/phosphor/regular/receipt.svg'); }
.profile-1e .p1e-ic[data-icon='stethoscope'] { --m:url('/assets/icons/phosphor/regular/stethoscope.svg'); }
.profile-1e .p1e-ic[data-icon='toilet'] { --m:url('/assets/icons/phosphor/regular/toilet.svg'); }
.profile-1e .p1e-badge { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--bg,var(--color-sand)); color:var(--ink,var(--color-navy)); flex:none; }
.profile-1e .p1e-badge[data-tone='peach'] { --bg:var(--color-peach); --ink:var(--color-rust); }
.profile-1e .p1e-badge[data-tone='lavender'] { --bg:var(--color-lavender); --ink:var(--color-profile-purple); }
.profile-1e .p1e-badge[data-tone='mint'] { --bg:var(--color-profile-mint); --ink:var(--color-profile-green); }
.profile-1e .p1e-badge[data-tone='yellow'] { --bg:var(--color-yellow); --ink:var(--color-profile-gold); }
.profile-1e .p1e-badge:is([data-tone='fog'],[data-tone='mist']) { --bg:var(--color-profile-fog); --ink:var(--color-profile-blue); }

/* 1. Name, role pills, quote and original booking actions. */
.profile-1e .p1e-hero { padding:36px 0 110px; background:var(--color-cream); }
.profile-1e .p1e-hero > .container { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:56px; align-items:center; }
.profile-1e .p1e-hero-intro { min-width:0; }
.profile-1e .p1e-hero .breadcrumbs { margin-bottom:22px; font-size:14px; color:var(--color-muted); }
.profile-1e .p1e-hero .eyebrow { margin-bottom:12px; }
.profile-1e .p1e-hero h1 { margin:0; font-size:clamp(44px,5vw,66px); line-height:1.02; font-weight:500; letter-spacing:-.015em; overflow-wrap:break-word; }
.profile-1e .p1e-titles { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; }
.profile-1e .p1e-titles > span { min-width:0; max-width:100%; padding:5px 12px; border:1px solid var(--color-line); border-radius:999px; background:var(--color-white); font-size:14.5px; font-weight:500; line-height:1.5; }
.profile-1e .p1e-titles > :is(:first-child,.p1e-main) { border-color:var(--color-navy); background:var(--color-navy); color:var(--color-cream); }
.profile-1e .p1e-hero blockquote { margin:0 0 26px; padding-left:22px; border-left:3px solid var(--color-coral); font:italic 500 clamp(21px,1.9vw,25px)/1.35 var(--font-serif); max-width:520px; }
.profile-1e .p1e-hero blockquote p { font:inherit; }
.profile-1e .p1e-hero .page-intro__actions { display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; margin:0; }
.profile-1e .p1e-hero .text-link { max-width:100%; font-size:16px; line-height:1.45; }
.profile-1e .p1e-portrait { position:relative; justify-self:end; width:100%; max-width:440px; margin:0; }
.profile-1e .p1e-portrait .p1e-frame { aspect-ratio:5/6; border-radius:999px 999px 30px 30px; overflow:hidden; background:var(--portrait-bg,var(--color-profile-fog)); box-shadow:var(--shadow-card); }
.profile-1e .p1e-portrait img { width:100%; height:100%; aspect-ratio:5/6; object-fit:contain; object-position:center; }
.profile-1e .p1e-portrait .p1e-avail { position:absolute; left:-28px; bottom:36px; display:flex; align-items:center; gap:10px; max-width:calc(100% + 28px); padding:10px 16px 10px 12px; border-radius:999px; background:var(--color-white); box-shadow:var(--p1e-shadow-high); color:var(--color-navy); font-size:14.5px; font-weight:600; line-height:1.4; }
.profile-1e .p1e-avail > i { width:10px; height:10px; flex:none; border-radius:50%; background:var(--color-success); box-shadow:0 0 0 5px color-mix(in srgb,var(--color-success) 15%,transparent); }

/* 2. One overlapping fact card; optional facts fill the row naturally. */
.profile-1e .p1e-facts { position:relative; z-index:2; margin-top:-72px; }
.profile-1e .p1e-facts dl { display:grid; grid-template-columns:repeat(var(--fact-count,5),minmax(0,1fr)); margin:0; background:var(--color-white); border-radius:26px; box-shadow:var(--p1e-shadow-high); overflow:hidden; }
.profile-1e .p1e-facts dl > div { display:grid; align-content:start; grid-template-columns:40px minmax(0,1fr); align-items:start; gap:0 12px; min-width:0; padding:20px 20px 22px; border-left:1px solid var(--color-sand); }
.profile-1e .p1e-facts dl > div:first-child { border-left:0; }
.profile-1e .p1e-facts dt { display:contents; font-size:12px; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--color-muted); }
.profile-1e .p1e-facts dt > .p1e-badge { grid-column:1; grid-row:1 / span 2; }
.profile-1e .p1e-facts dt > span:not(.p1e-badge) { grid-column:2; grid-row:1; min-width:0; }
.profile-1e .p1e-facts dd { grid-column:2; grid-row:2; min-width:0; margin:2px 0 0; font-size:16.5px; line-height:1.35; font-weight:600; }
.profile-1e .p1e-facts dd small { display:block; font-size:14px; line-height:1.45; font-weight:500; color:var(--color-muted); }
.profile-1e .p1e-facts .p1e-badge { width:40px; height:40px; border-radius:13px; }
.profile-1e .p1e-facts .p1e-ic { width:20px; height:20px; }
.profile-1e .p1e-facts dl > div:nth-child(5n + 1) .p1e-badge { --bg:var(--color-peach); --ink:var(--color-rust); }
.profile-1e .p1e-facts dl > div:nth-child(5n + 2) .p1e-badge { --bg:var(--color-lavender); --ink:var(--color-profile-purple); }
.profile-1e .p1e-facts dl > div:nth-child(5n + 3) .p1e-badge { --bg:var(--color-profile-mint); --ink:var(--color-profile-green); }
.profile-1e .p1e-facts dl > div:nth-child(5n + 4) .p1e-badge { --bg:var(--color-yellow); --ink:var(--color-profile-gold); }
.profile-1e .p1e-facts dl > div:nth-child(5n + 5) .p1e-badge { --bg:var(--color-profile-fog); --ink:var(--color-profile-blue); }

/* The shared navigation contract is retained, including its scrollable rail. */
.profile-1e .service-page-nav.p1e-nav { --nav-bg:var(--color-cream); position:sticky; top:0; z-index:15; margin-top:28px; padding:12px 0; background:color-mix(in srgb,var(--color-cream) 96%,transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-block:1px solid var(--color-line); }
.profile-1e .p1e-nav > .container { display:flex; gap:10px; align-items:center; min-width:0; }
.profile-1e .p1e-nav > .container > :is(span,b) { flex:none; font-size:14px; font-weight:500; color:var(--color-muted); white-space:nowrap; }
.profile-1e .p1e-nav > .container > div { display:flex; gap:10px; min-width:0; overflow-x:auto; padding:8px; scroll-padding-inline:8px; }
.profile-1e .p1e-nav a { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:6px 14px; border:1px solid var(--color-field); border-radius:999px; color:var(--color-navy); font-size:14px; line-height:1.4; text-decoration:none; white-space:nowrap; }
.profile-1e .p1e-nav a:is([aria-current='location'],.on) { background:var(--color-navy); border-color:var(--color-navy); color:var(--color-cream); }
.profile-1e .p1e-nav a:focus-visible { outline:3px solid var(--color-navy); outline-offset:4px; }

/* 3. Cut-out portrait, organic background and literal biography. */
.profile-1e .p1e-about { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }
.profile-1e .p1e-about > div { min-width:0; }
.profile-1e .p1e-cut { position:relative; isolation:isolate; aspect-ratio:1/1.05; width:100%; max-width:470px; overflow:clip; }
.profile-1e .p1e-cut .p1e-blob { position:absolute; inset:16% 2% 0 6%; border-radius:46% 54% 42% 58% / 52% 44% 56% 48%; background:linear-gradient(150deg,var(--color-peach),var(--color-lavender)); }
.profile-1e .p1e-cut .p1e-rings { position:absolute; right:-6%; top:2%; width:62%; color:var(--color-rust); opacity:.28; pointer-events:none; }
.profile-1e .p1e-cut .p1e-dots { position:absolute; left:0; top:24%; width:34%; color:var(--color-profile-purple); opacity:.45; pointer-events:none; }
.profile-1e .p1e-cut > img { position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:92%; height:auto; max-height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 18px 30px color-mix(in srgb,var(--color-navy) 12%,transparent)); }
.profile-1e .p1e-cut .p1e-name { position:absolute; right:0; bottom:28px; max-width:88%; padding:10px 14px; border-radius:16px; background:var(--color-white); box-shadow:var(--p1e-shadow-high); font-size:14px; line-height:1.3; }
.profile-1e .p1e-name b { display:block; font-weight:600; font-size:15.5px; }
.profile-1e .p1e-name span { color:var(--color-rust); font-weight:600; }
.profile-1e .p1e-about h2 { margin:0 0 6px; }
.profile-1e .p1e-about .p1e-tx { display:grid; gap:16px; max-width:560px; font-size:18px; line-height:1.6; }
.profile-1e .p1e-tx :is(p:not(.eyebrow),li) { font:inherit; color:var(--color-navy); }
.profile-1e .p1e-tx p + p { margin:0; }

/* 4. Topics. The list may itself carry p1e-topics or be its child. */
.profile-1e .p1e-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; padding:0; }
.profile-1e .p1e-topics > ul { display:contents; }
.profile-1e .p1e-topics li { list-style:none; display:flex; gap:12px; align-items:center; min-width:0; padding:16px 18px; border-radius:20px; background:var(--color-white); box-shadow:0 10px 26px var(--color-profile-soft-shadow); font-size:16px; font-weight:500; }
.profile-1e .p1e-ck { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; flex:none; background:var(--color-peach); color:var(--color-rust); font-size:14px; font-weight:600; }
.profile-1e .p1e-ck .p1e-ic { width:16px; height:16px; }

/* 5. Calendar wrapper only. The third-party iframe contents are untouched. */
.profile-1e .p1e-book { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:24px; align-items:start; }
.profile-1e .p1e-book > * { min-width:0; }
.profile-1e .p1e-cal { min-width:0; border-radius:26px; background:var(--color-white); box-shadow:var(--shadow-card); color:var(--color-muted); font-size:15px; }
.profile-1e .p1e-cal .calendesk-embed { width:100%; max-width:none; margin:0; }
.profile-1e .p1e-cal .calendesk-embed__frame { width:100%; border:0; border-radius:26px; background:var(--color-white); }
.profile-1e .p1e-cal .calendesk-embed__fallback { margin:0; color:var(--color-navy); }
.profile-1e .p1e-cal .calendesk-embed__status:not(:empty) { padding:12px 24px; }
.profile-1e .p1e-cal .profile-calendar-closed { margin:0; padding:24px; color:var(--color-navy); font-size:16px; }
.profile-1e .p1e-cal .profile-calendar-closed p + p { margin-top:16px; }
.profile-1e .p1e-aside { display:grid; gap:14px; min-width:0; }
.profile-1e .p1e-box { padding:22px; border-radius:24px; background:var(--color-white); box-shadow:var(--shadow-card); }
.profile-1e .p1e-box h3 { margin:0 0 12px; font-size:18px; line-height:1.35; }
.profile-1e .p1e-svc { display:grid; gap:2px; margin:0; padding:0; }
.profile-1e .p1e-svc > :is(div,li) { list-style:none; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 14px; padding:11px 0; border-top:1px solid var(--color-sand); }
.profile-1e .p1e-svc > :first-child { border-top:0; padding-top:0; }
.profile-1e .p1e-svc b { min-width:0; font-size:16px; font-weight:600; line-height:1.4; }
.profile-1e .p1e-svc span { grid-column:2; grid-row:span 2; align-self:center; color:var(--color-rust); font:500 18px/1.2 var(--font-serif); font-variant-numeric:lining-nums; white-space:nowrap; }
.profile-1e .p1e-svc small { grid-column:1; font-size:13.5px; color:var(--color-muted); }
.profile-1e .p1e-box .p1e-note { margin-top:10px; font-size:13.5px; color:var(--color-muted); line-height:1.55; }
.profile-1e .p1e-freebox { display:grid; gap:10px; padding:22px; border-radius:24px; background:var(--color-navy); color:var(--color-cream); }
.profile-1e .p1e-freebox h3 { font-size:22px; }
.profile-1e .p1e-freebox p { color:var(--color-pale-text); font-size:16px; }
.profile-1e .p1e-freebox a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; color:var(--color-cream); font-weight:600; }
.profile-1e .p1e-freebox a:focus-visible { outline-color:var(--color-cream); }
.profile-1e .p1e-rules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0 0; padding:0; list-style:none; }
.profile-1e .p1e-rules > :is(div,li) { display:flex; gap:10px; align-items:flex-start; min-width:0; padding:14px; border-radius:18px; background:color-mix(in srgb,var(--color-white) 65%,transparent); color:var(--color-navy); font-size:16px; }
.profile-1e .p1e-rules .p1e-ic { width:20px; height:20px; margin-top:2px; color:var(--color-rust); }
.profile-1e .p1e-rules p { font:inherit; }
.profile-1e .p1e-rules + .button { margin-top:22px; }

/* 6. Three visits on a fine timeline. */
.profile-1e .p1e-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; position:relative; list-style:none; margin:0; padding:0; }
.profile-1e .p1e-steps::before { content:''; position:absolute; left:28px; right:12%; top:28px; border-top:1px dashed color-mix(in srgb,var(--color-rust) 50%,transparent); }
.profile-1e .p1e-steps > li { display:flex; flex-direction:column; gap:12px; min-width:0; }
.profile-1e .p1e-n { position:relative; z-index:1; display:grid; place-items:center; width:56px; height:56px; flex:none; border-radius:50%; background:var(--color-white); box-shadow:0 8px 20px color-mix(in srgb,var(--color-navy) 8%,transparent); color:var(--color-rust); font:500 24px/1 var(--font-serif); font-variant-numeric:lining-nums; }
.profile-1e .p1e-steps .p1e-card { display:grid; gap:8px; flex:1; padding:20px; border-radius:22px; background:var(--color-white); box-shadow:var(--shadow-card); }
.profile-1e .p1e-card h3 { font-size:22px; line-height:1.25; }
.profile-1e .p1e-card p { color:var(--color-navy); font-size:16px; }

/* 7. Qualifications. Keep native details semantics for supervisor variants. */
.profile-1e .p1e-qual { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:start; }
.profile-1e .p1e-qual > * { min-width:0; }
.profile-1e .p1e-qual :is(ol,ul) { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.profile-1e .p1e-qual li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; align-items:start; min-width:0; padding:16px 18px; border-radius:20px; background:var(--color-white); box-shadow:0 10px 26px var(--color-profile-soft-shadow); font-size:16px; }
.profile-1e .p1e-qual li .p1e-ic { width:20px; height:20px; }
.profile-1e .p1e-qual > aside { position:sticky; top:calc(var(--p1e-nav-height,90px) + 16px); display:grid; gap:14px; }
.profile-1e .p1e-qual > aside > p { max-width:360px; }
.profile-1e .p1e-qual .accordion__body { max-width:none; padding-top:24px; }
.profile-1e .p1e-qual summary { min-height:44px; padding-block:16px; }
.profile-1e .p1e-qual summary h3 { display:inline; font-size:22px; }
.profile-1e .p1e-sup { display:flex; gap:12px; align-items:center; padding:14px 16px; border-radius:18px; background:var(--color-profile-mint); color:var(--color-navy); font-size:14.5px; line-height:1.55; }
.profile-1e .p1e-sup .p1e-ic { color:var(--color-profile-green); }

/* 8. Real office, local map and a shared decorative video-call illustration. */
.profile-1e .p1e-where { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.profile-1e .p1e-where > * { min-width:0; }
.profile-1e .p1e-office { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); border-radius:28px; overflow:hidden; background:var(--color-white); box-shadow:var(--shadow-card); }
.profile-1e .p1e-office > img { width:100%; height:100%; min-height:340px; object-fit:cover; }
.profile-1e .p1e-office .p1e-b { display:flex; flex-direction:column; gap:10px; min-width:0; padding:24px; }
.profile-1e :is(.p1e-office,.p1e-online) h3 { font:500 28px/1.1 var(--font-serif); font-variant-numeric:lining-nums; }
.profile-1e .p1e-office .p1e-row { display:flex; gap:10px; align-items:flex-start; min-width:0; font-size:15px; }
.profile-1e .p1e-office .p1e-row .p1e-ic { width:18px; height:18px; margin-top:3px; color:var(--color-rust); }
.profile-1e .p1e-office .p1e-map { aspect-ratio:16/7; width:100%; min-height:80px; margin-top:auto; border-radius:16px; overflow:hidden; background:var(--color-sand); }
.profile-1e .p1e-map img { width:100%; height:100%; object-fit:cover; }
.profile-1e .p1e-office .text-link { display:inline-flex; align-items:center; gap:8px; font-size:16px; }
.profile-1e .p1e-online { position:relative; overflow:hidden; display:flex; flex-direction:column; gap:14px; padding:24px; border-radius:28px; background:var(--color-profile-fog); }
.profile-1e .p1e-online > p { max-width:420px; font-size:16px; }
.profile-1e .p1e-meet { position:relative; margin-top:auto; padding:10px; border-radius:20px; background:var(--color-profile-video); box-shadow:0 24px 50px color-mix(in srgb,var(--color-navy) 25%,transparent); }
.profile-1e .p1e-meet .p1e-bar { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:2px 6px 8px; color:var(--color-pale-text); font-size:12.5px; }
.profile-1e .p1e-bar > i { display:inline-flex; gap:5px; flex:none; }
.profile-1e .p1e-bar > i > b { display:block; width:8px; height:8px; border-radius:50%; background:var(--color-muted); }
.profile-1e .p1e-bar .p1e-rec { display:inline-flex; align-items:center; gap:6px; }
.profile-1e .p1e-rec::before { content:''; width:7px; height:7px; flex:none; border-radius:50%; background:var(--color-profile-indicator); }
.profile-1e .p1e-meet .p1e-main { position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:var(--color-profile-fog); }
.profile-1e .p1e-meet .p1e-room { position:absolute; inset:-8px; background:url('/assets/img/gabinety/part-1c/plac-wilsona-02-fotel-1200.webp') center 58%/cover; filter:blur(2.5px) saturate(.9); transform:scale(1.03); }
.profile-1e .p1e-meet .p1e-main::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,color-mix(in srgb,var(--color-peach) 28%,transparent),color-mix(in srgb,var(--color-rust) 10%,transparent) 60%,color-mix(in srgb,var(--color-night) 22%,transparent)); }
.profile-1e .p1e-meet .p1e-who { position:absolute; z-index:2; left:10px; bottom:10px; max-width:calc(100% - 20px); padding:3px 8px; border-radius:8px; background:color-mix(in srgb,var(--color-night) 88%,transparent); color:var(--color-white); font-size:12px; line-height:1.4; }
.profile-1e .p1e-meet .p1e-self { position:absolute; z-index:3; right:20px; bottom:72px; display:grid; place-items:center; width:27%; aspect-ratio:4/3; border:2px solid var(--color-profile-video); border-radius:12px; background:linear-gradient(140deg,var(--color-peach),var(--color-lavender)); color:var(--color-rust); font-size:13px; font-weight:600; }
.profile-1e .p1e-meet .p1e-ctrl { display:flex; justify-content:center; gap:10px; padding:10px 0 2px; }
.profile-1e .p1e-ctrl > span { display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:50%; background:var(--color-profile-control); color:var(--color-white); }
.profile-1e .p1e-ctrl .p1e-ic { width:20px; height:20px; }
.profile-1e .p1e-ctrl > .p1e-end { width:56px; border-radius:999px; background:var(--color-coral); color:var(--color-navy); }
.profile-1e .p1e-online .p1e-facts2 { display:flex; flex-wrap:wrap; gap:8px; }
.profile-1e .p1e-facts2 > span { padding:5px 11px; border-radius:999px; background:var(--color-white); color:var(--color-navy); font-size:13.5px; font-weight:600; }

/* 9. Practical information. */
.profile-1e .p1e-prac { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; list-style:none; margin:0; padding:0; }
.profile-1e .p1e-prac > :is(div,li) { display:grid; gap:10px; align-content:start; min-width:0; padding:20px; border-radius:22px; background:var(--color-white); box-shadow:var(--shadow-card); }
.profile-1e .p1e-prac p { font-size:16px; }
.profile-1e .p1e-prac + .button { margin-top:22px; }

.profile-1e .p1e-booking-rules { margin-top:24px; padding:0; border:0; border-radius:0; background:transparent; }
.profile-1e .p1e-booking-rules > h3 { margin:0; font-size:24px; line-height:1.25; }
.profile-1e .p1e-booking-rules > .p1e-rules { gap:12px; margin-top:18px; }
.profile-1e .p1e-booking-rules > .p1e-rules > li { display:flex; gap:10px; }
.profile-1e .p1e-booking-rules > .button { margin-top:22px; }

/* 10. Two closing paths. Existing button geometry and arrow are preserved. */
.profile-1e .p1e-close { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.profile-1e .p1e-close > div { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; gap:14px; min-width:0; padding:32px; border-radius:30px; }
.profile-1e .p1e-close--supervisor { grid-template-columns:minmax(0,1fr); }
.profile-1e .p1e-close .p1e-a { background:var(--color-peach); }
.profile-1e .p1e-close .p1e-b2 { background:var(--color-navy); color:var(--color-cream); }
.profile-1e .p1e-b2 h2 { color:var(--color-cream); }
.profile-1e .p1e-b2 :is(h2 em,.p1e-it) { color:var(--color-pale-coral); }
.profile-1e .p1e-b2 p { color:var(--color-pale-text); font-size:16px; }
.profile-1e .p1e-close > div > svg { position:absolute; z-index:-1; right:-70px; top:-70px; width:260px; height:260px; opacity:.14; pointer-events:none; }
.profile-1e .p1e-close .p1e-a > svg { color:var(--color-rust); }
.profile-1e .p1e-close .p1e-b2 > svg { color:var(--color-cream); }
.profile-1e .p1e-close .p1e-row { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; margin-top:auto; position:relative; min-width:0; }
.profile-1e .p1e-b2 a:focus-visible { outline-color:var(--color-cream); }
.profile-1e .p1e-b2 .button:focus-visible { outline-color:var(--color-cream); }
.profile-1e .p1e-faces { display:flex; align-items:center; gap:10px; min-width:0; color:var(--color-pale-text); font-size:14px; line-height:1.5; }
.profile-1e .p1e-faces > span { display:flex; flex:none; }
.profile-1e .p1e-faces :is(img,i) { width:40px; height:40px; flex:none; margin-left:-10px; border:2px solid var(--color-navy); border-radius:50%; object-fit:cover; object-position:var(--avatar-object-position,50% 20%); }
.profile-1e .p1e-faces > span > :first-child { margin-left:0; }
.profile-1e .p1e-faces i { display:grid; place-items:center; background:var(--color-peach); color:var(--color-rust); font:500 15px/1 var(--font-serif); font-style:normal; }

@media (max-width:1000px) {
  .profile-1e .p1e-hero > .container { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .profile-1e .p1e-hero-intro { display:contents; }
  .profile-1e .p1e-hero-intro > .breadcrumbs { order:0; }
  .profile-1e .p1e-hero-intro > .eyebrow { order:1; }
  .profile-1e .p1e-hero-intro > h1 { order:2; }
  .profile-1e .p1e-hero-intro > .p1e-titles { order:3; }
  .profile-1e .p1e-hero > .container > .p1e-portrait { order:4; align-self:center; margin:6px 0 30px; }
  .profile-1e .p1e-hero-intro > blockquote { order:5; }
  .profile-1e .p1e-hero-intro > .page-intro__actions { order:6; }
  .profile-1e .p1e-hero-intro > .profile-supervisor-notice { order:5; margin-bottom:24px; }
  .profile-1e :is(.p1e-about,.p1e-book,.p1e-qual,.p1e-where,.p1e-close) { grid-template-columns:minmax(0,1fr); }
  .profile-1e .p1e-about { gap:36px; }
  .profile-1e .p1e-cut { justify-self:center; }
  .profile-1e .p1e-facts dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-1e .p1e-facts dl > div { border-left:0; border-top:1px solid var(--color-sand); }
  .profile-1e .p1e-facts dl > div:nth-child(-n + 2) { border-top:0; }
  .profile-1e :is(.p1e-topics,.p1e-prac,.p1e-rules) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-1e .p1e-steps { grid-template-columns:minmax(0,1fr); gap:24px; }
  .profile-1e .p1e-steps::before { inset:28px auto 28px 28px; border-top:0; border-left:1px dashed color-mix(in srgb,var(--color-rust) 50%,transparent); }
  .profile-1e .p1e-steps > li { display:grid; grid-template-columns:56px minmax(0,1fr); gap:18px; align-items:start; }
  .profile-1e .p1e-qual > aside { position:static; }
  .profile-1e .p1e-qual > aside > p { max-width:560px; }
  .profile-1e .p1e-office { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
}
@media (max-width:767px) {
  .profile-1e .p1e-nav > .container > :is(span,b) { display:none; }
  .profile-1e .p1e-nav > .container > div { width:100%; }
  .profile-1e .p1e-portrait { max-width:min(100%,calc(45vh * 5 / 6)); max-width:min(100%,calc(45svh * 5 / 6)); }
  .profile-1e .p1e-portrait .p1e-avail { left:8px; bottom:24px; max-width:calc(100% - 16px); padding:10px 12px; font-size:13.5px; }
  .profile-1e .p1e-hero .page-intro__actions > .button { width:100%; }
  .profile-1e .p1e-hero .text-link { align-items:center; }
  .profile-1e .p1e-facts dl > div { padding:20px; }
}
@media (max-width:640px) {
  .profile-1e .p1e-section { padding-block:56px; }
  .profile-1e .p1e-hero { padding-top:24px; }
  .profile-1e :is(.p1e-topics,.p1e-prac,.p1e-rules) { grid-template-columns:minmax(0,1fr); }
  .profile-1e .p1e-facts dl { grid-template-columns:minmax(0,1fr); }
  .profile-1e .p1e-facts dl > div:nth-child(2) { border-top:1px solid var(--color-sand); }
  .profile-1e .p1e-office { grid-template-columns:minmax(0,1fr); }
  .profile-1e .p1e-office > img { height:240px; min-height:220px; max-height:260px; }
  .profile-1e .p1e-office .p1e-map { min-height:110px; }
  .profile-1e .p1e-close > div { padding:24px; }
  .profile-1e .p1e-cut .p1e-name { right:4px; bottom:20px; }
  .profile-1e .p1e-steps { gap:20px; }
  .profile-1e .p1e-steps > li { grid-template-columns:44px minmax(0,1fr); gap:14px; }
  .profile-1e .p1e-n { width:44px; height:44px; }
  .profile-1e .p1e-steps::before { left:22px; }
  .profile-1e .p1e-steps .p1e-card { padding:18px; }
  .profile-1e .p1e-qual { gap:24px; }
  .profile-1e .p1e-qual li { gap:12px; padding:16px; }
}
/* Keep the keyboard destination visible after the sticky booking bar closes. */
.profile-1e :is(h1,h2)[tabindex="-1"]:focus-visible { outline:3px solid var(--color-navy); outline-offset:5px; }
.profile-1e :is(.p1e-b2,.site-footer) :is(h1,h2)[tabindex="-1"]:focus-visible { outline-color:var(--color-cream); }

@media (prefers-reduced-motion:reduce) {
  .profile-1e *, .profile-1e *::before, .profile-1e *::after { animation:none; transition:none; scroll-behavior:auto; }
}

/* Claude, partia 23 (przegląd oczami pacjenta, 12.10.2026): na telefonie przyciski terminów i bezpłatnej rozmowy
   przed zdjęciem, żeby były na pierwszym ekranie; cytat zostaje pod zdjęciem. */
@media (max-width:767px) {
  .profile-1e .p1e-hero-intro > .page-intro__actions { order:4; margin:2px 0 22px; }
  .profile-1e .p1e-hero > .container > .p1e-portrait { order:5; }
  .profile-1e .p1e-hero-intro > blockquote { order:6; margin-top:4px; }
}
