/* =====================================================================
   FindelMedic — design tokens + repairs (Beautification plan, Stages 1–2)
   Added 25 Sep 2026 by 20 MORE. The whole block can be deleted to revert.
   Every selector below was checked against the live markup first (C65).
   ===================================================================== */

@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:fallback;src:url('https://fonts.wp.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhS2f3ZGMZpg.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:fallback;src:url('https://fonts.wp.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhS2f3ZGMZpg.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:fallback;src:url('https://fonts.wp.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthS2f3ZGMZpg.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:fallback;src:url('https://fonts.wp.com/s/dmsans/v14/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthS2f3ZGMZpg.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:italic;font-weight:400;font-display:fallback;src:url('https://fonts.wp.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDW32RmYJpso5.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:italic;font-weight:500;font-display:fallback;src:url('https://fonts.wp.com/s/dmsans/v14/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW32RmYJpso5.woff2') format('woff2');}

/* ---------- STAGE 1 · TOKENS ------------------------------------------ */

/* 1.1 Typeface. DM Sans is the face of the existing findelmedic.lu brand site. WordPress.com
   serves it (fonts.wp.com) but only loads it on pages whose blocks ask for it, so it is
   declared here for every page. Set here, not in the Blocksy font picker, so the site adds
   no Google Fonts request. */
:root {
  --fm-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --theme-font-family: var(--fm-font);
  --theme-font-size: 17px;
  --theme-line-height: 1.65;
  --theme-button-font-weight: 600;
  /* 1.2 Palette colour 5 (#B90D01 red) was the theme's global border colour, so every
     form field and separator read as an error state. Red is now for errors only. */
  --fm-line: #D8D2CA;
  --theme-border-color: var(--fm-line);
  /* 1.3 Form fields */
  --theme-form-field-border-initial-color: var(--fm-line);
  --theme-form-field-border-focus-color: var(--theme-palette-color-3);
  --theme-form-field-border-width: 1px;
  --theme-form-field-border-radius: 4px;
  --theme-form-selection-field-initial-color: #B7AFA5;
}
body, button, input, select, textarea,
.wp-block-button__link, .ct-button, .wp-element-button {
  font-family: var(--fm-font);
}
/* The three block systems each hard-set their own family; bring them onto the one face. */
.entry-content :is(p, li, h1, h2, h3, h4, h5, h6, a, span, em, strong, label, figcaption, blockquote, td, th, div) {
  font-family: var(--fm-font);
}

/* Blocks that hard-set Montserrat through a preset class (which carries !important). */
.entry-content .has-montserrat-font-family { font-family: var(--fm-font) !important; }

/* Type scale (§4.1): h1 44 · h2 34 · h3 24 · h4 19 · body 17. Weights 600/500/400. */
h1 { --theme-font-size: clamp(32px, 2.2vw + 13px, 44px); --theme-line-height: 1.18; --theme-font-weight: 600; }
h2 { --theme-font-size: clamp(27px, 1.6vw + 11px, 34px); --theme-line-height: 1.24; --theme-font-weight: 600; }
h3 { --theme-font-size: clamp(21px, .6vw + 15px, 24px);  --theme-line-height: 1.33; --theme-font-weight: 600; }
h4 { --theme-font-size: 19px; --theme-line-height: 1.47; --theme-font-weight: 600; }
h5, h6 { --theme-font-weight: 600; }
h1, h2, h3, h4 { letter-spacing: -0.01em; }

/* Form fields (the check-up and prevention forms are Jetpack forms): borders now come from
   --theme-border-color above. Focus in the accent colour; red only when a field is invalid. */
.contact-form :is(input, select, textarea):focus { border-color: var(--theme-palette-color-3) !important;
  outline: none; box-shadow: 0 0 0 3px rgba(85,127,126,.18); }
.contact-form :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--theme-palette-color-5) !important; }
/* Field outlines need 3:1 contrast against the field (WCAG 1.4.11): #8C857C on white is 3.6:1.
   The pale line colour above is for decorative separators only. */
