@font-face {
	font-family: 'Aptos';
	src: local('Aptos'), local('Aptos Regular'), local('Aptos Text');
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
}

:root {
	--rugare-white: #FFFFFF;
	--rugare-brand-blue: #1076B8;
	--rugare-navy: #0B3A5B;
	--rugare-health-green: #8DC63F;
	--color-white: var(--rugare-white);
	--color-medical-blue: var(--rugare-brand-blue);
	--color-blue-hover: var(--rugare-navy);
	--color-blue-surface: #EAF5FB;
	--color-blue-soft: #D9E9F3;
	--color-health-green: var(--rugare-health-green);
	--color-green-hover: var(--rugare-navy);
	--color-green-surface: #EAF5FB;
	--theme-blue-text: var(--rugare-navy);
	--theme-green-text: var(--rugare-navy);
	--ink: var(--rugare-navy);
	--body-text: var(--rugare-navy);
	--paper: var(--rugare-white);
	--surface: var(--rugare-white);
	--surface-subtle: #EDF1F5;
	--line: rgb(16 118 184 / 18%);
	--muted: #315A73;
	--action-radius: .25rem;
	--hero-overlay: rgb(11 58 91 / 72%);
	--hero-overlay-mobile: rgb(11 58 91 / 72%);
	--wp--preset--shadow--natural: 0 .5rem 1.5rem rgb(11 58 91 / 9%);
	--wp--preset--shadow--deep: 0 1rem 2.5rem rgb(11 58 91 / 12%);
	--wp--preset--shadow--sharp: 0 .5rem 1.5rem rgb(11 58 91 / 9%);
	--wp--preset--shadow--outlined: 0 0 0 1px rgb(16 118 184 / 18%);
	--wp--preset--shadow--crisp: 0 0 0 1px rgb(16 118 184 / 18%);
	--z-base: 10;
	--z-sticky: 100;
	--z-header: 1000;
	--z-backdrop: 900;
	--z-navigation: 1010;
	--z-modal: 1100;
	--z-toast: 1200;
	--rm-font-sans: Aptos, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--display: var(--rm-font-sans);
	--sans: var(--rm-font-sans);
	--font-heading: var(--rm-font-sans);
	--font-body: var(--rm-font-sans);
	--font-size-micro: 0.875rem;
	--font-size-small: 1rem;
	--font-size-body: 1rem;
	--font-size-lead: clamp(1.125rem, 1.05rem + 0.24vw, 1.25rem);
	--font-size-h4: clamp(1.25rem, 1.15rem + 0.35vw, 1.5rem);
	--font-size-h3: clamp(1.5rem, 1.32rem + 0.75vw, 2rem);
	--font-size-h2: clamp(1.875rem, 1.55rem + 1.4vw, 2.75rem);
	--font-size-h1: clamp(2.25rem, 1.75rem + 2.5vw, 3.75rem);
	--font-size-display: var(--font-size-h1);
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--line-height-tight: 1.1;
	--line-height-heading: 1.2;
	--line-height-body: 1.6;
	--reading-measure: 68ch;
	--container: 96rem;
	--gutter: clamp(1.25rem, 3vw, 3rem);
	--space-1: .25rem;
	--space-2: .5rem;
	--space-3: .75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4rem;
	--space-9: 5rem;
	--space-10: 6rem;
	--section-space: clamp(var(--space-7), 6vw, var(--space-10));
	--sticky-header-offset: 5rem;
}

html { color-scheme: light; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sticky-header-offset) + 1rem); }
body { margin: 0; overflow-x: clip; background: var(--paper); color: var(--body-text); font-family: var(--font-body); font-size: var(--font-size-body); font-weight: var(--font-weight-normal); line-height: var(--line-height-body); }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
.icon { display: inline-flex; flex: 0 0 1em; width: 1em; height: 1em; align-items: center; justify-content: center; }
.icon svg { width: 100%; height: 100%; }
.icon svg, .service-card__icon svg, .trust-point > span svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
a { color: var(--theme-blue-text); text-underline-offset: .18em; }
a:hover, a:focus-visible { color: var(--theme-blue-text); text-decoration: underline; }
button, input, textarea, select { color: inherit; font: inherit; font-size: var(--font-size-body); }
:focus-visible { outline: .2rem solid var(--rugare-brand-blue); outline-offset: .24rem; }
.container { width: min(var(--container), calc(100% - (2 * var(--gutter)))); margin-inline: auto; }
.section { padding-block: var(--section-space); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .75rem 1rem; background: var(--rugare-brand-blue); color: var(--rugare-white); font-weight: 700; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
h1, h2, h3, h4, h5, h6 { color: var(--ink); font-family: var(--font-heading); font-weight: var(--font-weight-bold); letter-spacing: -.02em; line-height: var(--line-height-heading); overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: wrap; }
h1 { font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
h4 { font-size: var(--font-size-h4); }
h5 { font-size: var(--font-size-lead); }
h6 { font-size: var(--font-size-body); letter-spacing: 0; }
p { max-width: var(--reading-measure) !important; margin-block: 0 1rem; font-family: var(--font-body) !important; font-size: var(--font-size-body); line-height: var(--line-height-body) !important; }

/* Global typography contract for current and future public components. */
:where(nav, button, input, textarea, select, option, label, table, caption, th, td, summary) { font-family: var(--font-body); }
:where(small, figcaption, caption) { font-size: var(--font-size-micro); line-height: 1.5; }
:where(.button, .wp-element-button, button, [role='button']) { font-size: var(--font-size-body); font-weight: var(--font-weight-semibold) !important; line-height: 1.3; }
:where(.primary-navigation, .primary-menu, .sub-menu, .topbar, .site-footer) :where(a, button) { font-family: var(--font-body); font-weight: var(--font-weight-semibold) !important; }
:where(.form-field, .service-enquiry, .medical-aid-application) :where(label, legend) { font-size: var(--font-size-body); font-weight: var(--font-weight-semibold); }
:where(.form-field, .service-enquiry, .medical-aid-application) :where(input:not([type='checkbox']):not([type='radio']), textarea, select) { font-size: var(--font-size-body); line-height: 1.5; }
:where(.form-field, .service-enquiry, .medical-aid-application) :where(small, .field-message, .form-hint) { font-size: var(--font-size-micro); line-height: 1.5; }
:where(.prose, .entry-content, .wp-block-post-content) :where(p, li, dd) { font-size: var(--font-size-body); line-height: var(--line-height-body); }
:where(.prose, .entry-content, .wp-block-post-content) :where(a:not(.button):not(.wp-element-button)) { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .18em; }
:where(.wp-block-table, .prose table, .legal-document__table, .medical-aid-compare__table) { font-size: var(--font-size-body); line-height: 1.5; }

/* Global shell only */
.topbar { background: var(--color-blue-hover); color: rgb(255 255 255 / 78%); font-size: var(--font-size-micro); }
.topbar__inner { display: flex; justify-content: space-between; gap: 1rem; min-height: 2.35rem; align-items: center; }
.topbar p { margin: 0; }
.topbar__link { color: var(--rugare-white); font-weight: 700; text-decoration: none; }
.site-header { position: sticky; z-index: var(--z-header); top: 0; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(20px) saturate(145%); transition: box-shadow .2s ease, background-color .2s ease; }
.site-header.is-scrolled { box-shadow: 0 .75rem 2.5rem rgb(11 58 91 / 12%); }
.site-header__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 5.4rem; gap: clamp(.65rem, 1.4vw, 1.25rem); }
.brand { display: block; width: clamp(9rem, 14vw, 13rem); }
.brand__logo { width: 100%; }
.primary-navigation { grid-column: 2; grid-row: 1; justify-self: end; }
.primary-menu, .primary-menu ol { display: flex; gap: .3rem; padding: 0; margin: 0; list-style: none; }
.primary-menu > li { position: relative; }
.primary-menu a, .submenu-toggle { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .5rem .8rem; border: 0; border-radius: var(--action-radius); background: transparent; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; cursor: pointer; transition: color .18s ease, background-color .18s ease; }
.primary-menu a:hover, .submenu-toggle:hover { background: var(--surface-subtle); color: var(--theme-blue-text); text-decoration: none; }
.primary-menu [aria-current='page'] { background: var(--color-green-surface); color: var(--ink); text-decoration: none; box-shadow: inset 0 -2px var(--rugare-health-green); }
.services-menu:has(.sub-menu [aria-current='page']) > .submenu-toggle { background: var(--color-green-surface); color: var(--ink); box-shadow: inset 0 -2px var(--rugare-health-green); }
.submenu-toggle { gap: .55rem; }
.submenu-toggle__icon { width: .5rem; height: .5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-.15rem) rotate(45deg); }
.services-menu.is-open .submenu-toggle__icon { transform: translateY(.15rem) rotate(225deg); }
.primary-menu .sub-menu { position: absolute; top: calc(100% + .7rem); left: -.75rem; display: none; flex-direction: column !important; grid-template-columns: 1fr; width: 22rem; max-height: min(70vh, 32rem); overflow-x: hidden; overflow-y: auto; padding: .7rem !important; border: 1px solid var(--line); border-top: 3px solid var(--color-health-green); border-radius: .8rem; background: var(--surface); box-shadow: 0 1.4rem 3.5rem rgb(11 58 91 / 18%); }
.sub-menu::before { position: absolute; top: -.5rem; left: 2.7rem; width: .8rem; height: .8rem; background: var(--color-health-green); content: ''; transform: rotate(45deg); }
html:not(.has-navigation-js) .services-menu:focus-within .sub-menu, .services-menu.is-open .sub-menu { display: block !important; }
.sub-menu li { display: block; width: 100%; }
.sub-menu a { width: 100%; min-height: 2.9rem; padding-inline: .9rem; border-bottom: 1px solid rgb(255 255 255 / 12%); border-radius: var(--action-radius); color: var(--rugare-white); }
.sub-menu a:hover, .sub-menu a:focus-visible { background: rgb(255 255 255 / 12%); color: var(--rugare-white); }
.sub-menu li:last-child a { border-bottom: 0; }
.sub-menu a[aria-current='page'] { padding-left: .7rem; border-left: .2rem solid var(--rugare-health-green); background: rgb(255 255 255 / 8%); color: var(--rugare-white); }
.sub-menu__divider { padding: .8rem .9rem .35rem; border-top: 1px solid rgb(255 255 255 / 28%); margin-top: .35rem; color: rgb(255 255 255 / 78%); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sub-menu__divider span:empty { display: none; }
.menu-item--mobile-utility { display: none; }
.menu-toggle { display: none; width: 3rem; height: 3rem; padding: .65rem; border: none; background: transparent; color: var(--theme-blue-text); cursor: pointer; }
.menu-toggle:focus { outline: .2rem solid var(--rugare-navy); outline-offset: .24rem; }
.menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: .3rem 0; background: currentColor; transform-origin: center; }
.menu-toggle[aria-expanded='true'] span:nth-of-type(2) { transform: translateY(.42rem) rotate(45deg); }
.menu-toggle[aria-expanded='true'] span:nth-of-type(3) { opacity: 0; }
.menu-toggle[aria-expanded='true'] span:nth-of-type(4) { transform: translateY(-.42rem) rotate(-45deg); }
.button, .wp-element-button { border-radius: .3rem; }
.button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .45rem; padding: .72rem 1.05rem; border: 1px solid var(--color-medical-blue); background: var(--color-medical-blue); color: var(--rugare-white); font-size: var(--font-size-body); font-weight: var(--font-weight-semibold); letter-spacing: 0; line-height: 1.3; text-decoration: none; box-shadow: 0 .35rem .9rem rgb(16 118 184 / 12%); transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.button:hover { border-color: var(--theme-blue-text); background: var(--color-blue-hover); color: var(--rugare-white); text-decoration: none; transform: translateY(-1px); box-shadow: 0 .55rem 1.2rem rgb(16 118 184 / 16%); }
.button:active { transform: translateY(0); box-shadow: 0 .2rem .55rem rgb(16 118 184 / 14%); }
.button--primary { border-color: var(--theme-blue-text); background: var(--color-medical-blue); color: var(--rugare-white); }
.button--primary:hover { border-color: var(--theme-blue-text); background: var(--color-blue-hover); color: var(--rugare-white); }
.button--outline { border-color: var(--line); background: var(--surface); color: var(--theme-blue-text); box-shadow: none; }
.button--outline:hover { border-color: var(--ink); background: var(--surface-subtle); color: var(--ink); box-shadow: 0 .4rem .95rem rgb(11 58 91 / 8%); }

/* Homepage */
.hero { position: relative; isolation: isolate; display: grid; min-height: clamp(44rem, 78vh, 54rem); overflow: hidden; background: var(--color-blue-hover); color: var(--rugare-white); }
.hero-slider__slides, .hero-slide { min-height: inherit; }
.hero-slide { position: relative; isolation: isolate; display: grid; background: var(--color-blue-hover); }
.hero-slide[hidden] { display: none; }
.hero-slider.is-enhanced .hero-slide { position: absolute; inset: 0; display: grid; visibility: hidden; opacity: 0; transition: opacity .5s ease, visibility 0s linear .5s; }
.hero-slider.is-enhanced .hero-slide.is-active { z-index: 1; visibility: visible; opacity: 1; transition-delay: 0s; }
.hero-slide__banner { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; }
.hero-slide__banner picture, .hero-slide__banner img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.hero-slide::after { position: absolute; z-index: -1; inset: 0; background: var(--hero-overlay); content: ''; }
.hero__grid { position: relative; z-index: 1; display: grid; align-content: center; min-height: inherit; padding-block: clamp(4.5rem, 8vw, 7.5rem) clamp(6rem, 9vw, 8rem); }
.hero__content { max-width: 50rem; }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.1rem; color: var(--theme-green-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow > span { width: 2.5rem; height: 2px; background: currentColor; }
.eyebrow--blue { color: var(--theme-blue-text); }
.hero-slide__eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero-slide__eyebrow::before { width: 2.5rem; height: 2px; background: currentColor; content: ''; }
.hero-slide__title { max-width: 13ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-display); }
.hero-slide--overview .hero-slide__title { max-width: 14ch; font-size: var(--font-size-h1); }
.hero-slide--overview .hero-slide__banner img { object-position: center center; }
.hero-slide__model { width: fit-content; padding: .4rem .6rem; margin: 1.2rem 0 0; border-left: 3px solid var(--rugare-health-green); background: rgb(255 255 255 / 94%); color: var(--ink); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero__lead { max-width: 42rem; margin: 1.25rem 0 0; color: rgb(255 255 255 / 92%); font-size: var(--font-size-lead); line-height: var(--line-height-body); }
.hero__hours { display: grid; max-width: 53rem; grid-template-columns: .8fr 1.7fr .8fr; margin: 1.5rem 0 0; border-block: 1px solid rgb(255 255 255 / 32%); }
.hero__hours > div { padding: .85rem 1rem .85rem 0; }
.hero__hours > div + div { padding-left: 1rem; border-left: 1px solid rgb(255 255 255 / 28%); }
.hero__hours dt { color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.hero__hours dd { margin: .3rem 0 0; color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; line-height: 1.45; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.hero .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--theme-blue-text); }
.hero .button--primary:hover { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.hero .button--outline { border-color: rgb(255 255 255 / 62%); background: rgb(11 58 91 / 12%); color: var(--rugare-white); }
.hero .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.home-intro { position: relative; background: var(--surface-subtle); }
.home-intro__grid { position: relative; display: grid; grid-template-columns: minmax(18rem, .68fr) minmax(0, 1.32fr); gap: 0; align-items: stretch; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 6%); }
.home-intro__grid::before { position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 4px; background: var(--rugare-brand-blue); content: ''; }
.home-intro__identity { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: space-between; padding: clamp(2.25rem, 4vw, 4.5rem); border-right: 1px solid var(--line); background: var(--color-blue-surface); }
.home-intro__identity::after { display: block; width: 3.25rem; height: 3px; margin-top: clamp(2.5rem, 6vw, 6rem); background: var(--rugare-health-green); content: ''; }
.home-intro__identity .eyebrow { margin-bottom: 1.35rem; }
.home-intro__identity h2 { max-width: 10ch; margin: 0; color: var(--ink); font-size: var(--font-size-h2); }
.home-intro__content { min-width: 0; padding: clamp(2.25rem, 4vw, 4.5rem); }
.home-intro__lead, .home-intro__editable { max-width: 58rem; margin: 0; color: var(--ink); font-family: var(--display); font-size: var(--font-size-lead); font-weight: 600; letter-spacing: -.025em; line-height: 1.45; }
.home-intro__content > p + p { max-width: 58rem; margin: 1.35rem 0 0; color: var(--muted); font-size: var(--font-size-body); line-height: 1.75; }
.home-intro__facts { display: grid; grid-template-columns: .7fr 1.05fr 1.25fr; gap: 1px; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 1px; border: 1px solid var(--line); border-radius: .65rem; background: var(--line); }
.home-intro__facts > div { position: relative; min-width: 0; padding: 1.25rem 1.15rem; background: var(--surface-subtle); }
.home-intro__facts > div::before { position: absolute; top: 0; right: 1.15rem; left: 1.15rem; height: 2px; background: var(--rugare-brand-blue); content: ''; }
.home-intro__facts > div:nth-child(2)::before { background: var(--rugare-health-green); }
.home-intro__facts > div + div { border-left: 0; }
.home-intro__facts dt { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-intro__facts dd { margin: .45rem 0 0; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; line-height: 1.45; }
.section-heading { display: grid; gap: .85rem; margin-bottom: clamp(1.75rem, 4vw, 3.25rem); }
.section-heading--split { grid-template-columns: minmax(0, 1fr) minmax(17rem, .58fr); align-items: end; gap: 2rem; }
.section-heading h2 { margin: 0; }
.section-heading > p, .section-heading--split > p { max-width: 40rem; margin: 0; color: var(--muted); font-size: var(--font-size-body); line-height: 1.72; }
.services { background: var(--surface-subtle); }
.services__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .72fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: end; padding-bottom: clamp(2rem, 5vw, 3.5rem); margin-bottom: clamp(2rem, 5vw, 3.5rem); border-bottom: 1px solid var(--line); }
.services__title .eyebrow { margin-bottom: 1.2rem; }
.services__title h2 { max-width: 11ch; margin: 0; font-size: var(--font-size-h2); }
.services__introduction > p { max-width: 39rem; margin: 0; color: var(--muted); font-size: var(--font-size-body); line-height: 1.75; }
.services__legend { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: 1rem 0 0; margin: 1.25rem 0 0; border-top: 1px solid var(--line); list-style: none; }
.services__legend li { display: inline-flex; align-items: center; gap: .45rem; color: var(--body-text); font-size: var(--font-size-micro); font-weight: 700; }
.services__legend-mark { width: .7rem; height: .7rem; flex: 0 0 .7rem; border: 2px solid var(--color-medical-blue); }
.services__legend-mark--direct { border-color: var(--theme-green-text); background: var(--rugare-health-green); }
.services__legend-mark--other { background: var(--color-blue-surface); }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 2vw, 1.35rem); }
.service-card { --service-image-position: 50% 45%; display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: none; border-radius: 0; background: #FFFFFF; box-shadow: 0 1px 3px rgb(11 58 91 / 6%), 0 4px 12px rgb(11 58 91 / 7%); transition: box-shadow .2s ease, transform .2s ease; }
.service-card--hero { border-top-color: var(--rugare-health-green); }
.service-card--secondary { border-top-color: var(--rugare-brand-blue); box-shadow: none; }
.service-card--cover { border-top-color: var(--ink); }
.service-card:hover, .service-card:focus-within { box-shadow: 0 4px 16px rgb(11 58 91 / 12%), 0 2px 6px rgb(11 58 91 / 8%); transform: translateY(-2px); }
.service-card[id] { scroll-margin-top: calc(var(--sticky-header-offset) + 17.5rem); }
.service-card__image { position: relative; isolation: isolate; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: none; background: var(--color-blue-surface); }
.service-card__image .authentic-media, .service-card__image picture, .service-card__image img { position: static; display: block; width: 100%; height: 100%; margin: 0; }
.service-card__image img {
	object-fit: cover;
	object-position: var(--service-image-position);
	filter: saturate(1.04) contrast(1.03) brightness(1.01);
	transform: scale(1.001);
	transition: transform .35s ease, filter .35s ease;
}
.service-card__image::after { position: absolute; z-index: 1; inset: 0; background: rgb(11 58 91 / 9%); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%); content: ''; pointer-events: none; }
.service-card:hover .service-card__image img,
.service-card:focus-within .service-card__image img {
	filter: saturate(1.08) contrast(1.05) brightness(1.02);
	transform: scale(1.035);
}
.service-card__image:focus-visible { outline-offset: -.3rem; }
#service-dialysis { --service-image-position: 45% 52%; }
#service-pharmacy { --service-image-position: 56% 46%; }
#service-gp { --service-image-position: 50% 34%; }
#service-homecare { --service-image-position: 50% 50%; }
#service-dentist { --service-image-position: 50% 34%; }
#service-physician { --service-image-position: 72% 36%; }
#service-blood { --service-image-position: 50% 46%; }
#service-ambulance { --service-image-position: 50% 34%; }
#service-medical-insurance { --service-image-position: 52% 46%; }
.service-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.15rem, 2vw, 1.5rem); }
.service-card__heading { display: grid; grid-template-columns: 2.15rem minmax(0, 1fr); align-items: center; gap: .75rem; min-height: 3.25rem; margin-bottom: .7rem; }
.service-card__icon { display: inline-flex; width: 2.15rem; height: 2.15rem; align-items: center; justify-content: center; border: none; background: transparent; color: var(--theme-blue-text); }
.service-card__icon svg { width: 1.6rem; }
.badge { display: inline-flex; width: fit-content; min-height: 1.65rem; align-items: center; padding: .3rem .5rem; margin: 0 0 .75rem; background: var(--color-blue-surface); color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }
.badge--direct, .badge--included { background: var(--color-green-surface); color: var(--theme-green-text); }
.service-card h3 { margin: 0; font-size: var(--font-size-h4); line-height: 1.12; }
.service-card h3 a { color: var(--ink); text-decoration: none; }
.service-card h3 a:hover, .service-card h3 a:focus-visible { color: var(--theme-blue-text); }
.service-card__body > p:not(.badge) { display: -webkit-box; overflow: hidden; margin: 0 0 1rem; color: var(--muted); font-size: var(--font-size-small); line-height: 1.62; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.service-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: auto; padding-top: 1rem; border-top: none; }
.service-card__actions .button { width: 100%; min-height: 2.75rem; padding-inline: .65rem; }
.service-card__view { border-color: var(--theme-blue-text); background: var(--rugare-brand-blue); color: var(--rugare-white); }
.service-card__view:hover, .service-card__view:focus-visible { border-color: var(--ink); background: var(--rugare-navy); color: var(--rugare-white); }
.service-card__enquire { border-color: var(--theme-blue-text); background: var(--surface); color: var(--theme-blue-text); }
.service-card__enquire:hover, .service-card__enquire:focus-visible { border-color: var(--ink); background: var(--surface); color: var(--ink); }
.button--small { min-height: 2.75rem; padding: .55rem .75rem; font-size: var(--font-size-small); }
.why-rugare { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface); }
.why-rugare__layout { display: grid; grid-template-columns: minmax(18rem, .62fr) minmax(0, 1.38fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.why-rugare__header { position: sticky; top: calc(var(--sticky-header-offset) + 2rem); }
.why-rugare__header h2 { max-width: 10ch; margin: 0; font-size: var(--font-size-h2); }
.why-rugare__scope { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .75rem; align-items: start; max-width: 31rem; padding-top: 1.5rem; margin-top: 2rem; border-top: 1px solid var(--line); }
.why-rugare__scope > .icon { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; margin-top: .1rem; color: var(--theme-green-text); }
.why-rugare__scope p { margin: 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.7; }
.care-principles { border-top: 1px solid var(--line); }
.care-principle { display: grid; grid-template-columns: 2rem minmax(12rem, .55fr) minmax(0, 1fr); gap: clamp(1rem, 2.5vw, 2.5rem); align-items: start; min-width: 0; padding-block: clamp(1.35rem, 2.5vw, 2rem); border-bottom: 1px solid var(--line); }
.care-principle__icon { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--theme-blue-text); }
.care-principle__icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.care-principle h3 { max-width: 16ch; margin: .2rem 0 0; color: var(--ink); font-size: var(--font-size-h4); }
.care-principle p { margin: .15rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.65; }
.partners { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.partners__heading { margin-bottom: clamp(2rem, 4vw, 3rem); }
.partners__logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; padding: 0; margin: 0; list-style: none; }
.partners__logos li { display: grid; min-width: 0; min-height: 8rem; place-items: center; padding: 1.1rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface); }
.partners__logos img { width: auto; max-width: min(100%, 11rem); height: auto; max-height: 5.5rem; object-fit: contain; }
.community-impact { background: var(--surface-subtle); color: var(--ink); }
.community-impact__grid { display: grid; grid-template-columns: minmax(21rem, .82fr) minmax(0, 1.18fr); min-height: 42rem; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 6%); }
.community-impact__visual { position: relative; min-width: 0; min-height: 44rem; overflow: hidden; }
.community-impact__visual::after { position: absolute; inset: 0; background: rgb(11 58 91 / 24%); content: ''; pointer-events: none; }
.community-impact__media { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.community-impact__media picture, .community-impact__media img { width: 100%; height: 100%; }
.community-impact__media img { object-fit: cover; object-position: center; }
.community-impact__media figcaption { position: absolute; z-index: 1; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; padding: .75rem 1rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: .45rem; background: rgb(11 58 91 / 78%); color: var(--rugare-white); font-size: var(--font-size-micro); backdrop-filter: blur(12px); }
.community-impact__visual-label { position: absolute; z-index: 2; top: 1.5rem; left: 1.5rem; display: grid; gap: .15rem; max-width: calc(100% - 3rem); padding: .85rem 1.05rem; border: 1px solid color-mix(in srgb, var(--line) 80%, transparent); border-left: 3px solid var(--rugare-health-green); border-radius: .45rem; background: color-mix(in srgb, var(--surface) 92%, transparent); color: var(--ink); box-shadow: 0 1rem 2.5rem rgb(11 58 91 / 18%); backdrop-filter: blur(12px); }
.community-impact__visual-label strong { font-size: var(--font-size-small); }
.community-impact__visual-label span { font-size: var(--font-size-small); }
.community-impact__content { position: relative; display: grid; min-width: 0; align-content: center; padding: clamp(2.25rem, 5vw, 5.25rem); }
.community-impact__content::before { position: absolute; top: clamp(2rem, 5vw, 4rem); right: 0; width: 4px; height: 4.5rem; background: var(--rugare-brand-blue); content: ''; }
.community-impact__content .eyebrow { color: var(--theme-blue-text); }
.community-impact__content h2 { max-width: 13ch; margin: 0; color: var(--ink); font-size: var(--font-size-h2); }
.community-impact__lead { max-width: 43rem; margin: 1.35rem 0 0; color: var(--muted); font-size: var(--font-size-body); }
.community-impact__intro { max-width: 72rem; margin: 0; color: var(--muted); font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.7; text-wrap: pretty; }
.community-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(1.75rem, 3vw, 2.5rem); }
.community-stat { position: relative; min-width: 0; min-height: 10.5rem; padding: 1.4rem; overflow: hidden; border: 1px solid var(--line); border-radius: .7rem; background: var(--surface); box-shadow: 0 .65rem 1.8rem rgb(11 58 91 / 7%); }
.community-stat::before { position: absolute; top: 0; right: 1.4rem; left: 1.4rem; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.community-stat + .community-stat { padding-left: 1.4rem; border-left: 1px solid var(--line); }
.community-stat:nth-child(2) { border-top-color: var(--rugare-health-green); }
.community-stat:nth-child(2)::before { background: var(--rugare-health-green); }
.community-stat__qualifier { display: block; margin: .2rem 0 .45rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.community-stat__number { display: block; color: var(--ink); font-family: var(--display); font-size: clamp(2.5rem, 3.3vw, 3.5rem); font-variant-numeric: tabular-nums; letter-spacing: -.055em; line-height: .95; }
.community-stat p { margin: .75rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.55; }
.community-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.25rem; }
.community-links .button { min-width: 12rem; }
.community-impact .community-links .button--primary { border-color: var(--rugare-brand-blue); border-radius: var(--action-radius); background: var(--rugare-brand-blue); color: var(--rugare-white); box-shadow: 0 .6rem 1.4rem rgb(16 118 184 / 18%); }
.community-impact .community-links .button--primary:hover { border-color: var(--ink); background: var(--rugare-navy); color: var(--rugare-white); }
.community-impact .community-links .button--outline { border-color: var(--theme-blue-text); border-radius: var(--action-radius); background: var(--surface); color: var(--theme-blue-text); }
.community-impact .community-links .button--outline:hover { border-color: var(--ink); background: var(--color-blue-surface); color: var(--ink); }
.community-events { background: var(--surface-subtle); }
.community-events .about-gallery { margin-top: clamp(2rem, 4vw, 3rem); }
.community-events__media { margin: 0; border-radius: .5rem; overflow: hidden; border: 1px solid var(--line); }
.community-events__media figcaption { padding-top: .5rem; font-size: var(--font-size-small); }

/* Homepage enquiry */
.notice { padding: 1rem; border-left: 3px solid var(--color-medical-blue); background: var(--color-blue-surface); color: var(--ink); }
.notice p:last-child { margin-bottom: 0; }
.notice--warning { border-color: var(--color-health-green); background: var(--color-green-surface); }
.emergency-call { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-5); align-items: center; padding: var(--space-6); border: 1px solid var(--line); border-left: 4px solid var(--rugare-brand-blue); background: var(--color-blue-surface); }
.emergency-call__title { display: block; margin-bottom: var(--space-2); color: var(--ink); font-size: var(--font-size-h4); line-height: var(--line-height-heading); }
.emergency-call p { margin: 0; }
.emergency-call__action { min-width: 13rem; }
.emergency-call--compact { padding: var(--space-5); }
.home .service-enquiry { padding-block: var(--section-space); background: rgb(16 118 184 / 3%); }
.home .service-enquiry__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(22rem, 1.28fr); gap: clamp(2rem, 6vw, 6rem); }
.home .service-enquiry__intro h2 { max-width: 10ch; margin: 0 0 1.25rem; }
.home .service-enquiry__intro > p:not(.eyebrow) { color: var(--muted); }
.home .service-enquiry__form-wrap { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--surface); box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 10%); }
.service-enquiry__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.service-enquiry__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.service-enquiry__form fieldset, .form-field--full, .service-enquiry__submit, .service-enquiry__consent-field, .form-error-summary, .form-status { grid-column: 1 / -1; }
.service-enquiry__form fieldset { padding: 0; margin: 0; border: 0; }
.service-enquiry__form legend, .form-field > label { display: block; margin-bottom: var(--space-2); color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }
.form-field__optional { margin-left: .35rem; color: var(--muted); font-size: var(--font-size-small); font-weight: 600; }
.service-enquiry__form fieldset label { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; margin-right: 1rem; }
.service-enquiry__form fieldset label, .service-enquiry__consent { color: var(--ink); }
.service-enquiry__form fieldset input, .service-enquiry__consent input { width: 1.1rem; height: 1.1rem; min-height: 0; }
.form-field input, .form-field textarea, .form-field select { width: 100%; min-height: 3.25rem; padding: .75rem; border: 1px solid var(--rugare-brand-blue); border-radius: 0; background: var(--paper); color: var(--ink); }
.form-field textarea { min-height: 8rem; resize: vertical; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: var(--ink); outline: 2px solid rgb(11 58 91 / 24%); }
.form-field :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
.form-field--error :is(input, textarea, select), .form-field :is(input, textarea, select)[aria-invalid='true'] { border-color: var(--ink); border-inline-start-width: 3px; }
.form-field--success :is(input, textarea, select) { border-color: var(--rugare-health-green); border-inline-end-width: 3px; }
.form-field :is(input, textarea, select):disabled { border-color: rgb(16 118 184 / 25%); background: rgb(16 118 184 / 4%); color: rgb(11 58 91 / 75%); cursor: not-allowed; }
.form-field small, .service-enquiry__submit small { display: block; margin-top: .3rem; color: var(--muted); font-size: var(--font-size-small); }
.service-enquiry__consent { display: flex; gap: .65rem; align-items: flex-start; font-size: var(--font-size-small); }
.form-field > .service-enquiry__consent { display: flex; margin-bottom: 0; font-size: var(--font-size-small); font-weight: 600; line-height: 1.5; }
.form-field .service-enquiry__consent input { width: 1.1rem; height: 1.1rem; min-height: 0; flex: 0 0 1.1rem; padding: 0; margin-top: .1rem; }
.service-enquiry__consent-links { padding-left: calc(1.1rem + .65rem); color: var(--muted); }
.field-message--error, .form-status { color: var(--ink); font-weight: 700; }
.form-field--success .field-message--success::before { margin-right: .35rem; color: var(--rugare-health-green); content: '✓'; font-weight: 700; }
.service-enquiry__submit { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }

/* Services overview */
.page-hero--media, .service-page__hero { position: relative; isolation: isolate; display: grid; min-height: clamp(34rem, 64vh, 44rem); overflow: hidden; border-bottom: 4px solid var(--rugare-health-green); background: var(--rugare-navy); color: var(--rugare-white); }
.page-hero--media .page-banner, .service-page__hero .page-banner { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; }
.page-hero--media picture, .page-hero--media img, .service-page__hero picture, .service-page__hero img { width: 100%; height: 100%; object-fit: cover; }
.page-hero--media img { object-position: 50% 35%; }
.about-page__hero img { object-position: 52% center; }
.medical-aid-support-page .page-hero--compact img { object-position: center 28%; }
:is(.service-page--gp, .service-page--dentist) .service-page__hero img { object-position: center 28%; }
:is(.service-page--homecare, .service-page--physician) .service-page__hero img { object-position: center 38%; }
.page-hero--media::after, .service-page__hero::after { position: absolute; z-index: -1; inset: 0; background: var(--hero-overlay); content: ''; }
.page-hero__media-grid, .service-page__hero-grid { display: grid; align-content: center; min-height: inherit; padding-block: clamp(3.5rem, 7vw, 6rem); }
.page-hero__inner, .service-page__hero-copy { max-width: 49rem; }
.page-hero--media h1, .service-page__hero h1 { max-width: 11ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-display); }
.page-hero--media .page-hero__inner > p:last-child, .service-page__introduction { max-width: 42rem; margin: 1.25rem 0 0; color: rgb(255 255 255 / 92%); font-size: var(--font-size-lead); line-height: 1.65; }
.services-overview__editor-content { background: var(--surface); }
.services-overview__editor-content .prose { max-width: 58rem; }
.services-overview .services { background: rgb(16 118 184 / 3%); }
.services-overview .service-card { box-shadow: 0 1rem 2.5rem rgb(11 58 91 / 5%); }
.services-supporting { background: var(--surface); }
.section-heading--center { max-width: 58rem; margin-inline: auto; text-align: center; }
.section-heading--center .eyebrow { justify-content: center; }
.section-heading--center > p, .section-heading--compact > p { color: var(--muted); }
.services-supporting__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.services-supporting__card { display: flex; min-height: 16rem; flex-direction: column; padding: 1.5rem; background: var(--paper); color: var(--ink); text-decoration: none; }
.services-supporting__card:hover { background: var(--color-medical-blue); color: var(--rugare-white); }
.services-supporting__card h3 { margin: 0 0 .8rem; font-size: var(--font-size-h4); }
.services-supporting__card p { margin: 0; color: var(--muted); font-size: var(--font-size-small); }
.services-supporting__card:hover p { color: var(--rugare-white); }
.services-supporting__link { display: flex; align-items: center; gap: .5rem; margin-top: auto; padding-top: 1rem; color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 700; }
.services-supporting__card:hover .services-supporting__link { color: var(--rugare-white); }
.services-overview__hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.services-overview__primary .service-card__actions { grid-template-columns: 1fr; }
.services-overview__primary .service-card__actions .button { width: 100%; }
.services-overview__help { background: var(--surface-subtle); }
.services-overview__help-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .95fr); gap: clamp(1.25rem, 4vw, 3rem); padding: clamp(1.35rem, 4vw, 2rem); background: var(--paper); }
.services-overview__help-grid h2 { margin-top: 0; }
.services-overview__help-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.services-overview__practical { display: grid; gap: .85rem; }
.services-overview__practical h3 { margin: 0; font-size: var(--font-size-h4); }
.services-overview__practical address { color: var(--ink); font-style: normal; font-weight: 700; }
.services-overview__practical .location-map__hours { margin-top: 0; }

/* Services overview hierarchy */
.services-overview__primary { background: var(--surface-subtle); }
.services-overview__primary .service-card__body > p.services-overview__card-heading { display: block; overflow: visible; margin: 0 0 .55rem; color: var(--ink); font-weight: 700; -webkit-line-clamp: unset; }
.services-overview__primary .service-card__body > p.services-overview__card-highlight { display: block; overflow: visible; padding: .55rem .7rem; margin-top: auto; border-left: 3px solid var(--rugare-health-green); background: var(--color-green-surface); color: var(--ink); font-weight: 700; -webkit-line-clamp: unset; }
.services-overview__emergency-note { max-width: 56rem; padding: 1rem 1.15rem; margin: 1.5rem 0 0; border-left: 3px solid var(--rugare-health-green); background: var(--paper); color: var(--muted); font-size: var(--font-size-small); }
.services-overview__emergency-note strong { color: var(--ink); }
.services-overview__preventive { border-block: 1px solid var(--line); background: var(--surface); }
.services-overview__preventive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.services-overview__preventive-card { display: flex; min-width: 0; min-height: 18rem; flex-direction: column; padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); background: var(--paper); box-shadow: 0 .55rem 1.5rem rgb(11 58 91 / 5%); }
.services-overview__preventive-card:nth-child(2) { border-top-color: var(--rugare-health-green); }
.services-overview__preventive-card h3 { margin: 0 0 .45rem; font-size: var(--font-size-h4); }
.services-overview__preventive-card p { margin: 0 0 .75rem; color: var(--muted); font-size: var(--font-size-small); line-height: 1.65; }
.services-overview__preventive-card p.services-overview__preventive-heading { color: var(--ink); font-weight: 700; }
.services-overview__preventive-card .button { width: fit-content; margin-top: auto; }
.services-overview__medical-aid { background: var(--color-blue-surface); }
.services-overview__corporate { border-top: 1px solid var(--line); background: var(--paper); }
.services-overview__medical-aid-content, .services-overview__corporate-content { max-width: 66rem; padding: clamp(1.4rem, 3vw, 2.25rem); margin-inline: auto; border: 1px solid var(--line); border-top: 3px solid var(--rugare-health-green); background: var(--surface); box-shadow: 0 .85rem 2rem rgb(11 58 91 / 7%); }
.services-overview__corporate-content { border-top-color: var(--rugare-brand-blue); }
.services-overview__medical-aid-content > p, .services-overview__corporate-content > p { color: var(--muted); }
.services-overview__medical-aid-content > p:first-child, .services-overview__corporate-content > p:first-child { color: var(--ink); font-weight: 700; }
.services-overview__check-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; padding: 0; margin: 1rem 0 1.5rem; list-style: none; }
.services-overview__check-list li { position: relative; padding-left: 1.35rem; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }
.services-overview__check-list li::before { position: absolute; top: .45em; left: 0; width: .55rem; height: .55rem; background: var(--rugare-health-green); content: ''; }
.services-overview__medical-aid-actions, .services-overview__corporate-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.services-overview__insurance { border-block: 1px solid var(--line); background: var(--surface-subtle); }
.services-overview__insurance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.services-overview__insurance-card { display: flex; min-width: 0; min-height: 15rem; flex-direction: column; padding: 1.25rem; background: var(--surface); }
.services-overview__insurance-card h3 { margin: 0 0 .65rem; font-size: var(--font-size-h4); }
.services-overview__insurance-card p { margin: 0 0 1rem; color: var(--muted); font-size: var(--font-size-small); line-height: 1.6; }
.services-overview__insurance-card .button { width: fit-content; margin-top: auto; }
.services-overview__insurance-action { margin-top: 1.5rem; text-align: center; }
.services-overview__hours-note { margin: .25rem 0 0; color: var(--muted); font-size: var(--font-size-small); }
.services-overview__final-cta { background: var(--rugare-navy); color: var(--rugare-white); }
.services-overview__final-cta-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.services-overview__final-cta h2 { max-width: 36ch; margin: .75rem 0 0; color: var(--rugare-white); font-size: var(--font-size-h3); }
.services-overview__final-cta .eyebrow { color: var(--rugare-health-green); }
.services-overview__final-cta-actions { display: grid; min-width: min(100%, 18rem); gap: .65rem; }
.services-overview__final-cta .button--primary { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy); }
.services-overview__final-cta .button--outline { border-color: rgb(255 255 255 / 55%); background: transparent; color: var(--rugare-white); }

@media (max-width: 64rem) {
	.services-overview__preventive-grid, .services-overview__insurance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-overview__final-cta-inner { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
	.services-overview__preventive-grid, .services-overview__insurance-grid, .services-overview__check-list { grid-template-columns: 1fr; }
	.services-overview__medical-aid-actions, .services-overview__corporate-actions { flex-direction: column; align-items: stretch; }
	.services-overview__final-cta-actions { width: 100%; }
	.services-overview__insurance-card { min-height: 12rem; }
}

/* Individual services */
.service-page__hero { min-height: clamp(42rem, 76vh, 50rem); }
.service-page__hero .page-banner img {
	object-position: center 38%;
	filter: saturate(1.04) contrast(1.03) brightness(1.01);
}
.service-page--dialysis .page-banner img { object-position: 45% 52%; }
.service-page--pharmacy .page-banner img { object-position: 56% 46%; }
.service-page--pharmacy .service-page__hero { min-height: clamp(46rem, 78vh, 52rem); }
.service-page--pharmacy .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--pharmacy .service-page__hero::after { right: 0; background: rgb(11 58 91 / 88%); }
.service-page--pharmacy .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--pharmacy .service-page__hero-copy { max-width: 48rem; }
.service-page--pharmacy .service-page__hero h1 { max-width: 12ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page--pharmacy .service-page__introduction { max-width: 38rem; color: rgb(255 255 255 / 86%); }
.service-page--pharmacy .service-page__hero-facts { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 25%); backdrop-filter: blur(8px); }
.service-page--pharmacy .service-page__hero-facts > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
.service-page--pharmacy .service-page__hero-facts > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 28%); }
.service-page--pharmacy .service-page__actions .button { min-width: 13.5rem; }
.service-page--gp .page-banner img { object-position: 50% 34%; }
.service-page--gp .service-page__hero { min-height: clamp(46rem, 78vh, 52rem); }
.service-page--gp .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--gp .service-page__hero::after { right: 0; background: rgb(11 58 91 / 88%); }
.service-page--gp .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--gp .service-page__hero-copy { max-width: 48rem; }
.service-page--gp .service-page__hero h1 { max-width: 12ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page--gp .service-page__hero-facts { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 25%); backdrop-filter: blur(8px); }
.service-page--gp .service-page__hero-facts > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
.service-page--gp .service-page__hero-facts > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 28%); }
.service-page--gp .service-page__actions .button { min-width: 13.5rem; }
.service-page--homecare .page-banner img { object-position: 50% 50%; }
.service-page--homecare .service-page__hero { min-height: clamp(46rem, 78vh, 52rem); }
.service-page--homecare .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--homecare .service-page__hero::after { right: 0; background: rgb(11 58 91 / 88%); }
.service-page--homecare .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--homecare .service-page__hero-copy { max-width: 48rem; }
.service-page--homecare .service-page__hero h1 { max-width: 12ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page--homecare .service-page__hero-facts { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 25%); backdrop-filter: blur(8px); }
.service-page--homecare .service-page__hero-facts > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
.service-page--homecare .service-page__hero-facts > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 28%); }
.service-page--homecare .service-page__actions .button { min-width: 14rem; }
.service-page--dentist .page-banner img { object-position: 50% 34%; }
.service-page--dentist .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--dentist .service-page__hero::after { right: 0; background: rgb(11 58 91 / 88%); }
.service-page--dentist .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--dentist .service-page__hero-copy { max-width: 48rem; }
.service-page--dentist .service-page__hero h1 { max-width: 11ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page--dentist .service-page__hero-facts { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 25%); backdrop-filter: blur(8px); }
.service-page--dentist .service-page__hero-facts > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
.service-page--dentist .service-page__hero-facts > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 28%); }
.service-page--dentist .service-page__actions .button { min-width: 14rem; }
.service-page--physician .page-banner img { object-position: 72% 36%; }
.service-page--physician .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--physician .service-page__hero::after { right: 0; background: rgb(11 58 91 / 88%); }
.service-page--physician .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--physician .service-page__hero-copy { max-width: 48rem; }
.service-page--physician .service-page__hero h1 { max-width: 12ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page--physician .service-page__hero-facts { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 25%); backdrop-filter: blur(8px); }
.service-page--physician .service-page__hero-facts > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
.service-page--physician .service-page__hero-facts > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 28%); }
.service-page--physician .service-page__actions .button { min-width: 14rem; }
.service-page--diagnostic-laboratory .page-banner img { object-position: 48% 30%; transform: scaleX(-1); }
.service-page--diagnostic-laboratory .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--diagnostic-laboratory .service-page__hero::after { right: 0; background: rgb(11 58 91 / 88%); }
.service-page--diagnostic-laboratory .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--diagnostic-laboratory .service-page__hero-copy { max-width: 48rem; }
.service-page--diagnostic-laboratory .service-page__hero h1 { max-width: 11ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page--diagnostic-laboratory .service-page__hero-facts { max-width: 48rem; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 25%); backdrop-filter: blur(8px); }
.service-page--diagnostic-laboratory .service-page__hero-facts > div:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
.service-page--diagnostic-laboratory .service-page__hero-facts > div:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 28%); }
.service-page--diagnostic-laboratory .service-page__actions .button { min-width: 14rem; }
.service-page--blood .page-banner img { object-position: 50% 46%; }
.service-page--ambulance .page-banner img { object-position: 50% 34%; }
.service-page--medical-aid .page-banner img,
.service-page--medical-insurance .page-banner img,
.short-term-insurance .page-banner img { object-position: 52% 46%; }
.service-page__ownership { margin-bottom: 1rem; background: var(--color-health-green); color: var(--ink); }
.service-page__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2rem; }
.service-page__hero .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--theme-blue-text); }
.service-page__hero .button--primary:hover { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.service-page__hero .button--outline { border-color: rgb(255 255 255 / 58%); background: transparent; color: var(--rugare-white); }
.service-page__hero .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.service-page__hero-eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.service-page__hero-eyebrow::before { width: 2.5rem; height: 2px; background: currentColor; content: ''; }
.service-page__hero-facts { display: grid; max-width: 49rem; grid-template-columns: 1.35fr 1.4fr 1.15fr; margin: 1.75rem 0 0; border-block: 1px solid rgb(255 255 255 / 32%); background: rgb(11 58 91 / 20%); }
.service-page__hero-facts > div { min-width: 0; padding: .9rem 1rem; }
.service-page__hero-facts > div + div { padding-left: 1rem; border-left: 1px solid rgb(255 255 255 / 28%); }
.service-page__hero-facts dt { color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.service-page__hero-facts dd { margin: .3rem 0 0; color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; line-height: 1.45; }
.service-page--dialysis .service-page__hero { min-height: clamp(46rem, 78vh, 52rem); }
.service-page--dialysis .service-page__hero .page-banner { right: 0; left: 0; width: 100%; }
.service-page--dialysis .service-page__hero .page-banner img { object-position: 54% 52%; }
.service-page--dialysis .service-page__hero::after { right: 0; background: var(--hero-overlay); }
.service-page--dialysis .service-page__hero-grid { position: relative; z-index: 1; }
.service-page--dialysis .service-page__hero-copy { max-width: 46rem; }
.service-page--dialysis .service-page__hero h1 { max-width: 12ch; font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.service-page__hero-statement { max-width: 37rem; margin: 1.5rem 0 0; color: var(--rugare-white); font-family: var(--display); font-size: var(--font-size-lead); font-weight: 700; letter-spacing: -.02em; line-height: 1.35; }
.service-page--dialysis .service-page__introduction { max-width: 36rem; margin-top: .7rem; color: rgb(255 255 255 / 78%); font-size: var(--font-size-body); line-height: var(--line-height-body); }
.service-page__hero-location { display: inline-flex; align-items: center; gap: .55rem; margin: 1.15rem 0 0; color: var(--rugare-health-green); font-size: var(--font-size-small); font-weight: 700; }
.service-page__hero-location .icon { width: 1.1rem; height: 1.1rem; }
.service-page__hero-location svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page--dialysis .service-page__hero-facts { max-width: 46rem; margin-top: 1.5rem; border: 1px solid rgb(255 255 255 / 24%); background: rgb(11 58 91 / 24%); backdrop-filter: blur(8px); }
.service-page--dialysis .service-page__hero-facts > div { padding: 1rem; }
.service-page--dialysis .service-page__actions { margin-top: 1.5rem; }
.service-page--dialysis .service-page__actions .button { min-width: 13.5rem; }
.service-page__shop-link { border-color: var(--rugare-brand-blue); background: var(--rugare-brand-blue); color: var(--rugare-white); }
.service-page__shop-link:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.service-page__shop-link > span:last-child { display: grid; gap: .05rem; text-align: left; }
.service-page__shop-link small { font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; line-height: 1.1; text-transform: uppercase; }
.pharmacy-shop { border-block: 1px solid var(--line); background: var(--surface-subtle); }
.pharmacy-shop__heading { max-width: 64rem; margin: 0 auto; }
.pharmacy-shop__heading .eyebrow { margin-bottom: .25rem; color: var(--theme-blue-text); }
.pharmacy-shop__heading h2 { max-width: none; margin-inline: auto; color: var(--ink); font-size: var(--font-size-h2); }
@media (min-width: 64rem) {
	.pharmacy-shop__heading h2 { white-space: normal; }
}
.pharmacy-shop__heading > p:not(.eyebrow) { max-width: 49rem; margin: 0 auto; color: var(--body-text); line-height: 1.75; }
.pharmacy-shop__status { display: inline-flex; justify-self: center; padding: .45rem .75rem; border-left: 3px solid var(--rugare-health-green); background: var(--color-green-surface); color: var(--ink); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pharmacy-shop__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem 1.25rem; align-items: center; margin-top: .75rem; }
.pharmacy-shop__actions .text-link { display: inline-flex; align-items: center; gap: .45rem; font-size: var(--font-size-small); font-weight: 700; }
.dialysis-audience { position: relative; background: var(--surface-subtle); }
.dialysis-audience__eyebrow { justify-content: center; margin: 0 0 1.5rem; text-align: center; }
.dialysis-audience__shell { position: relative; display: grid; width: 100%; grid-template-columns: minmax(19rem, 1fr) minmax(15rem, .72fr); gap: 0; align-items: stretch; margin-inline: auto; overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.dialysis-audience__shell::before { position: absolute; z-index: 1; top: 0; right: 0; left: 0; height: 4px; background: var(--rugare-brand-blue); content: ''; }
.dialysis-audience__content { position: relative; display: grid; align-content: center; min-width: 0; padding: clamp(1.35rem, 2.5vw, 2.1rem); border-right: 1px solid var(--line); background: var(--color-blue-surface); }
.dialysis-audience__content h2 { max-width: none; margin: 0; color: var(--ink); font-size: clamp(1.85rem, 2.6vw, 2.65rem); white-space: nowrap; }
.dialysis-audience__lead { max-width: 26rem; margin: 1rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.65; }
.dialysis-audience__body { max-width: 32rem; margin: 1rem 0 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.75; }
.dialysis-audience__list { display: grid; gap: 1px; padding: 0; margin: 1.25rem 0 0; list-style: none; background: var(--line); border: 1px solid var(--line); border-radius: .55rem; }
.dialysis-audience__list li { display: grid; gap: .25rem; min-width: 0; padding: .8rem .9rem; background: var(--surface-subtle); }
.dialysis-audience__list strong { color: var(--ink); font-size: var(--font-size-small); font-weight: 700; letter-spacing: .02em; }
.dialysis-audience__list p { margin: 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.55; }
.dialysis-audience__media { position: relative; align-self: stretch; min-width: 0; min-height: 100%; margin: 0; overflow: hidden; background: var(--color-blue-surface); }
.dialysis-audience__media .dialysis-audience__image,
.dialysis-audience__media picture,
.dialysis-audience__media img { display: block; width: 100%; height: 100%; margin: 0; }
.dialysis-audience__media img { object-fit: cover; object-position: 52% center; filter: saturate(1.02) contrast(1.03); }
.pharmacy-shop-page__hero { position: relative; isolation: isolate; display: grid; min-height: clamp(43rem, 78vh, 54rem); overflow: hidden; border-bottom: 4px solid var(--rugare-health-green); background: var(--rugare-navy); color: var(--rugare-white); }
.pharmacy-shop-page__banner { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; }
.pharmacy-shop-page__banner picture, .pharmacy-shop-page__banner img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 46%; }
.pharmacy-shop-page__hero::after { position: absolute; z-index: -1; inset: 0; background: var(--hero-overlay); content: ''; }
.pharmacy-shop-page__hero-grid { display: grid; align-content: center; min-height: inherit; padding-block: clamp(4rem, 8vw, 7rem); }
.pharmacy-shop-page__hero-copy { max-width: 51rem; }
.pharmacy-shop-page__eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pharmacy-shop-page__eyebrow::before { width: 2.5rem; height: 2px; background: currentColor; content: ''; }
.pharmacy-shop-page__status { display: inline-flex; padding: .5rem .8rem; margin-bottom: 1.25rem; border-left: 3px solid var(--rugare-health-green); background: rgb(255 255 255 / 94%); color: var(--ink); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pharmacy-shop-page__hero h1 { max-width: 12ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-display); }
.pharmacy-shop-page__hero-copy > p:last-of-type { max-width: 43rem; margin: 1.25rem 0 0; color: rgb(255 255 255 / 90%); font-size: var(--font-size-lead); line-height: 1.65; }
.pharmacy-shop-page__hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.pharmacy-shop-page__hero .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--theme-blue-text); }
.pharmacy-shop-page__hero .button--primary:hover { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.pharmacy-shop-page__hero .button--outline { border-color: rgb(255 255 255 / 60%); background: transparent; color: var(--rugare-white); }
.pharmacy-shop-page__hero .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.pharmacy-shop-page__experience { border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.pharmacy-shop-page__experience .section-heading--split { padding-bottom: clamp(2rem, 5vw, 3.5rem); border-bottom: 1px solid var(--line); }
.pharmacy-shop-page__experience .section-heading--split h2 { max-width: 14ch; margin: 0; color: var(--ink); font-size: var(--font-size-h2); }
.pharmacy-shop-page__experience .section-heading--split > p { max-width: 39rem; margin: 0; color: var(--body-text); line-height: 1.75; }
.pharmacy-shop-page__journey { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.9rem, 2vw, 1.35rem); margin-top: clamp(2rem, 5vw, 3.5rem); }
.pharmacy-shop-page__journey article { display: flex; min-width: 0; min-height: 20rem; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); background: var(--surface); box-shadow: 0 .35rem 1.1rem rgb(11 58 91 / 4%); }
.pharmacy-shop-page__journey article:nth-child(2) { border-top-color: var(--rugare-health-green); }
.pharmacy-shop-page__journey-top { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.pharmacy-shop-page__journey-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--theme-blue-text); }
.pharmacy-shop-page__journey-icon svg { width: 1.75rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.pharmacy-shop-page__journey-top small { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.pharmacy-shop-page__journey h3 { margin: 1.5rem 0 0; color: var(--ink); font-size: var(--font-size-h4); }
.pharmacy-shop-page__journey article > p { margin: .85rem 0 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.7; }
.pharmacy-shop-page__safeguards { padding: clamp(1.5rem, 3vw, 2.25rem); margin-top: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--line); border-left: 4px solid var(--rugare-health-green); background: var(--surface); }
.pharmacy-shop-page__safeguards .section-heading--compact { margin-bottom: 1.25rem; }
.pharmacy-shop-page__safeguards .section-heading--compact h2 { max-width: none; margin: .35rem 0 0; color: var(--ink); font-size: var(--font-size-h4); }
.pharmacy-shop-page__safeguards ul { display: grid; gap: .65rem; padding: 0; margin: 0; list-style: none; }
.pharmacy-shop-page__safeguards li { position: relative; padding-left: 1.4rem; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.6; }
.pharmacy-shop-page__safeguards li::before { position: absolute; top: .65em; left: 0; width: .45rem; height: .45rem; background: var(--rugare-health-green); content: ''; }
.pharmacy-shop-page__launch { border-bottom: 1px solid var(--line); background: var(--surface); }
.pharmacy-shop-page__launch-panel { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 8vw, 9rem); padding: clamp(2.5rem, 6vw, 5rem); background: var(--rugare-navy); color: var(--rugare-white); box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 10%); }
.pharmacy-shop-page__launch .section-heading { margin-bottom: 0; }
.pharmacy-shop-page__launch .section-heading .eyebrow { color: var(--rugare-health-green); }
.pharmacy-shop-page__launch .section-heading h2 { max-width: 11ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-h2); }
.pharmacy-shop-page__launch .section-heading p { max-width: 44rem; margin: 1.25rem 0 0; color: rgb(255 255 255 / 90%); font-family: var(--display); font-size: var(--font-size-lead); line-height: 1.5; }
.pharmacy-shop-page__launch-list { display: grid; gap: .65rem; padding: 1.25rem 0; margin: 1.5rem 0 0; border-block: 1px solid rgb(255 255 255 / 18%); list-style: none; }
.pharmacy-shop-page__launch-list li { position: relative; padding-left: 1.4rem; color: rgb(255 255 255 / 78%); font-size: var(--font-size-small); line-height: 1.6; }
.pharmacy-shop-page__launch-list li::before { position: absolute; top: .65em; left: 0; width: .45rem; height: .45rem; border: 1px solid var(--rugare-health-green); content: ''; }
.pharmacy-shop-page__launch-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.pharmacy-shop-page__launch .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--theme-blue-text); }
.pharmacy-shop-page__launch .button--primary:hover { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.pharmacy-shop-page__launch .button--outline { border-color: rgb(255 255 255 / 58%); background: transparent; color: var(--rugare-white); }
.pharmacy-shop-page__launch .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.pharmacy-shop-page__delivery-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.35rem; color: var(--rugare-health-green); font-size: var(--font-size-small); font-weight: 700; }
.pharmacy-shop-page__delivery-link:hover { color: var(--rugare-white); }
.service-page__body { padding-block: var(--section-space); background: rgb(16 118 184 / 3%); }
.service-page__body > .container { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.service-page__body h2 { margin: 0; font-size: var(--font-size-h2); }
.service-page__body h3 { letter-spacing: -.025em; }
.service-page__body section { scroll-margin-top: calc(var(--sticky-header-offset) + 1.5rem); }
.service-page__body > .container > section, .service-page__body > .container > aside { margin-top: clamp(2rem, 5vw, 4.5rem); }
.service-page__essentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 0; }
.service-page__panel { padding: clamp(1.5rem, 4vw, 3rem); background: var(--surface); }
.service-page__panel--blue { border-inline-start: 4px solid var(--rugare-brand-blue); background: var(--surface); }
.service-page__check-list, .service-page__steps, .service-page__access-steps, .service-page__journey-support ul { padding: 0; margin: 1.5rem 0 0; list-style: none; }
.service-page__check-list { display: grid; gap: .8rem; }
.service-page__check-list li { display: grid; grid-template-columns: 1.5rem 1fr; gap: .7rem; align-items: start; }
.check-dot { display: inline-flex; width: 1.45rem; height: 1.45rem; align-items: center; justify-content: center; margin-top: .12rem; background: var(--color-green-surface); color: var(--theme-green-text); }
.check-dot svg { width: .8rem; fill: none; stroke: currentColor; stroke-width: 2.2; }
.service-page--dialysis .service-page__essentials { max-width: none; grid-template-columns: 1fr; margin-inline: auto; border: 0; background: transparent; }
.service-page--dialysis .service-page__panel--blue { border: 1px solid var(--line); border-top: 4px solid var(--rugare-brand-blue); }
.service-page__dialysis-visit { padding: clamp(2rem, 4vw, 3rem); background: var(--surface); box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 6%); }
.service-page__dialysis-visit-eyebrow { margin: 0 0 1rem; }
.service-page__dialysis-visit-head { padding-bottom: 1.5rem; margin-bottom: 0; border-bottom: 1px solid var(--line); }
.service-page__dialysis-visit-head h2 { margin: 0; font-size: var(--font-size-h2); line-height: 1.15; }
.service-page__dialysis-visit-intro { max-width: 32rem; margin: 1rem 0 0; color: var(--muted); font-size: var(--font-size-body); line-height: 1.7; }
.service-page__dialysis-visit-availability { padding: 1.1rem 1.15rem; border-left: 3px solid var(--rugare-health-green); background: var(--surface); }
.service-page__dialysis-visit-availability h3 { margin: .45rem 0 0; color: var(--ink); font-size: var(--font-size-h4); }
.service-page__dialysis-visit-availability p:last-child { margin: .55rem 0 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.7; }
.service-page__steps { display: grid; gap: 1rem; }
.service-page__steps li { display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; align-items: start; }
.service-page__steps li > span, .service-page__access-steps li > span { display: grid; width: 2rem; height: 2rem; place-items: center; background: var(--color-medical-blue); color: var(--rugare-white); font-family: var(--display); }
.service-page__steps p { margin: .2rem 0 0; }

/* Shared patient guidance: suitable-for cues and a clear appointment journey. */
.service-page__essentials--guidance {
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
	gap: 0;
	overflow: hidden;
	border: 1px solid rgb(16 118 184 / 24%);
	border-radius: .875rem;
	background: var(--surface);
	box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 6%);
}

.service-page__essentials--guidance .service-page__panel {
	padding: clamp(2.25rem, 4.2vw, 4rem);
}

.service-page__essentials--guidance .service-page__panel--blue {
	border: 0;
	border-left: 1px solid var(--line);
	background: var(--surface);
}

.service-page__essentials--guidance .eyebrow { margin-bottom: 1.1rem; }
.service-page__essentials--guidance h2 { font-size: clamp(1.9rem, 2.5vw, 2.65rem); line-height: 1.12; letter-spacing: -.035em; }

.service-page__essentials--guidance .service-page__check-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.5rem;
	margin-top: 2rem;
}

.service-page__essentials--guidance .service-page__check-list li {
	grid-template-columns: 1.7rem minmax(0, 1fr);
	gap: .75rem;
	align-items: center;
	min-height: 4rem;
	padding-block: .8rem;
	border-top: 1px solid var(--line);
	color: var(--body-text);
	font-size: .975rem;
	line-height: 1.5;
}

.service-page__essentials--guidance .check-dot {
	width: 1.7rem;
	height: 1.7rem;
	margin: 0;
	border-radius: 50%;
	background: rgb(123 198 64 / 14%);
	color: var(--theme-green-text);
}

.service-page__essentials--guidance .service-page__steps {
	position: relative;
	gap: 0;
	margin-top: 1.7rem;
}

.service-page__essentials--guidance .service-page__steps::before {
	position: absolute;
	top: 1.25rem;
	bottom: 1.25rem;
	left: 1.25rem;
	width: 1px;
	background: rgb(16 118 184 / 28%);
	content: '';
}

.service-page__essentials--guidance .service-page__steps li {
	position: relative;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	min-height: 4.75rem;
	padding-block: .65rem;
}

.service-page__essentials--guidance .service-page__steps li > span {
	position: relative;
	z-index: 1;
	width: 2.5rem;
	height: 2.5rem;
	border: 4px solid #eef7fc;
	border-radius: 50%;
	background: var(--rugare-brand-blue);
	font-size: .825rem;
	font-weight: 700;
}

.service-page__essentials--guidance .service-page__steps h3 {
	margin: 0;
	color: var(--ink);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.4;
}
.section-heading--compact { max-width: 55rem; margin-bottom: 2rem; }
.section-heading--compact h2 { margin-bottom: .85rem; }
.service-page__body :is(.service-page__pharmacy-profile, .service-page__gp-profile, .service-page__physician-profile, .service-page__dentist-profile, .service-page__homecare-profile, .service-page__partner-services, .service-page__supporting, .service-page__unit, .service-page__questions, .service-page__related, .service-page__cover-options, .service-page__dialysis-services, .service-page__dialysis-journey, .service-page__dialysis-cta) { padding: clamp(1.5rem, 4vw, 3.25rem); background: var(--surface); border: 0; }
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid) > article { display: grid; grid-template-columns: 2rem 1fr; align-content: start; gap: .8rem; min-width: 0; padding: 1.25rem; background: var(--paper); }
.service-page__body :is(.service-page__pharmacy-icon, .service-page__gp-icon, .service-page__physician-icon, .service-page__dentist-icon, .service-page__homecare-icon, .service-page__partner-icon, .service-page__supporting-icon) { grid-column: 1; grid-row: 1; align-self: start; color: var(--theme-blue-text); }
.service-page__body :is(.service-page__pharmacy-icon, .service-page__gp-icon, .service-page__physician-icon, .service-page__dentist-icon, .service-page__homecare-icon, .service-page__partner-icon, .service-page__supporting-icon) svg { width: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid) > article > div { grid-column: 2; grid-row: 1; min-width: 0; }
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid) > article > div > :first-child { display: flex; min-height: 2rem; align-items: center; margin-top: 0; }
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid) p { margin: 0; color: var(--muted); font-size: var(--font-size-small); }
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid) article p:first-child { color: var(--ink); font-weight: 700; }
.service-page--pharmacy .service-page__pharmacy-profile { padding: clamp(2.5rem, 5vw, 4.5rem); overflow: hidden; }
.service-page__pharmacy-profile-heading { max-width: 66rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.service-page__pharmacy-profile-heading .eyebrow { color: var(--theme-blue-text); }
.service-page__pharmacy-profile-heading h2 { max-width: 22ch; margin-inline: auto; color: var(--ink); }
.service-page__pharmacy-profile-heading > p:last-child { max-width: 49rem; margin-inline: auto; color: var(--body-text); line-height: 1.7; }
.service-page__pharmacy-service-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.service-page__pharmacy-service-group { position: relative; display: flex; min-width: 0; min-height: 18rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); background: var(--surface-subtle); }
.service-page__pharmacy-service-group:nth-child(2) { border-top-color: var(--rugare-health-green); }
.service-page__pharmacy-group-heading { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; align-items: start; }
.service-page__pharmacy-group-icon { display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; color: var(--theme-blue-text); }
.service-page__pharmacy-group-icon svg { width: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__pharmacy-group-label { margin: 0 0 .4rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.service-page__pharmacy-service-group h3 { max-width: 18ch; margin: 0; color: var(--ink); font-size: var(--font-size-h4); line-height: 1.15; }
.service-page__pharmacy-service-group ul { padding: 0; margin: auto 0 0; list-style: none; }
.service-page__pharmacy-service-group li { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: .65rem; padding-block: .9rem; border-top: 1px solid var(--line); color: var(--body-text); font-size: var(--font-size-small); line-height: 1.5; }
.service-page__pharmacy-service-group li:first-child { margin-top: 1.75rem; }
.service-page__pharmacy-service-group li > span { color: var(--theme-green-text); }
.service-page__pharmacy-service-group li svg { width: .9rem; fill: none; stroke: currentColor; stroke-width: 2.3; }
.service-page--pharmacy .service-page__pharmacy-order { padding: clamp(2.5rem, 5vw, 4.5rem); border: 0; border-radius: .85rem; background: var(--rugare-navy); color: var(--rugare-white); }
.service-page--pharmacy .service-page__pharmacy-order .section-heading { max-width: 52rem; margin-inline: auto; text-align: center; }
.service-page--pharmacy .service-page__pharmacy-order .eyebrow { justify-content: center; color: var(--rugare-health-green); }
.service-page--pharmacy .service-page__pharmacy-order h2 { color: var(--rugare-white); }
.service-page--pharmacy .service-page__pharmacy-order .section-heading > p:last-child { margin-inline: auto; color: rgb(255 255 255 / 74%); }
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps { gap: .75rem; margin-top: 2.25rem; border: 0; background: transparent; }
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps li { min-height: 11rem; align-content: start; padding: 1.5rem; border-top: 3px solid var(--rugare-brand-blue); border-radius: .45rem; }
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps li:nth-child(2) { border-top-color: var(--rugare-health-green); }
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps li > span { background: var(--color-blue-surface); color: var(--theme-blue-text); }
.service-page__pharmacy-visit { padding: clamp(2.5rem, 5vw, 4.5rem); border: 1px solid var(--line); background: var(--surface); }
.service-page__pharmacy-visit > .section-heading { max-width: 58rem; margin-inline: auto; }
.service-page__pharmacy-visit > .section-heading .eyebrow { justify-content: center; }
.service-page__pharmacy-visit > .section-heading > p:last-child { max-width: 46rem; margin-inline: auto; }
.service-page__pharmacy-visit-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .8fr); gap: 1px; margin-top: 2.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: .6rem; background: var(--line); }
.service-page__pharmacy-visit-checklist,
.service-page__pharmacy-visit-details { padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--surface-subtle); }
.service-page__pharmacy-visit-checklist h3,
.service-page__pharmacy-visit-details h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h4); }
.service-page__pharmacy-visit-checklist ul { display: grid; gap: .9rem; padding: 0; margin: 1.5rem 0 0; list-style: none; }
.service-page__pharmacy-visit-checklist li { display: grid; grid-template-columns: 1.2rem minmax(0, 1fr); gap: .75rem; color: var(--body-text); }
.service-page__pharmacy-visit-checklist li span { color: var(--theme-green-text); }
.service-page__pharmacy-visit-checklist svg { width: 1rem; fill: none; stroke: currentColor; stroke-width: 2.2; }
.service-page__pharmacy-visit-details { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .6rem 1rem; border-left: 3px solid var(--rugare-health-green); background: var(--color-blue-surface); }
.service-page__pharmacy-visit-details > span { grid-row: 1; color: var(--theme-blue-text); }
.service-page__pharmacy-visit-details > span svg { width: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__pharmacy-visit-details > p,
.service-page__pharmacy-visit-details > address,
.service-page__pharmacy-visit-details > a { grid-column: 2; }
.service-page__pharmacy-visit-details > p { margin: .7rem 0 0; color: var(--body-text); line-height: 1.65; }
.service-page__pharmacy-visit-details address { margin: .3rem 0 0; color: var(--muted); font-style: normal; line-height: 1.65; }
.service-page__pharmacy-visit-details .text-link { width: fit-content; margin-top: .5rem; font-weight: 750; }
.service-page--gp .service-page__body { background: var(--surface-subtle); }
.service-page--gp .service-page__body > .container > section,
.service-page--gp .service-page__essentials { border-radius: .85rem; box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.service-page--gp .service-page__essentials { grid-template-columns: minmax(20rem, .9fr) minmax(0, 1.1fr); gap: 0; align-items: stretch; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.service-page__gp-intro-media { position: relative; min-height: 37rem; margin: 0; overflow: hidden; background: var(--rugare-navy); }
.service-page__gp-intro-media picture,
.service-page__gp-intro-media img { display: block; width: 100%; height: 100%; }
.service-page__gp-intro-media img { object-fit: cover; object-position: 50% 48%; }
.service-page--gp .service-page__gp-intro-content { display: grid; align-content: center; padding: clamp(2.5rem, 5vw, 4.5rem); border: 0; }
.service-page__gp-intro-content .eyebrow { margin-bottom: 1rem; }
.service-page__gp-intro-content h2 { max-width: 15ch; color: var(--ink); font-size: clamp(2.15rem, 3.2vw, 3.35rem); }
.service-page__gp-intro-content > p:not(.eyebrow) { max-width: 40rem; margin: 1.25rem 0 0; color: var(--body-text); line-height: 1.7; }
.service-page--gp .service-page__gp-intro-content .service-page__check-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; margin-top: 2rem; }
.service-page--gp .service-page__gp-intro-content .service-page__check-list li { padding-block: .9rem; border-top: 1px solid var(--line); color: var(--ink); line-height: 1.5; }
.service-page--gp .service-page__gp-profile,
.service-page--gp #gp-supporting { padding: clamp(2.75rem, 5vw, 4.75rem); overflow: hidden; }
.service-page__gp-heading { max-width: 60rem; margin-inline: auto; margin-bottom: clamp(2rem, 4vw, 3rem); }
.service-page__gp-heading .eyebrow { justify-content: center; }
.service-page__gp-heading h2 { max-width: 20ch; margin-inline: auto; color: var(--ink); }
.service-page__gp-heading > p:last-child { max-width: 47rem; margin-inline: auto; color: var(--body-text); line-height: 1.7; }
.service-page--gp .service-page__gp-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; background: transparent; }
.service-page--gp .service-page__gp-service-grid > article { min-height: 13rem; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.5rem, 3vw, 2.1rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .55rem; background: var(--surface-subtle); }
.service-page--gp .service-page__gp-service-grid > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page--gp .service-page__gp-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--theme-blue-text); }
.service-page--gp .service-page__gp-service-grid h3 { display: flex; min-height: 2.5rem; align-items: center; margin: 0; color: var(--ink); font-size: var(--font-size-h4); }
.service-page--gp .service-page__gp-service-grid article p { margin-top: .8rem; color: var(--body-text); line-height: 1.65; }
.service-page--gp #gp-supporting { display: grid; grid-template-columns: minmax(17rem, .68fr) minmax(0, 1.32fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; background: var(--rugare-navy); }
.service-page--gp #gp-supporting .service-page__gp-heading { max-width: 28rem; margin: 0; text-align: left; }
.service-page--gp #gp-supporting .service-page__gp-heading .eyebrow { justify-content: flex-start; }
.service-page--gp #gp-supporting .eyebrow { color: var(--rugare-health-green); }
.service-page--gp #gp-supporting h2 { max-width: 11ch; margin-inline: 0; color: var(--rugare-white); font-size: clamp(2.25rem, 3.5vw, 3.5rem); line-height: 1.06; }
.service-page--gp #gp-supporting .service-page__gp-heading > p:last-child { max-width: 27rem; margin: 1.25rem 0 0; color: rgb(255 255 255 / 78%); font-size: 1rem; line-height: 1.7; }
.service-page--gp #gp-supporting .service-page__supporting-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; background: transparent; }
.service-page--gp #gp-supporting .service-page__supporting-grid > a { position: relative; display: grid; min-width: 0; min-height: 12.5rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: 1.6rem 1.6rem 3.8rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: .7rem; background: rgb(255 255 255 / 7%); color: var(--rugare-white); text-decoration: none; transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease; }
.service-page--gp #gp-supporting .service-page__supporting-grid > a:hover { transform: translateY(-3px); border-color: rgb(127 194 65 / 80%); background: rgb(255 255 255 / 11%); }
.service-page--gp #gp-supporting .service-page__supporting-grid > a:focus-visible { outline: 3px solid var(--rugare-health-green); outline-offset: 3px; }
.service-page--gp #gp-supporting .service-page__supporting-icon { display: grid; width: 2.75rem; height: 2.75rem; grid-column: 1; place-items: center; border-radius: 50%; background: rgb(127 194 65 / 14%); color: var(--rugare-health-green); }
.service-page--gp #gp-supporting .service-page__supporting-icon svg { width: 1.3rem; }
.service-page--gp #gp-supporting .service-page__supporting-grid h3 { display: flex; min-height: 2.75rem; align-items: center; margin: 0; color: var(--rugare-white); font-size: 1.0625rem; line-height: 1.35; text-decoration: none; }
.service-page--gp #gp-supporting .service-page__supporting-grid p { margin-top: .85rem; color: rgb(255 255 255 / 76%); font-size: .9375rem; line-height: 1.6; text-decoration: none; }
.service-page__gp-card-arrow { position: absolute; right: 1.35rem; bottom: 1.25rem; display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid rgb(255 255 255 / 22%); border-radius: 50%; color: var(--rugare-health-green); transition: transform 180ms ease, background-color 180ms ease; }
.service-page--gp #gp-supporting a:hover .service-page__gp-card-arrow { transform: translateX(3px); background: rgb(127 194 65 / 12%); }
.service-page__gp-card-arrow svg { width: .9rem; }
.service-page--gp .service-page__gp-pathway { padding: clamp(3rem, 5vw, 5rem); background: var(--surface) !important; }
.service-page--gp .service-page__gp-pathway .service-page__gp-heading { margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
.service-page--gp .service-page__gp-pathway .service-page__gp-heading h2 { max-width: 24ch; font-size: clamp(2.15rem, 3.2vw, 3.2rem); }
.service-page--gp .service-page__gp-pathway .service-page__gp-heading > p:last-child { max-width: 43rem; font-size: 1rem; }
.service-page--gp .service-page__gp-pathway .service-page__access-steps { gap: 1rem; border: 0; background: transparent; }
.service-page--gp .service-page__gp-pathway .service-page__access-steps li { position: relative; min-height: 13rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: 1.75rem; overflow: hidden; border: 1px solid var(--line); border-radius: .7rem; background: var(--surface); box-shadow: 0 .8rem 2rem rgb(11 58 91 / 6%); }
.service-page--gp .service-page__gp-pathway .service-page__access-steps li::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ""; }
.service-page--gp .service-page__gp-pathway .service-page__access-steps li:nth-child(2)::after { background: var(--rugare-health-green); }
.service-page--gp .service-page__gp-pathway .service-page__access-steps li > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: var(--rugare-navy); color: var(--rugare-white); font-size: .875rem; font-weight: 800; }
.service-page--gp .service-page__gp-pathway .service-page__access-steps li:nth-child(2) > span { background: var(--rugare-health-green); color: var(--rugare-navy); }
.service-page--gp .service-page__gp-pathway .service-page__access-steps h3 { min-height: 2.75rem; display: flex; align-items: center; color: var(--ink); font-size: 1.2rem; line-height: 1.3; }
.service-page--gp .service-page__gp-pathway .service-page__access-steps p { margin-top: .75rem; color: var(--body-text); font-size: .9375rem; line-height: 1.65; }
.service-page--gp .service-page__gp-cta { grid-template-columns: minmax(0, 1fr) auto; }
.service-page--gp .service-page__gp-cta .service-page__dialysis-cta-actions { grid-template-columns: 1fr; min-width: min(100%, 19rem); }
.service-page--dentist .service-page__body { background: var(--surface-subtle); }
.service-page--dentist .service-page__body > .container > :is(.service-page__dentist-profile, .service-page__dentist-route, .service-page__questions, .service-page__dentist-cta) { border-radius: .85rem; box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.service-page--dentist .service-page__dentist-profile,
.service-page--dentist .service-page__dentist-route { padding: clamp(2.75rem, 5vw, 4.75rem); overflow: hidden; }
.service-page__dentist-heading { max-width: 59rem; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
.service-page__dentist-heading h2 { max-width: 22ch; margin-inline: auto; color: var(--ink); font-size: clamp(2.15rem, 3.2vw, 3.25rem); }
.service-page__dentist-heading > p:last-child { max-width: 46rem; margin: 1rem auto 0; color: var(--body-text); font-size: 1rem; line-height: 1.7; }
.service-page--dentist .service-page__dentist-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; background: transparent; }
.service-page--dentist .service-page__dentist-service-grid > article { min-height: 12.5rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .7rem; background: var(--surface-subtle); }
.service-page--dentist .service-page__dentist-service-grid > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page--dentist .service-page__dentist-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: var(--theme-blue-text); }
.service-page--dentist .service-page__dentist-icon svg { width: 1.5rem; }
.service-page--dentist .service-page__dentist-service-grid h3 { display: flex; min-height: 2.75rem; align-items: center; margin: 0; color: var(--ink); font-size: 1.2rem; line-height: 1.3; }
.service-page--dentist .service-page__dentist-service-grid article p { margin-top: .8rem; color: var(--body-text); font-size: .9375rem; line-height: 1.65; }
.service-page--dentist .service-page__dentist-route { background: var(--rugare-navy) !important; }
.service-page--dentist .service-page__dentist-route .eyebrow { color: var(--rugare-health-green); }
.service-page--dentist .service-page__dentist-route h2 { color: var(--rugare-white); }
.service-page--dentist .service-page__dentist-route .service-page__dentist-heading > p:last-child { color: rgb(255 255 255 / 76%); }
.service-page--dentist .service-page__dentist-route .service-page__access-steps { gap: 1rem; border: 0; background: transparent; }
.service-page--dentist .service-page__dentist-route .service-page__access-steps li { min-height: 13rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: 1.75rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: .7rem; background: rgb(255 255 255 / 7%); }
.service-page--dentist .service-page__dentist-route .service-page__access-steps li > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: var(--rugare-health-green); color: var(--rugare-navy); font-size: .875rem; font-weight: 800; }
.service-page--dentist .service-page__dentist-route .service-page__access-steps h3 { display: flex; min-height: 2.75rem; align-items: center; color: var(--rugare-white); font-size: 1.2rem; line-height: 1.3; }
.service-page--dentist .service-page__dentist-route .service-page__access-steps p { margin-top: .75rem; color: rgb(255 255 255 / 74%); font-size: .9375rem; line-height: 1.65; }
.service-page--dentist .service-page__questions { padding: clamp(2.75rem, 5vw, 4.75rem); }
.service-page--dentist .service-page__dentist-cta { grid-template-columns: minmax(0, 1fr) auto; }
.service-page--dentist .service-page__dentist-cta .service-page__dialysis-cta-actions { grid-template-columns: 1fr; min-width: min(100%, 20rem); }
.service-page__medical-aid-options { position: relative; padding: clamp(2.75rem, 5vw, 4.75rem); overflow: hidden; border: 0; background: var(--surface); box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 6%); }
.service-page__medical-aid-options::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-health-green); content: ''; }
.service-page__medical-aid-heading { display: grid; grid-template-columns: minmax(0, .95fr) minmax(20rem, 1.05fr); gap: clamp(2rem, 6vw, 5.5rem); align-items: end; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
.service-page__medical-aid-heading h2 { max-width: 19ch; margin: 0; color: var(--ink); font-size: clamp(2.15rem, 3.2vw, 3.25rem); line-height: 1.08; }
.service-page__medical-aid-heading > p { max-width: 40rem; padding-left: 1.25rem; margin: 0 0 .25rem; border-left: 3px solid var(--rugare-health-green); color: var(--body-text); font-size: 1rem; line-height: 1.75; }
.service-page__medical-aid-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.service-page__medical-aid-grid > article { display: flex; min-width: 0; min-height: 15rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .7rem; background: var(--surface); }
.service-page__medical-aid-grid > .service-page__medical-aid-card--join { border-color: rgb(127 194 65 / 50%); border-top-color: var(--rugare-health-green); background: var(--color-green-surface); }
.service-page__medical-aid-card-heading { display: flex; gap: .9rem; align-items: center; }
.service-page__medical-aid-card-heading > span { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); }
.service-page__medical-aid-card--join .service-page__medical-aid-card-heading > span { background: rgb(127 194 65 / 18%); color: var(--theme-green-text); }
.service-page__medical-aid-card-heading svg { width: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__medical-aid-card-heading h3 { margin: 0; color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.25; }
.service-page__medical-aid-grid article > p { max-width: 38rem; margin: 1.25rem 0 1.75rem; color: var(--body-text); line-height: 1.7; }
.service-page__medical-aid-grid article > .button,
.service-page__medical-aid-actions { margin-top: auto; }
.service-page__medical-aid-grid article > .button { width: fit-content; }
.service-page__medical-aid-actions { display: flex; flex-wrap: wrap; gap: .9rem 1.25rem; align-items: center; }
.service-page__medical-aid-actions .text-link { color: var(--theme-blue-text); font-weight: 750; }
.service-page__medical-aid-note { max-width: 68rem; padding-left: 1rem; margin: 1.5rem auto 0; border-left: 3px solid var(--rugare-health-green); color: var(--body-text); font-size: var(--font-size-small); line-height: 1.6; }
.service-page--physician .service-page__body { background: var(--surface-subtle); }
.service-page--physician .service-page__body > .container > :is(.service-page__physician-profile, .service-page__physician-route, .service-page__medical-aid-options, .service-page__questions, .service-page__physician-cta) { border-radius: .85rem; box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.service-page--physician .service-page__physician-profile,
.service-page--physician .service-page__physician-route,
.service-page--physician .service-page__questions { padding: clamp(2.75rem, 5vw, 4.75rem); overflow: hidden; }
.service-page__physician-heading { max-width: 62rem; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
.service-page__physician-heading h2 { max-width: 22ch; margin-inline: auto; color: var(--ink); font-size: clamp(2.15rem, 3.2vw, 3.25rem); }
.service-page__physician-heading > p:last-child { max-width: 48rem; margin: 1rem auto 0; color: var(--body-text); font-size: 1rem; line-height: 1.7; }
.service-page--physician .service-page__physician-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; background: transparent; }
.service-page--physician .service-page__physician-service-grid > article { min-height: 12.5rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .7rem; background: var(--surface-subtle); }
.service-page--physician .service-page__physician-service-grid > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page--physician .service-page__physician-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: var(--theme-blue-text); }
.service-page--physician .service-page__physician-icon svg { width: 1.45rem; }
.service-page--physician .service-page__physician-service-grid h3 { display: flex; min-height: 2.75rem; align-items: center; margin: 0; color: var(--ink); font-size: 1.2rem; line-height: 1.3; }
.service-page--physician .service-page__physician-service-grid article p { margin-top: .8rem; color: var(--body-text); font-size: .9375rem; line-height: 1.65; }
.service-page--physician .service-page__physician-route { background: var(--rugare-navy) !important; }
.service-page--physician .service-page__physician-route .eyebrow { color: var(--rugare-health-green); }
.service-page--physician .service-page__physician-route h2 { color: var(--rugare-white); }
.service-page--physician .service-page__physician-route .service-page__physician-heading > p:last-child { color: rgb(255 255 255 / 76%); }
.service-page--physician .service-page__physician-route .service-page__access-steps { gap: 1rem; border: 0; background: transparent; }
.service-page--physician .service-page__physician-route .service-page__access-steps li { min-height: 13rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: 1.75rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: .7rem; background: rgb(255 255 255 / 7%); }
.service-page--physician .service-page__physician-route .service-page__access-steps li > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: var(--rugare-health-green); color: var(--rugare-navy); font-size: .875rem; font-weight: 800; }
.service-page--physician .service-page__physician-route .service-page__access-steps h3 { display: flex; min-height: 2.75rem; align-items: center; color: var(--rugare-white); font-size: 1.2rem; line-height: 1.3; }
.service-page--physician .service-page__physician-route .service-page__access-steps p { margin-top: .75rem; color: rgb(255 255 255 / 74%); font-size: .9375rem; line-height: 1.65; }
.service-page--physician .service-page__physician-cta { grid-template-columns: minmax(0, 1fr) auto; }
.service-page--physician .service-page__physician-cta .service-page__dialysis-cta-actions { grid-template-columns: 1fr; min-width: min(100%, 20rem); }
.service-page--diagnostic-laboratory .service-page__body { background: var(--surface-subtle); }
.service-page--diagnostic-laboratory .service-page__body > .container > :is(.service-page__lab-profile, .service-page__lab-route, .service-page__medical-aid-options, .service-page__questions, .service-page__lab-cta) { border-radius: .85rem; box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.service-page--diagnostic-laboratory .service-page__lab-profile,
.service-page--diagnostic-laboratory .service-page__lab-route,
.service-page--diagnostic-laboratory .service-page__questions { padding: clamp(2.75rem, 5vw, 4.75rem); overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.service-page__lab-heading { max-width: 62rem; margin: 0 auto clamp(2.25rem, 4vw, 3.5rem); }
.service-page__lab-heading .eyebrow { justify-content: center; }
.service-page__lab-heading h2 { max-width: 20ch; margin-inline: auto; color: var(--ink); font-size: clamp(2.15rem, 3.2vw, 3.25rem); }
.service-page__lab-heading > p:last-child { max-width: 47rem; margin: 1rem auto 0; color: var(--body-text); font-size: 1rem; line-height: 1.7; }
.service-page--diagnostic-laboratory .service-page__lab-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.service-page--diagnostic-laboratory .service-page__lab-service-grid > article { display: grid; min-height: 12.5rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .7rem; background: var(--surface-subtle); }
.service-page--diagnostic-laboratory .service-page__lab-service-grid > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page--diagnostic-laboratory .service-page__lab-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: var(--theme-blue-text); }
.service-page--diagnostic-laboratory .service-page__lab-icon svg { width: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page--diagnostic-laboratory .service-page__lab-service-grid h3 { display: flex; min-height: 2.75rem; align-items: center; margin: 0; color: var(--ink); font-size: 1.2rem; line-height: 1.3; }
.service-page--diagnostic-laboratory .service-page__lab-service-grid article p { margin: .8rem 0 0; color: var(--body-text); font-size: .9375rem; line-height: 1.65; }
.service-page--diagnostic-laboratory .service-page__lab-route { background: var(--rugare-navy); }
.service-page--diagnostic-laboratory .service-page__lab-route .eyebrow { color: var(--rugare-health-green); }
.service-page--diagnostic-laboratory .service-page__lab-route h2 { color: var(--rugare-white); }
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__lab-heading > p:last-child { color: rgb(255 255 255 / 76%); }
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__access-steps { gap: 1rem; border: 0; background: transparent; }
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__access-steps li { min-height: 13rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: 1.75rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: .7rem; background: rgb(255 255 255 / 7%); }
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__access-steps li > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: var(--rugare-health-green); color: var(--rugare-navy); font-size: .875rem; font-weight: 800; }
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__access-steps h3 { display: flex; min-height: 2.75rem; align-items: center; color: var(--rugare-white); font-size: 1.2rem; line-height: 1.3; }
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__access-steps p { margin-top: .75rem; color: rgb(255 255 255 / 74%); font-size: .9375rem; line-height: 1.65; }
.service-page--diagnostic-laboratory .service-page__lab-cta { grid-template-columns: minmax(0, 1fr) auto; }
.service-page--diagnostic-laboratory .service-page__lab-cta .service-page__dialysis-cta-actions { grid-template-columns: 1fr; min-width: min(100%, 20rem); }
.service-page--homecare .service-page__body { background: var(--surface-subtle); }
.service-page--homecare .service-page__body > .container > section,
.service-page--homecare .service-page__essentials { border-radius: .85rem; box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.service-page--homecare .service-page__essentials { grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr); gap: 0; align-items: stretch; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.service-page--homecare .service-page__homecare-intro-content { display: grid; align-content: center; padding: clamp(2.5rem, 5vw, 4.75rem); border: 0; }
.service-page__homecare-intro-content .eyebrow { margin-bottom: 1rem; }
.service-page__homecare-intro-content h2 { max-width: 14ch; color: var(--ink); font-size: clamp(2.15rem, 3.2vw, 3.35rem); }
.service-page__homecare-intro-content > p:not(.eyebrow) { max-width: 41rem; margin: 1.25rem 0 0; color: var(--body-text); line-height: 1.7; }
.service-page--homecare .service-page__homecare-intro-content .service-page__check-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; margin-top: 2rem; }
.service-page--homecare .service-page__homecare-intro-content .service-page__check-list li { padding-block: .9rem; border-top: 1px solid var(--line); color: var(--ink); line-height: 1.5; }
.service-page__homecare-intro-media { position: relative; min-height: 38rem; margin: 0; overflow: hidden; background: var(--rugare-navy); }
.service-page__homecare-intro-media picture,
.service-page__homecare-intro-media img { display: block; width: 100%; height: 100%; }
.service-page__homecare-intro-media img { object-fit: cover; object-position: 52% center; }
.service-page--homecare .service-page__homecare-profile,
.service-page--homecare .service-page__homecare-booking { padding: clamp(2.75rem, 5vw, 4.75rem); overflow: hidden; }
.service-page__homecare-heading { max-width: 60rem; margin-inline: auto; margin-bottom: clamp(2rem, 4vw, 3rem); }
.service-page__homecare-heading .eyebrow { justify-content: center; }
.service-page__homecare-heading h2 { max-width: 20ch; margin-inline: auto; color: var(--ink); }
.service-page__homecare-heading > p:last-child { max-width: 47rem; margin-inline: auto; color: var(--body-text); line-height: 1.7; }
.service-page--homecare .service-page__homecare-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; background: transparent; }
.service-page--homecare .service-page__homecare-service-grid > article { min-height: 13rem; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.5rem, 3vw, 2.1rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .55rem; background: var(--surface-subtle); }
.service-page--homecare .service-page__homecare-service-grid > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page--homecare .service-page__homecare-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--theme-blue-text); }
.service-page--homecare .service-page__homecare-service-grid h3 { display: flex; min-height: 2.5rem; align-items: center; margin: 0; color: var(--ink); font-size: var(--font-size-h4); }
.service-page--homecare .service-page__homecare-service-grid article p { margin-top: .8rem; color: var(--body-text); line-height: 1.65; }
.service-page--homecare .service-page__homecare-booking { border: 0; background: var(--rugare-navy); }
.service-page--homecare .service-page__homecare-booking .eyebrow { color: var(--rugare-health-green); }
.service-page--homecare .service-page__homecare-booking h2 { color: var(--rugare-white); }
.service-page--homecare .service-page__homecare-booking .service-page__homecare-heading > p:last-child { color: rgb(255 255 255 / 74%); }
.service-page--homecare .service-page__homecare-booking .service-page__access-steps { gap: .75rem; border: 0; background: transparent; }
.service-page--homecare .service-page__homecare-booking .service-page__access-steps li { min-height: 11rem; padding: 1.5rem; border-top: 3px solid var(--rugare-brand-blue); border-radius: .45rem; background: var(--surface); }
.service-page--homecare .service-page__homecare-booking .service-page__access-steps li:nth-child(2) { border-top-color: var(--rugare-health-green); }
.service-page--homecare .service-page__homecare-booking .service-page__access-steps li > span { background: var(--color-blue-surface); color: var(--theme-blue-text); }
.service-page--homecare .service-page__homecare-cta { grid-template-columns: minmax(0, 1fr) auto; }
.service-page--homecare .service-page__homecare-cta .service-page__dialysis-cta-actions { grid-template-columns: 1fr; min-width: min(100%, 20rem); }

/* Unified clinical service overview cards */
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-profile, .service-page__dentist-profile, .service-page__physician-profile, .service-page__homecare-profile, .service-page__lab-profile) { padding: clamp(2.4rem, 4vw, 3.75rem); background: var(--surface); }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-heading, .service-page__dentist-heading, .service-page__physician-heading, .service-page__homecare-heading, .service-page__lab-heading) { max-width: 66rem; margin: 0 auto clamp(2rem, 3.5vw, 2.75rem); }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-heading, .service-page__dentist-heading, .service-page__physician-heading, .service-page__homecare-heading, .service-page__lab-heading) h2 { max-width: 24ch; margin: .75rem auto 0; font-size: clamp(2rem, 2.8vw, 2.85rem); line-height: 1.12; text-wrap: balance; }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-heading, .service-page__dentist-heading, .service-page__physician-heading, .service-page__homecare-heading, .service-page__lab-heading) > p:last-child { max-width: 50rem; margin: 1rem auto 0; color: var(--body-text); font-size: 1.025rem; line-height: 1.7; text-wrap: pretty; }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) { gap: 1.15rem; }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article { min-height: 11rem; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: clamp(1.4rem, 2.4vw, 1.8rem); border: 1px solid rgb(11 126 188 / 20%); border-top: 3px solid var(--rugare-brand-blue); border-radius: .75rem; background: var(--surface); box-shadow: 0 .65rem 1.6rem rgb(11 58 91 / 6%); }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-icon, .service-page__dentist-icon, .service-page__physician-icon, .service-page__homecare-icon, .service-page__lab-icon) { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article:nth-child(even) :is(.service-page__gp-icon, .service-page__dentist-icon, .service-page__physician-icon, .service-page__homecare-icon, .service-page__lab-icon) { background: var(--color-green-surface); color: var(--theme-green-text); }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-icon, .service-page__dentist-icon, .service-page__physician-icon, .service-page__homecare-icon, .service-page__lab-icon) svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) h3 { display: flex; min-height: 3.25rem; align-items: center; margin: 0; color: var(--ink); font-size: clamp(1.18rem, 1.45vw, 1.35rem); line-height: 1.25; text-wrap: balance; }
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) article p { margin: .7rem 0 0; color: var(--body-text); font-size: 1rem; line-height: 1.65; }

.service-page__partner-services .service-page__partner-service-grid { gap: 1.15rem; border: 0; background: transparent; }
.service-page__partner-services .service-page__partner-service-grid > article { min-height: 11rem; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.4rem, 2.4vw, 1.8rem); border: 1px solid rgb(11 126 188 / 20%); border-top: 3px solid var(--rugare-brand-blue); border-radius: .75rem; background: var(--surface); box-shadow: 0 .65rem 1.6rem rgb(11 58 91 / 6%); }
.service-page__partner-services .service-page__partner-service-grid > article:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page__partner-services .service-page__partner-icon { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); }
.service-page__partner-services .service-page__partner-service-grid h3 { display: flex; min-height: 3.25rem; align-items: center; margin: 0; color: var(--ink); font-size: clamp(1.18rem, 1.45vw, 1.35rem); line-height: 1.25; }
.service-page__partner-services .service-page__partner-service-grid article p { margin: .7rem 0 0; color: var(--body-text); font-size: 1rem; line-height: 1.65; }

/* Ambulance, medical transport and mobile clinic page. */
.service-page--ambulance-service .service-page__body { background: var(--surface-subtle); }
.service-page--ambulance-service .service-page__body > .container > :is(.service-page__essentials--ambulance, .service-page__ambulance-services, .service-page__ambulance-contact, .service-page__medical-aid-options, .service-page__questions, .service-page__related) { border-radius: .875rem; box-shadow: 0 1.2rem 3.25rem rgb(11 58 91 / 8%); }
.service-page__essentials--ambulance { grid-template-columns: minmax(20rem, .82fr) minmax(0, 1.18fr); gap: 0; overflow: hidden; border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .875rem; background: var(--surface); }
.service-page__ambulance-intro-media { position: relative; min-height: 39rem; margin: 0; overflow: hidden; background: var(--rugare-navy); }
.service-page__ambulance-intro-media picture,
.service-page__ambulance-intro-media img { display: block; width: 100%; height: 100%; }
.service-page__ambulance-intro-media img { object-fit: cover; object-position: 51% center; }
.service-page__ambulance-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(2.25rem, 4.5vw, 4.5rem); }
.service-page__ambulance-intro > p:not(.eyebrow) { max-width: 43rem; margin: 1.1rem 0 0; color: var(--body-text); font-size: 1rem; line-height: 1.7; }
.service-page__ambulance-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin-top: clamp(1.75rem, 3vw, 2.5rem); }
.service-page__ambulance-route { display: grid; min-width: 0; min-height: 15rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .9rem; align-content: start; padding: 1.35rem; border: 1px solid var(--line); border-top: 3px solid var(--rugare-health-green); border-radius: .65rem; background: var(--surface-subtle); }
.service-page__ambulance-route--urgent { border-top-color: var(--rugare-brand-blue); background: var(--color-blue-surface); }
.service-page__ambulance-route > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: var(--surface); color: var(--theme-blue-text); }
.service-page__ambulance-route > span svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.9; }
.service-page__ambulance-route small { color: var(--theme-blue-text); font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.service-page__ambulance-route h3 { margin: .35rem 0 0; color: var(--ink); font-size: 1.1rem; line-height: 1.35; }
.service-page__ambulance-route p { margin: .55rem 0 0; color: var(--body-text); font-size: .875rem; line-height: 1.55; }
.service-page__ambulance-route > a { grid-column: 1 / -1; align-self: end; margin-top: auto; color: var(--theme-blue-text); font-weight: 750; text-decoration: underline; text-decoration-color: rgb(16 118 184 / 35%); text-underline-offset: .25em; }
.service-page__ambulance-route > a:hover, .service-page__ambulance-route > a:focus-visible { text-decoration-color: currentColor; }
.service-page__ambulance-services { padding: clamp(2.5rem, 5vw, 4.5rem) !important; }
.service-page__ambulance-services-heading { max-width: 52rem; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.service-page__ambulance-services-heading .eyebrow { justify-content: center; }
.service-page__ambulance-services-heading > p:last-child { max-width: 44rem; margin: 1rem auto 0; color: var(--body-text); line-height: 1.7; }
.service-page__ambulance-services .service-page__partner-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-page__ambulance-services .service-page__partner-service-grid > article { min-height: 13rem; }
.service-page__ambulance-services .service-page__partner-icon { color: var(--theme-blue-text); }
.service-page__ambulance-services .service-page__partner-service-grid > article:nth-child(even) .service-page__partner-icon { background: var(--color-green-surface); color: var(--theme-green-text); }
.service-page__ambulance-services .service-page__partner-icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__ambulance-contact { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .58fr) minmax(17rem, .62fr); gap: clamp(1.75rem, 4vw, 3.5rem); align-items: center; padding: clamp(2.25rem, 5vw, 4rem); overflow: hidden; border: 0; border-radius: .875rem; background: var(--rugare-navy); color: var(--rugare-white); }
.service-page__ambulance-contact::after { position: absolute; right: -8rem; bottom: -12rem; width: 25rem; height: 25rem; border: 1px solid rgb(255 255 255 / 8%); border-radius: 50%; box-shadow: 0 0 0 4rem rgb(255 255 255 / 3%); content: ''; pointer-events: none; }
.service-page__ambulance-contact > * { position: relative; z-index: 1; }
.service-page__ambulance-contact .eyebrow { color: #b8e986; }
.service-page__ambulance-contact h2 { margin: 0; color: var(--rugare-white); font-size: clamp(2rem, 3.2vw, 3.1rem); line-height: 1.08; }
.service-page__ambulance-contact > div:first-child > p:last-child { max-width: 39rem; margin: 1rem 0 0; color: rgb(255 255 255 / 78%); line-height: 1.7; }
.service-page__ambulance-contact ul { display: grid; gap: .8rem; padding: 1.15rem; border: 1px solid rgb(255 255 255 / 14%); border-radius: .6rem; margin: 0; background: rgb(255 255 255 / 6%); list-style: none; }
.service-page__ambulance-contact li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .7rem; align-items: center; color: rgb(255 255 255 / 86%); font-size: .9rem; line-height: 1.45; }
.service-page__ambulance-contact li span { color: #b8e986; }
.service-page__ambulance-contact li svg { display: block; width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__ambulance-contact-actions { display: grid; gap: .75rem; }
.service-page__ambulance-contact-actions .button { width: 100%; justify-content: center; }
.service-page__ambulance-contact-actions .button--outline { border-color: rgb(255 255 255 / 48%); background: transparent; color: var(--rugare-white); }
.service-page__ambulance-contact-actions .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.service-page__pharmacy-professional-note { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .9rem; align-items: start; max-width: 66rem; padding: 1.25rem 1.5rem; margin: 1.5rem auto 0; border-left: 3px solid var(--rugare-health-green); background: var(--color-blue-surface); }
.service-page__pharmacy-professional-note > span { color: var(--theme-blue-text); }
.service-page__pharmacy-professional-note svg { width: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__pharmacy-professional-note p { margin: 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.6; }
.service-page__pharmacy-professional-note strong { color: var(--ink); }
.service-page__access-steps { counter-reset: service-step; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.service-page__access-steps li { display: grid; grid-template-columns: 2.25rem 1fr; gap: .8rem; min-width: 0; padding: 1.25rem; background: var(--surface); }
.service-page__access-steps h3, .service-page__access-steps p { margin: 0; }
.service-page__access-steps h3 { font-size: var(--font-size-h4); }
.service-page__access-steps p { margin-top: .4rem; color: var(--muted); font-size: var(--font-size-small); }
.service-page__body > .container > :is(.service-page__pharmacy-order, .service-page__gp-pathway, .service-page__physician-route, .service-page__dentist-route, .service-page__homecare-booking, .service-page__partner-route, .service-page__partner-what, .service-page__partner-enquiry, .service-page__preparation, .service-page__what-to-bring, .service-page__how-to-access, .service-page__journey-support, .service-page__transport, .service-page__payment, .service-page__editable, .service-page__homecare-areas, .service-page__homecare-eligibility, .service-page__homecare-pricing, .service-page__homecare-family, .service-page__homecare-safeguarding, .service-page__homecare-assessment) { padding: clamp(1.5rem, 4vw, 3.25rem); background: var(--surface); border: 1px solid var(--line); }
.service-page__dialysis-heading { max-width: 58rem; }
.service-page__dialysis-heading h2 { max-width: 16ch; }
.service-page__dialysis-journey { padding: 0 !important; overflow: hidden; background: var(--surface) !important; box-shadow: 0 1.25rem 3.5rem rgb(11 58 91 / 9%); }
.service-page__dialysis-journey-layout { display: grid; grid-template-columns: minmax(20rem, .86fr) minmax(0, 1.14fr); min-height: 44rem; }
.service-page__dialysis-journey-media { position: relative; min-height: 100%; overflow: hidden; background: var(--rugare-navy); }
.service-page__dialysis-journey-picture,
.service-page__dialysis-journey-picture picture,
.service-page__dialysis-journey-picture img { display: block; width: 100%; height: 100%; }
.service-page__dialysis-journey-picture img { object-fit: cover; object-position: 48% center; }
.service-page__dialysis-journey-media::after { position: absolute; inset: 48% 0 0; background: linear-gradient(180deg, transparent, rgb(4 39 63 / 88%)); content: ''; pointer-events: none; }
.service-page__dialysis-journey-media .service-page__dialysis-visit-availability { position: absolute; z-index: 1; right: clamp(1rem, 2.5vw, 1.75rem); bottom: clamp(1rem, 2.5vw, 1.75rem); left: clamp(1rem, 2.5vw, 1.75rem); max-width: none; padding: 1.15rem 1.25rem; border: 0; border-top: 3px solid var(--rugare-health-green); border-radius: .4rem; margin: 0; background: rgb(255 255 255 / 96%); box-shadow: 0 .75rem 2rem rgb(5 38 60 / 20%); }
.service-page__dialysis-journey-content { padding: clamp(2rem, 4vw, 3.5rem); }
.service-page--dialysis .service-page__dialysis-journey .service-page__access-steps { position: relative; display: grid; grid-template-columns: 1fr; gap: 0; padding: .5rem 0 0; margin: 0; border: 0; background: transparent; }
.service-page--dialysis .service-page__dialysis-journey .service-page__access-steps::before { position: absolute; top: 1.75rem; bottom: 1.75rem; left: 1.05rem; width: 1px; background: var(--line); content: ''; }
.service-page--dialysis .service-page__dialysis-journey .service-page__access-steps li { position: relative; display: grid; min-height: 0; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: .85rem 0; background: transparent; }
.service-page--dialysis .service-page__dialysis-journey .service-page__access-steps li > span { z-index: 1; font-family: var(--font-body); font-size: .7rem; font-weight: 750; letter-spacing: .04em; }
.service-page--dialysis .service-page__dialysis-journey .service-page__access-steps li:last-child > span { color: var(--theme-green-text); }
.service-page--dialysis .service-page__dialysis-journey .service-page__access-steps p { padding: .75rem 1rem; border: 1px solid var(--line); border-radius: .4rem; margin: 0; background: var(--surface-subtle); color: var(--body-text); font-size: .9375rem; font-weight: 600; line-height: 1.45; }
.service-page__dialysis-cta { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(29rem, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; overflow: hidden; border: 0 !important; border-radius: .5rem; background: var(--rugare-navy) !important; box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 8%) !important; }
.service-page__dialysis-cta::after { display: none; }
.service-page__dialysis-cta-copy { position: relative; z-index: 1; }
.service-page__dialysis-cta-copy .eyebrow { color: #b8e986; }
.service-page__dialysis-cta-copy .eyebrow span { background: #8dc63f; }
.service-page__dialysis-cta-copy h2 { max-width: 15ch; margin: 0; color: var(--rugare-white); font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.08; }
.service-page__dialysis-cta-copy > p:last-child { max-width: 36rem; margin: 1.15rem 0 0; color: rgb(255 255 255 / 78%); font-size: var(--font-size-body); line-height: 1.7; }
.service-page__dialysis-cta-actions { position: relative; z-index: 1; display: grid; gap: .85rem; padding: clamp(1rem, 2vw, 1.35rem); border: 1px solid rgb(255 255 255 / 14%); border-radius: .65rem; background: rgb(255 255 255 / 8%); backdrop-filter: blur(6px); }
.service-page__dialysis-book { width: 100%; min-height: 3.5rem; justify-content: center; }
.service-page__dialysis-contact-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.service-page__dialysis-contact { display: grid; min-width: 0; min-height: 5.2rem; grid-template-columns: 2.65rem minmax(0, 1fr); gap: .8rem; align-items: center; padding: .85rem 1rem; border: 1px solid rgb(255 255 255 / 16%); border-radius: .45rem; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.service-page__dialysis-contact:hover { border-color: #8dc63f; box-shadow: 0 .7rem 1.5rem rgb(3 31 49 / 18%); transform: translateY(-2px); }
.service-page__dialysis-contact:focus-visible { outline: 3px solid #b8e986; outline-offset: 3px; }
.service-page__dialysis-contact-icon { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); }
.service-page__dialysis-contact--whatsapp .service-page__dialysis-contact-icon { background: #e8f7ed; color: #128c4a; }
.service-page__dialysis-contact-icon svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.9; }
.service-page__dialysis-contact small, .service-page__dialysis-contact strong { display: block; }
.service-page__dialysis-contact small { margin-bottom: .15rem; color: var(--muted); font-size: .75rem; font-weight: 650; letter-spacing: .02em; }
.service-page__dialysis-contact strong { overflow-wrap: anywhere; color: var(--ink); font-size: .9375rem; line-height: 1.35; }
.service-page--dialysis .service-page__body > .container > :is(.service-page__dialysis-services, .service-page__unit, .service-page__dialysis-journey, .service-page__payment, .service-page__transport, .service-page__what-to-bring, .service-page__questions, .service-page__dialysis-cta, .service-page__disclaimer) { width: 100%; padding: clamp(1.5rem, 3vw, 2.75rem); margin-inline: auto; }
.service-page--dialysis .service-page__body > .container > :is(.service-page__dialysis-services, .service-page__unit, .service-page__dialysis-journey, .service-page__payment, .service-page__transport, .service-page__what-to-bring, .service-page__questions, .service-page__dialysis-cta) { border-radius: .85rem; box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.service-page--dialysis .service-page__supporting-grid,
.service-page--dialysis .service-page__unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-page--dialysis .service-page__supporting-grid > article,
.service-page--dialysis .service-page__unit-grid article,
.service-page--dialysis .service-page__access-steps li { min-height: 100%; }
.service-page--dialysis .service-page__dialysis-services { padding: clamp(2.25rem, 4vw, 4rem) !important; border-top: 0; }
.service-page--dialysis .service-page__dialysis-heading { display: grid; max-width: none; grid-template-columns: minmax(0, 1fr) minmax(20rem, .75fr); column-gap: clamp(2.5rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: clamp(1.75rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); }
.service-page--dialysis .service-page__dialysis-heading .eyebrow,
.service-page--dialysis .service-page__dialysis-heading h2 { grid-column: 1; }
.service-page--dialysis .service-page__dialysis-heading h2 { margin: .8rem 0 0; }
.service-page--dialysis .service-page__dialysis-heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: end; max-width: 36rem; margin: 0; color: var(--body-text); font-size: var(--font-size-body); line-height: 1.7; }
.service-page--dialysis .service-page__supporting-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); border-radius: .65rem; background: var(--line); overflow: hidden; }
.service-page--dialysis .service-page__supporting-grid > article { position: relative; display: grid; min-height: 15rem; grid-template-columns: 3rem minmax(0, 1fr); gap: 1.1rem; align-content: start; padding: clamp(1.5rem, 2.4vw, 2rem); border: 0; border-radius: 0; background: var(--surface); box-shadow: none; transition: background-color .18s ease; }
.service-page--dialysis .service-page__supporting-grid > article:hover { background: var(--surface-subtle); box-shadow: none; transform: none; }
.service-page--dialysis .service-page__supporting-grid > article::before,
.service-page--dialysis .service-page__supporting-grid > article::after { display: none; }
.service-page--dialysis .service-page__supporting-icon { display: grid; width: 3rem; height: 3rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); }
.service-page--dialysis .service-page__supporting-icon svg { width: 1.3rem; height: 1.3rem; }
.service-page--dialysis .service-page__supporting-grid > article > div { display: block; min-width: 0; }
.service-page--dialysis .service-page__supporting-grid h3 { min-height: 3rem; margin: 0; color: var(--ink); font-size: clamp(1.2rem, 1.35vw, 1.4rem); line-height: 1.25; }
.service-page--dialysis .service-page__supporting-grid p { margin: .75rem 0 0; padding: 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.65; }
.service-page__dialysis-services-next { display: flex; gap: 1.25rem; align-items: center; justify-content: space-between; padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; margin-top: 1.5rem; background: transparent; }
.service-page__dialysis-services-next > div { display: grid; gap: .2rem; }
.service-page__dialysis-services-next strong { color: var(--ink); }
.service-page__dialysis-services-next span { color: var(--body-text); font-size: var(--font-size-small); }
.service-page__dialysis-services-next .button { flex: 0 0 auto; border-color: var(--rugare-brand-blue); }
.service-page--dialysis .service-page__body > .container > section + section,
.service-page--dialysis .service-page__body > .container > aside { margin-top: 3rem; }
.service-page .notice { display: grid; grid-template-columns: 1.5rem 1fr; gap: .85rem; padding: clamp(1rem, 3vw, 1.5rem); }
.service-page .notice > span { color: var(--theme-blue-text); }
.service-page .notice > span svg { display: block; width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page .notice h2 { font-size: var(--font-size-h3); }
.service-page .notice h2 { margin: 0 0 .45rem; line-height: 1.25; }
.service-page .notice p { max-width: 72ch; margin-top: 0; color: var(--body-text); line-height: 1.65; }
.notice--info { border-color: var(--theme-blue-text); background: var(--color-blue-surface); }
.notice--success { border-color: var(--color-health-green); background: var(--surface); }
.service-page__notice-label { color: var(--ink); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.service-page__unit { background: var(--color-medical-blue) !important; color: var(--rugare-white); border: 0 !important; }
.service-page__unit h2, .service-page__unit h3 { color: var(--rugare-white); }
.service-page__unit .section-heading--split > p, .service-page__unit p { color: var(--rugare-white); }
.service-page__unit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 2rem; background: rgb(255 255 255 / 16%); }
.service-page__unit-grid article { padding: 1.25rem; background: var(--color-medical-blue); }
.service-page__unit-grid article > span { padding-top: .35rem; border-top: 2px solid var(--rugare-health-green); color: var(--rugare-white); font-family: var(--display); font-size: var(--font-size-h4); }
.service-page__unit-grid h3 { margin: .75rem 0 .5rem; font-size: var(--font-size-h4); }
.service-page--dialysis .service-page__dialysis-why { padding: 0 !important; overflow: hidden; border-radius: .85rem; background: var(--rugare-navy) !important; }
.service-page__dialysis-why-layout { display: grid; grid-template-columns: minmax(19rem, .82fr) minmax(0, 1.48fr); min-height: 43rem; }
.service-page__dialysis-why-media { position: relative; min-height: 100%; overflow: hidden; background: #082f49; }
.service-page__dialysis-why-picture,
.service-page__dialysis-why-picture picture,
.service-page__dialysis-why-picture img { display: block; width: 100%; height: 100%; }
.service-page__dialysis-why-picture img { object-fit: cover; object-position: 48% center; }
.service-page__dialysis-why-media::after { position: absolute; inset: 42% 0 0; background: linear-gradient(180deg, transparent, rgb(5 38 60 / 86%)); content: ''; pointer-events: none; }
.service-page__dialysis-why-note { position: absolute; z-index: 1; right: clamp(1.25rem, 3vw, 2rem); bottom: clamp(1.25rem, 3vw, 2rem); left: clamp(1.25rem, 3vw, 2rem); padding-top: 1rem; border-top: 2px solid var(--rugare-health-green); margin: 0 !important; color: var(--rugare-white) !important; font-size: var(--font-size-small); font-weight: 650; line-height: 1.55; }
.service-page__dialysis-why-content { padding: clamp(2rem, 4vw, 3.5rem); }
.service-page__dialysis-why-heading { max-width: 43rem; margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.service-page__dialysis-why-heading h2 { max-width: 16ch; margin: 1rem 0 0; color: var(--rugare-white); font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.08; }
.service-page__dialysis-why-heading > p:last-child { max-width: 39rem; margin: 1rem 0 0; color: rgb(255 255 255 / 78%) !important; font-size: var(--font-size-body); line-height: 1.65; }
.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 0; background: transparent; }
.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid article { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .85rem; padding: 1rem; border: 1px solid rgb(255 255 255 / 13%); border-radius: .5rem; background: rgb(255 255 255 / 6%); }
.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid article > span { font-family: var(--font-body); font-size: .75rem; font-weight: 750; letter-spacing: .06em; color: #b7e579; }
.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid h3 { margin: .1rem 0 .4rem; color: var(--rugare-white); font-size: 1.05rem; line-height: 1.3; }
.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid p { margin: 0; color: rgb(255 255 255 / 72%); font-size: .875rem; line-height: 1.55; }
.service-page__medical-aid { margin-top: 2rem; color: var(--ink); }
.service-page__journey-support { display: grid; grid-template-columns: minmax(16rem, .55fr) minmax(0, 1fr); gap: 2rem clamp(2rem, 6vw, 5rem); }
.service-page__journey-support ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 0; }
.service-page__journey-support li { display: grid; grid-template-columns: 1.5rem 1fr; gap: .8rem; }
.service-page__journey-support h3, .service-page__journey-support p { margin: 0; }
.service-page__journey-support p { color: var(--muted); }
.service-page__journey-support-closing { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 1.15rem 2.5rem 1.15rem 0; color: var(--ink); font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span::before, .faq-list summary span::after { position: absolute; top: 50%; right: .25rem; width: 1rem; height: 2px; background: var(--color-medical-blue); content: ''; }
.faq-list summary span::after { transform: rotate(90deg); }
.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details > p { max-width: 58rem; margin: 0; padding: 0 2rem 1.2rem 0; color: var(--muted); }
.service-page__related { overflow: hidden; border-radius: .85rem; box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.service-page__related-heading { max-width: 60rem; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.service-page__related-heading .eyebrow { justify-content: center; }
.service-page__related-heading h2 { max-width: 18ch; margin-inline: auto; color: var(--ink); }
.service-page__related-heading > p:last-child { max-width: 43rem; margin: 1rem auto 0; color: var(--body-text); line-height: 1.7; }
.service-page__related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; border: 0; background: transparent; }
.service-page__related--3 .service-page__related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-page__related-grid > a { position: relative; display: flex; min-width: 0; min-height: 18rem; flex-direction: column; padding: clamp(1.35rem, 2.5vw, 1.8rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .65rem; background: var(--surface-subtle); color: var(--ink); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.service-page__related-grid > a:nth-child(even) { border-top-color: var(--rugare-health-green); }
.service-page__related-grid > a:hover { border-color: rgb(11 126 188 / 45%); box-shadow: 0 .85rem 2rem rgb(11 58 91 / 10%); transform: translateY(-3px); }
.service-page__related-grid > a:focus-visible { outline: 3px solid var(--rugare-health-green); outline-offset: 3px; }
.service-page__related-icon { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); }
.service-page__related-grid > a:nth-child(even) .service-page__related-icon { background: var(--color-green-surface); color: var(--theme-green-text); }
.service-page__related-grid svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-page__related-grid strong { margin-top: 1.15rem; color: var(--ink); font-family: var(--display); font-size: 1.2rem; line-height: 1.3; }
.service-page__related-grid p { display: -webkit-box; margin: .8rem 0 1.5rem; overflow: hidden; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.service-page__related-link { display: inline-flex; gap: .45rem; align-items: center; margin-top: auto; color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 750; }
.service-page__related-link > span { display: inline-flex; transition: transform .18s ease; }
.service-page__related-link svg { width: 1rem; height: 1rem; }
.service-page__related-grid > a:hover .service-page__related-link > span { transform: translateX(.2rem); }
.service-page__cover-options ul { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.service-page__cover-options li { padding: .55rem .75rem; background: var(--color-blue-surface); font-size: var(--font-size-small); font-weight: 700; }
.service-page__disclaimer { margin-bottom: 0; }

/* Services enquiry */
:is(.services-overview, .service-page) .service-enquiry { background: rgb(16 118 184 / 3%); }
:is(.services-overview, .service-page) .service-enquiry__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(22rem, 1.28fr); gap: clamp(2rem, 6vw, 6rem); }
:is(.services-overview, .service-page) .service-enquiry__intro h2 { margin: 0 0 1.25rem; }
:is(.services-overview, .service-page) .service-enquiry__form-wrap { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--surface); box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 10%); }
.service-mobile-bar { display: none; }
.service-page > .service-mobile-bar .button { min-height: 2.75rem; }
:is(#service-enquiry, #homecare-assessment, #ambulance-planned-transport, #insurance-quote) { scroll-margin-top: 6rem; }

/* Contact and appointments */
.contact-page__hero { position: relative; isolation: isolate; display: grid; min-height: clamp(42rem, 72vh, 46rem); overflow: hidden; border-bottom: 4px solid var(--rugare-health-green); background: var(--rugare-navy); color: var(--rugare-white); }
.contact-page__hero .page-banner { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; }
.contact-page__hero picture, .contact-page__hero img { width: 100%; height: 100%; object-fit: cover; object-position: center center; filter: saturate(.98) contrast(1.02); }
.contact-page__hero::after { position: absolute; z-index: -1; inset: 0; background: var(--hero-overlay); content: ''; }
.contact-page__hero .contact-page__hero-inner { display: grid; align-content: center; max-width: none; min-height: inherit; padding-block: clamp(3.5rem, 6vw, 5.25rem); text-align: left; }
.contact-page__hero-copy { max-width: 49rem; }
.contact-page__hero-eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.contact-page__hero-eyebrow::before { width: 2.5rem; height: 2px; background: currentColor; content: ''; }
.contact-page__hero h1 { max-width: 10ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-h1); }
.contact-page__hero-lead { max-width: 40rem; margin: 1.15rem 0 0; color: rgb(255 255 255 / 88%); font-size: var(--font-size-lead); line-height: 1.6; }
.contact-page__hero-facts { display: grid; max-width: 49rem; grid-template-columns: .8fr 1.1fr 1.7fr; margin: 1.5rem 0 0; border-block: 1px solid rgb(255 255 255 / 28%); background: rgb(11 58 91 / 18%); backdrop-filter: blur(6px); }
.contact-page__hero-facts > div { min-width: 0; padding: .9rem 1rem .9rem 0; }
.contact-page__hero-facts > div + div { padding-left: 1rem; border-left: 1px solid rgb(255 255 255 / 28%); }
.contact-page__hero-facts dt { display: flex; align-items: center; gap: .4rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.contact-page__hero-facts dt .icon { width: .95rem; height: .95rem; }
.contact-page__hero-facts dd { margin: .38rem 0 0; color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-line; }
.contact-page__hero-facts a { color: inherit; text-decoration-color: rgb(255 255 255 / 48%); }
.contact-page__hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.contact-page__hero-actions .button { min-height: 3.25rem; padding-inline: 1.25rem; }
.contact-page__hero .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--theme-blue-text); }
.contact-page__hero .button--primary:hover { border-color: var(--rugare-health-green); background: var(--rugare-health-green); color: var(--ink); }
.contact-page__hero .button--outline { border-color: rgb(255 255 255 / 58%); background: transparent; color: var(--rugare-white); }
.contact-page__hero .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--ink); }
.contact-page__hero-note { max-width: 38rem; margin: .85rem 0 0; color: rgb(255 255 255 / 78%); font-size: var(--font-size-small); }
.contact-page__overview { background: var(--surface-subtle); }
.contact-page__overview-grid,
.contact-page__map-grid,
.contact-page__support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-page__panel { padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid var(--line); background: var(--paper); }
.contact-page__overview-grid { align-items: start; gap: clamp(1rem, 2vw, 1.5rem); }
.contact-page__overview .contact-page__panel { position: relative; overflow: hidden; padding: clamp(1.75rem, 3vw, 2.5rem); border-radius: .65rem; box-shadow: 0 .65rem 1.8rem rgb(11 58 91 / 5%); }
.contact-page__overview .contact-page__panel::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.contact-page__overview .contact-page__panel--hours::before { background: var(--rugare-health-green); }
.contact-page__overview .contact-page__panel h2 { margin: 0 0 clamp(1.5rem, 3vw, 2rem); }
.contact-page__detail-list { display: grid; gap: 1rem; margin: 1.1rem 0 1.25rem; }
.contact-page__detail-list div { display: grid; gap: .35rem; }
.contact-page__detail-list dt { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-page__detail-list dd { margin: 0; color: var(--ink); font-size: var(--font-size-body); font-weight: 700; }
.contact-page__detail-list a, .contact-page__detail-list address { color: inherit; font-style: normal; }
.contact-page__phone-list { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: .25rem 1.25rem; margin: 0; padding: 0; list-style: none; }
.contact-page__phone-list a { display: inline-flex; min-height: 2.25rem; align-items: center; text-decoration-thickness: 1px; text-decoration-color: color-mix(in srgb, currentColor 38%, transparent); }
.location-map__hours--stacked { grid-template-columns: 1fr; }
.location-map__hours--stacked > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
.contact-page__panel--hours .location-map__hours { margin-bottom: 0; }
.contact-page__steps { display: grid; gap: .85rem; padding-left: 1.25rem; margin: 1rem 0 0; color: var(--muted); }
.contact-page__map-frame { overflow: hidden; border: 1px solid var(--line); min-height: 100%; background: var(--paper); }
.contact-page__map-frame iframe { display: block; width: 100%; height: 100%; min-height: 28rem; border: 0; }
.contact-page__map-actions, .contact-page__help-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.contact-page__support-grid h3 { margin: 1rem 0 .35rem; font-size: var(--font-size-h4); }
.general-enquiry .service-enquiry__form-heading h3 { max-width: 28rem; }
.contact-page__service-selector { position: relative; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.contact-page__service-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .78fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(2rem, 4vw, 3rem); margin-bottom: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--line); }
.contact-page__service-title .eyebrow { margin-bottom: 1rem; }
.contact-page__service-title h2 { max-width: 13ch; margin: 0; font-size: var(--font-size-h2); }
.contact-page__service-introduction > p:first-child { max-width: 39rem; margin: 0; color: var(--muted); font-size: var(--font-size-body); line-height: 1.75; }
.contact-page__service-boundary { display: flex; align-items: center; gap: .5rem; padding: 1rem 0 0; margin: 1.25rem 0 0; border-top: 1px solid var(--line); color: var(--body-text); font-size: var(--font-size-micro); font-weight: 700; }
.contact-page__service-boundary span { width: .7rem; height: .7rem; flex: 0 0 .7rem; border: 2px solid var(--color-medical-blue); background: var(--color-blue-surface); }
.contact-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.8rem, 1.5vw, 1.15rem); }
.contact-service-card { position: relative; display: grid; min-width: 0; min-height: 15rem; grid-template-columns: 1fr; grid-template-rows: auto 1fr; padding: clamp(1.25rem, 2vw, 1.5rem); overflow: hidden; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface); color: var(--ink); box-shadow: 0 .35rem 1.1rem rgb(11 58 91 / 4%); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.contact-service-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-health-green); content: ''; }
.contact-service-card--partner::before, .contact-service-card--referral::before, .contact-service-card--introduction::before { background: var(--rugare-brand-blue); }
.contact-service-card:hover, .contact-service-card:focus-visible { border-color: color-mix(in srgb, var(--rugare-brand-blue) 55%, var(--line)); background: var(--surface); color: var(--ink); box-shadow: 0 .85rem 2rem rgb(11 58 91 / 10%); text-decoration: none; transform: translateY(-.2rem); }
.contact-service-card__top { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }
.contact-service-card__icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center start; color: var(--theme-blue-text); }
.contact-service-card__icon svg { width: 1.75rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-service-card__number { justify-self: end; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; }
.contact-service-card__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; margin-top: 1.15rem; }
.contact-service-card strong { max-width: 20ch; font-family: var(--display); font-size: var(--font-size-h4); letter-spacing: -.025em; line-height: 1.12; }
.contact-service-card small { width: fit-content; padding: .3rem .5rem; margin-top: .7rem; border-left: 2px solid var(--rugare-health-green); background: var(--color-green-surface); color: var(--theme-green-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .07em; line-height: 1.3; text-transform: uppercase; }
.contact-service-card--partner small, .contact-service-card--referral small, .contact-service-card--introduction small { border-left-color: var(--rugare-brand-blue); background: var(--color-blue-surface); color: var(--theme-blue-text); }
.contact-service-card__summary { display: -webkit-box; margin-top: .8rem; overflow: hidden; color: var(--muted); font-size: var(--font-size-small); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.contact-service-card__action { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .8rem; margin-top: auto; border-top: 1px solid var(--line); color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 700; }
.contact-service-card__arrow { display: grid; width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; place-items: center; color: currentColor; transition: color .2s ease, transform .2s ease; }
.contact-service-card__arrow svg { width: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-service-card:hover .contact-service-card__arrow, .contact-service-card:focus-visible .contact-service-card__arrow { color: var(--theme-green-text); transform: translateX(.2rem); }
.contact-page > .service-enquiry { position: relative; padding-block: var(--section-space); border-bottom: 1px solid var(--line); background: var(--surface); }
.contact-page > .service-enquiry[id] { scroll-margin-top: calc(var(--sticky-header-offset) + 1rem); }
#contact-details { scroll-margin-top: calc(var(--sticky-header-offset) + 1rem); }
.contact-page > .service-enquiry .service-enquiry__grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(22rem, 1.35fr); gap: clamp(2rem, 6vw, 6rem); }
.contact-page > .service-enquiry .service-enquiry__intro { align-self: start; }
.contact-page > .service-enquiry .service-enquiry__intro h2 { max-width: 11ch; margin: 0 0 1rem; font-size: var(--font-size-h2); }
.contact-page > .service-enquiry .service-enquiry__intro > p { color: var(--muted); }
.contact-page > .service-enquiry .service-enquiry__intro .notice { padding: .8rem 1rem; background: transparent; }
.contact-page > .service-enquiry .service-enquiry__form-wrap { position: relative; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-health-green); border-radius: .35rem; background: var(--surface-subtle); box-shadow: 0 1.25rem 3.5rem rgb(11 58 91 / 8%); }
.contact-page > .service-enquiry .service-enquiry__form-wrap::after { position: absolute; top: -3px; right: 0; width: 72%; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.contact-page > .service-enquiry--compact .service-enquiry__grid { width: min(78rem, calc(100% - (2 * var(--gutter)))); grid-template-columns: minmax(0, 1fr); margin-inline: auto; }
.contact-page > .service-enquiry--compact .service-enquiry__form-wrap { border-top: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .85rem 2.25rem rgb(11 58 91 / 7%); }
.contact-page > .service-enquiry--compact .service-enquiry__form-wrap::after { display: none; }
.location-map { position: relative; background: var(--surface); }
.location-map__grid { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); box-shadow: 0 .5rem 1.25rem rgb(11 58 91 / 6%); }
.location-map__grid::before { position: absolute; z-index: 2; top: 0; right: 0; left: 0; height: 4px; background: var(--rugare-brand-blue); content: ''; pointer-events: none; }
.location-map__grid--simple { grid-template-columns: 1fr; }
.location-map__copy { display: grid; align-content: center; padding: clamp(2.25rem, 5vw, 4.5rem); }
.location-map__copy h2 { max-width: 12ch; margin: 0 0 1rem; }
.location-map__copy > p { color: var(--muted); }
.location-map__copy address { max-width: 38rem; margin-block: .7rem 1.5rem; font-style: normal; font-weight: 700; white-space: pre-line; }
.location-map__hours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .5rem 0 1.5rem; border-block: 1px solid var(--line); }
.location-map__grid--with-map .location-map__hours { grid-template-columns: 1fr; }
.location-map__hours > div { min-width: 0; padding: .85rem 1rem .85rem 0; }
.location-map__hours > div + div { padding-left: 1rem; border-left: 1px solid var(--line); }
.location-map__grid--with-map .location-map__hours > div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
.location-map__hours dt { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.location-map__hours dd { margin: .3rem 0 0; color: var(--muted); font-size: var(--font-size-small); font-weight: 700; line-height: 1.5; }
.location-map__copy .button { width: fit-content; justify-self: start; }
.location-map__frame { position: relative; min-width: 0; min-height: clamp(34rem, 42vw, 44rem); overflow: hidden; border-left: 1px solid var(--line); background: var(--color-blue-surface); }
.location-map__frame iframe { display: block; width: 100%; height: 100%; min-height: clamp(34rem, 42vw, 44rem); border: 0; filter: saturate(.92) contrast(1.03); }
.location-map__external { position: absolute; z-index: 2; top: 1.25rem; right: 1.25rem; display: inline-flex; min-height: 2.75rem; align-items: center; gap: .55rem; padding: .65rem .85rem; border: 1px solid rgb(255 255 255 / 72%); border-radius: var(--action-radius); background: rgb(11 58 91 / 88%); color: var(--rugare-white); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 22%); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; backdrop-filter: blur(12px); }
.location-map__external:hover, .location-map__external:focus-visible { border-color: var(--rugare-health-green); background: var(--rugare-brand-blue); color: var(--rugare-white); text-decoration: none; }
.location-map__external .icon { width: 1rem; height: 1rem; }

:is(.service-page__hero, .page-hero--media, .contact-page__hero) .eyebrow { color: var(--rugare-health-green); }
:is(.service-page__unit, .site-footer) .eyebrow { color: var(--rugare-white); }
:is(.service-page__hero, .page-hero--media, .contact-page__hero, .service-page__unit, .site-footer) .eyebrow > span { background: var(--rugare-health-green); }
:is(.why-rugare, .service-page__unit) .trust-point > span { color: var(--rugare-health-green); }
:is(.topbar, .site-footer) :focus-visible { outline-color: var(--rugare-white); }

/* Shared interior pages */
.page-hero--compact, .article-hero { position: relative; isolation: isolate; display: grid; min-height: clamp(30rem, 56vh, 38rem); overflow: hidden; border-bottom: 4px solid var(--rugare-health-green); background: var(--rugare-navy); color: var(--rugare-white); }
.page-hero--compact .page-banner, .article-hero .page-banner { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; }
.page-hero--compact picture, .page-hero--compact img, .article-hero picture, .article-hero img { width: 100%; height: 100%; object-fit: cover; }
.page-hero--compact::after, .article-hero::after { position: absolute; z-index: -1; inset: 0; background: var(--hero-overlay); content: ''; }
.page-hero--compact .page-hero__inner, .article-hero__inner, .page-hero--media > .page-hero__inner { display: grid; align-content: center; max-width: 49rem; min-height: inherit; padding-block: clamp(3.5rem, 7vw, 6rem); }
:is(.page-hero--compact, .article-hero) h1 { max-width: 14ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-display); }
:is(.page-hero--compact, .article-hero) .eyebrow { color: var(--rugare-brand-blue); }
:is(.page-hero--compact, .article-hero) .page-hero__inner > p:last-child { max-width: 43rem; margin: 1.25rem 0 0; color: rgb(255 255 255 / 92%); font-size: var(--font-size-lead); line-height: 1.65; }
.prose { max-width: var(--reading-measure); color: var(--body-text); font-size: var(--font-size-body); }
.prose > *:first-child { margin-top: 0; }
.prose > *:last-child { margin-bottom: 0; }
.prose :is(h2, h3, h4) { margin-top: 2em; color: var(--ink); }
.prose h2 { font-size: var(--font-size-h2); }
.prose h3 { font-size: var(--font-size-h3); }
.prose a { font-weight: 700; }
.prose :is(blockquote, table, pre) { margin-block: 2rem; }
.prose blockquote { padding: 1rem 1.5rem; border-left: 3px solid var(--ink); background: var(--color-blue-surface); color: var(--ink); }
.prose table { width: 100%; border-collapse: collapse; }
.prose :is(th, td) { padding: .75rem; border: 1px solid var(--line); text-align: left; }
.entry__content, .single-entry .entry__content { width: min(72rem, calc(100% - (2 * var(--gutter)))); }
.page-links { display: flex; gap: .5rem; margin-top: 2rem; }

/* WordPress block styles */
.wp-block-button.is-style-rugare-green .wp-element-button { border: 1px solid var(--rugare-brand-blue); background: var(--surface); color: var(--theme-blue-text); box-shadow: inset 0 -.2rem var(--rugare-health-green); }
.wp-block-button.is-style-rugare-green .wp-element-button:hover { border-color: var(--ink); background: var(--surface); color: var(--ink); }
.wp-block-button.is-style-rugare-secondary .wp-element-button { border-color: var(--ink); background: var(--rugare-navy); color: var(--rugare-white); }
.wp-block-button.is-style-rugare-secondary .wp-element-button:hover { border-color: var(--theme-blue-text); background: var(--rugare-brand-blue); color: var(--rugare-white); }
.wp-block-group[class*='is-style-rugare-'][class*='-panel'] { padding: 1rem 1.5rem; border: 1px solid var(--line); border-inline-start-width: 4px; background: var(--surface); color: var(--ink); }
.wp-block-group.is-style-rugare-info-panel { border-inline-start-color: var(--theme-blue-text); }
.wp-block-group.is-style-rugare-success-panel { border-inline-start-color: var(--rugare-health-green); }
.wp-block-group:is(.is-style-rugare-warning-panel, .is-style-rugare-error-panel) { border-inline-start-color: var(--ink); }
.wp-block-image.is-style-rugare-framed { border: 1px solid var(--line); background: var(--surface); }
p[class*='is-style-rugare-badge-'] { display: inline-flex; width: fit-content; padding: .3rem .65rem; border: 1px solid var(--rugare-brand-blue); background: var(--surface); color: var(--ink); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
p.is-style-rugare-badge-direct { border-inline-start: 3px solid var(--rugare-health-green); }
.card--blue { border-inline-start: 4px solid var(--rugare-brand-blue); background: var(--surface); }
.card--green { border-inline-start: 4px solid var(--rugare-health-green); background: var(--surface); }
.card--navy { border-inline-start: 4px solid var(--rugare-navy); background: var(--surface); color: var(--ink); }

/* WordPress core retains legacy preset classes for stored block content. */
:is(.has-black-color, .has-cyan-bluish-gray-color, .has-pale-pink-color, .has-vivid-red-color, .has-luminous-vivid-orange-color, .has-luminous-vivid-amber-color, .has-light-green-cyan-color, .has-vivid-green-cyan-color, .has-pale-cyan-blue-color, .has-vivid-cyan-blue-color, .has-vivid-purple-color, .has-very-light-gray-color, .has-very-dark-gray-color) { color: var(--ink) !important; }
:is(.has-black-background-color, .has-cyan-bluish-gray-background-color, .has-pale-pink-background-color, .has-vivid-red-background-color, .has-luminous-vivid-orange-background-color, .has-luminous-vivid-amber-background-color, .has-light-green-cyan-background-color, .has-vivid-green-cyan-background-color, .has-pale-cyan-blue-background-color, .has-vivid-cyan-blue-background-color, .has-vivid-purple-background-color, .has-very-light-gray-background-color, .has-very-dark-gray-background-color) { background-color: var(--surface) !important; color: var(--ink) !important; }
:is(.has-black-border-color, .has-cyan-bluish-gray-border-color, .has-pale-pink-border-color, .has-vivid-red-border-color, .has-luminous-vivid-orange-border-color, .has-luminous-vivid-amber-border-color, .has-light-green-cyan-border-color, .has-vivid-green-cyan-border-color, .has-pale-cyan-blue-border-color, .has-vivid-cyan-blue-border-color, .has-vivid-purple-border-color) { border-color: var(--theme-blue-text) !important; }
:is(.has-vivid-cyan-blue-to-vivid-purple-gradient-background, .has-light-green-cyan-to-vivid-green-cyan-gradient-background, .has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background, .has-luminous-vivid-orange-to-vivid-red-gradient-background, .has-very-light-gray-to-cyan-bluish-gray-gradient-background, .has-cool-to-warm-spectrum-gradient-background, .has-blush-light-purple-gradient-background, .has-blush-bordeaux-gradient-background, .has-luminous-dusk-gradient-background, .has-pale-ocean-gradient-background, .has-electric-grass-gradient-background, .has-midnight-gradient-background) { background: var(--rugare-brand-blue) !important; color: var(--rugare-white) !important; }

/* About */
.about-page { background: var(--surface); }
.about-page > section { border-bottom: 1px solid var(--line); }
.about-page__hero { padding-block: 0; background: var(--rugare-navy); }
.about-page__hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; }
.about-page__hero-copy { max-width: 49rem; }
.about-page__hero-copy h1 { max-width: 11ch; margin-bottom: 1rem; color: var(--rugare-white); font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.about-page__hero-copy > p:not(.about-page__hero-lead) { max-width: 38rem; color: rgb(255 255 255 / 86%); line-height: 1.7; }
.about-page__hero-lead { max-width: 40rem; margin: 0 0 1rem; color: var(--rugare-white); font-size: var(--font-size-lead); line-height: 1.55; }
.about-page__hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.about-page__hero-trust { display: flex; flex-wrap: wrap; gap: .75rem 1.4rem; margin: 1.5rem 0 0; padding: 1rem 0 0; border-top: 1px solid rgb(255 255 255 / 24%); color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; list-style: none; }
.about-page__hero-trust li { position: relative; padding-left: 1rem; }
.about-page__hero-trust li::before { position: absolute; top: .55rem; left: 0; width: .35rem; height: .35rem; background: var(--rugare-health-green); content: ''; }
.about-page__hero-media { margin: 0; }
.about-page__hero-media img { width: 100%; height: clamp(22rem, 38vw, 34rem); object-fit: cover; object-position: center; border: 1px solid var(--line); border-radius: .45rem; }
.about-page__hero .button--primary { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy); }
.about-page__hero .button--primary:hover { background: var(--color-blue-hover); color: var(--rugare-white); }
.about-page__hero .button--outline { border-color: rgb(255 255 255 / 58%); background: transparent; color: var(--rugare-white); }

.about-page__overview { background: var(--surface); }
.about-overview__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .72fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.about-overview__media { position: relative; margin: 0; }
.about-overview__media::after { position: absolute; right: -1rem; bottom: -1rem; z-index: 0; width: 42%; height: 42%; border-right: 3px solid var(--rugare-health-green); border-bottom: 3px solid var(--rugare-health-green); content: ''; pointer-events: none; }
.about-overview__media picture { position: relative; z-index: 1; display: block; }
.about-overview__media img { width: 100%; height: clamp(22rem, 34vw, 30rem); object-fit: cover; object-position: center; border-radius: .65rem; box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 10%); }
.about-overview__content { max-width: 38rem; }
.about-overview__content .eyebrow { margin-bottom: 1rem; }
.about-overview__content h2 { max-width: 12ch; margin: 0 0 1.1rem; font-size: var(--font-size-h2); }
.about-overview__content > p { color: var(--muted); line-height: 1.75; }
.about-overview__content > .home-intro__lead { color: var(--ink); font-family: var(--display); font-size: var(--font-size-lead); line-height: 1.45; }
.about-overview__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 2rem 0 0; border: 1px solid var(--line); border-radius: .5rem; background: var(--line); }
.about-overview__facts > div { padding: 1rem; background: var(--surface-subtle); }
.about-overview__facts > div + div { padding-left: 1rem; border-left: 0; }
.about-overview__facts dt { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.about-overview__facts dd { margin: .35rem 0 0; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; line-height: 1.5; }

.about-story { background: var(--surface-subtle); }
.about-story__grid { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.12fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.about-story__media { position: sticky; top: calc(var(--sticky-header-offset) + 1.25rem); margin: 0; }
.about-story__media img { width: 100%; height: clamp(26rem, 42vw, 36rem); object-fit: cover; border-radius: .65rem; box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 9%); }
.about-story__content { max-width: 42rem; }
.about-story__content h2 { max-width: 13ch; margin-bottom: 1.3rem; }
.about-story__content p { color: var(--muted); line-height: 1.8; }
.about-story__content p + p { margin-top: .95rem; }
.about-timeline__wrap { padding-top: clamp(2.5rem, 5vw, 4rem); }
.about-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.about-timeline__item { position: relative; min-height: 12rem; padding: 1.4rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); }
.about-timeline__item::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; background: var(--line); content: ''; }
.about-timeline__item::after { position: absolute; top: -.2rem; left: 1.4rem; width: .45rem; height: .45rem; background: var(--rugare-brand-blue); content: ''; }
.about-timeline__item:nth-child(2n)::after { background: var(--rugare-health-green); }
.about-timeline__number { display: inline-block; margin-bottom: .6rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; }
.about-timeline h3 { margin: 0 0 .55rem; font-size: 1.05rem; }
.about-timeline p { margin: 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.65; }

.about-purpose { position: relative; padding-block: clamp(4.5rem, 7vw, 6.5rem); }
.about-purpose--editorial { background: var(--surface); }
.about-purpose__editorial-grid { display: grid; grid-template-columns: minmax(12rem, .34fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 8rem); align-items: start; }
.about-purpose__editorial-copy { max-width: 44rem; }
.about-purpose__editorial-copy h2 { max-width: 14ch; margin: 0 0 1.2rem; font-size: var(--font-size-h2); }
.about-purpose__editorial-copy p { color: var(--muted); line-height: 1.78; }

.about-principles { background: var(--rugare-navy); color: var(--rugare-white); }
.about-principles__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; background: rgb(255 255 255 / 16%); }
.about-principles__column { position: relative; max-width: none; padding: clamp(2rem, 5vw, 4rem); background: var(--rugare-navy); }
.about-principles__column::before { position: absolute; top: 0; left: 0; width: 4rem; height: 3px; background: var(--rugare-health-green); content: ''; }
.about-principles__column:last-child::before { background: var(--rugare-brand-blue); }
.about-principles__column .eyebrow { color: var(--rugare-white); }
.about-principles__column .eyebrow > span { background: var(--rugare-health-green); }
.about-principles__column:last-child .eyebrow > span { background: #70c8ff; }
.about-principles__column h2 { max-width: 18ch; margin: 0 0 1rem; color: var(--rugare-white); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.12; }
.about-principles__column p { color: rgb(255 255 255 / 78%); line-height: 1.75; }
.about-principles__column small { color: rgb(255 255 255 / 62%); }

.about-values { background: var(--surface); }
.about-values__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .34fr); gap: 2.5rem; align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.about-values__header h2 { max-width: 13ch; margin: 1rem 0 0; font-size: var(--font-size-h2); }
.about-values__header-note { display: grid; gap: .45rem; padding: 1.25rem; border-left: 3px solid var(--rugare-health-green); background: var(--surface-subtle); }
.about-values__header-note strong { color: var(--ink); font-size: var(--font-size-body); }
.about-values__header-note p { margin: 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.65; }
.about-values__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.about-value { position: relative; display: grid; min-height: 11rem; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; padding: 1.4rem; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); }
.about-values__grid > :nth-last-child(-n + 2) { border-bottom: 1px solid var(--line); }
.about-value::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--rugare-brand-blue); content: ''; }
.about-value:nth-child(2n)::before { background: var(--rugare-health-green); }
.about-value__number { display: grid; width: 2rem; height: 2rem; place-items: center; padding-top: 0; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .05em; }
.about-value h3 { margin: 0; font-size: 1.15rem; }
.about-value p { margin: .55rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.7; }

.about-page__links { background: var(--surface-subtle); }
.about-page__links .section-heading { margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.about-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.about-service-item { position: relative; display: grid; min-height: 14rem; grid-template-rows: auto auto 1fr auto; padding: 1.4rem; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 4%); }
.about-service-item::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.about-service-item:nth-child(2n)::before { background: var(--rugare-health-green); }
.about-service-item__number { margin-bottom: 1.35rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; }
.about-service-item h3 { margin: 0; font-size: 1.1rem; }
.about-service-item p { margin: .55rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.65; }
.about-service-item a { display: inline-flex; width: fit-content; min-height: 2.75rem; align-items: center; gap: .4rem; margin-top: .9rem; color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; }
.about-service-item a span, .about-service-item a svg { width: 1rem; height: 1rem; transition: transform .18s ease; }
.about-service-item a:hover span, .about-service-item a:focus-visible span { transform: translateX(.2rem); }
.about-service-item a:hover { color: var(--ink); }

.about-community { background: var(--surface); }
.about-community__grid { display: grid; grid-template-columns: minmax(18rem, .8fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.about-community__media { margin: 0; }
.about-community__media img { width: 100%; height: clamp(22rem, 34vw, 28rem); object-fit: cover; border-radius: .65rem; box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 10%); }
.about-community__content { max-width: 34rem; }
.about-community__content h2 { max-width: 12ch; margin-bottom: 1rem; }
.about-community__content p { color: var(--muted); line-height: 1.75; }

.about-leadership { position: relative; overflow: hidden; border-top: 1px solid var(--line); background: var(--surface-subtle); }
.about-leadership::before { position: absolute; top: 0; right: 0; width: min(31vw, 30rem); height: min(31vw, 30rem); border: 1px solid rgb(16 118 184 / 8%); border-radius: 50%; content: ''; transform: translate(38%, -45%); pointer-events: none; }
.about-leadership__header { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(22rem, .72fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: end; padding-bottom: clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--line); }
.about-leadership__heading h2 { max-width: 13ch; margin: 0; font-size: var(--font-size-h2); }
.about-leadership__summary { display: grid; gap: 1.1rem; padding-left: 1.5rem; border-left: 3px solid var(--rugare-health-green); }
.about-leadership__summary p { max-width: 38rem; margin: 0; color: var(--body-text); font-size: var(--font-size-body); line-height: 1.7; }
.about-leadership__summary ul { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.about-leadership__summary li { display: inline-flex; min-height: 2rem; align-items: center; padding: .35rem .7rem; border: 1px solid rgb(16 118 184 / 18%); border-radius: 999px; background: rgb(255 255 255 / 72%); color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .02em; }
.about-leadership__body { display: grid; gap: clamp(1rem, 2vw, 1.5rem); padding-top: clamp(2rem, 5vw, 3.5rem); }
.about-leadership__feature { display: grid; grid-template-columns: minmax(10rem, .42fr) minmax(0, 1fr); border: 1px solid rgb(16 118 184 / 20%); border-radius: .75rem; overflow: hidden; background: var(--surface); box-shadow: 0 1.5rem 3.5rem rgb(11 58 91 / 8%); }
.about-leadership__feature-heading { display: flex; min-height: 100%; flex-direction: column; justify-content: space-between; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--rugare-navy); }
.about-leadership__feature-heading .eyebrow { color: var(--rugare-health-green); }
.about-leadership__feature-heading h3 { max-width: 9ch; margin: auto 0 0; color: var(--rugare-white); font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.1; }
.about-leadership__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.about-leadership__group { display: grid; align-content: start; gap: 1.25rem; padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--line); border-radius: .75rem; background: rgb(255 255 255 / 88%); box-shadow: 0 .85rem 2.4rem rgb(11 58 91 / 5%); }
.about-leadership__group-heading { display: grid; grid-template-columns: 2.3rem minmax(0, 1fr); gap: .9rem; align-items: start; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.about-leadership__group-heading > span { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .06em; }
.about-leadership__group-heading p { margin: 0 0 .15rem; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.about-leadership__group-heading h3 { margin: 0; font-size: var(--font-size-h4); }
.about-leadership__people { display: grid; gap: 1rem; }
.about-leader { display: grid; grid-template-columns: 6.25rem minmax(0, 1fr); gap: 1rem; align-items: center; min-width: 0; }
.about-leader + .about-leader { padding-top: 1rem; border-top: 1px solid var(--line); }
.about-leader--featured { grid-template-columns: minmax(13rem, 18rem) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); min-height: 24rem; padding: clamp(1rem, 2vw, 1.5rem); background: var(--surface); }
.about-leader__media { position: relative; width: 100%; overflow: hidden; border-radius: .55rem; background: var(--color-blue-surface); }
.about-leader__media::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--rugare-health-green); content: ''; }
.about-leader__photo-button { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--rugare-white); cursor: zoom-in; }
.about-leader__media img, .about-leader__placeholder { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--color-blue-surface); }
.about-leader__photo-button img { transition: transform .2s ease; }
.about-leader__photo-action { position: absolute; right: .6rem; bottom: .65rem; display: inline-flex; min-height: 2.15rem; align-items: center; gap: .35rem; padding: .4rem .55rem; border-radius: .25rem; background: rgb(11 58 91 / 88%); color: var(--rugare-white); opacity: 0; transform: translateY(.25rem); transition: opacity .18s ease, transform .18s ease; }
.about-leader__photo-action svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.about-leader__photo-action small { color: inherit; font-size: .75rem; font-weight: 700; line-height: 1; }
.about-leader__photo-button:hover img, .about-leader__photo-button:focus-visible img { transform: scale(1.025); }
.about-leader__photo-button:hover .about-leader__photo-action, .about-leader__photo-button:focus-visible .about-leader__photo-action { opacity: 1; transform: translateY(0); }
.about-leader__photo-button:focus-visible { outline: 3px solid var(--rugare-brand-blue); outline-offset: -3px; }
.about-leader:not(.about-leader--featured) .about-leader__media { border-radius: .45rem; }
.about-leader:not(.about-leader--featured) .about-leader__media img, .about-leader:not(.about-leader--featured) .about-leader__placeholder { aspect-ratio: 1 / 1; }
.about-leader--featured .about-leader__media img { object-position: center 20%; }
.about-leadership__group--chair .about-leader { grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr); }
.about-leadership__group--chair .about-leader__media img, .about-leadership__group--chair .about-leader__placeholder { aspect-ratio: 4 / 5; }
.about-leadership__group--chair .about-leader__media img { object-position: center 18%; }
.about-leader__placeholder { display: grid; place-items: center; border: 1px solid var(--line); color: var(--theme-blue-text); }
.about-leader__placeholder span { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgb(16 118 184 / 20%); border-radius: 50%; background: rgb(255 255 255 / 72%); font-family: var(--display); font-size: 1rem; font-weight: 700; letter-spacing: -.04em; }
.about-leader__body { min-width: 0; }
.about-leader__label { display: block; margin-bottom: .55rem; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.about-leader__body h4 { margin: 0; font-size: 1.15rem; line-height: 1.25; }
.about-leader--featured .about-leader__body h4 { max-width: 12ch; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.045em; line-height: 1.02; }
.about-leader__body .about-leader__role { margin: .4rem 0 0; color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 700; line-height: 1.5; }
.about-leader--featured .about-leader__role { max-width: 28rem; margin-top: .8rem; font-size: var(--font-size-lead); line-height: 1.4; }
.about-leader__bio { max-width: 38rem; margin: 1rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.7; }
.about-leadership__group--board-list { grid-column: 1 / -1; }
.about-leadership__board-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.about-leadership__board-grid .about-leader { grid-template-columns: 5.5rem minmax(0, 1fr); min-height: 8.25rem; padding: 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-leadership__board-grid .about-leader + .about-leader { padding-top: 1rem; border-top: 0; }
.about-leadership__board-grid .about-leader__media img, .about-leadership__board-grid .about-leader__placeholder { aspect-ratio: 1 / 1; }
.about-leadership__board-grid .about-leader__label { margin-bottom: .3rem; }
.about-board-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.about-board-list li { display: grid; min-width: 0; grid-template-columns: 2rem minmax(0, 1fr); gap: .85rem; align-items: start; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.about-board-list li:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--line); }
.about-board-list__number { color: var(--rugare-brand-blue); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .08em; }
.about-board-list__person { display: grid; gap: .2rem; }
.about-board-list strong { color: var(--ink); font-size: var(--font-size-body); line-height: 1.35; }
.about-board-list small { color: var(--muted); font-size: var(--font-size-small); line-height: 1.5; }
.about-leadership__source { max-width: 46rem; margin: 0; color: var(--muted); font-size: var(--font-size-micro); line-height: 1.6; }
.leadership-lightbox { width: min(68rem, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: visible; border: 0; border-radius: .75rem; background: var(--rugare-navy); color: var(--rugare-white); box-shadow: 0 2rem 6rem rgb(0 0 0 / 42%); }
.leadership-lightbox::backdrop { background: rgb(3 24 39 / 86%); backdrop-filter: blur(5px); }
.leadership-lightbox__toolbar { position: absolute; z-index: 2; top: .85rem; right: .85rem; }
.leadership-lightbox__close { display: grid; width: 3rem; height: 3rem; place-items: center; padding: 0; border: 1px solid rgb(255 255 255 / 50%); border-radius: 50%; background: rgb(11 58 91 / 90%); color: var(--rugare-white); font-size: 2rem; line-height: 1; cursor: pointer; }
.leadership-lightbox__close:hover { border-color: var(--rugare-health-green); background: var(--rugare-brand-blue); }
.leadership-lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; max-height: calc(100dvh - 2rem); margin: 0; }
.leadership-lightbox figure img { display: block; width: 100%; height: min(76dvh, 52rem); object-fit: contain; border-radius: .75rem .75rem 0 0; background: #061f30; }
.leadership-lightbox figcaption { display: grid; gap: .2rem; padding: 1rem 1.25rem 1.15rem; border-top: 1px solid rgb(255 255 255 / 18%); background: var(--rugare-navy); }
.leadership-lightbox figcaption strong { color: var(--rugare-white); font-size: var(--font-size-lead); }
.leadership-lightbox figcaption span { color: rgb(255 255 255 / 76%); font-size: var(--font-size-small); }

.about-final-cta { background: var(--rugare-navy); color: var(--rugare-white); }
.about-final-cta__inner { max-width: 52rem; margin: 0 auto; text-align: center; }
.about-final-cta .eyebrow { justify-content: center; color: var(--rugare-health-green); }
.about-final-cta h2 { margin: 0 0 1rem; color: var(--rugare-white); font-size: clamp(2.2rem, 4vw, 3.7rem); line-height: 1.06; }
.about-final-cta p { color: rgb(255 255 255 / 76%); line-height: 1.7; }
.about-final-cta__actions { justify-content: center; }
.about-final-cta .button--primary { background: var(--rugare-white); color: var(--rugare-navy); border-color: var(--rugare-white); }
.about-final-cta .button--primary:hover { background: var(--rugare-brand-blue); border-color: var(--rugare-brand-blue); color: var(--rugare-white); }
.about-final-cta .button--outline { border-color: rgb(255 255 255 / 48%); background: transparent; color: var(--rugare-white); }
.about-final-cta .button--outline:hover { background: var(--rugare-white); color: var(--rugare-navy); }
.about-final-cta__contact { display: grid; gap: .4rem; margin-top: 1.6rem; }
.about-final-cta__contact :is(a, p, address) { margin: 0; color: rgb(255 255 255 / 82%); font-size: var(--font-size-small); font-style: normal; text-decoration: none; }
.about-final-cta__contact a:hover { color: var(--rugare-white); }
.authentic-media figcaption, .about-gallery figcaption { padding-top: .65rem; color: var(--muted); font-size: var(--font-size-small); }
.about-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.about-gallery figure { min-width: 0; margin: 0; }
.about-gallery figure img { width: 100%; height: 20rem; object-fit: cover; }
.about-gallery figure:nth-child(3n + 2) img { height: 25rem; }
.about-gallery--curated figcaption { display: grid; gap: .2rem; }

/* Site-wide appointment CTA and compact appointment form */
.contact-actions { position: relative; padding-block: clamp(2.25rem, 4vw, 3.75rem); overflow: hidden; border-top: 1px solid var(--line); background: var(--rugare-navy); color: var(--rugare-white); }
.contact-actions::before { position: absolute; top: 0; bottom: 0; left: 0; width: .3rem; background: var(--rugare-health-green); content: ''; }
.contact-actions__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(1.5rem, 5vw, 5rem); }
.contact-actions__content { max-width: 52rem; }
.contact-actions__eyebrow { margin: 0 0 .55rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-actions h2 { margin: 0; color: var(--rugare-white); font-size: var(--font-size-h3); }
.contact-actions__content > p:last-child { max-width: 47rem; margin: .65rem 0 0; color: rgb(255 255 255 / 76%); font-size: var(--font-size-small); line-height: 1.6; }
.contact-actions__actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem 1.5rem; }
.contact-actions__actions .button { min-width: 14rem; border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy); white-space: nowrap; }
.contact-actions__actions .button:hover { border-color: var(--rugare-brand-blue); background: var(--rugare-brand-blue); color: var(--rugare-white); }
.contact-actions__actions .icon { width: 1rem; height: 1rem; }
.contact-actions__call { display: grid; gap: .05rem; color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; white-space: nowrap; }
.contact-actions__call span { color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-actions__call:hover { color: var(--rugare-white); }
.service-enquiry--compact .service-enquiry__grid { grid-template-columns: 1fr; }
.service-enquiry--compact .service-enquiry__intro { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.service-enquiry--compact .service-enquiry__form-wrap { position: relative; padding: clamp(1.5rem, 3vw, 2.5rem); overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .85rem 2.25rem rgb(11 58 91 / 7%); }
.service-enquiry--compact .service-enquiry__form-wrap::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.service-enquiry--compact .service-enquiry__form-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.service-enquiry--compact .service-enquiry__form-heading-main { display: flex; min-width: 0; align-items: center; gap: .85rem; }
.service-enquiry--compact .service-enquiry__form-heading-main > span { display: grid; width: 1.5rem; height: 1.5rem; flex: 0 0 1.5rem; place-items: center; color: var(--rugare-brand-blue); }
.service-enquiry--compact .service-enquiry__form-heading-main svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.service-enquiry--compact .service-enquiry__form-heading p { margin: 0 0 .3rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.service-enquiry--compact .service-enquiry__form-heading h3 { margin: 0; color: var(--ink); font-size: clamp(1.4rem, 2vw, 1.75rem); line-height: 1.25; }
.service-enquiry--compact .service-enquiry__form-heading small { flex: 0 0 auto; color: var(--muted); font-size: var(--font-size-micro); white-space: nowrap; }
.service-enquiry--compact .service-enquiry__form { gap: 0; }
.service-enquiry--compact .service-enquiry__form-section { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.1rem; padding-bottom: 1.6rem; }
.service-enquiry--compact .service-enquiry__form-section + .service-enquiry__form-section { padding-top: 1.6rem; border-top: 1px solid var(--line); }
.service-enquiry--compact .service-enquiry__section-title { display: grid; grid-column: 1 / -1; grid-template-columns: 2.15rem minmax(0, 1fr); align-items: start; gap: .8rem; margin: 0 0 .15rem; }
.service-enquiry--compact .service-enquiry__section-title > span { display: inline-flex; width: 2.1rem; height: 2.1rem; align-items: center; justify-content: center; background: var(--rugare-navy); color: var(--rugare-white); font-size: var(--font-size-micro); font-weight: 700; }
.service-enquiry--compact .service-enquiry__section-title h4 { margin: 0; color: var(--ink); font-family: var(--display); font-size: var(--font-size-body); font-weight: 700; letter-spacing: 0; text-transform: none; }
.service-enquiry--compact .service-enquiry__section-title p { margin: .18rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.45; }
.service-enquiry--compact .service-enquiry__contact-method { grid-column: 1 / -1; padding: 1rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface-subtle); }
.service-enquiry--compact .service-enquiry__contact-method legend { padding: 0 .3rem; margin-left: -.3rem; }
.service-enquiry--compact .service-enquiry__contact-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.service-enquiry--compact .service-enquiry__contact-options label { justify-content: flex-start; min-height: 3.15rem; padding: .55rem .85rem; margin: 0; border: 1px solid var(--line); border-radius: .45rem; background: var(--surface); color: var(--ink); font-weight: 700; cursor: pointer; }
.service-enquiry--compact .service-enquiry__contact-options label:has(input:checked) { border-color: var(--theme-blue-text); background: var(--color-blue-surface); box-shadow: inset 0 -2px var(--rugare-health-green); }
.service-enquiry--compact :is(.service-enquiry__contact-options input, .service-enquiry__consent input) { accent-color: var(--theme-blue-text); }
.service-enquiry--compact .form-field > label { margin-bottom: .4rem; font-size: var(--font-size-small); letter-spacing: .01em; }
.service-enquiry--compact .form-field__optional { margin-left: .3rem; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.service-enquiry--compact .form-field :is(input, textarea, select) { border-color: var(--line); border-radius: .45rem; background: var(--surface); }
.service-enquiry--compact .form-field :is(input, textarea, select):hover { border-color: rgb(11 58 91 / 55%); }
.service-enquiry--compact .form-field :is(input, textarea, select):focus { border-color: var(--theme-blue-text); background: var(--surface); outline-color: rgb(16 118 184 / 22%); }
.service-enquiry--compact .form-field textarea { min-height: 6rem; }
.service-enquiry--compact .service-enquiry__consent-field { padding: 1rem; border: 1px solid color-mix(in srgb, var(--rugare-health-green) 24%, var(--line)); border-radius: .55rem; background: var(--color-green-surface); }
.service-enquiry--compact .service-enquiry__submit { display: grid; grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr); align-items: center; gap: 1rem 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.service-enquiry--compact .service-enquiry__submit .button { width: 100%; min-width: 0; }
.service-enquiry--compact .service-enquiry__submit-note { display: grid; gap: .15rem; }
.service-enquiry--compact .service-enquiry__submit-note strong { color: var(--ink); font-size: var(--font-size-small); }
.service-enquiry--compact .service-enquiry__submit-note small { margin: 0; line-height: 1.5; }

/* Information, legal, community and corporate pages */
.information-page__body { background: var(--surface); }
.information-page__content { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.information-page__editable { max-width: var(--reading-measure); }
.information-page__sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-block: 2rem 4rem; background: var(--line); border: 1px solid var(--line); }
.information-page__section { padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--surface); }
.information-page__section h2 { margin: 0 0 .8rem; font-size: var(--font-size-h2); }
.information-page__section p { margin: 0; color: var(--muted); }
.information-page__content > section + section, .information-page__faq, .information-page__related, .event-single__gallery { margin-top: clamp(3rem, 7vw, 7rem); }
.information-page__faq { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); }
.information-page__faq > h2 { margin-top: 0; }
.information-page--frequently-asked-questions .information-page__body { background: var(--surface-subtle); }
.information-page--frequently-asked-questions .information-page__content { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.information-page--frequently-asked-questions .page-hero--quiet { min-height: clamp(19rem, 34vh, 23rem); }
.information-page--frequently-asked-questions .information-page__hero-copy { max-width: 55rem; }
.information-page--frequently-asked-questions .information-page__hero-copy > p:last-child { max-width: 48rem; font-size: var(--font-size-lead); line-height: 1.65; }
.information-page--frequently-asked-questions .information-page__actions { margin-top: 0; }
.faq-page { padding: 0; border: 0; margin-top: 0; }
.faq-page__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .6fr); gap: 2rem clamp(2rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.faq-page__heading h2 { max-width: 14ch; margin: .9rem 0 0; font-size: var(--font-size-h2); }
.faq-page__heading > p { max-width: 42rem; margin: 0; color: var(--muted); line-height: 1.7; }
.faq-page__tools { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem 2rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.faq-page__search { display: grid; width: min(100%, 42rem); gap: .4rem; }
.faq-page__search label { color: var(--ink); font-size: var(--font-size-small); font-weight: 750; }
.faq-page__search > div { position: relative; }
.faq-page__search > div > span { position: absolute; top: 50%; left: 1rem; display: grid; width: 1.15rem; height: 1.15rem; place-items: center; color: var(--theme-blue-text); transform: translateY(-50%); pointer-events: none; }
.faq-page__search svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.faq-page .faq-filter-input { width: 100%; min-height: 3.25rem; padding: .7rem 1rem .7rem 3rem; border-color: var(--line); border-radius: .4rem; background: var(--surface-subtle); font-size: 1rem; }
.faq-page .faq-filter-input:focus { border-color: var(--theme-blue-text); background: var(--surface); outline: 3px solid rgb(16 118 184 / 18%); outline-offset: 1px; }
.faq-page__result-count { margin: 0; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; }
.faq-page__bulk-actions { display: flex; flex: 0 0 auto; gap: .5rem; }
.faq-page__bulk-actions button { min-height: 2.75rem; padding: .55rem .75rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface); color: var(--ink); font: inherit; font-size: var(--font-size-small); font-weight: 700; cursor: pointer; }
.faq-page__bulk-actions button:hover, .faq-page__bulk-actions button:focus-visible { border-color: var(--theme-blue-text); background: var(--color-blue-surface); }
.faq-page__layout { display: grid; grid-template-columns: minmax(16rem, .34fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-top: clamp(1.5rem, 4vw, 3rem); }
.faq-page__support { position: sticky; top: calc(var(--sticky-header-offset) + 1.25rem); padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: .65rem; background: var(--rugare-navy); color: var(--rugare-white); box-shadow: 0 1rem 3rem rgb(11 58 91 / 10%); }
.faq-page__support .eyebrow { color: var(--rugare-white); }
.faq-page__support h3 { margin: .9rem 0 .75rem; color: var(--rugare-white); font-size: var(--font-size-h3); }
.faq-page__support > p:not(.eyebrow) { color: rgb(255 255 255 / 78%); font-size: var(--font-size-small); line-height: 1.7; }
.faq-page__support-links { display: grid; margin-top: 1.25rem; border-top: 1px solid rgb(255 255 255 / 18%); }
.faq-page__support-links a { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgb(255 255 255 / 18%); color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; }
.faq-page__support-links a span, .faq-page__support-links svg { width: 1rem; height: 1rem; }
.faq-page__support-links a:hover, .faq-page__support-links a:focus-visible { color: var(--rugare-health-green); }
.faq-page__support .emergency-call { display: block; padding: 1rem 0 0; border: 0; margin: 1.25rem 0 0; background: transparent; box-shadow: none; }
.faq-page__support .emergency-call__title { color: var(--rugare-white); }
.faq-page__support .emergency-call p { color: rgb(255 255 255 / 76%); font-size: var(--font-size-small); }
.faq-page__support .emergency-call .button { width: 100%; margin-top: .75rem; border-color: var(--rugare-health-green); background: var(--rugare-health-green); color: var(--rugare-navy); }
.faq-page__groups { display: grid; gap: 1rem; min-width: 0; }
.faq-page__group { overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.faq-page__group-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, .7fr); gap: 1.25rem; align-items: end; padding: 1.4rem; border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.faq-page__group-heading > div { display: flex; align-items: baseline; gap: .75rem; }
.faq-page__group-heading span { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; }
.faq-page__group-heading h3 { margin: 0; font-size: var(--font-size-h4); }
.faq-page__group-heading p { margin: 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.55; }
.faq-page__item + .faq-page__item { border-top: 1px solid var(--line); }
.faq-page__item summary { display: grid; min-height: 4rem; grid-template-columns: minmax(0, 1fr) 2.5rem; gap: 1rem; align-items: center; padding: 1.1rem 1.4rem; color: var(--ink); font-weight: 750; cursor: pointer; list-style: none; }
.faq-page__item summary::-webkit-details-marker { display: none; }
.faq-page__item summary:hover { background: var(--color-blue-surface); }
.faq-page__item summary:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--theme-blue-text); outline-offset: -3px; }
.faq-page__icon { position: relative; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); }
.faq-page__icon::before, .faq-page__icon::after { position: absolute; width: .85rem; height: 2px; background: var(--theme-blue-text); content: ''; transition: transform .18s ease; }
.faq-page__icon::after { transform: rotate(90deg); }
.faq-page__item[open] .faq-page__icon { border-color: var(--rugare-health-green); background: var(--color-green-surface); }
.faq-page__item[open] .faq-page__icon::after { transform: rotate(0); }
.faq-page__answer { padding: 0 4.9rem 1.4rem 1.4rem; }
.faq-page__answer p { max-width: 68ch; margin: 0; color: var(--body-text); line-height: 1.75; }
.faq-page__empty { padding: 2rem; border: 1px dashed var(--line); border-radius: .65rem; background: var(--surface); text-align: center; }
.faq-page__empty strong { color: var(--ink); font-size: var(--font-size-lead); }
.faq-page__empty p { margin: .5rem 0 0; color: var(--muted); }
.information-page__actions { background: var(--color-blue-surface); }
.information-page--terms-and-conditions .information-page__content { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.information-page--cookie-policy .information-page__content { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.information-page--cookie-policy .information-page__body { background: var(--surface-subtle); }
.information-page--cookie-policy .page-hero--quiet { min-height: clamp(19rem, 34vh, 23rem); }
.information-page--cookie-policy .information-page__hero-copy { max-width: 56rem; }
.information-page--cookie-policy .information-page__hero-copy > p:last-child { max-width: 50rem; font-size: var(--font-size-lead); line-height: 1.65; }
.information-page--terms-and-conditions .information-page__body { background: var(--surface-subtle); }
.information-page--terms-and-conditions .page-hero--quiet { min-height: clamp(19rem, 34vh, 23rem); }
.information-page--terms-and-conditions .information-page__hero-copy { max-width: 58rem; }
.information-page--terms-and-conditions .information-page__hero-copy > p:last-child { max-width: 52rem; font-size: var(--font-size-lead); line-height: 1.65; }
.information-page--privacy-policy .information-page__body { background: var(--surface-subtle); }
.information-page--privacy-policy .information-page__content { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.information-page--privacy-policy .page-hero--quiet { min-height: clamp(19rem, 34vh, 23rem); }
.information-page--privacy-policy .information-page__hero-copy { max-width: 54rem; }
.information-page--privacy-policy .information-page__hero-copy > p:last-child { max-width: 48rem; font-size: var(--font-size-lead); line-height: 1.65; }
.legal-document { display: grid; min-width: 0; max-width: 100%; gap: 1.5rem; }
.legal-document__summary { display: grid; width: 100%; max-width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); background: var(--line); gap: 1px; }
.legal-document__summary > div { display: grid; gap: .25rem; padding: 1.15rem 1.25rem; background: var(--surface); }
.legal-document__summary > div, .legal-document__summary :is(span, strong) { min-width: 0; overflow-wrap: anywhere; }
.legal-document__summary span { color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.legal-document__summary strong { color: var(--ink); font-size: var(--font-size-body); }
.legal-document__plain-language { margin: 0; }
.legal-document__layout { display: block; min-width: 0; max-width: 100%; }
.legal-document__body { min-width: 0; max-width: 100%; border-top: 1px solid var(--line); }
.legal-document__section { position: relative; min-width: 0; max-width: 100%; padding: clamp(2rem, 5vw, 4rem) 0; border-bottom: 1px solid var(--line); scroll-margin-top: calc(var(--sticky-header-offset) + 1rem); }
.legal-document__section h2 { max-width: 24ch; margin: 0 0 1.5rem; font-size: var(--font-size-h2); }
.legal-document__section h3 { margin: 2rem 0 .65rem; font-size: var(--font-size-h4); }
.legal-document__section :is(p, li, address) { max-width: 72ch; color: var(--body-text); }
.legal-document__section p { margin: 0 0 1rem; }
.legal-document__section ul { display: grid; gap: .55rem; padding-left: 1.25rem; }
.legal-document__section address { font-style: normal; line-height: var(--line-height-body); }
.legal-document__section .notice { max-width: 72ch; margin: 1.5rem 0; }
.legal-document__number { color: var(--theme-blue-text) !important; font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; }
.legal-document__standards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 72ch; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.legal-document__standards > div { display: grid; gap: .35rem; padding: 1rem; background: var(--surface-subtle); }
.legal-document__standards span { color: var(--muted); font-size: var(--font-size-small); }
.legal-document__contact-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, .65fr); gap: 1.5rem; max-width: 72ch; padding: clamp(1.25rem, 3vw, 2rem); margin-top: 1.5rem; border: 1px solid var(--line); background: var(--color-blue-surface); }
.legal-document__contact-card h3 { margin-top: 0; }
.legal-document__contact-card ul { align-content: start; margin: 0; list-style: none; }
.legal-document__contact-card a { font-weight: 700; }
.legal-document__review { margin: 1rem 0 4rem; }
.privacy-document { gap: clamp(1rem, 2.5vw, 1.75rem); }
.privacy-document__summary { border-radius: .65rem; box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.privacy-document__summary > div:first-child { box-shadow: inset 0 3px var(--rugare-health-green); }
.privacy-document__summary > div:nth-child(2) { box-shadow: inset 0 3px var(--rugare-brand-blue); }
.privacy-document__summary > div:last-child { box-shadow: inset 0 3px var(--rugare-navy); }
.privacy-document__summary a { color: var(--theme-blue-text); text-decoration-thickness: 1px; text-underline-offset: .2em; }
.privacy-document__notice { grid-template-columns: 2.5rem minmax(0, 1fr) !important; align-items: start; padding: clamp(1.25rem, 3vw, 1.75rem) !important; border: 1px solid color-mix(in srgb, var(--rugare-brand-blue) 28%, var(--line)); border-left: 4px solid var(--rugare-brand-blue); border-radius: .65rem; background: var(--color-blue-surface); }
.privacy-document__notice > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: var(--surface); }
.privacy-document__notice strong { display: block; margin-bottom: .35rem; color: var(--ink); font-size: var(--font-size-lead); }
.privacy-document__notice p { max-width: 72ch; margin: 0; }
.privacy-document__layout { display: grid; grid-template-columns: minmax(14rem, .3fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.privacy-document__nav { position: sticky; top: calc(var(--sticky-header-offset) + 1.25rem); padding: 1.25rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.privacy-document__nav > p { padding-bottom: .8rem; border-bottom: 1px solid var(--line); margin: 0 0 .35rem; color: var(--ink); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.privacy-document__nav ol { display: grid; padding: 0; margin: 0; list-style: none; }
.privacy-document__nav li + li { border-top: 1px solid var(--line); }
.privacy-document__nav a { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr); gap: .55rem; align-items: baseline; padding: .65rem .35rem; border-radius: .25rem; color: var(--body-text); font-size: var(--font-size-small); font-weight: 650; line-height: 1.35; text-decoration: none; }
.privacy-document__nav a span { color: var(--theme-blue-text); font-size: .68rem; letter-spacing: .06em; }
.privacy-document__nav a:hover, .privacy-document__nav a:focus-visible { background: var(--color-blue-surface); color: var(--ink); }
.privacy-document__body { border-top: 0; }
.privacy-document__body .legal-document__section { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.privacy-document__body .legal-document__section + .legal-document__section { margin-top: 1rem; }
.privacy-document__body .legal-document__section::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; border-radius: .65rem 0 0 .65rem; background: var(--rugare-brand-blue); content: ''; }
.privacy-document__body .legal-document__number { margin: 0 0 .65rem; }
.privacy-document__body .legal-document__section h2 { margin-bottom: 1.25rem; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.15; }
.privacy-document__body .legal-document__section h3 { margin-top: 1.65rem; }
.privacy-document__body .legal-document__section :is(p, li, address) { max-width: 68ch; line-height: 1.75; }
.privacy-document__body .legal-document__section > p:last-child { margin-bottom: 0; }
.privacy-document__body .legal-document__standards { margin-block: 1.5rem; border-radius: .4rem; overflow: hidden; }
.privacy-document__body .legal-document__contact-card { max-width: 100%; border-left: 3px solid var(--rugare-health-green); border-radius: .45rem; }
.terms-document { gap: clamp(1rem, 2.5vw, 1.75rem); }
.terms-document__summary { border-radius: .65rem; box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.terms-document__summary > div:first-child { box-shadow: inset 0 3px var(--rugare-health-green); }
.terms-document__summary > div:nth-child(2) { box-shadow: inset 0 3px var(--rugare-brand-blue); }
.terms-document__summary > div:last-child { box-shadow: inset 0 3px var(--rugare-navy); }
.terms-document__notice { grid-template-columns: 2.5rem minmax(0, 1fr) !important; align-items: start; padding: clamp(1.25rem, 3vw, 1.75rem) !important; border: 1px solid color-mix(in srgb, var(--rugare-health-green) 30%, var(--line)); border-left: 4px solid var(--rugare-health-green); border-radius: .65rem; background: var(--color-green-surface); }
.terms-document__notice > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: var(--surface); }
.terms-document__notice strong { display: block; margin-bottom: .35rem; color: var(--ink); font-size: var(--font-size-lead); }
.terms-document__notice p { max-width: 72ch; margin: 0; }
.terms-document__layout { display: grid; grid-template-columns: minmax(14rem, .3fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.terms-document__nav { position: sticky; top: calc(var(--sticky-header-offset) + 1.25rem); max-height: calc(100vh - var(--sticky-header-offset) - 2.5rem); padding: 1.25rem; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); scrollbar-width: thin; }
.terms-document__nav > p { padding-bottom: .8rem; border-bottom: 1px solid var(--line); margin: 0 0 .35rem; color: var(--ink); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.terms-document__nav ol { display: grid; padding: 0; margin: 0; list-style: none; }
.terms-document__nav li + li { border-top: 1px solid var(--line); }
.terms-document__nav a { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr); gap: .55rem; align-items: baseline; padding: .62rem .35rem; border-radius: .25rem; color: var(--body-text); font-size: var(--font-size-small); font-weight: 650; line-height: 1.35; text-decoration: none; }
.terms-document__nav a span { color: var(--theme-blue-text); font-size: .68rem; letter-spacing: .06em; }
.terms-document__nav a:hover, .terms-document__nav a:focus-visible { background: var(--color-blue-surface); color: var(--ink); }
.terms-document__body { border-top: 0; }
.terms-document__body .legal-document__section { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.terms-document__body .legal-document__section + .legal-document__section { margin-top: 1rem; }
.terms-document__body .legal-document__section::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; border-radius: .65rem 0 0 .65rem; background: var(--rugare-brand-blue); content: ''; }
.terms-document__body .legal-document__number { margin: 0 0 .65rem; }
.terms-document__body .legal-document__section h2 { margin-bottom: 1.25rem; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.15; }
.terms-document__body .legal-document__section h3 { padding-top: 1.25rem; border-top: 1px solid var(--line); margin-top: 1.75rem; }
.terms-document__body .legal-document__section :is(p, li, address) { max-width: 68ch; line-height: 1.75; }
.terms-document__body .legal-document__section > p:last-child { margin-bottom: 0; }
.terms-document__body .legal-document__section a:not(.button) { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.terms-document__body .legal-document__standards { margin-block: 1.5rem; border-radius: .4rem; overflow: hidden; }
.terms-document__body .legal-document__contact-card { max-width: 100%; border-left: 3px solid var(--rugare-health-green); border-radius: .45rem; }
.terms-document__body .emergency-call { max-width: 100%; margin-block: 1.5rem; border-radius: .5rem; }
.terms-document__review { padding: clamp(1.25rem, 3vw, 1.75rem); border-radius: .65rem; background: var(--surface); }
.cookie-document { gap: clamp(1rem, 2.5vw, 1.75rem); }
.cookie-document__summary { border-radius: .65rem; box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.cookie-document__summary > div:first-child { box-shadow: inset 0 3px var(--rugare-health-green); }
.cookie-document__summary > div:nth-child(2) { box-shadow: inset 0 3px var(--rugare-brand-blue); }
.cookie-document__summary > div:last-child { box-shadow: inset 0 3px var(--rugare-navy); }
.cookie-document__notice { grid-template-columns: 2.5rem minmax(0, 1fr) auto !important; align-items: center; gap: 1rem 1.25rem !important; padding: clamp(1.25rem, 3vw, 1.75rem) !important; border: 1px solid color-mix(in srgb, var(--rugare-brand-blue) 28%, var(--line)); border-left: 4px solid var(--rugare-brand-blue); border-radius: .65rem; background: var(--color-blue-surface); }
.cookie-document__notice-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: var(--surface); }
.cookie-document__notice strong { display: block; margin-bottom: .35rem; color: var(--ink); font-size: var(--font-size-lead); }
.cookie-document__notice p { max-width: 68ch; margin: 0; }
.cookie-document__notice .button { min-width: 13rem; white-space: nowrap; }
.cookie-document__layout { display: grid; grid-template-columns: minmax(14rem, .3fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.cookie-document__nav { position: sticky; top: calc(var(--sticky-header-offset) + 1.25rem); padding: 1.25rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.cookie-document__nav > p { padding-bottom: .8rem; border-bottom: 1px solid var(--line); margin: 0 0 .35rem; color: var(--ink); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.cookie-document__nav ol { display: grid; padding: 0; margin: 0; list-style: none; }
.cookie-document__nav li + li { border-top: 1px solid var(--line); }
.cookie-document__nav a { display: grid; grid-template-columns: 1.65rem minmax(0, 1fr); gap: .55rem; align-items: baseline; padding: .65rem .35rem; border-radius: .25rem; color: var(--body-text); font-size: var(--font-size-small); font-weight: 650; line-height: 1.35; text-decoration: none; }
.cookie-document__nav a span { color: var(--theme-blue-text); font-size: .68rem; letter-spacing: .06em; }
.cookie-document__nav a:hover, .cookie-document__nav a:focus-visible { background: var(--color-blue-surface); color: var(--ink); }
.cookie-document__body { border-top: 0; }
.cookie-document__body .legal-document__section { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.cookie-document__body .legal-document__section + .legal-document__section { margin-top: 1rem; }
.cookie-document__body .legal-document__section::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; border-radius: .65rem 0 0 .65rem; background: var(--rugare-brand-blue); content: ''; }
.cookie-document__body .legal-document__number { margin: 0 0 .65rem; }
.cookie-document__body .legal-document__section h2 { margin-bottom: 1.25rem; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.15; }
.cookie-document__body .legal-document__section h3 { padding-top: 1.25rem; border-top: 1px solid var(--line); margin-top: 1.75rem; }
.cookie-document__body .legal-document__section :is(p, li, address) { max-width: 68ch; line-height: 1.75; }
.cookie-document__body .legal-document__section > p:last-child { margin-bottom: 0; }
.cookie-document__body .legal-document__section a:not(.button) { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.cookie-document__body .legal-document__contact-card { max-width: 100%; border-left: 3px solid var(--rugare-health-green); border-radius: .45rem; }
.cookie-policy__categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 100%; gap: .75rem; }
.cookie-policy__categories article { position: relative; display: grid; min-height: 14rem; grid-template-rows: auto 1fr auto; align-content: start; padding: 1.4rem; overflow: hidden; border: 1px solid var(--line); border-radius: .5rem; background: var(--surface-subtle); }
.cookie-policy__categories article::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.cookie-policy__categories article:first-child::before { background: var(--rugare-health-green); }
.cookie-policy__categories article:last-child::before { background: var(--rugare-navy); }
.cookie-policy__categories h3 { margin: 0 0 .65rem; }
.cookie-policy__categories p { margin-bottom: 1rem; }
.cookie-policy__categories strong { align-self: end; width: fit-content; padding: .35rem .6rem; border-radius: 999px; background: var(--color-blue-surface); color: var(--theme-blue-text); font-size: var(--font-size-micro); letter-spacing: .03em; }
.cookie-policy__categories article:first-child strong { background: var(--color-green-surface); color: var(--ink); }
.legal-document__table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.legal-document__table { width: 100%; min-width: 44rem; border-collapse: collapse; background: var(--surface); text-align: left; }
.legal-document__table :is(th, td) { padding: .85rem 1rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.legal-document__table th { background: var(--color-blue-surface); color: var(--ink); font-size: var(--font-size-small); }
.legal-document__table td { color: var(--body-text); font-size: var(--font-size-small); }
.legal-document__table tbody tr:last-child td { border-bottom: 0; }
.legal-document__table code { color: var(--ink); font-weight: 700; white-space: nowrap; }
.final-action__links, .corporate-health__actions, .medical-aid-actions__buttons { display: flex; flex-wrap: wrap; gap: .7rem; }
.community-impact__categories ul, .corporate-health__offering-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 0; background: var(--line); list-style: none; }
.community-impact__categories li, .corporate-health__offering-grid li { padding: 1rem; background: var(--surface); font-size: var(--font-size-small); font-weight: 700; }
.community-impact__features, .community-impact__programmes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.community-impact__feature, .community-impact__programme { padding: clamp(1.5rem, 4vw, 3rem); background: var(--surface); }
.community-impact__feature h3, .community-impact__programme h3 { margin-top: 0; font-size: var(--font-size-h2); }
.community-impact__feature p, .community-impact__programme p { color: var(--muted); }
.community-impact__programme-dates, .csr-timeline__stats, .initiative-single__meta, .brochure-item__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 1.5rem 0; background: var(--line); }
:is(.community-impact__programme-dates, .csr-timeline__stats, .initiative-single__meta, .brochure-item__meta) > div { padding: .8rem; background: rgb(16 118 184 / 3%); }
:is(.community-impact__programme-dates, .csr-timeline__stats, .initiative-single__meta, .brochure-item__meta) dt { color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
:is(.community-impact__programme-dates, .csr-timeline__stats, .initiative-single__meta, .brochure-item__meta) dd { margin: .2rem 0 0; font-weight: 700; }
.wellness-expo-history__timeline { padding: 0; list-style: none; }
.wellness-expo-history__timeline > li { border-top: 1px solid var(--line); }
.wellness-expo-history__timeline article { display: grid; grid-template-columns: minmax(12rem, .35fr) minmax(0, 1fr); gap: 2rem; padding-block: 2rem; }
.wellness-expo-history__date { display: grid; align-content: start; gap: .3rem; }
.wellness-expo-history__date span { color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.wellness-expo-history__content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .7fr); gap: 1rem 2rem; }
.wellness-expo-history__served, .wellness-expo-history__content h3 { margin: 0; }
.wellness-expo-history__image { grid-column: 2; grid-row: 1 / 4; margin: 0; }
.wellness-expo-history__image img { width: 100%; height: 18rem; object-fit: cover; }

/* Community Impact — documentary, content-first presentation. */
.information-page--community-impact .information-page__hero { min-height: clamp(38rem, 70vh, 48rem); }
.information-page--community-impact .information-page__hero .page-banner img { object-position: center 44%; }
.information-page--community-impact .information-page__hero-copy { max-width: 46rem; }
.information-page--community-impact .information-page__hero-copy h1 { max-width: none; }
.information-page--community-impact .information-page__hero-lead { max-width: 40rem; font-size: var(--font-size-lead); line-height: 1.6; }
.information-page--community-impact .information-page__body { padding-block: clamp(3rem, 6vw, 6rem); background: var(--surface-subtle); }
.information-page--community-impact .information-page__content { display: grid; gap: clamp(3rem, 6vw, 5.5rem); }
.information-page--community-impact .information-page__content > section { min-width: 0; margin-top: 0; }
.information-page--community-impact .information-page__content > section:not(.community-impact) { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.information-page--community-impact .section-heading--split { gap: 2rem clamp(2.5rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: clamp(1.75rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); }
.information-page--community-impact .section-heading--split h2 { max-width: 18ch; margin-bottom: 0; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.information-page--community-impact .section-heading--split > p { max-width: 40rem; margin: 0; color: var(--body-text); line-height: 1.7; }
.information-page--community-impact .community-impact { padding: 0; border: 0; background: transparent; }
.information-page--community-impact .community-impact__inner { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.information-page--community-impact .community-impact__inner > h2 { max-width: none; margin: .8rem 0 1rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.information-page--community-impact .community-impact__intro { max-width: 68rem; color: var(--body-text); }
.information-page--community-impact .community-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.information-page--community-impact .community-stat { display: flex; min-height: 12.5rem; flex-direction: column; padding: clamp(1.25rem, 2vw, 1.65rem); border-radius: .55rem; box-shadow: none; }
.information-page--community-impact .community-stat::before { right: 0; left: 0; }
.information-page--community-impact .community-stat__number { margin-top: .1rem; font-size: clamp(2.6rem, 3.4vw, 3.75rem); }
.information-page--community-impact .community-stat p { margin-top: auto; padding-top: 1rem; }
.information-page--community-impact .community-impact__source-note { max-width: 44rem; padding-top: 1rem; border-top: 1px solid var(--line); margin: 1.5rem 0 0; color: var(--muted); font-size: var(--font-size-small); }
.information-page--community-impact .community-links { margin-top: 1.75rem; }
.information-page--community-impact .community-impact__categories ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: .55rem; }
.information-page--community-impact .community-impact__categories li { position: relative; display: flex; min-height: 6rem; align-items: center; padding: 1.15rem; color: var(--ink); line-height: 1.45; }
.information-page--community-impact .community-impact__categories li::before { width: .42rem; height: .42rem; flex: 0 0 auto; border-radius: 50%; margin-right: .7rem; background: var(--rugare-health-green); content: ''; }
.information-page--community-impact .community-impact__categories-note { max-width: 68rem; margin: 1.5rem 0 0; color: var(--muted); font-size: var(--font-size-small); line-height: 1.7; }
.information-page--community-impact .community-impact__documentary { overflow: hidden; }
.information-page--community-impact .community-impact__documentary-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .72fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.information-page--community-impact .community-impact__documentary-image { display: grid; min-width: 0; grid-template-rows: minmax(0, 1fr) auto; margin: 0; overflow: hidden; background: var(--surface-subtle); }
.information-page--community-impact .community-impact__documentary-image--lead { grid-row: 1 / 3; }
.information-page--community-impact .community-impact__documentary-image :is(picture, img) { display: block; width: 100%; height: 100%; }
.information-page--community-impact .community-impact__documentary-image img { min-height: 15rem; object-fit: cover; }
.information-page--community-impact .community-impact__documentary-image--lead img { min-height: 35rem; }
.information-page--community-impact .community-impact__documentary-image figcaption { padding: .9rem 1rem 1rem; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.5; }
.information-page--community-impact .community-impact__features,
.information-page--community-impact .community-impact__programmes-grid { gap: 1rem; background: transparent; }
.information-page--community-impact .community-impact__feature,
.information-page--community-impact .community-impact__programme { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); }
.information-page--community-impact .community-impact__feature::before,
.information-page--community-impact .community-impact__programme::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.information-page--community-impact :is(.community-impact__feature, .community-impact__programme):nth-child(even)::before { background: var(--rugare-health-green); }
.information-page--community-impact :is(.community-impact__feature, .community-impact__programme) .section-heading { margin-bottom: 1.25rem; }
.information-page--community-impact :is(.community-impact__feature, .community-impact__programme) .section-heading h3 { max-width: 22ch; margin: .75rem 0 0; font-size: clamp(1.55rem, 2.2vw, 2.15rem); line-height: 1.16; text-wrap: balance; }
.information-page--community-impact :is(.community-impact__feature, .community-impact__programme) p { color: var(--body-text); line-height: 1.7; }
.information-page--community-impact :is(.community-impact__feature, .community-impact__programme) li { color: var(--body-text); line-height: 1.6; }
.information-page--community-impact .community-impact__feature > h3 { padding-top: 1.25rem; border-top: 1px solid var(--line); margin-top: 1.75rem; font-size: var(--font-size-h4); }
.information-page--community-impact .community-impact__programme-highlight { padding: 1rem 1.1rem; border-left: 3px solid var(--rugare-health-green); margin-top: 1.25rem; background: var(--color-green-surface); color: var(--ink) !important; font-weight: 700; }
.information-page--community-impact .wellness-expo-history { overflow: hidden; }
.information-page--community-impact .wellness-expo-history__timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.information-page--community-impact .wellness-expo-history__timeline > li { border: 1px solid var(--line); border-radius: .65rem; overflow: hidden; }
.information-page--community-impact .wellness-expo-history__timeline article { height: 100%; grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 0; padding: 0; }
.information-page--community-impact .wellness-expo-history__date { padding: 1.35rem 1.5rem; background: var(--rugare-navy); color: var(--rugare-white); }
.information-page--community-impact .wellness-expo-history__date span { color: var(--rugare-health-green); }
.information-page--community-impact .wellness-expo-history__date strong { font-size: var(--font-size-h4); line-height: 1.3; }
.information-page--community-impact .wellness-expo-history__content { align-content: start; grid-template-columns: 1fr; padding: 1.5rem; }
.information-page--community-impact .wellness-expo-history__served { width: fit-content; padding: .2rem 0 .2rem .75rem; border-left: 3px solid var(--rugare-health-green); border-radius: 0; background: transparent; color: var(--ink); font-size: .9375rem; font-weight: 750; letter-spacing: .01em; line-height: 1.4; }
.information-page--community-impact .wellness-expo-history__content h3 { font-size: var(--font-size-h4); }
.information-page--community-impact .wellness-expo-history__content > p:last-child { color: var(--muted); line-height: 1.65; }
.information-page--community-impact .wellness-expo-history__image { grid-column: auto; grid-row: auto; overflow: hidden; border-radius: .45rem; }
.information-page--community-impact .wellness-expo-history__image img { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; }
.information-page--community-impact .community-impact__final { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem clamp(2rem, 6vw, 6rem); align-items: end; border: 0 !important; background: var(--rugare-navy) !important; color: var(--rugare-white); box-shadow: 0 1.25rem 3rem rgb(11 58 91 / 14%) !important; }
.information-page--community-impact .community-impact__final-copy { max-width: 52rem; }
.information-page--community-impact .community-impact__final h2 { max-width: 20ch; margin: .8rem 0 1rem; color: var(--rugare-white); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.information-page--community-impact .community-impact__final-copy > p:last-child { margin: 0; color: rgb(255 255 255 / 76%); line-height: 1.7; }
.information-page--community-impact .community-impact__final .community-links { flex-wrap: nowrap; margin: 0; }
.information-page--community-impact .community-impact__final .button--primary { border-color: var(--rugare-health-green); background: var(--rugare-health-green); color: var(--rugare-navy); }
.information-page--community-impact .community-impact__final .button--outline { border-color: rgb(255 255 255 / 52%); background: transparent; color: var(--rugare-white); }
.information-page--community-impact .community-impact__final .button--outline:hover, .information-page--community-impact .community-impact__final .button--outline:focus-visible { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.information-page--community-impact .community-impact__gallery { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.information-page--community-impact .community-impact__gallery-bridge { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem clamp(2rem, 6vw, 6rem); align-items: end; border-top: 3px solid var(--rugare-brand-blue) !important; box-shadow: none !important; }
.information-page--community-impact .community-impact__gallery-bridge h2 { max-width: 22ch; margin: .8rem 0 1rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.information-page--community-impact .community-impact__gallery-bridge p:last-child { max-width: 54rem; margin-bottom: 0; color: var(--body-text); line-height: 1.7; }
.information-page--community-impact .community-impact__gallery-bridge .button { white-space: nowrap; }
.information-page--community-impact #wellness-expo-history,
.information-page--community-impact #community-outreach,
.information-page--community-impact #community-gallery { scroll-margin-top: calc(var(--sticky-header-offset) + 1rem); }
.information-page--community-impact .community-impact__final .button--primary:hover,
.information-page--community-impact .community-impact__final .button--primary:focus-visible { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy); }
.information-page--gallery .information-page__hero-copy { max-width: 46rem; }
.information-page--gallery .information-page__hero-copy h1 { max-width: none; }
.information-page--gallery .information-page__hero-lead { max-width: 40rem; font-size: var(--font-size-lead); line-height: 1.6; }
.information-page--gallery .information-page__body { background: var(--surface); }
.information-page--gallery .information-page__gallery { scroll-margin-top: calc(var(--sticky-header-offset) + 1.5rem); }
.information-page--gallery .information-page__gallery > .section-heading { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.information-page--gallery .information-page__gallery > .section-heading h2 { max-width: 15ch; margin-bottom: 0; text-wrap: balance; }
.information-page--gallery .information-page__gallery > .section-heading > p { max-width: 42rem; margin-bottom: .3rem; color: var(--body-text); line-height: 1.75; }
.community-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.2vw, 2rem); }
.community-photo-card { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: zoom-in; }
.community-photo-card figure { display: grid; min-width: 0; gap: 1rem; margin: 0; }
.community-photo-card__media { overflow: hidden; border: 1px solid var(--line); border-radius: .2rem; background: var(--surface-subtle); }
.community-photo-card picture { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-blue-surface); }
.community-photo-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.community-photo-card figcaption { display: grid; gap: .3rem; padding: 0 .1rem .15rem; }
.community-photo-card figcaption strong { color: var(--ink); font-size: 1rem; line-height: 1.4; }
.community-photo-card figcaption > span { color: var(--muted); font-size: var(--font-size-small); line-height: 1.55; }
.community-photo-card:hover .community-photo-card__media { border-color: var(--rugare-brand-blue); }
.community-photo-card:hover img { transform: scale(1.05); }
.community-photo-card:focus-visible { outline: 3px solid var(--rugare-brand-blue); outline-offset: .4rem; }
.information-page__gallery-events-heading { padding-top: clamp(3rem, 6vw, 5rem); margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--line); }
.information-page__gallery-events-heading h3 { max-width: 22ch; margin: .75rem 0 1.75rem; font-size: var(--font-size-h2); text-wrap: balance; }
.community-gallery-lightbox figure img { height: min(78dvh, 54rem); touch-action: pinch-zoom; }
.community-gallery-lightbox__toolbar { right: 0; left: 0; display: flex; align-items: center; justify-content: space-between; padding-inline: 1rem; pointer-events: none; }
.community-gallery-lightbox__toolbar p { min-width: 4.75rem; padding: .65rem 0; margin: 0; color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; text-align: left; }
.community-gallery-lightbox__toolbar button { pointer-events: auto; }
.community-gallery-lightbox__navigation { position: absolute; z-index: 2; top: 50%; right: .85rem; left: .85rem; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.community-gallery-lightbox__navigation button { min-width: 5.5rem; min-height: 2.75rem; padding: .6rem .85rem; border: 1px solid rgb(255 255 255 / 60%); border-radius: .2rem; background: rgb(11 58 91 / 92%); color: var(--rugare-white); font: inherit; font-size: var(--font-size-small); font-weight: 700; cursor: pointer; pointer-events: auto; }
.community-gallery-lightbox__navigation button:hover,
.community-gallery-lightbox__navigation button:focus-visible { border-color: var(--rugare-health-green); background: var(--rugare-brand-blue); }
.csr-gallery__filter { margin-block: 3rem; padding: 1rem; border: 1px solid var(--line); background: rgb(16 118 184 / 3%); }
.csr-filter-bar { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem; }
.csr-filter-bar label { font-size: var(--font-size-micro); font-weight: 700; }
.csr-filter-bar select, .faq-filter-input { min-height: 3rem; padding: .6rem .75rem; border: 1px solid var(--rugare-brand-blue); background: var(--surface); color: var(--body-text); }
.csr-timeline { border-left: 2px solid var(--color-health-green); }
.csr-timeline__item { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 2rem; padding: 0 0 3rem 2rem; }
.csr-timeline__date { font-weight: 700; }
.initiative-card { padding: clamp(1.4rem, 3vw, 2.5rem); border: 1px solid var(--line); background: var(--surface); }
.initiative-card h3 { margin: 0 0 1rem; }
.initiative-card h3 a { color: var(--ink); text-decoration: none; }
.initiative-card__quote, .initiative-single__quote { padding: 1rem 1.4rem; margin: 1.5rem 0; border-left: 3px solid var(--color-health-green); background: var(--color-green-surface); }
.initiative-card__figure { margin: 1.5rem 0 0; }
.initiative-card__figure img { width: 100%; max-height: 30rem; object-fit: cover; }
.initiative-single__excerpt, .event-single__excerpt { padding-left: 1rem; border-left: 3px solid var(--color-health-green); color: var(--ink); font-size: var(--font-size-lead); }
.initiative-related { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; list-style: none; }
.initiative-related a { display: block; padding: .65rem .8rem; border: 1px solid var(--line); color: var(--ink); font-weight: 700; text-decoration: none; }
.csr-pagination, .pagination { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2rem; }
.csr-pagination .page-numbers, .pagination .page-numbers { padding: .55rem .75rem; border: 1px solid var(--line); text-decoration: none; }
.corporate-health__grid, .corporate-health__packages-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.corporate-health__service-card, .corporate-health__packages-grid article { padding: 1.3rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.corporate-health__service-card h3, .corporate-health__packages-grid h3 { margin-top: 0; font-size: var(--font-size-h4); }
.corporate-health__steps, .medical-aid-process__list { counter-reset: page-step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 0; background: var(--line); list-style: none; }
.corporate-health__steps li, .medical-aid-process__list li { counter-increment: page-step; padding: 1rem; background: var(--surface); font-weight: 700; }
.corporate-health__steps li::before, .medical-aid-process__list li::before { display: block; margin-bottom: .5rem; content: counter(page-step, decimal-leading-zero); font-size: var(--font-size-micro); }

/* Corporate and occupational health */
.information-page--corporate-health .information-page__hero { min-height: clamp(36rem, 68vh, 46rem); }
.information-page--corporate-health .information-page__hero .page-banner img { object-position: center 42%; }
.information-page--corporate-health .information-page__hero-copy { max-width: 46rem; }
.information-page--corporate-health .information-page__hero-copy h1 { max-width: 12ch; }
.information-page--corporate-health .information-page__hero-lead { max-width: 38rem; color: rgb(255 255 255 / 88%); font-size: var(--font-size-lead); line-height: 1.6; }
.information-page--corporate-health .information-page__body { padding-block: clamp(3.5rem, 7vw, 7rem); background: var(--surface-subtle); }
.information-page--corporate-health .information-page__content { display: grid; gap: clamp(3rem, 6vw, 5.5rem); }
.information-page--corporate-health .information-page__content > section { min-width: 0; margin-top: 0; }
.information-page--corporate-health :is(.corporate-health__offering, .corporate-health__packages, .corporate-health__engagement, .corporate-health__continuity) { padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.information-page--corporate-health .section-heading--split { gap: 2rem clamp(2.5rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: clamp(1.75rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); }
.information-page--corporate-health .section-heading--split h2 { max-width: 18ch; margin: .75rem 0 0; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.information-page--corporate-health .section-heading--split > p { max-width: 38rem; color: var(--body-text); line-height: 1.7; }
.information-page--corporate-health .corporate-health__packages-grid { gap: 1rem; background: transparent; }
.information-page--corporate-health .corporate-health__services-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.information-page--corporate-health .corporate-health__services-grid > article { grid-column: span 2; }
.information-page--corporate-health .corporate-health__services-grid > article:nth-last-child(-n + 2) { grid-column: span 3; }
.information-page--corporate-health .corporate-health__programme-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.information-page--corporate-health :is(.corporate-health__offering-card, .corporate-health__package-card) { position: relative; min-height: 15rem; padding: clamp(1.35rem, 2.4vw, 2rem); overflow: hidden; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); }
.information-page--corporate-health :is(.corporate-health__offering-card, .corporate-health__package-card)::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-brand-blue); content: ''; }
.information-page--corporate-health .corporate-health__package-card::before { background: var(--rugare-health-green); }
.information-page--corporate-health .corporate-health__card-number { display: block; margin-bottom: 2rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .1em; }
.information-page--corporate-health :is(.corporate-health__offering-card, .corporate-health__package-card) h3 { max-width: 22ch; margin: 0 0 .8rem; color: var(--ink); font-size: clamp(1.2rem, 1.7vw, 1.45rem); line-height: 1.25; }
.information-page--corporate-health :is(.corporate-health__offering-card, .corporate-health__package-card) p { margin: 0; color: var(--body-text); line-height: 1.65; }
.information-page--corporate-health .corporate-health__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; background: transparent; }
.information-page--corporate-health .corporate-health__steps li { position: relative; min-height: 15rem; padding: clamp(1.25rem, 2vw, 1.75rem); border: 1px solid rgb(255 255 255 / 18%); border-radius: .6rem; background: rgb(255 255 255 / 7%); color: var(--rugare-white); }
.information-page--corporate-health .corporate-health__engagement { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.information-page--corporate-health .corporate-health__engagement :is(h2, .eyebrow) { color: var(--rugare-white); }
.information-page--corporate-health .corporate-health__engagement .eyebrow > span { background: var(--rugare-health-green); }
.information-page--corporate-health .corporate-health__engagement .section-heading--split { border-color: rgb(255 255 255 / 18%); }
.information-page--corporate-health .corporate-health__engagement .section-heading--split > p { color: rgb(255 255 255 / 76%); }
.information-page--corporate-health .corporate-health__steps li::before { margin-bottom: 2rem; color: var(--rugare-health-green); font-size: var(--font-size-small); letter-spacing: .1em; }
.information-page--corporate-health .corporate-health__steps strong { display: block; margin-bottom: .75rem; font-size: var(--font-size-h4); line-height: 1.3; }
.information-page--corporate-health .corporate-health__steps span { display: block; color: rgb(255 255 255 / 74%); font-weight: 400; line-height: 1.6; }
.information-page--corporate-health .corporate-health__continuity { display: grid; grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 5vw, 5rem); }
.information-page--corporate-health .corporate-health__continuity-copy h2 { max-width: 14ch; margin: .8rem 0 1.25rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.information-page--corporate-health .corporate-health__continuity-copy > p:last-child { color: var(--body-text); line-height: 1.7; }
.information-page--corporate-health .corporate-health__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; background: transparent; }
.information-page--corporate-health .corporate-health__service-card { display: flex; min-height: 9.5rem; flex-direction: column; justify-content: space-between; padding: 1.35rem; border: 1px solid var(--line); border-radius: .55rem; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.information-page--corporate-health .corporate-health__service-card:hover { border-color: var(--rugare-brand-blue); box-shadow: 0 .75rem 1.75rem rgb(11 58 91 / 9%); transform: translateY(-2px); }
.information-page--corporate-health .corporate-health__service-card h3 { margin: 0; font-size: var(--font-size-h4); }
.information-page--corporate-health .corporate-health__service-card > span { color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 750; }
.information-page--corporate-health .corporate-health__medical-aid { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem 3rem; padding: clamp(1.4rem, 3vw, 2.25rem); border-radius: .65rem; margin-top: .5rem; background: var(--color-blue-surface); }
.information-page--corporate-health .corporate-health__medical-aid h3 { margin: .65rem 0 .5rem; font-size: clamp(1.45rem, 2vw, 1.85rem); }
.information-page--corporate-health .corporate-health__medical-aid p { max-width: 42rem; margin-bottom: 0; color: var(--body-text); }
.information-page--corporate-health .corporate-health__final { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem clamp(2rem, 6vw, 6rem); padding: clamp(2rem, 5vw, 4rem); border-radius: .85rem; background: var(--rugare-brand-blue); color: var(--rugare-white); box-shadow: 0 1.25rem 3rem rgb(11 58 91 / 15%); }
.information-page--corporate-health .corporate-health__final h2 { max-width: 17ch; margin: .8rem 0 1rem; color: var(--rugare-white); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.information-page--corporate-health .corporate-health__final > div:first-child > p:last-child { max-width: 48rem; margin: 0; color: rgb(255 255 255 / 80%); line-height: 1.7; }
.information-page--corporate-health .corporate-health__final .eyebrow { color: var(--rugare-white); }
.information-page--corporate-health .corporate-health__final .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.information-page--corporate-health .corporate-health__final .button--outline { border-color: rgb(255 255 255 / 55%); background: transparent; color: var(--rugare-white); }
.information-page--corporate-health .corporate-health__final .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.information-page--corporate-health .corporate-health__privacy-note { grid-column: 1 / -1; padding-top: 1.25rem; border-top: 1px solid rgb(255 255 255 / 20%); margin: 0; color: rgb(255 255 255 / 68%); font-size: var(--font-size-small); }

@media (max-width: 64rem) {
	.information-page--corporate-health .corporate-health__services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.information-page--corporate-health .corporate-health__services-grid > article,
	.information-page--corporate-health .corporate-health__services-grid > article:nth-last-child(-n + 2) { grid-column: auto; }
	.information-page--corporate-health .corporate-health__services-grid > article:last-child { grid-column: 1 / -1; }
	.information-page--corporate-health .corporate-health__programme-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.information-page--corporate-health .corporate-health__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.information-page--corporate-health .corporate-health__continuity { grid-template-columns: 1fr; }
	.information-page--corporate-health .corporate-health__continuity-copy { max-width: 48rem; }
	.information-page--corporate-health .corporate-health__final { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 48rem) {
	.information-page--corporate-health .information-page__hero { min-height: 34rem; }
	.information-page--corporate-health .information-page__hero .page-banner img { object-position: 58% center; }
	.information-page--corporate-health .section-heading--split { display: block; }
	.information-page--corporate-health .section-heading--split > p { margin-top: 1rem; }
	.information-page--corporate-health :is(.corporate-health__services-grid, .corporate-health__programme-grid, .corporate-health__steps, .corporate-health__grid) { grid-template-columns: 1fr; }
	.information-page--corporate-health .corporate-health__services-grid > article:last-child { grid-column: auto; }
	.information-page--corporate-health :is(.corporate-health__offering-card, .corporate-health__package-card, .corporate-health__steps li) { min-height: 0; }
	.information-page--corporate-health .corporate-health__medical-aid { grid-template-columns: 1fr; align-items: start; }
	.information-page--corporate-health .corporate-health__medical-aid .button { width: 100%; }
	.information-page--corporate-health .corporate-health__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
	.information-page--corporate-health .corporate-health__actions .button { width: 100%; }
}

/* Posts, archives, search and FAQ */
.archive-section { background: rgb(16 118 184 / 3%); }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.post-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--line); background: var(--surface); }
.post-card__image { height: 15rem; overflow: hidden; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem; }
.post-card__date, .search-results__badge { color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.post-card h2 { margin: .8rem 0; font-size: var(--font-size-h3); }
.post-card h2 a, .text-link { color: var(--ink); text-decoration: none; }
.text-link:hover, .text-link:focus-visible { text-decoration: underline; }
.post-card p, .search-results__excerpt { color: var(--muted); }
.post-card .text-link { margin-top: auto; padding-top: 1rem; font-weight: 700; }
.article-meta { color: var(--rugare-white); font-size: var(--font-size-small); }
.article-image { margin-top: clamp(2rem, 5vw, 4rem); }
.article-image img { width: 100%; max-height: 42rem; object-fit: cover; }
.post-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-bottom: var(--section-space); background: var(--line); }
.post-navigation a { display: grid; padding: 1rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.post-navigation span { color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; text-transform: uppercase; }
.search-form { display: flex; width: min(100%, 42rem); gap: .5rem; margin-top: 1.5rem; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 3.1rem; padding: .7rem .8rem; border: 1px solid var(--rugare-brand-blue); background: var(--surface); color: var(--body-text); }
.search-results__group + .search-results__group { margin-top: 4rem; }
.search-results__summary { margin: 0 0 1.25rem; color: var(--muted); font-size: var(--font-size-small); font-weight: 700; }
.search-results__group-title { padding-bottom: 1rem; border-bottom: 1px solid var(--ink); }
.search-results__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.search-results__item > a { display: block; min-height: 12rem; padding: 1.4rem; background: var(--surface); color: var(--ink); text-decoration: none; }
.search-results__item > a:hover, .search-results__item > a:focus-visible { background: var(--surface-subtle); box-shadow: inset 3px 0 var(--rugare-health-green); }
.search-results__item h3 { margin: .8rem 0; font-size: var(--font-size-h3); }
.empty-state { max-width: 50rem; padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid var(--line); background: var(--surface); }
.empty-state > span { width: 2rem; }
.faq { padding: 0; }
.faq__filter { display: grid; gap: .35rem; max-width: 36rem; margin-bottom: 1rem; }
.faq__filter label { font-size: var(--font-size-micro); font-weight: 700; }
.faq__categories { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 2rem; }
.faq-category-tab { padding: .55rem .75rem; border: 1px solid var(--line); color: var(--ink); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; }
.faq-category-tab.is-active { border-color: var(--theme-blue-text); background: var(--color-medical-blue); color: var(--rugare-white); box-shadow: inset 0 -.2rem var(--rugare-health-green); }
.faq__list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item__question { margin: 0; font-family: var(--display); font-size: var(--font-size-body); letter-spacing: 0; }
.faq-item__toggle { display: flex; width: 100%; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border: 0; background: transparent; color: var(--ink); font-weight: 700; text-align: left; cursor: pointer; }
.faq-item__icon { font-size: 1.4rem; }
.faq-item__answer { max-width: var(--reading-measure); padding: 0 2rem 1.2rem 0; color: var(--body-text); }
.comments-area { padding-block: 3rem; }
.comment-list { padding-left: 1.5rem; }
.comment-list li { margin-block: 1rem; }
.comment-form :is(input:not([type='submit']), textarea) { width: 100%; padding: .7rem; border: 1px solid var(--line); color: var(--body-text); }

/* Error and insurance pages */
.not-found { position: relative; isolation: isolate; display: grid; min-height: 48rem; overflow: hidden; background: var(--color-medical-blue); color: var(--rugare-white); }
.not-found > .page-banner { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0; }
.not-found > .page-banner picture, .not-found > .page-banner img { width: 100%; height: 100%; object-fit: cover; }
.not-found::after { position: absolute; z-index: -1; inset: 0; background: var(--hero-overlay); content: ''; }
.not-found__inner { display: grid; align-content: center; padding-block: 5rem; }
.not-found h1, .not-found h2 { color: var(--rugare-white); }
.not-found__code { color: rgb(255 255 255 / 20%); font-size: clamp(5rem, 14vw, 12rem); font-weight: 700; line-height: .8; }
.not-found .search-form { margin-bottom: 1rem; }
.not-found__services { max-width: 65rem; margin-top: 3rem; }
.not-found__services ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 0; background: rgb(255 255 255 / 20%); list-style: none; }
.not-found__services a { display: block; padding: .75rem; background: rgb(11 58 91 / 78%); color: var(--rugare-white); text-decoration: none; }
.short-term-insurance__grid, .medical-aid-corporate__grid, .medical-aid-plans__grid, .medical-aid-benefits__grid, .brochure-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); }
.short-term-insurance__card, .medical-aid-corporate__card, .medical-aid-plan-card, .medical-aid-benefit-card, .brochure-item { padding: 1.4rem; background: var(--surface); }
:is(.short-term-insurance__card, .medical-aid-corporate__card, .medical-aid-plan-card, .medical-aid-benefit-card, .brochure-item) h3 { margin-top: 0; font-size: var(--font-size-h4); }
:is(.short-term-insurance__card, .medical-aid-corporate__card, .medical-aid-plan-card, .medical-aid-benefit-card, .brochure-item) :is(p, li, small) { color: var(--muted); font-size: var(--font-size-small); }
.medical-aid-plan-card, .medical-aid-corporate__card { display: grid; gap: 1rem; align-content: start; padding: clamp(1.25rem, 2.5vw, 1.65rem); background: var(--surface); }
.medical-aid-plan-card__header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.medical-aid-plan-card__eyebrow { margin: 0 0 .35rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.medical-aid-plan-card__from { display: grid; gap: .1rem; min-width: max-content; margin: 0; text-align: right; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.medical-aid-plan-card__from strong { color: var(--ink); font-size: clamp(1.65rem, 3vw, 2rem); line-height: 1; letter-spacing: normal; text-transform: none; }
.medical-aid-plan-card__from span { letter-spacing: normal; text-transform: none; }
.medical-aid-plan-card__description { margin: 0; max-width: 34ch; }
.medical-aid-plan-card__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.medical-aid-plan-card__detail { padding: .8rem .9rem; border: 1px solid var(--line); background: rgb(255 255 255 / 70%); }
.medical-aid-plan-card__detail small { display: block; margin-bottom: .25rem; color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.medical-aid-plan-card__detail strong { color: var(--ink); font-size: var(--font-size-body); }
.medical-aid-plan-card__highlights { display: flex; flex-wrap: wrap; gap: .5rem; }
.medical-aid-plan-card__highlights span { display: inline-flex; align-items: center; min-height: 2rem; padding: .35rem .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }
.medical-aid-plan-card__actions, .medical-aid-corporate__action, .medical-aid-process__action, .medical-aid-claims__action { margin-top: 1.5rem; }
.medical-aid-plan-card__actions { margin-top: 0; }
.medical-aid-benefit-card__icon { display: block; width: 2rem; margin-bottom: 1rem; }
.medical-aid-compare__panel { padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid var(--line); background: var(--surface); }
.medical-aid-compare__panel + .medical-aid-compare__block { margin-top: 1.25rem; }
.medical-aid-compare__panel-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.medical-aid-compare__panel-head h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h4); }
.medical-aid-compare__panel-head p { margin: .35rem 0 0; color: var(--muted); font-size: var(--font-size-small); }
.medical-aid-compare__block { margin-top: clamp(2rem, 4vw, 3rem); }
.medical-aid-compare__block-title { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.1rem; margin: 0; border: 1px solid var(--line); background: var(--surface-subtle); color: var(--ink); font-size: var(--font-size-h4); cursor: pointer; }
.medical-aid-compare__block[open] .medical-aid-compare__block-title { border-bottom-color: transparent; }
.medical-aid-compare__controls { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.medical-aid-compare__toggle { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .7rem; border: 1px solid var(--line); border-radius: var(--action-radius); background: var(--surface); color: var(--ink); font-size: var(--font-size-small); font-weight: 700; cursor: pointer; }
.medical-aid-compare__toggle input { width: 1rem; height: 1rem; accent-color: var(--rugare-health-green); }
.medical-aid-compare__toggle.is-off { background: var(--surface); color: var(--muted); }
.medical-aid-compare__panel--interactive { padding-top: 1.1rem; border-top: 0; }
.medical-aid-compare__table-wrap { overflow-x: auto; border: 1px solid var(--line); background: var(--surface); }
.medical-aid-compare__table { width: 100%; min-width: 46rem; border-collapse: collapse; font-size: var(--font-size-small); }
.medical-aid-compare__table th, .medical-aid-compare__table td { padding: .65rem .75rem; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.medical-aid-compare__table thead th { position: sticky; top: 0; z-index: 2; background: var(--color-blue-hover); color: var(--rugare-white); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.medical-aid-compare__table tbody th { position: sticky; left: 0; z-index: 1; min-width: 13rem; background: var(--surface); color: var(--ink); font-weight: 700; text-align: left; }
.medical-aid-compare__table tbody tr:nth-child(even) th { background: var(--surface-subtle); }
.medical-aid-compare__table tbody tr:nth-child(even) td { background: var(--surface-subtle); }
.medical-aid-compare__table td { color: var(--body-text); }
.medical-aid-compare__table td.is-off, .medical-aid-compare__table th.is-off { display: none; }
.medical-aid-compare__table tbody tr:last-child td, .medical-aid-compare__table tbody tr:last-child th { border-bottom: 0; }
.medical-aid-compare__table-divider th { padding: 0; background: var(--line); }
.medical-aid-compare__notes { margin: 1rem 0 0; padding-left: 1.2rem; }
.medical-aid-compare__notes li { color: var(--muted); font-size: var(--font-size-small); }
.brochure-item__header { display: flex; justify-content: space-between; gap: 1rem; }
.short-term-insurance .service-enquiry__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(22rem, 1.28fr); gap: clamp(2rem, 6vw, 6rem); }
.short-term-insurance .service-enquiry__form-wrap { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--surface); }
.service-enquiry__confirmation { width: min(72rem, calc(100% - (2 * var(--gutter)))); }
.service-enquiry .service-enquiry__success { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: clamp(1rem, 3vw, 1.75rem); align-items: start; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); border-top: 4px solid var(--rugare-health-green); background: var(--surface); box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 20%); color: var(--ink); }
.service-enquiry .service-enquiry__success:focus-visible { outline-color: var(--rugare-health-green); }
.service-enquiry__success-icon { display: inline-flex; width: 3.25rem; height: 3.25rem; align-items: center; justify-content: center; background: var(--color-green-surface); color: var(--rugare-health-green); }
.service-enquiry__success-icon svg { width: 1.5rem; }
.service-enquiry__success-content { min-width: 0; }
.service-enquiry__success-label { margin: 0 0 .65rem; color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.service-enquiry .service-enquiry__success h2 { max-width: 18ch; margin: 0; color: var(--ink); font-size: var(--font-size-h2); }
.service-enquiry .service-enquiry__success-content > p:not(.service-enquiry__success-label) { max-width: 47rem; margin: 1rem 0 0; color: var(--ink); }
.service-enquiry__success-next { display: grid; gap: .2rem; max-width: 47rem; padding: 1rem 1.1rem; margin: 1.5rem 0; border-left: 3px solid var(--rugare-health-green); background: var(--color-green-surface); }
.service-enquiry__success-next strong { color: var(--ink); font-size: var(--font-size-small); }
.service-enquiry__success-next span { color: var(--ink); font-size: var(--font-size-small); }
.service-enquiry__success .button { justify-self: start; }
.service-enquiry__success-reference { display: inline-flex; width: fit-content; align-items: center; gap: .75rem; padding: .7rem .85rem; border: 1px solid rgb(16 118 184 / 24%); border-radius: .35rem; background: var(--color-blue-surface); }
.service-enquiry__success-reference span { color: var(--muted); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-enquiry__success-reference strong { color: var(--ink); font-size: var(--font-size-small); letter-spacing: .04em; }
.service-enquiry__success-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.service-enquiry__success-actions .button { min-width: 11.5rem; }

/* Footer */
.site-footer { padding-top: clamp(3.5rem, 5vw, 5rem); border-top: 4px solid var(--rugare-health-green); background: var(--rugare-navy); color: rgb(255 255 255 / 76%); }
.site-footer__grid { display: grid; grid-template-columns: minmax(14rem, 1.05fr) minmax(14rem, 1fr) minmax(11rem, .75fr) minmax(28rem, 1.75fr); gap: clamp(2rem, 3.25vw, 4rem); align-items: start; }
.footer-section { min-width: 0; }
.footer-section--brand { display: contents; }
.footer-brand .brand { width: min(100%, 12.5rem); }
.footer-brand > p { max-width: 22rem; margin: 1.35rem 0 1.5rem; color: rgb(255 255 255 / 72%); font-size: var(--font-size-small); line-height: 1.7; }
.footer-brand__cta, .footer-section__booking { display: inline-flex; width: fit-content; min-height: 2.75rem; align-items: center; gap: .55rem; padding: .65rem .85rem; border: 1px solid rgb(255 255 255 / 32%); border-radius: var(--action-radius); font-weight: 700; text-decoration: none !important; }
.footer-brand__cta .icon, .footer-section__booking .icon { width: .9rem; transition: transform .2s ease; }
.footer-brand__cta:hover .icon, .footer-section__booking:hover .icon { transform: translateX(.2rem); }
.footer-brand__cta { justify-content: space-between; min-width: 8.75rem; border-color: rgb(255 255 255 / 48%); background: rgb(255 255 255 / 7%); color: var(--rugare-white) !important; }
.footer-brand__cta:hover, .footer-brand__cta:focus-visible { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy) !important; text-decoration: none !important; }
.footer-social { margin-top: 1.1rem; }
.footer-social ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; }
.footer-social li { margin: 0; }
.footer-social a { display: inline-flex; width: 2.65rem; height: 2.65rem; align-items: center; justify-content: center; border: 1px solid rgb(255 255 255 / 24%); background: rgb(255 255 255 / 6%); color: var(--rugare-white); transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.footer-social a:hover, .footer-social a:focus-visible { border-color: var(--rugare-health-green); background: rgb(255 255 255 / 12%); color: var(--rugare-white); text-decoration: none; transform: translateY(-2px); }
.footer-social a span, .footer-social svg { display: block; width: 1.15rem; height: 1.15rem; }
.footer-social svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-section--contact { padding: clamp(1.25rem, 2vw, 1.75rem); border: 1px solid rgb(255 255 255 / 16%); border-radius: .5rem; background: rgb(255 255 255 / 5%); }
.footer-section__title { position: relative; margin: 0 0 1.35rem; padding-top: .8rem; color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }
.footer-section__title::before { position: absolute; top: 0; left: 0; width: 2rem; height: 2px; background: var(--rugare-health-green); content: ''; }
.footer-section__intro { margin: 0 0 1rem; font-size: var(--font-size-small); line-height: 1.6; }
.site-footer a { color: rgb(255 255 255 / 92%); font-size: var(--font-size-small); text-decoration: none; text-underline-offset: .22em; }
.site-footer a:hover { color: var(--rugare-white); text-decoration: underline; text-decoration-color: var(--rugare-health-green); text-decoration-thickness: 2px; }
.site-footer ol, .site-footer ul { padding: 0; list-style: none; }
.site-footer li { margin: .58rem 0; line-height: 1.45; }
.site-footer address, .footer-section__hours { margin: 0 0 1.15rem; color: rgb(255 255 255 / 74%); font-size: var(--font-size-small); font-style: normal; line-height: 1.7; }
.footer-services a, .footer-information a { display: inline-block; padding-block: .05rem; }
.footer-section__links { display: grid; gap: .9rem; margin: 0; }
.footer-section__links li { margin: 0; color: rgb(255 255 255 / 76%); line-height: 1.55; }
.footer-section__links strong { color: var(--rugare-white); }
.footer-section__link { display: inline-flex; max-width: 100%; overflow-wrap: anywhere; font-weight: 700 !important; }
.footer-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.25rem, 2vw, 2rem); }
.footer-contact__grid h3 { margin: 0 0 .65rem; color: var(--rugare-white); font-size: var(--font-size-small); }
.footer-contact__grid address { margin-bottom: .65rem; line-height: 1.55; }
.footer-contact__grid .footer-section__link { display: flex; width: fit-content; margin-top: .35rem; }
.footer-contact__grid a[href^='mailto:'] { font-size: var(--font-size-micro); white-space: nowrap; }
.footer-phone-list { display: grid; gap: .05rem; margin: 0 0 .55rem; padding: 0; list-style: none; }
.footer-phone-list .footer-section__link { white-space: nowrap; }
.footer-contact__actions { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; margin-top: 1.25rem; }
.footer-contact__whatsapp { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .45rem; padding-inline: .9rem; border: 1px solid #25d366; border-radius: .3rem; background: rgb(37 211 102 / 10%); color: var(--rugare-white) !important; }
.footer-contact__whatsapp .icon { width: 1rem; color: #48dc7f; }
.footer-contact__whatsapp .icon svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.footer-contact__whatsapp:hover, .footer-contact__whatsapp:focus-visible { background: #128c4a; text-decoration: none !important; }
.footer-section__booking { width: 100%; min-height: 3rem; justify-content: space-between; padding-inline: 1rem; margin-top: 0; border-color: var(--rugare-brand-blue); border-radius: .3rem; background: var(--rugare-brand-blue); color: var(--rugare-white) !important; }
.footer-section__booking:hover, .footer-section__booking:focus-visible { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy) !important; text-decoration: none !important; }
.footer-uk-office { padding-top: .9rem; border-top: 1px solid rgb(255 255 255 / 14%); margin-top: 1rem; }
.footer-uk-office summary { color: rgb(255 255 255 / 88%); font-size: var(--font-size-micro); font-weight: 700; cursor: pointer; }
.footer-uk-office address { margin: .75rem 0 .4rem; font-size: var(--font-size-micro); line-height: 1.55; }
.footer-uk-office .footer-section__link { font-size: var(--font-size-micro); }
.site-footer__bottom { margin-top: clamp(3rem, 5vw, 4.5rem); border-top: 1px solid rgb(255 255 255 / 16%); background: rgb(0 0 0 / 8%); }
.site-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; min-height: 4.5rem; padding-block: 1rem; padding-right: 4.5rem; font-size: var(--font-size-micro); }
.site-footer__copy { color: rgb(255 255 255 / 68%); line-height: 1.5; }
.site-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem 1.25rem; }
.site-footer__legal a, .site-footer__cookie-settings { font-size: var(--font-size-micro); font-weight: 700 !important; }
.site-footer__cookie-settings { padding: 0; border: 0; background: transparent; color: var(--rugare-white); font: inherit; font-size: var(--font-size-body); text-decoration: underline; text-decoration-color: transparent; cursor: pointer; }
.site-footer__cookie-settings:hover, .site-footer__cookie-settings:focus-visible { text-decoration-color: var(--rugare-health-green); }

@media (max-width: 92rem) {
	.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem clamp(2rem, 5vw, 4rem); }
	.footer-section--contact { grid-column: 1 / -1; }
}

.cookie-banner { position: fixed; z-index: 1100; right: 1rem; bottom: 1rem; left: 1rem; max-width: 76rem; padding: clamp(1.1rem, 3vw, 1.75rem); margin-inline: auto; border: 1px solid rgb(255 255 255 / 25%); background: var(--rugare-navy); color: var(--rugare-white); box-shadow: 0 1.25rem 4rem rgb(11 58 91 / 35%); }
.cookie-banner[hidden] { display: none; }
.cookie-banner__content { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; }
.cookie-banner h2 { margin: 0 0 .45rem; color: inherit; font-size: var(--font-size-h3); }
.cookie-banner p { max-width: 65ch; margin: 0; color: rgb(255 255 255 / 84%); font-size: var(--font-size-small); }
.cookie-banner a { color: var(--rugare-white); }
.cookie-banner__actions, .cookie-dialog__actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.cookie-banner .button { min-height: 2.8rem; padding: .65rem .9rem; white-space: nowrap; }
.cookie-banner .button--outline { border-color: rgb(255 255 255 / 55%); background: transparent; color: var(--rugare-white); }
.cookie-banner .button--text { border-color: transparent; background: transparent; color: var(--rugare-white); box-shadow: none; text-decoration: underline; }

.cookie-dialog { width: min(44rem, calc(100% - 2rem)); max-height: calc(100vh - 2rem); padding: 0; overflow: auto; border: 1px solid var(--line); background: var(--surface); color: var(--body-text); box-shadow: 0 1.5rem 5rem rgb(11 58 91 / 35%); }
.cookie-dialog::backdrop { background: rgb(11 58 91 / 72%); backdrop-filter: blur(3px); }
.cookie-dialog > :not(.cookie-dialog__header) { margin-inline: clamp(1.25rem, 4vw, 2rem); }
.cookie-dialog__header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.5rem clamp(1.25rem, 4vw, 2rem); border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.cookie-dialog__header :is(p, h2) { margin: 0; }
.cookie-dialog__close { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 1.75rem; line-height: 1; cursor: pointer; }
.cookie-dialog > p { margin-block: 1.25rem; }
.cookie-dialog__categories { border: 1px solid var(--line); }
.cookie-dialog__categories label { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem 1rem; padding: 1rem; cursor: pointer; }
.cookie-dialog__categories label + label { border-top: 1px solid var(--line); }
.cookie-dialog__categories span { display: grid; gap: .2rem; }
.cookie-dialog__categories small, .cookie-dialog__categories em { color: var(--muted); font-size: var(--font-size-small); font-style: normal; }
.cookie-dialog__categories em { grid-column: 2; text-align: right; }
.cookie-dialog__categories input { width: 1.35rem; height: 1.35rem; accent-color: var(--rugare-brand-blue); }
.cookie-dialog__actions { margin-block: 1.25rem; }
.cookie-dialog__policy { display: flex; gap: 1rem; padding-top: 1rem; padding-bottom: 1.5rem; border-top: 1px solid var(--line); font-size: var(--font-size-small); }
.cookie-embed-placeholder { display: grid; min-height: 24rem; place-content: center; gap: .75rem; padding: 2rem; background: var(--surface-subtle); color: var(--body-text); text-align: center; }
.cookie-embed-placeholder[hidden] { display: none; }
.cookie-embed-placeholder p { max-width: 42ch; margin: 0; }
.cookie-embed-placeholder .button { margin-inline: auto; }

/* Unified typography */
.hero-slide__title,
.service-page__hero h1,
.page-hero--media h1,
:is(.page-hero--compact, .article-hero) h1,
.contact-page__hero h1,
.pharmacy-shop-page__hero h1 {
	font-size: var(--font-size-display);
}

.hero-slide--overview .hero-slide__title {
	font-size: var(--font-size-h1);
}

.home-intro__identity h2,
.services__title h2,
.why-rugare__header h2,
.community-impact__content h2,
.pharmacy-shop__heading h2,
.service-page__body h2,
.contact-page__service-title h2,
.information-page__section h2,
.community-impact__feature h2,
.community-impact__programme h2,
.service-enquiry .service-enquiry__success h2 {
	font-size: var(--font-size-h2);
}

.post-card h2,
.search-results__item h3 {
	font-size: var(--font-size-h3);
}

.service-card h3,
.services-supporting__card h3,
.care-principle h3,
.service-page__access-steps h3,
.service-page__unit-grid article > span,
.service-page__unit-grid h3,
.contact-service-card strong,
.corporate-health__service-card h3,
.corporate-health__packages-grid h3,
:is(.short-term-insurance__card, .medical-aid-corporate__card, .medical-aid-plan-card, .medical-aid-benefit-card, .brochure-item) h3 {
	font-size: var(--font-size-h4);
}

.hero__lead,
.page-hero--media .page-hero__inner > p:last-child,
.service-page__introduction,
:is(.page-hero--compact, .article-hero) .page-hero__inner > p:last-child,
.contact-page__hero-lead,
.about-page__hero-lead,
.pharmacy-shop-page__hero-copy > p:last-of-type,
.home-intro__lead,
.home-intro__editable,
.about-page__intro-copy > p:first-child,
.initiative-single__excerpt,
.event-single__excerpt {
	font-size: var(--font-size-lead);
}

.home-intro__content > p + p,
.services__introduction > p,
.community-impact__lead,
.contact-page__service-introduction > p:first-child,
.prose {
	font-size: var(--font-size-body);
}

.eyebrow,
.hero-slide__eyebrow,
.hero-slide__model,
.hero__hours dt,
.home-intro__facts dt,
.services__legend li,
.badge,
.community-impact__media figcaption,
.community-stat__qualifier,
.service-page__hero-eyebrow,
.service-page__hero-facts dt,
.service-page__shop-link small,
.pharmacy-shop__status,
.pharmacy-shop-page__eyebrow,
.pharmacy-shop-page__status,
.service-page__notice-label,
.contact-page__hero-eyebrow,
.contact-page__hero-facts dt,
.contact-page__service-boundary,
.location-map__hours dt,
p[class*='is-style-rugare-badge-'],
.service-enquiry--compact .service-enquiry__form-heading p,
.service-enquiry--compact .service-enquiry__form-heading small,
:is(.community-impact__programme-dates, .csr-timeline__stats, .initiative-single__meta, .brochure-item__meta) dt,
.wellness-expo-history__date span,
.csr-filter-bar label,
.post-card__date,
.search-results__badge,
.post-navigation span,
.faq__filter label,
.service-enquiry__success-label,
.site-footer__bottom-inner {
	font-size: var(--font-size-micro);
}

.topbar,
.primary-menu a,
.submenu-toggle,
.button,
.button--small,
.hero__hours dd,
.home-intro__facts dd,
.service-card__body > p:not(.badge),
.why-rugare__scope p,
.care-principle p,
.community-impact__visual-label strong,
.community-impact__visual-label span,
.community-stat p,
.service-enquiry__form legend,
.form-field > label,
.form-field__optional,
.form-field small,
.service-enquiry__submit small,
.service-enquiry__consent,
.form-field > .service-enquiry__consent,
.services-supporting__card p,
.services-supporting__link,
.service-page__hero-facts dd,
.service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid) p,
.service-page__access-steps p,
.service-page__cover-options li,
.contact-page__hero-facts dd,
.contact-service-card small,
.location-map__hours dd,
.article-meta,
.authentic-media figcaption,
.about-gallery figcaption,
.service-enquiry--compact .service-enquiry__section-title,
.service-enquiry--compact .form-field > label,
.service-enquiry--compact .form-field__optional,
.community-impact__categories li,
.corporate-health__offering-grid li,
.faq-category-tab,
:is(.short-term-insurance__card, .medical-aid-corporate__card, .medical-aid-plan-card, .medical-aid-benefit-card, .brochure-item) :is(p, li, small),
.service-enquiry__success-next strong,
.service-enquiry__success-next span,
.footer-brand > p,
.footer-section__title,
.footer-section__intro,
.site-footer a,
.site-footer address,
.footer-section__hours {
	font-size: var(--font-size-small);
}

.notice--spaced {
	margin-top: 1.5rem;
}
.site-footer__copy, .site-footer__credit { margin: 0; }
.back-to-top { position: fixed; z-index: 15; right: 1rem; bottom: 1rem; width: 3rem; height: 3rem; border: 0; border-radius: .35rem; background: var(--rugare-brand-blue); color: var(--rugare-white); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(.75rem); transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.back-to-top span { display: grid; place-items: center; transform: rotate(-90deg); }
.back-to-top[hidden] { display: none; }
@media (max-width: 1024px) {
	.site-header__inner { grid-template-columns: minmax(0, 1fr) auto auto; }
	.theme-toggle { grid-column: 2; }
	html.has-navigation-js .menu-toggle { display: block; grid-column: 3; justify-self: end; }
	html.has-navigation-js .primary-navigation { position: absolute; z-index: var(--z-navigation); top: 100%; right: 0; left: 0; display: block; width: 100%; max-width: none; max-height: calc(100dvh - 7.5rem); justify-self: stretch; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: .6rem var(--gutter) max(1rem, env(safe-area-inset-bottom)); border: 0; border-top: 1px solid var(--line); border-radius: 0; background: var(--surface); box-shadow: 0 1.25rem 3.5rem rgb(11 58 91 / 24%); opacity: 0; pointer-events: none; scrollbar-gutter: stable; transform: translateY(-.35rem); transform-origin: top center; transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s; visibility: hidden; }
	html.has-navigation-js .primary-navigation.is-open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); transition-delay: 0s; visibility: visible; }
	html:not(.has-navigation-js) .primary-navigation { grid-column: 1 / -1; width: 100%; justify-self: stretch; }
	.primary-menu, .primary-menu ol { display: block; width: 100%; }
	html.has-navigation-js .primary-navigation :is(.primary-menu a, .submenu-toggle) { color: var(--ink); }
	.primary-menu > li + li { border-top: 0; }
	.primary-menu a, .submenu-toggle { justify-content: space-between; width: 100%; min-height: 3rem; padding-inline: .9rem; border-radius: var(--action-radius); }
	.primary-menu > li > :is(a, .submenu-toggle):hover,
	.primary-menu > li > :is(a, .submenu-toggle):focus-visible { background: var(--surface-subtle); color: var(--theme-blue-text); }
	.primary-menu [aria-current='page'],
	.services-menu:has(.sub-menu [aria-current='page']) > .submenu-toggle { background: var(--color-green-surface); color: var(--ink); box-shadow: inset 3px 0 var(--rugare-health-green); }
	.primary-menu .sub-menu { position: static; inset: auto; width: 100%; max-height: min(42dvh, 19rem); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: .3rem .45rem !important; margin: .25rem 0 .55rem; border: 1px solid var(--line); border-left: 3px solid var(--rugare-health-green); border-radius: .4rem; background: var(--surface-subtle); box-shadow: inset 0 .4rem 1.1rem rgb(11 58 91 / 3%); scrollbar-color: var(--rugare-brand-blue) transparent; scrollbar-width: thin; }
	.primary-menu .sub-menu::before { display: none; }
	.primary-menu .sub-menu a { min-height: 2.65rem; padding: .5rem .7rem; border-bottom-color: var(--line); color: var(--body-text); font-size: var(--font-size-small); }
	.primary-menu .sub-menu a:hover, .primary-menu .sub-menu a:focus-visible { background: var(--surface); color: var(--theme-blue-text); }
	.primary-menu .sub-menu a[aria-current='page'] { padding-left: .7rem; border-left: 0; background: var(--surface); color: var(--ink); box-shadow: inset 3px 0 var(--rugare-health-green); }
	.primary-menu .sub-menu__divider { padding: .7rem .7rem .25rem; border-top-color: var(--line); color: var(--muted); }
	html:not(.has-navigation-js) .sub-menu { display: block !important; }
	body.menu-open { position: fixed; width: 100%; overflow: hidden; }
	body.menu-open::before { position: fixed; z-index: var(--z-backdrop); inset: 0; background: rgb(11 58 91 / 54%); content: ''; backdrop-filter: blur(2px); }
	body.menu-open .site-header { background: var(--surface); box-shadow: 0 .75rem 2.5rem rgb(11 58 91 / 28%); }
	.service-grid, .trust-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.why-rugare__layout { grid-template-columns: 1fr; }
	.why-rugare__header { position: static; }
	.partners__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.community-impact__grid { grid-template-columns: minmax(0, 1fr); }
	.community-impact__visual { min-height: 32rem; }
	.community-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.information-page--community-impact .community-impact__categories ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.information-page--community-impact .wellness-expo-history__timeline { grid-template-columns: 1fr; }
	.information-page--community-impact .community-impact__gallery-bridge { grid-template-columns: 1fr; align-items: start; }
	.information-page--community-impact .community-impact__gallery-bridge .button { width: fit-content; }
	.information-page--community-impact .community-impact__final { grid-template-columns: 1fr; align-items: start; }
	.information-page--community-impact .community-impact__final .community-links { flex-wrap: wrap; }
	.about-page__hero-grid { grid-template-columns: minmax(0, 1fr) minmax(18rem, .85fr); }
	.about-overview__grid { grid-template-columns: minmax(0, 1fr) minmax(16rem, .7fr); }
	.about-story__grid { grid-template-columns: minmax(16rem, .7fr) minmax(0, 1fr); }
	.about-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-purpose__editorial-grid { grid-template-columns: minmax(10rem, .32fr) minmax(0, 1fr); }
	.about-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-community__grid { grid-template-columns: minmax(16rem, .75fr) minmax(0, 1fr); }
	.about-leadership__groups { grid-template-columns: 1fr; }
	.home .service-enquiry__grid { grid-template-columns: 1fr; }
	.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.footer-section--brand { grid-column: 1 / -1; }
	.services-supporting__grid, .service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid), .service-page__access-steps, .service-page__unit-grid, .service-page__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-overview__help-grid { grid-template-columns: 1fr; }
	:is(.services-overview, .service-page) .service-enquiry__grid { grid-template-columns: 1fr; }
	.contact-page > .service-enquiry .service-enquiry__grid { grid-template-columns: 1fr; }
	.contact-page__overview-grid, .contact-page__map-grid, .contact-page__support-grid { grid-template-columns: 1fr; }
	.corporate-health__grid, .corporate-health__packages-grid, .short-term-insurance__grid, .medical-aid-corporate__grid, .medical-aid-plans__grid, .medical-aid-benefits__grid, .brochure-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.community-impact__categories ul, .corporate-health__offering-grid, .corporate-health__steps, .medical-aid-process__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 832px) {
	.faq-page__heading, .faq-page__layout { grid-template-columns: 1fr; }
	.faq-page__support { position: static; order: 2; }
	.faq-page__groups { order: 1; }
	.faq-page__group-heading { grid-template-columns: 1fr; }
	.privacy-document__layout, .terms-document__layout, .cookie-document__layout { grid-template-columns: 1fr; gap: 1.25rem; }
	.privacy-document__nav, .terms-document__nav, .cookie-document__nav { position: static; max-height: none; }
	.privacy-document__nav ol, .terms-document__nav ol, .cookie-document__nav ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
	.cookie-document__notice { grid-template-columns: 2.5rem minmax(0, 1fr) !important; }
	.cookie-document__notice .button { grid-column: 2; width: fit-content; }
	.service-page__essentials--ambulance { grid-template-columns: 1fr; }
	.service-page__ambulance-intro-media { min-height: 28rem; aspect-ratio: 4 / 3; }
	.service-page__ambulance-routes { grid-template-columns: 1fr; }
	.service-page__ambulance-route { min-height: 0; }
	.service-page__ambulance-contact { grid-template-columns: 1fr; }
	.service-page__ambulance-contact ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.service-page__essentials--guidance { grid-template-columns: 1fr; }
	.service-page__essentials--guidance .service-page__panel--blue { border-top: 1px solid var(--line); border-left: 0; }
	.service-page__essentials--guidance .service-page__check-list { grid-template-columns: 1fr; }
	.service-page--dialysis .service-page__essentials { grid-template-columns: 1fr; }
	.service-page__dialysis-why-layout,
	.service-page__dialysis-journey-layout { grid-template-columns: 1fr; min-height: 0; }
	.service-page__dialysis-why-media { min-height: 27rem; }
	.service-page__dialysis-journey-media { min-height: 30rem; }
	.service-page__dialysis-why-picture,
	.service-page__dialysis-why-picture picture,
	.service-page__dialysis-why-picture img,
	.service-page__dialysis-journey-picture,
	.service-page__dialysis-journey-picture picture,
	.service-page__dialysis-journey-picture img { position: absolute; inset: 0; }
	.service-page__dialysis-visit-head { grid-template-columns: 1fr; }
	.service-page__dialysis-visit-head h2 { font-size: var(--font-size-h2); }
	.service-page__dialysis-visit-intro { max-width: none; }
	.service-page__dialysis-cta { grid-template-columns: 1fr; }
	.service-page__dialysis-cta-copy h2 { max-width: 18ch; }
	.dialysis-audience__shell { grid-template-columns: 1fr; }
	.dialysis-audience__content { border-right: 0; border-bottom: 1px solid var(--line); }
	.dialysis-audience__media { min-height: 24rem; }
	.dialysis-audience__media figcaption { right: 1rem; bottom: 1rem; max-width: 18rem; }
	.service-page--gp .service-page__essentials { grid-template-columns: 1fr; }
	.service-page__gp-intro-media { min-height: 29rem; aspect-ratio: 4 / 3; }
	.service-page--gp .service-page__gp-intro-content .service-page__check-list { grid-template-columns: 1fr; }
	.service-page--gp #gp-supporting { grid-template-columns: 1fr; gap: 2.75rem; }
	.service-page--gp #gp-supporting .service-page__gp-heading { max-width: 42rem; margin-inline: auto; text-align: center; }
	.service-page--gp #gp-supporting .service-page__gp-heading .eyebrow { justify-content: center; }
	.service-page--gp #gp-supporting h2 { max-width: 16ch; margin-inline: auto; }
	.service-page--gp #gp-supporting .service-page__gp-heading > p:last-child { max-width: 38rem; margin-inline: auto; }
	.service-page--gp #gp-supporting .service-page__supporting-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.service-page--gp .service-page__gp-cta { grid-template-columns: 1fr; }
	.service-page__medical-aid-heading { grid-template-columns: 1fr; gap: 1.25rem; }
	.service-page__medical-aid-heading > p { max-width: 44rem; }
	.service-page--dentist .service-page__dentist-cta { grid-template-columns: 1fr; }
	.service-page--physician .service-page__physician-cta { grid-template-columns: 1fr; }
	.service-page--diagnostic-laboratory .service-page__lab-cta { grid-template-columns: 1fr; }
	.service-page__ambulance-services .service-page__partner-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.service-page--homecare .service-page__essentials { grid-template-columns: 1fr; }
	.service-page__homecare-intro-media { min-height: 28rem; aspect-ratio: 4 / 3; }
	.service-page--homecare .service-page__homecare-intro-content .service-page__check-list { grid-template-columns: 1fr; }
	.service-page--homecare .service-page__homecare-cta { grid-template-columns: 1fr; }
	.pharmacy-shop__grid { grid-template-columns: 1fr; gap: 2rem; }
	.pharmacy-shop-page__experience .section-heading--split, .pharmacy-shop-page__safeguards, .pharmacy-shop-page__launch-panel { grid-template-columns: 1fr; gap: 2.5rem; }
	.pharmacy-shop-page__journey { grid-template-columns: 1fr; }
	.pharmacy-shop-page__journey article { min-height: 0; }
	.services__header { grid-template-columns: 1fr; gap: 2rem; }
	.contact-page__service-header { grid-template-columns: 1fr; gap: 2rem; }
	.contact-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.location-map__grid, .service-page__journey-support, .service-page__journey-support ul { grid-template-columns: 1fr; }
	.location-map__frame { border-top: 1px solid var(--line); border-left: 0; }
	.location-map__frame, .location-map__frame iframe { min-height: 30rem; }
	.home-intro__grid, .wellness-expo-history__timeline article, .wellness-expo-history__content { grid-template-columns: 1fr; }
	.home-intro__identity { border-right: 0; border-bottom: 1px solid var(--line); }
	.home-intro__identity::after { margin-top: 2.5rem; }
	.about-page__hero-grid, .about-overview__grid, .about-story__grid, .about-purpose__editorial-grid, .about-principles__grid, .about-community__grid, .about-leadership__header { grid-template-columns: 1fr; }
	.about-leadership__feature { grid-template-columns: 1fr; }
	.about-leadership__feature-heading { min-height: 9.5rem; }
	.about-leadership__feature-heading h3 { max-width: none; margin-top: 2rem; }
	.about-leadership__board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-page__hero-media { order: 2; }
	.about-story__media { position: static; }
	.about-values__header { grid-template-columns: 1fr; }
	.about-timeline { grid-template-columns: 1fr; }
	.about-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-leader--featured { grid-template-columns: 10rem minmax(0, 1fr); align-items: start; }
	.wellness-expo-history__image { grid-column: auto; grid-row: auto; }
	.information-page__sections, .community-impact__features, .community-impact__programmes-grid, .search-results__list { grid-template-columns: 1fr; }
	.information-page--community-impact .information-page__content { gap: 3rem; }
	.information-page--community-impact .section-heading--split { display: block; }
	.information-page--community-impact .section-heading--split > p { margin-top: 1rem; }
	.information-page--community-impact .wellness-expo-history__timeline article { grid-template-columns: 1fr; }
	.information-page--community-impact .wellness-expo-history__content { grid-template-columns: 1fr; }
	.information-page--community-impact .wellness-expo-history__image { grid-column: auto; grid-row: auto; }
	.information-page--community-impact .wellness-expo-history__image img { min-height: 0; aspect-ratio: 16 / 10; }
	.post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-gallery figure:nth-child(3n + 2) img { height: 20rem; }
	.community-stats { grid-template-columns: 1fr; }
	.community-stat { padding: 1.25rem; }
	.community-stat + .community-stat { padding-left: 1.25rem; border-left: 1px solid var(--line); }
	.information-page--community-impact .community-impact__documentary-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
	.information-page--community-impact .community-impact__documentary-image--lead { grid-row: auto; }
	.information-page--community-impact .community-impact__documentary-image img,
	.information-page--community-impact .community-impact__documentary-image--lead img { min-height: 0; aspect-ratio: 4 / 3; }
}

@media (min-width: 769px) and (max-width: 1024px) {
	.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 833px) and (max-width: 1024px) {
	.service-page__unit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 608px) {
	.faq-page__tools { align-items: stretch; flex-direction: column; }
	.faq-page__search { width: 100%; }
	.faq-page__bulk-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.faq-page__bulk-actions button { width: 100%; }
	.faq-page__item summary { min-height: 4.5rem; padding: 1rem; }
	.faq-page__answer { padding: 0 1rem 1.25rem; }
	.faq-page__group-heading { padding: 1.2rem 1rem; }
	.page-hero--media, .service-page__hero, .service-page--dialysis .service-page__hero { min-height: 0; }
	.page-hero__media-grid, .service-page__hero-grid { padding-block: 2.5rem 3rem; }
	.information-page--community-impact .community-impact__gallery-bridge .button { width: 100%; white-space: normal; }
	.service-page--dialysis .service-page__dialysis-services { padding: 1.4rem !important; }
	.service-page--dialysis .service-page__dialysis-heading { display: block; }
	.service-page--dialysis .service-page__dialysis-heading > p:last-child { margin-top: 1rem; font-size: var(--font-size-body); }
	.service-page--dialysis .service-page__supporting-grid > article { min-height: 0; padding: 1.25rem; }
	.service-page__dialysis-services-next { align-items: stretch; flex-direction: column; }
	.service-page__dialysis-services-next .button { width: 100%; }
	.service-page__dialysis-why-media { min-height: 22rem; }
	.service-page__dialysis-journey-media { min-height: 25rem; }
	.service-page__dialysis-why-content { padding: 1.4rem; }
	.service-page__dialysis-why-heading h2 { font-size: clamp(1.8rem, 9vw, 2.35rem); }
	.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid { grid-template-columns: 1fr; }
	.service-page__dialysis-journey-content { padding: 1.4rem; }
	.service-page__dialysis-journey-content .service-page__dialysis-visit-head h2 { font-size: clamp(1.8rem, 9vw, 2.35rem); }
	.service-page__actions, .services-overview__hero-actions { display: grid; grid-template-columns: 1fr; }
	.service-page__actions .button, .services-overview__hero-actions .button { width: 100%; min-width: 0; }
	.service-page__hero-facts { grid-template-columns: 1fr; }
	.service-page__hero-facts > div + div { padding-left: 1rem; border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
	.legal-document__summary { display: block; }
	.privacy-document__nav, .terms-document__nav, .cookie-document__nav { padding: 1rem; }
	.privacy-document__nav ol, .terms-document__nav ol, .cookie-document__nav ol { grid-template-columns: 1fr; }
	.privacy-document__body .legal-document__section, .terms-document__body .legal-document__section, .cookie-document__body .legal-document__section { padding: 1.4rem; }
	.privacy-document__notice, .terms-document__notice, .cookie-document__notice { grid-template-columns: 1fr !important; }
	.privacy-document__notice > span, .terms-document__notice > span, .cookie-document__notice-icon { width: 2.25rem; height: 2.25rem; }
	.cookie-document__notice .button { grid-column: auto; width: 100%; min-width: 0; white-space: normal; }
	.legal-document__summary > div + div { border-top: 1px solid var(--line); }
	.legal-document__standards, .legal-document__contact-card, .cookie-policy__categories { grid-template-columns: 1fr; }
	.cookie-policy__categories article { min-height: 0; }
	.cookie-banner { right: .5rem; bottom: .5rem; left: .5rem; }
	.cookie-banner__content { grid-template-columns: 1fr; }
	.cookie-banner__actions .button { width: 100%; }
	.medical-aid-application__lookup-grid { grid-template-columns: 1fr; }
	.medical-aid-application__form-wrap { padding: 1.5rem 1.1rem; }
	.medical-aid-application__progress-list, .medical-aid-application__review-grid { grid-template-columns: 1fr; }
	.medical-aid-application__grid, .medical-aid-application__insurance-row { grid-template-columns: 1fr; }
	.medical-aid-application__insurance-row { align-items: stretch; }
	.medical-aid-application__medical-row { flex-direction: column; gap: .5rem; }
	.medical-aid-application__medical-answer { white-space: normal; }
	.medical-aid-application__submit .button { width: 100%; }
	.topbar__message { display: none; }
	.topbar__inner { justify-content: flex-end; }
	.brand { width: 9rem; }
	.site-header__inner { min-height: 5rem; gap: .65rem; }
	html.has-navigation-js .primary-navigation { top: calc(100% + .55rem); right: var(--gutter); left: auto; width: calc(100vw - (var(--gutter) * 2)); max-width: 22rem; max-height: min(70dvh, 30rem); padding: .65rem; border: 1px solid var(--line); border-top: 3px solid var(--color-health-green); border-radius: .7rem; transform: translateY(-.35rem) scale(.985); transform-origin: top right; }
	html.has-navigation-js .primary-navigation.is-open { transform: translateY(0); }
	.primary-menu .sub-menu { max-height: min(34dvh, 14rem); }
	.section-heading--split { grid-template-columns: 1fr; }
	.hero { min-height: 0; }
	.hero-slide--overview .hero-slide__banner img { object-position: 70% center; }
	.hero-slide::after { background: var(--hero-overlay-mobile); }
	.hero__grid { padding-block: 3.5rem 6rem; }
	.homepage-hero__inner { min-height: 0; padding-block: 2.5rem 3rem; }
	.homepage-hero__content { padding: 1rem; backdrop-filter: none; }
	.hero-slide__title,
	.hero-slide--overview .hero-slide__title,
	.pharmacy-shop-page__hero h1,
	.service-page__hero h1,
	.page-hero--media h1,
	:is(.page-hero--compact, .article-hero) h1,
	.contact-page__hero h1 { font-size: var(--font-size-h1); }
	.hero__lead { font-size: var(--font-size-body); }
	.hero__hours { grid-template-columns: 1fr; }
	.hero__hours > div { padding: .6rem 0; }
	.hero__hours > div + div { padding-left: 0; border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
	.hero__actions .button { width: 100%; }
	.pharmacy-shop-page__hero { min-height: 0; }
	.pharmacy-shop-page__hero::after { background: var(--hero-overlay-mobile); }
	:is(.page-hero--compact, .article-hero)::after { background: var(--hero-overlay-mobile); }
	.pharmacy-shop-page__hero-grid { min-height: 0; padding-block: 3rem 3.5rem; }
	.pharmacy-shop-page__hero-actions .button, .pharmacy-shop__actions .button, .pharmacy-shop-page__launch-actions .button { width: 100%; }
	.service-grid, .trust-points, .care-principles, .partners__logos, .site-footer__grid { grid-template-columns: 1fr; }
	.community-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.care-principle { grid-template-columns: 2rem minmax(0, 1fr); }
	.care-principle__icon { grid-row: 1 / 3; }
	.care-principle h3, .care-principle p { grid-column: 2; }
	.service-enquiry__form, .footer-section--brand { grid-template-columns: 1fr; }
	.form-field { grid-column: 1 / -1; }
	.community-links .button { width: 100%; }
	.contact-actions__inner { grid-template-columns: 1fr; }
	.contact-actions__actions { display: grid; width: 100%; justify-content: stretch; }
	.contact-actions__actions .button { width: 100%; }
	.service-enquiry--compact .service-enquiry__form-heading { display: grid; align-items: start; }
	.service-enquiry--compact .service-enquiry__form-heading small { white-space: normal; }
	.service-enquiry--compact .service-enquiry__required-note { width: fit-content; margin-left: 0; }
	.service-enquiry--compact .service-enquiry__contact-options label { width: 100%; }
	.service-enquiry--compact :is(.service-enquiry__form-section, .service-enquiry__submit) { grid-template-columns: 1fr; }
	.service-enquiry--compact .service-enquiry__submit .button { width: 100%; }
	.service-enquiry--compact .service-enquiry__form-wrap { border-radius: .75rem; }
	.home-intro__facts { grid-template-columns: 1fr; }
	.home-intro__facts > div { padding: 1.15rem; }
	.home-intro__facts > div + div { padding-left: 1.15rem; border-top: 0; border-left: 0; }
	.about-page__hero { padding-block: 2.5rem 3.25rem; }
	.about-page__hero-copy h1 { max-width: 12ch; }
	.about-page__hero-trust { display: grid; gap: .65rem; }
	.about-overview__facts { grid-template-columns: 1fr; }
	.about-overview__facts > div { padding: .9rem 0; }
	.about-overview__facts > div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
	.about-values__header { gap: 2rem; }
	.about-values__grid { grid-template-columns: 1fr; }
	.about-values__grid > :nth-last-child(-n + 2) { border-bottom: 0; }
	.about-values__grid > :last-child { border-bottom: 1px solid var(--line); }
	.about-services__grid { grid-template-columns: 1fr; }
	.about-community__media img, .about-story__media img, .about-page__hero-media img { height: auto; aspect-ratio: 4 / 3; }
	.about-leadership__summary ul { display: grid; grid-template-columns: 1fr; }
	.about-leadership__summary li { width: fit-content; }
	.about-leadership__feature-heading { min-height: 8rem; padding: 1.25rem; }
	.about-leader, .about-leader--featured { grid-template-columns: 5.5rem minmax(0, 1fr); }
	.about-leadership__group--chair .about-leader { grid-template-columns: 5.5rem minmax(0, 1fr); }
	.about-leadership__group--chair .about-leader__media img, .about-leadership__group--chair .about-leader__placeholder { aspect-ratio: 1 / 1; }
	.about-leader--featured { min-height: 0; gap: 1.1rem; padding: 1rem; }
	.about-leader--featured .about-leader__body h4 { font-size: clamp(1.55rem, 8vw, 2.15rem); }
	.about-leader--featured .about-leader__role { margin-top: .55rem; font-size: var(--font-size-small); }
	.about-leadership__group { padding: 1.1rem; }
	.about-leadership__board-grid { grid-template-columns: 1fr; }
	.about-leadership__board-grid .about-leader { min-height: 7.75rem; }
	.about-leader__photo-action { opacity: 1; transform: none; }
	.about-leader__photo-action small { display: none; }
	.leadership-lightbox { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
	.leadership-lightbox figure { max-height: calc(100dvh - 1rem); }
	.leadership-lightbox figure img { height: min(72dvh, 42rem); }
	.about-board-list { grid-template-columns: 1fr; }
	.about-board-list li, .about-board-list li:nth-child(odd) { padding: .9rem 0; border-right: 0; }
	.about-final-cta h2 { font-size: var(--font-size-h2); }
	.footer-section--brand { grid-column: auto; padding-right: 0; }
	.footer-services, .footer-information, .footer-section--contact { padding-top: 1.75rem; margin-top: .25rem; border-top: 1px solid rgb(255 255 255 / 14%); }
	.footer-section--contact { padding-inline: 1.25rem; padding-bottom: 1.25rem; }
	.site-footer__bottom-inner { display: grid; padding-right: 4.5rem; }
	.site-footer__legal { justify-content: flex-start; }
	.page-hero--media { min-height: 36rem; }
	.service-page__hero { min-height: 0; }
	.page-hero--media::after, .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page--dialysis .service-page__hero .page-banner img { object-position: 45% center; }
	.service-page--pharmacy .service-page__hero .page-banner img { object-position: 58% center; }
	.service-page--pharmacy .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page--gp .service-page__hero .page-banner img { object-position: 50% 32%; }
	.service-page--gp .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page--dentist .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page--physician .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page--diagnostic-laboratory .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page--homecare .service-page__hero::after { background: var(--hero-overlay-mobile); }
	.service-page__hero-grid { min-height: 0; padding-block: 3rem 3.5rem; }
	.service-page__hero-copy { display: flex; flex-direction: column; }
	.service-page__actions { order: 1; }
	.service-page__hero-facts { order: 2; }
	.service-page__introduction { margin-top: 1rem; font-size: var(--font-size-body); line-height: 1.55; }
	.service-page__hero-facts { grid-template-columns: 1fr; }
	.service-page--pharmacy .service-page__hero-facts { grid-template-columns: 1fr; }
	.service-page--pharmacy .service-page__hero-facts > div:nth-child(4) { border-left: 0; }
	.service-page--gp .service-page__hero-facts { grid-template-columns: 1fr; }
	.service-page--gp .service-page__hero-facts > div:nth-child(4) { border-left: 0; }
	.service-page--dentist .service-page__hero-facts { grid-template-columns: 1fr; }
	.service-page--dentist .service-page__hero-facts > div:nth-child(4) { border-left: 0; }
	.service-page--physician .service-page__hero-facts { grid-template-columns: 1fr; }
	.service-page--physician .service-page__hero-facts > div:nth-child(4) { border-left: 0; }
	.service-page--diagnostic-laboratory .service-page__hero-facts,
	.service-page--diagnostic-laboratory .service-page__lab-service-grid { grid-template-columns: 1fr; }
	.service-page--diagnostic-laboratory .service-page__hero-facts > div:nth-child(4) { border-left: 0; }
	.service-page--gp .service-page__gp-service-grid,
	.service-page--gp #gp-supporting .service-page__supporting-grid { grid-template-columns: 1fr; }
	.service-page--gp #gp-supporting .service-page__supporting-grid > a { min-height: 0; }
	.service-page--homecare .service-page__hero-facts,
	.service-page--homecare .service-page__homecare-service-grid { grid-template-columns: 1fr; }
	.service-page--homecare .service-page__hero-facts > div:nth-child(4) { border-left: 0; }
	.service-page__hero-facts { margin-top: 1.25rem; background: rgb(11 58 91 / 32%); }
	.service-page__hero-facts > div { padding: .65rem .75rem; }
	.service-page__hero-facts > div + div { padding-left: .75rem; border-top: 1px solid rgb(255 255 255 / 22%); border-left: 0; }
	.service-page__hero-facts dd { font-size: var(--font-size-small); line-height: 1.4; }
	.service-page__actions { margin-top: 1.25rem; }
	.service-page__actions .button { width: 100%; }
	.service-page__medical-aid-grid { grid-template-columns: 1fr; }
	.service-page__medical-aid-grid > article { min-height: 0; }
	.service-page__medical-aid-grid article > .button { width: 100%; }
	.service-page__medical-aid-actions { align-items: stretch; }
	.service-page__medical-aid-actions .button { width: 100%; }
	.service-page__essentials, .services-supporting__grid, .service-page__body :is(.service-page__pharmacy-service-grid, .service-page__gp-service-grid, .service-page__physician-service-grid, .service-page__dentist-service-grid, .service-page__homecare-service-grid, .service-page__partner-service-grid, .service-page__supporting-grid), .service-page__access-steps, .service-page__unit-grid, .service-page__journey-support ul, .service-page__related-grid { grid-template-columns: 1fr; }
	.services-overview__hero-actions, .services-overview__help-actions { flex-direction: column; align-items: stretch; }
	.contact-page__map-actions, .contact-page__help-actions { flex-direction: column; align-items: stretch; }
	.service-page__dialysis-visit { padding: 1.5rem; }
	.service-page__dialysis-cta { padding: 1.5rem; }
	.service-page__dialysis-contact-options { grid-template-columns: 1fr; }
	.service-page__dialysis-cta-actions { padding: .75rem; }
	.dialysis-audience__content { padding: 1.5rem; }
	.dialysis-audience__content h2 { max-width: none; font-size: var(--font-size-h3); white-space: normal; }
	.dialysis-audience__lead { margin-top: 1rem; font-size: var(--font-size-small); line-height: 1.65; }
	.dialysis-audience__list { margin-top: 1.5rem; }
	.service-page { padding-bottom: 4.8rem; }
	.service-mobile-bar.is-visible { position: fixed; z-index: 12; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; padding: .7rem var(--gutter); border-top: 2px solid var(--color-health-green); background: rgb(16 118 184 / 97%); backdrop-filter: blur(14px); }
	.service-page > .service-mobile-bar .button--outline { border-color: rgb(255 255 255 / 72%); background: transparent; color: var(--rugare-white); }
	.service-page > .service-mobile-bar .button { min-width: 0; padding-inline: .45rem; font-size: var(--font-size-body); }
	.contact-page__hero { display: grid; min-height: 0; background: var(--rugare-navy); }
	.contact-page__hero .page-banner { position: relative; z-index: auto; height: clamp(15rem, 66vw, 19rem); grid-row: 1; }
	.contact-page__hero .page-banner img { object-position: 72% center; }
	.contact-page__hero::after { display: none; }
	.contact-page__hero .contact-page__hero-inner { width: 100%; min-height: 0; grid-row: 2; padding: 2.5rem var(--gutter) 3.25rem; background: var(--rugare-navy); }
	.contact-page__hero-copy { max-width: none; }
	.contact-page__hero-facts { grid-template-columns: 1fr; }
	.contact-page__hero-facts > div { padding: .8rem 0; }
	.contact-page__hero-facts > div + div { padding-left: 0; border-top: 1px solid rgb(255 255 255 / 28%); border-left: 0; }
	.contact-page__hero-facts dd { white-space: normal; }
	.contact-page__hero-actions .button { width: 100%; }
	.about-leadership__summary { padding: 1rem 0 0; border-top: 2px solid var(--rugare-health-green); border-left: 0; }
	.contact-service-grid, .location-map__hours { grid-template-columns: 1fr; }
	.contact-service-grid { gap: .8rem; }
	.contact-service-card { min-height: 12.5rem; grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 0; align-items: stretch; padding: 1.15rem; }
	.contact-service-card__top { display: grid; }
	.contact-service-card__icon { width: 2.6rem; height: 2.6rem; }
	.contact-service-card__icon svg { width: 1.4rem; }
	.contact-service-card__number { display: inline; }
	.contact-service-card__summary { display: -webkit-box; }
	.contact-service-card__action { display: flex; }
	.contact-service-card__copy { grid-column: auto; grid-row: auto; align-self: stretch; gap: 0; margin-top: 1rem; }
	.contact-service-card strong { font-size: var(--font-size-lead); }
	.contact-service-card small { padding: .3rem .5rem; background: var(--color-blue-surface); color: var(--theme-blue-text); }
	.contact-service-card__arrow { width: 1.25rem; height: 1.25rem; grid-column: auto; grid-row: auto; }
	.location-map__hours > div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
	.location-map__copy { padding: 1.5rem; }
	.location-map__copy .button { width: 100%; }
	.location-map__external { top: .85rem; right: .85rem; }
	.page-hero--compact, .article-hero { min-height: 27rem; }
	.about-page__hero-actions { display: grid; }
	.about-page__hero-actions .button { width: 100%; min-width: 0; }
	.about-gallery, .community-photo-grid, .community-impact__categories ul, .corporate-health__offering-grid, .corporate-health__grid, .corporate-health__packages-grid, .corporate-health__steps, .medical-aid-process__list, .post-grid, .short-term-insurance__grid, .medical-aid-corporate__grid, .medical-aid-plans__grid, .medical-aid-benefits__grid, .brochure-list, .not-found__services ol { grid-template-columns: 1fr; }
	.community-gallery-lightbox__navigation { right: .35rem; left: .35rem; }
	.community-gallery-lightbox__navigation button { min-width: 5rem; }
	.information-page--community-impact .information-page__hero { min-height: 34rem; }
	.information-page--community-impact .information-page__hero-actions { gap: .6rem; }
	.information-page--community-impact .information-page__content > section:not(.community-impact),
	.information-page--community-impact .community-impact__inner { padding: 1.35rem; border-radius: .65rem; }
	.information-page--community-impact .community-impact__categories ul { grid-template-columns: 1fr; }
	.information-page--community-impact .community-impact__categories li { min-height: 3.75rem; }
	.information-page--community-impact .community-impact__final .community-links { display: grid; width: 100%; grid-template-columns: 1fr; }
	.information-page--community-impact .community-impact__final .button { width: 100%; }
	.about-gallery figure img, .about-gallery figure:nth-child(3n + 2) img { height: 18rem; }
	.community-events { padding-block: clamp(3rem, 7vw, 5rem); }
	.community-events .section-heading { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
	.final-action__links .button, .medical-aid-actions__buttons .button { width: 100%; }
	.medical-aid-application__progress-head, .medical-aid-application__step-actions { flex-direction: column; align-items: stretch; }
	.csr-timeline__item { grid-template-columns: 1fr; gap: .75rem; padding-left: 1rem; }
	.csr-timeline__stats, .initiative-single__meta, .brochure-item__meta { grid-template-columns: 1fr; }
	.post-navigation { grid-template-columns: 1fr; }
	.search-form { flex-direction: column; }
	.not-found { min-height: 42rem; }
}

/* -------------------------------------------------------------------------
   Medical aid application page
   ------------------------------------------------------------------------- */

.medical-aid-application__lookup { margin-bottom: clamp(2rem, 4vw, 3rem); }

.medical-aid-application__lookup-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(18rem, 1.15fr); gap: 1rem; padding: clamp(1.35rem, 4vw, 2rem); border: 1px solid var(--line); background: var(--surface-subtle); }

.medical-aid-application__lookup-form-wrap { display: grid; gap: 1rem; }

.medical-aid-application__lookup-form { display: grid; gap: 1rem; }

.medical-aid-application__lookup-result { margin: 0; }

.medical-aid-application__session { display: grid; gap: 1.25rem; margin-top: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--line); background: var(--surface-subtle); }

.medical-aid-application__resume { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }

.medical-aid-application__resume summary { cursor: pointer; font-weight: 700; color: var(--theme-blue-text); }

.medical-aid-application__timeline { display: grid; gap: .6rem; margin: 1rem 0; padding-left: 1.4rem; }

.medical-aid-application__timeline li::marker { color: var(--theme-green-text); }

.medical-aid-support-workflows .service-page__supporting-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }

.medical-aid-support-workflows .service-page__enquiry { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--line); background: var(--surface); }

@media (max-width: 800px) { .medical-aid-support-workflows .service-page__supporting-grid { grid-template-columns: 1fr; } }

.medical-aid-application__form-wrap { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); background: var(--surface); }

.medical-aid-application__progress { display: grid; gap: .85rem; padding: 1rem; margin-bottom: 1.5rem; border: 1px solid var(--line); background: var(--surface-subtle); }

.medical-aid-application__progress-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }

.medical-aid-application__progress-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; padding: 0; margin: 0; list-style: none; }

.medical-aid-application__progress-list li { padding: .7rem .8rem; border: 1px solid var(--line); background: var(--paper); color: var(--muted); font-size: var(--font-size-small); font-weight: 700; }

.medical-aid-application__progress-list li.is-current { border-color: var(--theme-blue-text); background: var(--color-blue-surface); color: var(--ink); }

.medical-aid-application__progress-list li.is-complete { border-color: color-mix(in srgb, var(--rugare-health-green) 38%, var(--line)); background: var(--color-green-surface); color: var(--ink); }

.medical-aid-application__progress-note { margin: 0; color: var(--muted); font-size: var(--font-size-small); }

.medical-aid-application__intro { max-width: 44rem; margin-bottom: 1.75rem; }

.medical-aid-application__form { display: grid; gap: 1.75rem; }

.medical-aid-application__section { display: grid; gap: 1.1rem; padding: 0; border: 0; margin: 0; }
.medical-aid-application__section[hidden] { display: none; }
.medical-aid-application__section > legend { padding: .55rem .8rem; margin-bottom: .5rem; width: 100%; background: var(--color-blue-surface); color: var(--theme-blue-text); font-size: var(--font-size-lead); font-weight: 700; }

.medical-aid-application__hint { color: var(--muted); font-size: var(--font-size-small); }

.medical-aid-application__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.medical-aid-application__subheading h3 { margin: .25rem 0 0; font-size: var(--font-size-h4); }

.medical-aid-application__insurance { display: grid; gap: .6rem; }
.medical-aid-application__insurance-row { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 1rem; align-items: end; padding: .7rem .8rem; border: 1px solid var(--line); background: var(--paper); }
.medical-aid-application__insurance-row fieldset { padding: 0; border: 0; margin: 0; }
.medical-aid-application__insurance-row legend { margin-bottom: .35rem; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }

.radio-inline { display: inline-flex; align-items: center; gap: .3rem; margin-right: .8rem; color: var(--ink); font-size: var(--font-size-small); font-weight: 600; }
.radio-inline input { width: 1.05rem; height: 1.05rem; min-height: 0; accent-color: var(--rugare-health-green); }

.medical-aid-application__dependants { display: grid; gap: 1rem; }
.medical-aid-application__dependants-list { display: grid; gap: 1rem; }
.medical-aid-application__dependant { display: grid; gap: .9rem; padding: 1rem; border: 1px solid var(--line); background: var(--paper); }
.medical-aid-application__dependant-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.medical-aid-application__dependant-head h3 { margin: 0; font-size: var(--font-size-h4); }
.medical-aid-application__remove-dependant { border: 0; background: none; color: var(--rugare-brand-blue); font-size: var(--font-size-small); font-weight: 700; cursor: pointer; text-decoration: underline; }

.medical-aid-application__medical-list { display: grid; gap: .55rem; padding: 0; margin: 0; list-style: none; counter-reset: medical-question; }
.medical-aid-application__medical-question { display: grid; gap: .45rem; padding: .65rem .8rem; border: 1px solid var(--line); background: var(--paper); }
.medical-aid-application__medical-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.medical-aid-application__medical-text { color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }
.medical-aid-application__medical-answer { flex: 0 0 auto; white-space: nowrap; }
.medical-aid-application__medical-detail textarea { margin-top: .5rem; }

.medical-aid-application__declarations { display: grid; gap: .55rem; padding: 0; margin: 0; list-style: none; counter-reset: declaration-item; }
.medical-aid-application__declaration { counter-increment: declaration-item; }
.medical-aid-application__declaration label { display: flex; gap: .6rem; align-items: flex-start; color: var(--ink); font-size: var(--font-size-small); font-weight: 600; line-height: 1.55; }
.medical-aid-application__declaration input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: var(--rugare-brand-blue); }
.medical-aid-application__declaration label::before { content: counter(declaration-item) '. '; flex: 0 0 auto; color: var(--theme-blue-text); font-weight: 700; }

.medical-aid-application__signature { display: grid; gap: .6rem; }
.medical-aid-application__signature label { color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }
.medical-aid-application__signature-pad { position: relative; width: 100%; max-width: 34rem; border: 2px dashed var(--rugare-brand-blue); background: var(--paper); }
.medical-aid-application__signature-pad canvas { display: block; width: 100%; height: auto; min-height: 9rem; touch-action: none; cursor: crosshair; }
.medical-aid-application__signature-pad--error { border-color: #b32d2d; }
.medical-aid-application__signature-pad--error::after { display: block; padding: .35rem .6rem; background: #fbe9e9; color: #8c1d1d; content: 'Sign the form before submitting.'; font-size: var(--font-size-small); }
.medical-aid-application__signature-actions { padding: .6rem; }

.medical-aid-application__consent { padding-top: .25rem; }
.medical-aid-application__consent-label { display: flex; gap: .6rem; align-items: flex-start; color: var(--ink); font-size: var(--font-size-small); font-weight: 600; line-height: 1.5; }
.medical-aid-application__consent-label input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .15rem; accent-color: var(--rugare-brand-blue); }

.medical-aid-application__review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }

.medical-aid-application__review-grid > div { display: grid; gap: .25rem; padding: .85rem .9rem; border: 1px solid var(--line); background: var(--paper); }

.medical-aid-application__review-grid strong { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.medical-aid-application__review-grid span { color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }

.medical-aid-application__step-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; padding-top: .5rem; border-top: 1px solid var(--line); }

.medical-aid-application__submit { display: grid; gap: .5rem; justify-items: start; padding-top: .5rem; border-top: 1px solid var(--line); }

.medical-aid-application__after { margin-top: clamp(2rem, 4vw, 3.5rem); max-width: 44rem; }

/* 2026 trust and navigation refinement */
.topbar { background: var(--rugare-navy); color: rgb(255 255 255 / 88%); }
.topbar__message { font-weight: 700; }
.topbar__links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; margin: 0; list-style: none; }
.topbar__links li { color: rgb(255 255 255 / 80%); }
.site-header { position: sticky; top: 0; z-index: var(--z-header); background: rgb(255 255 255 / 96%); backdrop-filter: blur(14px); }
.site-header__inner { grid-template-columns: auto minmax(0, 1fr) auto auto; min-height: 4.9rem; }
.primary-navigation { align-self: stretch; }
.primary-menu { align-items: center; height: 100%; }
.primary-menu a, .submenu-toggle { min-height: 2.6rem; padding: .45rem .7rem; font-weight: 700; }
.services-menu.is-current > .submenu-toggle, .services-menu:has(.sub-menu [aria-current='page']) > .submenu-toggle { background: var(--color-green-surface); box-shadow: inset 0 -2px var(--rugare-health-green); }
.site-header__actions { display: flex; align-items: center; gap: .55rem; }
.site-header__utility, .search-toggle { display: inline-flex; min-height: 2.6rem; align-items: center; justify-content: center; gap: .45rem; padding: .55rem .8rem; border: none; background: transparent; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; }
.site-header__utility--whatsapp { color: var(--rugare-navy); }
.search-toggle { cursor: pointer; }
.site-search-panel { border-top: 1px solid var(--line); background: var(--surface-subtle); }
.site-search-panel__inner { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); gap: 1rem; align-items: center; padding-block: 1rem; }
.site-search-panel__intro p { margin: 0 0 .25rem; color: var(--muted); font-size: var(--font-size-small); }
.site-search-panel__intro a { font-weight: 700; }
.search-form { display: grid; gap: .45rem; }
.search-form__label { color: var(--ink); font-size: var(--font-size-small); font-weight: 700; }
.search-form__controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; }
.search-field { width: 100%; min-height: 3rem; padding: .7rem .85rem; border: 1px solid var(--line); background: var(--paper); color: var(--ink); }
.hero__trust-list { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.hero__trust-list li { padding: .35rem .55rem; background: rgb(255 255 255 / 12%); color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; }
.hero__contact { margin: 1rem 0 0; color: rgb(255 255 255 / 92%); font-size: var(--font-size-small); }
.hero__contact a { color: var(--rugare-white); font-weight: 700; }
.sub-menu { border-radius: .35rem; }
.home-intro__grid, .community-impact__grid { border-radius: .5rem; box-shadow: 0 .8rem 2rem rgb(11 58 91 / 6%); }
.search-results__badge { display: inline-flex; width: fit-content; padding: .25rem .45rem; margin-bottom: .5rem; background: var(--color-blue-surface); color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.search-results__link { display: block; margin-top: .75rem; color: var(--muted); font-size: var(--font-size-small); }
.search-results__empty { max-width: 44rem; }
.homepage-short { background: var(--paper); }
.homepage-short .section { padding-block: clamp(3.25rem, 6vw, 5.5rem); }
.homepage-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--rugare-navy); color: var(--rugare-white); }
.homepage-hero__media, .homepage-hero__media picture, .homepage-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.homepage-hero__media img { object-fit: cover; object-position: center 40%; }
.homepage-hero::after { position: absolute; inset: 0; background: rgb(11 58 91 / 72%); content: ''; }
.homepage-hero__inner { position: relative; z-index: 1; display: grid; min-height: clamp(28rem, 64vh, 38rem); align-items: center; padding-block: clamp(3.25rem, 7vw, 5.5rem); }
.homepage-hero__content { max-width: 42rem; padding: clamp(1.1rem, 2vw, 1.5rem) clamp(1.1rem, 2vw, 1.6rem); border: 1px solid rgb(255 255 255 / 10%); background: rgb(11 58 91 / 28%); backdrop-filter: blur(8px); }
.homepage-hero h1 { max-width: 12ch; margin: 0; color: var(--rugare-white); font-size: var(--font-size-h1); line-height: var(--line-height-tight); }
.homepage-hero__lead { max-width: 38rem; margin: .85rem 0 0; color: rgb(255 255 255 / 92%); font-size: clamp(1.05rem, 1rem + .22vw, 1.2rem); }
.homepage-hero__location { display: inline-flex; align-items: flex-start; gap: .5rem; max-width: 42rem; margin: .85rem 0 0; color: rgb(255 255 255 / 92%); font-size: var(--font-size-small); font-weight: 700; }
.homepage-hero__location .icon { margin-top: .1rem; color: var(--rugare-health-green); }
.homepage-hero__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.homepage-hero .button--primary { background: var(--rugare-white); color: var(--rugare-navy); border-color: var(--rugare-white); }
.homepage-hero .button--primary:hover,
.homepage-hero .button--primary:focus-visible { background: var(--rugare-navy); border-color: var(--rugare-navy); color: var(--rugare-white); }
.homepage-hero .button--outline { border-color: rgb(255 255 255 / 58%); background: transparent; color: var(--rugare-white); }
.homepage-hero .button--outline:hover,
.homepage-hero .button--outline:focus-visible { border-color: var(--rugare-navy); background: var(--rugare-white); color: var(--rugare-navy); }
.homepage-hero .button:focus-visible { outline-color: var(--rugare-white); }
.homepage-hero__links { display: flex; flex-wrap: wrap; gap: .5rem .9rem; padding: 0; margin: .9rem 0 0; list-style: none; }
.homepage-hero__links a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: .4rem .7rem; border: 1px solid rgb(255 255 255 / 12%); background: rgb(255 255 255 / 6%); color: var(--rugare-white); font-size: var(--font-size-small); font-weight: 700; text-decoration: none; }
.homepage-hero__links a:hover, .homepage-hero__links a:focus-visible { text-decoration: underline; }
.homepage-trust-strip { border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.homepage-trust-strip .container { margin-top: -1.5rem; position: relative; z-index: 2; }
.homepage-trust-strip__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 1px; background: var(--line); box-shadow: 0 .9rem 2.2rem rgb(11 58 91 / 8%); }
.homepage-trust-strip__item { display: grid; gap: .2rem; padding: 1rem 1rem; background: var(--paper); }
.homepage-trust-strip__item span { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.homepage-trust-strip__item strong { color: var(--ink); font-size: var(--font-size-h4); line-height: 1.2; }
.homepage-section-heading { margin-bottom: 2.2rem; }
.homepage-section-heading p:last-child { max-width: 42rem; margin-inline: auto; }
.homepage-services { background: var(--surface-subtle); }
.homepage-services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.homepage-service-card { overflow: hidden; border: none; background: var(--paper); box-shadow: 0 1px 3px rgb(11 58 91 / 6%), 0 4px 12px rgb(11 58 91 / 7%); transition: transform .18s ease, box-shadow .18s ease; }
.homepage-service-card:hover, .homepage-service-card:focus-within { border: none; box-shadow: 0 4px 16px rgb(11 58 91 / 12%), 0 2px 6px rgb(11 58 91 / 8%); transform: translateY(-2px); }
.homepage-service-card__image { display: block; aspect-ratio: 16 / 10; background: var(--color-blue-surface); }
.homepage-service-card__image picture, .homepage-service-card__image img { width: 100%; height: 100%; }
.homepage-service-card__image img { object-fit: cover; transition: transform .28s ease; }
.homepage-service-card:hover .homepage-service-card__image img, .homepage-service-card:focus-within .homepage-service-card__image img { transform: scale(1.03); }
.homepage-service-card__body { display: grid; min-height: 100%; gap: .85rem; padding: 1.35rem; }
.homepage-service-card__icon { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: none; background: var(--color-blue-surface); color: var(--rugare-brand-blue); }
.homepage-service-card__icon svg { width: 1.3rem; height: 1.3rem; }
.homepage-service-card__body h3 { margin: 0; font-size: var(--font-size-h4); }
.homepage-service-card__body h3 a { color: var(--ink); text-decoration: none; }
.homepage-service-card__body p { margin: 0; color: var(--muted); font-size: var(--font-size-small); }
.homepage-service-card__body .button { width: fit-content; margin-top: auto; }
.homepage-services__footer { margin: 1.25rem 0 0; text-align: center; }
.homepage-services__footer a { font-weight: 700; }
.homepage-why { background: var(--paper); }
.homepage-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.homepage-why__card { display: grid; gap: .65rem; padding: 1.2rem; border: 1px solid var(--line); background: var(--paper); }
.homepage-why__icon { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--theme-blue-text); }
.homepage-why__card h3 { margin: 0; font-size: var(--font-size-h4); }
.homepage-why__card p { margin: 0; color: var(--muted); font-size: var(--font-size-small); }
.homepage-about { background: var(--surface-subtle); }
.homepage-about__grid { display: grid; grid-template-columns: minmax(14rem, .75fr) minmax(0, 1.25fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; padding: clamp(1.35rem, 4vw, 2rem); border: 1px solid var(--line); background: var(--paper); }
.homepage-about__grid p { margin: 0 0 1rem; color: var(--muted); }
.homepage-community { background: var(--surface-subtle); }
.homepage-community__grid { display: grid; grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; padding: clamp(1.35rem, 4vw, 2rem); border: 1px solid var(--line); background: var(--paper); }
.homepage-community__media { overflow: hidden; border: 1px solid var(--line); background: var(--paper); }
.homepage-community__media picture, .homepage-community__media img { width: 100%; height: 100%; }
.homepage-community__media img { object-fit: cover; }
.homepage-community__content > p { margin-top: 0; color: var(--muted); }
.homepage-community__stats { display: grid; gap: .85rem; margin-top: 1.25rem; }
.homepage-community__stats div { display: grid; gap: .2rem; padding-bottom: .85rem; border-bottom: 1px solid var(--line); }
.homepage-community__stats strong { color: var(--ink); font-size: var(--font-size-h4); }
.homepage-community__stats span { color: var(--muted); font-size: var(--font-size-small); }
.homepage-medical-aid { background: var(--color-blue-surface); }
.homepage-medical-aid__inner { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-health-green); background: var(--paper); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 6%); }
.homepage-medical-aid__inner p { color: var(--muted); }
.homepage-medical-aid__note { padding-left: .9rem; border-left: 3px solid var(--rugare-health-green); color: var(--ink) !important; font-weight: 700; }
.homepage-medical-aid__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-start; }
.homepage-contact { background: var(--surface-subtle); }
.homepage-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .9fr); gap: clamp(1rem, 4vw, 2.25rem); align-items: start; padding: clamp(1.35rem, 4vw, 2rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); background: var(--paper); box-shadow: 0 .8rem 2rem rgb(11 58 91 / 6%); }
.homepage-contact__content p { margin: 0; color: var(--muted); }
.homepage-contact__details { display: grid; gap: .75rem; margin-top: 1rem; }
.homepage-contact__details div { display: grid; gap: .2rem; }
.homepage-contact__details span { color: var(--theme-blue-text); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.homepage-contact__details a, .homepage-contact__details address { color: var(--ink); font-style: normal; font-weight: 700; }
.homepage-contact__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; align-self: end; }
.homepage-contact__actions .button { width: 100%; }

/* Homepage — aligned with the premium service-page system. */
.homepage-short { background: var(--surface); }
.homepage-short .container { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.homepage-short .section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.homepage-hero { min-height: clamp(42rem, 76vh, 50rem); border-bottom: 3px solid var(--rugare-health-green); }
.homepage-hero::after { background: rgb(11 58 91 / 88%); }
.homepage-hero__inner { min-height: inherit; }
.homepage-hero__content { max-width: 46rem; padding: 0; border: 0; background: transparent; backdrop-filter: none; }
.homepage-hero h1 { max-width: 13ch; }
.homepage-hero__lead { max-width: 36rem; font-size: var(--font-size-lead); line-height: 1.55; text-wrap: pretty; }
.homepage-hero__actions { margin-top: 1.75rem; }
.homepage-section-heading { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.homepage-section-heading.section-heading--split { gap: 2rem clamp(2.5rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(1.75rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); }
.homepage-section-heading.section-heading--split h2 { max-width: 16ch; margin-bottom: 0; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.homepage-section-heading.section-heading--split > p { max-width: 38rem; margin: 0; color: var(--body-text); line-height: 1.7; }
.homepage-services { background: transparent; }
.homepage-services__eyebrow { width: min(var(--container), calc(100% - (2 * var(--gutter)))); justify-content: center; margin: 0 auto clamp(1.25rem, 2.5vw, 1.75rem); text-align: center; }
.homepage-services > .container { padding: clamp(2rem, 4vw, 3.5rem); border: none; border-radius: 0; background: var(--surface); box-shadow: none; }
.homepage-services__grid { gap: 1.25rem; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.homepage-service-card { position: relative; min-height: 21rem; overflow: hidden; border: none; border-radius: 0; background: var(--surface); box-shadow: 0 1px 3px rgb(11 58 91 / 6%), 0 4px 12px rgb(11 58 91 / 7%); transform: none; }
.homepage-service-card:hover, .homepage-service-card:focus-within { border: none; background: var(--surface); box-shadow: 0 4px 16px rgb(11 58 91 / 12%), 0 2px 6px rgb(11 58 91 / 8%); transform: translateY(-2px); }
.homepage-service-card__body { display: flex; min-height: 100%; gap: 0; flex-direction: column; padding: clamp(1.4rem, 2.2vw, 1.75rem); }
.homepage-service-card__heading { display: flex; min-width: 0; align-items: center; gap: .8rem; }
.homepage-service-card__icon { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; border: 0; border-radius: 0; background: transparent; color: var(--theme-blue-text); }
.homepage-service-card__body h3 { margin: 0; font-size: clamp(1.25rem, 1.45vw, 1.5rem); line-height: 1.25; }
.homepage-service-card__body h3 a { display: inline; color: var(--ink); text-decoration: none; }
.homepage-service-card__body h3 a::after { position: absolute; inset: 0; content: ''; }
.homepage-service-card__body h3 a:focus-visible { position: relative; z-index: 2; border-radius: .2rem; outline-offset: .3rem; }
.homepage-service-card__body .badge { position: relative; z-index: 1; width: fit-content; margin: 1.1rem 0 0; }
.homepage-service-card__body > p:not(.badge) { margin: 1rem 0 1.5rem; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.7; }
.homepage-service-card__action { position: relative; z-index: 1; display: flex; width: 100% !important; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 1rem !important; border: 1px solid var(--rugare-brand-blue) !important; margin-top: auto !important; background: var(--rugare-brand-blue) !important; color: var(--rugare-white) !important; box-shadow: 0 .45rem 1rem rgb(16 118 184 / 16%) !important; text-decoration: none !important; }
.homepage-service-card__action .icon { width: 1rem; height: 1rem; flex: 0 0 1rem; transition: transform .18s ease; }
.homepage-service-card__action .icon svg { width: 100%; height: 100%; }
.homepage-service-card__action:hover, .homepage-service-card__action:focus-visible { border-color: var(--rugare-navy) !important; background: var(--rugare-navy) !important; color: var(--rugare-white) !important; }
.homepage-service-card__action:hover .icon, .homepage-service-card__action:focus-visible .icon { transform: translateX(.2rem); }
.homepage-services__footer { display: flex; justify-content: center; margin: 1.75rem 0 0; text-align: center; }
.homepage-services__footer .button { display: inline-flex; min-width: 13rem; min-height: 3rem; align-items: center; justify-content: center; gap: .7rem; border-color: var(--rugare-brand-blue); background: var(--surface); color: var(--theme-blue-text); text-decoration: none; }
.homepage-services__footer .button .icon { width: 1rem; height: 1rem; transition: transform .18s ease; }
.homepage-services__footer .button:hover, .homepage-services__footer .button:focus-visible { border-color: var(--rugare-brand-blue); background: var(--rugare-brand-blue); color: var(--rugare-white); }
.homepage-services__footer .button:hover .icon, .homepage-services__footer .button:focus-visible .icon { transform: translateX(.2rem); }
.homepage-why { background: transparent; }
.homepage-why__panel { display: grid; grid-template-rows: minmax(23rem, 31rem) auto; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: var(--rugare-navy); box-shadow: 0 1.25rem 3.5rem rgb(11 58 91 / 12%); }
.homepage-why__media { position: relative; min-height: 0; overflow: hidden; background: var(--rugare-navy); }
.homepage-why__media::after { position: absolute; inset: 42% 0 0; background: linear-gradient(180deg, transparent, rgb(5 38 60 / 78%)); content: ''; pointer-events: none; }
.homepage-why__picture, .homepage-why__picture picture, .homepage-why__picture img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.homepage-why__picture img { object-fit: cover; object-position: center 47%; }
.homepage-why__media-note { position: absolute; z-index: 1; right: clamp(1.25rem, 3vw, 2.25rem); bottom: clamp(1.25rem, 3vw, 2rem); left: clamp(1.25rem, 3vw, 2.25rem); display: grid; max-width: 27rem; gap: .25rem; padding-top: 1rem; border-top: 2px solid var(--rugare-health-green); margin: 0; color: var(--rugare-white); }
.homepage-why__media-note span { color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.homepage-why__media-note strong { font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.25; }
.homepage-why__content { padding: clamp(2rem, 4vw, 3.5rem); background: var(--rugare-navy); }
.homepage-why__content .homepage-section-heading { padding-bottom: clamp(1.5rem, 3vw, 2rem); border-bottom: 1px solid rgb(255 255 255 / 16%); }
.homepage-why__content .homepage-section-heading .eyebrow { color: var(--rugare-health-green); }
.homepage-why__content .homepage-section-heading h2 { margin: .8rem 0 1rem; color: var(--rugare-white); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.homepage-why__content .homepage-section-heading > p:last-child { max-width: 48rem; margin: 0 auto; color: rgb(255 255 255 / 74%); line-height: 1.7; text-align: center; }
.homepage-why__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; border: 0; }
.homepage-why__card { display: flex; min-height: 11.5rem; gap: .8rem; align-items: center; flex-direction: column; justify-content: flex-start; padding: 1.25rem; border: 1px solid rgb(255 255 255 / 13%); border-radius: .5rem; background: rgb(255 255 255 / 6%); text-align: center; }
.homepage-why__card-heading { display: inline-flex; max-width: 100%; align-items: center; justify-content: center; gap: .7rem; }
.homepage-why__icon { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 2.35rem; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 10%); color: var(--rugare-health-green); }
.homepage-why__icon svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.homepage-why__card h3 { margin: 0; color: var(--rugare-white); font-size: 1.05rem; line-height: 1.3; }
.homepage-why__card p { max-width: 30rem; margin: 0; color: rgb(255 255 255 / 70%); font-size: var(--font-size-small); line-height: 1.6; }
.homepage-why__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid rgb(255 255 255 / 16%); }
.homepage-why__actions .button { min-width: 13rem; }
.homepage-why__actions .button--primary { border-color: var(--rugare-health-green); background: var(--rugare-health-green); color: var(--rugare-navy); }
.homepage-why__actions .button--outline { border-color: rgb(255 255 255 / 46%); background: transparent; color: var(--rugare-white); }
.homepage-why__actions .button--outline:hover, .homepage-why__actions .button--outline:focus-visible { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.homepage-about { background: transparent; }
.homepage-about__grid { grid-template-columns: minmax(0, .86fr) minmax(22rem, 1.14fr); gap: 0; align-items: stretch; padding: 0; overflow: hidden; border-radius: .85rem; box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.homepage-about__content { padding: clamp(2rem, 4vw, 3.5rem); }
.homepage-about__content h2 { max-width: 16ch; margin: .8rem 0 1.25rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.homepage-about__grid .homepage-about__content p { max-width: 42rem; color: var(--body-text); line-height: 1.7; }
.homepage-about__media { position: relative; min-height: 34rem; overflow: hidden; }
.homepage-about__picture, .homepage-about__picture picture, .homepage-about__picture img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.homepage-about__picture img { object-fit: cover; object-position: 50% center; }
.homepage-community { background: var(--surface-subtle); }
.homepage-community__grid { grid-template-columns: minmax(22rem, .9fr) minmax(0, 1.1fr); gap: 0; align-items: stretch; padding: 0; overflow: hidden; border-radius: .85rem; box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.homepage-community__media { min-height: 38rem; border: 0; }
.homepage-community__image, .homepage-community__image picture, .homepage-community__image img { display: block; width: 100%; height: 100%; }
.homepage-community__image img { object-fit: cover; }
.homepage-community__content { padding: clamp(2rem, 4vw, 3.5rem); }
.homepage-community__content h2 { max-width: 16ch; margin: .8rem 0 1rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.homepage-community__content > p { color: var(--body-text); line-height: 1.7; }
.homepage-community__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 1.5rem 0; border: 1px solid var(--line); background: var(--line); }
.homepage-community__stats div { align-content: start; padding: 1rem; border: 0; background: var(--surface-subtle); }
.homepage-community__stats strong { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.homepage-community__stats span { line-height: 1.5; }
.homepage-medical-aid { background: var(--color-blue-surface); }
.homepage-medical-aid__inner { padding: clamp(2rem, 4vw, 3.5rem); border-top-width: 4px; border-radius: .85rem; box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.homepage-medical-aid__inner h2 { max-width: 18ch; margin: .8rem 0 1rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.homepage-medical-aid__inner p { max-width: 46rem; color: var(--body-text); line-height: 1.7; }
.homepage-medical-aid__heading { display: grid; grid-template-columns: minmax(0, .95fr) minmax(20rem, 1.05fr); gap: clamp(2rem, 6vw, 5.5rem); align-items: end; margin-bottom: clamp(2rem, 4vw, 3rem); }
.homepage-medical-aid__heading h2 { max-width: 19ch; margin-bottom: 0; }
.homepage-medical-aid__heading > p:last-child { padding-left: 1.25rem; margin: 0 0 .25rem; border-left: 3px solid var(--rugare-health-green); }
.homepage-medical-aid__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.homepage-medical-aid__choices > article { display: flex; min-width: 0; min-height: 15rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: .7rem; background: var(--surface-subtle); }
.homepage-medical-aid__choices > .homepage-medical-aid__choice--join { border-color: rgb(127 194 65 / 50%); background: var(--color-green-surface); }
.homepage-medical-aid__choices h3 { margin: 0; color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.5rem); }
.homepage-medical-aid__choices article > p { margin: .9rem 0 1.5rem; }
.homepage-medical-aid__choices article > .button,
.homepage-medical-aid__choices .homepage-medical-aid__actions { margin-top: auto; }
.homepage-medical-aid__choices article > .button { width: fit-content; }
.homepage-medical-aid__actions { align-items: center; }
.homepage-medical-aid__actions .text-link { color: var(--theme-blue-text); font-weight: 750; }
.homepage-medical-aid__note { max-width: none !important; margin: 1.5rem 0 0; font-size: var(--font-size-small); font-weight: 600; }
.homepage-contact { background: var(--surface-subtle); }
.homepage-contact__grid { padding: clamp(2rem, 4vw, 3.5rem); border-top-width: 4px; border-radius: .85rem; box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.homepage-contact__content h2 { margin: .8rem 0 1rem; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.homepage-contact__content p { max-width: 42rem; color: var(--body-text); line-height: 1.7; }
.homepage-contact__content { grid-row: 1 / 3; }
.homepage-contact__actions { grid-column: 2; }
.homepage-short .eyebrow { justify-content: center; text-align: center; }

@media (max-width: 64rem) {
	.homepage-services__grid, .homepage-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.homepage-medical-aid__heading { grid-template-columns: 1fr; gap: 1.25rem; }
	.homepage-medical-aid__heading > p:last-child { max-width: 44rem; }
	.homepage-about__grid, .homepage-community__grid, .homepage-medical-aid__inner, .homepage-contact__grid { grid-template-columns: 1fr; }
	.homepage-contact__content { grid-row: auto; }
	.homepage-contact__actions { grid-column: auto; }
	.homepage-why__media { min-height: 32rem; }
	.homepage-why__picture, .homepage-why__picture picture, .homepage-why__picture img { position: absolute; }
	.homepage-about__media { min-height: 30rem; }
	.homepage-community__media { min-height: 32rem; }
	.homepage-community__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.homepage-trust-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.homepage-contact__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-header__inner { grid-template-columns: auto 1fr auto auto; }
	.primary-navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: 0 var(--gutter) 1rem; border-bottom: 1px solid var(--line); background: var(--paper); }
	.primary-navigation.is-open { display: block; }
	.primary-menu, .primary-menu ol { flex-direction: column; align-items: stretch; gap: .15rem; }
	.primary-menu > li { width: 100%; }
	.primary-menu a, .submenu-toggle, .site-header__utility, .search-toggle { width: 100%; justify-content: flex-start; }
	.menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.site-header__actions { gap: .35rem; }
	.site-header__utility span:last-child { display: none; }
	.search-toggle { width: 3rem; min-width: 3rem; padding-inline: 0; }
	html:not(.has-navigation-js) .primary-navigation { position: static; display: block; padding: 0; border-bottom: 0; }
	html.has-navigation-js .primary-navigation { display: none; }
	html.has-navigation-js .primary-navigation.is-open { display: block; }
	.site-search-panel__inner { grid-template-columns: 1fr; }
	.topbar__inner { align-items: flex-start; padding-block: .55rem; }
	.topbar__links { gap: .3rem .8rem; }
	.hero__hours { grid-template-columns: 1fr; }
	.hero__hours > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgb(255 255 255 / 28%); }
}

@media (max-width: 48rem) {
	.homepage-hero__actions, .homepage-medical-aid__actions { flex-direction: column; align-items: stretch; }
	.homepage-medical-aid__choices { grid-template-columns: 1fr; }
	.homepage-medical-aid__choices > article { min-height: 0; }
	.homepage-medical-aid__choices article > .button,
	.homepage-medical-aid__actions .button { width: 100%; }
	.homepage-services__grid, .homepage-why__grid, .homepage-trust-strip__grid { grid-template-columns: 1fr; }
	.homepage-hero__links { display: grid; gap: .5rem; }
	.homepage-contact__actions { grid-template-columns: 1fr; }
	.homepage-short .section { padding-block: 3rem; }
	.homepage-hero { min-height: 36rem; }
	.homepage-hero::after { background: linear-gradient(180deg, rgb(7 39 61 / 48%) 0%, rgb(7 39 61 / 87%) 58%, rgb(7 39 61 / 96%) 100%); }
	.homepage-services > .container, .homepage-why__content, .homepage-about__content, .homepage-community__content, .homepage-medical-aid__inner, .homepage-contact__grid { padding: 1.35rem; }
	.homepage-section-heading.section-heading--split { display: block; }
	.homepage-section-heading.section-heading--split > p { margin-top: 1rem; }
	.homepage-why__grid { grid-template-columns: 1fr; }
	.homepage-why__card:nth-child(odd) { padding-left: 1rem; border-right: 0; }
	.homepage-why__actions { display: grid; grid-template-columns: 1fr; }
	.homepage-why__actions .button { width: 100%; min-width: 0; }
	.homepage-why__media, .homepage-about__media, .homepage-community__media { min-height: 24rem; }
	.homepage-community__stats { grid-template-columns: 1fr; }
	.site-header__inner { gap: .5rem; }
	.brand { width: 9.5rem; }
	.topbar__links { display: none; }
	.hero__actions, .contact-page__hero-actions { flex-direction: column; align-items: stretch; }
	.search-form__controls { grid-template-columns: 1fr; }
}

/* Premium header system */
.topbar {
	border-top: 3px solid var(--rugare-health-green);
	background: var(--rugare-navy);
	color: rgb(255 255 255 / 82%);
}
.topbar__inner, .site-header__inner, .site-search-panel__inner { width: min(100% - (2 * var(--gutter)), 96rem); margin-inline: auto; }
.topbar__inner { min-height: 2.35rem; gap: 2rem; }
.topbar__message { display: flex; align-items: center; gap: .55rem; white-space: nowrap; }
.topbar__message strong { color: var(--rugare-white); font-size: var(--font-size-micro); font-weight: 700; letter-spacing: .01em; }
.topbar__message > span:last-child { padding-left: .65rem; border-left: 1px solid rgb(255 255 255 / 22%); color: rgb(255 255 255 / 88%); font-size: var(--font-size-micro); }
.topbar__status { width: .55rem; height: .55rem; flex: 0 0 auto; border: 2px solid rgb(141 198 63 / 35%); background: var(--rugare-health-green); box-shadow: 0 0 0 .2rem rgb(141 198 63 / 12%); }
.topbar__links { align-items: center; gap: 0; }
.topbar__links li { display: flex; align-items: center; }
.topbar__links li + li { padding-left: 1rem; margin-left: 1rem; border-left: 1px solid rgb(255 255 255 / 18%); }
.topbar__links a { display: inline-flex; min-height: 2rem; align-items: center; gap: .4rem; color: rgb(255 255 255 / 88%); font-size: var(--font-size-micro); font-weight: 700; text-decoration: none; }
.topbar__links a:hover, .topbar__links a:focus-visible { color: var(--rugare-white); text-decoration: underline; text-underline-offset: .2rem; }
.topbar__links .icon { width: .85rem; height: .85rem; color: var(--rugare-health-green); }
.topbar__links .icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.topbar__item--call a { color: var(--rugare-white); }
.topbar__item--whatsapp a { color: var(--rugare-white); }
.topbar__item--call .icon { color: var(--rugare-white); }
.topbar__item--whatsapp .icon { color: var(--rugare-health-green); }

.site-header { border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent); background: color-mix(in srgb, var(--surface) 98%, transparent); box-shadow: 0 .2rem .8rem rgb(11 58 91 / 5%); backdrop-filter: blur(18px) saturate(150%); }
.site-header.is-scrolled { background: color-mix(in srgb, var(--surface) 99%, transparent); box-shadow: 0 .75rem 2.25rem rgb(11 58 91 / 12%); }
.site-header__inner { grid-template-columns: minmax(10.5rem, auto) minmax(0, 1fr) auto auto; min-height: 5rem; gap: clamp(.75rem, 1.25vw, 1.25rem); }
.brand { width: clamp(10.75rem, 11vw, 12.75rem); transition: opacity .18s ease; }
.brand:hover { opacity: .88; }
.brand:focus-visible { border-radius: .2rem; outline-offset: .35rem; }
.brand__logo { display: block; height: auto; }
.primary-navigation { align-self: stretch; }
.primary-menu { gap: .12rem; align-items: stretch; }
.primary-menu > li { display: flex; align-items: stretch; }
.primary-menu > li > :is(a, .submenu-toggle) { position: relative; min-height: 100%; justify-content: center; padding: .6rem .68rem; border-radius: 0; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.primary-menu > li > :is(a, .submenu-toggle)::after { position: absolute; right: .55rem; bottom: 0; left: .55rem; height: 3px; background: transparent; content: ''; transform: scaleX(.4); transition: background-color .18s ease, transform .18s ease; }
.primary-menu > li > :is(a, .submenu-toggle):hover { background: transparent; color: var(--theme-blue-text); }
.primary-menu > li > :is(a, .submenu-toggle):hover::after { background: color-mix(in srgb, var(--rugare-brand-blue) 35%, transparent); transform: scaleX(1); }
.primary-menu > li > [aria-current='page'],
.primary-menu > li.is-current > .submenu-toggle,
.primary-menu > li:has(.sub-menu [aria-current='page']) > .submenu-toggle { background: transparent; color: var(--theme-blue-text); box-shadow: none; }
.primary-menu > li > [aria-current='page']::after,
.primary-menu > li.is-current > .submenu-toggle::after,
.primary-menu > li:has(.sub-menu [aria-current='page']) > .submenu-toggle::after { background: var(--rugare-health-green); transform: scaleX(1); }
.submenu-toggle { gap: .48rem; }
.submenu-toggle__icon { width: .42rem; height: .42rem; border-width: 1.5px; transition: transform .18s ease; }
.primary-menu .sub-menu { top: calc(100% + .35rem); width: 20rem; max-height: min(72vh, 36rem); padding: .55rem !important; border: 1px solid var(--line); border-top: 3px solid var(--rugare-health-green); border-radius: .55rem; background: var(--surface); box-shadow: 0 1.15rem 2.75rem rgb(11 58 91 / 16%); scrollbar-color: var(--rugare-brand-blue) transparent; scrollbar-width: thin; }
.primary-menu .sub-menu::before { display: none; }
.primary-menu .sub-menu a { position: relative; min-height: 2.7rem; padding: .52rem 2rem .52rem .75rem; border-bottom: 1px solid var(--line); border-radius: .3rem; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; line-height: 1.45; }
.primary-menu .sub-menu a::after { position: absolute; right: .8rem; color: var(--theme-blue-text); content: '→'; opacity: 0; transform: translateX(-.2rem); transition: opacity .18s ease, transform .18s ease; }
.primary-menu .sub-menu a:hover, .primary-menu .sub-menu a:focus-visible { background: var(--color-blue-surface); color: var(--theme-blue-text); }
.primary-menu .sub-menu a:hover::after, .primary-menu .sub-menu a:focus-visible::after { opacity: 1; transform: translateX(0); }
.primary-menu .sub-menu a[aria-current='page'] { border-left: 3px solid var(--rugare-health-green); background: var(--color-green-surface); color: var(--ink); }
.primary-menu .sub-menu__divider { padding: .95rem .8rem .4rem; border-top-color: var(--line); color: var(--muted); }

.site-header__actions { position: relative; gap: .4rem; padding: 0; border: 0; border-radius: 0; background: transparent; }
.site-header__actions::before { display: none; }
.site-header__utility, .search-toggle { min-height: 2.75rem; border: none; border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; }
.site-header__utility { padding-inline: .75rem; }
.site-header__action { position: relative; width: 2.55rem; min-width: 2.55rem; padding: 0; }
.site-header__utility .icon, .search-toggle .icon { width: 1rem; height: 1rem; }
.site-header__utility .icon svg, .search-toggle .icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.site-header__utility:hover, .site-header__utility:focus-visible, .search-toggle:hover, .search-toggle:focus-visible { border: none; background: transparent; color: var(--theme-blue-text); text-decoration: none; box-shadow: none; }
.site-header__action:focus-visible, .menu-toggle:focus-visible { outline: 3px solid var(--rugare-navy); outline-offset: 3px; }
.site-header__action::after { position: absolute; top: calc(100% + .45rem); left: 50%; z-index: 3; padding: .38rem .55rem; border-radius: .25rem; background: var(--rugare-navy); color: var(--rugare-white); content: attr(data-tooltip); font-size: var(--font-size-micro); font-weight: 700; opacity: 0; pointer-events: none; transform: translate(-50%, -.2rem); transition: opacity .15s ease, transform .15s ease; white-space: nowrap; }
.site-header__action:hover::after, .site-header__action:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.site-header__utility--call { color: var(--rugare-brand-blue); }
.site-header__utility--call:hover, .site-header__utility--call:focus-visible { border: none; background: transparent; color: var(--rugare-brand-blue); }
.site-header__utility--whatsapp { border: none; color: #128c4a; }
.site-header__utility--whatsapp:hover, .site-header__utility--whatsapp:focus-visible { border: none; background: transparent; color: #08783c; }
.site-search-panel { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface-subtle) 96%, transparent); box-shadow: 0 1rem 2.5rem rgb(11 58 91 / 10%); }
.site-search-panel__inner { padding-block: 1.25rem; }

@media (max-width: 80rem) {
	.site-header__utility { width: 2.85rem; padding: 0; }
	.site-header__utility > span:last-child { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
	.site-header__actions { padding-left: .65rem; }
	.primary-menu > li > :is(a, .submenu-toggle) { padding-inline: .48rem; }
}

@media (max-width: 64rem) {
	.topbar { position: relative; z-index: 31; }
	.topbar__inner, .site-header__inner, .site-search-panel__inner { width: min(100% - (2 * var(--gutter)), 96rem); }
	.site-header__inner { grid-template-columns: minmax(0, 1fr) auto auto; min-height: 5rem; }
	.brand { width: clamp(10.5rem, 25vw, 12.5rem); }
	.site-header__actions { grid-column: 2; padding-left: 0; }
	.site-header__actions::before { display: none; }
	.menu-toggle { grid-column: 3; }
	html.has-navigation-js .primary-navigation { top: 100%; right: 0; left: 0; width: 100%; max-width: none; max-height: calc(100dvh - 7.5rem); padding: .65rem var(--gutter) 1rem; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: var(--surface); box-shadow: 0 1.5rem 3rem rgb(11 58 91 / 18%); transform: translateY(-.2rem); }
	.primary-menu { gap: 0; }
	.primary-menu > li { display: block; }
	.primary-menu > li > :is(a, .submenu-toggle) { min-height: 3.15rem; justify-content: space-between; padding: .68rem .75rem; border-radius: .2rem; font-size: var(--font-size-small); }
	.primary-menu > li > :is(a, .submenu-toggle)::after { display: none; }
	.primary-menu .sub-menu { margin: 0 0 .4rem; background: transparent; }
	.topbar__item--location, .topbar__item--medical-aid { display: none !important; }
	.topbar__item--call { padding-left: 0 !important; border-left: 0 !important; margin-left: 0 !important; }
	.topbar__links li + li { padding-left: .75rem; margin-left: .75rem; }
	.topbar__links .topbar__item--call { padding-left: 0; margin-left: 0; }
	.primary-menu .sub-menu { width: 100%; max-height: none; padding: .1rem 0 .35rem .8rem !important; overflow: visible; border: 0; box-shadow: none; }
	.primary-menu .sub-menu a { min-height: 2.7rem; padding: .52rem .7rem; border-bottom: 0; color: var(--body-text); font-size: var(--font-size-small); }
	.primary-menu .sub-menu li + li a { border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent); }
	.primary-menu .sub-menu a:hover, .primary-menu .sub-menu a:focus-visible { background: var(--color-blue-surface); }
	.primary-menu .sub-menu a[aria-current='page'] { border-left: 2px solid var(--rugare-health-green); background: var(--color-green-surface); box-shadow: none; }
	.primary-menu .sub-menu a::after { display: none; }
	.primary-menu .sub-menu .is-mobile-hidden { display: none; }
	.primary-menu .sub-menu__divider { padding: .75rem .7rem .25rem; }
}

@media (max-width: 48rem) {
	.topbar__inner { min-height: 2.55rem; justify-content: space-between; gap: .75rem; padding-block: .3rem; }
	.topbar__message { display: flex; }
	.topbar__message > span:last-child { display: none; }
	.topbar__message strong { font-size: var(--font-size-micro); }
	.topbar__links { display: flex; flex-wrap: nowrap; margin-left: auto; }
	.topbar__links a { min-height: 2rem; font-size: var(--font-size-micro); }
	.topbar__links li + li { padding-left: .55rem; margin-left: .55rem; }
	.site-header__inner { min-height: 4.55rem; gap: .4rem; }
	.brand { width: 9.25rem; }
	.site-header__actions { gap: .3rem; }
	.site-header__action, .menu-toggle { width: 2.65rem; min-width: 2.65rem; min-height: 2.65rem; height: 2.65rem; box-shadow: none; }
	.site-header__action::after { display: none; }
}

@media (max-width: 400px) {
	:root { --gutter: 1rem; }
	.topbar__item--whatsapp { display: none !important; }
	.brand { width: 8rem; }
	.site-header__inner { gap: .3rem; }
	.site-header__actions { gap: .2rem; }
}

@media (max-width: 608px) {
	.emergency-call { grid-template-columns: 1fr; padding: var(--space-5); }
	.emergency-call__action { width: 100%; min-width: 0; }
	.footer-contact__grid, .footer-contact__actions { grid-template-columns: 1fr; }
	.contact-page__phone-list, .footer-phone-list { grid-template-columns: 1fr; }
	.footer-section--contact { padding: 1.25rem; }
}

/* Medical Aid hub and mobile-first plan comparison */
.service-page__utility-link { display: inline-flex; min-height: 3rem; align-items: center; padding-inline: .4rem; color: var(--rugare-white); font-weight: 700; text-underline-offset: .2rem; }
.medical-aid-hub__body { background: var(--surface-subtle); }
.medical-aid-hub__hero h1 { max-width: 11ch !important; }
.medical-aid-hub__hero .service-page__hero-copy { max-width: 48rem; }
.medical-aid-hub__hero-note { display: flex; max-width: 42rem; gap: .65rem; align-items: center; padding-top: 1rem; border-top: 1px solid rgb(255 255 255 / 22%); margin: 1.5rem 0 0; color: rgb(255 255 255 / 84%); font-size: .9rem; font-weight: 650; line-height: 1.5; }
.medical-aid-hub__hero-note > span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; color: #b8e986; }
.medical-aid-hub__hero-note svg { width: 1.75rem; height: 1.75rem; fill: none; stroke: currentColor; stroke-width: 2; }
.medical-aid-hub__section-heading { max-width: 53rem; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.medical-aid-hub__section-heading .eyebrow { justify-content: center; }
.medical-aid-hub__section-heading > p:last-child { max-width: 43rem; margin: 1rem auto 0; color: var(--body-text); line-height: 1.7; }
.medical-aid-hub__paths, .medical-aid-hub__next-grid, .medical-aid-plan-list__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.medical-aid-hub__paths { max-width: 76rem; margin-inline: auto; }
.medical-aid-hub__paths > article { display: grid; min-width: 0; min-height: 22rem; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 1rem; align-content: start; padding: clamp(1.75rem, 3vw, 2.5rem); border: 1px solid rgb(16 118 184 / 22%); border-top: 3px solid var(--rugare-brand-blue); border-radius: .8rem; background: var(--surface); box-shadow: 0 1rem 2.5rem rgb(11 58 91 / 7%); }
.medical-aid-hub__paths > .medical-aid-hub__path--corporate { border-top-color: var(--rugare-health-green); background: var(--color-green-surface); }
.medical-aid-hub__path-icon { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; color: var(--theme-blue-text); }
.medical-aid-hub__path--corporate .medical-aid-hub__path-icon { color: var(--theme-green-text); }
.medical-aid-hub__path-icon svg { width: 2.35rem; height: 2.35rem; fill: none; stroke: currentColor; stroke-width: 2; }
.medical-aid-hub__paths small { color: var(--theme-blue-text); font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.medical-aid-hub__paths h3 { margin: .35rem 0 0; color: var(--ink); font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.2; }
.medical-aid-hub__paths article > p { grid-column: 1 / -1; max-width: 34rem; margin: 1.25rem 0 1.75rem; color: var(--body-text); font-size: 1rem; line-height: 1.7; }
.medical-aid-hub__paths .button { grid-column: 1 / -1; align-self: end; width: fit-content; margin-top: auto; }
.medical-aid-hub__cover { background: var(--rugare-navy); color: var(--rugare-white); }
.medical-aid-hub__cover-heading { align-items: end; }
.medical-aid-hub__cover-heading .eyebrow { color: #b8e986; }
.medical-aid-hub__cover-heading h2 { color: var(--rugare-white); }
.medical-aid-hub__cover-heading > p { padding-left: 1.25rem; border-left: 3px solid var(--rugare-health-green); color: rgb(255 255 255 / 76%); line-height: 1.7; }
.medical-aid-hub__cover-list { display: grid; grid-template-columns: 1fr; gap: .75rem; padding: 0; margin: clamp(2rem, 4vw, 3rem) 0 0; list-style: none; }
.medical-aid-hub__cover-list li { display: grid; min-width: 0; min-height: 7rem; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .85rem; align-items: center; padding: 1.15rem; border: 1px solid rgb(255 255 255 / 14%); border-radius: .55rem; background: rgb(255 255 255 / 6%); }
.medical-aid-hub__cover-list li > span { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: #b8e986; }
.medical-aid-hub__cover-list svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 2; }
.medical-aid-hub__cover-list strong { color: var(--rugare-white); font-size: .975rem; line-height: 1.45; }
.medical-aid-hub__next-panel { padding: clamp(2.25rem, 5vw, 4.5rem); border: 1px solid var(--line); border-radius: .875rem; background: var(--surface); box-shadow: 0 1.2rem 3.25rem rgb(11 58 91 / 8%); }
.medical-aid-hub__next-heading { max-width: 52rem; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.medical-aid-hub__next-heading .eyebrow { justify-content: center; }
.medical-aid-hub__next-heading > p:last-child { max-width: 40rem; margin: 1rem auto 0; color: var(--body-text); line-height: 1.7; }
.medical-aid-hub__next-grid { gap: 0; border: 1px solid var(--line); border-radius: .7rem; overflow: hidden; }
.medical-aid-hub__next-grid > article { display: flex; min-width: 0; min-height: 16rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2rem); border-bottom: 1px solid var(--line); background: var(--surface-subtle); }
.medical-aid-hub__next-grid > article:last-child { border-bottom: 0; }
.medical-aid-hub__next-grid article > span:first-child { color: var(--theme-blue-text); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.medical-aid-hub__next-grid h3 { margin: .75rem 0 0; color: var(--ink); font-size: 1.35rem; }
.medical-aid-hub__next-grid p { margin: .75rem 0 1.5rem; color: var(--body-text); line-height: 1.65; }
.medical-aid-hub__next-grid a { display: inline-flex; min-height: 2.75rem; gap: .45rem; align-items: center; margin-top: auto; color: var(--theme-blue-text); font-weight: 750; text-decoration: none; }
.medical-aid-hub__next-grid a:hover { text-decoration: underline; text-underline-offset: .25em; }
.medical-aid-hub__support { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; padding-top: 1.35rem; border-top: 1px solid var(--line); margin-top: 1.5rem; }
.medical-aid-hub__support p { margin: 0; color: var(--body-text); }
.medical-aid-hub__support > div { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.medical-aid-hub__support a { color: var(--theme-blue-text); font-weight: 750; text-underline-offset: .25em; }
.medical-aid-summary-card { padding: 1.25rem; border: 1px solid var(--line); border-top: 3px solid var(--rugare-health-green); background: var(--surface); }
.medical-aid-plans-page__effective { width: fit-content; padding: .45rem .65rem; border-left: 3px solid var(--rugare-health-green); margin-top: 1rem; background: rgb(11 58 91 / 62%); color: var(--rugare-white); font-weight: 700; }
.medical-aid-plan-filters { display: grid; gap: 1rem; padding: 1.25rem; margin-bottom: 1.5rem; border: 1px solid var(--line); background: var(--surface-subtle); }
.medical-aid-plan-filters h3 { margin: 0 0 .35rem; }
.medical-aid-plan-filters p { margin: 0; }
.medical-aid-plan-filters fieldset { padding: 0; border: 0; margin: 0; }
.medical-aid-plan-filters legend { margin-bottom: .55rem; color: var(--ink); font-weight: 700; }
.medical-aid-plan-filters__options { display: flex; flex-wrap: wrap; gap: .5rem; }
.medical-aid-plan-filters__options label { display: inline-flex; min-height: 3rem; align-items: center; gap: .45rem; padding: .55rem .75rem; border: 1px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; }
.medical-aid-plan-filters__options label:has(input:checked) { border-color: var(--rugare-brand-blue); background: var(--color-blue-surface); }
.medical-aid-plan-filters__options input { width: 1.1rem; height: 1.1rem; accent-color: var(--rugare-brand-blue); }
.medical-aid-plan-filters__status { color: var(--theme-blue-text); font-weight: 700; }
.medical-aid-summary-card { display: grid; align-content: start; gap: 1rem; }
.medical-aid-summary-card header > p { margin: 0 0 .25rem; color: var(--theme-blue-text); font-weight: 700; }
.medical-aid-summary-card header h3 { margin: 0; }
.medical-aid-summary-card header > strong { display: block; margin-top: .65rem; color: var(--ink); font-family: var(--display); font-size: var(--font-size-h3); }
.medical-aid-summary-card header small { color: var(--body-text); font-family: var(--font-body); font-size: var(--font-size-body); font-weight: 600; }
.medical-aid-summary-card > dl, .medical-aid-summary-card__benefits { display: grid; gap: 0; margin: 0; }
.medical-aid-summary-card dl > div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .65rem; border-bottom: 1px solid var(--line); }
.medical-aid-summary-card dt { color: var(--body-text); }
.medical-aid-summary-card dd { margin: 0; color: var(--ink); font-weight: 700; text-align: right; }
.medical-aid-summary-card details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.medical-aid-summary-card summary, .medical-aid-comparator summary { min-height: 3rem; padding-block: .75rem; color: var(--theme-blue-text); font-weight: 700; cursor: pointer; }
.medical-aid-summary-card__benefits { max-height: 26rem; overflow-y: auto; padding-bottom: .75rem; }
.medical-aid-summary-card__actions { display: grid; grid-template-columns: 1fr; gap: .65rem; }
.medical-aid-comparator { scroll-margin-top: 6rem; background: var(--surface-subtle); }
.medical-aid-comparator__help { max-width: 58rem; margin-bottom: 1.25rem; border-block: 1px solid var(--line); }
.medical-aid-comparator__help p { padding-bottom: 1rem; }
.medical-aid-comparator__selection-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.medical-aid-comparator__selectors { display: grid; grid-template-columns: 1fr; gap: .75rem; margin-bottom: 1.5rem; }
.medical-aid-comparator__selectors label { display: grid; gap: .35rem; color: var(--ink); font-weight: 700; }
.medical-aid-comparator__selectors select { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid var(--rugare-brand-blue); background: var(--surface); color: var(--ink); font-size: var(--font-size-body); }
.medical-aid-comparator__results, .medical-aid-comparator__additional > div { display: grid; gap: .75rem; }
.medical-aid-comparator__row { padding: 1rem; border: 1px solid var(--line); background: var(--surface); }
.medical-aid-comparator__row h3 { margin: 0 0 .75rem; font-size: var(--font-size-h4); }
.medical-aid-comparator__values { display: grid; grid-template-columns: 1fr; gap: .5rem; }
.medical-aid-comparator__values > div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-top: 1px solid var(--line); }
.medical-aid-comparator__values span { color: var(--ink); font-weight: 700; text-align: right; }
.medical-aid-comparator__additional { margin-top: 1.25rem; }
.medical-aid-comparator__empty { padding: 1rem; border: 1px solid var(--line); background: var(--surface); }
.medical-aid-comparator__next { margin-top: 1.5rem; padding: clamp(1.25rem, 4vw, 2rem); border-left: 4px solid var(--rugare-health-green); background: var(--color-blue-surface); }
.medical-aid-comparator__next > div { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }

/* Medical Aid plan journeys. */
.medical-aid-plans-page .medical-aid-plans-page__body { background: var(--surface-subtle); }
.medical-aid-plans-page .service-page__hero-copy { max-width: 47rem; }
.medical-aid-plans-page .medical-aid-plan-list__heading { align-items: end; margin-bottom: clamp(2rem, 4vw, 3rem); }
.medical-aid-plans-page .medical-aid-plan-list__heading > p { padding-left: 1.25rem; border-left: 3px solid var(--rugare-health-green); color: var(--body-text); line-height: 1.7; }
.medical-aid-plans-page .medical-aid-plan-filters { grid-template-columns: minmax(17rem, .75fr) minmax(0, 1.25fr); gap: 1.25rem clamp(2rem, 5vw, 4rem); align-items: end; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: .75rem; margin-bottom: clamp(1.75rem, 3vw, 2.5rem); background: var(--surface); box-shadow: 0 .8rem 2rem rgb(11 58 91 / 5%); }
.medical-aid-plans-page .medical-aid-plan-filters > div:first-child { grid-row: 1 / span 2; align-self: center; }
.medical-aid-plans-page .medical-aid-plan-filters h3 { color: var(--ink); font-size: 1.3rem; }
.medical-aid-plans-page .medical-aid-plan-filters p { color: var(--body-text); line-height: 1.6; }
.medical-aid-plans-page .medical-aid-plan-filters fieldset { min-width: 0; }
.medical-aid-plans-page .medical-aid-plan-filters legend { margin-bottom: .7rem; font-size: .9rem; }
.medical-aid-plans-page .medical-aid-plan-filters__options { gap: .5rem; }
.medical-aid-plans-page .medical-aid-plan-filters__options label { min-height: 2.75rem; padding: .5rem .8rem; border-radius: 999px; font-size: .875rem; font-weight: 650; }
.medical-aid-plans-page .medical-aid-plan-filters__options label:has(input:checked) { border-color: var(--rugare-brand-blue); background: var(--rugare-brand-blue); color: var(--rugare-white); }
.medical-aid-plans-page .medical-aid-plan-filters__options label:has(input:focus-visible) { outline: 3px solid var(--rugare-health-green); outline-offset: 2px; }
.medical-aid-plans-page .medical-aid-plan-filters__footer { display: flex; grid-column: 2; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; justify-content: space-between; }
.medical-aid-plans-page .medical-aid-plan-filters__status { min-height: 1.5rem; margin: 0; font-size: .875rem; }
.medical-aid-plan-filters__clear { min-height: 2.75rem; padding: .45rem .2rem; border: 0; background: transparent; color: var(--theme-blue-text); font: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }
.medical-aid-plan-filters__clear:hover { color: var(--rugare-navy); }
.medical-aid-plan-filters__clear:disabled { color: var(--muted); cursor: default; opacity: .62; text-decoration: none; }
.medical-aid-plans-page .medical-aid-plan-list__grid { gap: 1rem; background: transparent; }
.medical-aid-plans-page .medical-aid-summary-card { display: flex; min-width: 0; min-height: 36rem; flex-direction: column; gap: 1.15rem; padding: clamp(1.5rem, 2.5vw, 2rem); overflow: hidden; border: 1px solid rgb(16 118 184 / 22%); border-top: 3px solid var(--rugare-brand-blue); border-radius: .8rem; background: var(--surface); box-shadow: 0 .9rem 2.25rem rgb(11 58 91 / 7%); }
.medical-aid-plans-page .medical-aid-summary-card[hidden] { display: none; }
.medical-aid-plans-page .medical-aid-summary-card:nth-child(even) { border-top-color: var(--rugare-health-green); }
.medical-aid-plans-page .medical-aid-summary-card header { padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.medical-aid-plans-page .medical-aid-summary-card header > p { margin: 0 0 .45rem; color: var(--theme-blue-text); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.medical-aid-plans-page .medical-aid-summary-card header h3 { color: var(--ink); font-size: clamp(1.65rem, 2.4vw, 2rem); line-height: 1.15; }
.medical-aid-summary-card__rate-label { display: block; margin-top: 1.35rem; color: var(--body-text); font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.medical-aid-plans-page .medical-aid-summary-card header > strong { display: flex; flex-wrap: wrap; gap: .25rem .45rem; align-items: baseline; margin-top: .25rem; color: var(--ink); font-size: clamp(2.25rem, 3.3vw, 3rem); line-height: 1; }
.medical-aid-plans-page .medical-aid-summary-card header small { color: var(--body-text); font-size: .875rem; font-weight: 650; }
.medical-aid-plans-page .medical-aid-summary-card__facts { display: grid; grid-template-columns: 1fr; gap: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.medical-aid-plans-page .medical-aid-summary-card__facts > div { display: flex; min-height: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.medical-aid-plans-page .medical-aid-summary-card__facts > div:first-child { border-top: 1px solid var(--line); }
.medical-aid-plans-page .medical-aid-summary-card__facts dt { color: var(--body-text); font-size: .875rem; line-height: 1.4; }
.medical-aid-plans-page .medical-aid-summary-card__facts dd { flex: 0 0 auto; margin: 0; color: var(--ink); font-size: .9rem; font-weight: 750; text-align: right; }
.medical-aid-plans-page .medical-aid-summary-card details { border: 0; border-block: 1px solid var(--line); }
.medical-aid-plans-page .medical-aid-summary-card summary { position: relative; padding: .9rem 2rem .9rem 0; color: var(--theme-blue-text); font-size: .9rem; }
.medical-aid-plans-page .medical-aid-summary-card summary::after { position: absolute; top: 50%; right: .2rem; content: '+'; font-size: 1.2rem; transform: translateY(-50%); }
.medical-aid-plans-page .medical-aid-summary-card details[open] summary::after { content: '−'; }
.medical-aid-plans-page .medical-aid-summary-card__benefits { scrollbar-color: var(--rugare-brand-blue) var(--surface-subtle); }
.medical-aid-plans-page .medical-aid-summary-card__benefits > div { font-size: .875rem; }
.medical-aid-plans-page .medical-aid-summary-card__actions { gap: .65rem; margin-top: auto; }
.medical-aid-plans-page .medical-aid-summary-card__actions .button { width: 100%; justify-content: center; white-space: normal; text-align: center; }
.medical-aid-plans-page .medical-aid-summary-card__actions .button--outline { border-color: var(--rugare-brand-blue); background: var(--color-blue-surface); color: var(--rugare-navy); }
.medical-aid-plans-page .medical-aid-summary-card__actions .button--outline:hover { border-color: var(--rugare-navy); background: var(--surface); }
.medical-aid-plan-list__note { max-width: 68rem; padding-left: 1rem; border-left: 3px solid var(--rugare-health-green); margin: 1.5rem 0 0; color: var(--body-text); font-size: .875rem; line-height: 1.6; }
.medical-aid-plan-list__empty { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); border-left: 4px solid var(--rugare-health-green); border-radius: .65rem; background: var(--surface); }
.medical-aid-plan-list__empty[hidden] { display: none; }
.medical-aid-plan-list__empty h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h4); }
.medical-aid-plan-list__empty p { margin: .5rem 0 1.25rem; color: var(--body-text); }
.medical-aid-plans-page .medical-aid-comparator { background: var(--color-blue-surface); }
.medical-aid-plans-page .medical-aid-comparator > .container { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .875rem; background: var(--surface); box-shadow: 0 1.1rem 3rem rgb(11 58 91 / 7%); }
.medical-aid-plans-page .medical-aid-comparator__heading { align-items: end; }
.medical-aid-plans-page .medical-aid-comparator__heading > p { padding-left: 1.25rem; border-left: 3px solid var(--rugare-health-green); color: var(--body-text); line-height: 1.7; }
.medical-aid-plans-page .medical-aid-comparator__help { max-width: none; margin: clamp(1.5rem, 3vw, 2rem) 0; border: 1px solid var(--line); border-left: 4px solid var(--rugare-health-green); border-radius: .6rem; background: var(--surface-subtle); }
.medical-aid-plans-page .medical-aid-comparator__help details { border: 0; }
.medical-aid-plans-page .medical-aid-comparator__help summary { display: flex; min-height: 3.5rem; gap: .75rem; align-items: center; padding: .8rem 1rem; color: var(--ink); font-size: .95rem; }
.medical-aid-plans-page .medical-aid-comparator__help summary::marker { color: var(--theme-blue-text); }
.medical-aid-plans-page .medical-aid-comparator__help summary::after { margin-left: auto; color: var(--theme-blue-text); content: '+'; font-size: 1.2rem; line-height: 1; }
.medical-aid-plans-page .medical-aid-comparator__help details[open] summary::after { content: '−'; }
.medical-aid-comparator__help-icon { display: inline-grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; place-items: center; color: var(--theme-blue-text); }
.medical-aid-comparator__help-icon svg { width: 1.85rem; height: 1.85rem; fill: none; stroke: currentColor; stroke-width: 2; }
.medical-aid-plans-page .medical-aid-comparator__help dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 0; border-top: 1px solid var(--line); margin: 0; background: var(--line); }
.medical-aid-plans-page .medical-aid-comparator__help dl > div { min-width: 0; padding: 1rem; background: var(--surface); }
.medical-aid-plans-page .medical-aid-comparator__help dt { color: var(--ink); font-weight: 750; }
.medical-aid-plans-page .medical-aid-comparator__help dd { margin: .4rem 0 0; color: var(--body-text); font-size: .875rem; line-height: 1.55; }
.medical-aid-plans-page .medical-aid-comparator__selection-head { padding: .9rem 1rem; border: 1px solid var(--line); border-bottom: 0; margin: 0; background: var(--surface-subtle); }
.medical-aid-plans-page .medical-aid-comparator__selection-head .button--outline { border-color: var(--rugare-brand-blue); color: var(--rugare-navy); }
.medical-aid-plans-page .medical-aid-comparator__selectors { gap: .75rem; padding: 1rem; border: 1px solid var(--line); margin-bottom: 1.5rem; background: var(--surface-subtle); }
.medical-aid-plans-page .medical-aid-comparator__selectors select { border-color: var(--line); border-radius: .35rem; }
.medical-aid-plans-page .medical-aid-comparator__next { padding: clamp(1.5rem, 3vw, 2.25rem); border: 0; border-top: 3px solid var(--rugare-health-green); border-radius: .65rem; background: var(--rugare-navy); color: var(--rugare-white); }
.medical-aid-plans-page .medical-aid-comparator__next h3 { margin: 0; color: var(--rugare-white); }
.medical-aid-plans-page .medical-aid-comparator__next p { color: rgb(255 255 255 / 78%); }
.medical-aid-plans-page .medical-aid-comparator__next .button--outline { border-color: rgb(255 255 255 / 76%); background: rgb(255 255 255 / 6%); color: var(--rugare-white); }
.medical-aid-plans-page .medical-aid-comparator__next .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.medical-aid-comparator__track-link { font-weight: 700; }

@media (max-width: 52rem) {
	.medical-aid-plans-page .medical-aid-plan-list__heading,
	.medical-aid-plans-page .medical-aid-comparator__heading {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.medical-aid-plans-page .medical-aid-plan-list__heading > p,
	.medical-aid-plans-page .medical-aid-comparator__heading > p {
		max-width: 44rem;
	}

	.medical-aid-plans-page .medical-aid-plan-filters {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.medical-aid-plans-page .medical-aid-plan-filters > div:first-child {
		grid-row: auto;
	}

	.medical-aid-plans-page .medical-aid-plan-filters__footer {
		grid-column: 1;
	}

	.medical-aid-plans-page .medical-aid-comparator__help dl {
		grid-template-columns: 1fr;
	}

	.medical-aid-plans-page .medical-aid-summary-card {
		min-height: 0;
	}
}

.medical-aid-compare-bar { display: none; }
.service-page__supporting-grid--single { grid-template-columns: minmax(0, 48rem) !important; justify-content: center; }

@media (max-width: 48rem) {
	.medical-aid-compare-bar:not([hidden]) { position: fixed; z-index: 24; right: .75rem; bottom: max(.75rem, env(safe-area-inset-bottom)); left: .75rem; display: flex; min-height: 4rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .75rem; border: 1px solid var(--rugare-brand-blue); background: var(--surface); box-shadow: 0 .6rem 1.8rem rgb(11 58 91 / 18%); }
	.medical-aid-compare-bar span { color: var(--ink); font-weight: 700; }
}

@media (min-width: 40rem) {
	.medical-aid-hub__paths, .medical-aid-hub__next-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.medical-aid-hub__cover-list, .medical-aid-plan-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.medical-aid-comparator__selectors { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.medical-aid-comparator__values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.medical-aid-comparator__values > div { display: grid; justify-content: start; }
}

@media (min-width: 64rem) {
	.medical-aid-hub__next-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.medical-aid-hub__next-grid > article { border-right: 1px solid var(--line); border-bottom: 0; }
	.medical-aid-hub__next-grid > article:last-child { border-right: 0; }
	.medical-aid-hub__cover-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.medical-aid-plan-list__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Unified hero system */
:is(.homepage-hero, .page-hero--media, .page-hero--compact, .article-hero, .service-page__hero, .pharmacy-shop-page__hero, .contact-page__hero) { border-bottom-width: 3px; }
:is(.homepage-hero, .page-hero--media, .page-hero--compact, .article-hero, .service-page__hero, .pharmacy-shop-page__hero, .contact-page__hero)::after { background: rgb(11 58 91 / 88%); }
:is(.page-hero--media, .service-page__hero, .pharmacy-shop-page__hero, .contact-page__hero) { min-height: clamp(34rem, 62vh, 42rem); }
:is(.page-hero--compact, .article-hero) { min-height: clamp(25rem, 46vh, 32rem); }
:is(.page-hero__media-grid, .service-page__hero-grid, .pharmacy-shop-page__hero-grid, .contact-page__hero-inner) { padding-block: clamp(3.25rem, 6vw, 5rem); }
:is(.page-hero__inner, .service-page__hero-copy, .pharmacy-shop-page__hero-copy, .contact-page__hero-copy) { max-width: 44rem; }
:is(.page-hero--media, .page-hero--compact, .article-hero, .service-page__hero, .pharmacy-shop-page__hero, .contact-page__hero) h1 { max-width: 13ch; text-wrap: wrap; }
:is(.page-hero--media, .page-hero--compact, .article-hero, .service-page__hero, .pharmacy-shop-page__hero, .contact-page__hero) :is(.service-page__hero-statement, .service-page__introduction, .page-hero__inner > p:last-child, .contact-page__hero-lead, .pharmacy-shop-page__hero-copy > p:last-of-type) { max-width: 38rem; line-height: 1.55; text-wrap: pretty; }
.service-page__hero .service-page__actions > :nth-child(n + 3) { display: none; }
.service-page--pharmacy .service-page__hero .service-page__actions > .service-page__shop-button { display: inline-flex; }
.page-hero--quiet { min-height: clamp(24rem, 42vh, 29rem); }
.information-page__hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
:is(.page-hero--media, .page-hero--compact) .button--primary { border-color: var(--rugare-white); background: var(--surface); color: var(--theme-blue-text); }
:is(.page-hero--media, .page-hero--compact) .button--primary:hover { border-color: var(--rugare-health-green); background: var(--rugare-health-green); color: var(--rugare-navy); }
:is(.page-hero--media, .page-hero--compact) .button--outline { border-color: rgb(255 255 255 / 62%); background: rgb(7 39 61 / 10%); color: var(--rugare-white); }
:is(.page-hero--media, .page-hero--compact) .button--outline:hover { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.service-page--gp .service-page__hero img { object-position: 65% center; }
.service-page--homecare .service-page__hero img { object-position: 70% center; }
.service-page--diagnostic-laboratory .service-page__hero img { object-position: 48% 30%; }
.service-page--ambulance-service .service-page__hero img { object-position: 58% center; }
.insurance-product--motor-insurance .service-page__hero img { object-position: 64% 44%; }
.insurance-product--home-contents-insurance .service-page__hero img { object-position: 60% center; }
.insurance-product--business-insurance .service-page__hero img { object-position: 67% center; }
.insurance-product--travel-insurance .service-page__hero img { object-position: 62% 45%; }
.insurance-product--gadgets-electronics-cover .service-page__hero img { object-position: 62% center; }
.insurance-product--goods-in-transit .service-page__hero img { object-position: 58% center; }
.insurance-product--contractors-all-risk .service-page__hero img { object-position: 61% center; }
.homepage-hero::after { background: rgb(11 58 91 / 88%); }
.homepage-hero__media img { object-position: center center; }
.homepage-hero__inner { min-height: clamp(32rem, 60vh, 39rem); }
.homepage-hero__content { max-width: 40rem; padding: 0; border: 0; background: transparent; backdrop-filter: none; }
.homepage-hero h1 { max-width: 13ch; text-wrap: wrap; }
.homepage-hero .eyebrow { color: var(--rugare-health-green); }
.homepage-hero .eyebrow > span { background: currentColor; }
.service-page__hero-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 48rem) {
	:is(.homepage-hero, .page-hero--media, .page-hero--compact, .article-hero, .service-page__hero, .pharmacy-shop-page__hero)::after { background: rgb(7 39 61 / 78%); }
	:is(.page-hero__media-grid, .service-page__hero-grid, .pharmacy-shop-page__hero-grid) { padding-block: 2.75rem 3.25rem; }
	:is(.page-hero--media, .service-page__hero, .pharmacy-shop-page__hero) { min-height: 32rem; }
	:is(.page-hero--compact, .article-hero) { min-height: 25rem; }
	.page-hero--quiet { min-height: 22rem; }
	.service-page__hero-facts { grid-template-columns: 1fr; }
	.information-page__hero-actions, .page-hero--compact .service-page__actions { display: grid; grid-template-columns: 1fr; }
	.information-page__hero-actions .button, .page-hero--compact .service-page__actions .button { width: 100%; }
	.service-page--gp .service-page__hero img { object-position: 66% center; }
	.service-page--homecare .service-page__hero img { object-position: 72% center; }
	.service-page--diagnostic-laboratory .service-page__hero img { object-position: 50% 28%; }
	.service-page--ambulance-service .service-page__hero img { object-position: 62% center; }
	.homepage-hero__inner { min-height: 34rem; padding-block: 3rem; }
	.homepage-hero__media img { object-position: 58% center; }
}

/* Header utilities meet the 44px minimum pointer target without adding visual weight. */
.site-header__utility, .search-toggle { min-height: 2.75rem; min-width: 2.75rem; }
.site-header__action, .menu-toggle { width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media print {
	:is(.information-page--privacy-policy, .information-page--terms-and-conditions, .information-page--cookie-policy) :is(.site-header, .site-footer, .cookie-banner, .back-to-top, .privacy-document__nav, .terms-document__nav, .cookie-document__nav) { display: none !important; }
	:is(.information-page--privacy-policy, .information-page--terms-and-conditions, .information-page--cookie-policy) .page-hero--quiet { min-height: 0; padding-block: 1.5rem; background: transparent; color: #000; }
	:is(.information-page--privacy-policy, .information-page--terms-and-conditions, .information-page--cookie-policy) .page-hero--quiet :is(h1, p, .eyebrow) { color: #000; }
	:is(.information-page--privacy-policy, .information-page--terms-and-conditions, .information-page--cookie-policy) .information-page__body { background: #fff; }
	:is(.information-page--privacy-policy, .information-page--terms-and-conditions, .information-page--cookie-policy) .information-page__content { width: 100%; }
	.privacy-document__layout, .terms-document__layout, .cookie-document__layout { display: block; }
	:is(.privacy-document__body, .terms-document__body, .cookie-document__body) .legal-document__section { padding: 1.5rem 0; border: 0; border-bottom: 1px solid #bbb; border-radius: 0; box-shadow: none; break-inside: avoid; }
	:is(.privacy-document__body, .terms-document__body, .cookie-document__body) .legal-document__section::before { display: none; }
	:is(.privacy-document__summary, .privacy-document__notice, .terms-document__summary, .terms-document__notice, .cookie-document__summary, .cookie-document__notice) { box-shadow: none; break-inside: avoid; }
}

/* Services overview refinement */
.services-overview { background: var(--surface-subtle); }
.services-overview__hero { min-height: clamp(38rem, 72vh, 48rem); border-bottom: 3px solid var(--rugare-health-green); }
.services-overview__hero::after { background: rgb(7 39 61 / 48%); }
.services-overview__hero .page-banner img { object-position: center 42%; }
.services-overview__hero .page-hero__media-grid { min-height: inherit; align-items: center; }
.services-overview__hero .page-hero__inner { max-width: 47rem; padding: clamp(2rem, 4vw, 3.25rem); border-left: 4px solid var(--rugare-health-green); background: rgb(7 39 61 / 76%); box-shadow: 0 1.5rem 4rem rgb(7 39 61 / 24%); }
.services-overview__hero .eyebrow { color: var(--rugare-health-green); }
.services-overview__hero h1 { max-width: 13ch !important; margin: 0; color: var(--rugare-white); font-size: var(--font-size-h1); text-wrap: balance; }
.services-overview__hero .page-hero__inner > p:not(.eyebrow, .services-overview__hero-location) { max-width: 37rem; margin: 1.1rem 0 0; color: rgb(255 255 255 / 90%); font-size: var(--font-size-lead); line-height: 1.55; }
.services-overview__hero-location { display: flex; align-items: center; gap: .55rem; margin: 1.1rem 0 0; color: var(--rugare-white); font-size: .9375rem; font-weight: 700; }
.services-overview__hero-location span { display: inline-flex; width: 1.15rem; height: 1.15rem; color: var(--rugare-health-green); }
.services-overview__hero-location svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }
.services-overview__hero-actions .button--primary { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy); }
.services-overview__hero-actions .button--outline { border-color: rgb(255 255 255 / 62%); background: transparent; color: var(--rugare-white); }

.services-overview__primary { padding-block: clamp(4rem, 7vw, 7rem); background: var(--surface-subtle); }
.services-overview__primary .section-heading { max-width: 57rem; margin-inline: auto; text-align: center; }
.services-overview__primary .section-heading .eyebrow { justify-content: center; }
.services-overview__primary .section-heading > p { max-width: 50rem; margin-inline: auto; }
.services-overview__primary .service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 1.7vw, 1.4rem); }
.services-overview__primary .service-card { position: relative; min-height: 25rem; overflow: hidden; border: 1px solid rgb(16 118 184 / 20%); border-top: 0; border-radius: .9rem; background: var(--surface); box-shadow: 0 .85rem 2.4rem rgb(11 58 91 / 7%); }
.services-overview__primary .service-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--rugare-brand-blue); content: ''; }
.services-overview__primary .service-card:nth-child(even)::before { background: var(--rugare-health-green); }
.services-overview__primary .service-card:hover, .services-overview__primary .service-card:focus-within { border-color: rgb(16 118 184 / 46%); box-shadow: 0 1.2rem 3rem rgb(11 58 91 / 11%); }
.services-overview__primary .service-card__body { position: relative; padding: clamp(1.4rem, 2vw, 1.75rem); }
.services-overview__card-number { position: absolute; top: 1.25rem; right: 1.35rem; color: var(--theme-blue-text); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.services-overview__primary .service-card__heading { min-height: 3.4rem; grid-template-columns: 3.2rem minmax(0, 1fr); gap: .85rem; padding-right: 2rem; margin-bottom: 1.15rem; }
.services-overview__primary .service-card__icon { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 0; border-radius: 0; background: transparent; color: var(--rugare-brand-blue); }
.services-overview__primary .service-card:nth-child(even) .service-card__icon { background: transparent; color: var(--theme-green-text); }
.services-overview__primary .service-card__icon svg { width: 2.05rem; height: 2.05rem; fill: none; stroke: currentColor; stroke-width: 2.15; }
.services-overview__primary .service-card h3 { font-size: clamp(1.15rem, 1.45vw, 1.35rem); line-height: 1.22; }
.services-overview__primary .service-card__body > p.services-overview__card-heading { margin-bottom: .65rem; font-size: .96rem; line-height: 1.48; }
.services-overview__primary .service-card__body > p:not(.badge, .services-overview__card-heading, .services-overview__card-highlight) { display: block; overflow: visible; margin-bottom: 1rem; color: var(--body-text); font-size: .9375rem; line-height: 1.65; -webkit-line-clamp: unset; }
.services-overview__primary .service-card__body > p.services-overview__card-highlight { padding: .65rem .75rem; margin: auto 0 1rem; border-left: 3px solid var(--rugare-health-green); background: var(--color-blue-surface); font-size: .875rem; line-height: 1.4; }
.services-overview__primary .service-card__actions { padding-top: .85rem; }
.services-overview__primary .service-card__actions .button { justify-content: space-between; min-height: 3rem; padding-inline: 1rem; text-align: left; }

.services-overview__preventive { padding-block: clamp(4rem, 7vw, 6rem); background: var(--surface); }
.services-overview__preventive .section-heading { max-width: 54rem; margin-inline: auto; text-align: center; }
.services-overview__preventive .eyebrow { justify-content: center; }
.services-overview__preventive-grid { gap: 1.25rem; }
.services-overview__preventive-card { min-height: 20rem; padding: clamp(1.5rem, 2.5vw, 2rem); border: 1px solid rgb(16 118 184 / 20%); border-top: 4px solid var(--rugare-brand-blue); border-radius: .85rem; box-shadow: 0 .8rem 2.2rem rgb(11 58 91 / 6%); }
.services-overview__preventive-card:nth-child(2) { border-top-color: var(--rugare-health-green); }
.services-overview__preventive-card h3 { font-size: clamp(1.25rem, 1.7vw, 1.5rem); }
.services-overview__preventive-card .button { width: 100%; }

.services-overview__medical-aid, .services-overview__corporate { padding-block: clamp(4rem, 7vw, 6rem); }
.services-overview__medical-aid .section-heading, .services-overview__corporate .section-heading { max-width: 60rem; margin-inline: auto; text-align: center; }
.services-overview__medical-aid .eyebrow, .services-overview__corporate .eyebrow { justify-content: center; }
.services-overview__medical-aid .section-heading > p, .services-overview__corporate .section-heading > p { max-width: 49rem; margin-inline: auto; }
.services-overview__medical-aid-content, .services-overview__corporate-content { max-width: 72rem; padding: clamp(1.75rem, 3.5vw, 3rem); border-top-width: 4px; border-radius: .9rem; box-shadow: 0 1rem 2.8rem rgb(11 58 91 / 7%); }
.services-overview__check-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.services-overview__check-list li { padding: .75rem .85rem .75rem 2.15rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface-subtle); }
.services-overview__check-list li::before { top: 1.05rem; left: .9rem; border-radius: 50%; }

.services-overview__insurance { padding-block: clamp(4rem, 7vw, 6rem); }
.services-overview__insurance .section-heading { max-width: 58rem; margin-inline: auto; text-align: center; }
.services-overview__insurance .eyebrow { justify-content: center; }
.services-overview__insurance .section-heading > p { margin-inline: auto; }
.services-overview__insurance-grid { gap: 1rem; border: 0; background: transparent; }
.services-overview__insurance-card { min-height: 16rem; border: 1px solid rgb(16 118 184 / 20%); border-radius: .75rem; box-shadow: 0 .7rem 1.8rem rgb(11 58 91 / 5%); }
.services-overview__insurance-card .button { width: 100%; }

.services-overview .why-rugare { padding-block: clamp(4rem, 7vw, 6rem); border: 0; background: var(--rugare-navy); color: var(--rugare-white); }
.services-overview .why-rugare h2, .services-overview .why-rugare h3 { color: var(--rugare-white); }
.services-overview .why-rugare .eyebrow { color: var(--rugare-health-green); }
.services-overview .why-rugare__scope { border-color: rgb(255 255 255 / 22%); }
.services-overview .why-rugare__scope p, .services-overview .care-principle p { color: rgb(255 255 255 / 78%); }
.services-overview .care-principle { border-color: rgb(255 255 255 / 18%); }
.services-overview .care-principle__icon { border-radius: 50%; background: rgb(255 255 255 / 10%); color: var(--rugare-health-green); }

.services-overview__help { padding-block: clamp(4rem, 7vw, 6rem); background: var(--surface-subtle); }
.services-overview__help-grid { gap: 0; padding: 0; overflow: hidden; border-radius: .9rem; background: var(--surface); box-shadow: 0 1.2rem 3.2rem rgb(11 58 91 / 8%); }
.services-overview__help-grid > div { padding: clamp(2rem, 4vw, 3.5rem); }
.services-overview__help-grid > div:first-child { border-top: 4px solid var(--rugare-health-green); }
.services-overview__practical { border-top: 4px solid var(--rugare-brand-blue); border-left: 1px solid var(--line); background: var(--color-blue-surface); }
.services-overview__final-cta { padding-block: clamp(3rem, 5vw, 4.5rem); }
.services-overview__final-cta h2 { max-width: 24ch !important; font-size: var(--font-size-h2); }

@media (max-width: 75rem) {
	.services-overview__primary .service-grid, .services-overview__insurance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-overview__primary .service-card { min-height: 22rem; }
}

@media (max-width: 48rem) {
	.services-overview__hero { min-height: 34rem; }
	.services-overview__hero::after { background: rgb(7 39 61 / 58%); }
	.services-overview__hero .page-hero__inner { padding: 1.5rem; border-left-width: 3px; background: rgb(7 39 61 / 78%); }
	.services-overview__hero h1 { font-size: clamp(2.35rem, 12vw, 3.35rem); }
	.services-overview__primary .service-grid, .services-overview__preventive-grid, .services-overview__insurance-grid, .services-overview__check-list { grid-template-columns: 1fr; }
	.services-overview__primary .service-card, .services-overview__preventive-card, .services-overview__insurance-card { min-height: 0; }
	.services-overview__primary .service-card__heading { padding-right: 1.5rem; }
	.services-overview__help-grid > div { padding: 1.5rem; }
	.services-overview__practical { border-top: 1px solid var(--line); border-left: 0; }
	.services-overview__final-cta-inner { grid-template-columns: 1fr; }
}

/* Premium compact footer system */
.site-footer { padding-top: clamp(2.2rem, 2.5vw, 2.5rem); border-top: 0; background: var(--rugare-navy); color: rgb(255 255 255 / 86%); }
.site-footer__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .9fr) minmax(0, .86fr) minmax(17rem, 1.35fr); gap: clamp(2rem, 3vw, 3rem); align-items: start; }
.footer-column { min-width: 0; }
.footer-column--brand .brand { display: block; width: min(100%, 18rem); margin: 0; }
.footer-column--brand .brand__logo { display: block; width: 100%; height: auto; }
.footer-brand__description { max-width: 18rem; margin: .9rem 0 .7rem; color: rgb(255 255 255 / 82%); font-size: .9375rem; font-weight: 400; line-height: 1.5; }
.footer-heading { position: relative; padding-top: .7rem; margin: 0 0 1rem; color: var(--rugare-white); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.footer-heading::before { position: absolute; top: 0; left: 0; width: 1.5rem; height: 2px; background: var(--rugare-health-green); content: ''; }
.footer-link-list { display: grid; gap: .35rem; margin: 0 0 .65rem; }
.footer-column--explore .footer-link-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 1rem; }
.footer-column--healthcare .footer-disclosure__panel > .footer-text-link { display: flex; width: fit-content; }
.site-footer .footer-link-list li { margin: 0; line-height: 1.45; }
.site-footer :is(.footer-link-list a, .footer-text-link, .footer-contact a, .footer-uk-office a) { color: rgb(255 255 255 / 92%); font-size: .9375rem; font-weight: 600 !important; }
.footer-text-link { display: inline-flex; min-height: 2rem; align-items: center; gap: .4rem; text-decoration: none; }
.footer-text-link--arrow span { color: var(--rugare-health-green); font-size: 1.15em; transition: transform .18s ease; }
.footer-text-link--arrow:hover span, .footer-text-link--arrow:focus-visible span { transform: translateX(.2rem); }
.footer-brand__mobile-phone, .footer-brand__mobile-actions, .footer-disclosure__toggle { display: none; }
.footer-social { margin-top: .7rem; }
.footer-social ul { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; }
.site-footer .footer-social li { margin: 0; }
.footer-social a { display: inline-flex; width: 2.375rem; height: 2.375rem; align-items: center; justify-content: center; border: 1px solid rgb(255 255 255 / 26%); background: transparent; color: var(--rugare-white); }
.footer-social a:hover, .footer-social a:focus-visible { border-color: var(--rugare-white); background: rgb(255 255 255 / 10%); color: var(--rugare-white); text-decoration: none; transform: none; }
.footer-social a span, .footer-social svg { display: block; width: .95rem; height: .95rem; }
.footer-contact { display: grid; grid-template-columns: 1fr; gap: .65rem; }
.footer-contact address { margin: 0 0 .4rem; color: rgb(255 255 255 / 82%); font-size: .9375rem; font-style: normal; line-height: 1.5; }
.footer-contact__primary, .footer-contact__email { display: flex; width: fit-content; max-width: 100%; min-height: 1.7rem; align-items: center; overflow-wrap: anywhere; }
.footer-contact__primary { font-weight: 600 !important; white-space: nowrap; }
.footer-contact__email { font-size: .9375rem !important; font-weight: 500 !important; white-space: nowrap; }
.footer-brand__mobile-actions { align-items: center; gap: 0; margin: .45rem 0 .1rem; }
.footer-quick-link, .footer-contact__quick-links a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--rugare-white); font-size: .9375rem; font-weight: 700; text-decoration: none; }
.footer-quick-link + .footer-quick-link::before, .footer-contact__quick-links a + a::before { margin-inline: .65rem; color: rgb(255 255 255 / 34%); content: '·'; }
.footer-contact__quick-links { display: flex; flex-wrap: wrap; align-items: center; margin-top: -.1rem; }
.footer-hours { padding-top: 0; border-top: 0; }
.footer-hours dl, .footer-hours dd { margin: 0; }
.footer-hours dl { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.35fr); gap: .5rem .85rem; }
.footer-hours dt { margin-bottom: .15rem; color: var(--rugare-white); font-size: .875rem; font-weight: 700; }
.footer-hours dd { color: rgb(255 255 255 / 82%); font-size: .875rem; line-height: 1.42; }
.footer-hours dd span { display: block; }
.footer-uk-office { padding-top: .45rem; margin-top: .45rem; border-top: 1px solid rgb(255 255 255 / 14%); }
.footer-uk-office__toggle { display: flex; width: 100%; min-height: 2.75rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .2rem 0; border: 0; background: transparent; color: var(--rugare-white); font: inherit; font-size: .875rem; font-weight: 700; text-align: left; cursor: pointer; }
.footer-disclosure__icon { position: relative; width: 1rem; height: 1rem; flex: 0 0 auto; }
.footer-disclosure__icon::before, .footer-disclosure__icon::after { position: absolute; top: 50%; left: 50%; width: .75rem; height: 1.5px; background: var(--rugare-health-green); content: ''; transform: translate(-50%, -50%); }
.footer-disclosure__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
[data-footer-disclosure][aria-expanded='true'] .footer-disclosure__icon::after { transform: translate(-50%, -50%) rotate(0); }
.footer-uk-office__panel { padding-top: .45rem; }
.footer-uk-office__panel address { display: grid; gap: .05rem; margin: 0 0 .35rem; color: rgb(255 255 255 / 82%); font-size: .875rem; line-height: 1.45; }
.footer-disclosure__panel[hidden] { display: none; }
.site-footer__bottom { margin-top: clamp(1rem, 1.4vw, 1.25rem); border-top: 1px solid rgb(255 255 255 / 16%); background: transparent; }
.site-footer__bottom-inner { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: .75rem 2rem; padding: .375rem 0; font-size: .875rem; }
.site-footer__copy { margin: 0; color: rgb(255 255 255 / 76%); font-size: .875rem; line-height: 1.45; }
.site-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .25rem 1rem; }
.site-footer__legal .legal-menu { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; margin: 0; }
.site-footer__legal .legal-menu li { margin: 0; }
.site-footer__legal a, .site-footer__cookie-settings { min-height: 2.5rem; font-size: .875rem !important; font-weight: 600 !important; }
.site-footer__legal a { display: inline-flex; align-items: center; }
.site-footer__cookie-settings { display: inline-flex; align-items: center; padding: 0; border: 0; background: transparent; color: var(--rugare-white); cursor: pointer; }
.footer-quick-link:hover, .footer-quick-link:focus-visible, .footer-contact__quick-links a:hover, .footer-contact__quick-links a:focus-visible { color: var(--rugare-white); text-decoration: underline; text-decoration-color: var(--rugare-health-green); text-underline-offset: .22em; }
.site-footer :is(a, button):focus-visible { outline: 3px solid var(--rugare-white); outline-offset: 3px; }

/* Footer legibility and brand refinement. */
.site-footer { position: relative; isolation: isolate; padding-top: clamp(1.9rem, 2.25vw, 2.25rem); overflow: clip; background: var(--rugare-navy); }
.site-footer::before { position: absolute; z-index: -1; top: 0; right: 0; left: 0; height: 3px; background: var(--rugare-health-green); content: ''; }
.site-footer__grid { grid-template-columns: minmax(13rem, 1fr) minmax(13rem, .95fr) minmax(15rem, 1.05fr) minmax(20rem, 1.35fr); gap: clamp(1.75rem, 2.5vw, 2.75rem); }
.footer-column--brand .brand { width: min(100%, 18rem); margin: 0; }
.footer-column--brand .brand__logo { display: block; width: 100%; height: auto; }
.footer-brand__description { max-width: 20rem; margin: .8rem 0 .6rem; color: rgb(255 255 255 / 78%); line-height: 1.55; }
.footer-column--brand > .footer-text-link { min-height: 2.65rem; padding: .5rem .75rem; border: 1px solid rgb(255 255 255 / 28%); border-radius: .35rem; background: rgb(255 255 255 / 6%); }
.footer-column--brand > .footer-text-link:hover, .footer-column--brand > .footer-text-link:focus-visible { border-color: var(--rugare-health-green); background: rgb(255 255 255 / 10%); text-decoration: none; }
.footer-heading { padding-top: .7rem; margin-bottom: .85rem; font-size: .8125rem; letter-spacing: .1em; }
.footer-heading::before { width: 1.75rem; height: 2px; border-radius: 0; }
.site-footer .footer-link-list { gap: .3rem; }
.site-footer .footer-link-list a { display: inline-flex; min-height: 1.85rem; align-items: center; line-height: 1.45; }
.footer-column--explore .footer-link-list { grid-template-columns: 1fr; gap: .05rem; max-width: 18rem; }
.site-footer .footer-column--explore .footer-link-list a { width: 100%; min-height: 2.2rem; justify-content: space-between; gap: 1rem; padding: .3rem .45rem; border-radius: .25rem; margin-inline: -.45rem; }
.footer-column--explore .footer-link-list a::after { flex: 0 0 auto; color: var(--rugare-health-green); content: '→'; opacity: 0; transform: translateX(-.3rem); transition: opacity .16s ease, transform .16s ease; }
.footer-column--explore .footer-link-list a:hover, .footer-column--explore .footer-link-list a:focus-visible { background: rgb(255 255 255 / 7%); text-decoration: none; }
.footer-column--explore .footer-link-list a:hover::after, .footer-column--explore .footer-link-list a:focus-visible::after { opacity: 1; transform: translateX(0); }
.site-footer :is(.footer-link-list a, .footer-text-link, .footer-contact a, .footer-uk-office a) { color: rgb(255 255 255 / 88%); }
.site-footer :is(.footer-link-list a, .footer-text-link, .footer-contact a, .footer-uk-office a):hover { color: var(--rugare-white); }
.footer-social a { width: 2.75rem; height: 2.75rem; border-radius: .35rem; background: rgb(255 255 255 / 4%); }
.footer-contact { gap: .8rem; }
.footer-contact__details { display: grid; gap: .35rem; }
.footer-contact__detail { display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); gap: .55rem; align-items: start; width: fit-content; max-width: 100%; }
.footer-contact__detail address { margin: 0; }
.footer-contact__icon, .footer-quick-link__icon { display: inline-grid; width: 1rem; height: 1rem; flex: 0 0 1rem; place-items: center; color: var(--rugare-health-green); }
.footer-contact__icon { margin-top: .2rem; }
.footer-contact__icon svg, .footer-quick-link__icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-quick-link, .footer-contact__quick-links a { gap: .4rem; }
.footer-quick-link--whatsapp .footer-quick-link__icon { color: #65df94; }
.footer-quick-link + .footer-quick-link::before, .footer-contact__quick-links a + a::before { content: none; }
.footer-contact__quick-links { gap: .25rem 1rem; padding-top: .35rem; border-top: 1px solid rgb(255 255 255 / 12%); }
.site-footer__bottom { margin-top: clamp(.8rem, 1.25vw, 1.25rem); background: rgb(0 0 0 / 7%); }
.site-footer__bottom-inner { padding-right: 4.5rem; }

/* Let headings use their actual layout column instead of artificial character caps. */
.site-main :is(h1, h2, h3, h4, h5, h6) {
	max-width: none !important;
	white-space: normal !important;
}

/* Final homepage hero values after the shared hero layer. */
.homepage-short .homepage-hero { min-height: clamp(42rem, 76vh, 50rem); }
.homepage-short .homepage-hero::after { background: rgb(7 39 61 / 68%); }
.homepage-short .homepage-hero__inner { min-height: inherit; padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.homepage-short .homepage-hero__content { max-width: 46rem; }
.homepage-short .homepage-hero h1 { max-width: 13ch !important; font-size: var(--font-size-h1); line-height: var(--line-height-tight); text-wrap: balance; }
.homepage-short .homepage-hero__lead { max-width: 36rem; margin-top: 1.25rem; color: rgb(255 255 255 / 88%); font-size: var(--font-size-lead); line-height: 1.55; }
.homepage-short .homepage-hero__location { align-items: center; margin-top: 1.15rem; color: var(--rugare-white); }
.homepage-short .homepage-hero__location .icon { width: 1.1rem; height: 1.1rem; flex: 0 0 1.1rem; }
.homepage-short .homepage-hero__location .icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }
.homepage-short .homepage-hero__actions { gap: .75rem; margin-top: 1.75rem; }
.homepage-short .homepage-hero__actions .button { min-width: 13.5rem; }
.homepage-short .homepage-hero__actions .icon { width: 1.05rem; height: 1.05rem; }
.homepage-short .homepage-hero__actions .icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 75rem) {
	.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem clamp(2.5rem, 6vw, 4rem); }
}

@media (max-width: 48rem) {
	.service-page__ambulance-intro { padding: 2rem 1.25rem; }
	.service-page__ambulance-intro-media { min-height: 22rem; }
	.service-page__ambulance-contact { padding: 2rem 1.25rem; }
	.service-page__ambulance-contact ul { grid-template-columns: 1fr; }
	.service-page__ambulance-contact-actions .button { white-space: normal; text-align: center; }
	.homepage-short .homepage-hero { min-height: 36rem; }
	.homepage-short .homepage-hero::after { background: rgb(7 39 61 / 76%); }
	.homepage-short .homepage-hero__inner { min-height: inherit; padding-block: 3rem; }
	.homepage-short .homepage-hero__actions { display: grid; grid-template-columns: 1fr; }
	.homepage-short .homepage-hero__actions .button { width: 100%; min-width: 0; }
	.site-footer { padding-top: 2rem; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 0; }
	.footer-column--brand { padding-bottom: 1.4rem; }
	.footer-column--brand .brand { width: min(100%, 15rem); margin: 0; }
	.footer-brand__description { margin: .8rem 0 .35rem; }
	.footer-column--brand > .footer-text-link, .footer-social { display: none; }
	.footer-brand__mobile-phone { display: flex; width: fit-content; min-height: 2.5rem; align-items: center; color: var(--rugare-white); font-size: .9375rem; font-weight: 700; text-decoration: none; }
	.footer-brand__mobile-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; width: 100%; margin-block: .4rem 0; }
	.footer-brand__mobile-actions .footer-quick-link { min-width: 0; min-height: 2.75rem; justify-content: center; padding: .4rem .35rem; border: 1px solid rgb(255 255 255 / 22%); border-radius: .35rem; background: rgb(255 255 255 / 4%); font-size: .875rem; }
	.footer-heading--desktop { display: none; }
	.footer-column:not(.footer-column--brand) { border-top: 1px solid rgb(255 255 255 / 18%); }
	.footer-disclosure__toggle { display: flex; width: 100%; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .25rem 0; border: 0; background: transparent; color: var(--rugare-white); font: inherit; font-size: .875rem; font-weight: 700; letter-spacing: .06em; text-align: left; text-transform: uppercase; cursor: pointer; }
	.footer-disclosure__panel { padding: .25rem 0 1rem; }
	.footer-column--explore .footer-link-list { max-width: none; }
	.footer-column--contact > .footer-uk-office { margin-top: 0; }
	.footer-contact { grid-template-columns: 1fr; gap: .75rem; }
	.footer-hours { padding-top: .65rem; border-top: 1px solid rgb(255 255 255 / 14%); }
	.footer-hours dl { grid-template-columns: 1fr; gap: .55rem; }
	.footer-uk-office { padding-top: 0; }
	.footer-uk-office__toggle { min-height: 3rem; padding: .25rem 0; letter-spacing: .06em; text-transform: uppercase; }
	.site-footer__bottom { margin-top: 1rem; }
	.site-footer__bottom-inner { display: grid; min-height: 0; gap: .35rem; padding: .75rem 4.25rem max(.85rem, env(safe-area-inset-bottom)) 0; }
	.site-footer__legal { justify-content: flex-start; gap: 0 1rem; }
	.site-footer__legal .legal-menu { gap: 0 1rem; }
}

@media (max-width: 22rem) {
	.footer-brand__mobile-actions { grid-template-columns: 1fr; }
}

/* Secure Medical Aid application journey. */
.medical-aid-application-page { background: var(--surface-subtle); }

.medical-aid-application-page .service-page__hero-copy { max-width: 47rem; }
.medical-aid-application-page .service-page__body { padding-block: clamp(3rem, 6vw, 5.5rem); }

.medical-aid-application__form-wrap {
	overflow: hidden;
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 1px solid rgb(16 118 184 / 22%);
	border-top: 3px solid var(--rugare-health-green);
	border-radius: .875rem;
	background: var(--surface);
	box-shadow: 0 1.25rem 3.25rem rgb(11 58 91 / 8%);
}

.medical-aid-application__intro {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(18rem, .7fr);
	gap: 1.5rem clamp(2rem, 5vw, 5rem);
	align-items: end;
	max-width: none;
	padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--line);
	margin-bottom: 0;
}

.medical-aid-application__intro .eyebrow { grid-column: 1 / -1; margin-bottom: -.5rem; }
.medical-aid-application__intro h2 { max-width: none !important; margin: 0; color: var(--ink); font-size: var(--font-size-h2); text-wrap: wrap; }
.medical-aid-application__intro > p:nth-child(3) {
	padding-left: 1.25rem;
	border-left: 3px solid var(--rugare-health-green);
	margin: 0;
	color: var(--body-text);
	line-height: 1.7;
}
.medical-aid-application__print-option {
	grid-column: 1;
	margin: .25rem 0 0;
	font-size: var(--font-size-small);
	color: var(--body-text-muted);
	line-height: 1.6;
}
.medical-aid-application__print-option a { color: var(--theme-blue-text); text-underline-offset: .2em; }

.medical-aid-application__session {
	position: relative;
	display: grid;
	gap: 1.25rem;
	max-width: 64rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--line);
	border-radius: .7rem;
	margin: clamp(1.75rem, 3vw, 2.5rem) 0 0;
	background: var(--surface-subtle);
}

.medical-aid-application__session::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 4rem;
	height: 3px;
	background: var(--rugare-health-green);
	content: '';
}

.medical-aid-application__session h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h3); }
.medical-aid-application__session > p { max-width: 50rem; margin: 0; color: var(--body-text); line-height: 1.65; }
.medical-aid-application-page .form-field { display: grid; gap: .45rem; align-content: start; }
.medical-aid-application-page :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
	width: 100%;
	min-height: 3.25rem;
	border: 1px solid #a9c5d7;
	border-radius: .35rem;
	background: var(--surface);
	color: var(--ink);
}

.medical-aid-application-page textarea { min-height: 8rem; }
.medical-aid-application-page input[readonly] { background: var(--surface-subtle); }
.medical-aid-application-page :is(input, select, textarea):focus-visible {
	border-color: var(--rugare-brand-blue);
	outline: 3px solid rgb(126 205 55 / 32%);
	outline-offset: 1px;
}

.medical-aid-application__session .medical-aid-application__grid { gap: 1rem 1.25rem; }
.medical-aid-application__session .button { width: fit-content; min-width: 14rem; }
.medical-aid-application__resume { padding: 0; border: 1px solid var(--line); border-radius: .5rem; margin-top: .5rem; background: var(--surface); }
.medical-aid-application__resume summary {
	display: flex;
	min-height: 3.5rem;
	align-items: center;
	padding: .75rem 1rem;
	color: var(--theme-blue-text);
	font-weight: 750;
	cursor: pointer;
}

.medical-aid-application__resume form { padding: 1rem; border-top: 1px solid var(--line); }
.medical-aid-application__form { gap: clamp(1.5rem, 3vw, 2rem); margin-top: clamp(1.75rem, 3vw, 2.5rem); }

.medical-aid-application__progress {
	position: relative;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid var(--rugare-navy);
	border-radius: .65rem;
	margin-bottom: 0;
	background: var(--rugare-navy);
	color: var(--rugare-white);
}

.medical-aid-application__progress-head strong { color: var(--rugare-white); font-size: var(--font-size-h4); }
.medical-aid-application__progress-head .button--outline { border-color: rgb(255 255 255 / 68%); background: transparent; color: var(--rugare-white); }
.medical-aid-application__progress-list { grid-template-columns: repeat(5, minmax(0, 1fr)); counter-reset: application-step; gap: .5rem; }
.medical-aid-application__progress-list li {
	counter-increment: application-step;
	display: grid;
	grid-template-columns: 1.75rem minmax(0, 1fr);
	gap: .55rem;
	align-items: center;
	min-height: 3.5rem;
	padding: .55rem .65rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: .35rem;
	background: rgb(255 255 255 / 6%);
	color: rgb(255 255 255 / 72%);
	font-size: .78rem;
}

.medical-aid-application__progress-list li::before {
	display: grid;
	width: 1.75rem;
	height: 1.75rem;
	place-items: center;
	border: 1px solid currentcolor;
	border-radius: 50%;
	content: counter(application-step);
	font-size: .72rem;
}

.medical-aid-application__progress-list li.is-current { border-color: var(--rugare-health-green); background: var(--surface); color: var(--rugare-navy); }
.medical-aid-application__progress-list li.is-complete { border-color: rgb(126 205 55 / 55%); background: rgb(126 205 55 / 14%); color: var(--rugare-white); }
.medical-aid-application__progress-note { color: rgb(255 255 255 / 72%); }

/* Step visibility — explicit rule beats the display:grid baseline. */
.medical-aid-application__section[hidden] { display: none; }

/* Before JS enhances the form show only the first section. */
.medical-aid-application__form:not(.is-enhanced) .medical-aid-application__section { display: none; }
.medical-aid-application__form:not(.is-enhanced) .medical-aid-application__section:first-of-type { display: grid; }

.medical-aid-application__section {
	gap: 1.25rem;
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid var(--line);
	border-radius: .65rem;
	background: var(--surface);
}

.medical-aid-application__section.is-entering {
	animation: section-in .22s ease both;
}

@keyframes section-in {
	from { opacity: 0; transform: translateY(.5rem); }
	to   { opacity: 1; transform: translateY(0); }
}

.medical-aid-application__section > legend {
	width: auto;
	max-width: calc(100% - 2rem);
	padding: .25rem .75rem;
	border-left: 3px solid var(--rugare-health-green);
	margin: 0 0 .25rem;
	background: var(--surface);
	color: var(--ink);
	font-size: var(--font-size-h3);
	font-weight: 750;
}

.medical-aid-application__subheading { padding-top: 1rem; border-top: 1px solid var(--line); }
.medical-aid-application__insurance-row,
.medical-aid-application__dependant,
.medical-aid-application__medical-question,
.medical-aid-application__review-grid > div { border-radius: .4rem; background: var(--surface-subtle); }
.medical-aid-application__step-actions { padding-top: 1.25rem; margin-top: .25rem; }
.medical-aid-application__step-actions .button { min-width: 11rem; }
.medical-aid-application__submit { padding: 1.25rem; border-top: 3px solid var(--rugare-health-green); border-radius: .5rem; background: var(--surface-subtle); }

.form-field__radiogroup { padding: 0; border: 0; margin: 0; }
.form-field__radiogroup > legend { padding: 0; margin-bottom: .4rem; font-size: inherit; font-weight: 600; color: var(--ink); }

.medical-aid-application__after {
	max-width: none;
	padding: 0;
	border: 1px solid rgb(16 118 184 / 22%);
	border-top: 3px solid var(--rugare-health-green);
	border-radius: .75rem;
	background: var(--surface);
	box-shadow: 0 1rem 3rem rgb(11 58 91 / 8%);
}

.medical-aid-application__after-header {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .75fr);
	gap: 1.5rem clamp(2rem, 5vw, 5rem);
	align-items: end;
	padding: clamp(2rem, 4vw, 3.25rem);
}

.medical-aid-application__after-header .eyebrow { margin-bottom: 1rem; }
.medical-aid-application__after-header h2 { max-width: 18ch !important; margin: 0; }
.medical-aid-application__after-header > p {
	padding-left: 1.25rem;
	border-left: 3px solid var(--rugare-health-green);
	margin: 0;
	color: var(--body-text);
	line-height: 1.7;
}

.medical-aid-application__after-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: .75rem;
	padding: 0;
	margin: 0 clamp(2rem, 4vw, 3.25rem) clamp(2rem, 4vw, 3.25rem);
	background: transparent;
	list-style: none;
}

.medical-aid-application__after-steps li {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 1rem;
	align-content: start;
	min-height: 13rem;
	padding: 1.35rem;
	border: 1px solid var(--line);
	border-top: 3px solid var(--rugare-brand-blue);
	border-radius: .5rem;
	background: var(--surface-subtle);
}

.medical-aid-application__after-steps li:nth-child(even) { border-top-color: var(--rugare-health-green); background: var(--surface); }

.medical-aid-application__after-steps li > span {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border-radius: 50%;
	background: var(--rugare-navy);
	color: var(--rugare-white);
	font-size: .75rem;
	font-weight: 800;
}

.medical-aid-application__after-steps li:first-child > span { background: var(--rugare-brand-blue); }
.medical-aid-application__after-steps strong { display: block; margin: 0 0 .55rem; color: var(--ink); font-size: 1.05rem; line-height: 1.3; }
.medical-aid-application__after-steps p { margin: 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.65; }

.medical-aid-application__after-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	padding: 1.25rem clamp(2rem, 4vw, 3.25rem);
	border-radius: 0 0 .7rem .7rem;
	background: var(--rugare-navy);
}

.medical-aid-application__after-action p { display: grid; gap: .15rem; margin: 0; color: rgb(255 255 255 / 76%); font-size: var(--font-size-small); }
.medical-aid-application__after-action strong { color: var(--rugare-white); font-size: 1rem; }
.medical-aid-application__after-action .button--outline { flex: 0 0 auto; border-color: rgb(255 255 255 / 58%); background: var(--surface); color: var(--rugare-navy); }

@media (max-width: 52rem) {
	.medical-aid-application__intro { grid-template-columns: 1fr; }
	.medical-aid-application__intro .eyebrow { grid-column: auto; }
	.medical-aid-application__intro h2 { max-width: none !important; }
	.medical-aid-application__intro > p:nth-child(3) { max-width: 44rem; }
	.medical-aid-application__grid,
	.medical-aid-application__insurance-row,
	.medical-aid-application__review-grid { grid-template-columns: 1fr; }
	.medical-aid-application__progress-list { display: flex; overflow-x: auto; padding-bottom: .35rem; scroll-snap-type: x proximity; }
	.medical-aid-application__progress-list li { flex: 0 0 min(15rem, 80vw); scroll-snap-align: start; }
	.medical-aid-application__progress-head { align-items: flex-start; }
	.medical-aid-application__after-header { grid-template-columns: 1fr; }
	.medical-aid-application__after-header > p { max-width: 44rem; }
	.medical-aid-application__after-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.medical-aid-application__after-steps li { min-height: 11rem; }
	.medical-aid-application__after-steps li:last-child { grid-column: 1 / -1; }
}

@media (max-width: 36rem) {
	.medical-aid-application__form-wrap { padding: 1.25rem 1rem; border-inline: 0; border-radius: 0; }
	.medical-aid-application__session,
	.medical-aid-application__section { padding: 1.15rem; }
	.medical-aid-application__session .button,
	.medical-aid-application__step-actions .button,
	.medical-aid-application__submit .button { width: 100%; min-width: 0; }
	.medical-aid-application__progress-head { flex-direction: column; align-items: stretch; }
	.medical-aid-application__after-header { padding: 1.5rem 1.15rem; }
	.medical-aid-application__after-steps { grid-template-columns: 1fr; margin: 0 1.15rem 1.5rem; }
	.medical-aid-application__after-steps li,
	.medical-aid-application__after-steps li:last-child { grid-column: auto; min-height: 0; padding: 1.15rem; }
	.medical-aid-application__after-action { display: grid; padding: 1.25rem 1.15rem; }
	.medical-aid-application__after-action .button { width: 100%; }
}

/* Medical Aid application status tracker. */
.medical-aid-support-page--track { background: var(--surface-subtle); }
.medical-aid-tracker-section { padding-block: clamp(3rem, 6vw, 5.5rem); }
.medical-aid-support-page--track .medical-aid-application__lookup { overflow: hidden; margin: 0; border: 1px solid rgb(16 118 184 / 22%); border-top: 3px solid var(--rugare-health-green); border-radius: .875rem; background: var(--surface); box-shadow: 0 1.25rem 3.25rem rgb(11 58 91 / 8%); }

.medical-aid-support-page--track .medical-aid-application__lookup-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(24rem, 1.15fr);
	gap: 0;
	padding: 0;
	border: 0;
	background: var(--surface);
}

.medical-aid-application__lookup-intro { padding: clamp(2rem, 4vw, 3.5rem); background: var(--color-blue-surface); }
.medical-aid-application__lookup-intro .eyebrow { margin-bottom: 1rem; }
.medical-aid-application__lookup-intro h2 { margin: 0; color: var(--ink); font-size: var(--font-size-h2); }
.medical-aid-application__lookup-intro > p { max-width: 34rem; margin: 1rem 0 0; color: var(--body-text); line-height: 1.7; }

.medical-aid-application__lookup-requirements { display: grid; gap: 0; padding: 0; border-top: 1px solid var(--line); margin: clamp(1.75rem, 4vw, 3rem) 0 0; list-style: none; }
.medical-aid-application__lookup-requirements li { display: grid; gap: .25rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.medical-aid-application__lookup-requirements strong { color: var(--ink); font-size: .95rem; }
.medical-aid-application__lookup-requirements span { color: var(--body-text); font-size: var(--font-size-small); line-height: 1.55; }

.medical-aid-support-page--track .medical-aid-application__lookup-form-wrap { align-content: start; padding: clamp(2rem, 4vw, 3.5rem); background: var(--surface); }
.medical-aid-support-page--track .medical-aid-application__lookup-form { gap: 1.15rem; }
.medical-aid-application__lookup-form-heading { display: flex; gap: .9rem; align-items: center; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.medical-aid-application__lookup-form-heading > span { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--rugare-brand-blue); }
.medical-aid-application__lookup-form-heading svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.medical-aid-application__lookup-form-heading h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h3); }
.medical-aid-application__lookup-form-heading p { margin: .15rem 0 0; color: var(--muted); font-size: var(--font-size-small); }

.medical-aid-support-page--track .form-field { display: grid; gap: .45rem; }
.medical-aid-support-page--track .form-field label { color: var(--ink); font-weight: 750; }
.medical-aid-support-page--track .form-field input { width: 100%; min-height: 3.35rem; border: 1px solid #a9c5d7; border-radius: .35rem; background: var(--surface); color: var(--ink); }
.medical-aid-support-page--track .form-field input:focus-visible { border-color: var(--rugare-brand-blue); outline: 3px solid rgb(126 205 55 / 32%); outline-offset: 1px; }
.medical-aid-support-page--track .form-field small { color: var(--muted); font-size: .78rem; }
.medical-aid-support-page--track .medical-aid-application__lookup-form > .button { width: 100%; min-height: 3.25rem; margin-top: .25rem; }
.medical-aid-application__lookup-privacy { padding-top: .9rem; border-top: 1px solid var(--line); margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }

.medical-aid-support-page--track .medical-aid-application__lookup-result { display: grid; gap: 1rem; padding: 1.5rem; border: 1px solid var(--line); border-left: 4px solid var(--rugare-brand-blue); border-radius: .45rem; margin: .5rem 0 0; background: var(--surface-subtle); }
.medical-aid-support-page--track .medical-aid-application__lookup-result--success { border-left-color: var(--rugare-health-green); background: var(--color-green-surface); }
.medical-aid-support-page--track .medical-aid-application__lookup-result--warning,
.medical-aid-support-page--track .medical-aid-application__lookup-result--error { border-left-color: #bd6b1b; background: #fff7ec; }
.medical-aid-application__lookup-result h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h3); }
.medical-aid-application__lookup-result > p { margin: 0; color: var(--body-text); line-height: 1.65; }
.medical-aid-application__lookup-status-label { color: var(--theme-green-text) !important; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.medical-aid-application__lookup-result dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; margin: 0; background: var(--line); }
.medical-aid-application__lookup-result dl > div { display: grid; gap: .25rem; padding: .9rem; background: var(--surface); }
.medical-aid-application__lookup-result dt { color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.medical-aid-application__lookup-result dd { margin: 0; color: var(--ink); font-size: var(--font-size-small); font-weight: 700; line-height: 1.5; }
.medical-aid-application__lookup-history { padding-top: 1rem; border-top: 1px solid var(--line); }
.medical-aid-application__lookup-history h4 { margin: 0; color: var(--ink); }
.medical-aid-application__timeline { position: relative; gap: 0; padding-left: 1.15rem; margin: .85rem 0 0; border-left: 2px solid var(--line); list-style: none; }
.medical-aid-application__timeline li { position: relative; display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; color: var(--body-text); font-size: var(--font-size-small); }
.medical-aid-application__timeline li::before { position: absolute; top: .95rem; left: calc(-1.15rem - 5px); width: .5rem; height: .5rem; border: 2px solid var(--surface); border-radius: 50%; background: var(--rugare-brand-blue); content: ''; }
.medical-aid-application__timeline time { flex: 0 0 auto; color: var(--muted); }

.medical-aid-application__lookup-help { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding: 1.25rem clamp(2rem, 4vw, 3.5rem); background: var(--rugare-navy); }
.medical-aid-application__lookup-help p { display: grid; gap: .15rem; margin: 0; color: rgb(255 255 255 / 76%); font-size: var(--font-size-small); }
.medical-aid-application__lookup-help strong { color: var(--rugare-white); font-size: 1rem; }
.medical-aid-application__lookup-help .button { flex: 0 0 auto; border-color: rgb(255 255 255 / 60%); background: var(--surface); color: var(--rugare-navy); }

@media (max-width: 52rem) {
	.medical-aid-support-page--track .medical-aid-application__lookup-grid { grid-template-columns: 1fr; }
	.medical-aid-application__lookup-intro,
	.medical-aid-support-page--track .medical-aid-application__lookup-form-wrap { padding: 2rem; }
}

@media (max-width: 36rem) {
	.medical-aid-support-page--track .medical-aid-application__lookup { border-inline: 0; border-radius: 0; }
	.medical-aid-application__lookup-intro,
	.medical-aid-support-page--track .medical-aid-application__lookup-form-wrap { padding: 1.5rem 1.15rem; }
	.medical-aid-application__lookup-result dl { grid-template-columns: 1fr; }
	.medical-aid-application__timeline li { display: grid; gap: .15rem; }
	.medical-aid-application__lookup-help { display: grid; padding: 1.25rem 1.15rem; }
	.medical-aid-application__lookup-help .button { width: 100%; }
}

/* Premium Short-Term Insurance overview. */
.short-term-insurance { background: var(--surface-subtle); }
.short-term-insurance .service-page__body { background: transparent; }
.short-term-insurance__introduction { padding-block: clamp(3rem, 6vw, 5rem); background: var(--surface); }
.short-term-insurance__introduction-inner { display: grid; grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.short-term-insurance__introduction h2 { max-width: 14ch; margin: 0; color: var(--ink); }
.short-term-insurance__introduction-copy { display: grid; max-width: 52rem; gap: 1rem; padding-left: clamp(1.25rem, 3vw, 2rem); border-left: 3px solid var(--rugare-health-green); }
.short-term-insurance__introduction-copy p { margin: 0; color: var(--body-text); font-size: clamp(1rem, 1.4vw, 1.125rem); line-height: 1.8; }
.short-term-insurance__introduction-copy p:last-child { color: var(--ink); font-weight: 700; }
.short-term-insurance__products { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.short-term-insurance__products .section-heading { margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.short-term-insurance__products .section-heading > p { padding-left: 1.25rem; border-left: 3px solid var(--rugare-health-green); line-height: 1.7; }

.short-term-insurance__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	background: transparent;
}

.short-term-insurance__card {
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	gap: 1rem;
	min-height: 19rem;
	padding: 1.5rem;
	border: none;
	border-radius: 0;
	background: #ffffff;
	box-shadow: 0 1px 3px rgb(11 58 91 / 6%), 0 4px 12px rgb(11 58 91 / 7%);
	transition: box-shadow .2s ease, transform .2s ease, border-top .2s ease;
}

.short-term-insurance__card:hover,
.short-term-insurance__card:focus-within {
	box-shadow: 0 4px 16px rgb(11 58 91 / 12%), 0 2px 6px rgb(11 58 91 / 8%);
	transform: translateY(-2px);
}

.short-term-insurance__card:nth-child(2n) { border-top-color: transparent; }
.short-term-insurance__card-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.short-term-insurance__card-icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; place-items: center; color: var(--rugare-brand-blue); }
.short-term-insurance__card-icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentcolor; stroke-width: 1.75; }
.short-term-insurance__card-audience { color: var(--theme-blue-text); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.short-term-insurance__card h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h3); line-height: 1.25; }
.short-term-insurance__card > p { margin: 0; color: var(--body-text); line-height: 1.65; }
.short-term-insurance__card-link { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .85rem; margin: 0 -.85rem -.85rem; border-top: 2px solid var(--line); color: var(--rugare-brand-blue); font-size: .9375rem; font-weight: 700; letter-spacing: .01em; text-decoration: none; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.short-term-insurance__card-link span:first-child { flex: 1; }
.short-term-insurance__card-link span:last-child { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; place-items: center; border: 1.5px solid var(--rugare-brand-blue); border-radius: 50%; color: var(--rugare-brand-blue); transition: background .18s ease, color .18s ease, transform .18s ease; }
.short-term-insurance__card-link svg { width: .9rem; height: .9rem; fill: none; stroke: currentcolor; stroke-width: 2.25; }
.short-term-insurance__card-link:hover,
.short-term-insurance__card-link:focus-visible { background: rgb(37 99 235 / 5%); border-color: var(--rugare-brand-blue); color: var(--rugare-brand-blue); text-decoration: none; }
.short-term-insurance__card-link:hover span:last-child,
.short-term-insurance__card-link:focus-visible span:last-child { background: var(--rugare-brand-blue); color: #fff; transform: translateX(3px); }

.short-term-insurance__journey { padding-block: 0 clamp(3.5rem, 7vw, 6rem); }
.short-term-insurance__journey-card { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 5vw, 5rem); padding: clamp(2rem, 4vw, 3.5rem); border-radius: .75rem; background: var(--rugare-navy); box-shadow: 0 1rem 3rem rgb(11 58 91 / 12%); }
.short-term-insurance__journey-heading .eyebrow { color: #b7e579; }
.short-term-insurance__journey-heading .eyebrow > span { background: #b7e579; }
.short-term-insurance__journey-heading h2 { margin: 0; color: var(--rugare-white); }
.short-term-insurance__journey-heading > p:last-child { margin: 1rem 0 0; color: rgb(255 255 255 / 76%); line-height: 1.7; }
.short-term-insurance__journey-steps { display: grid; gap: 1px; padding: 1px; margin: 0; background: rgb(255 255 255 / 16%); list-style: none; }
.short-term-insurance__journey-steps li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.25rem; background: rgb(255 255 255 / 7%); }
.short-term-insurance__journey-steps li > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: var(--rugare-health-green); color: var(--rugare-navy); font-size: .72rem; font-weight: 850; }
.short-term-insurance__journey-steps strong { display: block; margin: .2rem 0 .35rem; color: var(--rugare-white); font-size: 1rem; }
.short-term-insurance__journey-steps p { margin: 0; color: rgb(255 255 255 / 72%); font-size: var(--font-size-small); line-height: 1.55; }

.short-term-insurance__notice { padding-bottom: clamp(3rem, 6vw, 5rem); }
.short-term-insurance__notice-card { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1.25rem; align-items: start; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-left: 4px solid var(--rugare-brand-blue); border-radius: .5rem; background: var(--color-blue-surface); }
.short-term-insurance__notice-card > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: var(--surface); color: var(--rugare-brand-blue); }
.short-term-insurance__notice-card svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.short-term-insurance__notice-card .eyebrow { margin: 0 0 .55rem; color: var(--theme-blue-text); }
.short-term-insurance__notice-card h2 { margin: 0; color: var(--ink); font-size: var(--font-size-h3); }
.short-term-insurance__notice-card div > p:last-child { max-width: 70rem; margin: .6rem 0 0; color: var(--body-text); line-height: 1.65; }

.short-term-insurance__quote { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--color-blue-surface); }
.short-term-insurance .short-term-insurance__quote .service-enquiry__grid { overflow: hidden; grid-template-columns: minmax(18rem, .72fr) minmax(25rem, 1.28fr); gap: 0; border: 1px solid rgb(16 118 184 / 22%); border-top: 3px solid var(--rugare-health-green); border-radius: .875rem; background: var(--surface); box-shadow: 0 1.25rem 3.25rem rgb(11 58 91 / 8%); }
.short-term-insurance__quote .service-enquiry__intro { padding: clamp(2rem, 4vw, 3.5rem); background: var(--rugare-navy); }
.short-term-insurance__quote .service-enquiry__intro .eyebrow { color: #b7e579; }
.short-term-insurance__quote .service-enquiry__intro .eyebrow > span { background: #b7e579; }
.short-term-insurance__quote .service-enquiry__intro h2 { margin: 0; color: var(--rugare-white); }
.short-term-insurance__quote .service-enquiry__intro > p { margin: 1rem 0 0; color: rgb(255 255 255 / 78%); line-height: 1.7; }
.short-term-insurance__quote-points { display: grid; gap: 0; padding: 0; border-top: 1px solid rgb(255 255 255 / 16%); margin: 2rem 0 0; list-style: none; }
.short-term-insurance__quote-points li { position: relative; padding: .85rem 0 .85rem 1.5rem; border-bottom: 1px solid rgb(255 255 255 / 16%); color: rgb(255 255 255 / 82%); font-size: var(--font-size-small); line-height: 1.55; }
.short-term-insurance__quote-points li::before { position: absolute; top: 1.15rem; left: .15rem; color: #b7e579; content: '\2713'; font-weight: 800; }
.short-term-insurance__quote-security { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .8rem; align-items: start; padding: 1rem; margin-top: 1.5rem; background: rgb(255 255 255 / 8%); }
.short-term-insurance__quote-security > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; color: #b7e579; }
.short-term-insurance__quote-security svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.short-term-insurance__quote-security p { margin: 0; color: rgb(255 255 255 / 74%); font-size: .78rem; line-height: 1.55; }
.short-term-insurance__quote-security strong { display: block; margin-bottom: .2rem; color: var(--rugare-white); font-size: .8rem; }
.short-term-insurance .short-term-insurance__quote .service-enquiry__form-wrap { padding: clamp(2rem, 4vw, 3.5rem); }
.short-term-insurance__quote .service-enquiry__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.short-term-insurance__quote-form-heading { display: flex; grid-column: 1 / -1; gap: .9rem; align-items: center; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.short-term-insurance__quote-form-heading > span { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--rugare-brand-blue); }
.short-term-insurance__quote-form-heading svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.short-term-insurance__quote-form-heading h3 { margin: 0; color: var(--ink); font-size: var(--font-size-h3); }
.short-term-insurance__quote-form-heading p { margin: .15rem 0 0; color: var(--muted); font-size: var(--font-size-small); }
.short-term-insurance__quote .form-field { display: grid; gap: .45rem; }
.short-term-insurance__quote :is(input:not([type='checkbox']), select) { width: 100%; min-height: 3.25rem; border: 1px solid #a9c5d7; border-radius: .35rem; background: var(--surface); color: var(--ink); }
.short-term-insurance__quote :is(input, select):focus-visible { border-color: var(--rugare-brand-blue); outline: 3px solid rgb(126 205 55 / 32%); outline-offset: 1px; }
.short-term-insurance__quote .service-enquiry__consent { padding: 1rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface-subtle); }
.short-term-insurance__quote .service-enquiry__submit { display: grid; gap: .5rem; }
.short-term-insurance__quote .service-enquiry__submit .button { width: 100%; min-height: 3.25rem; }
.short-term-insurance__quote .service-enquiry__submit small { color: var(--muted); text-align: center; }

@media (max-width: 70rem) {
	.short-term-insurance__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.short-term-insurance__journey-card { grid-template-columns: 1fr; }
}

@media (max-width: 52rem) {
	.short-term-insurance__introduction-inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.short-term-insurance__introduction h2 { max-width: 18ch; }
	.short-term-insurance .short-term-insurance__quote .service-enquiry__grid { grid-template-columns: 1fr; }
	.short-term-insurance__quote .service-enquiry__form { grid-template-columns: 1fr; }
	.short-term-insurance__quote-form-heading { grid-column: auto; }
}

@media (max-width: 36rem) {
	.short-term-insurance__introduction-copy { padding-left: 1rem; }
	.short-term-insurance__introduction-copy p { font-size: var(--font-size-body); }
	.short-term-insurance__grid { grid-template-columns: 1fr; }
	.short-term-insurance__card { min-height: 0; }
	.short-term-insurance__journey-card { padding: 1.5rem 1.15rem; border-radius: 0; }
	.short-term-insurance__notice-card { grid-template-columns: 1fr; padding: 1.35rem 1.15rem; }
	.short-term-insurance .short-term-insurance__quote .service-enquiry__grid { border-inline: 0; border-radius: 0; }
	.short-term-insurance__quote .service-enquiry__intro,
	.short-term-insurance .short-term-insurance__quote .service-enquiry__form-wrap { padding: 1.5rem 1.15rem; }
}

/* Consistent Short-Term Insurance product pages. */
.insurance-product__cover { padding-block: clamp(3.5rem, 7vw, 6rem); }
.insurance-product__cover .section-heading { margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.insurance-product__cover .section-heading > p { padding-left: 1.25rem; border-left: 3px solid var(--rugare-health-green); line-height: 1.7; }
.insurance-product__cover-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); gap: 1rem; align-items: stretch; }
.insurance-product__cover-list { display: grid; gap: 1.5rem; align-content: start; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .65rem; background: var(--surface); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 5%); }
.insurance-product__cover-list > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: 0; margin: 0; list-style: none; }
.insurance-product__cover-list > ul > li { display: flex; min-height: 4.25rem; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--surface-subtle); }
.insurance-product__cover-list > ul > li > span { display: grid; width: 1.75rem; height: 1.75rem; flex: 0 0 1.75rem; place-items: center; border-radius: 50%; background: var(--color-green-surface); color: var(--theme-green-text); }
.insurance-product__cover-list > ul svg { width: .9rem; height: .9rem; fill: none; stroke: currentcolor; stroke-width: 2.2; }
.insurance-product__cover-list > ul strong { color: var(--ink); font-size: .95rem; line-height: 1.4; }
.insurance-product__benefits { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.insurance-product__benefits h3 { margin: 0 0 1rem; color: var(--ink); font-size: var(--font-size-h3); }
.insurance-product__benefits ul { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; margin: 0; list-style: none; }
.insurance-product__benefits li { padding: .5rem .7rem; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--body-text); font-size: var(--font-size-small); font-weight: 650; }

.insurance-product__policy-checks { padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: .65rem; background: var(--rugare-navy); color: var(--rugare-white); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 10%); }
.insurance-product__policy-checks .eyebrow { margin: 0 0 .75rem; color: #b7e579; }
.insurance-product__policy-checks h3 { margin: 0; color: var(--rugare-white); font-size: var(--font-size-h2); }
.insurance-product__policy-checks ul { display: grid; gap: 0; padding: 0; border-top: 1px solid rgb(255 255 255 / 16%); margin: 1.5rem 0 0; list-style: none; }
.insurance-product__policy-checks li { display: grid; gap: .2rem; padding: .9rem 0; border-bottom: 1px solid rgb(255 255 255 / 16%); }
.insurance-product__policy-checks li strong { color: var(--rugare-white); font-size: .9rem; }
.insurance-product__policy-checks li span { color: rgb(255 255 255 / 72%); font-size: .8rem; line-height: 1.55; }
.insurance-product__policy-note { padding: 1rem; border-left: 3px solid var(--rugare-health-green); margin: 1.25rem 0 0; background: rgb(255 255 255 / 7%); color: rgb(255 255 255 / 78%); font-size: var(--font-size-small); line-height: 1.6; }

.insurance-product__related { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--surface); }
.insurance-product__related .section-heading { margin-bottom: clamp(2rem, 4vw, 3rem); }
.insurance-product__related .section-heading > p { align-self: end; margin-bottom: .35rem; text-align: right; }
.insurance-product__related .section-heading > p a { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .65rem .9rem; border: 1px solid var(--rugare-brand-blue); border-radius: var(--action-radius); color: var(--rugare-navy); font-weight: 750; text-decoration: none; }
.insurance-product__related .section-heading > p a:hover,
.insurance-product__related .section-heading > p a:focus-visible { background: var(--rugare-brand-blue); color: var(--rugare-white); }
.insurance-product__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.insurance-product__related-grid .short-term-insurance__card { min-height: 18rem; }

.insurance-product--personal-accident-cover .service-page__hero img { object-position: 66% center !important; }

@media (max-width: 64rem) {
	.insurance-product__cover-grid { grid-template-columns: 1fr; }
	.insurance-product__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.insurance-product__related-grid .short-term-insurance__card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 42rem) {
	.insurance-product__cover-list > ul { grid-template-columns: 1fr; }
	.insurance-product__related .section-heading > p { text-align: left; }
	.insurance-product__related-grid { grid-template-columns: 1fr; }
	.insurance-product__related-grid .short-term-insurance__card,
	.insurance-product__related-grid .short-term-insurance__card:last-child { grid-column: auto; min-height: 0; }
	.insurance-product__policy-checks h3 { font-size: var(--font-size-h3); }
}

/* Premium contact and appointment journey. */
.contact-page--streamlined { background: var(--surface-subtle); }
.contact-page--streamlined .contact-page__hero h1 { max-width: none !important; }
.contact-page--streamlined .contact-page__overview { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--surface-subtle); }
.contact-page--streamlined .contact-page__overview-grid { align-items: stretch; gap: 1rem; }
.contact-page--streamlined .contact-page__overview .contact-page__panel { height: 100%; padding: clamp(2rem, 4vw, 3rem); border: 1px solid rgb(16 118 184 / 20%); border-radius: .75rem; background: var(--surface); box-shadow: 0 1rem 3rem rgb(11 58 91 / 7%); }
.contact-page--streamlined .contact-page__overview .contact-page__panel h2 { margin-bottom: 1.75rem; }
.contact-page__overview-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.contact-page--streamlined .contact-page__detail-list { gap: 1.25rem; }
.contact-page--streamlined .contact-page__detail-list > div { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.contact-page--streamlined .contact-page__detail-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.contact-page--streamlined .contact-page__phone-list { gap: .3rem 1.5rem; }
.contact-page--streamlined .contact-page__phone-list a { min-height: 2.5rem; }
.contact-page--streamlined .contact-page__panel--hours .location-map__hours { border-block: 0; margin: 0; }
.contact-page--streamlined .contact-page__panel--hours .location-map__hours > div { padding: 1.1rem 0; }
.contact-page--streamlined .contact-page__panel--hours .location-map__hours > div:first-child { padding-top: 0; }
.contact-page--streamlined .contact-page__panel--hours .location-map__hours > div:last-child { padding-bottom: 0; }
.contact-page--streamlined .contact-page__panel--hours .location-map__hours dt { color: var(--ink); font-size: .78rem; }
.contact-page--streamlined .contact-page__panel--hours .location-map__hours dd { margin-top: .45rem; color: var(--body-text); line-height: 1.65; }

.contact-page--streamlined > .service-enquiry { padding-block: clamp(3.5rem, 7vw, 6rem); border-bottom: 0; background: var(--color-blue-surface); }
.contact-page--streamlined > .service-enquiry--compact .service-enquiry__grid { width: min(var(--container), calc(100% - (2 * var(--gutter)))); }
.contact-page--streamlined > .service-enquiry--compact .service-enquiry__form-wrap { padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid rgb(16 118 184 / 22%); border-top: 3px solid var(--rugare-health-green); border-radius: .875rem; background: var(--surface); box-shadow: 0 1.25rem 3.25rem rgb(11 58 91 / 8%); }
.contact-page--streamlined > .service-enquiry--compact .service-enquiry__form-wrap::before { display: none; }
.contact-page--streamlined .service-enquiry__form-heading { align-items: center; margin-bottom: 2rem; }
.contact-page--streamlined .service-enquiry__form-heading-main { display: flex; min-width: 0; gap: 1rem; align-items: center; }
.contact-page--streamlined .service-enquiry__form-heading-main > span { display: grid; width: 3rem; height: 3rem; flex: 0 0 3rem; place-items: center; border-radius: 50%; background: var(--color-blue-surface); color: var(--rugare-brand-blue); }
.contact-page--streamlined .service-enquiry__form-heading-main svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentcolor; stroke-width: 1.8; }
.contact-page--streamlined .service-enquiry__form-heading h3 { max-width: none; }
.contact-page--streamlined .service-enquiry__form-section { gap: 1rem 1.25rem; padding-bottom: 2rem; }
.contact-page--streamlined .service-enquiry__form-section + .service-enquiry__form-section { padding-top: 2rem; }
.contact-page--streamlined .service-enquiry__section-title { margin-bottom: .4rem; }
.contact-page--streamlined .service-enquiry__section-title > span { border-radius: 50%; background: var(--rugare-brand-blue); }
.contact-page--streamlined .service-enquiry__contact-method { padding: 1.25rem; border-color: rgb(16 118 184 / 24%); background: var(--color-blue-surface); }
.contact-page--streamlined .service-enquiry__contact-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.contact-page--streamlined .service-enquiry__contact-options label { min-height: 3.35rem; }
.contact-page--streamlined .service-enquiry__form .form-field { display: grid; gap: .45rem; align-content: start; }
.contact-page--streamlined .service-enquiry__form .form-field :is(input, select, textarea) { width: 100%; min-height: 3.25rem; border-color: #a9c5d7; }
.contact-page--streamlined .service-enquiry__form .form-field textarea { min-height: 7rem; }
.contact-page--streamlined .service-enquiry__form .form-field :is(input, select, textarea):focus-visible { border-color: var(--rugare-brand-blue); outline: 3px solid rgb(126 205 55 / 32%); outline-offset: 1px; }
.contact-page--streamlined .service-enquiry__consent-field { border-left: 3px solid var(--rugare-health-green); }
.contact-page--streamlined .service-enquiry__submit { padding: 1.5rem; border-top: 3px solid var(--rugare-health-green); border-radius: .5rem; background: var(--surface-subtle); }
.contact-page--streamlined .service-enquiry__submit .button { min-height: 3.25rem; }
.contact-page--streamlined .button__spinner { display: none; width: 1rem; height: 1rem; flex: 0 0 1rem; border: 2px solid rgb(255 255 255 / 45%); border-top-color: var(--rugare-white); border-radius: 50%; animation: rugare-form-spin .7s linear infinite; }
.contact-page--streamlined .service-enquiry__form.is-submitting .button__spinner { display: inline-block; }
.contact-page--streamlined .service-enquiry__form.is-submitting button[type='submit'] { cursor: wait; opacity: .82; }
.contact-page--streamlined .form-status:empty { display: none; }
.contact-page--streamlined .form-status { margin: 0; color: var(--muted); font-size: var(--font-size-small); }
.contact-page--streamlined .form-error-summary { margin-bottom: 1.25rem; border-left: 4px solid var(--rugare-navy); }
.contact-page--streamlined .form-error-summary strong { color: var(--ink); }
.contact-page--streamlined .form-error-summary ul { margin: .7rem 0 0; padding-left: 1.15rem; }
.contact-page--streamlined .form-error-summary a { color: var(--ink); font-weight: 700; }

@keyframes rugare-form-spin {
	to { transform: rotate(360deg); }
}

.contact-page--streamlined .contact-page__map { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--surface); }
.contact-page--streamlined .contact-page__map-grid { gap: 0; overflow: hidden; border: 1px solid rgb(16 118 184 / 22%); border-radius: .875rem; background: var(--surface); box-shadow: 0 1.25rem 3.25rem rgb(11 58 91 / 8%); }
.contact-page--streamlined .contact-page__map-grid > .contact-page__panel { display: grid; align-content: center; padding: clamp(2rem, 4vw, 3.5rem); border: 0; }
.contact-page--streamlined .contact-page__map-grid address { margin: 1rem 0 0; color: var(--body-text); font-style: normal; font-weight: 650; line-height: 1.7; }
.contact-page--streamlined .contact-page__map-frame { min-height: 30rem; border: 0; border-left: 1px solid var(--line); background: var(--color-blue-surface); }
.contact-page--streamlined .contact-page__map-frame iframe { min-height: 30rem; }

.contact-page--streamlined .contact-page__support { padding-block: 0 clamp(3.5rem, 7vw, 6rem); background: var(--surface); }
.contact-page--streamlined .contact-page__support-grid { align-items: stretch; gap: 1rem; }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel { padding: clamp(2rem, 4vw, 3rem); border: 1px solid var(--line); border-radius: .75rem; background: var(--surface-subtle); }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child :is(h2, h3) { color: var(--rugare-white); }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child p { color: rgb(255 255 255 / 76%); }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child .eyebrow { color: #b7e579; }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child .eyebrow > span { background: #b7e579; }
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child .emergency-call p { color: var(--body-text); }

.contact-page--streamlined .general-enquiry { padding-top: 0; background: var(--surface-subtle); }
.contact-page--streamlined .general-enquiry .service-enquiry__form-wrap { border-top-color: var(--rugare-brand-blue); }
.contact-page--streamlined .general-enquiry .service-enquiry__submit { grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr); }
.contact-page--streamlined .general-enquiry .service-enquiry__submit .button { max-width: 22rem; }
.contact-page--streamlined > .general-enquiry--confirmation { padding-top: clamp(3.5rem, 7vw, 6rem); }
.contact-page--streamlined .service-enquiry__confirmation { width: min(78rem, calc(100% - (2 * var(--gutter)))); }
.contact-page--streamlined .service-enquiry__success { overflow: hidden; border-radius: .875rem; box-shadow: 0 1.5rem 4rem rgb(11 58 91 / 12%); }
.contact-page--streamlined .service-enquiry__success h2 { max-width: 24ch; }
.contact-page--streamlined .service-enquiry__success-next { margin-block: 1.35rem; }

@media (max-width: 52rem) {
	.contact-page--streamlined .contact-page__overview-grid,
	.contact-page--streamlined .contact-page__map-grid,
	.contact-page--streamlined .contact-page__support-grid { grid-template-columns: 1fr; }
	.contact-page--streamlined .contact-page__map-frame { min-height: 24rem; border-top: 1px solid var(--line); border-left: 0; }
	.contact-page--streamlined .contact-page__map-frame iframe { min-height: 24rem; }
	.contact-page--streamlined .service-enquiry__contact-options { grid-template-columns: 1fr; }
	.contact-page--streamlined .general-enquiry .service-enquiry__submit { grid-template-columns: 1fr; }
}

@media (max-width: 36rem) {
	.contact-page--streamlined .contact-page__overview .contact-page__panel,
	.contact-page--streamlined .contact-page__map-grid,
	.contact-page--streamlined .contact-page__support-grid > .contact-page__panel,
	.contact-page--streamlined > .service-enquiry--compact .service-enquiry__form-wrap { border-inline: 0; border-radius: 0; }
	.contact-page--streamlined > .service-enquiry--compact .service-enquiry__form-wrap { padding: 1.5rem 1.15rem; }
	.contact-page--streamlined .service-enquiry__form-heading { display: grid; }
	.contact-page--streamlined .service-enquiry__form-heading-main { align-items: flex-start; }
	.contact-page--streamlined .service-enquiry__submit { padding: 1.15rem; }
	.contact-page--streamlined .service-enquiry__success { grid-template-columns: 1fr; border-inline: 0; border-radius: 0; }
	.contact-page--streamlined .service-enquiry__success-actions { display: grid; grid-template-columns: 1fr; }
	.contact-page--streamlined .service-enquiry__success-actions .button { width: 100%; }
	.contact-page--streamlined .contact-page__overview-actions,
	.contact-page--streamlined .contact-page__map-actions,
	.contact-page--streamlined .contact-page__help-actions { display: grid; grid-template-columns: 1fr; }
	.contact-page--streamlined :is(.contact-page__overview-actions, .contact-page__map-actions, .contact-page__help-actions) .button { width: 100%; }
}

/* Homepage introduction and verified partner marks. */
.homepage-intro { padding-block: clamp(3.5rem, 6vw, 5.5rem); background: var(--surface); }
.homepage-intro__eyebrow { justify-content: center; margin: 0 0 clamp(1.25rem, 3vw, 2rem); text-align: center; }
.homepage-intro__panel { display: grid; grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr); overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.homepage-intro__heading { display: grid; align-content: center; padding: clamp(2rem, 4vw, 3.5rem); background: var(--rugare-navy); }
.homepage-intro__heading > p { margin: 0 0 .75rem; color: var(--rugare-health-green); font-size: var(--font-size-micro); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.homepage-intro__heading h2 { max-width: 14ch; margin: 0; color: var(--rugare-white); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.08; text-wrap: balance; }
.homepage-intro__copy { display: grid; align-content: center; padding: clamp(2rem, 4vw, 3.5rem); }
.homepage-intro__copy > p { max-width: 50rem; margin: 0; color: var(--body-text); font-size: var(--font-size-lead); line-height: 1.7; }
.homepage-intro__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.25rem; margin-top: 1.75rem; }
.homepage-intro__actions .text-link { min-height: 2.75rem; align-items: center; color: var(--theme-blue-text); font-weight: 750; }

.homepage-partners { padding-block: clamp(3.5rem, 6vw, 5.5rem); border-block: 1px solid var(--line); background: var(--surface-subtle); }
.homepage-partners__heading { display: grid; justify-items: center; max-width: 52rem; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.homepage-partners__heading .eyebrow { justify-content: center; margin: 0 0 .8rem; }
.homepage-partners__heading h2 { max-width: 22ch; margin: 0; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; text-wrap: balance; }
.homepage-partners__heading > p:last-child { max-width: 46rem; margin: 1rem 0 0; color: var(--muted); line-height: 1.7; }
.homepage-partners__logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .85rem; padding: 0; margin: 0; list-style: none; }
.homepage-partners__logos li { display: grid; min-width: 0; min-height: 9rem; place-items: center; padding: 1.35rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--surface); box-shadow: 0 .6rem 1.5rem rgb(11 58 91 / 5%); }
.homepage-partners__logos img { width: auto; max-width: min(100%, 10.5rem); height: auto; max-height: 5.75rem; object-fit: contain; }

@media (max-width: 64rem) {
	.homepage-intro__panel { grid-template-columns: 1fr; }
	.homepage-intro__heading h2 { max-width: 20ch; }
	.homepage-partners__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 42rem) {
	.homepage-intro__panel { border-inline: 0; border-radius: 0; }
	.homepage-intro__heading,
	.homepage-intro__copy { padding: 1.5rem; }
	.homepage-intro__actions { display: grid; grid-template-columns: 1fr; }
	.homepage-intro__actions :is(.button, .text-link) { width: 100%; justify-content: center; }
	.homepage-partners__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
	.homepage-partners__logos li { min-height: 7.5rem; padding: 1rem; }
	.homepage-partners__logos img { max-height: 4.75rem; }
}

/* Focused Services directory and Corporate Health information architecture. */
.services-directory .services-overview__hero h1 { max-width: 16ch !important; }
.services-directory .button { min-height: 3.125rem; justify-content: space-between; gap: 1rem; padding: .72rem 1rem; border-radius: .4rem; font-size: .9375rem; font-weight: 750; line-height: 1.35; text-align: left; white-space: normal; }
.services-directory .button--outline { border-color: color-mix(in srgb, var(--rugare-brand-blue) 46%, var(--line)); background: var(--surface); color: var(--rugare-navy); }
.services-directory .button--outline:hover, .services-directory .button--outline:focus-visible { border-color: var(--rugare-brand-blue); background: var(--color-blue-surface); color: var(--rugare-navy); }
.services-directory .services-overview__hero-actions .button--outline { border-color: rgb(255 255 255 / 68%); background: rgb(7 39 61 / 18%); color: var(--rugare-white); }
.services-directory .services-overview__hero-actions .button--outline:hover, .services-directory .services-overview__hero-actions .button--outline:focus-visible { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.services-directory .services-overview__hero-actions .button:focus-visible, .services-directory__guidance .button:focus-visible { outline-color: var(--rugare-white); }
.services-directory .button > .icon { display: inline-flex; width: 1.05rem; height: 1.05rem; flex: 0 0 1.05rem; transition: transform .18s ease; }
.services-directory .button > .icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }
.services-directory .button:hover > .icon, .services-directory .button:focus-visible > .icon { transform: translateX(.18rem); }
.services-directory .button:focus-visible, .services-directory__urgent-link:focus-visible { outline: 3px solid var(--rugare-navy); outline-offset: 3px; }
.services-directory__grid .services-directory__card { min-height: 19rem; }
.services-directory__card .service-card__body { height: 100%; }
.services-directory__card .service-card__actions { display: grid; gap: .75rem; margin-top: auto; }
.services-directory__card .service-card__actions .button { width: 100%; }
.services-directory__card .service-card__view { border-color: var(--rugare-brand-blue); background: var(--rugare-brand-blue); color: var(--rugare-white); box-shadow: 0 .45rem 1rem rgb(16 118 184 / 14%); }
.services-directory__card .service-card__view:hover, .services-directory__card .service-card__view:focus-visible { border-color: var(--rugare-navy); background: var(--rugare-navy); color: var(--rugare-white); }
.services-directory__urgent-link { border-color: color-mix(in srgb, var(--rugare-health-green) 70%, var(--line)) !important; background: var(--color-green-surface) !important; color: var(--rugare-navy) !important; box-shadow: none !important; text-decoration: none; }
.services-directory__urgent-link:hover, .services-directory__urgent-link:focus-visible { border-color: var(--rugare-health-green) !important; background: color-mix(in srgb, var(--rugare-health-green) 22%, var(--surface)) !important; }
.services-directory .services-overview__preventive-card { display: flex; min-height: 15rem; flex-direction: column; }
.services-directory .services-overview__preventive-card p { color: var(--body-text); line-height: 1.65; }
.services-directory .services-overview__preventive-card .button { width: 100%; margin-top: auto; }
.services-directory__pathway { padding-block: clamp(3rem, 6vw, 5rem); background: var(--surface-subtle); }
.services-directory__pathway--medical-aid { background: var(--surface); }
.services-directory__pathway-inner,
.services-directory__guidance-inner,
.services-directory__visit-inner,
.services-directory__final-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem clamp(3rem, 7vw, 7rem); padding: clamp(2rem, 4vw, 3.25rem); border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.services-directory__pathway-inner > div:first-child,
.services-directory__guidance-inner > div:first-child { max-width: 48rem; }
.services-directory__pathway h2,
.services-directory__guidance h2,
.services-directory__visit h2,
.services-directory__final h2 { max-width: 25ch; margin: .65rem 0 1rem; font-size: clamp(1.9rem, 3vw, 2.75rem); line-height: 1.12; }
.services-directory__pathway p:last-child,
.services-directory__guidance p:last-child { max-width: 46rem; margin-bottom: 0; color: var(--body-text); line-height: 1.7; }
.services-directory__actions { display: flex; min-width: min(100%, 19rem); flex-direction: column; gap: .75rem; }
.services-directory__actions .button { width: 100%; }
.services-directory__guidance { padding-block: clamp(3rem, 6vw, 5rem); background: var(--rugare-navy); }
.services-directory__guidance-inner { border-color: rgb(255 255 255 / 20%); background: transparent; color: var(--rugare-white); box-shadow: none; }
.services-directory__guidance :is(h2, .eyebrow) { color: var(--rugare-white); }
.services-directory__guidance p:last-child { color: rgb(255 255 255 / 78%); }
.services-directory__guidance .button--primary:hover,
.services-directory__guidance .button--primary:focus-visible { border-color: var(--rugare-white); background: var(--rugare-white); color: var(--rugare-navy); }
.services-directory__guidance .button--outline { border-color: rgb(255 255 255 / 68%); background: transparent; color: var(--rugare-white); }
.services-directory__guidance .button--outline:hover, .services-directory__guidance .button--outline:focus-visible { border-color: var(--rugare-white); background: var(--surface); color: var(--rugare-navy); }
.services-directory__visit { padding-block: clamp(3rem, 6vw, 5rem); background: var(--surface-subtle); }
.services-directory__visit-inner { grid-template-columns: minmax(17rem, .85fr) minmax(18rem, 1fr) auto; }
.services-directory__visit address { color: var(--body-text); font-style: normal; line-height: 1.75; }
.services-directory__final { padding-block: clamp(2.5rem, 5vw, 4rem); background: var(--surface); }
.services-directory__final-inner { border-top: 4px solid var(--rugare-health-green); }

.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__reasons, .corporate-health__faq) { padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.information-page--corporate-health .corporate-health__overview .section-heading--split { margin-bottom: 0; border-bottom: 0; }
.information-page--corporate-health .corporate-health__overview .section-heading--split > div:last-child p { max-width: 42rem; color: var(--body-text); line-height: 1.7; }
.information-page--corporate-health .corporate-health__commercial-note { padding: 1.1rem 1.25rem; border-left: 3px solid var(--rugare-health-green); margin: 1.5rem 0 0; background: var(--color-blue-surface); color: var(--body-text); line-height: 1.65; }
.information-page--corporate-health .corporate-health__reasons-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.information-page--corporate-health .corporate-health__reasons-grid article { min-height: 11rem; padding: clamp(1.25rem, 2.5vw, 2rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.information-page--corporate-health .corporate-health__reasons-grid h3 { margin: 0 0 .65rem; font-size: var(--font-size-h4); }
.information-page--corporate-health .corporate-health__reasons-grid p { margin: 0; color: var(--body-text); line-height: 1.65; }
.information-page--corporate-health .corporate-health__medical-aid { margin-top: 0; border: 1px solid var(--line); border-left: 4px solid var(--rugare-health-green); box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.information-page--corporate-health .corporate-health__medical-aid h2 { margin: .65rem 0 .75rem; font-size: clamp(1.8rem, 2.7vw, 2.5rem); }
.information-page--corporate-health .corporate-health__consultation { scroll-margin-top: 7rem; }
.information-page--corporate-health .corporate-health__consultation > .section-heading { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.information-page--corporate-health .corporate-health__consultation > .service-enquiry { padding: 0; background: transparent; }
.information-page--corporate-health .corporate-health__consultation .service-enquiry__grid { width: 100%; }
.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-wrap { border: 1px solid var(--line); border-top: 4px solid var(--rugare-brand-blue); border-radius: .85rem; box-shadow: 0 1rem 2.75rem rgb(11 58 91 / 7%); }
.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-wrap::before { display: none; }
.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-heading-main > span { width: 2.5rem; height: 2.5rem; flex-basis: 2.5rem; background: var(--color-blue-surface); }
.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-heading h3 { max-width: 34rem; font-size: clamp(1.35rem, 2vw, 1.7rem); }
.information-page--corporate-health .corporate-health__consultation .service-enquiry__required-note { padding: .45rem .65rem; background: var(--surface-subtle); white-space: normal; }
.information-page--corporate-health .corporate-health__faq-list { max-width: 60rem; margin-inline: auto; border-top: 1px solid var(--line); }
.information-page--corporate-health .corporate-health__faq-list details { border-bottom: 1px solid var(--line); }
.information-page--corporate-health .corporate-health__faq-list summary { padding: 1.25rem 2.25rem 1.25rem 0; color: var(--ink); font-weight: 750; cursor: pointer; }
.information-page--corporate-health .corporate-health__faq-list p { max-width: 52rem; padding: 0 0 1.25rem; margin: 0; color: var(--body-text); line-height: 1.7; }

@media (max-width: 64rem) {
	.services-directory__pathway-inner,
	.services-directory__guidance-inner,
	.services-directory__final-inner { grid-template-columns: 1fr; align-items: start; }
	.services-directory__visit-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-directory__visit-inner .button { grid-column: 1 / -1; width: fit-content; }
}

@media (max-width: 42rem) {
	.services-directory__grid .services-directory__card { min-height: 0; }
	.services-directory__pathway-inner,
	.services-directory__guidance-inner,
	.services-directory__visit-inner,
	.services-directory__final-inner { grid-template-columns: 1fr; padding: 1.5rem; border-inline: 0; border-radius: 0; }
	.services-directory__actions { width: 100%; }
	.services-directory__visit-inner .button { grid-column: auto; width: 100%; }
	.information-page--corporate-health .corporate-health__reasons-grid { grid-template-columns: 1fr; }
	.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__reasons, .corporate-health__faq, .corporate-health__offering, .corporate-health__packages, .corporate-health__engagement) { padding: 1.5rem; border-inline: 0; border-radius: 0; }
	.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-wrap { border-inline: 0; border-radius: 0; }
}

/* Compact recovery and search experiences. */
.not-found { display: block; min-height: 0; overflow: clip; background: var(--surface-subtle); color: var(--body-text); }
.not-found::after { display: none; }
.not-found__hero { border-bottom: 3px solid var(--rugare-health-green); background: var(--rugare-navy); color: var(--rugare-white); }
.not-found__hero-inner { display: grid; grid-template-columns: minmax(10rem, .42fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; min-height: clamp(22rem, 42vh, 29rem); padding-block: clamp(3rem, 6vw, 5rem); }
.not-found__code { color: rgb(255 255 255 / 17%); font-size: clamp(6rem, 14vw, 11rem); font-weight: 750; letter-spacing: -.07em; line-height: .78; }
.not-found__copy { max-width: 43rem; }
.not-found__copy .eyebrow { color: var(--rugare-health-green); }
.not-found__copy h1 { max-width: 19ch; margin: .8rem 0 1rem; color: var(--rugare-white); font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1.05; text-wrap: balance; }
.not-found__copy > p:last-child { max-width: 38rem; margin: 0; color: rgb(255 255 255 / 84%); font-size: var(--font-size-lead); line-height: 1.6; }
.not-found__recovery { padding-block: clamp(2.5rem, 6vw, 5rem); }
.not-found__recovery-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: 1rem; align-items: stretch; }
.not-found__search-card, .not-found__services { padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); box-shadow: 0 .9rem 2.5rem rgb(11 58 91 / 7%); }
.not-found__search-card h2, .not-found__services h2 { margin: .65rem 0 .75rem; color: var(--ink); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.12; }
.not-found__search-card > p:not(.eyebrow) { max-width: 38rem; margin: 0; color: var(--body-text); line-height: 1.65; }
.not-found__search-card .search-form { width: 100%; margin: 1.5rem 0 0; }
.not-found__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.not-found__services ul { display: grid; gap: 0; padding: 0; border-top: 1px solid var(--line); margin: 1.35rem 0 1rem; list-style: none; }
.not-found__services li { border-bottom: 1px solid var(--line); }
.not-found__services li a { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .25rem; background: transparent; color: var(--ink); font-weight: 700; text-decoration: none; }
.not-found__services li a:hover, .not-found__services li a:focus-visible { color: var(--theme-blue-text); }
.not-found__services .icon, .search-results__link .icon { width: 1rem; height: 1rem; flex: 0 0 auto; }
.not-found__all-services { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .45rem; color: var(--theme-blue-text); font-weight: 750; text-underline-offset: .2em; }

.search-page { overflow: clip; background: var(--surface-subtle); }
.search-page__hero { border-bottom: 3px solid var(--rugare-health-green); background: var(--rugare-navy); color: var(--rugare-white); }
.search-page__hero-inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; min-height: clamp(20rem, 38vh, 26rem); padding-block: clamp(3rem, 6vw, 4.75rem); }
.search-page__heading { min-width: 0; max-width: 45rem; }
.search-page__heading .eyebrow { color: var(--rugare-health-green); }
.search-page__heading h1 { max-width: 18ch; margin: .7rem 0 .85rem; overflow-wrap: anywhere; color: var(--rugare-white); font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1.06; text-wrap: balance; }
.search-page__heading > p:last-child { max-width: 38rem; margin: 0; color: rgb(255 255 255 / 84%); font-size: var(--font-size-lead); line-height: 1.55; }
.search-page__hero .search-form { width: 100%; margin: 0; }
.search-page__hero .search-form__label { color: var(--rugare-white); }
.search-page__hero .search-field { min-height: 3.35rem; border-color: rgb(255 255 255 / 35%); background: var(--surface); }
.search-page__hero .search-submit { min-height: 3.35rem; border-color: var(--rugare-health-green); background: var(--rugare-health-green); color: var(--rugare-navy); }
.search-page__results { padding-block: clamp(2.5rem, 6vw, 5rem); }
.search-page__results-inner { max-width: 76rem; }
.search-results__summary { display: inline-flex; min-height: 2.25rem; align-items: center; padding: .4rem .7rem; border-radius: 999px; margin: 0 0 1.5rem; background: var(--color-blue-surface); color: var(--theme-blue-text); }
.search-results__group + .search-results__group { margin-top: clamp(2.5rem, 5vw, 4rem); }
.search-results__group-title { padding-bottom: .85rem; border-bottom: 2px solid var(--ink); margin: 0 0 1rem; font-size: clamp(1.65rem, 2.5vw, 2.25rem); }
.search-results__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; background: transparent; }
.search-results__item { min-width: 0; }
.search-results__item > a { display: flex; min-height: 15rem; height: 100%; flex-direction: column; padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--line); border-top: 3px solid var(--rugare-brand-blue); border-radius: .6rem; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: 0 .65rem 1.75rem rgb(11 58 91 / 5%); }
.search-results__item > a:hover, .search-results__item > a:focus-visible { border-top-color: var(--rugare-health-green); background: var(--surface); box-shadow: 0 1rem 2.25rem rgb(11 58 91 / 10%); transform: translateY(-2px); }
.search-results__item h3 { margin: .65rem 0 .6rem; overflow-wrap: anywhere; font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.18; }
.search-results__excerpt { margin: 0; color: var(--body-text); line-height: 1.65; }
.search-results__link { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: 1rem; color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 750; }
.search-results__empty { max-width: 48rem; padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid var(--line); border-top: 4px solid var(--rugare-health-green); border-radius: .75rem; background: var(--surface); box-shadow: 0 .9rem 2.5rem rgb(11 58 91 / 7%); }
.search-results__empty h2 { margin: 0 0 .75rem; color: var(--ink); font-size: clamp(1.75rem, 3vw, 2.5rem); }
.search-results__empty p { max-width: 40rem; margin: 0; color: var(--body-text); line-height: 1.65; }
.search-results__empty-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }

/* Service pages — final shared visual contract. */
:is(.service-page, .specialist-service, .information-page--corporate-health) {
	--service-card-radius: 0;
	--service-card-padding: clamp(1.35rem, 2.4vw, 2rem);
	--service-section-gap: clamp(4rem, 6vw, 5.5rem);
}

/* Keep service photography natural while retaining reliable white-text contrast. */
.service-page .service-page__hero::after,
.information-page--corporate-health .page-hero--media::after {
	background: var(--hero-overlay);
}

.service-page__patient-pathway {
	padding-block: var(--service-section-gap);
	background: var(--surface-subtle) !important;
}

.service-page__patient-pathway > .container {
	display: grid;
	gap: var(--service-section-gap);
}

.service-page__patient-pathway > .container > :is(section, aside) {
	width: 100%;
	margin: 0 !important;
}

.service-page__patient-pathway :is(.service-page__panel, .service-page__supporting, .service-page__gp-pathway, .service-page__unit, .service-page__preparation, .service-page__questions, .service-page__related, .service-page__final-cta),
main.service-page[class*='service-page--'] .service-page__patient-pathway :is(.service-page__panel, .service-page__supporting, .service-page__gp-pathway, .service-page__unit, .service-page__preparation, .service-page__questions, .service-page__related, .service-page__final-cta) {
	border-radius: var(--service-card-radius);
	box-shadow: none !important;
}

.service-page__patient-pathway :is(.service-page__patient-glance, .service-page__supporting, .service-page__gp-pathway, .service-page__preparation, .service-page__questions, .service-page__related),
main.service-page[class*='service-page--'] .service-page__patient-pathway :is(.service-page__patient-glance, .service-page__supporting, .service-page__gp-pathway, .service-page__preparation, .service-page__questions, .service-page__related) {
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 0;
	background: var(--surface);
}

.service-page__patient-pathway .service-page__patient-glance {
	display: grid;
	grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.78fr);
	gap: clamp(2rem, 4vw, 4.5rem);
	align-items: start;
	border-top: 3px solid var(--rugare-health-green) !important;
}

.service-page__patient-pathway .service-page__glance-intro {
	min-width: 0;
}

.service-page__patient-pathway .service-page__glance-intro .eyebrow {
	margin-bottom: 1rem;
}

.service-page__patient-pathway .service-page__glance-intro h2 {
	max-width: 19ch;
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.9rem, 3vw, 2.75rem);
	line-height: 1.12;
	text-wrap: balance;
}

.service-page__patient-pathway .section-heading--center {
	max-width: 54rem;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.service-page__patient-pathway .section-heading--center > p:last-child {
	max-width: 48rem !important;
	margin-inline: auto;
}

.service-page__patient-pathway .service-page__hero-facts {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	border: 0;
	background: transparent;
	counter-reset: service-glance;
}

.service-page__patient-pathway .service-page__hero-facts > div {
	min-width: 0;
	padding: .15rem clamp(1.25rem, 2.25vw, 2rem);
	counter-increment: service-glance;
}

.service-page__patient-pathway .service-page__hero-facts > div + div {
	border-left: 1px solid var(--line);
}

.service-page__patient-pathway .service-page__hero-facts > div:first-child {
	padding-left: 0;
}

.service-page__patient-pathway .service-page__hero-facts > div:last-child {
	padding-right: 0;
}

.service-page__patient-pathway .service-page__hero-facts > div::before {
	display: block;
	content: counter(service-glance, decimal-leading-zero);
	margin-bottom: 1.15rem;
	color: var(--rugare-brand-blue);
	font-size: var(--font-size-small);
	font-weight: 750;
	letter-spacing: .08em;
}

.service-page__patient-pathway .service-page__hero-facts :is(dt, dd) {
	margin: 0;
}

.service-page__patient-pathway .service-page__hero-facts dt {
	margin-bottom: .6rem;
	color: var(--theme-blue-text);
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.service-page__patient-pathway .service-page__hero-facts dd {
	color: var(--body-text);
	line-height: 1.6;
}

@media (max-width: 67.9375rem) {
	.service-page__patient-pathway .service-page__patient-glance {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.service-page__patient-pathway .service-page__glance-intro h2 {
		max-width: 28ch;
	}
}

.service-page__patient-pathway .service-page__supporting,
main.service-page[class*='service-page--'] .service-page__patient-pathway .service-page__supporting {
	padding: 0;
	border: 0;
	background: transparent;
}

.service-page__patient-pathway .service-page__supporting-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(22rem, .98fr);
	overflow: hidden;
	border-radius: var(--service-card-radius);
	background: var(--surface);
}

.service-page__patient-pathway .service-page__supporting-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 4vw, 3.75rem);
}

.service-page__patient-pathway .service-page__supporting-copy .section-heading {
	margin: 0;
}

.service-page__patient-pathway .service-page__supporting-copy .section-heading > p:last-child {
	max-width: 42rem;
}

.service-page__patient-pathway .service-page__supporting-media,
.service-page__patient-pathway .service-page__supporting-media picture,
.service-page__patient-pathway .service-page__supporting-media img {
	display: block;
	width: 100%;
	height: 100%;
}

.service-page__patient-pathway .service-page__supporting-media {
	min-height: 32rem;
	margin: 0;
	background: var(--color-blue-surface);
}

.service-page__patient-pathway .service-page__supporting-media img {
	object-fit: cover;
	object-position: center;
}

.service-page__patient-pathway .service-page__audience {
	padding-top: 1.5rem;
	border-top: 1px solid var(--line);
	margin-top: 1.75rem;
}

.service-page__patient-pathway .service-page__audience h3 {
	margin: 0 0 .35rem;
	font-size: var(--font-size-h4);
}

.service-page__patient-pathway .service-page__audience .service-page__check-list {
	grid-template-columns: 1fr;
	gap: 0;
}

.service-page__patient-pathway .service-page__supporting-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--service-card-radius);
	background: var(--line);
	margin-top: 1rem;
}

.service-page__patient-pathway .service-page__supporting-grid > article {
	display: grid;
	min-width: 0;
	min-height: 10.5rem;
	grid-template-columns: 1.75rem minmax(0, 1fr);
	gap: .8rem;
	align-content: start;
	padding: var(--service-card-padding);
	border: 0;
	border-radius: 0;
	background: var(--surface);
	box-shadow: none;
}

.service-page__patient-pathway .service-page__supporting-grid > article > div {
	min-width: 0;
}

.service-page__patient-pathway .service-page__supporting-icon {
	display: inline-flex;
	width: 1.75rem;
	height: 1.75rem;
	align-items: flex-start;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--theme-blue-text);
}

.service-page__patient-pathway .service-page__supporting-icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

.service-page__patient-pathway .service-page__supporting-grid h3 {
	min-height: 0;
	margin: 0 0 .65rem;
	font-size: var(--font-size-h4);
	line-height: 1.25;
}

.service-page__patient-pathway .service-page__supporting-grid p {
	margin: 0;
	color: var(--body-text);
	line-height: 1.6;
}

.service-page__patient-pathway .service-page__access-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--service-card-radius);
	background: var(--line);
}

.service-page__patient-pathway .service-page__access-steps li {
	min-width: 0;
	min-height: 11.5rem;
	align-content: start;
	padding: var(--service-card-padding);
	background: var(--surface);
}

.service-page__patient-pathway .service-page__access-steps li > span {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--rugare-brand-blue);
	color: var(--rugare-white);
	font-size: .8125rem;
	font-weight: 750;
}

.service-page__patient-pathway .service-page__access-steps h3 {
	margin: .9rem 0 .5rem;
	font-size: var(--font-size-h4);
}

.service-page__patient-pathway .service-page__unit {
	padding: clamp(2rem, 4vw, 3.5rem) !important;
	border: 0 !important;
	background: var(--rugare-navy) !important;
}

.service-page__patient-pathway .service-page__unit .service-page__supporting-grid {
	border-color: rgb(255 255 255 / 18%);
	background: rgb(255 255 255 / 18%);
}

.service-page__patient-pathway .service-page__unit .service-page__supporting-grid > article {
	background: rgb(255 255 255 / 7%);
	color: var(--rugare-white);
}

.service-page__patient-pathway .service-page__unit .service-page__supporting-grid :is(h3, p) {
	color: var(--rugare-white);
}

.service-page__patient-pathway .service-page__unit .service-page__supporting-grid p {
	color: rgb(255 255 255 / 76%);
}

.service-page__patient-pathway .service-page__unit .service-page__supporting-icon {
	color: #b7e579;
}

.service-page__patient-pathway .notice {
	margin-top: 1rem;
	border-radius: .5rem;
	box-shadow: none;
}

.service-page__patient-pathway .service-page__check-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 2rem;
}

.service-page__patient-pathway .service-page__check-list li {
	padding-block: .85rem;
	border-bottom: 1px solid var(--line);
}

.service-page__patient-pathway .faq-list {
	max-width: 62rem;
	margin-inline: auto;
}

.service-page__patient-pathway .faq-list summary {
	min-height: 3.75rem;
}

.service-page__patient-pathway .service-page__related-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.service-page__patient-pathway .service-page__related-grid > a {
	min-height: 12.5rem;
	padding: var(--service-card-padding);
	border: 1px solid var(--line);
	border-radius: var(--service-card-radius);
	background: var(--surface-subtle);
	box-shadow: none;
	transform: none;
}

.service-page__patient-pathway .service-page__related-grid > a:hover,
.service-page__patient-pathway .service-page__related-grid > a:focus-visible {
	border-color: var(--rugare-brand-blue);
	background: var(--surface);
	box-shadow: none;
	transform: none;
}

.service-page__patient-pathway .service-page__related-icon {
	width: 2rem;
	height: 2rem;
	border-radius: 0;
	background: transparent !important;
}

.service-page__patient-pathway .service-page__final-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(15rem, auto);
	gap: 2rem clamp(2rem, 6vw, 6rem);
	align-items: center;
	padding: clamp(2rem, 4vw, 3.5rem) !important;
	border: 0 !important;
	background: var(--rugare-navy) !important;
	color: var(--rugare-white);
}

.service-page__patient-pathway .service-page__final-cta :is(h2, .eyebrow) {
	color: var(--rugare-white);
}

.service-page__patient-pathway .service-page__final-cta::after {
	display: none;
	content: none;
}

.service-page__patient-pathway .service-page__final-cta .service-page__dialysis-cta-actions {
	display: grid;
	gap: .75rem;
	min-width: min(100%, 18rem);
	padding: 0;
	border: 0;
	background: transparent;
	backdrop-filter: none;
}

.service-page__patient-pathway .service-page__final-cta .button {
	width: 100%;
}

.service-page__patient-pathway .service-page__final-cta .button--outline {
	border-color: rgb(255 255 255 / 64%);
	background: transparent;
	color: var(--rugare-white);
}

.service-page__patient-pathway .service-page__final-cta .button--outline:hover,
.service-page__patient-pathway .service-page__final-cta .button--outline:focus-visible {
	border-color: var(--rugare-white);
	background: var(--surface);
	color: var(--rugare-navy);
}

/* Pharmacy keeps the shared service language while using a shorter, practical pathway. */
.service-page--pharmacy .service-page__hero-call {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: .55rem;
	padding-inline: .25rem;
	color: var(--rugare-white);
	font-weight: 750;
	text-decoration: underline;
	text-decoration-color: rgb(255 255 255 / 48%);
	text-underline-offset: .3rem;
}

.service-page--pharmacy .service-page__hero-call:hover,
.service-page--pharmacy .service-page__hero-call:focus-visible {
	color: var(--rugare-white);
	text-decoration-color: var(--rugare-health-green);
}

.service-page--pharmacy .service-page__hero-call .icon {
	width: 1rem;
	height: 1rem;
}

.service-page--pharmacy .service-page__supporting-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-page--pharmacy .service-page__access-steps {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-page--pharmacy .service-page__access-steps li {
	min-height: 11rem;
}

.service-page--pharmacy .service-page__pharmacy-access {
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 1px solid var(--line);
	border-radius: var(--service-card-radius);
	background: var(--surface);
}

.service-page--pharmacy .service-page__pharmacy-access-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(2rem, 4vw, 3rem);
	border-block: 1px solid var(--line);
}

.service-page--pharmacy .service-page__pharmacy-access-grid article {
	display: grid;
	min-width: 0;
	grid-template-columns: 1.75rem minmax(0, 1fr);
	gap: 1rem;
	padding: clamp(1.5rem, 3vw, 2.25rem) 0;
}

.service-page--pharmacy .service-page__pharmacy-access-grid article + article {
	padding-left: clamp(1.5rem, 3vw, 2.25rem);
	border-left: 1px solid var(--line);
}

.service-page--pharmacy .service-page__pharmacy-access-grid article > span {
	display: inline-flex;
	width: 1.75rem;
	height: 1.75rem;
	align-items: flex-start;
	justify-content: center;
	color: var(--theme-blue-text);
}

.service-page--pharmacy .service-page__pharmacy-access-grid svg {
	width: 1.35rem;
	height: 1.35rem;
}

.service-page--pharmacy .service-page__pharmacy-access-grid h3,
.service-page--pharmacy .service-page__pharmacy-shop-status h3 {
	margin: 0 0 .55rem;
	color: var(--ink);
	font-size: var(--font-size-h4);
}

.service-page--pharmacy .service-page__pharmacy-access-grid p,
.service-page--pharmacy .service-page__pharmacy-shop-status p {
	margin: 0;
	color: var(--body-text);
	line-height: 1.6;
}

.service-page--pharmacy .service-page__pharmacy-shop-status {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem 3rem;
	align-items: center;
	padding: clamp(1.5rem, 3vw, 2rem);
	margin-top: 1.5rem;
	background: var(--color-blue-surface);
}

.service-page--pharmacy .service-page__pharmacy-shop-status .eyebrow {
	margin-bottom: .55rem;
}

.service-page--pharmacy .service-page__pharmacy-shop-status .button {
	white-space: nowrap;
}

.service-page--pharmacy .service-page__final-cta .text-link {
	min-height: 2.75rem;
	align-items: center;
	color: var(--rugare-white);
	font-weight: 750;
	text-decoration: underline;
	text-decoration-color: rgb(255 255 255 / 48%);
	text-underline-offset: .3rem;
}

.service-page--pharmacy .service-page__final-cta .text-link:hover,
.service-page--pharmacy .service-page__final-cta .text-link:focus-visible {
	color: var(--rugare-white);
	text-decoration-color: var(--rugare-health-green);
}

/* Specialist services reuse the same hierarchy without pretending to be insurance cards. */
.specialist-service .service-page__body {
	padding: 0;
	background: var(--surface-subtle);
}

.specialist-service .service-page__body > .section {
	padding-block: var(--service-section-gap);
}

.specialist-service .service-page__body > .section + .section {
	padding-top: 0;
}

.specialist-service .service-page__body > .section > .container {
	min-width: 0;
}

.specialist-service :is(.service-page__patient-glance, .service-page__essentials) {
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

.specialist-service .short-term-insurance__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--service-card-radius);
	background: var(--line);
}

.specialist-service .short-term-insurance__card {
	min-height: 12rem;
	padding: var(--service-card-padding);
	border: 0;
	border-radius: 0;
	background: var(--surface);
	box-shadow: none;
}

.specialist-service .service-page__essentials {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--line);
	background: var(--line);
}

.specialist-service .service-page__essentials > .service-page__panel {
	padding: clamp(2rem, 4vw, 3rem);
	border: 0;
	background: var(--surface);
}

.specialist-service .related-services__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.specialist-service .related-services__card {
	display: flex;
	min-height: 11rem;
	flex-direction: column;
	justify-content: space-between;
	padding: var(--service-card-padding);
	border: 1px solid var(--line);
	border-radius: var(--service-card-radius);
	background: var(--surface);
	color: var(--ink);
	text-decoration: none;
}

.specialist-service .related-services__card:hover,
.specialist-service .related-services__card:focus-visible {
	border-color: var(--rugare-brand-blue);
	color: var(--ink);
	text-decoration: none;
}

.specialist-service .faq-list {
	max-width: 62rem;
	margin-inline: auto;
}

/* Corporate Health follows the same spacing and surface rules, while retaining its B2B tone. */
.information-page--corporate-health .information-page__body {
	padding-block: var(--service-section-gap);
	background: var(--surface-subtle);
}

.information-page--corporate-health .information-page__content {
	gap: var(--service-section-gap);
}

.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__offering, .corporate-health__packages, .corporate-health__reasons, .corporate-health__faq) {
	padding: clamp(2rem, 4vw, 3.5rem);
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

.information-page--corporate-health :is(.corporate-health__offering-card, .corporate-health__package-card) {
	min-height: 12.5rem;
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

.information-page--corporate-health .corporate-health__steps li {
	min-height: 13rem;
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

.information-page--corporate-health :is(.corporate-health__medical-aid, .corporate-health__final, .corporate-health__consultation .service-enquiry__form-wrap) {
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

/* Shared form sizing and visible keyboard states across every service journey. */
:is(.service-page, .specialist-service, .information-page--corporate-health) .service-enquiry :is(input:not([type='checkbox']):not([type='radio']), select) {
	min-height: 3rem;
	font-size: 1rem;
}

:is(.service-page, .specialist-service, .information-page--corporate-health) .service-enquiry textarea {
	min-height: 7rem;
	font-size: 1rem;
}

:is(.service-page, .specialist-service, .information-page--corporate-health) .service-enquiry :is(input, select, textarea):focus-visible {
	border-color: var(--rugare-brand-blue);
	outline: 3px solid rgb(126 205 55 / 32%);
	outline-offset: 1px;
}

@media (max-width: 64rem) {
	.service-page__patient-pathway .service-page__supporting-intro {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, .85fr);
	}

	.service-page__patient-pathway .service-page__supporting-media {
		min-height: 28rem;
	}

	.service-page__patient-pathway .service-page__supporting-grid,
	.specialist-service .short-term-insurance__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.service-page__patient-pathway .service-page__access-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.service-page__patient-pathway .service-page__final-cta {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.service-page--pharmacy .service-page__pharmacy-shop-status {
		grid-template-columns: 1fr;
		align-items: start;
	}
}

@media (max-width: 47.9375rem) {
	:is(.service-page, .specialist-service, .information-page--corporate-health) {
		--service-section-gap: clamp(2.5rem, 10vw, 3.25rem);
	}

	.service-page .service-page__hero::after,
	.information-page--corporate-health .page-hero--media::after {
		background: var(--hero-overlay-mobile);
	}

	.service-page__patient-pathway .service-page__supporting,
	main.service-page[class*='service-page--'] .service-page__patient-pathway .service-page__supporting {
		padding: 0 !important;
		border-radius: 0;
	}

	.service-page__patient-pathway .service-page__supporting-intro {
		grid-template-columns: 1fr;
		border-radius: 0;
	}

	.service-page__patient-pathway .service-page__supporting-media {
		min-height: 0;
		aspect-ratio: 4 / 3;
		grid-row: 1;
	}

	.service-page__patient-pathway .service-page__supporting-copy {
		padding: 1.5rem;
	}

	.service-page__patient-pathway .service-page__supporting-grid {
		margin: 1rem 1rem 0;
	}

	.service-page__patient-pathway :is(.service-page__patient-glance, .service-page__supporting, .service-page__gp-pathway, .service-page__unit, .service-page__preparation, .service-page__questions, .service-page__related, .service-page__final-cta),
	.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__offering, .corporate-health__packages, .corporate-health__engagement, .corporate-health__reasons, .corporate-health__faq, .corporate-health__final) {
		padding: 1.5rem !important;
		border-inline: 0;
		border-radius: 0;
	}

	.service-page__patient-pathway .service-page__hero-facts,
	.service-page__patient-pathway .service-page__supporting-grid,
	.service-page__patient-pathway .service-page__access-steps,
	.service-page__patient-pathway .service-page__check-list,
	.service-page__patient-pathway .service-page__related-grid,
	.specialist-service .short-term-insurance__grid,
	.specialist-service .service-page__essentials,
	.specialist-service .related-services__grid {
		grid-template-columns: 1fr;
	}

	.service-page__patient-pathway .service-page__hero-facts > div + div {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.service-page__patient-pathway .service-page__hero-facts > div,
	.service-page__patient-pathway .service-page__hero-facts > div:first-child,
	.service-page__patient-pathway .service-page__hero-facts > div:last-child {
		padding: 1.25rem 0;
	}

	.service-page__patient-pathway .service-page__hero-facts > div:first-child {
		padding-top: 0;
	}

	.service-page__patient-pathway .service-page__hero-facts > div:last-child {
		padding-bottom: 0;
	}

	.service-page__patient-pathway .service-page__hero-facts > div::before {
		margin-bottom: .7rem;
	}

	.service-page__patient-pathway .service-page__supporting-grid > article,
	.service-page__patient-pathway .service-page__access-steps li,
	.service-page__patient-pathway .service-page__related-grid > a,
	.specialist-service .short-term-insurance__card,
	.specialist-service .related-services__card {
		min-height: 0;
	}

	.service-page__patient-pathway .service-page__final-cta .service-page__dialysis-cta-actions {
		width: 100%;
	}

	.service-page--pharmacy .service-page__pharmacy-access {
		padding: 1.5rem;
		border-inline: 0;
		border-radius: 0;
	}

	.service-page--pharmacy .service-page__pharmacy-access-grid,
	.service-page--pharmacy .service-page__supporting-grid,
	.service-page--pharmacy .service-page__access-steps {
		grid-template-columns: 1fr;
	}

	.service-page--pharmacy .service-page__pharmacy-access-grid article + article {
		padding-left: 0;
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.service-page--pharmacy .service-page__pharmacy-shop-status .button {
		width: 100%;
	}
}

@media (max-width: 55rem) {
	.not-found__hero-inner, .search-page__hero-inner { grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }
	.not-found__hero-inner { min-height: 0; }
	.not-found__code { font-size: clamp(5rem, 23vw, 7rem); }
	.not-found__recovery-grid { grid-template-columns: 1fr; }
	.search-page__hero-inner { min-height: 0; }
	.search-page__hero .search-form { max-width: 42rem; }
}

@media (max-width: 42rem) {
	.not-found__hero-inner, .search-page__hero-inner { width: min(100% - 2rem, var(--container)); padding-block: 2.5rem 3rem; }
	.not-found__hero-inner { gap: 1rem; }
	.not-found__code { font-size: 5.25rem; }
	.not-found__copy h1, .search-page__heading h1 { max-width: none; font-size: clamp(2.15rem, 11vw, 3rem); text-wrap: pretty; }
	.not-found__copy > p:last-child, .search-page__heading > p:last-child { font-size: 1rem; }
	.not-found__recovery { padding-block: 1rem 2.5rem; }
	.not-found__recovery-grid, .search-page__results-inner { width: 100%; }
	.not-found__search-card, .not-found__services, .search-results__empty { padding: 1.35rem 1rem; border-inline: 0; border-radius: 0; box-shadow: none; }
	.not-found__actions, .search-results__empty-actions { display: grid; grid-template-columns: 1fr; }
	.not-found__actions .button, .search-results__empty-actions .button { width: 100%; }
	.not-found .search-form__controls, .search-page .search-form__controls { grid-template-columns: 1fr; }
	.not-found .search-submit, .search-page .search-submit { width: 100%; }
	.search-page__hero-inner { gap: 1.75rem; }
	.search-page__results { padding-block: 1.75rem 2.5rem; }
	.search-page__results-inner > :not(.search-results__empty) { margin-inline: 1rem; }
	.search-results__list { grid-template-columns: 1fr; gap: .75rem; }
	.search-results__item > a { min-height: 0; padding: 1.2rem 1rem; border-inline: 0; border-radius: 0; box-shadow: none; }
	.search-results__link { margin-top: .5rem; }
}

/* Corporate Health: restrained editorial B2B presentation. */
.information-page--corporate-health .information-page__content {
	gap: clamp(3.5rem, 6vw, 5.5rem);
}

.information-page--corporate-health .information-page__hero-actions {
	align-items: center;
}

.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__offering, .corporate-health__packages, .corporate-health__reasons, .corporate-health__faq) {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.information-page--corporate-health .corporate-health__overview {
	padding-block: clamp(.5rem, 2vw, 1.5rem);
}

.information-page--corporate-health .corporate-health__overview .section-heading--split {
	align-items: start;
}

.information-page--corporate-health .corporate-health__audience {
	padding-top: 1rem;
	border-top: 1px solid var(--line);
	margin-top: 1.25rem;
	font-size: var(--font-size-small);
}

.information-page--corporate-health .corporate-health__service-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0;
	border-top: 1px solid var(--line);
	margin: 0;
	list-style: none;
}

.information-page--corporate-health .corporate-health__service-list li {
	display: grid;
	min-width: 0;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	gap: 1rem;
	align-content: start;
	padding: clamp(1.35rem, 2.6vw, 2rem) clamp(1rem, 3vw, 2.5rem) clamp(1.35rem, 2.6vw, 2rem) 0;
	border-bottom: 1px solid var(--line);
}

.information-page--corporate-health .corporate-health__service-list li:nth-child(even) {
	padding-right: 0;
	padding-left: clamp(1rem, 3vw, 2.5rem);
	border-left: 1px solid var(--line);
}

.information-page--corporate-health .corporate-health__service-list li:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	max-width: 50%;
}

.information-page--corporate-health .corporate-health__service-list .corporate-health__card-number {
	margin: .2rem 0 0;
	color: var(--theme-blue-text);
	font-size: var(--font-size-micro);
	font-weight: 750;
	letter-spacing: .1em;
}

.information-page--corporate-health .corporate-health__service-list h3 {
	margin: 0 0 .55rem;
	color: var(--ink);
	font-size: clamp(1.2rem, 1.7vw, 1.45rem);
	line-height: 1.25;
}

.information-page--corporate-health .corporate-health__service-list p {
	max-width: 37rem;
	margin: 0;
	color: var(--body-text);
	line-height: 1.65;
}

.information-page--corporate-health .corporate-health__engagement {
	padding: clamp(2rem, 4.5vw, 3.75rem);
	border: 0;
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

.information-page--corporate-health .corporate-health__engagement .section-heading {
	max-width: 48rem;
	margin-inline: auto;
}

.information-page--corporate-health .corporate-health__steps {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid rgb(255 255 255 / 20%);
	border-bottom: 1px solid rgb(255 255 255 / 20%);
}

.information-page--corporate-health .corporate-health__steps li {
	min-height: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 0;
	border-right: 1px solid rgb(255 255 255 / 20%);
	border-radius: 0;
	background: transparent;
}

.information-page--corporate-health .corporate-health__steps li:last-child {
	border-right: 0;
}

.information-page--corporate-health .corporate-health__steps li::before {
	margin-bottom: 1.1rem;
}

.information-page--corporate-health .corporate-health__programme-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.information-page--corporate-health .corporate-health__programme-grid .corporate-health__package-card {
	min-height: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 0;
	border-right: 1px solid var(--line);
	border-radius: 0;
	background: transparent;
}

.information-page--corporate-health .corporate-health__programme-grid .corporate-health__package-card:last-child {
	border-right: 0;
}

.information-page--corporate-health .corporate-health__programme-grid .corporate-health__package-card::before {
	display: none;
}

.information-page--corporate-health .corporate-health__programme-grid .corporate-health__card-number {
	margin-bottom: 1rem;
}

.information-page--corporate-health .corporate-health__commercial-note {
	max-width: 52rem;
	padding: 1rem 0 0 1.25rem;
	border-left: 3px solid var(--rugare-health-green);
	margin-top: 1.5rem;
	background: transparent;
}

.information-page--corporate-health .corporate-health__reasons-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-left: 0;
}

.information-page--corporate-health .corporate-health__reasons-grid article {
	position: relative;
	min-height: 0;
	padding: clamp(1.35rem, 2.7vw, 2rem) clamp(1rem, 3vw, 2.5rem) clamp(1.35rem, 2.7vw, 2rem) 2rem;
	border-right: 0;
	border-bottom: 1px solid var(--line);
}

.information-page--corporate-health .corporate-health__reasons-grid article:nth-child(even) {
	border-left: 1px solid var(--line);
}

.information-page--corporate-health .corporate-health__reasons-grid article::before {
	position: absolute;
	top: 2rem;
	left: .25rem;
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: var(--rugare-health-green);
	content: '';
}

.information-page--corporate-health .corporate-health__medical-aid {
	padding: clamp(1.75rem, 4vw, 3rem);
	border: 0;
	border-left: 4px solid var(--rugare-health-green);
	border-radius: 0;
	box-shadow: none;
}

.information-page--corporate-health .corporate-health__text-link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: .55rem;
	color: var(--theme-blue-text);
	font-weight: 750;
	text-underline-offset: .24em;
}
.information-page--corporate-health .corporate-health__text-link:hover,
.information-page--corporate-health .corporate-health__text-link:focus-visible { color: var(--rugare-brand-blue); text-decoration-color: currentColor; }

.information-page--corporate-health .corporate-health__consultation > .section-heading {
	margin-bottom: 1.5rem;
}

.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-wrap {
	border-top-width: 3px;
	box-shadow: none;
}

.information-page--corporate-health .corporate-health__faq-list {
	max-width: 62rem;
}

.information-page--corporate-health .corporate-health__final {
	padding: clamp(2rem, 4vw, 3.25rem);
	border: 0;
	border-radius: var(--service-card-radius);
	background: var(--rugare-navy);
	box-shadow: none;
}

@media (max-width: 64rem) {
	.information-page--corporate-health .corporate-health__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.information-page--corporate-health .corporate-health__steps li:nth-child(2) {
		border-right: 0;
	}

	.information-page--corporate-health .corporate-health__steps li:nth-child(-n + 2) {
		border-bottom: 1px solid rgb(255 255 255 / 20%);
	}
}

@media (max-width: 47.9375rem) {
	.information-page--corporate-health .information-page__content {
		gap: clamp(2.75rem, 11vw, 3.5rem);
	}

	.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__offering, .corporate-health__packages, .corporate-health__reasons, .corporate-health__faq) {
		padding: 0 !important;
	}

	.information-page--corporate-health .corporate-health__service-list,
	.information-page--corporate-health .corporate-health__programme-grid,
	.information-page--corporate-health .corporate-health__reasons-grid,
	.information-page--corporate-health .corporate-health__steps {
		grid-template-columns: 1fr;
	}

	.information-page--corporate-health .corporate-health__service-list li,
	.information-page--corporate-health .corporate-health__service-list li:nth-child(even),
	.information-page--corporate-health .corporate-health__service-list li:last-child:nth-child(odd) {
		max-width: none;
		grid-column: auto;
		padding: 1.25rem 0;
		border-left: 0;
	}

	.information-page--corporate-health .corporate-health__programme-grid .corporate-health__package-card {
		padding: 1.35rem 0;
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.information-page--corporate-health .corporate-health__programme-grid .corporate-health__package-card:last-child {
		border-bottom: 0;
	}

	.information-page--corporate-health .corporate-health__reasons-grid article,
	.information-page--corporate-health .corporate-health__reasons-grid article:nth-child(even) {
		padding-right: 0;
		border-left: 0;
	}

	.information-page--corporate-health .corporate-health__steps li,
	.information-page--corporate-health .corporate-health__steps li:nth-child(2) {
		padding: 1.4rem 0;
		border-right: 0;
		border-bottom: 1px solid rgb(255 255 255 / 20%);
	}

	.information-page--corporate-health .corporate-health__steps li:last-child {
		border-bottom: 0;
	}

	.information-page--corporate-health .corporate-health__engagement,
	.information-page--corporate-health .corporate-health__final {
		padding: 1.5rem !important;
	}

	.information-page--corporate-health .corporate-health__medical-aid {
		padding: 1.5rem 1.25rem;
	}

	.information-page--corporate-health .corporate-health__actions {
		align-items: start;
	}

	.information-page--corporate-health .corporate-health__actions .corporate-health__text-link {
		width: auto;
	}
}

/* Contact and appointments: calm, human and action-led. */
.contact-page--streamlined .contact-page__hero.rm-hero--utility {
	min-height: clamp(22rem, 38vh, 26rem) !important;
	background: var(--rugare-navy) !important;
}

.contact-page--streamlined .contact-page__hero.rm-hero--utility::before {
	display: none !important;
}

.contact-page--streamlined .contact-page__hero-copy {
	max-width: 43rem !important;
}

.contact-page--streamlined .contact-page__hero h1 {
	font-size: clamp(2.65rem, 4.6vw, 4.25rem) !important;
}

.contact-page--streamlined .contact-page__hero-actions {
	align-items: center;
	margin-top: 1.5rem !important;
}

.contact-page--streamlined .contact-page__hero-actions .contact-page__text-link {
	display: inline-flex;
	gap: .4rem;
	align-items: center;
	color: rgb(255 255 255 / 88%);
	font-weight: 650;
	text-decoration: underline;
	text-decoration-color: rgb(255 255 255 / 32%);
	text-underline-offset: 3px;
}

.contact-page--streamlined .contact-page__hero-actions .contact-page__text-link:hover,
.contact-page--streamlined .contact-page__hero-actions .contact-page__text-link:focus-visible {
	color: var(--rugare-white);
	text-decoration-color: var(--rugare-health-green);
}

.contact-page--streamlined .contact-page__hero-note {
	margin-top: 1rem;
	color: rgb(255 255 255 / 76%);
	font-size: var(--font-size-small);
	line-height: 1.55;
}

.contact-page--streamlined .contact-page__overview {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.contact-page--streamlined .contact-page__overview-grid {
	grid-template-columns: minmax(17rem, .72fr) minmax(22rem, 1fr) minmax(22rem, 1fr);
	gap: 0;
	align-items: stretch;
	overflow: hidden;
	border-top: 3px solid var(--rugare-health-green);
	background: var(--surface);
	box-shadow: 0 1rem 3rem rgb(11 58 91 / 7%);
}

.contact-page--streamlined .contact-page__team-image {
	min-width: 0;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--color-blue-surface);
}

.contact-page--streamlined .contact-page__team-image :is(picture, img) {
	display: block;
	width: 100%;
	height: 100%;
}

.contact-page--streamlined .contact-page__team-image img {
	min-height: 100%;
	object-fit: cover;
	object-position: 42% 24%;
}

.contact-page--streamlined .contact-page__overview .contact-page__panel {
	height: auto;
	padding: clamp(2rem, 3vw, 3rem);
	border: 0;
	border-right: 1px solid var(--line);
	border-radius: 0;
	box-shadow: none;
}

.contact-page--streamlined .contact-page__overview .contact-page__panel:last-child {
	border-right: 0;
}

.contact-page--streamlined .contact-page__overview .contact-page__panel::before {
	display: none;
}

.contact-page--streamlined .contact-page__overview .contact-page__panel h2 {
	margin: .65rem 0 1.5rem;
	font-size: clamp(1.85rem, 2.8vw, 2.55rem);
	line-height: 1.12;
}

.contact-page--streamlined .contact-page__detail-list {
	gap: 0;
	margin-bottom: 1.5rem;
}

.contact-page--streamlined .contact-page__detail-list > div {
	gap: .65rem;
	padding-block: 1.15rem;
	border-bottom: 1px solid var(--line);
}

.contact-page--streamlined .contact-page__detail-list > div:first-child {
	padding-top: 0;
}

.contact-page--streamlined .contact-page__detail-list > div:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.contact-page--streamlined .contact-page__detail-list dt {
	display: flex;
	min-height: 2rem;
	gap: .65rem;
	align-items: center;
}

.contact-page--streamlined .contact-page__detail-icon {
	display: grid;
	width: 2rem;
	height: 2rem;
	flex: 0 0 2rem;
	place-items: center;
	color: var(--rugare-brand-blue);
}

.contact-page--streamlined .contact-page__detail-icon svg {
	width: 1.55rem;
	height: 1.55rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.contact-page--streamlined .contact-page__phone-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .4rem .75rem;
}

.contact-page--streamlined .contact-page__phone-list a {
	width: 100%;
	min-height: 2.75rem;
	padding: .45rem .65rem;
	background: var(--color-blue-surface);
	color: var(--theme-blue-text);
	text-decoration: none;
}

.contact-page--streamlined .contact-page__phone-list a:hover,
.contact-page--streamlined .contact-page__phone-list a:focus-visible {
	background: var(--color-green-surface);
	color: var(--ink);
}

.contact-page--streamlined .contact-page__panel--details address {
	color: var(--body-text);
	font-weight: 650;
	line-height: 1.6;
}

.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .75rem;
	border: 0;
	margin: 0;
}

.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked > div {
	display: grid;
	grid-template-columns: minmax(8.5rem, .8fr) minmax(0, 1.2fr);
	gap: 1rem;
	align-items: start;
	padding: 1.1rem;
	border: 0;
	border-left: 3px solid var(--rugare-brand-blue);
	background: var(--color-blue-surface);
}

.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked > div:nth-child(2) {
	border-left-color: var(--rugare-health-green);
	background: var(--color-green-surface);
}

.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked dt {
	color: var(--ink);
	font-size: var(--font-size-micro);
	line-height: 1.55;
}

.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked dd {
	margin: 0;
	color: var(--body-text);
	line-height: 1.65;
}

.contact-page--streamlined .contact-page__overview-actions,
.contact-page--streamlined .contact-page__map-actions,
.contact-page--streamlined .contact-page__help-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .65rem 1rem;
}

.contact-page--streamlined .contact-page__text-link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: .5rem;
	color: var(--theme-blue-text);
	font-weight: 750;
	text-underline-offset: .22em;
}
.contact-page--streamlined .contact-page__text-link:hover,
.contact-page--streamlined .contact-page__text-link:focus-visible { color: var(--rugare-brand-blue); text-decoration-color: currentColor; }

.contact-page--streamlined > .service-enquiry {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.contact-page--streamlined > .service-enquiry--compact .service-enquiry__grid,
.contact-page--streamlined .general-enquiry .service-enquiry__grid {
	width: min(78rem, calc(100% - (2 * var(--gutter))));
}

.contact-page--streamlined > .service-enquiry--compact .service-enquiry__form-wrap,
.contact-page--streamlined .general-enquiry .service-enquiry__form-wrap {
	padding: clamp(1.75rem, 3.5vw, 3rem);
	border: 0;
	border-top: 3px solid var(--rugare-health-green);
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

.contact-page--streamlined .general-enquiry .service-enquiry__form-wrap {
	border-top-color: var(--rugare-brand-blue);
}

.contact-page--streamlined .service-enquiry__form-heading {
	align-items: end;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--line);
	margin-bottom: 1.5rem;
}

.contact-page--streamlined .service-enquiry__form-heading-main > span {
	width: 1.5rem;
	height: 1.5rem;
	flex: 0 0 1.5rem;
	border-radius: 0;
	background: transparent;
}

.contact-page--streamlined .service-enquiry__form-heading-main svg {
	width: 1.25rem;
	height: 1.25rem;
}

.contact-page--streamlined .service-enquiry__contact-method {
	padding: 1rem 0 0;
	border: 0;
	border-top: 1px solid var(--line);
	background: transparent;
}

.contact-page--streamlined .service-enquiry__contact-options label {
	border-color: var(--line);
	background: var(--surface-subtle);
}

.contact-page--streamlined .service-enquiry__section-title > span {
	border-radius: .2rem;
}

.contact-page--streamlined .service-enquiry__consent-field {
	padding-left: 1rem;
	background: var(--color-green-surface);
}

.contact-page--streamlined .service-enquiry__submit {
	padding: 1.25rem 0 0;
	border-top: 1px solid var(--line);
	border-radius: 0;
	background: transparent;
}

.contact-page--streamlined .contact-page__map {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.contact-page--streamlined .contact-page__map-grid {
	border: 0;
	border-top: 3px solid var(--rugare-brand-blue);
	border-radius: 0;
	box-shadow: none;
}

.contact-page--streamlined .contact-page__map-grid > .contact-page__panel {
	padding: clamp(1.75rem, 3.5vw, 3rem);
}

.contact-page--streamlined .contact-page__map-frame {
	min-height: 26rem;
}

.contact-page--streamlined .contact-page__map-frame iframe {
	min-height: 26rem;
}

.contact-page--streamlined .contact-page__support {
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.contact-page--streamlined .contact-page__support-grid {
	gap: 0;
	overflow: hidden;
	background: var(--surface);
}

.contact-page--streamlined .contact-page__support-grid > .contact-page__panel {
	padding: clamp(1.75rem, 3.5vw, 3rem);
	border: 0;
	border-radius: 0;
	background: var(--surface-subtle);
}

.contact-page--streamlined .contact-page__support-grid > .contact-page__panel:last-child {
	border: 0;
}

.contact-page--streamlined .contact-page__help-actions {
	margin-top: 1.5rem;
}

.contact-page--streamlined .general-enquiry {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.contact-page--streamlined .service-enquiry__success {
	border-radius: var(--service-card-radius);
	box-shadow: none;
}

@media (max-width: 72rem) {
	.contact-page--streamlined .contact-page__overview-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-page--streamlined .contact-page__team-image {
		min-height: 21rem;
		grid-column: 1 / -1;
	}

	.contact-page--streamlined .contact-page__team-image img {
		object-position: center 27%;
	}
}

@media (max-width: 60rem) and (min-width: 52.01rem) {
	.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked > div {
		grid-template-columns: 1fr;
		gap: .4rem;
	}
}

@media (max-width: 52rem) {
	.contact-page--streamlined .contact-page__overview-grid {
		grid-template-columns: 1fr;
	}

	.contact-page--streamlined .contact-page__team-image {
		min-height: 0;
		aspect-ratio: 4 / 3;
		grid-column: auto;
	}

	.contact-page--streamlined .contact-page__team-image img {
		object-position: 40% 24%;
	}

	.contact-page--streamlined .contact-page__overview .contact-page__panel {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.contact-page--streamlined .contact-page__overview .contact-page__panel:last-child {
		border-bottom: 0;
	}

	.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked > div {
		grid-template-columns: minmax(8.5rem, .8fr) minmax(0, 1.2fr);
	}

	.contact-page--streamlined .contact-page__map-frame,
	.contact-page--streamlined .contact-page__map-frame iframe {
		min-height: 21rem;
	}
}

@media (max-width: 36rem) {
	.contact-page--streamlined .contact-page__hero.rm-hero--utility {
		min-height: 25rem !important;
	}

	.contact-page--streamlined .contact-page__hero h1 {
		font-size: clamp(2.45rem, 12vw, 3.25rem) !important;
	}

	.contact-page--streamlined .contact-page__hero-actions {
		display: grid;
		justify-items: start;
	}

	.contact-page--streamlined .contact-page__overview {
		padding-block: 2.5rem;
	}

	.contact-page--streamlined .contact-page__overview-grid,
	.contact-page--streamlined .contact-page__map-grid,
	.contact-page--streamlined .contact-page__support-grid {
		width: 100%;
	}

	.contact-page--streamlined .contact-page__overview .contact-page__panel,
	.contact-page--streamlined .contact-page__map-grid > .contact-page__panel,
	.contact-page--streamlined .contact-page__support-grid > .contact-page__panel {
		padding: 1.5rem 1.15rem;
	}

	.contact-page--streamlined .contact-page__phone-list {
		grid-template-columns: 1fr;
	}

	.contact-page--streamlined .contact-page__panel--hours .location-map__hours.location-map__hours--stacked > div {
		grid-template-columns: 1fr;
		gap: .4rem;
	}

	.contact-page--streamlined > .service-enquiry--compact .service-enquiry__grid,
	.contact-page--streamlined .general-enquiry .service-enquiry__grid {
		width: 100%;
	}

	.contact-page--streamlined .service-enquiry__form-heading-main {
		gap: .75rem;
	}

	.contact-page--streamlined .contact-page__overview-actions,
	.contact-page--streamlined .contact-page__map-actions,
	.contact-page--streamlined .contact-page__help-actions {
		align-items: stretch;
	}

	.contact-page--streamlined :is(.contact-page__overview-actions, .contact-page__map-actions, .contact-page__help-actions) .contact-page__text-link {
		justify-content: flex-start;
	}
}

/* Large content surfaces use spacing and tonal contrast instead of card outlines. */
.site-main :where(
	.homepage-services > .container,
	.homepage-intro__panel,
	.homepage-why__panel,
	.homepage-about__grid,
	.homepage-community__grid,
	.homepage-medical-aid__inner,
	.homepage-contact__grid,
	.about-leadership__feature,
	.about-leadership__group,
	.about-leadership__board-grid,
	.community-impact__inner,
	.services-directory__pathway-inner,
	.services-directory__guidance-inner,
	.services-directory__visit-inner,
	.services-directory__final-inner,
	.service-page__body > .container > section,
	.service-page__body > .container > aside,
	.service-page__supporting-grid,
	.specialist-service .short-term-insurance__grid,
	.specialist-service .service-page__patient-glance,
	.specialist-service .service-page__essentials,
	.information-page__content > section,
	.information-page__sections,
	.faq-page__group,
	.contact-page__overview-grid,
	.contact-page__map-grid,
	.contact-page__support-grid > .contact-page__panel,
	.service-enquiry__form-wrap,
	.short-term-insurance__journey-card,
	.short-term-insurance__quote .service-enquiry__grid,
	.insurance-product__cover-list,
	.medical-aid-application__form-wrap,
	.medical-aid-application__after,
	.medical-aid-plans-page .medical-aid-comparator > .container,
	.not-found__search-card,
	.not-found__services,
	.search-results__empty,
	.privacy-document__body .legal-document__section,
	.terms-document__body .legal-document__section,
	.cookie-document__body .legal-document__section
) {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.site-main .service-page__patient-pathway .service-page__patient-glance {
	border: 0 !important;
}

/* Medical Insurance underwriting disclosure. */
.medical-insurance-underwriter {
	background: var(--surface);
}

.medical-insurance-underwriter__inner {
	display: flex;
	min-height: 6.5rem;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
	padding-block: 1.25rem;
	border-bottom: 1px solid var(--line);
}

.medical-insurance-underwriter__copy {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: .85rem;
}

.medical-insurance-underwriter__copy p {
	display: flex;
	flex-wrap: nowrap;
	gap: .35rem;
	align-items: baseline;
	margin: 0;
	white-space: nowrap;
}

.medical-insurance-underwriter__copy p > span {
	color: var(--muted);
	font-size: var(--font-size-small);
}

.medical-insurance-underwriter__copy strong {
	color: var(--ink);
	font-size: 1.05rem;
}

.medical-insurance-underwriter__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	flex: 0 0 3rem;
	place-items: center;
	color: var(--rugare-brand-blue);
}

.medical-insurance-underwriter__icon svg {
	width: 2.25rem;
	height: 2.25rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.medical-insurance-underwriter img {
	width: auto;
	max-width: 9.5rem;
	height: 3.25rem;
	object-fit: contain;
}

.medical-aid-download__preview-signature-pad canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

@media (max-width: 39.99rem) {
	.medical-insurance-underwriter__inner {
		min-height: 0;
		gap: .75rem;
	}

	.medical-insurance-underwriter img {
		max-width: 6rem;
		height: 2.25rem;
	}

	.short-term-insurance-underwriter .medical-insurance-underwriter__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.short-term-insurance-underwriter .medical-insurance-underwriter__copy {
		gap: .5rem;
	}

	.short-term-insurance-underwriter .medical-insurance-underwriter__icon {
		width: 2rem;
		height: 2rem;
		flex-basis: 2rem;
	}

	.short-term-insurance-underwriter .medical-insurance-underwriter__icon svg {
		width: 1.5rem;
		height: 1.5rem;
	}

	.short-term-insurance-underwriter .medical-insurance-underwriter__copy p {
		flex-direction: column;
		gap: 0;
		align-items: flex-start;
		white-space: normal;
	}

	.short-term-insurance-underwriter img {
		display: block;
		width: min(6rem, 28vw);
		height: auto;
	}

	.service-partnership img {
		display: none;
	}
}

/* Medical Aid support: a focused, mobile-first consultation journey. */
.medical-aid-support-page {
	padding-bottom: 0;
	background: var(--surface-subtle);
}

.medical-aid-support-page .service-page__hero-copy {
	max-width: 46rem;
}

.medical-aid-support-page .service-page__hero .page-banner img {
	object-position: 64% center;
}

.medical-aid-support-workflows {
	padding-block: clamp(3rem, 7vw, 6rem);
	background: var(--surface-subtle);
}

.medical-aid-support-workflows__heading {
	max-width: 48rem;
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.medical-aid-support-workflows__heading > p:last-child {
	max-width: 42rem;
	color: var(--body-text);
	line-height: 1.7;
}

.medical-aid-support-workflows__steps {
	display: grid;
	grid-template-columns: 1fr;
	padding: 0;
	border-block: 1px solid var(--line);
	margin: 0 0 clamp(2rem, 5vw, 3.5rem);
	background: var(--surface);
	list-style: none;
}

.medical-aid-support-workflows__steps li {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	gap: .9rem;
	align-items: start;
	padding: 1.25rem 0;
}

.medical-aid-support-workflows__steps li + li {
	border-top: 1px solid var(--line);
}

.medical-aid-support-workflows__steps li > span {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border-radius: 50%;
	background: var(--color-blue-surface);
	color: var(--theme-blue-text);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
}

.medical-aid-support-workflows__steps strong {
	display: block;
	margin: .05rem 0 .35rem;
	color: var(--ink);
	font-size: 1rem;
}

.medical-aid-support-workflows__steps p {
	margin: 0;
	color: var(--body-text);
	font-size: var(--font-size-small);
	line-height: 1.6;
}

.medical-aid-support-workflows .medical-aid-support-workflows__forms {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	border: 0 !important;
	background: transparent;
}

.medical-aid-support-workflows .medical-aid-support-workflows__forms.service-page__supporting-grid--single {
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(0, 1fr) !important;
	margin-inline: auto;
}

.medical-aid-support-workflows .medical-aid-support-form {
	min-width: 0;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	overflow: hidden;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--surface);
	box-shadow: none !important;
	scroll-margin-top: calc(var(--sticky-header-offset) + 1rem);
}

.medical-aid-support-form__header {
	display: flex;
	gap: .9rem;
	align-items: center;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--line);
}

.medical-aid-support-form__header > div {
	min-width: 0;
}

.medical-aid-support-form__header p {
	margin: 0 0 .25rem;
	color: var(--theme-blue-text);
	font-size: var(--font-size-micro);
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.medical-aid-support-form__header h3 {
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.2;
}

.medical-aid-support-form__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	flex: 0 0 3rem;
	place-items: center;
	color: var(--rugare-brand-blue);
}

.medical-aid-support-form__icon svg {
	width: 2.25rem;
	height: 2.25rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.medical-aid-support-form__intro {
	max-width: 45rem;
	margin: 1.25rem 0 .35rem;
	color: var(--body-text);
	font-size: var(--font-size-body);
	line-height: 1.65;
}

.medical-aid-support-form__required-note {
	margin: 0 0 1.5rem;
	color: var(--muted);
	font-size: var(--font-size-small);
}

.medical-aid-support-form .medical-aid-application__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.1rem;
}

.medical-aid-support-form > .service-enquiry__form {
	display: block;
	width: 100%;
}

.medical-aid-support-form .form-field {
	display: grid;
	min-width: 0;
	gap: .4rem;
	align-content: start;
}

.medical-aid-support-form .form-field > label {
	margin: 0;
	color: var(--ink);
	font-size: var(--font-size-small);
	font-weight: 750;
}

.medical-aid-support-form .form-field:has(> :is(input, select, textarea)[required]) > label::after {
	margin-left: .25rem;
	color: var(--theme-blue-text);
	content: '*';
}

.medical-aid-support-form .form-field :is(input:not([type='checkbox']), select, textarea) {
	width: 100%;
	min-height: 3.6rem;
	padding: .75rem .85rem;
	border: 1px solid #a9c5d7;
	border-radius: .35rem;
	background: var(--surface);
	color: var(--ink);
	font-size: var(--font-size-body);
}

.medical-aid-support-form .form-field textarea {
	min-height: 8rem;
}

.medical-aid-support-form .form-field :is(input:not([type='checkbox']), select, textarea):hover {
	border-color: rgb(11 58 91 / 58%);
}

.medical-aid-support-form .form-field :is(input:not([type='checkbox']), select, textarea):focus-visible {
	border-color: var(--rugare-brand-blue);
	outline: 3px solid rgb(141 198 63 / 30%);
	outline-offset: 1px;
}

.medical-aid-support-form .medical-aid-support-form__consent {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	gap: .75rem;
	align-items: start;
	padding: 1rem;
	border-left: 3px solid var(--rugare-health-green);
	border-radius: .35rem;
	background: var(--color-blue-surface);
	color: var(--body-text);
	font-size: var(--font-size-small);
	font-weight: 650;
	line-height: 1.55;
	cursor: pointer;
}

.medical-aid-support-form .medical-aid-support-form__consent input {
	width: 1.2rem;
	height: 1.2rem;
	min-height: 0;
	margin: .1rem 0 0;
	accent-color: var(--rugare-brand-blue);
}

.medical-aid-support-form__submit {
	grid-template-columns: 1fr;
	padding: 1.15rem;
	border-top: 3px solid var(--rugare-health-green);
	border-radius: .45rem;
	margin-top: .25rem;
	background: var(--surface-subtle);
}

.medical-aid-support-form__submit .button {
	width: 100%;
	min-height: 3.25rem;
}

.medical-aid-support-form__submit small {
	margin: 0;
	color: var(--muted);
	text-align: center;
}

.medical-aid-support-confirmation {
	display: grid;
	gap: 1.5rem;
	width: 100%;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border: 0;
	margin: 0;
	background: var(--surface);
}

.medical-aid-support-confirmation__header {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--line);
}

.medical-aid-support-confirmation__header > div {
	min-width: 0;
}

.medical-aid-support-confirmation__header p {
	margin: 0 0 .3rem;
	color: var(--theme-blue-text);
	font-size: var(--font-size-small);
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.medical-aid-support-confirmation__header h3 {
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	line-height: 1.2;
}

.medical-aid-support-confirmation__icon {
	display: grid;
	width: 3.25rem;
	height: 3.25rem;
	flex: 0 0 3.25rem;
	place-items: center;
	color: var(--rugare-brand-blue);
}

.medical-aid-support-confirmation__icon svg {
	width: 2.4rem;
	height: 2.4rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.medical-aid-support-confirmation__intro {
	max-width: 54rem;
	margin: 0;
	color: var(--body-text);
	font-size: var(--font-size-lead);
	line-height: 1.65;
}

.medical-aid-support-confirmation__summary {
	display: grid;
	grid-template-columns: 1fr;
	border-block: 1px solid var(--line);
}

.medical-aid-support-confirmation__summary > div {
	display: grid;
	gap: .35rem;
	padding: 1.25rem 0;
}

.medical-aid-support-confirmation__summary > div + div {
	border-top: 1px solid var(--line);
}

.medical-aid-support-confirmation__summary span {
	color: var(--muted);
	font-size: var(--font-size-small);
	font-weight: 700;
}

.medical-aid-support-confirmation__summary strong {
	overflow-wrap: anywhere;
	color: var(--ink);
	font-size: var(--font-size-body);
}

.medical-aid-support-confirmation__next h4 {
	margin: 0 0 1rem;
	color: var(--ink);
	font-size: var(--font-size-h4);
}

.medical-aid-support-confirmation__next ol {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.medical-aid-support-confirmation__next li {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: .9rem;
	align-items: start;
	padding: 1.25rem;
	background: var(--surface-subtle);
}

.medical-aid-support-confirmation__next li > span {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border-radius: 50%;
	background: var(--surface);
	color: var(--theme-blue-text);
	font-size: var(--font-size-small);
	font-weight: 800;
}

.medical-aid-support-confirmation__next li p {
	margin: 0;
	color: var(--body-text);
	font-size: var(--font-size-small);
	line-height: 1.6;
}

.medical-aid-support-confirmation__next li strong {
	display: block;
	margin-bottom: .25rem;
	color: var(--ink);
}

.medical-aid-support-confirmation__actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--line);
}

.medical-aid-support-confirmation__actions .button {
	width: 100%;
	min-height: 3.25rem;
}

/* Shared post-submission confirmation for every public CTA request. */
.request-confirmation {
	display: grid;
	gap: 1.5rem;
	width: 100%;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	background: var(--surface);
	color: var(--ink);
}

.request-confirmation__header {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--line);
}

.request-confirmation__header > div { min-width: 0; }
.request-confirmation__header p { margin: 0 0 .3rem; color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.request-confirmation__header h2 { margin: 0; color: var(--ink); font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.2; }
.request-confirmation__icon { display: grid; width: 3.25rem; height: 3.25rem; flex: 0 0 3.25rem; place-items: center; color: var(--rugare-brand-blue); }
.request-confirmation__icon svg { width: 2.4rem; height: 2.4rem; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.request-confirmation__intro { max-width: 54rem; margin: 0; color: var(--body-text); font-size: var(--font-size-lead); line-height: 1.65; }
.request-confirmation__summary { display: grid; grid-template-columns: 1fr; border-block: 1px solid var(--line); }
.request-confirmation__summary > div { display: grid; gap: .35rem; padding: 1.25rem 0; }
.request-confirmation__summary > div + div { border-top: 1px solid var(--line); }
.request-confirmation__summary span { color: var(--muted); font-size: var(--font-size-small); font-weight: 700; }
.request-confirmation__summary strong { overflow-wrap: anywhere; color: var(--ink); font-size: var(--font-size-body); }
.request-confirmation__next h3 { margin: 0 0 1rem; color: var(--ink); font-size: var(--font-size-h4); }
.request-confirmation__next ol { display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 0; margin: 0; list-style: none; }
.request-confirmation__next li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .9rem; align-items: start; padding: 1.25rem; background: var(--color-blue-surface); }
.request-confirmation__next li > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: var(--surface); color: var(--theme-blue-text); font-size: var(--font-size-small); font-weight: 800; }
.request-confirmation__next li p { margin: 0; color: var(--body-text); font-size: var(--font-size-small); line-height: 1.6; }
.request-confirmation__next li strong { display: block; margin-bottom: .25rem; color: var(--ink); }
.request-confirmation__actions { display: grid; grid-template-columns: 1fr; gap: .75rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.request-confirmation__actions .button { width: 100%; min-height: 3.25rem; }

.service-enquiry__confirmation > .request-confirmation {
	box-shadow: 0 1rem 3rem rgb(11 58 91 / 7%);
}

@media (min-width: 40rem) {
	.medical-aid-support-workflows__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.medical-aid-support-workflows__steps li {
		padding: 1.5rem;
	}

	.medical-aid-support-workflows__steps li + li {
		border-top: 0;
		border-left: 1px solid var(--line);
	}

	.medical-aid-support-form .medical-aid-application__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem clamp(1.25rem, 3vw, 2rem);
	}

	.medical-aid-support-form__submit {
		grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr);
		align-items: center;
	}

	.medical-aid-support-form__submit small {
		text-align: left;
	}

	.medical-aid-support-confirmation__summary,
	.medical-aid-support-confirmation__next ol,
	.medical-aid-support-confirmation__actions,
	.request-confirmation__summary,
	.request-confirmation__next ol,
	.request-confirmation__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.medical-aid-support-confirmation__summary > div {
		padding: 1.25rem;
	}

	.medical-aid-support-confirmation__summary > div + div {
		border-top: 0;
		border-left: 1px solid var(--line);
	}

	.request-confirmation__summary > div { padding: 1.25rem; }
	.request-confirmation__summary > div + div { border-top: 0; border-left: 1px solid var(--line); }
}

@media (min-width: 64rem) {
	.medical-aid-support-workflows .medical-aid-support-workflows__forms:not(.service-page__supporting-grid--single) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.medical-aid-support-workflows__forms:not(.service-page__supporting-grid--single) .medical-aid-support-form .medical-aid-application__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 39.99rem) {
	.medical-aid-support-page .service-page__hero .page-banner img {
		object-position: 68% center;
	}

	.medical-aid-support-workflows > .container {
		width: 100%;
	}

	.medical-aid-support-workflows__heading,
	.medical-aid-support-workflows__steps {
		width: min(100% - (2 * var(--gutter)), var(--container));
		margin-inline: auto;
	}

	.medical-aid-support-workflows .medical-aid-support-form {
		padding: 1.5rem var(--gutter);
	}

	.medical-aid-support-confirmation {
		padding: 1.5rem var(--gutter);
	}

	.request-confirmation { padding: 1.5rem var(--gutter); }

	.medical-aid-support-form__header {
		align-items: flex-start;
	}
}

/* ================================================================
   Sharp card corners — site-wide
   ================================================================ */

.service-card,
.contact-service-card,
.home-intro__grid,
.home-intro__facts,
.homepage-intro__panel,
.homepage-partners__logos li,
.partners__logos li,
.community-stat,
.community-impact__grid,
.community-events__media,
.dialysis-audience__shell,
.dialysis-audience__list,
.services-directory__final-inner,
.short-term-insurance__journey-card,
.short-term-insurance__notice-card,
.short-term-insurance .short-term-insurance__quote .service-enquiry__grid,
.insurance-product__cover-list,
.insurance-product__cover-list > ul > li,
.insurance-product__policy-checks,
.not-found__search-card,
.not-found__services,
.search-results__item > a,
.search-results__empty,
.contact-page__overview .contact-page__panel,
.contact-page--streamlined .contact-page__overview .contact-page__panel,
.contact-page > .service-enquiry .service-enquiry__form-wrap,
.contact-page > .service-enquiry--compact .service-enquiry__form-wrap,
.contact-page--streamlined > .service-enquiry--compact .service-enquiry__form-wrap,
.contact-page--streamlined .contact-page__map-grid,
.contact-page--streamlined .contact-page__support-grid > .contact-page__panel,
.contact-page--streamlined .service-enquiry__success,
.contact-page--streamlined .service-enquiry__submit,
.location-map__grid,
.medical-aid-support-page--track .medical-aid-application__lookup-result,
.information-page--corporate-health :is(.corporate-health__overview, .corporate-health__reasons, .corporate-health__faq),
.information-page--corporate-health .corporate-health__consultation .service-enquiry__form-wrap,
.service-page--pharmacy .service-page__pharmacy-order,
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps li,
.service-page__pharmacy-visit-grid,
.service-page--gp .service-page__essentials,
.service-page--gp .service-page__gp-service-grid > article,
.service-page--gp #gp-supporting .service-page__supporting-grid > a,
.service-page--gp .service-page__gp-pathway .service-page__access-steps li,
.service-page--dentist .service-page__body > .container > :is(.service-page__dentist-profile, .service-page__dentist-route, .service-page__questions, .service-page__dentist-cta),
.service-page--dentist .service-page__dentist-service-grid > article,
.service-page--dentist .service-page__dentist-route .service-page__access-steps li,
.service-page__medical-aid-grid > article,
.service-page--physician .service-page__body > .container > :is(.service-page__physician-profile, .service-page__physician-route, .service-page__medical-aid-options, .service-page__questions, .service-page__physician-cta),
.service-page--physician .service-page__physician-service-grid > article,
.service-page--physician .service-page__physician-route .service-page__access-steps li,
.service-page--diagnostic-laboratory .service-page__body > .container > :is(.service-page__lab-profile, .service-page__lab-route, .service-page__medical-aid-options, .service-page__questions, .service-page__lab-cta),
.service-page--diagnostic-laboratory .service-page__lab-service-grid > article,
.service-page--diagnostic-laboratory .service-page__lab-route .service-page__access-steps li,
.service-page--homecare .service-page__essentials,
.service-page--homecare .service-page__homecare-service-grid > article,
.service-page--homecare .service-page__homecare-booking .service-page__access-steps li,
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article,
.service-page__partner-services .service-page__partner-service-grid > article,
.service-page--ambulance-service .service-page__body > .container > :is(.service-page__essentials--ambulance, .service-page__ambulance-services, .service-page__ambulance-contact, .service-page__medical-aid-options, .service-page__questions, .service-page__related),
.service-page__essentials--ambulance,
.service-page__ambulance-route,
.service-page__ambulance-contact,
.service-page__ambulance-contact ul,
.service-page__dialysis-cta,
.service-page__dialysis-cta-actions,
.service-page__dialysis-contact,
.service-page--dialysis .service-page__body > .container > :is(.service-page__dialysis-services, .service-page__unit, .service-page__dialysis-journey, .service-page__payment, .service-page__transport, .service-page__what-to-bring, .service-page__questions, .service-page__dialysis-cta),
.service-page--dialysis .service-page__supporting-grid,
.service-page--dialysis .service-page__dialysis-why,
.service-page--dialysis .service-page__dialysis-why .service-page__unit-grid article,
.service-page__related,
.service-page__related-grid > a {
	border-radius: 0 !important;
}

/* Additional sharp corners for missed card containers */
.services-overview__preventive-card,
.services-overview__medical-aid-content,
.services-overview__corporate-content,
.pharmacy-shop-page__journey article,
.service-page__pharmacy-service-group,
.homepage-service-card,
.homepage-medical-aid__inner,
.homepage-contact__grid,
.medical-aid-hub__paths > article,
.service-page--dialysis .service-page__panel--blue,
.service-page__dialysis-journey-media .service-page__dialysis-visit-availability {
	border-radius: 0 !important;
}

/* ================================================================
   Card accent borders — none at rest, brand-blue on hover
   ================================================================ */

/* Service cards: no border at all */
.service-card { border: none !important; }

/* Reset thick coloured top-accent to uniform 1px border on other card types */
.services-overview__preventive-card,
.services-overview__medical-aid-content,
.services-overview__corporate-content,
.pharmacy-shop-page__journey article,
.service-page__pharmacy-service-group,
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps li,
.service-page--gp .service-page__gp-service-grid > article,
.service-page--dentist .service-page__dentist-service-grid > article,
.service-page__medical-aid-grid > article,
.service-page--physician .service-page__physician-service-grid > article,
.service-page--diagnostic-laboratory .service-page__lab-service-grid > article,
.service-page--homecare .service-page__homecare-service-grid > article,
.service-page--homecare .service-page__homecare-booking .service-page__access-steps li,
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article,
.service-page__partner-services .service-page__partner-service-grid > article,
.service-page__essentials--ambulance,
.service-page__ambulance-route,
.service-page__related-grid > a,
.contact-page > .service-enquiry .service-enquiry__form-wrap,
.homepage-service-card,
.homepage-medical-aid__inner,
.homepage-contact__grid,
.medical-aid-hub__paths > article,
.service-page--dialysis .service-page__panel--blue {
	border-top: 1px solid var(--line) !important;
}

/* Neutralise nth-child / modifier colour overrides */
.service-card--hero,
.service-card--secondary,
.service-card--cover,
.services-overview__preventive-card:nth-child(2),
.services-overview__corporate-content,
.pharmacy-shop-page__journey article:nth-child(2),
.service-page__pharmacy-service-group:nth-child(2),
.service-page--pharmacy .service-page__pharmacy-order .service-page__access-steps li:nth-child(2),
.service-page--gp .service-page__gp-service-grid > article:nth-child(even),
.service-page--dentist .service-page__dentist-service-grid > article:nth-child(even),
.service-page__medical-aid-grid > .service-page__medical-aid-card--join,
.service-page--physician .service-page__physician-service-grid > article:nth-child(even),
.service-page--diagnostic-laboratory .service-page__lab-service-grid > article:nth-child(even),
.service-page--homecare .service-page__homecare-service-grid > article:nth-child(even),
.service-page--homecare .service-page__homecare-booking .service-page__access-steps li:nth-child(2),
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article:nth-child(even),
.service-page__partner-services .service-page__partner-service-grid > article:nth-child(even),
.service-page__ambulance-route--urgent,
.service-page__related-grid > a:nth-child(even),
.homepage-service-card:nth-child(even) {
	border-top-color: var(--line) !important;
}

/* Short-term insurance cards — no border or radius at rest */
.short-term-insurance__card,
.short-term-insurance__card:nth-child(2n) {
	border: none !important;
	border-radius: 0 !important;
}

/* Hover — border becomes brand blue */
.service-card:hover,
.service-card:focus-within,
.services-overview__preventive-card:hover,
.pharmacy-shop-page__journey article:hover,
.service-page__pharmacy-service-group:hover,
.service-page--gp .service-page__gp-service-grid > article:hover,
.service-page--dentist .service-page__dentist-service-grid > article:hover,
.service-page__medical-aid-grid > article:hover,
.service-page--physician .service-page__physician-service-grid > article:hover,
.service-page--diagnostic-laboratory .service-page__lab-service-grid > article:hover,
.service-page--homecare .service-page__homecare-service-grid > article:hover,
:is(.service-page--gp, .service-page--dentist, .service-page--physician, .service-page--homecare, .service-page--diagnostic-laboratory) :is(.service-page__gp-service-grid, .service-page__dentist-service-grid, .service-page__physician-service-grid, .service-page__homecare-service-grid, .service-page__lab-service-grid) > article:hover,
.service-page__partner-services .service-page__partner-service-grid > article:hover,
.service-page__related-grid > a:hover,
.homepage-service-card:hover,
.homepage-service-card:focus-within,
.medical-aid-hub__paths > article:hover {
	border-color: var(--rugare-brand-blue);
}
