/* Chenguel 1.2 — editorial refinement. Native regions remain editable in THE ROAD. */
@font-face {
  font-family: 'Source Sans 3'; font-style: normal; font-weight: 400 700;
  font-display: swap; src: url('../fonts/source-sans-3-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 500;
  font-display: swap; src: url('../fonts/source-serif-4-latin.woff2') format('woff2');
}
:root {
  --display: 'Source Serif 4', Georgia, serif;
  --body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --paper: #ffffff; --cream: #f5f8fc; --muted: #4b5866;
  --line: #d4d8dd; --sage: #c7d0da;
}
body {font-size: 18px; line-height: 1.7}
h1,h2 {font-optical-sizing: auto; letter-spacing: -.035em; text-wrap: balance}
h2 {line-height: 1.12}
::selection {background: #cfd9e5; color: var(--navy-deep)}
.section {padding-block: clamp(64px, 7.8vw, 112px)}
.eyebrow {font-size: 12px; font-weight: 600; letter-spacing: .13em}
.text-link {font-size: 16px; gap: 26px; border-color: #808b97; transition: color .18s, border-color .18s}
.text-link svg {transition: transform .18s ease}
.text-link:hover svg {transform: translateX(4px)}
.button {border-radius: 3px; transition: background .18s, border-color .18s, transform .18s}
.button:active {transform: translateY(1px)}
.button.booking-button {font-size: 14px; min-height: 58px; padding: 15px 22px; gap: 16px; background: #0056b0; border-color: #708296}
.button.booking-button:hover {background: #003d7e; border-color: #a5b3c2}
.button.booking-button span {white-space: nowrap}
a:focus-visible,button:focus-visible,summary:focus-visible {outline: 3px solid #3072be; outline-offset: 5px}

/* A quiet, compact masthead with generous navigation targets. */
.header-inner {min-height: 80px; gap: 24px}
.brand-image {width: 240px}
.main-nav {gap: 28px}
.main-nav .nav-list {gap: 23px; font-size: 15px}
.main-nav .nav-list>li>a {white-space: nowrap}
.main-nav .booking-button {font-size: 12px; min-height: 46px; padding: 11px 16px; gap: 12px}
.main-nav .doctolib-wordmark {width: 78px}
.specialty-submenu {padding: 8px; min-width: 230px; border-radius: 3px; box-shadow: 0 12px 28px #0056b012}
.nav-list .specialty-submenu a {font-size: 16px; min-height: 46px; padding: 10px 14px}
.submenu-toggle {width: 32px}

/* Preserve the portrait position and the desktop single-line name. */
.hero h1 {font-size: clamp(62px, 6.1vw, 88px); letter-spacing: -.045em; line-height: 1.06; margin-block: 26px 28px}
.hero .eyebrow {font-size: 11px; letter-spacing: .13em}
.hero-description {font-size: 21px; line-height: 1.55; max-width: 600px; margin-bottom: 30px; color: #e0e4e8}
.hero-description p+p {font-size: 18px; line-height: 1.65; margin-top: 18px; color: #c2c9d1}
.hero .text-link {font-size: 15px; min-height: 44px}
.hero-actions {gap: 12px}
.hero-footnote {max-width: 520px; border-color: #3e4e61; padding-top: 18px; margin-top: 22px}
.hero-footnote p {font-size: 14px}
.hero-footnote p span {font-size: 13px; color: #c2c9d1}
.anatomy-strip {background: #e7ebf0; border: 0}
.anatomy-strip>.wrap {min-height: 88px; gap: 60px}
.strip-label {font-size: 12px; letter-spacing: .06em; color: #3f4b59}
.anatomy-strip a {font-family: var(--body); font-size: 21px; font-weight: 500; min-height: 56px}
.anatomy-strip a span {transition: transform .18s}
.anatomy-strip a:hover span {transform: translate(2px,-2px)}

/* Four anatomical routes, with an open layout rather than repeated numbered rows. */
.home .expertise-grid {display: block}
.home .expertise .section-heading {display: grid; grid-template-columns: 1fr 1fr; column-gap: 10%; align-items: start; padding-top: 0}
.home .expertise .section-heading>.eyebrow {grid-column: 1 / -1; margin-bottom: 18px; color: var(--green)}
.home .expertise .section-heading h2 {grid-column: 1; grid-row: 2 / 4; max-width: 520px; font-size: clamp(38px,4.2vw,58px); margin: 0}
.home .expertise .section-heading>.road-copy {grid-column: 2; grid-row: 2; font-size: 19px; max-width: 420px; margin: 2px 0 14px}
.home .expertise .section-heading>.text-link {grid-column: 2; grid-row: 3; justify-self: start}
.home .zone-list {display: grid; grid-template-columns: 1fr 1fr; gap: 0 8%; border: 0; margin-top: 52px}
.zone-number {display: none}
.zone-row {min-height: 138px; padding: 28px 0; gap: 26px; transition: color .18s}
.zone-row:hover {padding-left: 0}
.home .zone-row {border-top: 1px solid var(--line); border-bottom: 0}
.zone-name {font-family: var(--display); font-size: 34px; line-height: 1.2; margin-bottom: 10px}
.zone-desc {font-size: 16px; line-height: 1.55; max-width: 410px}
.round-arrow {height: 46px; width: 46px; border-color: #bcc5cf; transition: background .18s,color .18s,border-color .18s}

/* Original photography and approved copy, with a less repetitive section rhythm. */
.sos-section {padding-block: clamp(56px,7vw,96px)}
.sos-grid {grid-template-columns: .9fr 1.1fr; gap: 8%}
.sos-image img {height: 490px; border-radius: 3px; object-position: 47% 50%}
.image-note {position: static; display: block; padding: 15px 0 0; font-size: 12px; letter-spacing: .08em}
.sos-copy>.eyebrow {display: none}
.sos-copy h2 {font-size: clamp(35px,3.7vw,52px); line-height: 1.14; margin-bottom: 28px}
.validated-home-copy {font-size: 18px; line-height: 1.65}
.validated-home-copy ul {margin-block: 24px; padding-left: 1.1em}
.validated-home-copy li {margin-block: 10px; padding-left: 6px}
.validated-home-copy li::marker {color: var(--sage)}
.sos-actions .text-link {font-size: 15px}
.doctor-grid {gap: 10%}
.doctor-portrait {height: 560px; border-radius: 3px}
.doctor-copy h2 {font-size: clamp(38px,4.1vw,58px); max-width: 520px}
.doctor-copy>.road-copy {font-size: 20px; line-height: 1.75; max-width: 480px; margin-bottom: 26px}
.doctor-stamp {width: 108px; height: 108px; padding: 12px; background: var(--paper); border-color: var(--line)}
.doctor-copy>.eyebrow {font-size: 12px; color: var(--green)}

.consultation-band {background: #e4e9ee; color: var(--ink); padding-block: clamp(56px,6.5vw,88px)}
.consultation-band-inner {gap: 10%}
.consultation-band .eyebrow {display: none}
.consultation-band h2 {font-size: clamp(40px,4.3vw,60px); max-width: 520px}
.consultation-band .road-copy,.consultation-band-inner>div+div>p {font-size: 19px; color: #3b4856; max-width: 470px; line-height: 1.65}
.consultation-band .text-link {color: var(--green-deep); font-size: 15px; margin: 18px 0 0; display: flex; width: max-content}
.consultation-band .text-link.light:hover {color: var(--navy); border-color: var(--navy)}
.site-footer {background: var(--paper); padding-top: 66px}
.footer-grid {gap: 8%; grid-template-columns: 1.2fr .7fr 1fr}
.footer-name {width: 300px}
.footer-label {font-size: 12px; letter-spacing: .1em}
.footer-identity>p,.footer-grid>div:last-child>p:last-of-type {font-size: 14px}
.site-footer .nav-list {font-size: 16px}
.site-footer .nav-list a {min-height: 42px; padding-block: 7px}
.footer-grid>div:last-child>a:first-of-type {font-size: 16px}
.footer-phone {font-family: var(--body); font-size: 25px; font-weight: 500; letter-spacing: .025em}
.road-address,.footer-grid address {font-size: 15px; line-height: 1.65}
.road-footer-note,.footer-bottom>p {font-size: 13px; line-height: 1.65; max-width: 770px; margin-bottom: 25px}
.footer-bottom {font-size: 12px; padding-top: 28px}

/* Clinical pages: wider line spacing, stronger headings, intact illustrations. */
.page-heading {padding-bottom: 58px}
.page-heading h1 {font-size: clamp(42px,5.3vw,72px); line-height: 1.08; max-width: 1000px}
.breadcrumbs {font-size: 14px; padding: 25px 0 36px; gap: 12px}
.breadcrumbs a {text-decoration: underline; text-decoration-color: #828f9e; text-underline-offset: 4px}
.page-intro {font-size: 21px; line-height: 1.6; max-width: 720px}
.prose {font-size: 19px; line-height: 1.78}
.prose p,.prose ul,.prose ol {color: #364556}
.prose p {margin-bottom: 1.35em}
.prose h2 {font-family: var(--body); font-weight: 600; letter-spacing: -.025em; font-size: 32px; line-height: 1.25; margin-top: 1.7em}
.prose h3,.validated-section h3 {font-size: 24px; font-weight: 600; letter-spacing: -.015em; line-height: 1.35}
.prose strong {font-weight: 600}
.prose li {margin-block: .6em}
.reading-width {max-width: 760px}
.pathology-content-grid {grid-template-columns: minmax(0,740px) minmax(270px,320px); justify-content: space-between; gap: 7%}
.validated-section+.validated-section {padding-top: 38px}
.validated-figure {background: #edf0f3; border-radius: 3px; overflow: hidden}
.validated-figure img {height: auto; object-fit: contain}
.appointment-panel {padding: 30px; border-top: 2px solid #42556b; background: #e8ecf1; border-radius: 0 0 3px 3px}
.appointment-panel h2 {font-size: 37px}
.appointment-panel p:not(.eyebrow) {font-size: 17px; line-height: 1.65}
.appointment-panel .text-link {font-size: 16px}
.appointment-panel .booking-button {align-items: center; font-size: 13px; gap: 8px; padding-inline: 12px}
.medical-note {font-size: 15px; padding: 24px; line-height: 1.6}
.zone-filters {gap: 10px; margin-bottom: 48px}
.zone-filters a {font-size: 16px; border-radius: 3px; padding: 9px 19px}
.topic-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 44px 7%}
.topic-card {padding-top: 24px}
.topic-card .eyebrow {font-size: 12px; letter-spacing: .1em; margin-bottom: 15px}
.topic-card h2 {font-size: 35px; max-width: 520px}
.topic-card>p:not(.eyebrow) {font-size: 18px; line-height: 1.65; max-width: 510px}
.topic-card>.text-link {font-size: 16px}
.faq summary {font-size: 18px}
.faq details p {font-size: 17px}

@media (min-width:1060px) and (max-width:1200px) {
  .header-inner {gap: 18px}
  .brand-image {width: 215px}
  .main-nav {gap: 18px}
  .main-nav .nav-list {gap: 16px; font-size: 14px}
  .main-nav .booking-button {font-size: 11px; padding-inline: 13px; gap: 10px}
  .main-nav .doctolib-wordmark {width: 70px}
}
@media (max-width:1059px) {
  .header-inner {min-height: 80px; padding-block: 0; gap: 0 18px}
  .brand-image {width: 240px}
  .main-nav {padding-block: 16px 22px}
  .main-nav .nav-list {gap: 18px; font-size: 15px}
  .js .menu-toggle {font-size: 15px; min-height: 44px}
  .hero h1 {font-size: clamp(53px,6.7vw,69px)}
  .hero-description {font-size: 19px; line-height: 1.6}
  .hero-description p+p {font-size: 16px; line-height: 1.65}
  .hero .eyebrow {font-size: 10px; letter-spacing: .08em}
  .button.booking-button {font-size: 12px; gap: 12px; padding-inline: 17px}
  .hero .doctolib-wordmark {width: 86px}
  .anatomy-strip>.wrap {gap: 35px}
  .strip-label {font-size: 11px}
  .anatomy-strip a {font-size: 19px}
  .sos-grid {gap: 6%}
  .sos-image img {height: 430px}
  .sos-copy h2 {font-size: 38px}
  .validated-home-copy {font-size: 17px}
  .doctor-portrait {height: 475px}
  .doctor-copy>.road-copy {font-size: 18px}
  .pathology-content-grid {grid-template-columns: minmax(0,1fr); gap: 48px}
  .pathology-content-grid .prose {max-width: 760px}
  .pathology-content-grid .appointment-panel {width: 100%; max-width: 560px}
  .footer-grid {gap: 40px}
}
@media (max-width:700px) {
  :root {--gutter: 24px}
  .header-inner {min-height: 76px}
  .brand-image {width: 218px}
  .main-nav .nav-list {gap: 0; font-size: 18px}
  .main-nav .nav-list>li>a {padding-block: 13px}
  .main-nav .booking-button {font-size: 13px; margin-top: 8px}
  .submenu-toggle {width: 44px}
  .specialty-submenu {box-shadow: none; border-radius: 0}
  .nav-list .specialty-submenu a {font-size: 17px}
  .hero-copy {padding-top: 38px; padding-bottom: 34px}
  .hero h1 {font-size: clamp(49px,11.7vw,72px); line-height: 1.02; max-width: 540px; margin: 23px 0 24px; text-wrap: initial}
  .hero .eyebrow {font-size: 10px; letter-spacing: .07em; line-height: 1.65; margin-bottom: 0}
  .hero-description {font-size: 19px; line-height: 1.55; margin-bottom: 26px}
  .hero-description p+p {font-size: 17px; line-height: 1.65; margin-top: 18px}
  .hero .text-link {font-size: 15px}
  .button.booking-button {font-size: 13px; padding: 15px 18px; gap: 13px}
  .hero-visual.is-cutout {height: 435px}
  .anatomy-strip>.wrap {padding-block: 23px}
  .strip-label {font-size: 11px; margin-bottom: 12px}
  .anatomy-strip a {font-size: 21px; min-height: 48px}
  .section {padding-block: 64px}
  .home .expertise .section-heading {display: block}
  .home .expertise .section-heading h2 {font-size: clamp(35px,8vw,44px); max-width: 440px}
  .home .expertise .section-heading>.road-copy {font-size: 18px; margin: 24px 0 13px; max-width: 520px}
  .home .zone-list {display: block; margin-top: 35px}
  .zone-row {padding-block: 25px; min-height: 120px; gap: 20px}
  .zone-name {font-size: 31px}
  .zone-desc {font-size: 16px; max-width: 470px}
  .round-arrow {width: 42px; height: 42px}
  .sos-section {padding-block: 48px}
  .sos-grid {gap: 35px}
  .sos-image img {height: 280px}
  .sos-copy h2 {font-size: clamp(34px,8vw,44px); margin-bottom: 25px}
  .validated-home-copy {font-size: 18px; line-height: 1.65}
  .doctor-grid {gap: 36px}
  .doctor-portrait {height: 460px}
  .doctor-copy h2 {font-size: clamp(35px,8vw,44px)}
  .doctor-copy>.road-copy {font-size: 19px; line-height: 1.75; max-width: none}
  .doctor-stamp {width: 96px; height: 96px; padding: 10px}
  .consultation-band {padding-block: 54px}
  .consultation-band h2 {font-size: 42px; margin-bottom: 25px}
  .consultation-band .road-copy,.consultation-band-inner>div+div>p {font-size: 19px}
  .site-footer {padding-top: 46px; padding-bottom: 108px}
  .footer-grid {grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px}
  .footer-identity {grid-column: auto}
  .footer-name {width: 290px}
  .footer-label {margin-bottom: 10px}
  .site-footer .nav-list a {min-height: 44px}
  .footer-phone {font-size: 26px}
  .footer-bottom>div {gap: 18px}
  .road-footer-note,.footer-bottom>p {font-size: 13px}
  .mobile-booking {padding-top: 9px; background: var(--paper)}
  .mobile-booking .booking-button {justify-content: center; font-size: 13px; min-height: 48px}
  .page-heading {padding-bottom: 42px}
  .breadcrumbs {font-size: 13px; padding: 20px 0 28px; gap: 8px}
  .page-heading h1 {font-size: clamp(37px,9vw,50px); overflow-wrap: normal; hyphens: auto}
  .page-intro {font-size: 19px; line-height: 1.6}
  .prose {font-size: 18px; line-height: 1.75}
  .prose h2,.validated-section h2 {font-size: 28px; line-height: 1.28}
  .prose h3,.validated-section h3 {font-size: 23px}
  .appointment-panel {padding: 27px}
  .appointment-panel .booking-button {width: 100%; font-size: 13px}
  .zone-filters {gap: 8px; margin-bottom: 34px}
  .zone-filters a {font-size: 15px; padding-inline: 15px}
  .topic-grid {grid-template-columns: 1fr; gap: 36px}
  .topic-card h2 {font-size: 32px}
  .topic-card>p:not(.eyebrow) {font-size: 18px}
}
@media (max-width:359px) {
  :root {--gutter: 20px}
  .brand-image {width: 190px}
  .hero h1 {font-size: 46px}
  .hero .eyebrow {font-size: 9px; letter-spacing: .045em}
  .button.booking-button,.mobile-booking .booking-button {font-size: 12px; gap: 10px; padding-inline: 13px}
  .hero-visual.is-cutout {height: 380px}
  .doctor-portrait {height: 410px}
  .consultation-band h2 {font-size: 37px}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior: auto}
  .text-link:hover svg,.anatomy-strip a:hover span,.button:active {transform: none}
}
@media print {
  .page-heading {background: white; color: black}
  .prose {font-size: 12pt}
  .section {padding-block: 20px}
}

/* Centre Paris Sud identity — client-approved palette, October 2026. */
:root {--brand-blue:#0056b0;--navy:#0056b0;--green:#0056b0;--green-deep:#00458e;--paper:#fff;--cream:#f5f8fc;--sage:#e2efff}
.brand-image {width:260px;max-height:84px;object-fit:contain}
.header-inner {min-height:94px}
.footer-name {width:320px}
.hero .button.booking-button,.sos-section .button.booking-button {background:#003d7e;border-color:#bcd9fb}
.hero .button.booking-button:hover,.sos-section .button.booking-button:hover {background:#002b59;border-color:#fff}
.hero-description,.hero-description p+p,.hero-footnote p span,.hero .text-link,.hero .eyebrow,.validated-home-copy {color:#fff}
.hero-footnote {border-color:#8bb9e9}
.hero a:focus-visible,.sos-section a:focus-visible {outline-color:#fff}
.home .zone-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.anatomy-strip .wrap>div {gap:22px}
@media(min-width:1060px) and (max-width:1200px){.brand-image{width:230px}.main-nav .nav-list{gap:13px}.main-nav{gap:14px}}
@media(max-width:1059px){.brand-image{width:255px}.header-inner{min-height:94px}}
@media(max-width:700px){.brand-image{width:235px;max-height:80px}.header-inner{min-height:86px}.footer-name{width:290px}.home .zone-list{display:block}.anatomy-strip .wrap>div{gap:0 28px}}
@media(max-width:359px){.brand-image{width:200px}.header-inner{min-height:78px}}

/* Google reviews: manual slider with native touch and keyboard scrolling. */
.google-reviews {background:var(--cream)}
.reviews-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.google-reviews h2 {margin:0 0 16px}
.reviews-rating {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.reviews-rating>strong {font-size:28px;font-weight:600;line-height:1}
.reviews-rating>span:last-child {color:#526174;font-size:15px}
.review-stars {display:inline-flex;gap:2px;flex-shrink:0;vertical-align:middle}
.review-star {display:block;position:relative;width:20px;height:20px}
.review-star svg {display:block;width:20px;height:20px;fill:#d9dee5}
.review-star>span {position:absolute;inset:0 auto 0 0;overflow:hidden}
.review-star>span svg {fill:#fbbc04}
.reviews-track {display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;padding:2px 2px 16px;scrollbar-width:thin;scrollbar-color:#9bb9da transparent;overscroll-behavior-x:contain}
.review-card {flex:0 0 calc((100% - 40px)/3);min-width:0;min-height:300px;display:flex;flex-direction:column;align-items:flex-start;scroll-snap-align:start;border:1px solid #dbe3ee;border-radius:14px;background:#fff;padding:24px;box-sizing:border-box}
.review-person {display:flex;align-items:center;gap:12px;width:100%;margin-bottom:20px}
.review-avatar {width:44px;height:44px;flex-shrink:0;position:relative;border-radius:50%;overflow:hidden;background:#e4eefb;color:#00458e;font-size:16px;font-weight:600;display:grid;place-items:center}
.review-avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.review-person-copy {min-width:0;flex:1}
.review-person h3 {font-family:inherit;font-size:15px;line-height:1.4;font-weight:600;margin:0 0 3px;letter-spacing:0;overflow-wrap:anywhere}
.review-person-copy>span {font-size:12px;color:#627083}
.review-provider {font-size:13px;color:#526174;font-weight:600;align-self:flex-start}
.review-card blockquote {margin:16px 0 24px;font-size:16px;line-height:1.65;color:#263548}
.review-card blockquote p {margin:0}
.review-no-comment {color:#627083;font-size:15px;margin:16px 0 24px;font-style:italic}
.review-source-link {display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:#0056b0;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:28px}
.review-source-link svg {width:17px;height:17px}
.reviews-controls {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.reviews-controls[hidden] {display:none}
.reviews-position {font-size:14px;color:#526174;margin:0;font-variant-numeric:tabular-nums}
.reviews-arrows {display:flex;gap:10px}
.reviews-arrows button {display:grid;place-items:center;width:44px;height:44px;border:1px solid #a9bdd4;border-radius:50%;background:#fff;color:#0056b0;cursor:pointer;transition:background .18s ease,color .18s ease}
.reviews-arrows button svg {width:20px;height:20px}
.reviews-prev svg {transform:rotate(180deg)}
.reviews-arrows button:disabled {opacity:.38;cursor:default}
.reviews-track:focus-visible,.reviews-arrows button:focus-visible,.review-source-link:focus-visible {outline:2px solid #0056b0;outline-offset:3px}
.reviews-source {color:#627083;font-size:12px;line-height:1.6;margin:20px 0 0;max-width:75ch}
@media(hover:hover){.reviews-arrows button:hover:not(:disabled){background:#0056b0;color:#fff}}
@media(max-width:1059px){.review-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:700px){.reviews-heading{align-items:flex-start;flex-direction:column;gap:20px}.reviews-google-link{font-size:14px}.reviews-track{gap:16px}.review-card{flex-basis:calc(100% - 24px);padding:20px;min-height:300px}.review-provider{font-size:12px}.reviews-rating{gap:10px}}
@media(prefers-reduced-motion:reduce){.reviews-arrows button{transition:none}}
@media print{.reviews-track{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.reviews-controls{display:none}.review-card{break-inside:avoid}}

/* Simple anatomical landmarks for each specialty. */
.zone-illustration {display:grid;place-items:center;flex:0 0 96px;width:96px;height:108px;background:#f0f6fd;border-radius:14px}
.zone-illustration img {width:84px;height:84px;object-fit:contain}
.zone-copy {min-width:0}
.zone-row .round-arrow {flex-shrink:0}
@media(max-width:700px){.zone-row{gap:16px}.zone-illustration{flex-basis:68px;width:68px;height:88px}.zone-illustration img{width:64px;height:64px}.zone-row .zone-name{font-size:28px}.zone-row .zone-desc{font-size:14px}.zone-row .round-arrow{width:30px;height:30px}}
@media(max-width:359px){.zone-row{gap:10px}.zone-illustration{flex-basis:52px;width:52px;height:76px}.zone-illustration img{width:50px;height:60px}}

/* Detailed anatomical illustrations shared across overview, category and switcher. */
.zone-illustration {flex-basis:112px;width:112px;height:124px;background:transparent}
.zone-illustration img {width:112px;height:112px}
.specialty-heading-layout {display:flex;align-items:center;justify-content:space-between;gap:48px}
.specialty-heading-layout>div {flex:1;min-width:0}
.specialty-hero-art {display:block;flex:0 0 208px;background:#fff;border-radius:16px;padding:16px}
.specialty-hero-art img {width:176px;height:176px}
.zone-filters {align-items:stretch}
.zone-filters a {display:flex;align-items:center;gap:10px}
.specialty-tab-art {display:block;width:42px;height:42px;flex-shrink:0;border-radius:8px;background:#fff}
.specialty-tab-art img {width:42px;height:42px}
@media(max-width:700px){.zone-illustration{flex-basis:76px;width:76px;height:96px}.zone-illustration img{width:76px;height:86px}.specialty-heading-layout{gap:16px;align-items:flex-start}.specialty-hero-art{flex-basis:96px;padding:6px;border-radius:12px}.specialty-hero-art img{width:84px;height:84px}.specialty-heading-layout h1{font-size:36px}.zone-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.zone-filters a{font-size:14px;padding:8px;gap:6px}.specialty-tab-art,.specialty-tab-art img{width:32px;height:32px}.zone-filters a:first-child{grid-column:1/-1;min-height:44px}}
@media(max-width:359px){.zone-illustration{flex-basis:58px;width:58px}.zone-illustration img{width:58px}.specialty-heading-layout{flex-direction:column}.specialty-hero-art{flex-basis:auto}}