.contact-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea),
.contact-form .jetpack-field__input-phone-wrapper {
  border-color: #8C857C; background-color: #ffffff; }
.contact-form :is(input[type="checkbox"], input[type="radio"]) { border-color: #8C857C; }
/* Submit buttons were drawn in palette 5 (error red) with zero padding. Primary style instead. */
.contact-form .wp-block-button__link.has-palette-color-5-background-color {
  background-color: var(--theme-palette-color-1) !important; }
.contact-form .wp-block-button__link.has-palette-color-5-background-color:hover {
  background-color: var(--theme-palette-color-2) !important; }
.contact-form button.wp-block-button__link { padding: 14px 32px !important; min-height: 48px; font-weight: 600; }

/* ---------- STAGE 2 · REPAIRS ----------------------------------------- */

/* 2.1 GreenShift "Show more" toggler (7 pages: EN/FR/DE cardiology + orthopaedics, and
   /dr-paschalis-kekes/). The copy is 450–2,950px tall, far too long to show in a 240px
   card, so the collapse stays. The fault was that the text ran on under a half-transparent
   fade and the control printed across it. The fade now turns solid before the control,
   in each card's own colour. */
.gs-toggler-wrapper { --tgl-bg: #ffffff; }
.wp-block-cover .gs-toggler-wrapper { --tgl-bg: var(--theme-palette-color-1); }
.wp-block-cover:has(> .has-palette-color-2-background-color) .gs-toggler-wrapper { --tgl-bg: var(--theme-palette-color-2); }
.gs-toggler-wrapper:not(.gs-toggler-open) { height: 150px !important; padding-bottom: 44px !important; }
.gs-toggler-wrapper:not(.gs-toggler-open) .gs-tgl-grad {
  height: 104px !important; bottom: 0 !important;
  background: linear-gradient(to bottom, transparent 0,
              var(--tgl-bg) 55%, var(--tgl-bg) 100%) !important;
}
.gs-tgl-trigger { left: 0; right: 0; text-align: left; }
.gs-tgl-show, .gs-tgl-hide {
  display: inline-block; font-size: 15px; font-weight: 600; letter-spacing: .02em;
  text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px;
  padding: 10px 0;
}
.gs-toggler-open { padding-bottom: 44px !important; }

/* Long French/German card titles ("Échocardiographie") were breaking mid-word with no hyphen. */
.wp-block-cover .wp-block-cover__inner-container > p:first-child { hyphens: auto; -webkit-hyphens: auto; }

/* 2.2 The team-page hero used the wordmark as a cover photograph (1364×651 PNG stretched
   to ~2600px, heading and button laid over the letterforms). Flat band until a real
   photograph exists. */
.entry-content > .wp-block-group.alignfull[style*="Findel_Medic_Horizontal"] {
  background-image: none !important;
  background-color: var(--theme-palette-color-4) !important;
  min-height: 0 !important;
  padding-top: 88px !important; padding-bottom: 72px !important;
}

/* 2.3 Empty layout columns left as spacers (e.g. flex-basis:45% with no content) */
.wp-block-column:empty { display: none !important; }
.wp-block-columns:has(> .wp-block-column:empty) { justify-content: center; }

/* 2.4 Doctor name on a portrait (specialty pages): a name plate, not text on a photograph.
   Matches only cover blocks with an image, content at the bottom, and a single paragraph. */
.wp-block-cover.is-position-bottom-center:has(> .wp-block-cover__image-background) { padding: 0 !important; }
.wp-block-cover.is-position-bottom-center:has(> .wp-block-cover__image-background) > .wp-block-cover__inner-container {
  width: 100% !important; max-width: none !important;
}
.wp-block-cover.is-position-bottom-center:has(> .wp-block-cover__image-background) > .wp-block-cover__inner-container > p:only-child {
  margin: 0 !important; padding: 64px 16px 16px !important;
  background: linear-gradient(to top, rgba(10,43,36,.88) 0, rgba(10,43,36,.55) 55%, rgba(10,43,36,0) 100%);
  color: #fff !important; font-weight: 600; font-size: 18px !important; line-height: 1.35;
}

/* =====================================================================
   BRAND LAYER (Stage 3, 25 Sep 2026). Brings care.findelmedic.lu onto the design language of
   the existing findelmedic.lu: warm off-white ground, DM Sans at weight 500 for display type,
   two-tone headlines, pill buttons, 16px-radius cards, a dark-green footer. Values measured
   from the live brand site (C66).
   ===================================================================== */
:root {
  --fm-ground: #FDFBF5;          /* brand-site page background */
  --fm-cream: #F4EEE7;           /* palette 4 */
  --fm-ink: #0A2B24;             /* palette 1 */
  --fm-green: #2E4C47;           /* palette 2 */
  --fm-teal: #557F7E;            /* palette 3 */
  --fm-radius: 16px;
  --fm-gutter: max(24px, 5vw);
}
body { background-color: var(--fm-ground); }
#header [data-row], #header .ct-sticky-container > div { background-color: var(--fm-ground); }

/* --- Display type: the brand sets headlines at 500, tight --- */
h1, h2 { --theme-font-weight: 500; letter-spacing: -0.015em; }
h1 { --theme-font-size: clamp(34px, 3vw + 12px, 56px); --theme-line-height: 1.1; }
h2 { --theme-font-size: clamp(28px, 2vw + 12px, 44px); --theme-line-height: 1.15; }
.fm-accent { color: var(--fm-teal); }
.fm-on-dark .fm-accent, .fm-hero .fm-accent, .fm-panel .fm-accent { color: #A9C7C5; }
.fm-eyebrow {
  font-size: 13px !important; line-height: 20px; letter-spacing: .14em; text-transform: uppercase;
  font-weight: 500; color: var(--fm-green); margin-bottom: 14px !important;
}
.fm-eyebrow.fm-on-dark { color: #D2CBC3; }
.fm-display { font-size: clamp(36px, 4vw + 10px, 68px) !important; line-height: 1.06 !important; margin-top: 0 !important; }
.fm-eyebrow + :is(h1, h2, h3) { margin-top: 0 !important; }
.fm-lead { font-size: clamp(17px, .5vw + 14px, 20px) !important; line-height: 1.55; }
.fm-strong { font-weight: 600; }

/* --- Buttons: brand pill --- */
.wp-block-button__link, .wp-element-button, .ct-button {
  border-radius: 999px !important; font-weight: 500; letter-spacing: .01em;
}
.entry-content .wp-block-button__link { padding: 14px 26px; }
.wp-block-button.is-style-outline > .wp-block-button__link {
  border: 1.5px solid currentColor; background: transparent; color: var(--fm-ink);
}
.fm-arrow > .wp-block-button__link::after {
  content: "→"; display: inline-grid; place-items: center; width: 30px; height: 30px; margin: -6px -14px -6px 12px;
  border-radius: 50%; background: rgba(255,255,255,.16); font-size: 15px; line-height: 1;
}
.fm-btn-light > .wp-block-button__link { background: #fff !important; color: var(--fm-ink) !important; }
.fm-btn-light.fm-arrow > .wp-block-button__link::after { background: var(--fm-ink); color: #fff; }
.fm-btn-ghost-light > .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }

/* --- Header: text navigation, one pill for booking (menu order: last item is "Book") --- */
#header .header-menu-1 .menu > li > a.ct-menu-link {
  background: transparent !important; color: var(--fm-ink) !important; font-weight: 500; font-size: 15px;
  border-radius: 999px; padding-inline: 14px;
}
#header .header-menu-1 .menu > li > a.ct-menu-link:hover { color: var(--fm-teal) !important; }
#header .header-menu-1 .menu > li:last-child > a.ct-menu-link {
  background: var(--fm-ink) !important; color: #fff !important; padding-inline: 22px;
}
#header .header-menu-1 .menu > li:last-child > a.ct-menu-link:hover { background: var(--fm-green) !important; }

/* --- Cards: brand radius on in-content cover blocks --- */
.entry-content .wp-block-cover:not(.alignfull) { border-radius: var(--fm-radius); overflow: hidden; }

/* --- Homepage and section components (core blocks, classes set in the block editor) --- */
.entry-content > .fm-section { padding: clamp(64px, 7vw, 112px) var(--fm-gutter) !important; margin: 0 !important; }
.entry-content > .fm-section + .fm-section { padding-top: 0 !important; }
.fm-hero { margin-top: 0 !important; }
.fm-hero .wp-block-cover__inner-container { color: #fff; }
.fm-hero .fm-display, .fm-hero .fm-lead { color: #fff; }
.fm-hero .wp-block-buttons { margin-top: 28px; gap: 12px; }
.fm-split { gap: clamp(32px, 5vw, 96px) !important; }
.fm-tiles { gap: 24px !important; margin-top: 40px !important; }
.fm-tile { background: #fff; border-radius: var(--fm-radius); overflow: hidden; padding: 0 0 24px; margin: 0 !important;
  box-shadow: 0 1px 2px rgba(10,43,36,.06); transition: transform .2s ease, box-shadow .2s ease; }
.fm-tile:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(10,43,36,.10); }
.fm-tile > * { margin-left: 24px !important; margin-right: 24px !important; }
.fm-tile > .fm-tile-img { margin: 0 0 20px !important; }
.fm-tile-img img { width: 100%; display: block; }
.fm-tile-title { font-size: 22px !important; font-weight: 600 !important; margin: 0 24px 6px !important; }
.fm-tile-title a { color: var(--fm-ink); text-decoration: none; }
.fm-tile-title a:hover { color: var(--fm-teal); }
.fm-tile-line { font-size: 15px !important; line-height: 1.55; color: #4D5A55; margin-top: 0 !important; }
.fm-tile-panel { background: linear-gradient(160deg, var(--fm-green), var(--fm-ink)); color: #F4EEE7; padding: 32px 0 28px;
  display: flex; flex-direction: column; }
.fm-tile-panel .fm-tile-title { color: #fff; font-size: 26px !important; font-weight: 500 !important; }
.fm-tile-panel .fm-tile-line { color: #D2CBC3; }
.fm-tile-panel .wp-block-buttons { margin-top: auto !important; padding-top: 16px; }
.fm-panel { background: linear-gradient(160deg, var(--fm-green), var(--fm-ink)); color: #F4EEE7;
  border-radius: var(--fm-radius); padding: clamp(28px, 4vw, 56px) !important; }
.fm-cns-text { font-size: clamp(17px, .6vw + 14px, 21px) !important; line-height: 1.5; max-width: 62ch; color: #F4EEE7; }
.fm-cns-text em { color: #fff; }
.entry-content > .fm-section.fm-location { background: var(--fm-cream); padding-top: clamp(64px, 7vw, 112px) !important; }
.fm-map img { border-radius: var(--fm-radius); }
.fm-location a:not(.wp-block-button__link) { color: var(--fm-ink); text-underline-offset: 3px; }

/* --- Footer --- */
.ct-footer { background: var(--fm-green) !important; color: #E9E3DB; }
.ct-footer [data-row] { background: transparent !important; }
.ct-footer a { color: #fff; text-decoration: none; }
.ct-footer a:hover { color: #A9C7C5; }
.ct-footer .ct-widget p { font-size: 15px; line-height: 1.6; margin: 0 0 6px; color: #E9E3DB; }
.ct-footer .fm-foot-brand { font-size: 22px !important; font-weight: 500; color: #fff !important; margin-bottom: 12px !important; }
.ct-footer .ct-footer-copyright, .ct-footer .ct-footer-copyright p { color: #D2CBC3 !important; font-size: 14px; }
.ct-footer [data-id="menu"] .menu { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 8px 40px; }
.ct-footer [data-id="menu"] .menu a { color: #fff !important; font-size: 15px; padding: 0 !important; }

/* --- Focus: visible, brand-coloured, keyboard only --- */
:focus-visible { outline: 2px solid var(--fm-teal) !important; outline-offset: 2px; border-radius: 4px; }

@media (max-width: 781px) {
  .fm-hero { min-height: 560px !important; }
  .fm-hero .wp-block-buttons { flex-direction: column; align-items: flex-start; }
  .ct-footer [data-id="menu"] .menu { grid-template-columns: 1fr 1fr; }
}

/* --- Team page: hero band in brand green (replaces the flat cream band from rule 2.2) --- */
.entry-content > .wp-block-group.alignfull[style*="Findel_Medic_Horizontal"] {
  background: linear-gradient(160deg, var(--fm-green), var(--fm-ink)) !important;
  padding-top: 112px !important; padding-bottom: 96px !important;
}
.entry-content > .wp-block-group.alignfull[style*="Findel_Medic_Horizontal"] :is(h1, h2, p) { color: #fff !important; }
.entry-content > .wp-block-group.alignfull[style*="Findel_Medic_Horizontal"] .wp-block-button__link { background: #fff !important; color: var(--fm-ink) !important; }

/* --- Team page: doctor cards. Photos normalised to one 4:5 shape (plan §5.2) --- */
.gspb_container > .wp-block-group[style*="#dcdcd7"] {
  background: transparent !important; border: 0 !important; min-height: 0 !important; padding: 0 !important;
  border-radius: var(--fm-radius); overflow: hidden;
}
.gspb_container > .wp-block-group[style*="#dcdcd7"] figure { margin: 0 !important; max-width: none !important; }
.gspb_container > .wp-block-group[style*="#dcdcd7"] img {
  width: 100% !important; height: auto !important; aspect-ratio: 4 / 5 !important; object-fit: cover; object-position: 50% 22%;
  border-radius: var(--fm-radius); display: block;
}
.gspb_container:has(> .gspb-containerlink) img { transition: transform .35s ease; }
.gspb_container:has(> .gspb-containerlink):hover img { transform: scale(1.02); }

/* --- Mobile: hero overlay runs top-to-bottom so text stays legible; logo at a readable size --- */
@media (max-width: 781px) {
  .fm-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(10,43,36,.5) 0%, rgba(10,43,36,.92) 70%) !important; }
  #header [data-device="mobile"] .site-logo-container img { max-height: 44px !important; width: auto !important; height: auto !important; }
}

/* Homepage specialty grid: explicit 3 / 2 / 1 columns (WordPress's auto-fill formula settled on 2 at 1290px) */
.fm-tiles.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .fm-tiles.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-tiles.is-layout-grid { grid-template-columns: 1fr !important; } }

/* Homepage: hero sits directly under the header, location band runs into the footer */
.ct-container-full:has(> article > .entry-content > .fm-hero:first-child) { padding-top: 0 !important; }
.ct-container-full:has(> article > .entry-content > .fm-location:last-child) { padding-bottom: 0 !important; }
/* Footer menu: sentence case, left-aligned columns */
.ct-footer [data-id="menu"] .menu { justify-items: start; }
.ct-footer [data-id="menu"] .menu a { text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; }
.ct-footer [data-id="menu"] .menu li { margin: 0 !important; }

/* Theme page titles on the brand scale */
.hero-section .page-title { font-size: clamp(34px, 3vw + 12px, 56px) !important; font-weight: 500 !important; line-height: 1.1 !important; letter-spacing: -0.015em; }
/* Uppercase eyebrow labels were set at 0.7–0.8rem (11–13px); floor at 13px, and red only as accent */
.entry-content p[style*="text-transform:uppercase"][style*="font-size:0.7rem"],
.entry-content p[style*="text-transform:uppercase"][style*="font-size:0.8rem"] { font-size: 13px !important; }
.entry-content p.has-palette-color-5-color[style*="text-transform:uppercase"] { color: var(--fm-green) !important; }

/* --- Doctor-page template (plan §5.6; pattern "FindelMedic — Doctor page (template)") --- */
.ct-container-full:has(> article > .entry-content > .fm-doc-hero:first-child) { padding-top: 0 !important; }
article:has(> .entry-content > .fm-doc-hero:first-child) > .hero-section { width: min(1290px, calc(100% - 2 * var(--fm-gutter))) !important;
  max-width: none !important; margin: 0 auto !important; padding: clamp(40px, 5vw, 72px) 0 0 !important;
  background: var(--fm-cream); box-shadow: 0 0 0 100vmax var(--fm-cream); clip-path: inset(0 -100vmax); }
.entry-content > .fm-section.fm-doc-hero { background: var(--fm-cream); padding-top: 24px !important; }
.fm-doc-hero .fm-lead { font-size: clamp(19px, .6vw + 15px, 23px) !important; color: var(--fm-green); margin-top: 0; }
.fm-doc-intro { max-width: 820px; }
.fm-doc-meta { font-size: 15px !important; color: #4D5A55; }
.fm-doc-portrait img { width: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 22%; border-radius: var(--fm-radius); }
.entry-content > .fm-section.fm-doc-body { padding-top: clamp(56px, 6vw, 96px) !important; }
.fm-doc-main > h2 { font-size: clamp(24px, 1vw + 16px, 30px) !important; margin: 48px 0 14px !important; }
.fm-doc-main > h2:first-child { margin-top: 0 !important; }
.fm-doc-main > h3 { font-size: 19px !important; margin: 28px 0 8px !important; }
.fm-doc-main ul { padding-left: 1.15em; }
.fm-doc-main li { margin-bottom: 8px; }
.fm-doc-main li::marker { color: var(--fm-teal); }
.fm-doc-facts { position: sticky; top: 32px; }
.fm-doc-facts h3 { color: #fff !important; font-size: 18px !important; font-weight: 600 !important; margin: 22px 0 6px !important; }
.fm-doc-facts p:not(.fm-eyebrow) { color: #E9E3DB; font-size: 15px; line-height: 1.6; }
.fm-doc-facts a { color: #fff; }
.fm-doc-facts .wp-block-buttons { margin-top: 24px; }

/* Footer: language switcher as a clean list; everything centred on tablet and phone */
.ct-footer .wp-block-polylang-language-switcher { list-style: none; margin: 0; padding: 0; }
.ct-footer .wp-block-polylang-language-switcher li { margin: 0 0 6px; }
.ct-footer .wp-block-polylang-language-switcher .current-lang a { color: #A9C7C5; }
@media (max-width: 999.98px) {
  .ct-footer [data-row="middle"] [data-column] { text-align: center; justify-content: center; }
  .ct-footer [data-id="menu"] .menu { justify-content: center; justify-items: center; text-align: center; }
  .ct-footer .wp-block-polylang-language-switcher { display: flex; gap: 20px; justify-content: center; }
}

/* /specialties/ (EN/FR/DE): specialty cards in the homepage-tile style */
:is(.page-id-1330, .page-id-2290, .page-id-2292) .wp-block-column:has(> .gspb_container > .gspb-containerlink) { background: transparent !important; }
:is(.page-id-1330, .page-id-2290, .page-id-2292) .gspb_container:has(> .gspb-containerlink):has(> p.has-palette-color-4-background-color) {
  background: #fff; border-radius: var(--fm-radius); overflow: hidden; height: 100%;
  box-shadow: 0 1px 2px rgba(10,43,36,.06); transition: transform .2s ease, box-shadow .2s ease; }
:is(.page-id-1330, .page-id-2290, .page-id-2292) .gspb_container:has(> .gspb-containerlink):has(> p.has-palette-color-4-background-color):hover {
  transform: translateY(-2px); box-shadow: 0 10px 30px rgba(10,43,36,.10); }
:is(.page-id-1330, .page-id-2290, .page-id-2292) .gspb_container > p.has-palette-color-4-background-color {
  margin: 0 !important; padding: 18px 22px !important; font-size: 15px !important; letter-spacing: .08em; }
:is(.page-id-1330, .page-id-2290, .page-id-2292) .gspb_container > p.has-palette-color-4-background-color + figure { margin: 0 !important; padding: 28px 22px 32px; text-align: center; }
:is(.page-id-1330, .page-id-2290, .page-id-2292) .gspb_container > p.has-palette-color-4-background-color + figure img { width: auto !important; max-height: 150px; display: inline-block; }

/* --- Content-page template (C71): the doctor-page shell applied to service, specialty and practical pages --- */
.fm-page-img img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--fm-radius); display: block; }
.fm-page-img { margin: 0 !important; }
.fm-doc-hero .fm-split { align-items: center !important; }
.fm-doc-hero .fm-eyebrow { margin-top: 0 !important; }
.fm-doc-hero .wp-block-buttons { margin-top: 28px; gap: 12px; }
.fm-doc-hero .fm-lead a { color: inherit; }
.fm-doc-main > p, .fm-doc-main > ul, .fm-doc-main > ol { max-width: 70ch; }
.fm-doc-main > h2 { position: relative; padding-top: 22px; }
.fm-doc-main > h2::before { content: ""; position: absolute; top: 0; left: 0; width: 40px; height: 3px; border-radius: 2px; background: var(--fm-teal); }
.fm-doc-main ul.wp-block-list { list-style: none; padding-left: 0 !important; }
.fm-doc-main ul.wp-block-list > li { position: relative; padding-left: 30px; }
.fm-doc-main ul.wp-block-list > li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border-radius: 50%; background: rgba(85,127,126,.16); }
.fm-doc-main ul.wp-block-list > li::after { content: ""; position: absolute; left: 6.5px; top: calc(.3em + 4px); width: 5px; height: 9px; border: solid var(--fm-green); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.fm-doc-main.is-single > * { max-width: 820px; }
.fm-doc-main .wp-block-jetpack-contact-form { background: #fff; border-radius: var(--fm-radius); padding: clamp(24px, 3vw, 40px); box-shadow: 0 1px 2px rgba(10,43,36,.06); }
.entry-content > .fm-section.fm-doc-body:last-child { padding-bottom: clamp(72px, 8vw, 120px) !important; }
@media (max-width: 781px) {
  .fm-doc-facts { position: static; }
  .fm-doc-hero .fm-split > .wp-block-column:has(.fm-page-img) { order: -1; }
}

/* --- About page (C71) --- */
.fm-facts { list-style: none; margin: 0; padding: 0 !important; }
.fm-facts li { padding: 16px 0; border-top: 1px solid rgba(10,43,36,.14); font-size: 16px; line-height: 1.5; }
.fm-facts li:last-child { border-bottom: 1px solid rgba(10,43,36,.14); }
.fm-facts strong { display: block; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; color: var(--fm-teal); margin-bottom: 2px; }
.fm-cards { gap: 24px !important; margin-top: 40px !important; }
.fm-cards.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .fm-cards.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-cards.is-layout-grid { grid-template-columns: 1fr !important; } }
.fm-card { background: #fff; border-radius: var(--fm-radius); padding: 28px 28px 30px !important; margin: 0 !important; box-shadow: 0 1px 2px rgba(10,43,36,.06); }
.fm-card-num { font-size: 13px !important; letter-spacing: .14em; color: var(--fm-teal); font-weight: 500; margin: 0 0 18px !important; }
.fm-card h3 { font-size: 21px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
.fm-card p:not(.fm-card-num) { font-size: 16px; line-height: 1.55; color: #4D5A55; margin: 0 !important; }
.fm-tiles-5.is-layout-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .fm-tiles-5.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-tiles-5.is-layout-grid { grid-template-columns: 1fr 1fr !important; } }
.fm-tiles-5 .fm-tile-title { font-size: 18px !important; }
.fm-note { background: var(--fm-cream); border-radius: var(--fm-radius); padding: clamp(28px, 4vw, 48px) !important; height: 100%; }
.fm-note h2, .fm-panel h2 { font-size: clamp(24px, 1vw + 16px, 30px) !important; margin-top: 0 !important; }
.fm-panel h2 { color: #fff; }
.fm-panel p { color: #E9E3DB; }
.fm-panel .fm-strong { color: #fff; font-size: clamp(19px, .6vw + 15px, 23px) !important; }
.fm-stretch > .wp-block-column { display: flex; flex-direction: column; }
.fm-stretch > .wp-block-column > * { flex: 1; }
/* C71, continued: two-column cards (contact pages), cream band section (About) */
.fm-cards-2.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-top: 0 !important; }
@media (max-width: 640px) { .fm-cards-2.is-layout-grid { grid-template-columns: 1fr !important; } }
.fm-card > h3:first-child { margin-top: 0 !important; }
.fm-card > p:not(.fm-card-num) + p:not(.fm-card-num) { margin-top: 10px !important; }
.entry-content > .fm-section.fm-band { background: var(--fm-cream); padding-top: clamp(64px, 7vw, 112px) !important; }
.entry-content > .fm-section.fm-band + .fm-section { padding-top: clamp(64px, 7vw, 112px) !important; }
.entry-content .fm-section > p.fm-intro { padding-right: max(0px, calc(100% - 760px)); }
.entry-content > .fm-section.fm-doc-hero + .fm-section:not(.fm-doc-body) { padding-top: clamp(64px, 7vw, 112px) !important; }
.fm-about-what .fm-tiles { margin-top: 56px !important; }
.fm-tiles-5 .fm-tile { padding-bottom: 14px; }

/* =====================================================================
   C72 (25 Sep 2026): closer to www.findelmedic.lu, measured side by side.
   Brand site: 20px card radius, 50px section headings, near-black header bar with rounded
   bottom corners and the white logo, dark-green title bands, red (#B90D01) as the accent
   in headlines, arrow circles and check icons, photo cards with the title over the image.
   ===================================================================== */
:root { --fm-radius: 20px; --fm-red: #B90D01; }

/* Type scale: section headings at the brand's 50px, display at 75px */
h2 { --theme-font-size: clamp(30px, 2.4vw + 14px, 50px); --theme-line-height: 1.1; }
.fm-display { font-size: clamp(38px, 4.4vw + 12px, 75px) !important; line-height: 1.04 !important; }

/* Accent: red on light grounds, as on the brand site; light teal stays on dark grounds */
.fm-accent { color: var(--fm-red); }

/* Buttons: brand dark green pill; light pills carry the red arrow circle */
.entry-content .wp-block-button:not(.is-style-outline):not(.fm-btn-light) > .wp-block-button__link { background: var(--fm-green); color: #fff; }
.entry-content .wp-block-button:not(.is-style-outline):not(.fm-btn-light) > .wp-block-button__link:hover { background: var(--fm-ink); }
.fm-btn-light.fm-arrow > .wp-block-button__link::after { background: var(--fm-red) !important; color: #fff; }

/* Header: near-black bar, rounded bottom corners, white logo and navigation */
#header [data-row], #header .ct-sticky-container > div { background-color: transparent !important; }
#header [data-row="middle"] { background-color: rgba(0,0,0,.9) !important; border-radius: 0 0 34px 34px; }
#header { background: var(--fm-ground); }
body:has(.entry-content > .fm-hero:first-child) #header,
body:has(.entry-content > .fm-doc-hero:first-child) #header { background: var(--fm-green); }
#header .site-logo-container { display: inline-block; width: 210px; height: 44px; background: url(/wp-content/uploads/2026/09/Findel_Medic_Logo_White_2026.svg) left center / contain no-repeat; }
#header .site-logo-container img { opacity: 0; width: 210px !important; height: 44px !important; max-height: none !important; object-fit: contain; }
#header [data-device="mobile"] .site-logo-container { width: 150px; height: 32px; }
#header [data-device="mobile"] .site-logo-container img { width: 150px !important; height: 32px !important; }
#header .header-menu-1 .menu > li > a.ct-menu-link { color: #fff !important; }
#header .header-menu-1 .menu > li > a.ct-menu-link:hover { color: #A9C7C5 !important; }
#header .header-menu-1 .menu > li:last-child > a.ct-menu-link { background: var(--fm-teal) !important; color: #fff !important; }
#header .header-menu-1 .menu > li:last-child > a.ct-menu-link:hover { background: #fff !important; color: var(--fm-ink) !important; }
#header .ct-toggle-dropdown-desktop svg, #header .ct-menu-link svg { fill: #fff; }
#header .ct-header-trigger { color: #fff !important; }
#header .ct-header-trigger .ct-icon, #header .ct-header-trigger svg { fill: #fff !important; }
#header .sub-menu { background: #0A2B24 !important; border-radius: 12px; }
#header .sub-menu a { color: #fff !important; }

/* Title bands: dark green with white type, as on the brand site's inner pages */
article:has(> .entry-content > .fm-doc-hero:first-child) > .hero-section { background: var(--fm-green) !important; box-shadow: 0 0 0 100vmax var(--fm-green), 0 2px 0 100vmax var(--fm-green) !important; }
.entry-content > .fm-section.fm-doc-hero:first-child { margin-top: -1px !important; }
article:has(> .entry-content > .fm-doc-hero:first-child) > .hero-section .page-title { color: #fff !important; }
.entry-content > .fm-section.fm-doc-hero { background: var(--fm-green) !important; color: #E9E3DB; }
.fm-doc-hero .fm-eyebrow { color: #D2CBC3 !important; }
.fm-doc-hero .fm-lead, .fm-doc-hero .fm-lead strong, .fm-doc-hero p { color: #F4EEE7 !important; }
.fm-doc-hero .fm-lead a, .fm-doc-hero p a { color: #fff !important; }
.fm-doc-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff !important; color: var(--fm-ink) !important; }
.fm-doc-hero .fm-arrow > .wp-block-button__link::after { background: var(--fm-red) !important; color: #fff; }
.fm-doc-hero .is-style-outline > .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
.fm-doc-hero .fm-doc-meta { color: #D2CBC3 !important; }
.fm-doc-hero .fm-facts li { border-color: rgba(255,255,255,.18) !important; color: #F4EEE7; }
.fm-doc-hero .fm-facts strong { color: #A9C7C5; }

/* Check lists: the brand's red circle with a white tick */
.fm-doc-main ul.wp-block-list > li::before { background: var(--fm-red); }
.fm-doc-main ul.wp-block-list > li::after { border-color: #fff; }

/* Photo cards: title and line over the image, as the brand's specialty carousel */
.fm-tile:not(.fm-tile-panel) { position: relative; display: grid !important; grid-template-columns: 100%; grid-template-rows: 1fr auto auto;
  padding: 0 !important; background: var(--fm-ink); }
.fm-tile:not(.fm-tile-panel) > * { grid-column: 1; margin: 0 !important; }
.fm-tile:not(.fm-tile-panel) > .fm-tile-img { grid-row: 1 / 4; height: 100%; }
.fm-tile:not(.fm-tile-panel) > .fm-tile-img a { display: block; height: 100%; }
.fm-tile:not(.fm-tile-panel) > .fm-tile-img img { display: block; }
.fm-tile:not(.fm-tile-panel) > .fm-tile-img img { aspect-ratio: 4 / 5 !important; height: 100% !important; width: 100%; object-fit: cover; }
.fm-tile:not(.fm-tile-panel)::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(180deg, rgba(10,43,36,0) 35%, rgba(10,43,36,.55) 62%, rgba(10,43,36,.94) 100%); }
.fm-tile:not(.fm-tile-panel) > .fm-tile-title { grid-row: 2; position: relative; z-index: 1; padding: 0 24px 6px; }
.fm-tile:not(.fm-tile-panel) > .fm-tile-title:last-child { padding-bottom: 22px; }
.fm-tile:not(.fm-tile-panel) > .fm-tile-line { grid-row: 3; position: relative; z-index: 1; padding: 0 24px 22px; color: #E9E3DB !important; font-size: 14px !important; line-height: 1.45; }
.fm-tile:not(.fm-tile-panel) .fm-tile-title a { color: #fff !important; }
.fm-tiles-5 .fm-tile > .fm-tile-img img { aspect-ratio: 3 / 4 !important; }
/* Homepage specialties band in the brand's dark green */
.entry-content > .fm-section.fm-specs { background: var(--fm-green); padding-top: clamp(64px, 7vw, 112px) !important; }
.fm-specs > .fm-eyebrow { color: #D2CBC3 !important; }
.fm-specs > h2 { color: #F4EEE7 !important; }
.fm-specs > h2 .fm-accent { color: #A9C7C5 !important; }
.fm-specs .fm-tile-panel { background: var(--fm-cream) !important; color: var(--fm-ink); }
.fm-specs .fm-tile-panel .fm-tile-title { color: var(--fm-ink) !important; }
.fm-specs .fm-tile-panel .fm-tile-line { color: #4D5A55 !important; }
.fm-specs .fm-tile-panel .fm-eyebrow { color: var(--fm-green) !important; }
.fm-specs .fm-tile-panel .fm-btn-light > .wp-block-button__link { background: var(--fm-green) !important; color: #fff !important; }
.entry-content > .fm-section.fm-specs + .fm-section { padding-top: clamp(64px, 7vw, 112px) !important; }

@media (max-width: 781px) {
  #header [data-row="middle"] { border-radius: 0 0 24px 24px; }
  .fm-tile:not(.fm-tile-panel) > .fm-tile-img img { aspect-ratio: 4 / 3.6 !important; }
}

/* =====================================================================
   C73 (28 Sep 2026): restructure after Maxine's notes of 28/09.
   Doctor pages "less is more" (name, specialty, languages, short bio, ruled lists);
   specialty pages with doctor cards, symptom → consultation cards, link cards.
   ===================================================================== */
/* Ruled lists (doctor pages: training, expertise, affiliations) */
.fm-rule-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.fm-rule-list > li { position: relative; padding: 13px 0 13px 22px !important; margin: 0 !important; border-top: 1px solid rgba(10,43,36,.14);
  font-size: 16px; line-height: 1.5; color: #33413C; }
.fm-rule-list > li:last-child { border-bottom: 1px solid rgba(10,43,36,.14); }
.fm-rule-list > li::before { content: ""; position: absolute; left: 2px; top: 1.45em; width: 8px; height: 1.5px; background: var(--fm-teal); }
.fm-rule-list > li::after { content: none !important; }
.fm-list-title { font-size: clamp(22px, .8vw + 16px, 28px) !important; margin: 0 0 18px !important; }
.fm-doc-lists { gap: clamp(32px, 5vw, 80px) !important; }
.fm-doc-hero .fm-doc-langs { font-size: 15px !important; color: #D2CBC3 !important; margin-top: 4px !important; }
.fm-doc-hero .fm-doc-langs strong { color: #fff; font-weight: 500; }
.fm-doc-hero .fm-doc-bio { max-width: 62ch; }
.fm-back { font-size: 15px; margin-top: 40px !important; }
.fm-back a { color: var(--fm-green); }

/* Doctor cards on specialty pages */
.fm-docgrid { gap: 24px !important; margin-top: 36px !important; }
.fm-docgrid.is-layout-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 260px)) !important; }
.fm-doccard { background: #fff; border-radius: var(--fm-radius); overflow: hidden; margin: 0 !important; padding: 0 0 20px !important;
  box-shadow: 0 1px 2px rgba(10,43,36,.06); transition: transform .2s ease, box-shadow .2s ease; }
.fm-doccard:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(10,43,36,.10); }
.fm-doccard > * { margin-left: 20px !important; margin-right: 20px !important; }
.fm-doccard > .fm-doccard-img { margin: 0 0 16px !important; }
.fm-doccard-img img { width: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; display: block; }
.fm-doccard-noimg { aspect-ratio: 4 / 5; margin: 0 0 16px !important; background: linear-gradient(160deg, var(--fm-green), var(--fm-ink));
  display: flex !important; align-items: flex-end; padding: 20px !important; }
.fm-doccard-noimg p { color: #D2CBC3 !important; font-size: 13px !important; letter-spacing: .12em; text-transform: uppercase; margin: 0 !important; }
.fm-doccard h3 { font-size: 20px !important; font-weight: 600 !important; margin-top: 0 !important; margin-bottom: 4px !important; }
.fm-doccard h3 a { color: var(--fm-ink); text-decoration: none; }
.fm-doccard h3 a:hover { color: var(--fm-teal); }
.fm-doccard p { font-size: 15px !important; color: #4D5A55; margin-top: 0 !important; }

/* Symptom chips and consultation cards */
.fm-chips { gap: 10px !important; margin: 28px 0 8px !important; }
.fm-chips .wp-block-button__link { padding: 9px 18px !important; font-size: 15px !important; border-width: 1.5px !important; }
.fm-chips .wp-block-button__link:hover { background: var(--fm-green) !important; color: #fff !important; }
.fm-symgrid { gap: 24px !important; margin-top: 32px !important; }
.fm-symgrid.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .fm-symgrid.is-layout-grid { grid-template-columns: 1fr !important; } }
.fm-symcard { background: #fff; border-radius: var(--fm-radius); padding: clamp(24px, 3vw, 36px) !important; margin: 0 !important;
  box-shadow: 0 1px 2px rgba(10,43,36,.06); scroll-margin-top: 110px; }
.fm-symcard > .fm-eyebrow { color: var(--fm-red) !important; margin-bottom: 8px !important; }
.fm-symcard h3 { font-size: clamp(21px, .6vw + 17px, 25px) !important; font-weight: 600 !important; margin: 0 0 10px !important; }
.fm-symcard > p { font-size: 16px; line-height: 1.6; color: #33413C; }
.fm-symcard .fm-sym-intro { font-style: italic; color: #4D5A55; }
.fm-symcard .fm-sym-q { font-weight: 600; color: var(--fm-ink); margin: 18px 0 8px !important; }
.fm-symcard ul { margin: 0 !important; padding-left: 1.1em !important; }
.fm-symcard ul li { margin-bottom: 6px; font-size: 15.5px; }
.fm-symcard ul li::marker { color: var(--fm-teal); }
.fm-symcard details { margin-top: 18px !important; border-top: 1px solid rgba(10,43,36,.12); padding-top: 14px; }
.fm-symcard summary { cursor: pointer; font-weight: 600; color: var(--fm-green); list-style: none; }
.fm-symcard summary::-webkit-details-marker { display: none; }
.fm-symcard summary::after { content: " +"; }
.fm-symcard details[open] summary::after { content: " –"; }
.fm-symcard details p { font-size: 15.5px; line-height: 1.6; color: #33413C; margin-top: 10px !important; }
.fm-symcard .fm-sym-link { margin-top: 16px !important; font-weight: 600; }
.fm-symcard .fm-sym-link a { color: var(--fm-green); }

/* Link cards (to tests / practice / services pages) */
.fm-linkgrid { gap: 24px !important; margin-top: 32px !important; }
.fm-linkgrid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; }
.fm-linkcard { background: var(--fm-cream); border-radius: var(--fm-radius); padding: clamp(24px, 3vw, 34px) !important; margin: 0 !important;
  display: flex; flex-direction: column; }
.fm-band .fm-linkcard { background: #fff; }
.fm-linkcard h3 { font-size: 22px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
.fm-linkcard h3 a { color: var(--fm-ink); text-decoration: none; }
.fm-linkcard p { font-size: 15.5px; color: #4D5A55; line-height: 1.55; }
.fm-linkcard .wp-block-buttons { margin-top: auto !important; padding-top: 14px; }
.fm-linkcard .fm-note-cns { font-size: 14px !important; color: var(--fm-red) !important; font-weight: 500; }

/* Content cards (areas, services, tests) */
.fm-areagrid { gap: 24px !important; margin-top: 32px !important; }
.fm-areagrid.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .fm-areagrid.is-layout-grid { grid-template-columns: 1fr !important; } }
.fm-area { background: #fff; border-radius: var(--fm-radius); padding: clamp(24px, 3vw, 36px) !important; margin: 0 !important; box-shadow: 0 1px 2px rgba(10,43,36,.06); }
.fm-area > .fm-eyebrow { margin-bottom: 8px !important; }
.fm-area h3 { font-size: clamp(21px, .6vw + 17px, 25px) !important; font-weight: 600 !important; margin: 0 0 10px !important; }
.fm-area > p { font-size: 16px; line-height: 1.6; color: #33413C; }
.fm-area ul { margin: 6px 0 0 !important; padding-left: 1.1em !important; }
.fm-area ul li { margin-bottom: 6px; font-size: 15.5px; }
.fm-area ul li::marker { color: var(--fm-teal); }
.fm-area .fm-note-cns { font-size: 14px !important; color: var(--fm-red) !important; font-weight: 500; margin-top: 12px !important; }
.fm-area .fm-sym-link { margin-top: 14px !important; font-weight: 600; }
.fm-area .fm-sym-link a { color: var(--fm-green); }

/* Section intro and CTA band */
.fm-section > .fm-intro-p { max-width: 70ch; font-size: clamp(17px, .4vw + 15px, 19px) !important; line-height: 1.6; color: #33413C; }
.entry-content > .fm-section.fm-cta { background: var(--fm-green); padding-top: clamp(56px, 6vw, 88px) !important; padding-bottom: clamp(56px, 6vw, 88px) !important; }
.fm-cta h2 { color: #fff !important; margin-top: 0 !important; }
.fm-cta p { color: #E9E3DB !important; }
.fm-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff !important; color: var(--fm-ink) !important; }
.fm-cta .is-style-outline > .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
.entry-content > .fm-section.fm-cta:last-child { margin-bottom: 0 !important; }
.ct-container-full:has(> article > .entry-content > .fm-cta:last-child) { padding-bottom: 0 !important; }
.fm-plain-list { columns: 2; column-gap: 40px; }
@media (max-width: 700px) { .fm-plain-list { columns: 1; } }

/* Icon tile (proctology until a photograph exists), six-tile rows, preventive band */
.fm-tile.fm-tile-icon > .fm-tile-img img { object-fit: contain !important; background: var(--fm-cream); padding: 16% 18% 30%; box-sizing: border-box; }
.fm-tile.fm-tile-icon::after { background: linear-gradient(180deg, rgba(10,43,36,0) 55%, rgba(10,43,36,.85) 100%) !important; }
.fm-tiles-6.is-layout-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .fm-tiles-6.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-tiles-6.is-layout-grid { grid-template-columns: 1fr 1fr !important; } }
.fm-tiles-6 .fm-tile-title { font-size: 17px !important; }
.fm-tiles-6 .fm-tile > .fm-tile-img img { aspect-ratio: 3 / 4 !important; }
.entry-content > .fm-section.fm-prevband { background: var(--fm-cream); padding-top: clamp(64px, 7vw, 112px) !important; }
.entry-content > .fm-section.fm-prevband + .fm-section { padding-top: clamp(64px, 7vw, 112px) !important; }
/* C73, continued: intro lines left-aligned; links legible in CTA bands and ruled lists */
.entry-content .fm-section > p.fm-intro-p { max-width: 1290px !important; padding-right: max(0px, calc(100% - 760px)); }
.fm-cta a:not(.wp-block-button__link) { color: #fff !important; }
.fm-cta .fm-arrow > .wp-block-button__link::after { background: var(--fm-red) !important; color: #fff; }
.fm-rule-list a { color: var(--fm-green); text-decoration: underline; text-underline-offset: 3px; }
/* Team page: rows with fewer than three doctors keep the card size and sit centred (C73) */
@media (min-width: 782px) { .page-id-1353 .wp-block-columns:has(.gspb_container) { justify-content: center; }
  .page-id-1353 .wp-block-columns:has(.gspb_container) > .wp-block-column { flex: 0 1 calc((100% - 4em) / 3) !important; } }


/* C73 FR/DE (28 Sep 2026): links in the About fact list sit on the dark hero */
.fm-doc-hero .fm-facts a { color: #fff !important; text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: 3px; }
.fm-doc-hero .fm-facts a:hover { text-decoration-color: #fff; }
/* C74 (29 Sep 2026): "who the consultation is for" cards, FAQ, urgent notes, 4-step rows */
.fm-whogrid { gap: 20px !important; margin-top: 32px !important; }
.fm-whogrid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important; }
.fm-who { background: var(--fm-cream); border-radius: var(--fm-radius); padding: clamp(22px, 2.6vw, 30px) !important; margin: 0 !important; display: flex; flex-direction: column; }
.fm-who > p:first-child { font-size: 16px; line-height: 1.55; color: #33413C; margin: 0 0 14px !important; }
.fm-who .fm-sym-link { margin-top: auto !important; font-weight: 600; }
.fm-who .fm-sym-link a { color: var(--fm-green); }
.fm-area[id], .fm-symcard[id] { scroll-margin-top: 110px; }
.fm-cards.is-layout-grid:has(> .fm-card:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .fm-cards.is-layout-grid:has(> .fm-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-cards.is-layout-grid:has(> .fm-card:nth-child(4):last-child) { grid-template-columns: 1fr !important; } }
.entry-content > .fm-section:not(.fm-band):not(.fm-cta):not(.fm-doc-hero) .fm-card { background: var(--fm-cream); box-shadow: none; }
.fm-faq { margin: 0 !important; }
.fm-faq details { border-top: 1px solid rgba(10,43,36,.14); padding: 18px 0 !important; margin: 0 !important; }
.fm-faq details:last-child { border-bottom: 1px solid rgba(10,43,36,.14); }
.fm-faq summary { cursor: pointer; font-weight: 600; font-size: 18px; color: var(--fm-ink); list-style: none; position: relative; padding-right: 32px; }
.fm-faq summary::-webkit-details-marker { display: none; }
.fm-faq summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-size: 22px; font-weight: 400; color: var(--fm-teal); }
.fm-faq details[open] summary::after { content: "–"; }
.fm-faq details p { margin: 10px 0 0 !important; font-size: 16px; line-height: 1.6; color: #33413C; }
.fm-urgent { border-left: 3px solid var(--fm-red); padding: 4px 0 4px 16px !important; font-weight: 500; color: var(--fm-ink) !important; }
.entry-content > .fm-section.fm-note-112 { padding-top: 0 !important; padding-bottom: clamp(40px, 5vw, 64px) !important; }
.fm-docrow .fm-doccard { max-width: 280px; }
.fm-docrow .wp-block-column:last-child > p { font-size: 17px; line-height: 1.6; color: #33413C; }
.fm-ae-intro { font-size: clamp(17px, .4vw + 15px, 19px) !important; line-height: 1.6; color: #33413C; max-width: 70ch; }
.fm-aeidx { gap: 16px !important; margin: 28px 0 48px !important; }
.fm-aeidx.is-layout-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important; }
.fm-aeitem { position: relative; background: var(--fm-cream); border-radius: var(--fm-radius); padding: 20px 22px 22px !important; margin: 0 !important; transition: background .2s ease; }
.fm-aeitem:hover { background: #EDE4D9; }
.fm-aeitem .fm-card-num { margin: 0 0 10px !important; }
.fm-aeitem h3 { font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important; margin: 0 !important; }
.fm-aeitem h3 a { color: var(--fm-ink); text-decoration: none; }
.fm-aeitem h3 a::after { content: ""; position: absolute; inset: 0; }
.fm-treat .fm-section[id] { scroll-margin-top: 110px; }
/* C74 welcome page */
.fm-welcome-title { max-width: 22ch; margin-bottom: clamp(32px, 4vw, 56px) !important; }
.fm-welcome-body { gap: clamp(32px, 5vw, 80px) !important; }
.fm-welcome-body .wp-block-column:first-child > p { font-size: clamp(17px, .4vw + 15px, 19px); line-height: 1.65; color: #33413C; }
.fm-offer { background: #fff; border-radius: var(--fm-radius); padding: clamp(26px, 3vw, 40px) !important; box-shadow: 0 1px 2px rgba(10,43,36,.06); }
.fm-offer h3 { font-size: clamp(22px, .8vw + 16px, 28px) !important; margin: 0 0 18px !important; }
.fm-checks { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.fm-checks > li { position: relative; padding: 14px 0 14px 36px !important; margin: 0 !important; border-top: 1px solid rgba(10,43,36,.12); font-size: 16px; line-height: 1.5; color: #33413C; }
.fm-checks > li:last-child { border-bottom: 1px solid rgba(10,43,36,.12); }
.fm-checks > li::before { content: ""; position: absolute; left: 0; top: 15px; width: 20px; height: 20px; border-radius: 50%; background: var(--fm-red); }
.fm-checks > li::after { content: ""; position: absolute; left: 7px; top: 19px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.fm-whatis .fm-stretch > .wp-block-column { display: flex; }
.fm-whatis-card { flex: 1; padding: clamp(32px, 4vw, 56px) !important; }
.fm-whatis-card h2 { color: #fff !important; margin-top: 0 !important; }
.fm-whatis-card .fm-whatis-sub { font-size: clamp(18px, .5vw + 15px, 21px) !important; color: #fff !important; font-weight: 500; }
.fm-whatis-card p { color: #D2CBC3; }
.fm-whatis-card .wp-block-buttons { margin-top: 24px !important; }
.fm-whatis-media { position: relative; flex: 1; margin: 0 !important; border-radius: var(--fm-radius); overflow: hidden; min-height: 420px; }
.fm-whatis-media .fm-whatis-img { margin: 0 !important; height: 100%; }
.fm-whatis-media .fm-whatis-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; position: absolute; inset: 0; }
.fm-badge { position: absolute; right: 24px; bottom: 24px; background: rgba(46,76,71,.92); color: #fff; border-radius: 14px; padding: 16px 20px !important; max-width: 200px; margin: 0 !important; }
.fm-badge .fm-badge-num { font-size: 44px !important; line-height: 1 !important; font-weight: 500; color: #fff !important; margin: 0 0 6px !important; }
.fm-badge .fm-badge-text { font-size: 14px !important; line-height: 1.35; color: #E9E3DB !important; margin: 0 !important; }
.fm-specs .fm-specs-intro { color: #D2CBC3 !important; max-width: 62ch; font-size: 17px; margin-bottom: 8px !important; }
.fm-specs .fm-specs-more { margin-top: 36px !important; }
.fm-home-docs .fm-docgrid.is-layout-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; }
.fm-home-docs .fm-doccard h3 { font-size: 18px !important; }
@media (max-width: 781px) { .fm-whatis-media { min-height: 300px; } .fm-home-docs .fm-docgrid.is-layout-grid { grid-template-columns: 1fr 1fr !important; } }
.fm-specs .fm-specs-intro { margin-left: 0 !important; }
.fm-home-docs .fm-docgrid.is-layout-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .fm-home-docs .fm-docgrid.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-home-docs .fm-docgrid.is-layout-grid { grid-template-columns: 1fr 1fr !important; } }
.fm-whogrid.is-layout-grid:has(> .fm-who:nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .fm-whogrid.is-layout-grid:has(> .fm-who:nth-child(5):last-child) { grid-template-columns: 1fr !important; } }
@media (max-width: 640px) { .fm-aeidx.is-layout-grid { grid-template-columns: 1fr 1fr !important; } .fm-aeitem h3 { font-size: 16px !important; } .fm-doccard-noimg { aspect-ratio: 16 / 9; } }

/* C75 (3 Oct 2026): How to Find Us, Preventive Care pages, booking form, map links, contact notice */
.fm-doc-hero .fm-pc-title { color: #fff !important; font-size: clamp(28px, 2vw + 14px, 44px) !important; line-height: 1.12 !important; margin: 0 0 14px !important; max-width: 24ch; }
.fm-pc-meta { font-size: 13px !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--fm-teal) !important; margin: 0 0 12px !important; }
.fm-doc-hero .fm-pc-meta { color: #A9C7C5 !important; }
.fm-linkcard .fm-pc-meta { margin-top: 10px !important; }
.fm-pc-note { background: var(--fm-cream); border-radius: 12px; padding: 16px 20px !important; font-size: 16px; line-height: 1.55; color: #33413C; margin-top: 24px !important; }
.fm-band .fm-pc-note { background: #fff; }
.fm-cta .fm-pc-contact { font-size: 16px !important; line-height: 1.7; }
.fm-cta .fm-pc-contact a, .fm-panel a { color: #fff !important; text-decoration-color: rgba(255,255,255,.5); }
.fm-panel h3 { color: #fff !important; margin-top: 0 !important; }
.fm-pc-company { padding: clamp(32px, 4vw, 56px) !important; }
.fm-pc-company p:not(.fm-eyebrow) { max-width: 60ch; font-size: 17px; }
/* tables */
.fm-table { margin: 28px 0 0 !important; overflow-x: auto; }
.fm-table table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: 15.5px; line-height: 1.5; background: #fff; border-radius: var(--fm-radius); overflow: hidden; }
.fm-table th, .fm-table td { border: 0 !important; border-bottom: 1px solid rgba(10,43,36,.1) !important; padding: 14px 18px !important; text-align: left !important; vertical-align: top; color: #33413C; }
.fm-table thead { border: 0 !important; }
.fm-table thead th { background: var(--fm-green); color: #fff !important; font-weight: 600; font-size: 15px; }
.fm-table tbody th { font-weight: 600; color: var(--fm-ink); width: 22%; }
.fm-table tbody tr:last-child > * { border-bottom: 0 !important; }
.fm-cmp tbody td { width: 26%; }
.fm-table-sm table { min-width: 0; font-size: 14.5px; background: var(--fm-cream); }
.fm-table-sm th, .fm-table-sm td { padding: 10px 14px !important; }
.fm-table-sm tbody th { width: 38%; }
.fm-area .fm-table-sm { margin-top: 18px !important; }
.fm-area-soon { background: transparent !important; box-shadow: none !important; border: 1.5px dashed rgba(10,43,36,.22); }
.fm-area-soon .fm-eyebrow { color: var(--fm-red) !important; }
.fm-area[id] { scroll-margin-top: 110px; }
/* booking page */
.fm-pc-book { gap: clamp(32px, 4vw, 64px) !important; }
.fm-pc-formwrap { background: #fff; border-radius: var(--fm-radius); padding: clamp(24px, 3vw, 40px) !important; box-shadow: 0 1px 2px rgba(10,43,36,.06); }
.fm-pc-form .grunion-field-label, .fm-pc-form legend { color: var(--fm-ink); }
.fm-pc-form .wp-block-button { margin-top: 12px; }
.fm-pc-side { margin: 0 0 20px !important; padding: clamp(24px, 3vw, 32px) !important; }
.fm-pc-side.fm-panel p { font-size: 16px; line-height: 1.6; }
.fm-pc-booksec .fm-card h3 { font-size: 21px !important; }
.fm-findlist { padding-left: 1.3em !important; }
.fm-findlist li { margin: 0 0 8px; line-height: 1.55; }
.fm-findlist li::marker { color: var(--fm-teal); font-weight: 600; }
/* How to find us */
.fm-find-addr { font-size: clamp(19px, .6vw + 15px, 23px) !important; line-height: 1.5 !important; margin-bottom: 24px !important; }
.fm-find-hero .fm-chips { margin-top: 20px !important; }
.fm-find-hero .fm-chips .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.55) !important; }
.fm-find-hero .fm-chips .wp-block-button__link:hover { background: #fff !important; color: var(--fm-ink) !important; }
.fm-find-map img, .fm-find-photo img, .fm-map img { border-radius: var(--fm-radius); }
.fm-find-map { margin: 0 !important; }
.fm-find-mapcap { margin-top: 14px !important; font-weight: 600; }
.fm-find-mapcap a { color: var(--fm-green); }
.fm-findsteps { margin-top: 36px !important; }
.fm-findstep { border-top: 1px solid rgba(10,43,36,.12); padding-top: clamp(28px, 3vw, 40px); margin: 0 0 clamp(28px, 3vw, 40px) !important; gap: clamp(28px, 4vw, 64px) !important; }
.fm-findstep h3 { font-size: clamp(22px, .6vw + 18px, 26px) !important; font-weight: 600 !important; margin: 0 0 12px !important; }
.fm-findstep p:not(.fm-card-num) { font-size: 17px; line-height: 1.6; color: #33413C; }
.fm-findstep .fm-card-num { margin-bottom: 8px !important; }
.fm-findnote { padding: clamp(24px, 3vw, 32px) !important; }
.fm-findpair { gap: 16px !important; }
.fm-findpair.is-layout-grid { grid-template-columns: 1fr !important; }
.fm-find-tram .fm-findlist li { font-size: 17px; }
.fm-section[id] { scroll-margin-top: 90px; }
/* map links (home, about, contact) */
.fm-maplinks { margin-top: 18px !important; gap: 10px !important; }
.fm-map a, .fm-page-img a { display: block; }
/* contact notice */
.fm-notice { background: #FBEDEC; border-left: 4px solid var(--fm-red); border-radius: 12px; padding: clamp(22px, 2.6vw, 30px) !important; }
.fm-notice h3 { font-size: 20px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
.fm-notice p { font-size: 16.5px; line-height: 1.6; color: #33413C; margin: 0 0 8px !important; }
.fm-notice p:last-child { margin: 0 !important; }
.entry-content > .fm-section.fm-notice-sec { padding-bottom: 0 !important; }
@media (max-width: 781px) {
  .fm-findstep > .wp-block-column:last-child:empty { display: none; }
  .fm-table tbody th { width: auto; }
}
/* C75b: step-1 note on dark panel; two-column tables fit the phone width */
.fm-findstep .fm-panel p:not(.fm-eyebrow) { color: #E9E3DB !important; }
.fm-findstep .fm-panel .fm-eyebrow { color: #D2CBC3 !important; }
.fm-table:not(.fm-cmp) table { min-width: 0; }
/* C75c: header keeps the booking pill visible with the extra "Find us" item */
@media (max-width: 1320px) { #header .header-menu-1 .menu > li > a.ct-menu-link { padding-inline: 10px; font-size: 14.5px; } }
@media (max-width: 1240px) { #header .header-menu-1 .menu > li:has(> a[href^="tel:"]) { display: none !important; } }
@media (max-width: 1080px) { #header .header-menu-1 .menu > li > a.ct-menu-link { padding-inline: 7px; font-size: 14px; } #header .header-menu-1 .menu > li:last-child > a.ct-menu-link { padding-inline: 16px; } }
.fm-pc-form label a { text-decoration: underline; text-underline-offset: 2px; color: var(--fm-green); }

/* C76 (5 Oct 2026): two-row header (Maxine 05/10, ovi-clinic reference): logo + EN | FR | DE + Contact us + Book an Appointment; menu bar below */
#header [data-row="middle"] { border-radius: 0 !important; }
#header [data-row="bottom"] { --height: 58px; background-color: rgba(0,0,0,.9) !important; border-radius: 0 0 34px 34px; box-shadow: inset 0 1px 0 rgba(255,255,255,.09); }
#header .header-menu-1 .fm-mobile-only { display: none !important; }
#header [data-row="bottom"] .header-menu-1 { margin-inline-start: -14px; }
#header [data-row="bottom"] .header-menu-1 .menu > li > a.ct-menu-link { font-size: 15px; padding-inline: 14px; }
#header [data-row="bottom"] .header-menu-1 .menu > li:last-child > a.ct-menu-link { background: transparent !important; padding-inline: 14px; }
#header [data-row="bottom"] .header-menu-1 .menu > li.current-menu-item > a.ct-menu-link,
#header [data-row="bottom"] .header-menu-1 .menu > li.current_page_item > a.ct-menu-link { color: #A9C7C5 !important; }
#header .header-menu-2 .menu { align-items: center; gap: 4px; }
#header .header-menu-2 .menu > li > a.ct-menu-link { color: #fff !important; text-transform: none !important; font-size: 15px !important; font-weight: 500; letter-spacing: .01em; border-radius: 999px; }
#header .header-menu-2 .menu > li.lang-item > a.ct-menu-link { font-size: 0 !important; padding-inline: 7px !important; color: rgba(255,255,255,.62) !important; }
#header .header-menu-2 .menu > li.lang-item > a.ct-menu-link::before { font-size: 14px; letter-spacing: .06em; }
#header .header-menu-2 .lang-item-en > a::before { content: "EN"; }
#header .header-menu-2 .lang-item-fr > a::before { content: "FR"; }
#header .header-menu-2 .lang-item-de > a::before { content: "DE"; }
#header .header-menu-2 .menu > li.lang-item.current-lang > a.ct-menu-link { color: #fff !important; }
#header .header-menu-2 .menu > li.lang-item.current-lang > a.ct-menu-link::before { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; }
#header .header-menu-2 .menu > li.lang-item + li.lang-item::before { content: ""; width: 1px; height: 14px; background: rgba(255,255,255,.35); align-self: center; }
#header .header-menu-2 .menu > li.lang-item:has(+ li:not(.lang-item)) { margin-inline-end: 14px; }
#header .header-menu-2 .menu > li:nth-last-child(2) > a.ct-menu-link { border: 1.5px solid rgba(255,255,255,.6); height: 42px; padding-inline: 20px !important; }
#header .header-menu-2 .menu > li:nth-last-child(2) > a.ct-menu-link:hover { background: #fff; color: var(--fm-ink) !important; }
#header .header-menu-2 .menu > li:last-child > a.ct-menu-link { background: var(--fm-teal); height: 42px; padding-inline: 22px !important; margin-inline-start: 6px; }
#header .header-menu-2 .menu > li:last-child > a.ct-menu-link:hover { background: #fff; color: var(--fm-ink) !important; }
@media (max-width: 1200px) { #header [data-row="bottom"] .header-menu-1 .menu > li > a.ct-menu-link { font-size: 14px; padding-inline: 10px; } #header [data-row="bottom"] .header-menu-1 { margin-inline-start: -10px; } }
/* C76 content: Finding the Centre hero, cardiology FAQ and test accordions, aesthetics notes */
.fm-find-floor { color: #E9E3DB !important; font-size: 16px; margin: 16px 0 0 !important; }
.fm-find-hero .fm-chips-2 { margin-top: 10px !important; }
.fm-find-map-hero { margin: 0 !important; }
.fm-find-map-hero img { width: 100%; max-height: 360px; object-fit: cover; border-radius: var(--fm-radius); }
.fm-findstep-solo { border-top: 1px solid rgba(10,43,36,.12); padding-top: clamp(28px, 3vw, 40px); margin: 0 0 clamp(28px, 3vw, 40px) !important; max-width: 760px; }
.fm-lead-sm { font-size: clamp(17px, .3vw + 15px, 19px) !important; line-height: 1.6; color: var(--fm-ink); }
.fm-faq details ul { margin: 10px 0 0 !important; padding-left: 1.2em; }
.fm-faq details li { font-size: 16px; line-height: 1.55; color: #33413C; margin: 0 0 4px; }
.fm-faq-card { margin-top: 18px !important; }
.fm-faq-card details { padding: 13px 0 !important; }
.fm-faq-card summary { font-size: 16px !important; }
.fm-faq-card details p, .fm-faq-card details li { font-size: 15px !important; }
.fm-test-full > p:not(.fm-sym-link) { font-size: 16px; line-height: 1.6; color: #33413C; }
.fm-treat .fm-note { height: auto !important; padding: 12px 18px !important; margin: 10px 0 0 !important; border-radius: 10px; border-left: 3px solid var(--fm-teal); font-style: normal !important; font-size: 15px !important; line-height: 1.5; color: #4D5A55 !important; }
.fm-treat .fm-note * { font-style: normal !important; }
#header .header-menu-1 .lang-item { display: none !important; }
#header .header-menu-2 .menu > li.lang-item > a.ct-menu-link::after { font-size: 14px; letter-spacing: .06em; }
#header .header-menu-2 .lang-item-en > a::after { content: "EN"; }
#header .header-menu-2 .lang-item-fr > a::after { content: "FR"; }
#header .header-menu-2 .lang-item-de > a::after { content: "DE"; }
#header .header-menu-2 .menu > li.lang-item.current-lang > a.ct-menu-link::after { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; }
#header .header-menu-2 .menu > li.lang-item > a.ct-menu-link::after { position: static !important; opacity: 1 !important; width: auto !important; height: auto !important; background: none !important; transform: none !important; display: inline !important; color: inherit; }
@media (max-width: 1150px) { #header [data-row="bottom"] .header-menu-1 .menu > li > a.ct-menu-link { font-size: 13.5px; padding-inline: 8px; } #header [data-row="bottom"] .header-menu-1 { margin-inline-start: -8px; } }

/* C76 footer (Maxine 05/10, ovi-clinic reference): Discover / Explore links, F mark, Access, public transport, car, contact */
html[lang^="en"] .fm-fl:not(.fm-fl-en), html[lang^="fr"] .fm-fl:not(.fm-fl-fr), html[lang^="de"] .fm-fl:not(.fm-fl-de) { display: none !important; }
.ct-footer [data-row="top"] { border-bottom: 1px solid rgba(255,255,255,.16); }
.ct-footer [data-row="top"] .ct-container { padding-block: 34px; }
.fm-ft-top { display: flex; justify-content: space-around; gap: 24px 48px; flex-wrap: wrap; }
.fm-ft-top a { display: inline-flex; align-items: center; gap: 22px; color: #fff !important; font-size: clamp(19px, 1.2vw + 10px, 26px); font-weight: 500; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.fm-ft-top a span { font-size: 1.25em; font-weight: 300; line-height: 1; transition: transform .2s ease; }
.fm-ft-top a:hover { color: #A9C7C5 !important; }
.fm-ft-top a:hover span { transform: translateX(4px); }
.ct-footer [data-row="middle"] .ct-container { padding-block: 0; }
.ct-footer [data-row="middle"] [data-column] { justify-content: stretch; }
.fm-ft-grid { display: grid; grid-template-columns: .8fr repeat(4, 1fr); width: 100%; border-bottom: 1px solid rgba(255,255,255,.16); }
.fm-ft-grid > div { padding: 40px 24px; text-align: center; border-left: 1px solid rgba(255,255,255,.16); }
.fm-ft-grid > .fm-ft-mark { border-left: 0; display: flex; align-items: center; justify-content: center; }
.fm-ft-mark svg { display: block; width: 86px; height: auto; }
.fm-ft-grid h3 { color: #fff !important; font-size: 20px !important; font-weight: 500 !important; line-height: 1.3; margin: 0 0 16px !important; }
.fm-ft-grid p { color: #D2CBC3 !important; font-size: 15px !important; line-height: 1.55 !important; margin: 0 0 10px !important; }
.fm-ft-grid a { color: #fff !important; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
.fm-ft-grid a:hover { color: #A9C7C5 !important; }
.ct-footer [data-row="bottom"] .ct-container { padding-block: 22px; align-items: center; }
.ct-footer [data-row="bottom"] [data-id="menu"] .menu { display: flex !important; flex-wrap: wrap; gap: 6px 22px; }
.ct-footer [data-row="bottom"] [data-id="menu"] .menu a { font-size: 13.5px !important; color: #D2CBC3 !important; }
.ct-footer [data-row="bottom"] [data-id="menu"] .menu a:hover { color: #fff !important; }
@media (max-width: 1000px) {
  .fm-ft-grid { grid-template-columns: 1fr 1fr; }
  .fm-ft-grid > .fm-ft-mark { grid-column: 1 / -1; padding-bottom: 8px; }
  .fm-ft-grid > div:nth-child(2), .fm-ft-grid > div:nth-child(4) { border-left: 0; }
  .fm-ft-grid > div:nth-child(n+2) { border-top: 1px solid rgba(255,255,255,.16); }
}
@media (max-width: 640px) {
  .fm-ft-grid { grid-template-columns: 1fr; }
  .fm-ft-grid > div { border-left: 0 !important; padding: 28px 8px; }
  .fm-ft-top { flex-direction: column; align-items: center; }
  .ct-footer [data-row="bottom"] [data-id="menu"] .menu { justify-content: center; }
}

/* C77 (6 Oct 2026): Our team page — doctor-card grids as on the homepage (5 / 3 / 2 columns) */
.fm-team-sec .fm-docgrid.is-layout-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.fm-team-sec .fm-doccard h3 { font-size: 18px !important; }
@media (max-width: 1100px) { .fm-team-sec .fm-docgrid.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .fm-team-sec .fm-docgrid.is-layout-grid { grid-template-columns: 1fr 1fr !important; } .fm-team-sec .fm-doccard-noimg { aspect-ratio: 4 / 5; } }

/* C79 (9 Oct 2026): Maxine's notes 05/10 (6-7), 06/10, 08/10 and cardiology tests */
/* footer: the full F mark (viewBox 0 0 36 56) */
.fm-ft-mark svg { width: 62px !important; }
/* homepage */
.fm-hero .fm-eyebrow { font-size: 15px !important; letter-spacing: .16em; }
.fm-specs .fm-specs-intro { max-width: none !important; }
.fm-steps-lead { max-width: 640px; margin-top: 10px !important; color: #33413C; }
/* Finding the Centre: map closer to the text, bigger access buttons, tighter step text */
.fm-find-hero .fm-split { gap: clamp(24px, 3vw, 40px) !important; }
.fm-find-hero .fm-split > .wp-block-column:first-child { flex-basis: 42% !important; }
.fm-find-hero .fm-split > .wp-block-column:last-child { flex-basis: 58% !important; }
.fm-find-hero .fm-chips .wp-block-button__link { padding: 13px 26px !important; font-size: 16.5px !important; }
.fm-findstep p:not(.fm-card-num) + p:not(.fm-card-num), .fm-findstep-solo p:not(.fm-card-num) + p:not(.fm-card-num) { margin-block-start: 4px !important; }
/* Preventive Care: Core Health highlighted */
.fm-linkcard.fm-linkcard-featured { border: 2px solid var(--fm-red) !important; }
/* specialty tiles (About pages): line icons; the photo appears on hover */
.fm-tile.fm-ico { background: #fff !important; border: 1px solid rgba(10,43,36,.12); }
.fm-tile.fm-ico > .fm-tile-img { opacity: 0; transition: opacity .35s ease; }
.fm-tile.fm-ico::after { opacity: 0; transition: opacity .35s ease; }
.fm-tile.fm-ico::before { content: ""; position: absolute; top: 22px; left: 22px; width: 52px; height: 52px; z-index: 2; background-color: var(--fm-teal);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; transition: background-color .35s ease; pointer-events: none; }
.fm-tile.fm-ico .fm-tile-title a { color: var(--fm-ink) !important; transition: color .35s ease; }
.fm-tile.fm-ico:hover > .fm-tile-img, .fm-tile.fm-ico:focus-within > .fm-tile-img, .fm-tile.fm-ico:hover::after, .fm-tile.fm-ico:focus-within::after { opacity: 1; }
.fm-tile.fm-ico:hover::before, .fm-tile.fm-ico:focus-within::before { background-color: #fff; }
.fm-tile.fm-ico:hover .fm-tile-title a, .fm-tile.fm-ico:focus-within .fm-tile-title a { color: #fff !important; }
.fm-tile.fm-ico-cardio::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M24 40C11 31 6 24 6 17a8.5 8.5 0 0 1 18-4 8.5 8.5 0 0 1 18 4c0 7-5 14-18 23z%22/%3E%3Cpath d=%22M8 25h8l3-6 4 11 3-8 2 3h12%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M24 40C11 31 6 24 6 17a8.5 8.5 0 0 1 18-4 8.5 8.5 0 0 1 18 4c0 7-5 14-18 23z%22/%3E%3Cpath d=%22M8 25h8l3-6 4 11 3-8 2 3h12%22/%3E%3C/svg%3E"); }
.fm-tile.fm-ico-derm::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17 42v-7c-4-3-7-7-7-13C10 13 16 7 24 7s14 5 14 13l3 6-3 1v5a3 3 0 0 1-3 3h-4v7%22/%3E%3Ccircle cx=%2221%22 cy=%2217%22 r=%221.3%22/%3E%3Ccircle cx=%2227%22 cy=%2221%22 r=%221.3%22/%3E%3Ccircle cx=%2220%22 cy=%2224%22 r=%221.3%22/%3E%3Ccircle cx=%2225%22 cy=%2227%22 r=%221%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M17 42v-7c-4-3-7-7-7-13C10 13 16 7 24 7s14 5 14 13l3 6-3 1v5a3 3 0 0 1-3 3h-4v7%22/%3E%3Ccircle cx=%2221%22 cy=%2217%22 r=%221.3%22/%3E%3Ccircle cx=%2227%22 cy=%2221%22 r=%221.3%22/%3E%3Ccircle cx=%2220%22 cy=%2224%22 r=%221.3%22/%3E%3Ccircle cx=%2225%22 cy=%2227%22 r=%221%22/%3E%3C/svg%3E"); }
.fm-tile.fm-ico-intern::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M13 6h-3v12a9 9 0 0 0 18 0V6h-3%22/%3E%3Cpath d=%22M19 27v4a8 8 0 0 0 16 0v-3%22/%3E%3Ccircle cx=%2235%22 cy=%2224%22 r=%224%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M13 6h-3v12a9 9 0 0 0 18 0V6h-3%22/%3E%3Cpath d=%22M19 27v4a8 8 0 0 0 16 0v-3%22/%3E%3Ccircle cx=%2235%22 cy=%2224%22 r=%224%22/%3E%3C/svg%3E"); }
.fm-tile.fm-ico-ortho::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6v14c0 3 2 4 6 4s6-1 6-4V6%22/%3E%3Cpath d=%22M18 42V30c0-3 2-4 6-4s6 1 6 4v12%22/%3E%3Cpath d=%22M15 22h18M15 28h18%22 opacity=%22.5%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 6v14c0 3 2 4 6 4s6-1 6-4V6%22/%3E%3Cpath d=%22M18 42V30c0-3 2-4 6-4s6 1 6 4v12%22/%3E%3Cpath d=%22M15 22h18M15 28h18%22 opacity=%22.5%22/%3E%3C/svg%3E"); }
.fm-tile.fm-ico-procto::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 40V15a5 5 0 0 1 5-5h14a5 5 0 0 1 5 5v13a5 5 0 0 1-5 5h-6v7%22/%3E%3Cpath d=%22M12 22h4M12 30h4M22 10v4M30 10v4M36 20h-4M36 27h-4%22 opacity=%22.55%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 40V15a5 5 0 0 1 5-5h14a5 5 0 0 1 5 5v13a5 5 0 0 1-5 5h-6v7%22/%3E%3Cpath d=%22M12 22h4M12 30h4M22 10v4M30 10v4M36 20h-4M36 27h-4%22 opacity=%22.55%22/%3E%3C/svg%3E"); }
.fm-tile.fm-ico-pulmo::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M24 5v15m0 0l-5 4m5-4l5 4%22/%3E%3Cpath d=%22M18 13c-7 0-12 11-12 21 0 5 3 8 7 7l5-2c2-1 3-3 3-5V16c0-2-1-3-3-3z%22/%3E%3Cpath d=%22M30 13c7 0 12 11 12 21 0 5-3 8-7 7l-5-2c-2-1-3-3-3-5V16c0-2 1-3 3-3z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M24 5v15m0 0l-5 4m5-4l5 4%22/%3E%3Cpath d=%22M18 13c-7 0-12 11-12 21 0 5 3 8 7 7l5-2c2-1 3-3 3-5V16c0-2-1-3-3-3z%22/%3E%3Cpath d=%22M30 13c7 0 12 11 12 21 0 5-3 8-7 7l-5-2c-2-1-3-3-3-5V16c0-2 1-3 3-3z%22/%3E%3C/svg%3E"); }
/* cardiology tests */
.fm-illus img { background: #fff; object-fit: contain !important; }
.fm-illus-inline { max-width: 560px; margin: 8px 0 20px !important; }
.fm-illus-inline img { border-radius: var(--fm-radius); border: 1px solid rgba(10,43,36,.10); }
.fm-soon { display: inline-block; background: var(--fm-cream); color: var(--fm-green) !important; font-size: 12.5px !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; }
.fm-cmp-mini { background: var(--fm-cream); border-radius: var(--fm-radius); padding: 18px 24px !important; margin: 24px 0 !important; }
.fm-cmp-mini p { margin: 4px 0 !important; }
.fm-test-sec { border-top: 1px solid rgba(10,43,36,.12); padding-top: 36px; margin-top: 44px !important; }
.fm-test-links { font-size: 15px !important; }
.fm-test-links a { color: var(--fm-green); }
/* doctor pages: PID badge, quote, "Learn more" list */
.fm-pid { margin: 2px 0 16px !important; }
.fm-pid a { display: inline-block; font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 5px 13px; border-radius: 999px;
  color: #fff !important; border: 1px solid rgba(255,255,255,.5); text-decoration: none; }
.fm-pid a:hover { background: #fff; color: var(--fm-ink) !important; }
.fm-doc-hero .fm-doc-quote { font-style: italic; color: #E9E3DB !important; border-left: 3px solid #A9C7C5; padding-left: 16px; max-width: 62ch; }
.fm-learnmore { margin-top: 48px !important; max-width: 820px; }
.fm-learnmore .fm-eyebrow { margin-bottom: 6px !important; }
.fm-learnmore .fm-lm { margin: 0 !important; border-top: 1px solid rgba(10,43,36,.14); }
.fm-learnmore .fm-lm:last-child { border-bottom: 1px solid rgba(10,43,36,.14); }
.fm-learnmore .fm-lm a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 8px; font-size: clamp(18px, .5vw + 15px, 21px); color: var(--fm-ink) !important; text-decoration: none; }
.fm-learnmore .fm-lm a::after { content: "→"; color: var(--fm-teal); }
.fm-learnmore .fm-lm a:hover { color: var(--fm-teal) !important; }