/*
Theme Name: A2Z Premium
Theme URI: https://a2zdental.com.au
Author: A2ZDental
Description: Premium mobile-first WordPress theme for A2ZDental.
Version: 0.1.0
Requires at least: 6.8
Requires PHP: 8.3
Text Domain: a2z-premium
*/

:root {
  --a2z-blue: #1737a6;
  --a2z-blue-dark: #102b83;
  --a2z-gold: #f5c21a;
  --a2z-navy: #0b1f4d;
  --a2z-white: #fff;
  --a2z-grey: #f5f7fa;
  --a2z-charcoal: #243040;
  --a2z-muted: #536174;
  --a2z-border: #dce2ea;
  --a2z-space-2xs: .5rem;
  --a2z-space-xs: .75rem;
  --a2z-space-sm: 1rem;
  --a2z-space-md: 1.5rem;
  --a2z-space-lg: 2.25rem;
  --a2z-space-xl: 3.5rem;
  --a2z-space-2xl: 5.5rem;
  --a2z-radius: 0.5rem;
  --a2z-shadow: 0 8px 30px rgb(11 31 77 / 8%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--a2z-white); color: var(--a2z-charcoal); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
img { display: block; height: auto; max-width: 100%; }
h1, h2, h3, h4, h5, h6, p, a, label, summary { overflow-wrap: normal; word-break: normal; hyphens: none; }
a { color: var(--a2z-blue); text-underline-offset: .16em; }
a:hover { color: var(--a2z-blue-dark); }
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--a2z-gold); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .65em; color: var(--a2z-navy); font-weight: 700; letter-spacing: -.025em; line-height: 1.16; }
h1 { font-size: clamp(2.35rem, 6vw, 4.25rem); }
h2 { font-size: clamp(1.85rem, 4vw, 2.7rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
p { margin: 0 0 1.2rem; }

.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .75rem 1rem; background: var(--a2z-navy); color: var(--a2z-white); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.a2z-container { width: min(100% - 2.5rem, 1200px); margin-inline: auto; }
.a2z-container--narrow { width: min(100% - 2.5rem, 760px); }

.site-header { position: relative; z-index: 20; background: var(--a2z-white); border-bottom: 1px solid var(--a2z-border); }
.site-header__inner { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: 1rem; }
.site-branding { display: flex; align-items: center; min-width: 0; }
.custom-logo-link { display: block; line-height: 0; }
.custom-logo { display: block; width: clamp(9.5rem, 23vw, 14.5rem); height: auto; max-height: 4rem; object-fit: contain; }
.site-branding__image-fallback { color: var(--a2z-navy); font-family: var(--a2z-serif); font-size: 1.45rem; font-weight: 700; line-height: 1.1; white-space: nowrap; }
.site-branding__wordmark, .site-footer__wordmark { color: var(--a2z-navy); font-size: 1.5rem; font-weight: 800; letter-spacing: -.06em; line-height: 1; text-decoration: none; white-space: nowrap; }
.site-branding__a2z, .site-footer__wordmark span { color: var(--a2z-blue); }
.site-branding__dental { color: var(--a2z-navy); }
.menu-toggle { display: inline-flex; align-items: center; gap: .6rem; padding: .6rem .25rem .6rem .75rem; border: 0; background: transparent; color: var(--a2z-navy); cursor: pointer; font: inherit; font-weight: 700; }
.menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after { display: block; width: 1.25rem; height: 2px; background: currentColor; border-radius: 2px; content: ""; transition: transform .2s ease, opacity .2s ease; }
.menu-toggle__icon { position: relative; }
.menu-toggle__icon::before { position: absolute; top: -.38rem; }
.menu-toggle__icon::after { position: absolute; top: .38rem; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { transform: translateY(.38rem) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after { transform: translateY(-.38rem) rotate(-45deg); }
.primary-navigation { display: none; position: absolute; top: calc(100% + 1px); right: 0; left: 0; padding: 1rem 1.25rem 1.5rem; background: var(--a2z-white); border-bottom: 1px solid var(--a2z-border); box-shadow: var(--a2z-shadow); }
.primary-navigation.is-open { display: block; }
.primary-navigation__list, .footer-navigation__list { margin: 0; padding: 0; list-style: none; }
.primary-navigation__list { display: grid; gap: .15rem; }
.primary-navigation .sub-menu { display: grid; gap: .15rem; margin: 0 0 0 1rem; padding: 0; list-style: none; }
.primary-navigation a { display: block; padding: .75rem 0; color: var(--a2z-navy); font-weight: 650; text-decoration: none; }
.primary-navigation .current-menu-item > a, .primary-navigation a:hover { color: var(--a2z-blue); }

.site-main { min-height: 50vh; }
.entry-header { padding-top: clamp(3rem, 8vw, 6rem); }
.entry-content > * { margin-right: auto; margin-left: auto; max-width: 760px; }
.entry-content > .alignwide { max-width: 1200px; }
.entry-content > .alignfull { max-width: none; }
.entry-content > .wp-block-cover.alignfull { padding-right: max(1.25rem, calc((100vw - 1200px) / 2)); padding-left: max(1.25rem, calc((100vw - 1200px) / 2)); }
.entry-content > :first-child:not(.alignfull) { margin-top: clamp(3rem, 8vw, 6rem); }
.entry-content > :last-child { margin-bottom: clamp(3rem, 8vw, 6rem); }
.a2z-empty-state { padding-block: clamp(4rem, 10vw, 8rem); }

/* Gutenberg homepage building blocks: add these classes in the block sidebar. */
.a2z-hero { display: grid; align-items: center; min-height: clamp(29rem, 65vw, 42rem); padding-block: var(--a2z-space-2xl); background: var(--a2z-grey); }
.a2z-hero > * { width: min(100% - 2.5rem, 1200px); margin-inline: auto; }
.a2z-hero__content { max-width: 43rem; }
.a2z-hero__eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: var(--a2z-space-md); color: var(--a2z-blue); font-size: .8125rem; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.a2z-hero__eyebrow::before { width: 2rem; height: 3px; background: var(--a2z-gold); content: ""; }
.a2z-hero__actions { display: flex; flex-wrap: wrap; gap: var(--a2z-space-sm); margin-top: var(--a2z-space-lg); }

.wp-block-button__link, .a2z-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.2rem; border: 2px solid var(--a2z-blue); border-radius: var(--a2z-radius); background: var(--a2z-blue); color: var(--a2z-white); font-size: 1rem; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.wp-block-button__link:hover, .a2z-button:hover { border-color: var(--a2z-blue-dark); background: var(--a2z-blue-dark); color: var(--a2z-white); }
.is-style-outline > .wp-block-button__link, .a2z-button--secondary { background: transparent; color: var(--a2z-blue); }
.is-style-outline > .wp-block-button__link:hover, .a2z-button--secondary:hover { background: var(--a2z-grey); color: var(--a2z-blue-dark); }
.a2z-button--gold { border-color: var(--a2z-gold); background: var(--a2z-gold); color: var(--a2z-navy); }
.a2z-button--gold:hover { border-color: #e4ad06; background: #e4ad06; color: var(--a2z-navy); }

.a2z-grid { display: grid; gap: clamp(1rem, 3vw, 2rem); }
.a2z-grid--two, .a2z-grid--three { grid-template-columns: 1fr; }
.a2z-surface { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius); background: var(--a2z-white); }
.a2z-card { height: 100%; padding: clamp(1.5rem, 4vw, 2rem); border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius); background: var(--a2z-white); box-shadow: 0 2px 10px rgb(11 31 77 / 4%); }
.a2z-card > :last-child { margin-bottom: 0; }
.a2z-card .wp-block-heading { margin-bottom: var(--a2z-space-xs); }
.a2z-section { padding-block: clamp(3.5rem, 8vw, 7rem); }
.a2z-section--muted { background: var(--a2z-grey); }
.has-light-grey-background-color { background-color: var(--a2z-grey) !important; }
.has-deep-navy-background-color { color: var(--a2z-white); }
.has-deep-navy-background-color :is(h1, h2, h3, h4, h5, h6) { color: var(--a2z-white); }

.site-footer { padding-top: clamp(2.5rem, 6vw, 4rem); background: var(--a2z-navy); color: #dfe6f6; }
.site-footer__inner { display: grid; gap: 2rem; padding-bottom: 2rem; }
.site-footer__wordmark { color: var(--a2z-white); }
.site-footer__brand p { max-width: 32rem; margin-top: 1rem; margin-bottom: 0; }
.footer-navigation__list { display: grid; gap: .5rem; }
.footer-navigation a { color: var(--a2z-white); }
.site-footer__legal { padding-block: 1.25rem; border-top: 1px solid rgb(255 255 255 / 18%); color: #c8d2e8; font-size: .875rem; }
.site-footer__legal p { margin: 0; }

/* Front-page shell. This is intentionally independent of the Posts page setting. */
.homepage-shell { overflow: hidden; }
.home-hero { position: relative; isolation: isolate; padding-block: clamp(3.5rem, 8vw, 7rem); background: linear-gradient(120deg, #fff 0%, #fff 52%, var(--a2z-grey) 52%, var(--a2z-grey) 100%); }
.home-hero::after { position: absolute; z-index: -1; top: 0; right: 0; width: min(24vw, 22rem); height: .35rem; background: var(--a2z-gold); content: ""; }
.home-hero__grid { display: grid; gap: 2.5rem; align-items: center; }
.home-hero__content { max-width: 42rem; }
.home-eyebrow { display: flex; align-items: center; gap: .65rem; margin-bottom: var(--a2z-space-md); color: var(--a2z-blue); font-size: .75rem; font-weight: 800; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.home-eyebrow::before { width: 2.25rem; height: 3px; background: var(--a2z-gold); content: ""; }
.home-hero h1 { max-width: 14ch; margin-bottom: var(--a2z-space-md); font-size: clamp(2.75rem, 7vw, 5.2rem); letter-spacing: -.045em; }
.home-hero__lead { max-width: 38rem; color: var(--a2z-muted); font-size: clamp(1.0625rem, 2vw, 1.25rem); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--a2z-space-sm); margin-top: var(--a2z-space-lg); }
.home-hero__panel { position: relative; display: grid; min-height: 18rem; overflow: hidden; place-content: center; border-radius: 1rem; background: var(--a2z-navy); box-shadow: var(--a2z-shadow); color: var(--a2z-white); }
.home-hero__arc { position: absolute; width: 21rem; height: 21rem; border: 2.5rem solid var(--a2z-blue); border-radius: 50%; transform: translate(20%, -18%); }
.home-hero__panel-mark { position: relative; color: var(--a2z-gold); font-size: clamp(4rem, 12vw, 7rem); font-weight: 800; letter-spacing: -.1em; line-height: .75; }
.home-hero__panel-label { position: relative; margin-top: .5rem; font-size: 1.4rem; font-weight: 700; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.trust-strip { background: var(--a2z-navy); color: var(--a2z-white); }
.trust-strip__inner { display: grid; gap: .25rem; padding-block: 1.3rem; }
.trust-strip p { display: flex; align-items: center; gap: .7rem; margin: 0; font-size: .875rem; font-weight: 700; }
.trust-strip p::before { width: .45rem; height: .45rem; border-radius: 50%; background: var(--a2z-gold); content: ""; }
.home-section { padding-block: clamp(4rem, 9vw, 8rem); }
.home-section--soft { background: var(--a2z-grey); }
.section-heading { max-width: 45rem; margin-bottom: clamp(2rem, 5vw, 3.75rem); }
.section-heading > p:last-child { max-width: 39rem; color: var(--a2z-muted); }
.service-grid { display: grid; gap: 1rem; }
.service-card { display: flex; min-height: 19rem; flex-direction: column; padding: 1.75rem; border: 1px solid var(--a2z-border); border-radius: .75rem; background: var(--a2z-white); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.service-card:hover { border-color: #b9c8ec; box-shadow: var(--a2z-shadow); transform: translateY(-3px); }
.service-card__number { color: var(--a2z-blue); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.service-card h3 { margin-top: auto; margin-bottom: .75rem; font-size: 1.45rem; }
.service-card p { color: var(--a2z-muted); }
.service-card a { margin-top: auto; color: var(--a2z-blue); font-weight: 750; text-decoration: none; }
.service-card a:hover { text-decoration: underline; }
.split-intro { display: grid; gap: 2rem; align-items: center; }
.split-intro__visual { display: grid; min-height: 16rem; place-items: center; border-radius: .75rem; background: var(--a2z-blue); color: var(--a2z-white); }
.split-intro__visual span { position: relative; font-size: clamp(2.5rem, 8vw, 4.5rem); font-weight: 700; letter-spacing: -.06em; line-height: .85; }
.split-intro__visual span::after { position: absolute; right: -.65rem; bottom: -.8rem; width: 2.5rem; height: .35rem; background: var(--a2z-gold); content: ""; }
.split-intro__content { max-width: 39rem; }
.split-intro__content > p:last-child { color: var(--a2z-muted); }
.technology-intro { display: grid; gap: 2.25rem; align-items: end; }
.technology-intro__content { max-width: 40rem; }
.technology-intro__content > p:last-child { color: var(--a2z-muted); }
.technology-intro__detail { padding: 1.5rem; border-left: 1px solid var(--a2z-border); }
.technology-intro__line { display: block; width: 3rem; height: .3rem; margin-bottom: 1rem; background: var(--a2z-gold); }
.technology-intro__detail p { margin: 0; color: var(--a2z-navy); font-size: 1.2rem; font-weight: 700; line-height: 1.35; }
.booking-cta { padding-block: clamp(4rem, 8vw, 6rem); background: var(--a2z-navy); color: var(--a2z-white); }
.booking-cta__inner { display: grid; gap: 2rem; }
.home-eyebrow--light { color: #d9e2f6; }
.booking-cta h2 { color: var(--a2z-white); }
.booking-cta p:not(.home-eyebrow) { max-width: 37rem; color: #d9e2f6; }
.booking-cta .a2z-button { align-self: start; }
.archive-intro, .service-single__header { padding-block: clamp(4rem, 9vw, 7rem) clamp(2.5rem, 5vw, 4rem); background: var(--a2z-ivory); }
.archive-intro p:last-child, .service-single__summary { max-width: 40rem; color: var(--a2z-muted); font-size: 1.08rem; line-height: 1.75; }
.archive-list { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(4rem, 9vw, 8rem); background: var(--a2z-white); }
.archive-list .team-portraits { max-width: 48rem; }
.service-single__content { padding-bottom: clamp(4rem, 9vw, 8rem); }
.service-hero { overflow: hidden; padding-block: clamp(1.5rem, 4vw, 3rem) clamp(3.5rem, 8vw, 7rem); background: var(--a2z-ivory); }
.service-hero__grid { display: grid; gap: 2rem; align-items: center; }
.service-hero__content { max-width: 43rem; }
.service-hero__content .a2z-direct-answer { background: rgb(255 255 255 / 72%); }
.service-hero__media { overflow: hidden; min-height: 20rem; margin: 0; border-radius: 1rem 1rem 4.5rem 1rem; background: var(--a2z-navy); box-shadow: var(--a2z-shadow-panel); }
.service-hero__media img { width: 100%; height: 100%; min-height: 20rem; object-fit: cover; }
.service-hero__media--fallback { display: grid; place-content: center; gap: .8rem; padding: 2rem; color: var(--a2z-ivory); text-align: center; background: radial-gradient(circle at 24% 22%, rgb(201 163 91 / 42%), transparent 34%), linear-gradient(145deg, #102a42, var(--a2z-navy)); }
.service-hero__media--fallback span { font-family: var(--a2z-display); font-size: clamp(4rem, 12vw, 8rem); letter-spacing: -.08em; line-height: .8; color: var(--a2z-gold); }
.service-hero__media--fallback figcaption { font-size: .9rem; letter-spacing: .12em; text-transform: uppercase; }
.a2z-patient-journey { max-width: 1100px; margin: clamp(3rem, 8vw, 7rem) auto 0; padding: clamp(2rem, 5vw, 4rem); background: var(--a2z-navy); color: var(--a2z-white); }
.a2z-patient-journey__intro { max-width: 42rem; }
.a2z-patient-journey .home-eyebrow { color: #d9e2f6; }
.a2z-patient-journey h2, .a2z-patient-journey h3 { color: var(--a2z-white); }
.a2z-patient-journey ol { display: grid; gap: 1.5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.a2z-patient-journey li { display: grid; grid-template-columns: 1.5rem 1fr; gap: .85rem; }
.a2z-patient-journey li > span { width: .7rem; height: .7rem; margin-top: .55rem; border-radius: 50%; background: var(--a2z-gold); box-shadow: 0 0 0 .42rem rgb(245 194 26 / 15%); }
.a2z-patient-journey h3 { margin: 0 0 .35rem; font-size: 1.4rem; }
.a2z-patient-journey p { margin: 0; color: #d9e2f6; }
.a2z-context-image { overflow: hidden; max-width: 760px; margin: clamp(3rem, 7vw, 5rem) auto 0; border-radius: 1rem; box-shadow: var(--a2z-shadow-soft); }
.a2z-context-image img { display: block; width: 100%; }
.service-single__image { overflow: hidden; border-radius: 1rem; }
.service-single__image img { width: 100%; }
.team-profile { padding-block: clamp(3.5rem, 8vw, 7rem); background: var(--a2z-ivory); }
.team-profile__grid { display: grid; gap: 2.5rem; align-items: center; }
.team-profile__image { overflow: hidden; max-width: 28rem; border-radius: 1rem 1rem 4rem 1rem; box-shadow: var(--a2z-shadow-soft); }
.team-profile__image img { width: 100%; }
.team-profile__content { max-width: 42rem; }
.team-profile__details { display: grid; gap: .25rem; margin: 2rem 0; padding-top: 1.5rem; border-top: 1px solid rgb(11 31 77 / 12%); }
.team-profile__details dt { color: var(--a2z-blue); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.team-profile__details dd { margin: 0 0 1rem; }
.a2z-faqs, .a2z-related-links { max-width: 760px; margin: clamp(3rem, 7vw, 5rem) auto 0; padding-top: clamp(2rem, 5vw, 3rem); border-top: 1px solid var(--a2z-border); }
.a2z-faqs details { padding: 1rem 0; border-bottom: 1px solid var(--a2z-border); }
.a2z-faqs summary { color: var(--a2z-navy); cursor: pointer; font-weight: 750; }
.a2z-faqs details p { margin: 1rem 0 0; color: var(--a2z-muted); }
.a2z-related-links div { display: flex; flex-wrap: wrap; gap: .65rem; }
.a2z-related-links a { padding: .65rem .85rem; border: 1px solid var(--a2z-border); border-radius: 99px; color: var(--a2z-blue); font-size: .9rem; font-weight: 700; text-decoration: none; }
.a2z-related-links a:hover { border-color: var(--a2z-blue); background: var(--a2z-grey); }
.a2z-content-cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.a2z-breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1.5rem; color: var(--a2z-muted); font-size: .82rem; }
.a2z-breadcrumbs a { color: inherit; text-decoration: none; }
.a2z-breadcrumbs a:hover { color: var(--a2z-blue); text-decoration: underline; }
.a2z-direct-answer { margin: 1.75rem 0 0; padding: 1.15rem 1.25rem; border-left: 3px solid var(--a2z-gold); background: var(--a2z-grey); color: var(--a2z-navy); }
.a2z-direct-answer__label { margin: 0 0 .45rem; color: var(--a2z-blue); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.a2z-direct-answer > :last-child { margin-bottom: 0; }
.entry-content > .a2z-implant-journey, .entry-content > .a2z-implant-planning { max-width: none; }
.a2z-implant-journey { margin-top: clamp(3rem, 8vw, 7rem); padding-block: clamp(3.5rem, 8vw, 6rem); background: var(--a2z-navy); color: var(--a2z-white); }
.a2z-implant-journey__heading { max-width: 44rem; }
.a2z-implant-journey__heading h2, .a2z-implant-journey h3 { color: var(--a2z-white); }
.a2z-implant-journey__heading > p:last-child { color: #d9e2f6; font-size: 1.08rem; }
.a2z-implant-journey__steps { display: grid; gap: 1.25rem; margin: clamp(2rem, 5vw, 3.25rem) 0 0; padding: 0; list-style: none; }
.a2z-implant-journey__steps li { display: grid; grid-template-columns: 2.6rem 1fr; gap: .9rem; padding-top: 1.25rem; border-top: 1px solid rgb(255 255 255 / 20%); }
.a2z-implant-journey__steps span { color: var(--a2z-gold); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.a2z-implant-journey__steps h3 { margin: 0 0 .35rem; font-size: 1.2rem; }
.a2z-implant-journey__steps p { margin: 0; color: #d9e2f6; }
.a2z-implant-detail { margin-top: clamp(3.5rem, 8vw, 7rem); }
.a2z-implant-detail__intro { max-width: 42rem; margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.a2z-implant-detail__grid { display: grid; gap: 1rem; }
.a2z-implant-panel { padding: clamp(1.4rem, 4vw, 2rem); border: 1px solid var(--a2z-border); border-radius: 1rem; background: var(--a2z-grey); }
.a2z-implant-panel h3 { font-size: 1.25rem; }
.a2z-implant-panel p { margin: 0; color: var(--a2z-muted); }
.a2z-implant-planning { margin-top: clamp(3.5rem, 8vw, 7rem); padding-block: clamp(3.5rem, 8vw, 6rem); background: #f0eee9; }
.a2z-implant-planning__grid { display: grid; gap: 2rem; align-items: center; }
.a2z-implant-planning__grid > div { max-width: 42rem; }
.a2z-implant-planning__grid > div > p:not(.home-eyebrow) { color: var(--a2z-muted); }
.a2z-implant-planning__media { min-height: 20rem; margin: 0; overflow: hidden; border-radius: 1rem 1rem 4rem 1rem; background: var(--a2z-navy); box-shadow: var(--a2z-shadow); }
.a2z-implant-planning__media img { width: 100%; height: 100%; min-height: 20rem; object-fit: cover; }
.a2z-implant-questions { margin-top: clamp(3.5rem, 8vw, 7rem); }
.a2z-implant-questions > ul { display: grid; gap: .8rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.a2z-implant-questions li { position: relative; padding: .9rem 1rem .9rem 2.25rem; border-bottom: 1px solid var(--a2z-border); color: var(--a2z-muted); }
.a2z-implant-questions li::before { position: absolute; top: 1.15rem; left: .25rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--a2z-gold); content: ""; }
.a2z-clinical-sections, .a2z-sources, .a2z-attribution { max-width: 760px; margin: clamp(2.75rem, 6vw, 4.5rem) auto 0; }
.a2z-clinical-section { padding: 1.35rem 0; border-top: 1px solid var(--a2z-border); }
.a2z-clinical-section h2 { margin: 0 0 .65rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.a2z-clinical-section p { margin: 0; color: var(--a2z-muted); }
.a2z-attribution { padding: 1rem 1.15rem; border: 1px solid var(--a2z-border); background: #fff; color: var(--a2z-muted); font-size: .9rem; }
.a2z-attribution p { margin: 0; }
.a2z-sources { padding-top: 1.75rem; border-top: 1px solid var(--a2z-border); }
.a2z-sources ul { padding-left: 1.2rem; }
.a2z-sources a { color: var(--a2z-blue); }

@media (min-width: 700px) {
  .a2z-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a2z-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__inner { grid-template-columns: minmax(0, 1.5fr) minmax(12rem, 1fr); align-items: start; }
  .home-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr); gap: clamp(2.5rem, 7vw, 7rem); }
  .home-hero__panel { min-height: 27rem; }
  .trust-strip__inner { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .trust-strip p + p { border-left: 1px solid rgb(255 255 255 / 22%); padding-left: 1.25rem; }
  .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .split-intro { grid-template-columns: minmax(16rem, .8fr) minmax(0, 1fr); gap: clamp(2.5rem, 8vw, 8rem); }
  .service-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(20rem, .85fr); gap: clamp(2.5rem, 7vw, 6rem); }
  .service-hero__media, .service-hero__media img { min-height: 32rem; }
  .a2z-patient-journey ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; }
  .a2z-implant-journey__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; }
  .a2z-implant-detail__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .a2z-implant-planning__grid { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: clamp(3rem, 8vw, 7rem); }
  .a2z-implant-planning__media, .a2z-implant-planning__media img { min-height: 31rem; }
  .split-intro__visual { min-height: 25rem; }
  .technology-intro { grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); gap: clamp(2.5rem, 8vw, 8rem); }
  .booking-cta__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
}

@media (min-width: 960px) {
  .site-header__inner { min-height: 5.5rem; }
  .menu-toggle { display: none; }
  .primary-navigation { display: block; position: static; padding: 0; background: transparent; border: 0; box-shadow: none; }
  .primary-navigation__list { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
  .primary-navigation a { padding: 1.25rem 0; }
  .primary-navigation .menu-item-has-children { position: relative; }
  .primary-navigation .sub-menu { display: none; position: absolute; top: calc(100% - .45rem); left: -.9rem; width: max-content; min-width: 13rem; margin: 0; padding: .65rem .9rem; border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius); background: var(--a2z-white); box-shadow: var(--a2z-shadow); }
  .primary-navigation .menu-item-has-children:hover > .sub-menu, .primary-navigation .menu-item-has-children:focus-within > .sub-menu { display: grid; }
  .primary-navigation .sub-menu a { padding: .55rem .2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Privacy-first patient navigator and request flow. */
.patient-context { display: flex; gap: .8rem; align-items: center; justify-content: center; padding: .55rem 1.25rem; background: var(--a2z-navy); color: var(--a2z-white); font-size: .88rem; }
.patient-context a { color: var(--a2z-white); font-weight: 800; }.patient-context button { border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 1.25rem; }
.patient-navigator { padding-block: clamp(3.5rem, 8vw, 6rem); background: var(--a2z-navy); color: #dfe6f6; }.patient-navigator h2, .patient-navigator h3 { color: var(--a2z-white); }.patient-navigator__grid { display: grid; gap: 2rem; }.patient-navigator__tool { padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1rem; background: var(--a2z-white); color: var(--a2z-charcoal); }.patient-navigator label { display: block; margin-bottom: .5rem; color: var(--a2z-navy); font-weight: 800; }.patient-navigator input, .booking-request input, .booking-request select { width: 100%; min-height: 3.15rem; padding: .7rem .8rem; border: 1px solid var(--a2z-border); border-radius: .35rem; background: #fff; color: var(--a2z-charcoal); font: inherit; }.patient-navigator__input-row { display: grid; gap: .65rem; }.patient-navigator__voice { min-width: 3.15rem; border: 1px solid var(--a2z-border); border-radius: .35rem; background: var(--a2z-grey); cursor: pointer; font-size: 1.1rem; }.patient-navigator__help { margin: .75rem 0 0; color: var(--a2z-muted); font-size: .82rem; line-height: 1.45; }.patient-navigator__reflection { margin-top: 1.35rem; padding: 1rem 1.1rem; border-left: 3px solid var(--a2z-gold); background: var(--a2z-grey); }.patient-navigator__reflection h3 { color: var(--a2z-navy); font-size: 1.45rem; }.patient-navigator__reflection p:last-child { margin-bottom: 0; }.patient-navigator__label { color: var(--a2z-blue); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.patient-navigator__routes { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }.patient-navigator__routes a { padding: .6rem .75rem; border: 1px solid var(--a2z-border); border-radius: 99px; color: var(--a2z-blue); font-size: .88rem; font-weight: 750; text-decoration: none; }.patient-navigator__routes a:hover { background: var(--a2z-grey); }.patient-navigator__notice { margin: .9rem 0 0; color: var(--a2z-muted); font-size: .8rem; }
.booking-request { margin: 0 0 3rem; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--a2z-border); border-radius: 1rem; background: var(--a2z-grey); }.booking-request h2 { font-size: clamp(2rem, 4vw, 3rem); }.booking-request form > p { margin-bottom: 1rem; }.booking-request__details { display: grid; gap: 0 1rem; }.a2z-request-success { padding: 1rem; border-left: 3px solid var(--a2z-gold); background: #eff8f1; color: #174d27; }
.patient-stories { padding-block: clamp(4rem, 9vw, 8rem); background: var(--a2z-grey); }.patient-stories__grid { display: grid; gap: 1rem; }.patient-story { overflow: hidden; border-radius: 1rem; background: var(--a2z-white); box-shadow: 0 4px 20px rgb(11 31 77 / 6%); }.patient-story figure { min-height: 15rem; margin: 0; background: var(--a2z-navy); }.patient-story figure img { width: 100%; height: 100%; min-height: 15rem; object-fit: cover; }.patient-story > div { padding: 1.5rem; }.patient-story h3 { font-size: 1.8rem; }.patient-story p { color: var(--a2z-muted); }
@media (min-width: 700px) { .patient-navigator__grid { grid-template-columns: minmax(0, .8fr) minmax(25rem, 1.2fr); gap: clamp(3rem, 8vw, 7rem); align-items: start; }.patient-navigator__input-row { grid-template-columns: 1fr auto auto; }.booking-request__details { grid-template-columns: repeat(3, 1fr); }.patient-stories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Sprint 1 premium visual layer: local placeholders are intentionally easy to replace. */
:root {
  --a2z-ivory: #fbfaf7;
  --a2z-serif: Iowan Old Style, Baskerville, "Times New Roman", Times, serif;
  --a2z-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --a2z-shadow-soft: 0 18px 50px rgb(11 31 77 / 10%);
  --a2z-shadow-panel: 0 28px 70px rgb(11 31 77 / 16%);
}

html { background: var(--a2z-ivory); }
body { background: var(--a2z-ivory); font-family: var(--a2z-sans); letter-spacing: -.008em; }
h1, h2, h3, h4, h5, h6 { font-family: var(--a2z-serif); font-weight: 600; letter-spacing: -.045em; line-height: 1.04; }
h1 { font-size: clamp(3.15rem, 7vw, 6rem); }
h2 { font-size: clamp(2.35rem, 5vw, 4.25rem); }
h3 { font-size: clamp(1.65rem, 2.5vw, 2.5rem); }
.a2z-container { width: min(100% - 2.5rem, 1240px); }

.site-header { border-bottom-color: rgb(11 31 77 / 9%); background: rgb(251 250 247 / 96%); }
.site-header__inner { min-height: 5.25rem; }
.site-branding__wordmark, .site-footer__wordmark { display: inline-flex; align-items: baseline; font-family: var(--a2z-serif); font-size: 1.9rem; font-weight: 600; letter-spacing: -.07em; }
.site-branding__a2z, .site-footer__wordmark span { position: relative; margin-right: .12em; }
.site-branding__a2z::after { position: absolute; bottom: -.18rem; left: .04em; width: 1.55rem; height: 2px; background: var(--a2z-gold); content: ""; }
.primary-navigation a { font-size: .9rem; font-weight: 700; letter-spacing: .015em; }
.site-header__booking { display: none; min-height: 2.7rem; align-items: center; padding: .65rem 1rem; border: 1px solid var(--a2z-blue); border-radius: 99px; background: var(--a2z-blue); color: var(--a2z-white); font-size: .84rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.site-header__booking:hover { background: var(--a2z-navy); color: var(--a2z-white); }
.site-header__phone { display: none; color: var(--a2z-navy); font-size: .84rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.site-header__phone:hover { color: var(--a2z-blue); text-decoration: underline; }
.menu-toggle { min-height: 2.75rem; padding-right: .65rem; border: 1px solid var(--a2z-border); border-radius: 99px; font-size: .85rem; }
.primary-navigation { padding: 1rem 1.25rem 1.5rem; background: var(--a2z-ivory); }
.primary-navigation a { padding-block: .8rem; }

.homepage-shell { background: var(--a2z-ivory); }
.home-hero { padding-block: clamp(3.5rem, 8vw, 7.5rem); background: var(--a2z-ivory); }
.home-hero::after { top: auto; right: auto; bottom: 0; left: 0; width: min(24vw, 17rem); height: .25rem; }
.home-hero__grid { gap: 2.5rem; }
.home-hero__content { position: relative; z-index: 1; }
.home-eyebrow { gap: .75rem; margin-bottom: 1.25rem; font-size: .7rem; letter-spacing: .16em; }
.home-eyebrow::before { width: 1.75rem; height: 2px; }
.home-hero h1 { max-width: 11ch; margin-bottom: 1.25rem; }
.home-hero__lead { max-width: 34rem; font-size: clamp(1.05rem, 1.7vw, 1.2rem); line-height: 1.7; }
.home-hero__reassurance { max-width: 34rem; margin: 1.25rem 0 0; color: var(--a2z-muted); font-size: .88rem; line-height: 1.55; }
.home-hero__media { position: relative; min-height: 24rem; margin: 0; overflow: hidden; border-radius: 1.25rem 1.25rem 1.25rem 4.5rem; box-shadow: var(--a2z-shadow-panel); }
.home-hero__media::after { position: absolute; right: 1.25rem; bottom: 1.25rem; width: 3.5rem; height: 3.5rem; border-right: 2px solid var(--a2z-gold); border-bottom: 2px solid var(--a2z-gold); content: ""; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 66% center; }
.home-hero__panel, .home-hero__arc, .home-hero__panel-mark, .home-hero__panel-label { display: none; }
.a2z-button { min-height: 3.15rem; border-radius: 99px; padding: .8rem 1.35rem; font-size: .92rem; letter-spacing: .01em; }
.a2z-button--secondary { border-color: rgb(23 55 166 / 30%); color: var(--a2z-navy); }
.a2z-button--secondary:hover { border-color: var(--a2z-navy); background: var(--a2z-navy); color: var(--a2z-white); }

.trust-strip { background: var(--a2z-navy); }
.trust-strip__inner { gap: .55rem; padding-block: 1.45rem; }
.trust-strip p { font-size: .79rem; font-weight: 650; letter-spacing: .02em; }
.trust-strip p::before { width: .38rem; height: .38rem; }
.home-pathways { padding-block: clamp(4.5rem, 9vw, 8rem); background: #eeebe5; }
.care-pathways { display: grid; gap: 1rem; }
.care-pathway { display: flex; min-height: 14rem; flex-direction: column; padding: 1.5rem; border: 1px solid rgb(11 31 77 / 11%); border-radius: 1rem; background: var(--a2z-white); color: var(--a2z-navy); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.care-pathway:hover { box-shadow: var(--a2z-shadow-soft); color: var(--a2z-navy); transform: translateY(-3px); }
.care-pathway span { margin-bottom: auto; color: var(--a2z-blue); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.care-pathway strong { max-width: 18rem; font-family: var(--a2z-serif); font-size: 1.45rem; font-weight: 600; letter-spacing: -.03em; line-height: 1.15; }
.care-pathway em { margin-top: 1.25rem; color: var(--a2z-blue); font-size: .84rem; font-style: normal; font-weight: 800; }
.care-pathway--urgent { border-color: #c85b45; }
.care-pathway--urgent:hover { background: var(--a2z-white); color: var(--a2z-navy); }
.care-pathway--urgent span, .care-pathway--urgent em { color: #a34432; }
.home-section { padding-block: clamp(4.5rem, 10vw, 9rem); }
.home-section--services { background: var(--a2z-white); }
.section-heading { max-width: none; }
.section-heading--split { display: grid; gap: 1rem; align-items: end; }
.section-heading--split > p { max-width: 30rem; margin-bottom: 0; color: var(--a2z-muted); line-height: 1.75; }
.service-layout { display: grid; gap: 1rem; }
.service-feature, .service-card { min-height: 0; border: 1px solid rgb(11 31 77 / 10%); border-radius: 1rem; overflow: hidden; box-shadow: none; }
.service-feature { display: grid; background: var(--a2z-navy); color: var(--a2z-white); }
.service-feature__media { min-height: 15rem; overflow: hidden; }
.service-feature__media img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.service-feature__content { display: flex; min-height: 18rem; flex-direction: column; padding: 1.8rem; padding-inline-start: max(1.8rem, env(safe-area-inset-left)); }
.service-card { min-height: 20rem; padding: 1.8rem; }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--a2z-shadow-soft); }
.service-card__eyebrow { margin: 0 0 auto; color: var(--a2z-blue); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.service-feature .service-card__eyebrow { color: #d9e2f6; }
.service-feature h3, .service-card h3 { margin-top: 2.5rem; margin-bottom: .85rem; color: inherit; }
.service-feature p:not(.service-card__eyebrow), .service-card p:not(.service-card__eyebrow) { color: inherit; line-height: 1.7; opacity: .84; }
.service-card--navy { background: var(--a2z-blue); color: var(--a2z-white); }
.service-card--navy .service-card__eyebrow { color: #d9e2f6; }
.service-card--ivory { background: #eeebe5; color: var(--a2z-navy); }
.text-link { margin-top: auto; color: inherit; font-size: .9rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; }
.text-link:hover { color: inherit; text-decoration: underline; }

.anaesthesia-feature { background: var(--a2z-navy); color: #d9e2f6; }
.anaesthesia-feature__grid { display: grid; gap: 2.5rem; align-items: center; }
.anaesthesia-feature__media { min-height: 20rem; margin: 0; overflow: hidden; border-radius: 1rem 1rem 4.5rem 1rem; }
.anaesthesia-feature__media img { width: 100%; height: 100%; min-height: 20rem; object-fit: cover; }
.anaesthesia-feature__content { max-width: 39rem; }
.anaesthesia-feature__content .home-eyebrow { color: #d9e2f6; }
.anaesthesia-feature__content h2 { color: var(--a2z-white); }
.anaesthesia-feature__content > p:not(.home-eyebrow) { line-height: 1.75; }
.anaesthesia-feature__content .text-link { display: inline-block; margin-top: .75rem; color: var(--a2z-gold); }

.home-section--soft { background: #f0eee9; }
.team-intro { display: grid; gap: 2.5rem; align-items: center; }
.team-intro__content { max-width: 34rem; }
.team-intro__content > p:not(.home-eyebrow) { color: var(--a2z-muted); line-height: 1.75; }
.team-intro__note { padding-top: .8rem; border-top: 1px solid rgb(11 31 77 / 14%); font-size: .88rem; }
.team-portraits { position: relative; display: grid; min-height: 22rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: .75rem; }
.team-portrait { position: relative; min-height: 17rem; margin: 0; overflow: hidden; border: 1px solid rgb(11 31 77 / 9%); border-radius: 8rem 8rem 1rem 1rem; background: #d9d4cd; }
.team-portrait::before, .team-portrait::after { display: none; }
.team-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.team-portrait__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.team-portrait__caption { position: absolute; right: .75rem; bottom: .75rem; left: .75rem; padding: .8rem .9rem; background: rgb(7 26 66 / 88%); color: var(--a2z-white); }
.team-portrait__caption h3 { margin: 0; color: var(--a2z-white); font-size: 1.05rem; }
.team-portrait__caption p { margin: .15rem 0 0; color: #dfe6f6; font-size: .8rem; }
.team-portrait__link:hover .team-portrait__caption, .team-portrait__link:focus-visible .team-portrait__caption { background: var(--a2z-blue); }
.team-portrait--one { min-height: 19rem; }
.team-portrait--two { min-height: 22rem; transform: translateY(-1rem); }

.technology-section { background: var(--a2z-white); }
.technology-intro { gap: 2.5rem; align-items: center; }
.technology-intro__media { position: relative; min-height: 25rem; margin: 0; overflow: hidden; border-radius: 1rem 1rem 4.5rem 1rem; box-shadow: var(--a2z-shadow-soft); }
.technology-intro__media::after { position: absolute; top: 1.25rem; left: 1.25rem; width: 3rem; height: 3rem; border-top: 2px solid var(--a2z-gold); border-left: 2px solid var(--a2z-gold); content: ""; }
.technology-intro__media img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.technology-intro__content { max-width: 38rem; }
.technology-intro__content > p:not(.home-eyebrow) { color: var(--a2z-muted); line-height: 1.75; }
.technology-intro__detail { margin-top: 2rem; padding: 1.35rem 0 0; border-top: 1px solid rgb(11 31 77 / 12%); border-left: 0; }
.technology-intro__detail p { max-width: 20rem; font-family: var(--a2z-serif); font-size: 1.45rem; font-weight: 600; letter-spacing: -.03em; }

.booking-cta { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 9vw, 7rem); background: var(--a2z-navy); }
.booking-cta::after { position: absolute; right: -7rem; bottom: -10rem; width: 22rem; height: 22rem; border: 1px solid rgb(245 194 26 / 35%); border-radius: 50%; content: ""; }
.booking-cta h2 { max-width: 12ch; font-size: clamp(2.4rem, 4.5vw, 4rem); }
.booking-cta__inner { position: relative; z-index: 1; }
.booking-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.booking-cta__phone { color: var(--a2z-white); font-size: .92rem; font-weight: 800; }
.booking-cta__phone:hover { color: var(--a2z-gold); }
.site-footer { padding-top: clamp(3.5rem, 7vw, 6rem); background: #071a42; }
.site-footer__wordmark span { color: var(--a2z-white); }
.site-footer__inner { gap: 2.5rem; padding-bottom: 3rem; }
.site-footer__brand p { color: #cbd6ec; font-size: .94rem; }
.site-footer__location { margin-top: 1.35rem !important; color: var(--a2z-gold) !important; font-size: .76rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.site-footer__contact { margin-top: .75rem !important; }
.site-footer__contact a { color: var(--a2z-white); font-weight: 800; text-decoration: none; }
.site-footer__contact a:hover { color: var(--a2z-gold); text-decoration: underline; }
.footer-navigation__title { margin-bottom: .9rem; color: var(--a2z-white); font-family: var(--a2z-serif); font-size: 1.25rem; letter-spacing: -.025em; }
.footer-navigation a { color: #e7edf8; font-size: .9rem; text-decoration: none; }
.footer-navigation a:hover { color: var(--a2z-gold); }
.site-footer__legal { padding-block: 1.5rem; }
.site-footer__logo-link { display: inline-block; max-width: 17rem; padding: .6rem .75rem; border-radius: .5rem; background: var(--a2z-white); line-height: 0; }
.site-footer__logo { display: block; width: min(100%, 15.5rem); height: auto; }
.site-footer__image-fallback { color: var(--a2z-navy); }
.site-footer__image-fallback span { color: var(--a2z-blue); }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: .85rem 1.5rem; align-items: center; justify-content: space-between; }
.site-footer__legal p { margin: 0; }
.site-footer__legal-navigation { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.site-footer__legal-navigation a { color: #e7edf8; font-size: .85rem; text-decoration: none; }
.site-footer__legal-navigation a:hover { color: var(--a2z-gold); text-decoration: underline; }

@media (max-width: 399px) { .custom-logo { width: 8.7rem; max-height: 3.2rem; } .site-header__inner { gap: .5rem; } }

@media (min-width: 700px) {
  .home-hero__grid { grid-template-columns: minmax(0, .94fr) minmax(22rem, 1.06fr); gap: clamp(2.5rem, 7vw, 7rem); }
  .home-hero__media { min-height: 35rem; }
  .section-heading--split { grid-template-columns: minmax(0, 1fr) minmax(18rem, .68fr); gap: 3rem; }
  .service-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-feature { grid-column: span 2; grid-template-columns: 1.05fr .95fr; }
  .service-feature__media { min-height: 100%; }
  .service-feature__content { min-height: 27rem; padding: clamp(2rem, 4vw, 3.5rem); padding-inline-start: clamp(2.5rem, 5vw, 4.5rem); }
  .service-card { min-height: 24rem; padding: clamp(2rem, 3vw, 2.75rem); }
  .team-intro { grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); gap: clamp(3rem, 8vw, 9rem); }
  .team-portraits { min-height: 28rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-portrait { min-height: 24rem; }
  .team-portrait--one { min-height: 27rem; }
  .team-portrait--two { min-height: 31rem; }
  .technology-intro { grid-template-columns: minmax(19rem, .8fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 9rem); }
  .technology-intro__media { min-height: 36rem; }
  .care-pathways { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .care-pathway { min-height: 15rem; padding: 1.8rem; }
  .anaesthesia-feature__grid { grid-template-columns: minmax(20rem, .9fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 8rem); }
  .anaesthesia-feature__media, .anaesthesia-feature__media img { min-height: 31rem; }
  .team-profile__grid { grid-template-columns: minmax(18rem, .75fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 8rem); }
}

/* Keep the team introduction and cards on the same readable content measure. */
.team-page .archive-list > .a2z-container { max-width: 1200px; }
.team-page .team-portraits { width: 100%; max-width: none; margin-top: clamp(2rem, 5vw, 3.5rem); }

@media (min-width: 960px) {
  .site-header { position: sticky; top: 0; backdrop-filter: blur(16px); }
  .site-header__inner { min-height: 6rem; }
  .primary-navigation { margin-left: auto; margin-right: .4rem; }
  .primary-navigation__list { gap: clamp(1.1rem, 2vw, 2.1rem); }
  .primary-navigation a { padding-block: 1.4rem; }
  .site-header__phone { display: inline; }
  .site-header__booking { display: inline-flex; }
  .care-pathways { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* General anaesthetic service: a calm, task-led pathway for high-consideration enquiries. */
.service-single__content > .ga-introduction,
.service-single__content > .ga-preparation,
.service-single__content > .ga-faqs,
.service-single__content > .ga-related-links { max-width: 1240px; }
.service-single__content > .ga-candidacy,
.service-single__content > .ga-journey,
.service-single__content > .ga-access,
.service-single__content > .ga-conversion { max-width: none; }
.ga-introduction { display: grid; gap: 2rem; padding-block: clamp(4rem, 9vw, 8rem); }
.ga-introduction__lead { max-width: 46rem; }
.ga-introduction__lead > p:not(.home-eyebrow), .ga-preparation__copy > p:not(.home-eyebrow) { max-width: 42rem; color: var(--a2z-muted); font-size: 1.06rem; line-height: 1.8; }
.ga-introduction__note { align-self: end; max-width: 25rem; padding: 1.5rem; border-left: 3px solid var(--a2z-gold); background: #f0eee9; }
.ga-introduction__note p:last-child { margin: 0; color: var(--a2z-navy); line-height: 1.7; }
.ga-label, .ga-card__number { margin: 0 0 .75rem; color: var(--a2z-blue); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ga-candidacy { padding-block: clamp(4rem, 9vw, 8rem); background: var(--a2z-white); }
.ga-section-heading { max-width: 44rem; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.ga-candidacy__grid { display: grid; gap: 1rem; }
.ga-card { display: flex; min-height: 20rem; flex-direction: column; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid rgb(11 31 77 / 12%); border-radius: 1rem; background: var(--a2z-ivory); }
.ga-card h3 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
.ga-card ul, .ga-preparation__checklist ul { margin: .25rem 0 0; padding: 0; list-style: none; }
.ga-card li, .ga-preparation__checklist li { position: relative; margin: 0 0 .8rem; padding-left: 1.35rem; color: var(--a2z-muted); line-height: 1.55; }
.ga-card li::before, .ga-preparation__checklist li::before { position: absolute; top: .55rem; left: 0; width: .45rem; height: .45rem; border-radius: 50%; background: var(--a2z-gold); content: ""; }
.ga-card li:last-child, .ga-preparation__checklist li:last-child { margin-bottom: 0; }
.ga-card--blue { border-color: var(--a2z-blue); background: var(--a2z-blue); color: var(--a2z-white); }
.ga-card--blue h3 { color: var(--a2z-white); }
.ga-card--blue .ga-card__number { color: #d9e2f6; }
.ga-card--blue li { color: #edf2fc; }
.ga-card--warm { background: #eeebe5; }
.ga-card--warm > p { color: var(--a2z-muted); line-height: 1.7; }
.ga-card--warm .text-link { margin-top: auto; padding-top: 1.5rem; }
.ga-journey { border-radius: 0; }
.ga-preparation { display: grid; gap: 2.5rem; padding-block: clamp(4rem, 9vw, 8rem); }
.ga-preparation__checklist { padding: clamp(1.5rem, 4vw, 2.25rem); border-top: 3px solid var(--a2z-gold); background: var(--a2z-grey); }
.ga-preparation__checklist h3 { font-size: clamp(1.45rem, 3vw, 2rem); }
.ga-access { padding-block: clamp(3.75rem, 8vw, 7rem); background: #eeebe5; }
.ga-access__grid { display: grid; gap: 1.5rem; align-items: end; }
.ga-access__grid h2 { max-width: 18ch; }
.ga-access__grid > p { max-width: 36rem; margin: 0; color: var(--a2z-muted); font-size: 1.05rem; line-height: 1.8; }
.ga-faqs { padding-block: clamp(4rem, 9vw, 8rem); border: 0; }
.ga-faqs .home-eyebrow { margin-bottom: 1.15rem; }
.ga-faqs h2 { margin-bottom: 2rem; }
.ga-faqs details { padding: 1.15rem 0; }
.ga-faqs summary { display: flex; align-items: start; gap: 1rem; font-size: 1.02rem; line-height: 1.4; }
.ga-faqs summary::before { flex: 0 0 auto; width: .75rem; height: .75rem; margin-top: .25rem; border: 2px solid var(--a2z-blue); border-radius: 50%; content: ""; }
.ga-faqs details[open] summary::before { border-color: var(--a2z-gold); background: var(--a2z-gold); }
.ga-conversion { position: relative; overflow: hidden; padding-block: clamp(4rem, 9vw, 7rem); background: #071a42; color: var(--a2z-white); }
.ga-conversion::after { position: absolute; right: -9rem; bottom: -10rem; width: 25rem; height: 25rem; border: 1px solid rgb(245 194 26 / 35%); border-radius: 50%; content: ""; }
.ga-conversion__inner { position: relative; z-index: 1; display: grid; gap: 2rem; }
.ga-conversion h2 { max-width: 14ch; color: var(--a2z-white); }
.ga-conversion p:not(.home-eyebrow) { max-width: 41rem; color: #d9e2f6; line-height: 1.75; }
.ga-conversion__actions { display: flex; flex-wrap: wrap; gap: .8rem; align-content: center; }
.ga-conversion__actions .a2z-button { width: 100%; }
.ga-conversion__call { border-color: rgb(255 255 255 / 45%); color: var(--a2z-white); }
.ga-conversion__call:hover { border-color: var(--a2z-white); background: var(--a2z-white); color: var(--a2z-navy); }
.ga-conversion__contact { width: 100%; color: #d9e2f6; font-size: .9rem; font-weight: 700; text-align: center; }
.ga-conversion__contact:hover { color: var(--a2z-white); }
.ga-related-links { padding-bottom: clamp(4rem, 9vw, 8rem); }
.ga-related-links h2 { font-size: clamp(2rem, 4vw, 3rem); }

@media (min-width: 700px) {
  .ga-introduction { grid-template-columns: minmax(0, 1fr) minmax(16rem, .5fr); gap: clamp(3rem, 8vw, 7rem); }
  .ga-candidacy__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ga-card { min-height: 26rem; }
  .ga-preparation { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: clamp(3rem, 8vw, 7rem); align-items: center; }
  .ga-access__grid { grid-template-columns: minmax(0, 1fr) minmax(17rem, .75fr); gap: clamp(3rem, 8vw, 7rem); }
  .ga-conversion__inner { grid-template-columns: minmax(0, 1fr) minmax(17rem, .48fr); gap: 4rem; align-items: center; }
}

@media (max-width: 699px) {
  .ga-conversion__actions { margin-top: .25rem; }
  .ga-conversion__actions .a2z-button { min-height: 3.5rem; }
}
/* Kept available to assistive technology only when a user agent elects to expose it; bots should not see it. */
.a2z-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.booking-request input[type="checkbox"] { width: 1.25rem; min-width: 1.25rem; min-height: 1.25rem; margin: .15rem .5rem 0 0; padding: 0; vertical-align: top; }
.booking-request label:has(input[type="checkbox"]) { display: flex; align-items: flex-start; }
.booking-request, .booking-request form, .booking-request form > *, .booking-request label { min-width: 0; max-width: 100%; }
.booking-request input, .booking-request select, .booking-request button { max-width: 100%; }
.regional-hub .entry-content { overflow-x: clip; }

@media (max-width: 699px) {
  h1 { font-size: clamp(2rem, 10vw, 2.6rem); }
}

/* Release-candidate mobile type, sizing and safe-area safeguards. */
html, body { max-width: 100%; overflow-x: clip; }
body { padding-bottom: env(safe-area-inset-bottom, 0px); }
.site-header__inner { padding-top: env(safe-area-inset-top, 0px); }
:is(h1, h2, h3, h4, h5, h6, p, a, label, button, input) { overflow-wrap: normal; word-break: normal; hyphens: none; }
h1 { font-size: clamp(2.125rem, 7vw, 5.25rem); line-height: 1.08; }
h2 { font-size: clamp(1.75rem, 5vw, 3.75rem); line-height: 1.1; }
h3 { font-size: clamp(1.25rem, 3.5vw, 2rem); line-height: 1.18; }
p { max-width: 68ch; font-size: clamp(1rem, 1vw + .72rem, 1.125rem); line-height: 1.65; }
.a2z-container, .a2z-container--narrow { width: min(100% - 2rem, 1240px); }
.home-section, .patient-navigator { padding-block: clamp(3rem, 8vw, 6rem); }
.home-hero__media, .technology-intro__media, .anaesthesia-feature__media, .service-hero__media, .a2z-implant-planning__media { min-height: 0; aspect-ratio: 4 / 3; }
.home-hero__media img, .technology-intro__media img, .anaesthesia-feature__media img, .service-hero__media img, .a2z-implant-planning__media img { min-height: 0; height: 100%; }
.a2z-media { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: var(--a2z-focal, 50% 50%); }
.a2z-media-fallback { display: grid; width: 100%; min-height: inherit; height: 100%; place-items: center; overflow: hidden; background: radial-gradient(circle at 22% 20%, rgb(201 163 91 / 42%), transparent 32%), linear-gradient(145deg, #102a42, var(--a2z-navy)); color: var(--a2z-gold); }
.a2z-media-fallback span { font-family: var(--a2z-serif); font-size: clamp(2rem, 8vw, 5rem); font-weight: 700; letter-spacing: -.08em; }
.care-pathway { overflow: hidden; padding: 0; }
.care-pathway__media { display: block; width: 100%; height: 10rem; min-height: 10rem; margin: 0 !important; overflow: hidden; color: inherit !important; }
.care-pathway > :not(.care-pathway__media) { margin-inline: 1.5rem; }
.care-pathway > span:not(.care-pathway__media) { margin-top: 1.25rem; margin-bottom: .85rem; }
.care-pathway > em { margin-bottom: 1.5rem; }
.care-pathway--urgent .a2z-media-fallback { background: linear-gradient(145deg, #f7ece8, #fff); color: #a34432; }
.page-action-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.practical-page-content { display: grid; gap: var(--a2z-section-standard); padding-block: var(--a2z-section-compact) var(--a2z-section-standard); }
.practical-page-content h2 { margin: 0 0 .75rem; font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.practical-steps { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; counter-reset: practical-step; }
.practical-steps li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .65rem; align-items: start; padding: 1rem; border: 1px solid var(--a2z-border); border-radius: .75rem; background: var(--a2z-white); }
.practical-steps li::before { counter-increment: practical-step; content: '0' counter(practical-step); color: var(--a2z-blue); font-weight: 800; }
.practical-steps strong, .practical-steps span { grid-column: 2; }
.practical-steps strong { grid-row: 1; }
.practical-steps span { grid-row: 2; color: var(--a2z-muted); }
.practical-grid { display: grid; gap: 1rem; }
.practical-grid article, .practical-alert { padding: var(--a2z-space-card); border: 1px solid var(--a2z-border); border-radius: .75rem; background: var(--a2z-grey); }
.practical-grid p, .practical-alert p { margin-bottom: 0; color: var(--a2z-muted); }
.practical-grid .text-link { display: inline-block; margin-top: 1rem; }
.practical-alert { border-left: 4px solid #a34432; background: #fbf4f1; }
.practical-alert .a2z-button { margin-top: 1rem; }
@media (min-width: 700px) { .practical-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } .practical-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .practical-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.trust-strip__provider a { color: inherit; text-decoration-color: var(--a2z-gold); text-underline-offset: .18em; }
@media (max-width: 699px) { .a2z-media { object-position: var(--a2z-mobile-focal, var(--a2z-focal, 50% 50%)); } }
@media (min-width: 700px) { .care-pathway > :not(.care-pathway__media) { margin-inline: 1.8rem; } .care-pathway > em { margin-bottom: 1.8rem; } }
.patient-navigator__input-row { grid-template-columns: 1fr; }
.patient-navigator__voice { min-width: 0; min-height: 3rem; padding: .7rem 1rem; color: var(--a2z-navy); font: inherit; font-size: .92rem; font-weight: 800; }
.patient-navigator__voice:disabled { cursor: not-allowed; opacity: .72; }
.patient-navigator__shortcuts { margin-top: 1rem; }
.patient-navigator__shortcut-label { margin: 0 0 .5rem; color: var(--a2z-muted); font-size: .85rem; font-weight: 750; }
.patient-navigator__routes a { display: inline-flex; align-items: center; min-height: 3rem; padding: .6rem .9rem; line-height: 1.2; }
.a2z-faqs summary { min-height: 3rem; padding: .55rem 2rem .55rem 0; }
.a2z-request-error { padding: 1rem; border-left: 3px solid #a61b1b; background: #fff1f1; color: #751010; }
@supports (content-visibility: auto) {
  /* Homepage sections are a visual journey, and browsers may omit an
     off-screen auto-contained section from a full-page capture. Keep their
     imagery and transitions continuously rendered; defer only long-form and
     archive content where that containment has no visual discontinuity. */
  .booking-cta, .archive-list, .service-single__content { content-visibility: auto; contain-intrinsic-size: auto 900px; }
}
@media (min-width: 700px) { .patient-navigator__input-row { grid-template-columns: minmax(0, 1fr) auto auto; } }
/* Booking message field shares the existing input visual contract. */
.booking-request textarea { width: 100%; min-height: 7rem; max-width: 100%; padding: .7rem .8rem; border: 1px solid var(--a2z-border); border-radius: .35rem; background: #fff; color: var(--a2z-charcoal); font: inherit; resize: vertical; }

/* Visual-density system: content-led spacing for calm, efficient page rhythm.
 * Use these tokens for new template work instead of one-off large clamps.
 * Compact is for transactional states; section and hero retain breathing room. */
:root {
  --a2z-space-inline: clamp(1rem, 3vw, 1.5rem);
  --a2z-space-stack: clamp(.75rem, 2vw, 1.25rem);
  --a2z-space-card: clamp(1.25rem, 2.5vw, 2rem);
  --a2z-space-compact: clamp(1.5rem, 4vw, 3.25rem);
  --a2z-space-section: clamp(2.25rem, 5vw, 4.5rem);
  --a2z-space-hero: clamp(2.5rem, 6vw, 5rem);
  --a2z-space-heading: clamp(1.25rem, 3vw, 2rem);
}

/* Shared templates: replace 96–144px visual gaps with the documented rhythm. */
.entry-content > :first-child:not(.alignfull) { margin-top: var(--a2z-space-section); }
.entry-content > :last-child { margin-bottom: var(--a2z-space-section); }
.a2z-section, .home-section, .patient-navigator, .patient-stories,
.ga-introduction, .ga-candidacy, .ga-preparation, .ga-faqs { padding-block: var(--a2z-space-section); }
.home-hero, .home-pathways, .booking-cta, .ga-conversion { padding-block: var(--a2z-space-hero); }
.archive-intro, .service-single__header { padding-block: var(--a2z-space-hero) var(--a2z-space-compact); }
.archive-list { padding-block: var(--a2z-space-compact) var(--a2z-space-section); }
.service-single__content { padding-bottom: var(--a2z-space-section); }
.service-hero { padding-block: var(--a2z-space-compact) var(--a2z-space-hero); }
.booking-cta h2 { margin-bottom: var(--a2z-space-stack); }
.section-heading, .ga-section-heading { margin-bottom: var(--a2z-space-heading); }
.site-footer { padding-top: var(--a2z-space-section); }
.site-footer__inner { gap: var(--a2z-space-heading); padding-bottom: var(--a2z-space-heading); }

/* Content cards stay generous to touch, without artificial empty lower halves. */
.a2z-surface, .a2z-card, .booking-request, .patient-navigator__tool,
.a2z-implant-panel, .ga-card, .ga-preparation__checklist { padding: var(--a2z-space-card); }
.care-pathway, .service-card, .service-feature__content { min-height: 0; }
.service-card { padding: var(--a2z-space-card); }
.service-feature__content { padding: var(--a2z-space-card); padding-inline-start: max(var(--a2z-space-card), env(safe-area-inset-left)); }

/* Homepage concern navigator: one calm, self-contained starting point. */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.patient-navigator { padding-block: var(--a2z-space-section); }
.patient-navigator__grid { max-width: 900px; margin-inline: auto; gap: var(--a2z-space-heading); }
.patient-navigator__intro { max-width: 44rem; }
.patient-navigator__tool { display: grid; gap: var(--a2z-space-md); padding: var(--a2z-space-card); border-radius: var(--a2z-radius); box-shadow: var(--a2z-shadow-panel); }
.patient-navigator__tool h3 { margin-bottom: var(--a2z-space-xs); color: var(--a2z-navy); font-size: clamp(1.45rem, 3vw, 2rem); }
.patient-navigator input { min-height: 3.25rem; }
.patient-navigator__actions { display: grid; gap: var(--a2z-space-sm); margin-top: var(--a2z-space-sm); }
.patient-navigator__actions > div { display: grid; gap: .35rem; align-items: start; }
.patient-navigator__actions .a2z-button { width: 100%; }
.patient-navigator__actions p { margin: 0; color: var(--a2z-muted); font-size: .88rem; line-height: 1.4; }
.patient-navigator__help:empty { display: none; }
.patient-navigator__help { margin-bottom: 0; }
.patient-navigator__concerns { margin-top: var(--a2z-space-lg); padding-top: var(--a2z-space-md); border-top: 1px solid var(--a2z-border); }
.patient-navigator__concerns h3 { margin-bottom: var(--a2z-space-sm); }
.patient-navigator__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.patient-navigator__card { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr); gap: .65rem; align-items: center; min-height: 5.25rem; padding: .75rem; border: 1px solid var(--a2z-border); border-radius: var(--a2z-radius); color: var(--a2z-navy); text-decoration: none; }
.patient-navigator__card:hover { border-color: var(--a2z-blue); background: var(--a2z-grey); color: var(--a2z-blue-dark); }
.patient-navigator__card strong, .patient-navigator__card small { display: block; overflow-wrap: anywhere; }
.patient-navigator__card strong { font-size: .93rem; line-height: 1.25; }
.patient-navigator__card small { margin-top: .15rem; color: var(--a2z-muted); font-size: .78rem; line-height: 1.25; }
.patient-navigator__icon { width: 2.1rem; height: 2.1rem; color: var(--a2z-blue); }
.patient-navigator__emergency { padding: var(--a2z-space-card); border: 1px solid #a61b1b; border-radius: var(--a2z-radius); background: #fff1f1; color: #751010; }
.patient-navigator__emergency h3, .patient-navigator__emergency p { color: inherit; }
.patient-navigator__emergency h3 { margin-bottom: .45rem; }
.patient-navigator__emergency p { margin-bottom: .65rem; font-size: .95rem; line-height: 1.45; }
.patient-navigator__emergency-question { font-weight: 800; }
.patient-navigator__emergency-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.patient-navigator__emergency-actions .a2z-button { min-width: 5rem; }
.patient-navigator__emergency-yes { border-color: #a61b1b; background: #a61b1b; color: var(--a2z-white); }
.patient-navigator__emergency-yes:hover { border-color: #751010; background: #751010; color: var(--a2z-white); }
.patient-navigator__emergency-result:not(:empty) { margin-top: var(--a2z-space-sm); padding-top: var(--a2z-space-sm); border-top: 1px solid rgb(166 27 27 / 30%); font-weight: 700; line-height: 1.45; }
.patient-navigator__emergency-result a { color: inherit; }
.trust-strip__inner { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; align-items: center; padding-block: 1.1rem; }
.trust-strip p, .trust-strip p + p { padding-left: 0; border-left: 0; }
@media (min-width: 700px) { .patient-navigator__grid { grid-template-columns: minmax(0, 1fr); } .patient-navigator__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } .patient-navigator__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .patient-navigator__cards { grid-template-columns: repeat(5, minmax(0, 1fr)); } .patient-navigator__card { grid-template-columns: 1fr; align-content: start; min-height: 8rem; } }
.service-feature h3, .service-card h3 { margin-top: 1.5rem; }
.care-pathway > :not(.care-pathway__media) { margin-inline: var(--a2z-space-card); }
.care-pathway > span:not(.care-pathway__media) { margin-top: var(--a2z-space-card); }
.care-pathway > em { margin-bottom: var(--a2z-space-card); }

/* Long-form service pages remain considered, but no longer add a section-sized gap
 * before every component. */
.a2z-patient-journey, .a2z-implant-journey, .a2z-implant-detail,
.a2z-implant-planning, .a2z-implant-questions, .a2z-faqs,
.a2z-related-links, .a2z-context-image, .a2z-clinical-sections,
.a2z-sources, .a2z-attribution { margin-top: var(--a2z-space-section); }
.a2z-implant-journey, .a2z-implant-planning { padding-block: var(--a2z-space-section); }
.ga-access { padding-block: var(--a2z-space-section); }
.ga-related-links { padding-bottom: var(--a2z-space-section); }
.ga-card { min-height: 0; }

/* Booking needs a task-led rather than marketing-led density. */
.booking-page .service-single__header { padding-block: var(--a2z-space-compact); }
.booking-page .entry-content > :first-child { margin-top: var(--a2z-space-compact); }
.booking-request { margin-bottom: var(--a2z-space-compact); }
.booking-request h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
.booking-page--received .service-single__header { padding-bottom: var(--a2z-space-stack); }
.booking-page--received .service-single__content { padding-bottom: var(--a2z-space-compact); }
.a2z-request-success { display: grid; gap: var(--a2z-space-stack); margin-bottom: 0; padding: var(--a2z-space-card); border: 1px solid #bedfc5; border-left: 4px solid var(--a2z-gold); border-radius: .75rem; background: #eff8f1; color: #174d27; }
.a2z-request-success h2, .a2z-request-success p { margin: 0; }
.a2z-request-success h2 { color: var(--a2z-navy); font-size: clamp(1.75rem, 5vw, 2.5rem); }
.a2z-request-success .a2z-button { justify-self: start; margin-top: .25rem; }

@media (min-width: 700px) {
  .service-card { min-height: 18rem; }
  .service-feature__content { min-height: 21rem; }
  .ga-card { min-height: 20rem; }
  .home-hero__media { min-height: 30rem; }
  .technology-intro__media { min-height: 30rem; }
  .team-portraits { min-height: 24rem; }
  .team-portrait { min-height: 21rem; }
  .team-portrait--one { min-height: 24rem; }
  .team-portrait--two { min-height: 27rem; }
}

/* Final spacing hardening: semantic values keep supporting content compact while
 * retaining measured breathing room for primary introductions and forms. */
:root {
  --a2z-section-compact: clamp(1.25rem, 3vw, 2.5rem);
  --a2z-section-standard: clamp(2rem, 4vw, 4rem);
  --a2z-section-feature: clamp(2.5rem, 5vw, 5rem);
  --a2z-content-gap: clamp(.75rem, 1.5vw, 1.125rem);
  --a2z-module-gap: clamp(1.125rem, 2vw, 1.5rem);
  --a2z-space-compact: var(--a2z-section-compact);
  --a2z-space-section: var(--a2z-section-standard);
  --a2z-space-hero: var(--a2z-section-feature);
  --a2z-space-heading: var(--a2z-content-gap);
}

.entry-content > :first-child:not(.alignfull) { margin-top: var(--a2z-section-standard); }
.entry-content > :last-child { margin-bottom: var(--a2z-section-standard); }
.a2z-empty-state { padding-block: var(--a2z-section-standard); }
.home-section, .patient-navigator, .patient-stories, .ga-introduction,
.ga-candidacy, .ga-preparation, .ga-faqs { padding-block: var(--a2z-section-standard); }
.home-hero, .home-pathways, .booking-cta, .ga-conversion { padding-block: var(--a2z-section-feature); }
.a2z-hero { min-height: 0; padding-block: var(--a2z-section-feature); }
.a2z-implant-journey, .a2z-implant-planning { padding-block: var(--a2z-section-standard); }
.a2z-implant-journey, .a2z-implant-planning, .ga-access { margin-top: var(--a2z-section-standard); }
.ga-access { padding-block: var(--a2z-section-standard); }
.a2z-patient-journey, .a2z-implant-detail, .a2z-implant-questions,
.a2z-faqs, .a2z-context-image, .a2z-clinical-sections, .a2z-sources,
.a2z-attribution, .a2z-related-links, .a2z-related-care { margin-top: var(--a2z-section-standard); }
.a2z-faqs, .a2z-related-links { padding-top: var(--a2z-module-gap); }
.a2z-clinical-section { padding-block: var(--a2z-content-gap); }
.a2z-clinical-section h2, .a2z-sources h2, .a2z-faqs h2 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.a2z-related-links, .ga-related-links { padding-bottom: var(--a2z-section-compact); }
.a2z-related-links h2, .ga-related-links h2 { margin-bottom: var(--a2z-content-gap); font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.a2z-related-links a { min-height: 2.75rem; padding: .625rem .875rem; }
.care-pathway, .service-card, .service-feature__content, .ga-card { min-height: 0; }
.care-pathway, .service-card, .service-feature__content, .ga-card { padding: var(--a2z-space-card); }
.site-footer { padding-top: var(--a2z-section-standard); }
.site-footer__inner { gap: var(--a2z-module-gap); padding-bottom: var(--a2z-module-gap); }

/* Related content is one navigable module, never three sparse full-width bands. */
.a2z-related-care {
  max-width: 760px;
  padding: var(--a2z-section-compact);
  border: 1px solid var(--a2z-border);
  border-radius: var(--a2z-radius);
  background: var(--a2z-grey);
}
.a2z-related-care > h2 { margin: 0 0 var(--a2z-content-gap); font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.a2z-related-care__group + .a2z-related-care__group { margin-top: var(--a2z-module-gap); }
.a2z-related-care__group h3 { margin: 0 0 .65rem; color: var(--a2z-muted); font-size: .82rem; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; }
.a2z-related-care__links { display: flex; flex-wrap: wrap; gap: .5rem; }
.a2z-related-care__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .625rem .875rem;
  border: 1px solid var(--a2z-border);
  border-radius: 99px;
  background: var(--a2z-white);
  color: var(--a2z-blue);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}
.a2z-related-care__link:hover { border-color: var(--a2z-blue); background: var(--a2z-white); color: var(--a2z-blue-dark); }

@media (min-width: 700px) {
  .service-card, .service-feature__content, .ga-card { min-height: 0; }
  .home-hero__media, .technology-intro__media { min-height: 26rem; }
  .team-portraits { min-height: 22rem; }
  .team-portrait { min-height: 19rem; }
  .team-portrait--one { min-height: 22rem; }
  .team-portrait--two { min-height: 25rem; }
}
