@keyframes skel-shimmer {
to { transform: translateX( 100% ); }
}
@keyframes skel-pulse {
0%, 100% { opacity: 1; }
50%       { opacity: .5; }
} :root {
--skel-base:    #dde3ea;
--skel-mid:     #e8ecf1;
--skel-shine:   rgba( 255 255 255 / .62 );
--skel-card-bg: #f4f6f9;
} .page-skeleton .service-card::after,
.page-skeleton .homepage-service-card::after,
.page-skeleton .medical-aid-summary-card::after,
.page-skeleton .short-term-insurance__card::after,
.page-skeleton .corporate-health__packages-grid > article::after,
.page-skeleton .corporate-health__offering-grid > article::after,
.page-skeleton .services-directory__grid > article::after,
.page-skeleton .service-page__supporting-grid > article::after,
.page-skeleton .service-page__related-grid > article::after,
.page-skeleton .service-page__unit-grid > article::after,
.page-skeleton .homepage-why__card::after,
.page-skeleton .about-leader::after,
.page-skeleton .post-card::after,
.page-skeleton .faq-item::after,
.page-skeleton .community-photo-card::after,
.page-skeleton .search-results__item::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( 90deg, transparent 0%, var( --skel-shine ) 50%, transparent 100% );
transform: translateX( -100% );
animation: skel-shimmer 1.55s ease-in-out infinite;
z-index: 6;
pointer-events: none;
} .page-skeleton .service-card {
position: relative;
overflow: hidden;
min-height: 28rem;
}
.page-skeleton .service-card > * { visibility: hidden; }
.page-skeleton .service-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 0 0 / 100% 12.5rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 13.75rem / 58% 1.1rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 15.35rem / 92% .75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 16.35rem / 80% .75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 17.35rem / 58% .75rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 19.25rem / 8.5rem 2.25rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) calc( 1.25rem + 9.25rem ) 19.25rem / 8.5rem 2.25rem no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .homepage-service-card {
position: relative;
overflow: hidden;
min-height: 18rem;
}
.page-skeleton .homepage-service-card > * { visibility: hidden; }
.page-skeleton .homepage-service-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 1.25rem / 2.25rem 2.25rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 4.25rem / 65% 1.1rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 6rem / 85% .75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 7rem / 70% .75rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 9rem / 8rem 2.25rem no-repeat,
#c8d0db;
z-index: 5;
} .page-skeleton .medical-aid-summary-card {
position: relative;
overflow: hidden;
min-height: 26rem;
}
.page-skeleton .medical-aid-summary-card > * { visibility: hidden; }
.page-skeleton .medical-aid-summary-card::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem 1.5rem  / 38% .7rem  no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem 2.7rem  / 72% 1.3rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem 4.5rem  / 52% .7rem  no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem 5.65rem / 34% 1.9rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem 9rem    / 27% 2.75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) calc( 1.5rem + 29% ) 9rem / 27% 2.75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) calc( 1.5rem + 58% ) 9rem / 27% 2.75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem 13.5rem / 92% .7rem  no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.5rem calc( 100% - 3.75rem ) / 44% 2.5rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) calc( 100% - 1.5rem - 44% ) calc( 100% - 3.75rem ) / 44% 2.5rem no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .homepage-why__card {
position: relative;
overflow: hidden;
min-height: 12rem;
}
.page-skeleton .homepage-why__card > * { visibility: hidden; }
.page-skeleton .homepage-why__card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 1.25rem / 2.5rem 2.5rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 4.5rem  / 62% 1rem   no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 6.25rem / 90% .75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 7.25rem / 72% .75rem no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .about-leader {
position: relative;
overflow: hidden;
min-height: 20rem;
}
.page-skeleton .about-leader > * { visibility: hidden; }
.page-skeleton .about-leader::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 0 0 / 100% 14rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1rem 15rem  / 65% 1.1rem  no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1rem 16.5rem / 48% .8rem   no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1rem 18rem   / 92% .7rem   no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1rem 19rem   / 78% .7rem   no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .post-card {
position: relative;
overflow: hidden;
min-height: 22rem;
}
.page-skeleton .post-card > * { visibility: hidden; }
.page-skeleton .post-card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 0 0 / 100% 10rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 11.25rem / 32% .7rem  no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 12.5rem  / 78% 1.1rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 14.25rem / 92% .75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 15.25rem / 68% .75rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 17rem    / 6rem 1rem  no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .faq-item {
position: relative;
overflow: hidden;
min-height: 3.75rem;
}
.page-skeleton .faq-item > * { visibility: hidden; }
.page-skeleton .faq-item::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 50% / 68% 1rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) calc( 100% - 1.25rem ) 50% / 1.25rem 1.25rem no-repeat,
var( --skel-card-bg );
background-position: 1.25rem center, calc( 100% - 1.25rem ) center;
z-index: 5;
} .page-skeleton .community-photo-card {
position: relative;
overflow: hidden;
min-height: 14rem;
}
.page-skeleton .community-photo-card > * { visibility: hidden; }
.page-skeleton .community-photo-card::before {
content: '';
position: absolute;
inset: 0;
background: var( --skel-base );
z-index: 5;
} .page-skeleton .search-results__item {
position: relative;
overflow: hidden;
min-height: 7rem;
padding: 1.25rem;
}
.page-skeleton .search-results__item > * { visibility: hidden; }
.page-skeleton .search-results__item::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 1.25rem  / 5rem .8rem  no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 2.75rem  / 72% 1.1rem  no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 4.5rem   / 92% .75rem  no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 5.5rem   / 66% .75rem  no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .short-term-insurance__card,
.page-skeleton .corporate-health__packages-grid > article,
.page-skeleton .corporate-health__offering-grid > article,
.page-skeleton .services-directory__grid > article,
.page-skeleton .service-page__supporting-grid > article,
.page-skeleton .service-page__related-grid > article,
.page-skeleton .service-page__unit-grid > article {
position: relative;
overflow: hidden;
min-height: 14rem;
}
.page-skeleton .short-term-insurance__card > *,
.page-skeleton .corporate-health__packages-grid > article > *,
.page-skeleton .corporate-health__offering-grid > article > *,
.page-skeleton .services-directory__grid > article > *,
.page-skeleton .service-page__supporting-grid > article > *,
.page-skeleton .service-page__related-grid > article > *,
.page-skeleton .service-page__unit-grid > article > * { visibility: hidden; }
.page-skeleton .short-term-insurance__card::before,
.page-skeleton .corporate-health__packages-grid > article::before,
.page-skeleton .corporate-health__offering-grid > article::before,
.page-skeleton .services-directory__grid > article::before,
.page-skeleton .service-page__supporting-grid > article::before,
.page-skeleton .service-page__related-grid > article::before,
.page-skeleton .service-page__unit-grid > article::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 1.5rem  / 2.75rem 2.75rem no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 5rem    / 62% 1rem   no-repeat, linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 6.5rem  / 90% .75rem no-repeat,
linear-gradient( var( --skel-base ), var( --skel-base ) ) 1.25rem 7.5rem  / 74% .75rem no-repeat,
var( --skel-card-bg );
z-index: 5;
} .page-skeleton .homepage-hero,
.page-skeleton .page-hero,
.page-skeleton .service-page__hero {
position: relative;
}
.page-skeleton .homepage-hero > *,
.page-skeleton .page-hero > *,
.page-skeleton .service-page__hero > * { visibility: hidden; }
.page-skeleton .homepage-hero::before,
.page-skeleton .page-hero::before,
.page-skeleton .service-page__hero::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( 135deg, #0d2e47, #1c4a6e );
animation: skel-pulse 1.8s ease-in-out infinite;
z-index: 1;
} .page-skeleton .homepage-partners__logos > * {
position: relative;
overflow: hidden;
min-height: 4rem;
visibility: hidden;
}
.page-skeleton .homepage-partners__logos > *::before {
content: '';
position: absolute;
inset: 0;
background: var( --skel-base );
z-index: 5;
visibility: visible;
}
.page-skeleton .homepage-partners__logos > *::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( 90deg, transparent 0%, var( --skel-shine ) 50%, transparent 100% );
transform: translateX( -100% );
animation: skel-shimmer 1.55s ease-in-out infinite;
z-index: 6;
visibility: visible;
} .img-loading {
position: relative;
background-color: var( --skel-base );
overflow: hidden;
}
.img-loading::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient( 90deg, transparent 0%, var( --skel-shine ) 50%, transparent 100% );
transform: translateX( -100% );
animation: skel-shimmer 1.55s ease-in-out infinite;
}
.img-loading img {
opacity: 0;
transition: opacity .35s ease;
} .service-card,
.homepage-service-card,
.medical-aid-summary-card,
.homepage-why__card,
.about-leader,
.post-card,
.faq-item,
.community-photo-card,
.search-results__item,
.short-term-insurance__card,
.corporate-health__packages-grid > article,
.corporate-health__offering-grid > article,
.services-directory__grid > article,
.service-page__supporting-grid > article,
.service-page__related-grid > article,
.service-page__unit-grid > article,
.homepage-hero,
.page-hero,
.service-page__hero {
transition: opacity .3s ease;
}@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; } :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; } .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%); } .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); } .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; }
.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; } .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__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; }
} .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; } .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); } :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; } .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; } :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-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); } .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; } .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); } :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-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; } .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-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; } .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); } .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%; }
} .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); } .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; } .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; } .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__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 > 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; } .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-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; }
} .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; }
} .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-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)); }
} :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; }
} .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 { 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; }
} .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; } .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; } .site-main :is(h1, h2, h3, h4, h5, h6) {
max-width: none !important;
white-space: normal !important;
} .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; }
} .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%); }
.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 > 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); }
.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-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%; }
} .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; }
} .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); }
} .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-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; }
} .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; }
} .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; } :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);
} .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);
} .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-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;
} .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;
} :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; }
} .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-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-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;
}
} .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-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-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;
} .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;
}
} .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;
} .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;
}  .service-card { border: none !important; } .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;
} .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__card,
.short-term-insurance__card:nth-child(2n) {
border: none !important;
border-radius: 0 !important;
} .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);
}:root {
--header-height: 5.125rem;
--header-height-compact: 4.625rem;
--nav-breakpoint: 74rem;
--nav-panel-radius: .5rem;
--nav-panel-shadow: 0 1.25rem 3.25rem rgb(11 58 91 / 16%), 0 .25rem .75rem rgb(11 58 91 / 7%);
--nav-item-height: 2.75rem;
--mobile-nav-header-height: 4.75rem;
}
.topbar { position: relative; z-index: var(--z-header); border: 0; background: var(--rugare-navy); color: rgb(255 255 255 / 86%); }
.topbar__inner, .site-header__inner, .site-search-panel__inner { width: min(100% - (2 * var(--gutter)), 96rem); margin-inline: auto; }
.topbar__inner { display: flex; min-height: 2.25rem; align-items: center; justify-content: space-between; gap: 1.5rem; }
.topbar__context { display: flex; min-width: 0; align-items: center; gap: .85rem; white-space: nowrap; }
.topbar__status-message { display: flex; align-items: center; gap: .5rem; margin: 0; color: var(--rugare-white); font-size: .8125rem; }
.topbar__status-message strong { font-size: inherit; font-weight: 600; }
.topbar__status { width: .4375rem; height: .4375rem; flex: 0 0 auto; border: 0; border-radius: 50%; background: var(--rugare-health-green); box-shadow: none; }
.topbar__location { padding-left: .85rem; border-left: 1px solid rgb(255 255 255 / 20%); color: rgb(255 255 255 / 84%); font-size: .8125rem; font-weight: 500 !important; text-decoration: none; }
.topbar__location:hover, .topbar__location:focus-visible { color: var(--rugare-white); text-decoration: underline; text-underline-offset: .2rem; }
.topbar__links { display: flex; align-items: center; gap: 0; padding: 0; margin: 0; list-style: none; }
.topbar__links li { display: flex; align-items: center; }
.topbar__links li + li { padding-left: .8rem; border-left: 1px solid rgb(255 255 255 / 18%); margin-left: .8rem; }
.topbar__links a { display: inline-flex; min-height: 2rem; align-items: center; gap: .35rem; color: rgb(255 255 255 / 86%); font-size: .8125rem; font-weight: 500 !important; text-decoration: none; white-space: nowrap; }
.topbar__links a:hover, .topbar__links a:focus-visible { color: var(--rugare-white); text-decoration: underline; text-underline-offset: .2rem; }
.topbar :is(a):focus-visible { border-radius: .125rem; outline: 2px solid var(--rugare-white); outline-offset: 2px; }
.topbar__links .icon { width: .8rem; height: .8rem; color: inherit; }
.topbar__mobile-label { display: none; }
.site-header { position: sticky; z-index: var(--z-header); top: 0; border-bottom: 1px solid var(--line); background: rgb(255 255 255 / 98%); box-shadow: 0 .2rem .8rem rgb(11 58 91 / 5%); backdrop-filter: blur(14px) saturate(145%); transition: box-shadow .18s ease, background-color .18s ease; }
.site-header.is-scrolled { background: rgb(255 255 255 / 99%); box-shadow: 0 .75rem 2rem rgb(11 58 91 / 11%); }
.site-header__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; min-height: var(--header-height); align-items: center; gap: clamp(.7rem, 1.15vw, 1.15rem); transition: min-height .18s ease; }
.site-header.is-scrolled .site-header__inner { min-height: var(--header-height-compact); }
.brand { display: block; width: clamp(11.25rem, 12vw, 12.8125rem); flex: 0 0 auto; }
.brand picture, .brand__logo { display: block; width: 100%; height: auto; }
.brand__logo { aspect-ratio: 1660 / 620; object-fit: contain; }
.site-header.is-scrolled .brand { width: clamp(10.75rem, 11.5vw, 12rem); }
.primary-navigation { align-self: stretch; justify-self: end; }
.mobile-navigation__intro { display: none; }
.primary-menu { display: flex; height: 100%; align-items: stretch; gap: clamp(0, .18vw, .16rem); padding: 0; margin: 0; list-style: none; }
.primary-menu > li { position: relative; display: flex; align-items: stretch; }
.primary-menu > li > :is(a, .submenu-toggle) { position: relative; display: inline-flex; min-height: 100%; align-items: center; justify-content: center; gap: .45rem; padding: .55rem clamp(.42rem, .48vw, .68rem); border: 0; border-radius: 0; background: transparent; color: var(--ink); font-size: .9375rem; font-weight: 600 !important; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer; }
.primary-menu > li > :is(a, .submenu-toggle)::after { position: absolute; right: .55rem; bottom: 0; left: .55rem; height: 3px; background: transparent; content: ''; transform: scaleX(.45); transition: background-color .16s ease, transform .16s ease; }
.primary-menu > li > :is(a, .submenu-toggle):hover, .primary-menu > li > :is(a, .submenu-toggle):focus-visible { background: transparent; color: var(--theme-blue-text); }
.primary-menu > li > :is(a, .submenu-toggle):hover::after { background: rgb(16 118 184 / 34%); transform: scaleX(1); }
.primary-menu > li.is-open > .submenu-toggle { color: var(--theme-blue-text); }
.primary-menu > li.is-open > .submenu-toggle::after { background: var(--rugare-health-green); transform: scaleX(1); }
.primary-menu > li > [aria-current='page'], .primary-menu > li.is-current > .submenu-toggle, .primary-menu > li:has(.nav-panel [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(.nav-panel [aria-current='page']) > .submenu-toggle::after { background: var(--rugare-health-green); transform: scaleX(1); }
.primary-menu > .nav-group--linked > .nav-group__overview { padding-right: .25rem; }
.primary-menu > .nav-group--linked > .submenu-toggle--split { min-width: 2.25rem; min-height: 2.5rem; align-self: center; justify-content: center; padding: 0; border-radius: .25rem; margin-left: .05rem; }
.primary-menu > .nav-group--linked > .submenu-toggle--split::after { display: none; }
.primary-menu > .nav-group--linked > .submenu-toggle--split:hover,
.primary-menu > .nav-group--linked > .submenu-toggle--split:focus-visible,
.primary-menu > .nav-group--linked.is-open > .submenu-toggle--split { background: var(--color-blue-surface); color: var(--theme-blue-text); }
.primary-menu > .nav-group--linked.is-current > .nav-group__overview,
.primary-menu > .nav-group--linked:has(.nav-panel [aria-current='page']) > .nav-group__overview { color: var(--theme-blue-text); }
.primary-menu > .nav-group--linked.is-current > .nav-group__overview::after,
.primary-menu > .nav-group--linked:has(.nav-panel [aria-current='page']) > .nav-group__overview::after { right: 0; background: var(--rugare-health-green); transform: scaleX(1); }
.primary-menu > .nav-group--linked.is-open > .nav-group__overview { color: var(--theme-blue-text); }
.submenu-toggle__icon { width: .42rem; height: .42rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-.12rem) rotate(45deg); transition: transform .16s ease; }
.nav-group.is-open > .submenu-toggle .submenu-toggle__icon, .mobile-more-toggle[aria-expanded='true'] .submenu-toggle__icon { transform: translateY(.1rem) rotate(225deg); }
.primary-menu .nav-panel { position: absolute; top: calc(100% + .375rem); right: auto; left: 0; display: none; width: 20rem; max-width: calc(100vw - 2rem); max-height: min(74vh, 38rem); overflow-x: hidden; overflow-y: auto; padding: .5rem !important; border: 1px solid rgb(11 58 91 / 14%); border-top: 3px solid var(--rugare-health-green); border-radius: var(--nav-panel-radius); background: var(--surface); box-shadow: var(--nav-panel-shadow); scrollbar-color: var(--rugare-brand-blue) transparent; scrollbar-width: thin; transform: none; }
.nav-group.is-open > .nav-panel, html:not(.has-navigation-js) .nav-group:focus-within > .nav-panel { display: block !important; }
.nav-group--services .nav-panel, .nav-group--insurance .nav-panel { width: 21.5rem; }
.nav-group--insurance .nav-panel, .nav-group--community .nav-panel, .nav-group--company .nav-panel { right: 0; left: auto; }
.nav-panel::before { display: none; }
.nav-panel__grid, .nav-panel--compact .nav-panel__grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.nav-panel__section h3 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .55rem; color: var(--muted); font-family: var(--font-body); font-size: .75rem; font-weight: 700; letter-spacing: .09em; line-height: 1.3; text-transform: uppercase; }
.nav-panel__section h3::before { width: 1rem; height: 2px; flex: 0 0 auto; background: var(--rugare-health-green); content: ''; }
.nav-panel__list { display: grid; gap: .125rem; padding: 0; margin: 0; list-style: none; }
.primary-menu .nav-panel li { padding: 0; margin: 0; }
.primary-menu .nav-panel a { display: grid; width: 100%; min-height: var(--nav-item-height); align-content: center; gap: .12rem; padding: .5rem .75rem; border: 0; border-radius: .25rem; color: var(--ink); font-size: .9375rem; font-weight: 600 !important; line-height: 1.3; text-decoration: none; transition: background-color .14s ease, color .14s ease, box-shadow .14s ease, transform .14s ease; }
.primary-menu .nav-panel a::after { display: none; }
.primary-menu .nav-panel a small { color: var(--muted); font-size: .8125rem; font-weight: 400; line-height: 1.35; }
.primary-menu .nav-panel a:hover, .primary-menu .nav-panel a:focus-visible { background: var(--color-blue-surface); color: var(--theme-blue-text); transform: translateX(.125rem); }
.primary-menu .nav-panel a:focus-visible { outline: 2px solid var(--rugare-brand-blue); outline-offset: -2px; }
.primary-menu .nav-panel a[aria-current='page'] { background: var(--color-green-surface); color: var(--ink); box-shadow: inset 3px 0 var(--rugare-health-green); }
.nav-group--services .nav-panel__list > li:last-child { padding-top: .375rem; border-top: 1px solid var(--line); margin-top: .375rem; }
.nav-panel__section--actions .nav-panel__list { display: flex; flex-wrap: wrap; gap: .4rem .8rem; }
.nav-panel__section--actions .nav-panel__list li { flex: 1 1 10rem; }
.primary-menu .nav-panel__item--emphasis a { color: var(--theme-blue-text); }
.primary-menu .nav-panel__item--emphasis a span::after { margin-left: .35rem; content: '\2192'; }
.mobile-more-toggle, .mobile-navigation-actions { display: none; }
.site-header__actions { display: flex; align-items: center; gap: .4rem; padding: 0; border: 0; border-radius: 0; background: transparent; }
.site-header__action { position: relative; display: inline-flex; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0; border: none; border-radius: 0; background: transparent; text-decoration: none; box-shadow: none; cursor: pointer; transition: color .16s ease, transform .16s ease; }
.site-header__action .icon { width: 1.05rem; height: 1.05rem; }
.site-header__utility--call { border: none; background: transparent; color: var(--rugare-brand-blue); }
.site-header__utility--whatsapp { border: none; background: transparent; color: #128c4a; }
.search-toggle { color: var(--rugare-navy); }
.site-header__action:hover, .site-header__action:focus-visible { border: none; background: transparent; color: var(--theme-blue-text); text-decoration: none; box-shadow: none; transform: translateY(-1px); }
.site-header__utility--whatsapp:hover, .site-header__utility--whatsapp:focus-visible { border: none; background: transparent; color: #08783c; }
.search-toggle[aria-expanded='true'] { border: none; background: transparent; color: var(--rugare-brand-blue); box-shadow: none; }
.site-header__action::after { position: absolute; z-index: 2; top: calc(100% + .55rem); left: 50%; padding: .42rem .62rem; border-radius: .3rem; background: var(--rugare-navy); color: var(--rugare-white); content: attr(data-tooltip); font-size: .75rem; font-weight: 650; letter-spacing: .01em; opacity: 0; pointer-events: none; transform: translate(-50%, -.15rem); transition: opacity .14s ease, transform .14s ease; white-space: nowrap; }
.site-header__action:hover::after, .site-header__action:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.site-header__appointment { min-height: 2.875rem; padding-inline: 1rem; border-radius: .25rem; font-size: .9375rem; white-space: nowrap; }
.menu-toggle { display: none; width: 3rem; min-width: 3rem; height: 3rem; min-height: 3rem; align-items: center; justify-content: center; padding: .7rem; border: none; background: transparent; color: var(--rugare-navy); cursor: pointer; }
.menu-toggle[aria-expanded='true'] { border: none; background: transparent; box-shadow: none; }
.menu-toggle:focus-visible, .site-header__action:focus-visible { outline: 3px solid var(--rugare-navy); outline-offset: 3px; }
.site-search-panel { position: absolute; top: 100%; right: 0; left: 0; border-block: 1px solid var(--line); background: rgb(244 250 253 / 99%); box-shadow: 0 1rem 2.5rem rgb(11 58 91 / 10%); }
.site-search-panel__inner { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); gap: 1.5rem; align-items: center; padding-block: 1.2rem; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 73.999rem) {
.site-header__inner { grid-template-columns: minmax(0, 1fr) auto auto; min-height: var(--mobile-nav-header-height); gap: .55rem; }
.site-header.is-scrolled .site-header__inner { min-height: 4.5rem; }
.brand, .site-header.is-scrolled .brand { width: clamp(8rem, 21vw, 10rem); }
.site-header__actions { grid-column: 2; }
.site-header__appointment { display: none; }
.menu-toggle { display: inline-flex; grid-column: 3; }
html.has-navigation-js .primary-navigation { position: absolute; z-index: var(--z-navigation); top: 100%; right: 0; left: 0; display: block; width: 100%; height: auto; max-height: calc(100dvh - 7.65rem); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: .8rem var(--gutter) max(1.25rem, env(safe-area-inset-bottom)); border: 0; border-top: 1px solid var(--line); background: var(--surface); box-shadow: 0 1.5rem 3rem rgb(11 58 91 / 20%); opacity: 0; pointer-events: none; transform: translateY(-.25rem); 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); transition-delay: 0s; visibility: visible; }
.mobile-navigation__intro { display: grid; gap: .1rem; padding: .25rem .45rem .9rem; border-bottom: 1px solid var(--line); margin-bottom: .15rem; }
.mobile-navigation__intro strong { color: var(--rugare-navy); font-size: 1rem; font-weight: 700; }
.mobile-navigation__intro span { color: var(--muted); font-size: .8125rem; line-height: 1.4; }
.primary-menu { display: block; height: auto; }
.primary-menu > li { display: block; }
.primary-menu > li + li { border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent); }
.primary-menu > li > :is(a, .submenu-toggle) { width: 100%; min-height: 3.25rem; justify-content: space-between; padding: .7rem .45rem; font-size: 1rem; }
.primary-menu > li > :is(a, .submenu-toggle)::after { display: none; }
.primary-menu > .nav-group--linked { position: relative; }
.primary-menu > .nav-group--linked > .nav-group__overview { padding-right: 3.5rem; }
.primary-menu > .nav-group--linked > .submenu-toggle--split { position: absolute; z-index: 2; top: .25rem; right: 0; width: 3rem; min-width: 3rem; min-height: 2.75rem; justify-content: center; padding: 0; border-left: 1px solid var(--line); border-radius: 0; margin: 0; }
.primary-menu .nav-panel { position: static; right: auto; left: auto; width: 100%; max-width: none; max-height: none; padding: .2rem 0 .8rem .7rem !important; overflow: visible; border: 0; border-left: 2px solid var(--rugare-health-green); border-radius: 0; background: transparent; box-shadow: none; transform: none; }
.nav-panel__grid, .nav-group--medical-aid .nav-panel__grid, .nav-group--insurance .nav-panel__grid, .nav-panel--compact .nav-panel__grid { display: grid; grid-template-columns: 1fr; gap: .9rem; }
.nav-panel__section h3 { margin: 0 0 .25rem .55rem; font-size: .75rem; }
.nav-panel__section h3::before { width: .7rem; }
.primary-menu .nav-panel a { min-height: 2.875rem; padding: .55rem .65rem; border-radius: .25rem; font-size: .9375rem; transform: none; }
.nav-group--services .nav-panel__list > li:last-child { padding-top: .25rem; margin-top: .25rem; }
.primary-menu .nav-panel a small { display: none; }
.nav-panel__section--actions .nav-panel__list { display: grid; grid-template-columns: 1fr; gap: .15rem; }
.mobile-more-toggle { display: flex; width: 100%; min-height: 3rem; align-items: center; justify-content: space-between; padding: .55rem; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--theme-blue-text); font-size: .9375rem; font-weight: 700; cursor: pointer; }
html.has-navigation-js .nav-panel__section--mobile-more { display: none; }
html.has-navigation-js .mobile-more-toggle[aria-expanded='true'] + .nav-panel__section--mobile-more { display: block; }
.mobile-navigation-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; padding-top: 1rem; border-top: 1px solid var(--line); margin-top: .75rem; }
.mobile-navigation-actions a { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .45rem; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: .25rem; color: var(--rugare-navy); font-size: .9375rem; font-weight: 700; text-align: center; text-decoration: none; }
.mobile-navigation-actions__appointment { grid-column: 1 / -1; border-color: var(--rugare-brand-blue) !important; color: var(--rugare-white) !important; }
.mobile-navigation-actions .icon { width: 1rem; height: 1rem; }
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 / 48%); content: ''; }
.site-search-panel__inner { grid-template-columns: 1fr; }
}
@media (max-width: 64rem) {
.topbar__inner { align-items: center; padding-block: 0; }
.topbar__links .topbar__item--directions { display: none; }
}
@media (max-width: 55rem) {
.topbar__links .topbar__item--whatsapp { display: none; }
}
@media (max-width: 48rem) {
.topbar__inner { min-height: 2.25rem; justify-content: space-between; gap: .75rem; padding-block: 0; }
.topbar__location, .topbar__links .topbar__item--whatsapp, .topbar__links .topbar__item--directions { display: none; }
.topbar__desktop-label { display: none; }
.topbar__mobile-label { display: inline; }
.topbar__status-message, .topbar__links a { font-size: .8125rem; }
.topbar__links { margin-left: auto; }
.topbar__links li { padding: 0; border: 0; margin: 0; }
.topbar__item--call .icon { display: none; }
.site-header__actions { gap: .3rem; padding: 0; }
.site-header__action { width: 2.75rem; min-width: 2.75rem; height: 2.75rem; }
.site-header__action::after { display: none; }
html.has-navigation-js .primary-navigation { height: auto; max-height: calc(100dvh - 7.65rem); }
}
@media (max-width: 26.875rem) {
:root { --gutter: .75rem; }
.brand, .site-header.is-scrolled .brand { width: 7.25rem; }
.site-header__inner { gap: .25rem; }
}
@media (max-width: 22.5rem) {
.brand, .site-header.is-scrolled .brand { width: 6.25rem; }
.site-header__action { width: 2.625rem; min-width: 2.625rem; height: 2.75rem; }
.menu-toggle { width: 2.75rem; min-width: 2.75rem; }
}
@media (max-width: 782px) {
.admin-bar .site-header { top: 46px; }
}
@media (prefers-reduced-motion: reduce) {
.site-header, .site-header__inner, .site-header__action, .submenu-toggle__icon, .primary-menu .nav-panel a, html.has-navigation-js .primary-navigation { transition: none; }
}.rm-hero {
position: relative;
isolation: isolate;
display: grid !important;
width: 100%;
min-height: clamp(32rem, 62vh, 43rem) !important;
padding: 0 !important;
overflow: hidden;
border: 0 !important;
border-bottom: 3px solid var(--rugare-health-green) !important;
background: var(--rugare-navy);
color: var(--rugare-white);
} .rm-hero > .authentic-media,
.rm-hero > img.page-banner {
position: absolute !important;
z-index: -2;
inset: 0 !important;
display: block !important;
width: 100% !important;
height: 100% !important;
min-height: 100% !important;
margin: 0 !important;
overflow: hidden;
background: #183f58;
}
.rm-hero > .authentic-media picture,
.rm-hero > .authentic-media img,
.rm-hero > img.page-banner {
display: block;
width: 100% !important;
height: 100% !important;
min-height: 100% !important;
object-fit: cover;
filter: none !important;
transform: none !important;
} .rm-hero::before {
position: absolute;
z-index: -1;
inset: 0;
display: block !important;
background:
linear-gradient(180deg, rgb(4 29 46 / 8%) 0%, rgb(4 29 46 / 5%) 45%, rgb(4 29 46 / 38%) 100%),
linear-gradient(90deg, rgb(5 34 53 / 82%) 0%, rgb(7 43 67 / 68%) 34%, rgb(7 43 67 / 22%) 58%, rgb(7 43 67 / 3%) 78%, transparent 100%);
content: '' !important;
pointer-events: none;
}
.rm-hero::after,
.rm-hero > .authentic-media::before,
.rm-hero > .authentic-media::after {
display: none !important;
content: none !important;
}
.rm-hero > .container,
.rm-hero > .container.page-hero__inner,
.rm-hero > .container.contact-page__hero-inner {
position: relative;
z-index: 1;
display: flex !important;
width: min(var(--container), calc(100% - (2 * var(--gutter)))) !important;
max-width: var(--container) !important;
min-height: inherit !important;
align-items: flex-end !important;
grid-area: auto !important;
margin-inline: auto !important;
padding: clamp(4.5rem, 10vh, 7rem) 0 clamp(3.25rem, 7vh, 5rem) !important;
}
.rm-hero :is(.homepage-hero__content, .page-hero__inner, .service-page__hero-copy, .pharmacy-shop-page__hero-copy, .contact-page__hero-copy, .article-hero__inner) {
position: relative;
z-index: 1;
display: block;
width: 100%;
max-width: 46rem !important;
min-height: 0 !important;
padding: 0 !important;
margin: 0 !important;
border: 0 !important;
background: transparent !important;
box-shadow: none !important;
backdrop-filter: none !important;
text-align: left !important;
}
.rm-hero h1 {
max-width: none !important;
margin: 0 !important;
color: var(--rugare-white) !important;
font-size: clamp(2.8rem, 5vw, 4.75rem) !important;
font-weight: 750;
letter-spacing: -.045em;
line-height: .99 !important;
text-shadow: 0 .12rem 1rem rgb(0 0 0 / 24%) !important;
overflow-wrap: normal;
word-break: normal;
hyphens: none;
text-wrap: wrap;
}
.rm-hero :is(.homepage-hero__lead, .about-page__hero-lead, .information-page__hero-copy > p, .service-page__hero-statement, .service-page__introduction, .contact-page__hero-lead, .pharmacy-shop-page__hero-copy > p) {
max-width: 39rem !important;
margin: 1.15rem 0 0 !important;
color: rgb(255 255 255 / 92%) !important;
font-size: clamp(1.0625rem, 1.45vw, 1.25rem) !important;
font-weight: 500;
line-height: 1.55 !important;
text-shadow: 0 .1rem .65rem rgb(0 0 0 / 32%) !important;
text-wrap: pretty;
}
.rm-hero :is(.eyebrow, .service-page__hero-eyebrow, .contact-page__hero-eyebrow, .pharmacy-shop-page__eyebrow, .badge) {
margin: 0 0 1rem !important;
color: #b7e579 !important;
font-size: .8125rem;
font-weight: 750;
letter-spacing: .11em;
text-shadow: 0 .1rem .5rem rgb(0 0 0 / 30%);
text-transform: uppercase;
}
.rm-hero .eyebrow > span {
background: #b7e579 !important;
}
.rm-hero :is(.homepage-hero__actions, .about-page__hero-actions, .information-page__hero-actions, .service-page__actions, .contact-page__hero-actions, .pharmacy-shop-page__hero-actions, .services-overview__hero-actions) {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: .75rem 1rem;
margin-top: 1.75rem !important;
}
.rm-hero .button--primary {
border-color: var(--rugare-white) !important;
background: var(--rugare-white) !important;
color: var(--rugare-navy) !important;
}
.rm-hero .button--primary:hover,
.rm-hero .button--primary:focus-visible {
border-color: var(--rugare-health-green) !important;
background: var(--rugare-health-green) !important;
color: var(--rugare-navy) !important;
}
.rm-hero .button--outline {
border-color: rgb(255 255 255 / 72%) !important;
background: rgb(5 34 53 / 22%) !important;
color: var(--rugare-white) !important;
backdrop-filter: blur(4px);
}
.rm-hero .button--outline:hover,
.rm-hero .button--outline:focus-visible {
border-color: var(--rugare-white) !important;
background: var(--rugare-white) !important;
color: var(--rugare-navy) !important;
}
.rm-hero__text-link {
display: inline-flex;
min-height: 2.75rem;
align-items: center;
gap: .6rem;
color: var(--rugare-white) !important;
font-weight: 750;
text-decoration-color: rgb(255 255 255 / 58%);
text-underline-offset: .25rem;
}
.rm-hero__text-link:hover,
.rm-hero__text-link:focus-visible {
color: var(--rugare-white) !important;
text-decoration-thickness: .12rem;
}
.rm-hero__text-link span,
.rm-hero .service-page__hero-location .icon {
color: #b7e579 !important;
}
.rm-hero .service-page__hero-location {
color: rgb(255 255 255 / 90%) !important;
}
.rm-hero .service-page__hero-availability {
display: grid;
max-width: 42rem;
grid-template-columns: 2.75rem minmax(0, 1fr);
gap: .8rem;
align-items: center;
padding: .8rem 1rem;
border: 1px solid rgb(255 255 255 / 22%);
border-left: 3px solid #8dc63f;
border-radius: .35rem;
margin-top: 1.25rem;
background: rgb(7 39 61 / 34%);
backdrop-filter: blur(8px);
}
.rm-hero .service-page__hero-availability-icon {
display: grid;
width: 2.75rem;
height: 2.75rem;
place-items: center;
color: #b7e579;
}
.rm-hero .service-page__hero-availability-icon svg {
width: 2rem;
height: 2rem;
fill: none;
stroke: currentColor;
stroke-width: 2;
}
.rm-hero .service-page__hero-availability p { margin: 0; color: rgb(255 255 255 / 84%); font-size: .875rem; line-height: 1.5; }
.rm-hero .service-page__hero-availability strong { display: block; margin-bottom: .1rem; color: var(--rugare-white); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rm-hero .service-page__hero-availability p > span { display: block; } .information-page--gallery .rm-hero { min-height: clamp(31rem, 58vh, 39rem) !important; }
.information-page--gallery .rm-hero > .authentic-media img { object-position: center 47% !important; }
.information-page--gallery .rm-hero::before {
background:
linear-gradient(180deg, rgb(4 29 46 / 3%) 0%, rgb(4 29 46 / 5%) 55%, rgb(4 29 46 / 38%) 100%),
linear-gradient(90deg, rgb(5 34 53 / 78%) 0%, rgb(7 43 67 / 56%) 31%, rgb(7 43 67 / 16%) 61%, transparent 82%);
}
.information-page--gallery .information-page__hero-copy { max-width: 41rem !important; }
.information-page--gallery .information-page__hero-copy > p:last-child { max-width: 37rem !important; } .rm-hero .service-page__hero-facts {
display: none !important;
}
.rm-hero.about-page__hero .about-page__hero-trust {
display: flex;
flex-wrap: wrap;
gap: .65rem 1.25rem;
margin: 1.5rem 0 0;
padding: 1rem 0 0;
border-top: 1px solid rgb(255 255 255 / 30%);
color: var(--rugare-white);
} .rm-hero--home {
min-height: clamp(37rem, 72vh, 49rem) !important;
}
.rm-hero--home .homepage-hero__location {
display: none;
}
.rm-hero--home .homepage-hero__media img {
object-position: center 42% !important;
} .service-page--dialysis .rm-hero img { object-position: 62% center !important; }
.service-page--pharmacy .rm-hero img { object-position: 66% center !important; }
.service-page--gp .rm-hero img { object-position: 72% center !important; }
.service-page--homecare .rm-hero img { object-position: 72% center !important; }
.service-page--dentist .rm-hero img { object-position: 68% center !important; }
.service-page--physician .rm-hero img { object-position: 68% center !important; }
.service-page--diagnostic-laboratory .rm-hero img { object-position: 60% 26% !important; }
.service-page--ambulance-service .rm-hero img { object-position: 65% center !important; }
.services-overview__hero img { object-position: 66% center !important; }
.about-page__hero img { object-position: 68% center !important; } .rm-hero--utility:not(:has(> .authentic-media)):not(:has(> img.page-banner)) {
min-height: clamp(20rem, 38vh, 27rem) !important;
background:
radial-gradient(circle at 82% 18%, rgb(141 198 63 / 18%) 0 8rem, transparent 8.1rem),
linear-gradient(118deg, #082f4a 0%, #0b3a5b 58%, #0f6c9f 100%);
}
.rm-hero--utility:not(:has(> .authentic-media)):not(:has(> img.page-banner))::before {
background: linear-gradient(90deg, rgb(4 29 46 / 32%), transparent 72%);
}
.not-found.rm-hero--utility > .not-found__inner {
position: relative;
z-index: 1;
width: min(var(--container), calc(100% - (2 * var(--gutter))));
margin-inline: auto;
padding-block: clamp(4rem, 8vw, 6rem);
}
@media (max-width: 47.9375rem) {
.rm-hero .service-page__hero-availability { grid-template-columns: 2.5rem minmax(0, 1fr); padding: .75rem .8rem; margin-top: 1rem; backdrop-filter: none; }
.rm-hero .service-page__hero-availability-icon { width: 2.5rem; height: 2.5rem; }
.rm-hero,
.rm-hero--home {
min-height: clamp(32rem, 78vh, 40rem) !important;
}
.rm-hero::before {
background:
linear-gradient(180deg, rgb(4 29 46 / 4%) 0%, rgb(4 29 46 / 16%) 34%, rgb(4 29 46 / 72%) 68%, rgb(4 29 46 / 92%) 100%),
linear-gradient(90deg, rgb(5 34 53 / 28%), rgb(5 34 53 / 3%) 72%);
}
.information-page--gallery .rm-hero > .authentic-media img { object-position: 51% center !important; }
.information-page--gallery .rm-hero::before {
background:
linear-gradient(180deg, rgb(4 29 46 / 5%) 0%, rgb(4 29 46 / 15%) 38%, rgb(4 29 46 / 78%) 72%, rgb(4 29 46 / 94%) 100%);
}
.rm-hero > .container,
.rm-hero > .container.page-hero__inner,
.rm-hero > .container.contact-page__hero-inner {
width: calc(100% - (2 * var(--gutter))) !important;
align-items: flex-end !important;
grid-area: auto !important;
padding: 7rem 0 2.5rem !important;
background: transparent !important;
}
.rm-hero h1 {
max-width: none !important;
font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
line-height: 1.02 !important;
}
.rm-hero :is(.homepage-hero__lead, .about-page__hero-lead, .information-page__hero-copy > p, .service-page__hero-statement, .service-page__introduction, .contact-page__hero-lead, .pharmacy-shop-page__hero-copy > p) {
font-size: 1.0625rem !important;
line-height: 1.52 !important;
}
.rm-hero :is(.homepage-hero__actions, .about-page__hero-actions, .information-page__hero-actions, .service-page__actions, .contact-page__hero-actions, .pharmacy-shop-page__hero-actions, .services-overview__hero-actions) {
display: flex;
align-items: flex-start;
flex-direction: column;
}
.rm-hero :is(.homepage-hero__actions, .about-page__hero-actions, .information-page__hero-actions, .service-page__actions, .contact-page__hero-actions, .pharmacy-shop-page__hero-actions, .services-overview__hero-actions) .button {
width: auto !important;
}
.rm-hero.about-page__hero {
padding: 0 !important;
}
.rm-hero.about-page__hero .about-page__hero-trust {
display: none;
}
.rm-hero--utility:not(:has(> .authentic-media)):not(:has(> img.page-banner)) {
min-height: 22rem !important;
}
}
@media (prefers-reduced-motion: reduce) {
.rm-hero *,
.rm-hero *::before,
.rm-hero *::after {
transition: none !important;
animation: none !important;
}
} :is(.service-page, .information-page--corporate-health) .rm-hero {
min-height: clamp(32rem, 58vh, 40rem) !important;
}
:is(.service-page, .information-page--corporate-health) .rm-hero::before {
background: rgb(4 29 46 / 52%);
}
:is(.service-page, .information-page--corporate-health) .rm-hero h1 {
max-width: 17ch !important;
font-size: clamp(3rem, 4.5vw, 4rem) !important;
line-height: 1.02 !important;
text-wrap: pretty;
}
:is(.service-page, .information-page--corporate-health) .rm-hero .button {
min-height: 3rem;
}
:is(.service-page, .information-page--corporate-health) .rm-hero .button--outline,
:is(.service-page, .information-page--corporate-health) .rm-hero .service-page__hero-availability {
backdrop-filter: none;
}
:is(.service-page, .information-page--corporate-health) .rm-hero .service-page__hero-availability {
border-radius: .5rem;
background: rgb(4 29 46 / 64%);
}
@media (max-width: 47.9375rem) {
:is(.service-page, .information-page--corporate-health) .rm-hero {
min-height: clamp(31rem, 72vh, 37rem) !important;
}
:is(.service-page, .information-page--corporate-health) .rm-hero::before {
background: rgb(4 29 46 / 60%);
}
:is(.service-page, .information-page--corporate-health) .rm-hero h1 {
font-size: clamp(2.125rem, 10vw, 2.625rem) !important;
line-height: 1.06 !important;
}
:is(.service-page, .information-page--corporate-health) .rm-hero :is(.service-page__actions, .information-page__hero-actions) {
width: min(100%, 22rem);
align-items: stretch;
}
:is(.service-page, .information-page--corporate-health) .rm-hero :is(.service-page__actions, .information-page__hero-actions) .button {
width: 100% !important;
}
}