/* =========================================================================
   KPAS — Design System
   A refined, clinical-trust direction: deep navy ink + warm brass accent,
   paired with Cormorant (a genuinely light-weight display serif — refined,
   clinical, trusted) and Inter (clean, legible body sans). Replaces the
   previous ink-teal/clay Fraunces + Inter look with the brand palette below.
   ========================================================================= */

:root {
	--ink: #0d1b2d;        /* Primary / headings */
	--ink-soft: #33495f;   /* Secondary / body text */
	--paper: #f4f3f1;      /* Section background (off-white) */
	--paper-alt: #f4f3f1;  /* Alternate section background */
	--surface: #ffffff;    /* Background */
	--line: #e6e6e6;       /* Borders */
	--clay: #c8b281;       /* Accent — used sparingly for hover/underline accents */
	--clay-dark: #ab936a;
	--sage: #142b45;       /* Buttons / footer background */
	--sage-light: #eef1f5; /* Light tint of the button/footer blue, for chips/badges */
	--muted: #a8a39d;      /* Muted */
	--focus: #142b45;

	--font-display: "Cormorant", "Iowan Old Style", "Palatino Linotype", serif;
	--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--radius-sm: 6px;
	--radius-md: 14px;
	--radius-lg: 26px;
	--shadow-1: 0 1px 2px rgba(13, 27, 45, 0.06), 0 1px 1px rgba(13, 27, 45, 0.04);
	--shadow-2: 0 20px 40px -20px rgba(13, 27, 45, 0.35);
	--container: 1440px;
	--container-narrow: 820px;
	--container-wide: 1440px;
}

/* ---------- Reset ------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--surface);
	color: var(--ink-soft);
	font-family: var(--font-body);
	font-weight: 400;
	font-size: clamp(15px, 1.4vw, 17px);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; background: none; border: none; cursor: pointer; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }
h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.15; margin: 0 0 0.5em; color: var(--ink); }
h1 { font-size: clamp(1.75rem, 1.1rem + 3vw, 3.4rem); font-weight: 300; letter-spacing: 0.015em; }
h2 { font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.15rem); font-weight: 500; }
h3 { font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); font-weight: 600; }
p { margin: 0 0 20px; }
hr { border: none; }

/* Focus states — visible everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, summary:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 3px;
	border-radius: 4px;
}

.skip-link {
	position: absolute;
	left: -999px;
	top: auto;
	background: var(--ink);
	color: #fff;
	padding: 14px 20px;
	z-index: 1000;
	border-radius: 0 0 8px 0;
}
.skip-link:focus {
	left: 0;
	top: 0;
}

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.container-wide { max-width: var(--container-wide); margin: 0 auto; padding: 0 24px; }
.container-narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 24px; }

.eyebrow {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--clay-dark);
	margin-bottom: 14px;
}

.rule, .gold-rule {
	width: 64px;
	height: 3px;
	background: var(--hero-accent, var(--clay));
	border-radius: 2px;
	margin: 18px 0 22px;
}

.reading { max-width: var(--container-narrow); }
.reading.container { text-align: left; }
p.reading { max-width: var(--container-narrow); color: var(--ink-soft); }

.muted { color: var(--muted); }
.disclaimer { font-size: 0.85rem; color: var(--muted); }

/* ---------- Buttons ------------------------------------------------------ */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: transform 0.15s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.btn-primary { background: var(--sage); color: #fff; }
.btn-primary:hover { background: var(--ink); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow-1); }
.btn-secondary { background: transparent; color: var(--sage); border: 1.5px solid var(--sage); }
.btn-secondary:hover { background: var(--sage); color: #fff; transform: translateY(-1px); }
.btn-light { background: var(--sage-light); color: var(--sage); }
.btn-light:hover { background: var(--sage); color: #fff; transform: translateY(-1px); }
.btn-row { display: flex; gap: 14px; flex-wrap: wrap; margin: 26px 0; }

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--sage);
	border-bottom: 1.5px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.text-link:hover { border-color: var(--clay); color: var(--ink); }

/* ---------- Header / Nav -------------------------------------------------- */
.site-header {
	position: relative;
	top: 0;
	z-index: 100;
	background: var(--ink);
	padding: 0;
}
.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 20px;
	max-width: var(--container-wide);
	margin: 0 auto;
	background: var(--ink);
	padding-block: 12px;
}
.logo { display: flex; align-items: center; gap: 12px; }
.header-inner .btn { padding: 10px 20px; font-size: 0.78rem; }
.site-header .btn-light { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 2px; }
.site-header .btn-light:hover { background: #fff; color: var(--ink); }
.logo-mark {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--paper);
	width: auto;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.logo-rule { width: 1px; height: 30px; background: var(--line); }
.logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.logo-name { font-family: var(--font-display); font-size: 1.05rem; color: #fff; }
.logo-role { font-size: 0.62rem; color: #fff; letter-spacing: 0.12em; text-transform: uppercase; }

.nav-wrap { display: flex; align-items: center; gap: 18px; }
.site-nav { display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; }
.nav-item { position: relative; }
.nav-btn, .nav-link {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 9px 12px;
	border-radius: 999px;
	font-size: 0.86rem;
	font-weight: 500;
	color: #fff;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}
.nav-btn:hover, .nav-link:hover, .nav-btn[aria-expanded="true"] { background: var(--sage-light); color: var(--ink); }
.nav-btn:focus-visible, .nav-link:focus-visible { background: var(--sage-light); color: var(--ink); }
.chevron { width: 10px; height: 10px; }

.dropdown {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 220px;
	background: var(--surface);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-2);
	padding: 10px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
	z-index: 50;
}
.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.dropdown a { display: block; padding: 9px 12px; border-radius: 8px; font-size: 0.9rem; color: var(--ink-soft); }
.dropdown a:hover { background: var(--sage-light); color: var(--ink); }

/* ---------- Dropdown flyout submenu (e.g. Procedures > Body > Abdominoplasty)
   The flyout sits flush against the dropdown's edge (no gap, no independent
   floating shadow) and shares the same background/border so the two read
   as one continuous connected panel rather than two separate cards. ----- */
.dropdown { overflow: visible; }
.dropdown-item { position: relative; border-radius: 8px; }
.dropdown-item:hover, .dropdown-item:focus-within { background: var(--sage-light); }
.dropdown-item:hover > .dropdown-link, .dropdown-item:focus-within > .dropdown-link { background: none; color: var(--ink); }
.dropdown-link { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.flyout-arrow { color: var(--muted); font-size: 1rem; line-height: 1; transition: transform 0.15s ease, color 0.15s ease; }
.dropdown-item:hover .flyout-arrow, .dropdown-item:focus-within .flyout-arrow { color: var(--sage); transform: translateX(2px); }
.flyout {
	position: absolute;
	top: -1px;
	left: 100%;
	min-width: 220px;
	background: var(--surface);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	box-shadow: var(--shadow-2);
	padding: 10px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease, visibility 0.15s;
	z-index: 60;
}
.dropdown-item:hover .flyout,
.dropdown-item:focus-within .flyout {
	opacity: 1;
	visibility: visible;
}
.flyout a { display: block; padding: 9px 12px; border-radius: 8px; font-size: 0.9rem; color: var(--ink-soft); }
.flyout a:hover { background: var(--sage-light); color: var(--ink); }

/* ---------- Header search toggle -------------------------------------------- */
.search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #fff;
	transition: background 0.15s ease, color 0.15s ease;
	flex-shrink: 0;
}
.search-toggle:hover, .search-toggle[aria-expanded="true"] { background: rgba(255,255,255,.12); }
.header-search {
	background: var(--ink);
	border-top: 1px solid rgba(255,255,255,.12);
	padding: 18px 0;
}
.header-search-inner { display: flex; align-items: center; gap: 16px; }
.header-search .search-form { flex: 1; display: flex; gap: 10px; }
.header-search .search-field {
	flex: 1;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: var(--radius-sm);
	color: #fff;
	padding: 12px 16px;
	font-size: 0.95rem;
}
.header-search .search-field::placeholder { color: rgba(255,255,255,.5); }
.header-search .search-field:focus-visible { outline: 2px solid var(--clay); outline-offset: 2px; }
.header-search-close { width: 32px; height: 32px; font-size: 1.6rem; line-height: 1; color: #fff; flex-shrink: 0; }
.header-search-close:hover { color: var(--clay); }
.header-search .search-submit { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); flex-shrink: 0; }
.header-search .search-submit:hover { background: #fff; color: var(--ink); }

.menu-toggle { display: none; width: 40px; height: 40px; border-radius: 50%; position: relative; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after {
	content: ""; position: absolute; left: 10px; right: 10px; height: 2px; background: var(--ink); transition: transform 0.2s ease;
}
.menu-toggle::before { top: 14px; }
.menu-toggle span { top: 19px; }
.menu-toggle::after { top: 24px; }

/* ---------- Hero --------------------------------------------------------- */
.hero { --hero-bg: var(--paper); --hero-accent: var(--clay); --hero-card: var(--ink); background: var(--hero-bg); padding: 92px 0 40px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(520px, 1.08fr); gap: 70px; align-items: center; }
.hero-copy p { font-size: 1.08rem; color: var(--ink-soft); max-width: 46ch; }
.hero .rule { margin-top: 28px; }
.hero .btn { border-radius: 2px; }
.hero-stats { display: flex; gap: 32px; margin-top: 34px; flex-wrap: wrap; }
.hero-stats > div { display: flex; flex-direction: column; }
.stat-value { font-family: var(--font-display); font-weight: 500; font-size: 1.8rem; color: var(--ink); }
.stat-label { font-size: 0.78rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }

.hero-mosaic {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: minmax(90px, auto);
	gap: 12px;
	grid-template-rows: 1fr 1fr;
}
.hero-mosaic img { border-radius: 0; object-fit: cover; width: 100%; height: 100%; }
.hero-mosaic .tall { grid-row: span 2; height: 100%; }
.hero-mosaic .wide { grid-column: span 2; height: 220px; }
.mosaic-card {
	background: var(--hero-card);
	color: var(--paper);
	border-radius: 0;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
}
.mosaic-card span { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--hero-accent); }
.mosaic-card strong { font-family: var(--font-display); font-weight: 500; font-size: 1.3rem; }
.mosaic-card small { color: #c9d2dc; }

.page-hero { padding: 56px 0 24px; border-bottom: 1px solid var(--line); background: var(--paper-alt); }

/* ---------- Values bar --------------------------------------------------- */
.values-bar { background: var(--ink); color: var(--paper); padding: 16px 0; }
.values-bar ul { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- Section layout ------------------------------------------------ */
.section { padding: clamp(50px, 4vw + 30px, 90px) 0; }
.section-alt { background: var(--paper-alt); }
.section-dark { background: var(--ink); color: var(--paper); }
.section-dark h2, .section-dark h3 { color: var(--paper); }
.section-dark p { color: #c9d2dc; }
.intro { text-align: center; }
.intro .container { display: flex; flex-direction: column; align-items: center; }

.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.section-note { color: var(--muted); max-width: 34ch; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.split img { border-radius: var(--radius-lg); width: 100%; }

/* ---------- Cards: surgeons / procedures / insights ----------------------- */
.surgeon-grid, .card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.surgeon-card, .card {
	background: var(--surface);
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--line);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.surgeon-card:hover, .card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.surgeon-card .media, .card .media { aspect-ratio: 4/5; background: var(--sage-light); overflow: hidden; }
.card .media { aspect-ratio: 4/3; }
.surgeon-card .media img, .card .media img { width: 100%; height: 100%; object-fit: cover; }
.surgeon-card .body, .card .body { padding: 22px; }
.creds { font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }
.tag { display: inline-block; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--sage); background: var(--sage-light); padding: 4px 10px; border-radius: 999px; margin-bottom: 10px; }
.thumb-fallback, .kpas-thumb-fallback { width: 100%; height: 100%; background: linear-gradient(135deg, var(--sage-light), var(--paper-alt)); }

/* Neutral "no image yet" placeholder — used wherever a real image (featured
   image or ACF image field) hasn't been uploaded. Sits flush inside sized
   wrappers (.media, .article-mini img slot, etc.) or uses its own
   aspect-ratio when used bare (see kpas_image_placeholder()). */
.kpas-img-placeholder {
	width: 100%;
	height: auto;
	min-height: 80px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: inherit;
}
.media .kpas-img-placeholder,
.card .media .kpas-img-placeholder,
.article-mini .kpas-img-placeholder {
	height: 100%;
}
.radius-lg.kpas-img-placeholder { border-radius: var(--radius-lg); }

/* ---------- Procedure explorer -------------------------------------------- */
.proc-explorer { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }
.proc-list { display: flex; flex-direction: column; }
.proc-row { border-bottom: 1px solid var(--line); transition: background 0.2s ease, border-color 0.2s ease; }
.proc-row:first-child { border-top: 1px solid var(--line); }
.proc-row-head {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 20px;
}
.proc-row-head .num { font-family: var(--font-display); font-size: 1.5rem; color: var(--line); transition: color 0.2s ease; }
.proc-row-head h3 { margin: 0; flex: 1; color: var(--muted); transition: color 0.2s ease; }
.proc-row-arrow { color: var(--line); transition: color 0.2s ease, transform 0.2s ease; }
.proc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0 20px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.25s ease, opacity 0.2s ease, padding 0.25s ease;
}
.proc-chip {
	padding: 8px 16px;
	border-radius: 999px;
	border: 1.5px solid var(--line);
	font-size: 0.85rem;
	color: var(--sage);
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.proc-chip:hover { border-color: var(--sage); background: var(--sage); color: #fff; }
.proc-row.is-active {
	background: var(--surface);
	box-shadow: var(--shadow-1);
	border-color: transparent;
	border-radius: var(--radius-md);
}
.proc-row.is-active .num { color: var(--clay); }
.proc-row.is-active h3 { color: var(--ink); }
.proc-row.is-active .proc-row-arrow { color: var(--clay); transform: translateX(4px); }
.proc-row.is-active .proc-chips { max-height: 200px; opacity: 1; padding: 4px 20px 22px; }
.proc-image {
	position: sticky;
	top: 100px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--sage-light);
}
.proc-image img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.2s ease; }

.lined-list li { border-top: 1px solid var(--line); }
.lined-list li:first-child { border-top: none; }
.lined-list li a { display: flex; justify-content: space-between; align-items: center; padding: 18px 10px; margin: 0 -10px; border-radius: var(--radius-sm); font-size: 1.02rem; transition: background 0.15s ease, color 0.15s ease; }
.lined-list li a:hover { background: var(--sage-light); color: var(--ink); }
.idx { color: var(--clay); font-family: var(--font-display); font-weight: 500; margin-right: 14px; }

/* ---------- Finder tool ---------------------------------------------------- */
.finder { background: transparent; border: none; padding: 0; }
.finder-steps {
	display: flex;
	align-items: center;
	gap: 14px;
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--muted);
}
.finder-steps li { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.finder-steps li:not(:last-child)::after {
	content: "";
	flex: 1 1 40px;
	min-width: 24px;
	height: 1px;
	background: var(--line);
	margin-left: 14px;
}
.finder-steps li.is-current { color: var(--sage); }
.finder-step-num { font-family: var(--font-body); font-weight: 600; }

.finder-section {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-2);
	padding: 28px 32px;
	margin-bottom: 24px;
}
.finder-section .eyebrow { display: block; margin-bottom: 16px; }
.finder-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.finder-choices.hidden { display: none; }
.choice { padding: 10px 18px; border-radius: 999px; border: 1.5px solid var(--line); font-size: 0.9rem; transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; }
.choice.is-selected, .choice:hover { border-color: var(--sage); background: var(--sage); color: #fff; }

.finder-panel {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-2);
	padding: 36px;
}
.finder-panel.hidden { display: none; }
.finder-panel .eyebrow { display: block; margin-bottom: 12px; }
.finder-panel-intro { color: var(--ink-soft); margin-bottom: 24px; }
.finder-panel-intro strong { color: var(--ink); }
.finder-results {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}
.finder-surgeon-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.finder-surgeon-card:hover { border-color: var(--clay); box-shadow: var(--shadow-1); }
.finder-surgeon-card strong { color: var(--sage); font-weight: 600; }
.finder-surgeon-card .muted { font-size: 0.85rem; }

/* ---------- Journey / steps ------------------------------------------------- */
.journey-layout { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: start; }
/* Keeps the intro text pinned in view while the step list scrolls past —
   align-self: start (already set via align-items: start above) means the
   grid item's own height, not the row's, defines its box, so position:
   sticky naturally releases once the shorter column reaches the bottom of
   this section rather than sticking past it or overlapping the next
   section. */
.journey-intro { position: sticky; top: 100px; }
@media (max-width: 1100px) {
	.journey-intro { position: static; }
}
.step-list { display: flex; flex-direction: column; gap: 22px; }
.step-list li { display: flex; gap: 18px; }
.step-num { font-family: var(--font-display); font-weight: 500; font-size: 1.5rem; color: var(--clay); flex-shrink: 0; }

/* ---------- Icon grid / standards -------------------------------------------- */
.icon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.icon-item svg { width: 34px; height: 34px; stroke: var(--clay); fill: none; margin-bottom: 16px; }
.icon-item h3 { margin-bottom: 8px; }

/* ---------- Gallery ------------------------------------------------------- */
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.gallery-grid a { position: relative; border-radius: var(--radius-md); overflow: hidden; display: block; }
.gallery-grid .featured { grid-column: span 2; grid-row: span 2; }
.gallery-grid .wide { grid-column: 2 / -1; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.gallery-grid a:hover img { transform: scale(1.04); }
.gallery-caption { position: absolute; left: 14px; bottom: 14px; background: rgba(13,27,45,0.78); color: #fff; padding: 6px 14px; border-radius: 999px; font-size: 0.8rem; }

/* ---------- Insights ------------------------------------------------------- */
.insights-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; }
.article-feature img { border-radius: var(--radius-md); margin-bottom: 18px; aspect-ratio: 16/9; object-fit: cover; }
.article-stack { display: flex; flex-direction: column; gap: 20px; }
.article-mini { display: flex; gap: 16px; align-items: flex-start; }
.article-mini img { width: 96px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); flex-shrink: 0; }
.meta { font-size: 0.78rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px; }

/* ---------- CTA band -------------------------------------------------------- */
.cta-band { text-align: center; padding: 90px 0; }
/* Two dark sections can now land back-to-back after the homepage insights
   section was removed (Standards -> CTA) — add a hairline so they don't
   read as one un-separated block. */
.section-dark + .cta-band { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.cta-band .rule, .cta-band .gold-rule { margin-inline: auto; }
.cta-band p { max-width: 52ch; margin-inline: auto; }

/* ---------- Profile (single surgeon) --------------------------------------- */
.profile-layout { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: start; }
.profile-layout img { border-radius: var(--radius-lg); }
.check-list { margin: 20px 0 28px; display: flex; flex-direction: column; gap: 10px; }
.check-list li { padding-left: 26px; position: relative; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--sage); font-weight: 700; }

/* ---------- Contact / map --------------------------------------------------- */
.contact-block { margin: 18px 0; }
.map-frame { background: var(--paper-alt); border-radius: var(--radius-lg); min-height: 320px; display: flex; align-items: flex-end; padding: 24px; border: 1px solid var(--line); }

/* ---------- Forms ------------------------------------------------------------ */
.form { display: flex; flex-direction: column; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 6px; }
.form input, .form select, .form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--surface);
	transition: border-color 0.15s ease;
}
.form input:focus-visible, .form select:focus-visible, .form textarea:focus-visible {
	border-color: var(--sage);
	box-shadow: 0 0 0 3px var(--sage-light);
	outline: none;
}
.form input.has-error, .form textarea.has-error { border-color: #b3261e; }
.form textarea { min-height: 130px; resize: vertical; }
.form-status { display: none; margin-top: 6px; padding: 14px 16px; background: var(--sage-light); color: var(--sage); border-radius: var(--radius-sm); }
.form-status.is-visible { display: block; }

.search-form { display: flex; gap: 8px; }
.search-field { flex: 1; padding: 11px 14px; border: 1.5px solid var(--line); border-radius: 999px; }

/* ---------- FAQ --------------------------------------------------------------- */
.faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.faq summary { cursor: pointer; font-weight: 600; font-family: var(--font-display); font-size: 1.2rem; }
.faq p { margin-top: 12px; color: var(--ink-soft); }

/* ---------- Single blog post ---------------------------------------------- */
.blog-layout { display: grid; grid-template-columns: 1fr 320px; gap: 56px; align-items: start; }
.blog-article .meta { margin-bottom: 20px; }
.blog-article > img { margin-bottom: 32px; }
.blog-content { max-width: none; }
.blog-content p { max-width: 68ch; }
.blog-content h2, .blog-content h3 { margin-top: 1.4em; }
.blog-faq, .blog-further-reading { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line); }
.blog-faq h2, .blog-further-reading h2 { margin-bottom: 24px; }
.blog-guidelines { margin-top: 32px; padding: 16px 20px; background: var(--paper-alt); border-radius: var(--radius-sm); }

.blog-sidebar { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 32px; }
.blog-sidebar-block h3 { font-size: 1.05rem; margin-bottom: 4px; }
.blog-sidebar-block .lined-list li a { padding: 12px 0; font-size: 0.92rem; }
.blog-sidebar-cta {
	background: var(--paper-alt);
	border: 1px solid var(--line);
	border-radius: var(--radius-md);
	padding: 24px;
}
.blog-sidebar-cta p { font-size: 0.9rem; margin-bottom: 16px; }
.blog-sidebar-cta .btn { width: 100%; justify-content: center; }

@media (max-width: 1100px) {
	.blog-layout { grid-template-columns: 1fr; }
	.blog-sidebar { position: static; }
}

/* ---------- Footer -------------------------------------------------------------- */
.site-footer { background: var(--ink); color: #c9d2dc; padding: 72px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.footer-grid h3 { color: var(--paper); font-size: 0.95rem; }
.footer-grid ul { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.footer-grid a:hover { color: #fff; }
.footer-brand .logo-mark { background: var(--paper); color: var(--ink); }
.footer-legal { border-top: 1px solid rgba(255,255,255,0.12); padding-top: 24px; font-size: 0.82rem; }
.legal-row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.legal-row span:last-child { display: flex; gap: 18px; }
.legal-row a:hover { color: #fff; }

/* ---------- Pagination -------------------------------------------------------- */
.pagination, .nav-links { display: flex; gap: 10px; justify-content: center; margin-top: 40px; }
.pagination a, .pagination span, .nav-links a, .nav-links span {
	padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 0.85rem;
}

/* ---------- Responsive --------------------------------------------------------- */
@media (max-width: 1100px) {
	.nav-wrap { position: relative; }
	.site-nav {
		position: absolute;
		top: calc(100% + 12px);
		right: 0;
		background: var(--surface);
		border: 1px solid var(--line);
		border-radius: var(--radius-md);
		box-shadow: var(--shadow-2);
		flex-direction: column;
		align-items: stretch;
		width: 280px;
		padding: 12px;
		display: none;
	}
	body.nav-open .site-nav { display: flex; }
	.nav-item { width: 100%; }
	.dropdown { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; display: none; }
	.nav-item.is-open .dropdown { display: block; }
	.flyout {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		margin-left: 0;
		padding-left: 22px;
		display: none;
	}
	.dropdown-item.is-open .flyout { display: block; }
	.flyout-arrow { transition: transform 0.15s ease; }
	.dropdown-item.is-open .flyout-arrow { transform: rotate(90deg); }
	.menu-toggle { display: block; }
	.hero-grid, .split, .journey-layout, .profile-layout, .insights-grid { grid-template-columns: 1fr; }
	.hero-mosaic { max-width: 760px; }
	.surgeon-grid, .card-grid, .proc-explorer, .icon-grid { grid-template-columns: repeat(2, 1fr); }
	.gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.finder { grid-template-columns: 1fr; }
	.proc-explorer { grid-template-columns: 1fr; }
	.proc-image { position: static; aspect-ratio: 16 / 10; order: -1; }
}

@media (max-width: 640px) {
	.hero { padding-top: 56px; }
	.hero-mosaic { grid-template-columns: 1fr; grid-template-rows: auto; }
	.hero-mosaic .tall, .hero-mosaic .wide { grid-column: auto; grid-row: auto; min-height: 220px; }
	.hero-mosaic .wide { height: 180px; }
	.surgeon-grid, .card-grid, .proc-explorer, .icon-grid, .gallery-grid { grid-template-columns: 1fr; }
	.gallery-grid .featured { grid-column: auto; grid-row: auto; }
	.gallery-grid .wide { grid-column: auto; }
	.form-row { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr; }
	.hero-stats { gap: 20px; }
}

/* ---------- Dark mode: theme keeps a single deliberate light aesthetic ------- */

/* ---------- Reference design refinement ---------------------------------- */
:root {
	--line: #e6e6e6;
	--radius-sm: 2px;
	--radius-md: 2px;
	--radius-lg: 2px;
	--shadow-1: none;
	--shadow-2: 0 14px 30px rgba(13, 27, 45, .12);
}

body { font-size: 17px; }
.site-header {
	position: sticky;
	background: var(--ink);
	color: #fff;
	border-bottom: 1px solid rgba(200, 178, 129, .18);
}
.header-inner {
	min-height: 84px;
	padding-block: 0;
}
.logo { gap: 14px; }
.logo-mark { font-size: 26px; letter-spacing: .12em; font-weight: 400; }
.logo-rule { background: var(--clay); }
.logo-name { font-size: 15px; letter-spacing: .08em; }
.logo-role { color: #c9d0d8; letter-spacing: .18em; }
.nav-link, .nav-btn {
		padding: 10px 8px;
		border-radius: 0;
		font-size: 11px;
		letter-spacing: .12em;
		text-transform: uppercase;
		color: #d5dbe2;
}
.nav-link:hover, .nav-btn:hover, .nav-btn[aria-expanded="true"], .nav-link.is-active, .nav-btn.is-active { background: none; color: #fff; }
.dropdown { border-radius: 0; padding: 14px 0; }
.dropdown a { border-radius: 0; padding: 8px 18px; }
.dropdown a:hover { background: var(--paper); }

/* ---------- Refined desktop procedure menu --------------------------------
   Give multi-level navigation a quieter, more intentional hierarchy without
   changing its links or mobile menu behaviour. */
@media (min-width: 1101px) {
	.site-nav .dropdown {
		min-width: 236px;
		padding: 8px;
		border: 1px solid rgba(17, 36, 59, .08);
		border-radius: 0;
		box-shadow: 0 18px 45px rgba(13, 27, 45, .16), 0 2px 8px rgba(13, 27, 45, .05);
		transform: translateY(10px) scale(.985);
		transform-origin: top left;
		transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	}
	.nav-item:hover .dropdown,
	.nav-item:focus-within .dropdown {
		transform: translateY(0) scale(1);
	}
	.site-nav .dropdown > a,
	.site-nav .dropdown-link {
		position: relative;
		min-height: 44px;
		display: flex;
		align-items: center;
		padding: 11px 13px;
		border-radius: 8px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.25;
		transition: background .16s ease, color .16s ease, padding .16s ease;
	}
	.site-nav .dropdown > a:hover,
	.site-nav .dropdown > a:focus-visible,
	.site-nav .dropdown-item:hover > .dropdown-link,
	.site-nav .dropdown-item:focus-within > .dropdown-link {
		background: #f1f4f7;
		color: var(--ink);
		padding-left: 17px;
	}
	.site-nav .dropdown > a:hover::before,
	.site-nav .dropdown > a:focus-visible::before,
	.site-nav .dropdown-item:hover > .dropdown-link::before,
	.site-nav .dropdown-item:focus-within > .dropdown-link::before {
		content: "";
		position: absolute;
		left: 7px;
		top: 12px;
		bottom: 12px;
		width: 2px;
		border-radius: 2px;
		background: var(--clay);
	}
	.site-nav .flyout-arrow {
		font-size: 20px;
		font-weight: 300;
		color: #708096;
	}
	.site-nav .flyout {
		top: -9px;
		left: calc(100% + 8px);
		min-width: 250px;
		padding: 8px;
		border: 1px solid rgba(17, 36, 59, .08);
		border-radius: 0;
		box-shadow: 0 18px 45px rgba(13, 27, 45, .16), 0 2px 8px rgba(13, 27, 45, .05);
		transform: translateX(-4px) scale(.985);
		transform-origin: top left;
		transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	}
	.site-nav .dropdown-item:hover .flyout,
	.site-nav .dropdown-item:focus-within .flyout {
		transform: translateX(0) scale(1);
	}
	.site-nav .flyout a {
		min-height: 44px;
		display: flex;
		align-items: center;
		padding: 11px 13px;
		border-radius: 8px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.25;
		transition: background .16s ease, color .16s ease, padding .16s ease;
	}
	.site-nav .flyout a:hover,
	.site-nav .flyout a:focus-visible {
		background: #f1f4f7;
		color: var(--ink);
		padding-left: 17px;
	}
}

.btn {
	justify-content: center;
	padding: 14px 28px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	border-radius: 2px;
	border: 1px solid transparent;
	box-shadow: none;
	transform: none;
}
.btn-primary { border-color: var(--sage); }
.btn-primary:hover { background: #1c3a5c; border-color: #1c3a5c; transform: none; box-shadow: none; }
.btn-secondary { border-width: 1px; }
.btn-secondary:hover { transform: none; box-shadow: none; }
.btn-light:hover { transform: none; box-shadow: none; }

.hero { padding: 72px 0 80px; }
.hero-grid { grid-template-columns: .95fr 1.15fr; gap: 56px; }
.hero-copy p { max-width: 520px; }
.hero-stats {
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 40px;
	padding-top: 28px;
	border-top: 1px solid var(--line);
}
.stat-value { font-size: 28px; letter-spacing: .04em; }
.stat-label { margin-top: 6px; font-size: 12px; letter-spacing: .04em; text-transform: none; }
.hero-mosaic {
	grid-template-columns: 1.15fr .85fr;
	grid-template-rows: 180px 140px 170px;
	gap: 10px;
}
.hero-mosaic .tall { grid-row: 1 / 3; }
.hero-mosaic .wide { grid-column: 1 / -1; grid-row: auto; height: 100%; }
.mosaic-card { padding: 22px 24px; justify-content: flex-end; }
.mosaic-card strong { margin-top: 8px; }
.mosaic-card small { margin-top: 8px; font-size: 13px; }

.section { padding: 80px 0; }
.section-alt { background: var(--paper); }
.page-hero { padding: 72px 0 32px; background: var(--paper); border-bottom: 1px solid var(--line); }
.page-hero .rule { width: 48px; height: 1px; }
.page-hero .reading { max-width: 900px; width: 100%; }

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 0.8rem;
	color: var(--muted);
	margin-bottom: 18px;
}
.breadcrumbs a { color: var(--muted); transition: color 0.15s ease; }
.breadcrumbs a:hover { color: var(--sage); }
.breadcrumbs [aria-current="page"] { color: var(--ink-soft); }
.breadcrumb-sep { color: var(--muted); }
.section-head .eyebrow { margin-bottom: 8px; }
.section-note { font-size: 14px; letter-spacing: .04em; }
.text-link { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; padding-bottom: 2px; }
.text-link:hover { border-bottom-color: var(--clay); color: var(--sage); }

.surgeon-card, .proc-panel, .card, .article-feature, .article-mini, .choice, .contact-block, .map-frame {
	border: 1px solid var(--line);
	border-radius: 0;
	box-shadow: none;
}
.home-procedures .card-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
.home-procedures .card .media { overflow: hidden; }
.home-procedures .card .media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-procedures .card .body { padding: 22px 20px 24px; }
.home-procedures .tag, .meta { color: var(--clay-dark); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.home-location .contact-block { padding: 18px; margin: 24px 0; background: #fff; }
.location-panel { min-height: 320px; padding: 28px; background: var(--sage); color: #fff; display: flex; flex-direction: column; justify-content: flex-end; }
.location-panel strong { font-family: var(--font-display); font-size: 28px; font-weight: 400; }
.gallery-intro { margin-bottom: 28px; }
.gallery-grid a { border-radius: 0; }
.gallery-grid .kpas-img-placeholder, .gallery-grid img { min-height: 170px; }
.insights-grid { align-items: start; }
.article-feature { padding-bottom: 20px; }
.article-feature > div { padding: 0 20px; }
.article-mini { padding: 16px; }
.article-mini h3 { font-size: 20px; }
.site-footer { background: var(--sage); }
.site-footer .logo-mark { background: transparent; color: #fff; }
.site-footer .logo-name, .site-footer .logo-role { color: #fff; }
.site-footer a:hover { color: var(--clay); }
.btn.btn-secondary { border: 1px solid var(--sage); }
.standard-icon { display: block; width: 24px; height: 24px; margin-bottom: 14px; color: var(--clay); }
.standard-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.section-dark .standard-icon { color: var(--clay); }
.surgeon-card:hover { border-color: var(--clay); }
.card:hover img, .surgeon-card:hover img { transform: scale(1.03); }
.card img, .surgeon-card img { transition: transform .5s ease; }

@media (max-width: 1100px) {
	.header-inner { min-height: 72px; }
	.home-procedures .card-grid { grid-template-columns: repeat(2, 1fr); }
	.site-nav .nav-link, .site-nav .nav-btn { color: #d5dbe2; }
	.site-nav .nav-link:hover, .site-nav .nav-btn:hover, .site-nav .nav-btn[aria-expanded="true"] { color: #fff; background: transparent; }
	.site-nav .nav-link.is-active, .site-nav .nav-btn.is-active { color: #fff; background: rgba(255,255,255,.07); }
	.menu-toggle { display: block; border: 1px solid rgba(255,255,255,.45); border-radius: 0; color: #fff; }
	.menu-toggle span, .menu-toggle::before, .menu-toggle::after { background: currentColor; }
	.site-nav { position: absolute; top: calc(100% + 1px); left: -20px; right: -20px; width: auto; padding: 16px 22px 24px; background: var(--ink); border: 0; border-top: 1px solid rgba(255,255,255,.12); border-radius: 0; box-shadow: none; }
	.site-nav .nav-item, .site-nav .nav-link { border-bottom: 1px solid rgba(255,255,255,.10); }
	.site-nav .nav-link, .site-nav .nav-btn { width: 100%; min-height: 54px; padding: 16px 10px; justify-content: flex-start; }
	.site-nav .dropdown { background: #11243b; border-color: rgba(255,255,255,.10); }
	.site-nav .dropdown a { color: #d5dbe2; }
	.site-nav .dropdown a:hover { background: rgba(255,255,255,.06); color: #fff; }
	.site-nav .dropdown-link { color: #d5dbe2; }
	.site-nav .dropdown-link:hover { background: rgba(255,255,255,.06); color: #fff; }
	.site-nav .flyout-arrow { color: #d5dbe2; }
	.site-nav .flyout a { color: #d5dbe2; }
	.site-nav .flyout a:hover { background: rgba(255,255,255,.06); color: #fff; }
	.site-nav .nav-item.is-open .dropdown { display: block; }
}

@media (max-width: 640px) {
	.hero { padding: 56px 0 64px; }
	.hero-stats { gap: 18px; }
	.hero-mosaic { grid-template-rows: auto; }
	.home-procedures .card-grid { grid-template-columns: 1fr; }
	.proc-explorer { grid-template-columns: 1fr; }
	.location-panel { min-height: 220px; }
}

@media (max-width: 1100px) {
	.site-header, .header-inner { overflow: visible; }
	.site-nav {
		position: fixed;
		top: calc(72px + var(--wp-admin--admin-bar--height, 0px));
		left: 0;
		right: auto;
		width: 100vw;
		max-width: 100vw;
		max-height: calc(100vh - 72px - var(--wp-admin--admin-bar--height, 0px));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 10px 22px 28px;
	}
	body.nav-open { overflow: hidden; }
}

/* ---------- Mobile header overflow fix ------------------------------------
   The header-inner flex row (logo + consultation button + hamburger) had no
   wrap/shrink allowance, so on narrow screens it overflowed past the
   viewport width, pushing the menu toggle off-screen and causing a
   horizontal scrollbar. NOTE: do not use overflow-x:hidden on html/body here
   — that breaks position:fixed on .site-nav in mobile Safari, making the
   open menu scroll with the page instead of staying pinned. -------------- */
@media (max-width: 1100px) {
	.header-inner { flex-wrap: nowrap; gap: 10px; padding-inline: 16px; }
	.logo { min-width: 0; flex-shrink: 1; }
	.logo-text { min-width: 0; }
	.logo-name, .logo-role { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.header-inner .btn-light { display: none; }
	.nav-wrap { gap: 6px; flex-shrink: 0; }
	.menu-toggle { flex-shrink: 0; }
	.search-toggle { flex-shrink: 0; width: 36px; height: 36px; }
	.header-search-inner { flex-wrap: wrap; }
}
@media (max-width: 400px) {
	.logo-role { display: none; }
}

/* ---------- Hero mobile re-stack -------------------------------------------
   The "Reference design refinement" section further up sets .hero-grid and
   .hero-mosaic to fixed two-column layouts WITHOUT a media query, so those
   unguarded rules override the earlier mobile breakpoints (later rule wins
   at equal specificity). Re-declaring the mobile layout here, after
   everything else, restores single-column stacking on phones/tablets. ---- */
@media (max-width: 1100px) {
	.hero-grid { grid-template-columns: 1fr; gap: 32px; }
	.hero-copy p { max-width: 100%; }
	.hero-mosaic {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}
	.hero-mosaic .tall, .hero-mosaic .wide {
		grid-column: auto;
		grid-row: auto;
		height: auto;
		min-height: 220px;
	}
}
@media (max-width: 640px) {
	.hero { padding: 56px 0 64px; }
	.hero-stats { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Home "Clinical Gallery / Surgical outcomes" layout ------------
   A plain, uniform 2x2 grid of bordered cards (image + caption inside a
   bordered box), matching the bordered-card treatment used elsewhere on
   the homepage (e.g. the Travelling/Regional patient-info cards), rather
   than a mosaic with one featured/enlarged image. Scoped to .home-gallery
   so the full gallery page (page-gallery.php, .gallery-grid--page) keeps
   its own layout. NOTE: img height is explicitly set to auto here because
   the base .gallery-grid img rule sets height:100% — combined with
   aspect-ratio and a parent that no longer has a defined height (position:
   static, no aspect-ratio on the <a> itself), that 100% could resolve
   against an indeterminate height and collapse the image in some browsers.
   ------------------------------------------------------------------- */
.home-gallery .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
.home-gallery .gallery-grid a {
	position: static;
	display: block;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.home-gallery .gallery-grid a:hover {
	border-color: var(--clay);
	box-shadow: var(--shadow-1);
}
.home-gallery .gallery-grid img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 0;
}
.home-gallery .gallery-caption {
	position: static;
	display: block;
	background: none;
	color: var(--ink);
	padding: 14px 16px;
	border-radius: 0;
	font-size: 0.95rem;
	font-weight: 500;
}
@media (max-width: 640px) {
	.home-gallery .gallery-grid { grid-template-columns: 1fr; }
}

/* ---------- Homepage before-and-after case gallery ----------------------- */
.outcome-gallery { background: #f8f7f4; }
.outcome-gallery .gallery-intro { max-width: 760px; margin-bottom: 34px; }
.outcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.outcome-card {
	display: block;
	background: #fff;
	border: 1px solid #e3e5e6;
	color: var(--ink);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.outcome-card:hover, .outcome-card:focus-visible {
	color: var(--ink);
	border-color: rgba(180, 143, 86, .6);
	box-shadow: 0 18px 42px rgba(13, 27, 45, .12);
	transform: translateY(-4px);
}
.outcome-media { position: relative; overflow: hidden; background: #e8e9e9; }
.outcome-media--horizontal { aspect-ratio: 1.38 / 1; }
.outcome-media--vertical { aspect-ratio: 1.38 / 1; }
.outcome-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.outcome-card:hover .outcome-media img { transform: scale(1.025); }
.outcome-label {
	position: absolute;
	top: 14px;
	padding: 6px 10px;
	background: rgba(13, 27, 45, .88);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}
.outcome-label--before { left: 14px; }
.outcome-label--after { right: 14px; background: rgba(180, 143, 86, .94); }
.outcome-media--vertical .outcome-label--after { top: auto; bottom: 14px; }
.outcome-content { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding: 18px 20px 20px; }
.outcome-title { font-family: var(--font-display); font-size: 25px; font-weight: 400; line-height: 1.05; }
.outcome-detail { color: var(--muted); font-size: 12px; letter-spacing: .04em; }
.outcome-link { width: 100%; margin-top: 7px; color: var(--ink); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.outcome-card:hover .outcome-link { color: var(--clay-dark); }
@media (max-width: 700px) {
	.outcome-grid { grid-template-columns: 1fr; gap: 20px; }
	.outcome-title { font-size: 23px; }
}

/* ---------- Full clinical gallery ----------------------------------------- */
.outcome-gallery-page { background: #f8f7f4; }
.gallery-page-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 44px; align-items: end; margin-bottom: 28px; }
.gallery-page-head h2 { margin-bottom: 0; }
.gallery-page-head p { max-width: 420px; margin: 0; color: var(--ink-soft); }
.outcome-filters { display: flex; gap: 8px; flex-wrap: wrap; padding-bottom: 28px; border-bottom: 1px solid #dfe1e1; margin-bottom: 30px; }
.outcome-filters button {
	min-width: 92px;
	padding: 11px 16px;
	border: 1px solid #d4d8d9;
	background: #fff;
	color: var(--ink-soft);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.outcome-filters button:hover, .outcome-filters button:focus-visible { border-color: var(--clay); color: var(--ink); }
.outcome-filters button.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.gallery-case-grid { gap: 30px; }
.gallery-case-grid .outcome-card { min-width: 0; }
.outcome-area { margin-left: auto; color: var(--clay-dark); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.outcome-empty { grid-column: 1 / -1; padding: 58px 40px; border: 1px solid #dfe1e1; background: #fff; text-align: center; }
.outcome-empty h3 { margin: 10px 0; font-size: 32px; }
.outcome-empty p { max-width: 510px; margin: 0 auto; color: var(--ink-soft); }
@media (max-width: 700px) {
	.gallery-page-head { grid-template-columns: 1fr; gap: 14px; }
	.outcome-filters { gap: 7px; }
	.outcome-filters button { min-width: 0; flex: 1 1 86px; }
	.outcome-area { width: 100%; margin-left: 0; }
	.outcome-empty { padding: 42px 24px; }
	.outcome-empty h3 { font-size: 27px; }
}

/* ---------- Active nav indicator -------------------------------------------
   The is-active class was already applied server-side to a dropdown's
   parent button/link whenever the current page is that section or one of
   its dropdown children — but visually it only changed text colour, which
   read as barely different from the default state. Add a clear underline
   accent so the active section is obviously "lit" at a glance. ----------- */
.nav-item, .nav-link { position: relative; }
.nav-btn.is-active::after,
.nav-link.is-active::after {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 2px;
	height: 2px;
	background: var(--clay);
}
@media (max-width: 1100px) {
	.site-nav .nav-btn.is-active,
	.site-nav .nav-link.is-active {
		border-left: 2px solid var(--clay);
		padding-left: 8px;
	}
	.site-nav .nav-btn.is-active::after,
	.site-nav .nav-link.is-active::after {
		content: none;
	}
}

/* ---------- Mobile right-edge whitespace guard (2026-08-24) ---------------
   Any stray element that overflows the viewport width (an unrounded 100vw
   calc, an image before its srcset picks a smaller source, etc.) was
   showing up as blank space down the right edge on phones, because the
   file deliberately avoids overflow-x: hidden on html/body (see the note
   above the mobile-header-overflow fix) to keep .site-nav's position:fixed
   mobile menu pinned correctly in Safari. overflow-x: clip gives the same
   "never show a horizontal scrollbar / never leave overflow visible"
   guarantee as hidden, but — unlike hidden — does not turn html/body into a
   scroll container, so it does not affect position: fixed descendants.
   Safe replacement, keeps the mobile menu behaviour the earlier fix relied on. */
html, body { overflow-x: clip; max-width: 100%; }

/* ---------- Procedure category directory -------------------------------- */
.procedure-area-directory { padding-top: 76px; }
.procedure-area-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 56px; align-items: start; }
.procedure-area-intro { max-width: 760px; margin-bottom: 56px; color: var(--ink-soft); font-size: 18px; }
.procedure-area-intro p:last-child { margin-bottom: 0; }
.procedure-area-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr); gap: 22px 48px; align-items: end; margin-bottom: 26px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.procedure-area-heading .eyebrow { grid-column: 1 / -1; }
.procedure-area-heading h2 { margin: 0; }
.procedure-area-heading p { margin: 0; color: var(--ink-soft); }
.procedure-area-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.procedure-area-card { display: flex; min-height: 244px; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid var(--line); background: #fff; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.procedure-area-card:hover { transform: translateY(-4px); border-color: var(--clay); box-shadow: 0 16px 34px rgba(17, 35, 55, .08); }
.procedure-area-number { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 34px; border: 1px solid var(--clay); color: var(--clay-dark); font-size: 11px; letter-spacing: .11em; }
.procedure-area-card h3 { margin: 0 0 11px; font-size: clamp(25px, 2.2vw, 32px); line-height: 1.08; }
.procedure-area-card p { margin: 0 0 23px; color: var(--ink-soft); font-size: 15px; line-height: 1.58; }
.procedure-area-card .text-link { margin-top: auto; }
.procedure-area-aside { display: grid; gap: 18px; position: sticky; top: 30px; }
.procedure-area-panel { padding: 31px 28px; border: 1px solid var(--line); background: var(--surface); }
.procedure-area-panel h2 { margin: 15px 0 14px; font-size: 29px; line-height: 1.1; }
.procedure-area-panel p { margin: 0 0 25px; color: var(--ink-soft); font-size: 15px; line-height: 1.6; }
.procedure-area-panel--consultation { border-color: var(--sage); background: var(--sage); }
.procedure-area-panel--consultation .eyebrow, .procedure-area-panel--consultation h2, .procedure-area-panel--consultation p { color: #fff; }
.procedure-area-panel--consultation p { color: rgba(255, 255, 255, .76); }
.procedure-area-panel--consultation .btn { width: 100%; justify-content: center; }
.procedure-area-panel--gallery { background: #fff; }
@media (max-width: 980px) {
	.procedure-area-layout { grid-template-columns: 1fr; gap: 36px; }
	.procedure-area-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; }
}
@media (max-width: 680px) {
	.procedure-area-directory { padding-top: 52px; }
	.procedure-area-intro { margin-bottom: 38px; font-size: 17px; }
	.procedure-area-heading { grid-template-columns: 1fr; gap: 13px; }
	.procedure-area-grid, .procedure-area-aside { grid-template-columns: 1fr; }
	.procedure-area-card { min-height: 0; padding: 24px; }
	.procedure-area-number { margin-bottom: 26px; }
}

/* ---------- Abdominoplasty procedure detail ---------------------------- */
.procedure-detail-intro { padding-top: 78px; }
.procedure-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 64px; align-items: start; }
.procedure-detail-main > h2 { max-width: 720px; margin: 14px 0 18px; }
.procedure-detail-lead { max-width: 760px; margin: 0 0 36px; color: var(--ink-soft); font-size: 19px; line-height: 1.65; }
.procedure-focus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.procedure-focus-card { min-height: 236px; padding: 26px 23px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.procedure-focus-card > span, .procedure-detail-pathway article > span { color: var(--clay-dark); font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.procedure-focus-card h3 { margin: 34px 0 12px; font-size: 26px; line-height: 1.05; }
.procedure-focus-card p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.procedure-detail-rail { display: grid; gap: 18px; position: sticky; top: 30px; }
.procedure-detail-contact { padding: 31px 28px; background: var(--sage); color: #fff; }
.procedure-detail-contact .eyebrow, .procedure-detail-contact h2 { color: #fff; }
.procedure-detail-contact h2 { margin: 15px 0 14px; font-size: 31px; line-height: 1.08; }
.procedure-detail-contact p { margin: 0 0 25px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.62; }
.procedure-detail-contact .btn { width: 100%; justify-content: center; }
.procedure-case-preview { display: block; border: 1px solid var(--line); background: #fff; color: inherit; text-decoration: none; }
.procedure-case-preview img { display: block; width: 100%; aspect-ratio: 1.3 / 1; object-fit: cover; }
.procedure-case-preview__body { display: grid; gap: 10px; padding: 22px; }
.procedure-case-preview__body strong { color: var(--ink); font-family: var(--font-display); font-size: 26px; font-weight: 500; line-height: 1.05; }
.procedure-case-preview__body > span:last-child { color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.procedure-detail-reading__inner { display: grid; grid-template-columns: minmax(0, 760px) 280px; justify-content: space-between; gap: 56px; }
.procedure-detail-reading .reading h2 { margin-top: 52px; }
.procedure-detail-reading .reading h2:first-child { margin-top: 0; }
.procedure-detail-reading .reading h3 { margin-top: 34px; }
.procedure-detail-note { align-self: start; padding: 26px; border-left: 2px solid var(--clay); background: #fff; }
.procedure-detail-note p { margin: 16px 0 20px; color: var(--ink-soft); font-size: 15px; line-height: 1.62; }
.procedure-detail-pathway { padding: 88px 0; background: var(--ink); color: #fff; }
.procedure-detail-pathway .eyebrow, .procedure-detail-pathway h2 { color: #fff; }
.procedure-detail-pathway__head { display: flex; justify-content: space-between; gap: 36px; align-items: end; margin-bottom: 38px; }
.procedure-detail-pathway__head h2 { margin: 0; }
.procedure-detail-pathway__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.procedure-detail-pathway article { padding: 30px 27px; background: rgba(255,255,255,.07); }
.procedure-detail-pathway article > span { color: var(--clay); }
.procedure-detail-pathway h3 { margin: 36px 0 13px; color: #fff; font-size: 27px; line-height: 1.08; }
.procedure-detail-pathway p { margin: 0; color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.6; }
.procedure-detail-faqs__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 82px; align-items: start; }
.procedure-detail-faqs h2 { margin-top: 14px; }
.procedure-detail-faq-list { border-top: 1px solid var(--line); }
.procedure-detail-faq-list details { border-bottom: 1px solid var(--line); }
.procedure-detail-faq-list summary { cursor: pointer; padding: 22px 30px 22px 0; color: var(--ink); font-weight: 600; list-style: none; position: relative; }
.procedure-detail-faq-list summary::-webkit-details-marker { display: none; }
.procedure-detail-faq-list summary::after { content: '+'; position: absolute; right: 4px; color: var(--clay-dark); font-size: 22px; font-weight: 400; top: 15px; }
.procedure-detail-faq-list details[open] summary::after { content: '–'; }
.procedure-detail-faq-list details p { margin: -2px 32px 23px 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
@media (max-width: 980px) {
	.procedure-detail-layout, .procedure-detail-reading__inner, .procedure-detail-faqs__inner { grid-template-columns: 1fr; gap: 38px; }
	.procedure-detail-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); position: static; }
	.procedure-detail-note { max-width: 680px; }
}
@media (max-width: 700px) {
	.procedure-detail-intro { padding-top: 54px; }
	.procedure-focus-grid, .procedure-detail-pathway__grid, .procedure-detail-rail { grid-template-columns: 1fr; }
	.procedure-focus-card { min-height: 0; }
	.procedure-detail-pathway { padding: 58px 0; }
	.procedure-detail-pathway__head { display: block; }
	.procedure-detail-pathway__head h2 { margin-top: 13px; }
}

.surgeon-gallery-slider{position:relative;padding:0 4px 32px}.surgeon-slider-viewport{overflow:hidden}.surgeon-slider-track{display:flex;gap:0;will-change:transform;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.surgeon-slide{flex:0 0 100%;max-width:100%;padding:0 8px}.surgeon-slide .outcome-card{height:100%;border-radius:10px;box-shadow:0 10px 26px rgba(12,31,53,.08)}.surgeon-slide .outcome-content{display:block;padding:15px 16px 17px}.surgeon-slide .outcome-title{font-size:1.35rem;line-height:1.1}.surgeon-slide .outcome-detail{display:block;margin-top:6px;font-size:.82rem;color:var(--muted)}.surgeon-slider-arrow{position:absolute;top:44%;z-index:2;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 8px 22px rgba(12,31,53,.14)}.surgeon-slider-arrow--prev{left:-12px}.surgeon-slider-arrow--next{right:-12px}.surgeon-slider-arrow:disabled{opacity:.35;cursor:default}.surgeon-slider-dots{display:flex;justify-content:center;gap:7px;margin-top:18px}.surgeon-slider-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ccd2d8}.surgeon-slider-dot.is-active{width:24px;border-radius:999px;background:var(--clay)}
@media(min-width:700px){.surgeon-slide{flex:0 0 33.333%;max-width:33.333%}}

/* Surgeon clinical gallery refinement */
.surgeon-profile .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:30px}
.surgeon-profile .section-head .eyebrow{margin-bottom:10px}
.surgeon-profile .section-head h2{margin:0}
.surgeon-profile .section-head .btn{flex:0 0 auto;margin-bottom:3px}
.surgeon-gallery-slider{padding:0 16px 38px}
.surgeon-slider-viewport{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 38px rgba(13,27,45,.06)}
.surgeon-slider-track{padding:12px 0}
.surgeon-slide{padding:0 10px}
.surgeon-slide .outcome-card{position:relative;border:0;border-radius:10px;box-shadow:none;cursor:zoom-in;transition:transform .25s ease,box-shadow .25s ease}
.surgeon-slide .outcome-card:hover{transform:translateY(-4px);box-shadow:0 14px 26px rgba(13,27,45,.14)}
.surgeon-slide .outcome-media{position:relative;aspect-ratio:4/3;border-radius:8px 8px 0 0}
.surgeon-slide .outcome-media::after{content:'View photograph ↗';position:absolute;inset:auto 12px 12px auto;padding:7px 10px;border-radius:999px;background:rgba(13,27,45,.88);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:.2s ease}
.surgeon-slide .outcome-card:hover .outcome-media::after,.surgeon-slide .outcome-card:focus-visible .outcome-media::after{opacity:1;transform:translateY(0)}
.surgeon-slide .outcome-content{padding:15px 15px 17px;background:#fff}
.surgeon-slide .outcome-title{font-family:var(--font-display);font-size:1.45rem;color:var(--ink)}
.surgeon-slider-arrow{top:42%;width:48px;height:48px;border-color:#d9dfe5}
.surgeon-slider-arrow--prev{left:-8px}.surgeon-slider-arrow--next{right:-8px}
.kpas-gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(8,20,34,.82);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.kpas-gallery-lightbox.is-open{opacity:1;visibility:visible}
.kpas-gallery-lightbox__dialog{position:relative;width:min(100%,1050px);max-height:calc(100dvh - 48px);padding:14px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,.35)}
.kpas-gallery-lightbox__image{display:block;max-width:100%;max-height:calc(100dvh - 120px);margin:auto;object-fit:contain}
.kpas-gallery-lightbox__caption{padding:11px 4px 0;color:var(--ink);font-family:var(--font-display);font-size:1.35rem}
.kpas-gallery-lightbox__close{position:absolute;top:-12px;right:-12px;width:42px;height:42px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:26px;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.25)}
@media(max-width:700px){.surgeon-profile .section-head{align-items:flex-start;flex-direction:column;gap:18px}.surgeon-profile .section-head .btn{width:100%;margin:0}.surgeon-gallery-slider{padding-inline:0}.surgeon-slider-viewport{border-radius:10px}.surgeon-slide{padding:0 6px}.kpas-gallery-lightbox{padding:12px}.kpas-gallery-lightbox__dialog{max-height:calc(100dvh - 24px);padding:8px}.kpas-gallery-lightbox__image{max-height:calc(100dvh - 85px)}}
.single-kpas_surgeon .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:30px}.single-kpas_surgeon .section-head .eyebrow{margin-bottom:10px}.single-kpas_surgeon .section-head h2{margin:0}.single-kpas_surgeon .section-head .btn{flex:0 0 auto;margin-bottom:3px}@media(max-width:700px){.single-kpas_surgeon .section-head{align-items:flex-start;flex-direction:column;gap:18px}.single-kpas_surgeon .section-head .btn{width:100%;margin:0}}


/* Navigation compatibility with submenu toggle controls */
.kpas-nav-expand{display:none}.site-header .logo-image img.custom-logo{height:100px;width:auto;max-width:310px;object-fit:contain}.site-footer .custom-logo{width:230px;height:auto}.kpas-gallery-lightbox[aria-hidden="true"]{pointer-events:none}.surgeon-slide.outcome-card{cursor:zoom-in;border:0;box-shadow:none}.surgeon-slide .outcome-media img{object-fit:contain;background:var(--paper)}
@media(max-width:1100px){.site-header .logo-image img.custom-logo{height:64px;max-width:200px}.site-nav{top:var(--kpas-nav-top,100px);max-height:calc(100dvh - var(--kpas-nav-top,100px));}.site-nav .nav-item,.site-nav .dropdown-item{position:relative}.site-nav .nav-btn,.site-nav .dropdown-link{padding-right:54px}.site-nav .kpas-nav-expand{display:grid;place-items:center;position:absolute;right:0;top:5px;width:44px;height:44px;border:1px solid rgba(255,255,255,.22);background:transparent;color:white}.site-nav .dropdown,.site-nav .flyout,.site-nav .dropdown-item:focus-within{background:#10243b}.site-nav .dropdown-item:hover,.site-nav .dropdown-item:focus-within,.site-nav .dropdown a:focus{background:#10243b;color:white}.site-nav .dropdown,.site-nav .flyout{display:none}.site-nav .nav-item.is-open>.dropdown,.site-nav .dropdown-item.is-open>.flyout{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Components added after baseline recovery */
[hidden]{display:none!important}.disclaimer-bar{background:#f4f3f1;border-bottom:1px solid #e6e6e6;color:#33495f;font-size:12px}.disclaimer-bar-inner{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:center;gap:20px;padding:9px 24px}.disclaimer-bar p{margin:0}.disclaimer-bar a{text-decoration:underline}.disclaimer-bar-close{flex:0 0 28px;height:28px;font-size:20px}.book-now-tab{position:fixed;right:0;top:42%;z-index:110;display:flex;align-items:center;gap:18px;border-radius:50px 0 0 50px;padding:9px 9px 9px 26px;background:#142b45;color:#fff;box-shadow:0 12px 30px #0d1b2d22}.book-now-tab-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.book-now-tab-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0d1b2d;color:#c8b281}.book-now-tab-icon svg{width:22px;height:22px}.book-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.book-modal-overlay{position:absolute;inset:0;background:#0d1b2dcc}.book-modal-panel{position:relative;width:min(680px,100%);max-height:90dvh;overflow:auto;padding:38px;background:white}.book-modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;background:#142b45;color:white}.book-modal-close svg{width:24px;height:24px}.book-modal-active{overflow:hidden}.back-to-top{position:fixed;bottom:24px;right:24px;z-index:110;width:48px;height:48px;border-radius:50%;background:#142b45;color:white;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top svg{width:22px;height:22px;margin:auto}.kpas-entrance.kpas-entered{animation:kpas-section-enter .6s ease both}@keyframes kpas-section-enter{from{opacity:.2;transform:translateY(20px)}to{opacity:1;transform:none}}.footer-grid{grid-template-columns:1.4fr repeat(4,1fr)}.footer-brand .logo{margin-bottom:20px}.footer-brand p{font-size:14px}.home-procedures .card{display:flex;flex-direction:column}.home-procedures .card>.media{display:block;flex-shrink:0}.home-procedures .card .body{flex:1;display:flex;flex-direction:column;align-items:flex-start}.home-procedures .card .text-link{margin-top:auto}.home-procedures .card .body p{font-size:15px}.standard-icon svg{width:24px;height:24px}.proc-row-head{position:relative}.proc-row-head>a{display:flex;align-items:center;gap:20px;flex:1}.proc-row-head button{width:40px;height:40px}.surgeon-slide.outcome-card{transform:none!important}.single-post .blog-further-reading .card-grid{grid-template-columns:1fr}.single-post .further-reading-card{display:grid;grid-template-columns:190px 1fr}.single-post .further-reading-card .media{height:100%;aspect-ratio:auto}.single-post .further-reading-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}.hero-mosaic{grid-template-columns:1fr 1fr}.hero-mosaic img{min-height:0!important;max-height:360px}.hero-mosaic .wide{grid-column:1/-1}.book-now-tab{top:auto;bottom:88px;padding-left:16px}.book-now-tab-label{font-size:10px}.book-now-tab-icon{width:34px;height:34px}}@media(max-width:640px){.hero-mosaic{grid-template-columns:1fr}.hero-mosaic img{max-height:300px}.footer-grid{grid-template-columns:1fr}.disclaimer-bar-inner{padding:8px 16px;gap:10px}.book-modal{padding:12px}.book-modal-panel{padding:38px 20px 20px}.single-post .further-reading-card{grid-template-columns:110px 1fr}}

/* Restored current gallery, directory and profile components */
.gallery-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-bottom:32px}
.gallery-category-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;min-height:260px;padding:28px;background-size:cover;background-position:center;color:#fff;overflow:hidden;border-radius:3px;transition:transform .25s,box-shadow .25s}
.gallery-category-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 30%,#0d1b2ddd)}
.gallery-category-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0d1b2d18;color:white}
.gallery-category-card-label{font-family:Cormorant,serif;font-size:28px;line-height:1.15}
.gallery-category-card-arrow{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#ffffff30}
.kpas-gallery-hero{padding:64px 0 72px;background:#f4f3f1}.kpas-gallery-hero p{max-width:820px}
.kg-area-nav,.kg-pills,.kg-surgeons,.kg-angles,.kg-switch>div{display:flex;flex-wrap:wrap;gap:10px}.kg-area-nav{margin:24px 0 32px}
.kg-area-nav a,.kg-pills button,.kg-surgeons button,.kg-angles button,.kg-switch a{display:inline-flex;padding:11px 20px;border:1px solid #dfe3e7;border-radius:30px;background:white;color:#102740;font-size:14px;cursor:pointer}
.kg-area-nav .is-current,.kg-pills .is-selected,.kg-surgeons .is-selected,.kg-angles .is-selected,.kg-switch .is-current{background:#0d1b2d;color:white;border-color:#0d1b2d}
.kg-filter-block{margin-bottom:32px}.kg-filter-block .eyebrow{display:block;margin-bottom:18px}
.kg-status{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:40px 0;padding:28px 0;border-top:1px solid #dfe3e7}.kg-status .eyebrow{margin:0}.kg-status strong{margin-left:auto;font-size:14px}
.kg-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.kg-case{border:1px solid #dfe3e7;border-radius:12px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:box-shadow .25s}.kg-case:hover{box-shadow:0 12px 36px #0d1b2d10}
.kg-photo{position:relative;display:flex;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.kg-photo img{display:block;width:50%;height:auto;object-fit:contain}.kg-photo.is-combined img{width:100%}.kg-photo>span{display:none}
.kg-case-body{padding:30px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.kg-case-body small{color:#b29968;letter-spacing:.1em}.kg-case-body h2{font-size:36px;margin:12px 0}.kg-case-body p{margin:0 0 10px;font-size:16px}.kg-view{margin-top:auto;padding:20px 0 0;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700}.kg-view span{margin-left:14px}
.kg-disclaimer{display:flex;gap:20px;padding:30px;background:#f4f3f1;margin:48px 0}.kg-disclaimer>span{flex:0 0 28px}.kg-disclaimer p{margin:10px 0 0;font-size:14px}
.kg-surgeon-strip{padding:36px 0}.kg-surgeon-strip>div{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.kg-surgeon-strip a{display:flex;flex-direction:column;gap:10px}.kg-surgeon-strip img{width:100%;height:180px;object-fit:contain;background:#f4f3f1}.kg-surgeon-strip small{font-size:12px}
.kg-switch{padding:32px 0}.kg-switch .eyebrow{display:block;margin-bottom:20px}.kg-cta{padding:72px 0;background:#142b45;color:white;text-align:center}.kg-cta h2{color:white}.kg-cta p{max-width:700px;margin:20px auto 28px}.kg-cta .btn-light{background:white;color:#142b45}
.kg-modal{width:min(1120px,94vw);max-height:90dvh;border:0;border-radius:12px;padding:40px;color:#142b45;overflow:auto}.kg-modal::backdrop{background:#0d1b2dcb}.kg-modal:not([open]){display:none}.kg-modal .kg-close{position:sticky;display:block;margin-left:auto;top:0;z-index:2;width:44px;height:44px;background:#142b45;color:white;font-size:28px;border-radius:4px}.kg-modal-content h2{margin:18px 0}.kg-compare{display:flex;gap:12px}.kg-compare figure{flex:1;margin:0;min-width:0}.kg-compare img{display:block;width:100%;max-height:65dvh;object-fit:contain}.kg-compare.is-combined figcaption{display:none}.kg-angles{justify-content:center;margin-top:24px}
.procedure-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.procedure-card{display:flex;flex-direction:column;border:1px solid #e0e3e6;background:white;overflow:hidden;transition:transform .25s,box-shadow .25s}.procedure-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0d1b2d14}.procedure-card-media{aspect-ratio:4/3;overflow:hidden;background:#142b45;display:grid;place-items:center}.procedure-card-media img{width:100%;height:100%;object-fit:cover}.procedure-card-media--placeholder:after{content:"KINGS PARK";font-family:Cormorant,serif;color:#c8b281;font-size:30px;letter-spacing:.12em}.procedure-card-body{padding:28px;flex:1}.procedure-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.procedure-card-head h3{margin:0}.procedure-card-arrow{width:28px;flex-shrink:0}.procedure-card-arrow svg{width:24px;height:24px}.procedure-card-rule{border:0;border-top:1px solid #e0e3e6;margin:20px 0}.procedure-card-body p{font-size:16px;margin:0}
.procedure-category-hero{padding:0;background:#f4f3f1}
.procedure-category-hero__inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:center;min-height:clamp(420px,38vw,700px)}
.procedure-category-hero__copy{min-width:0;padding:36px 0}
.procedure-category-hero__media{min-width:0;height:clamp(420px,38vw,700px);display:flex;align-items:center;justify-content:center;padding:8px 0}
.procedure-category-hero__media img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center bottom;transform:none}
@media(max-width:767px){.procedure-category-hero__inner{grid-template-columns:1fr!important;min-height:auto;gap:0}.procedure-category-hero__copy{padding:36px 0 20px}.procedure-category-hero__media{height:auto;padding:0 0 12px}.procedure-category-hero__media img{width:100%;height:auto;max-height:none;transform:none}}
.profile-media{position:relative;max-width:540px;width:100%;margin:auto}.profile-media-frame{background:#f4f3f1;overflow:hidden}.profile-photo{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.profile-media-badge{position:relative;padding:20px 24px;background:#142b45;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}.profile-media-badge-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#c8b281}
.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-card--text{display:flex;flex-direction:column;align-items:stretch;min-height:230px;background:#142b45}.expertise-card--text:before{display:none}.expertise-card-top{display:flex;flex-direction:column;gap:20px}.expertise-card-list{font-size:15px;color:#dbe2e9}.expertise-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-size:13px}.surgeon-gallery-empty{padding:36px;border:1px solid #dfe3e7;background:#f4f3f1}
.card-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.blog .card .body{display:flex;flex-direction:column;flex:1}.blog .card{display:flex;flex-direction:column}.blog .card .text-link{margin-top:auto}
@media(max-width:1100px){.gallery-category-grid,.procedure-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procedure-category-hero__inner{gap:30px}.kg-surgeon-strip>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.gallery-category-grid,.procedure-gallery-grid,.kg-case-grid,.expertise-grid,.procedure-category-hero__inner{grid-template-columns:1fr}.gallery-category-card{min-height:280px}.kg-case-body{padding:24px}.kg-modal{padding:20px}.kg-status{gap:14px}.kg-status strong{margin-left:0}.kg-photo img{height:auto}.kpas-gallery-hero{padding:40px 0}.kg-pills button,.kg-surgeons button{padding:10px 14px}.kg-disclaimer{padding:22px}.profile-media-badge{flex-wrap:wrap}}

/* Article navigation and accessible FAQ controls */
.blog-toc{padding:28px 32px;margin:32px 0;background:#f4f3f1;border-left:3px solid #b29968}.blog-toc-label{display:block;margin-bottom:16px;color:#947c50;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.blog-toc ol{display:grid;gap:10px;padding-left:20px;list-style:decimal}.blog-toc a:hover{text-decoration:underline}.blog-content h2{scroll-margin-top:130px}.faq-modern summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none}.faq-modern summary::-webkit-details-marker{display:none}.faq-modern .faq-icon{flex:0 0 24px}.faq-modern .faq-icon:after{content:"+";font-size:24px}.faq-modern details[open] .faq-icon:after{content:"−"}.faq-modern summary:after{display:none}
@media(max-width:1100px){.site-nav .dropdown-link{min-height:50px;display:flex;align-items:center}.site-nav .kpas-nav-expand{top:3px}}

/* Homepage controls, full-panel map and dark age notice */
.disclaimer-bar{background:#000;color:#fff;border-bottom:0}.disclaimer-bar a,.disclaimer-bar-close{color:#fff}.disclaimer-bar-close:hover{background:#ffffff20}
.home-surgical-areas .proc-row{position:relative}.home-surgical-areas .proc-row-head{min-height:96px;padding-right:82px}.home-surgical-areas .kpas-proc-expand{position:absolute;right:20px;top:26px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d9dfe4;border-radius:50%;color:#142b45;background:transparent;cursor:pointer;transition:background .2s,border-color .2s}.home-surgical-areas .kpas-proc-expand>span{display:none}.home-surgical-areas .kpas-proc-expand:before,.home-surgical-areas .kpas-proc-expand:after{content:"";position:absolute;width:14px;height:2px;background:currentColor;transition:transform .2s}.home-surgical-areas .kpas-proc-expand:after{transform:rotate(90deg)}.home-surgical-areas .kpas-proc-expand[aria-expanded="true"]:after{transform:rotate(0)}.home-surgical-areas .kpas-proc-expand:hover{background:#142b45;color:white;border-color:#142b45}.home-surgical-areas .proc-chips{height:auto}.home-surgical-areas .proc-row.is-active .proc-chips{max-height:600px}
.home-location .kpas-location-map{display:block;position:relative;padding:0;min-height:400px;overflow:hidden;background:#e9edef}.home-location .kpas-location-map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;margin:0;max-width:none}
.book-now-tab{isolation:isolate;overflow:hidden;transition:box-shadow .3s ease,padding-left .3s ease}.book-now-tab-bg{position:absolute;inset:0;z-index:-1;background:#a58a56;transform:translateX(101%);transition:transform .35s ease}.book-now-tab-label{position:relative}.book-now-tab-icon{transition:background .3s,color .3s}.book-now-tab-icon svg{transition:transform .3s}.book-now-tab:hover,.book-now-tab:focus-visible{padding-left:34px;box-shadow:0 14px 36px #0d1b2d40;color:white}.book-now-tab:hover .book-now-tab-bg,.book-now-tab:focus-visible .book-now-tab-bg{transform:translateX(0)}.book-now-tab:hover .book-now-tab-icon svg,.book-now-tab:focus-visible .book-now-tab-icon svg{transform:translateX(3px)}
@media(max-width:700px){.home-location .kpas-location-map{min-height:320px}.home-surgical-areas .proc-row-head{padding-right:76px}.home-surgical-areas .kpas-proc-expand{right:14px}.book-now-tab:hover,.book-now-tab:focus-visible{padding-left:20px}}
@media(prefers-reduced-motion:reduce){.book-now-tab,.book-now-tab-bg,.book-now-tab-icon svg,.home-surgical-areas .kpas-proc-expand:after{transition:none}}

/* Arrow-only procedure rows and white booking hover */
.home-surgical-areas .kpas-proc-expand{display:none!important}
.home-surgical-areas .proc-row-head{padding-right:24px}
.book-now-tab .book-now-tab-bg{background:#fff}
.book-now-tab:hover,.book-now-tab:focus-visible{color:#142b45}
.book-now-tab:hover .book-now-tab-icon,.book-now-tab:focus-visible .book-now-tab-icon{background:#142b45;color:#fff}

/* Mobile navigation contrast and persistent header */
@media(max-width:1100px){
.site-header{position:sticky!important;top:0!important;transform:none!important;visibility:visible!important;z-index:500;overflow:visible}
body.admin-bar .site-header{top:32px!important}
.site-nav{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.site-nav .chevron,.site-nav .dropdown-link>svg,.site-nav .dropdown-link>span[aria-hidden="true"]{display:none!important}
.site-nav .nav-btn,.site-nav .dropdown-link,.site-nav .dropdown a,.site-nav .flyout a,.site-nav .nav-btn:hover,.site-nav .dropdown-link:hover,.site-nav .dropdown-link:focus,.site-nav .dropdown-link:active{color:#fff!important;opacity:1!important}
.site-nav .dropdown-link:before,.site-nav .dropdown-link:after{display:none!important}
.site-nav .nav-item.is-open>.dropdown,.site-nav .dropdown-item.is-open>.flyout{display:block!important;visibility:visible;opacity:1}
.home-surgical-areas .proc-row-head h3{color:#142b45}.home-surgical-areas .proc-row-head .num{color:#a58a56}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px!important}#wpadminbar{position:fixed!important}}

/* Square corners for gallery filters and procedure choices */
.kg-area-nav a,.kg-pills button,.kg-surgeons button,.kg-angles button,.kg-switch a,.home-surgical-areas .proc-chip{border-radius:0}

/* Compact case lightbox: image-led layout and accessible close control */
.kg-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border-radius:16px;box-shadow:0 24px 90px #0005;overscroll-behavior:contain}
.kg-modal::backdrop{background:rgba(8,19,32,.8);backdrop-filter:blur(5px)}
.kg-modal .kg-close{position:absolute;top:16px;right:16px;margin:0;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dce2e8;border-radius:50%;background:#f3f5f7;color:#142b45;font-size:0;cursor:pointer;transition:background .2s,transform .2s,color .2s}
.kg-modal .kg-close:before,.kg-modal .kg-close:after{content:"";position:absolute;width:16px;height:2px;background:currentColor;transform:rotate(45deg)}
.kg-modal .kg-close:after{transform:rotate(-45deg)}
.kg-modal .kg-close:hover{background:#142b45;color:#fff;transform:rotate(90deg)}
.kg-modal .kg-close:focus-visible{outline:3px solid #b29968;outline-offset:3px}
.kg-modal-content>.eyebrow{display:block;margin:0 54px 6px 0;font-size:11px}
.kg-modal-content>h2{margin:0 54px 6px 0;font-size:clamp(26px,4vw,36px);line-height:1.15}
.kg-modal-content>p{margin:0 50px 18px 0;font-size:14px;line-height:1.5}
.kg-modal .kg-compare{justify-content:center;gap:8px}
.kg-modal .kg-compare figure{display:flex;flex-direction:column;align-items:center}
.kg-modal .kg-compare img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 220px);object-fit:contain;border-radius:4px}
.kg-modal .kg-angles{margin-top:16px;gap:8px}
.kg-modal .kg-angles button{padding:8px 18px;font-size:12px}
@media(max-width:600px){.kg-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 14px;border-radius:12px}.kg-modal .kg-close{top:12px;right:12px}.kg-modal-content>p{font-size:12px;margin-bottom:14px}.kg-modal .kg-compare img{max-height:calc(100dvh - 200px)}}
@media(prefers-reduced-motion:reduce){.kg-modal .kg-close{transition:none}}

/* Homepage Clinical Standards: scoped editorial layout. */
.home-clinical-standards{background:var(--ink);color:var(--paper);padding-block:clamp(56px,7.5vw,112px)}
.home-clinical-standards .standards-layout{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:clamp(32px,4vw,64px);align-items:start}
.home-clinical-standards .standards-copy,.home-clinical-standards .standards-detail{min-width:0}
.home-clinical-standards .standards-eyebrow{display:flex;align-items:center;gap:18px;color:var(--clay);letter-spacing:.24em;margin-bottom:26px}
.home-clinical-standards .standards-eyebrow::after{content:"";width:48px;height:1px;background:var(--clay)}
.home-clinical-standards .standards-copy h2{font-family:var(--font-display);font-size:clamp(38px,4.4vw,66px);font-weight:400;line-height:1.04;letter-spacing:0;color:var(--paper);margin:0 0 24px;max-width:none;overflow-wrap:break-word}
.home-clinical-standards .standards-intro{font-size:clamp(16px,1.4vw,19px);line-height:1.65}
.home-clinical-standards .standards-intro p:last-child{margin-bottom:0}
.home-clinical-standards .standards-image{margin:44px 0 0;overflow:hidden;border-radius:0 clamp(80px,10vw,160px) 0 0}
.home-clinical-standards .standards-image img{width:100%;max-width:100%;aspect-ratio:1.4;object-fit:cover;height:auto}
.home-clinical-standards .standards-item{border-top:1px solid rgba(244,243,241,.38);background:transparent;border-radius:0;box-shadow:none}
.home-clinical-standards .standards-item:last-child{border-bottom:1px solid rgba(244,243,241,.38)}
.home-clinical-standards .standards-item h3{margin:0;font-weight:400}
.home-clinical-standards .standards-trigger{display:grid;grid-template-columns:42px minmax(0,1fr) 44px;gap:18px;align-items:start;width:100%;min-height:88px;padding:24px 0;text-align:left;background:transparent;border:0;border-radius:0;color:var(--paper);box-shadow:none;cursor:pointer}
.home-clinical-standards .standards-trigger--static{cursor:default}
.home-clinical-standards .standards-number{font-family:var(--font-display);font-size:30px;line-height:1.2;font-weight:400;color:var(--clay)}
.home-clinical-standards .standards-title{min-width:0;font-family:var(--font-display);font-size:clamp(20px,1.8vw,24px);line-height:1.35;font-weight:400;letter-spacing:.035em;text-transform:uppercase;overflow-wrap:anywhere;padding-top:2px}
.home-clinical-standards .standards-toggle-icon{width:44px;height:36px;line-height:36px;font-size:22px;color:var(--clay);justify-self:end}
.home-clinical-standards .standards-trigger:focus-visible{outline:2px solid var(--clay);outline-offset:5px;border-radius:0}
.home-clinical-standards .standards-trigger:hover .standards-title{color:var(--clay)}
.home-clinical-standards .standards-panel{overflow:hidden}
.home-clinical-standards .standards-panel[hidden]{display:none}
.home-clinical-standards .standards-description{padding:0 44px 26px 60px;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--paper);overflow-wrap:anywhere}
.home-clinical-standards .standards-description p{margin:0 0 12px}
.home-clinical-standards .standards-description p:last-child{margin:0}
.home-clinical-standards .standards-description img,.home-clinical-standards .standards-description iframe{max-width:100%}
.home-clinical-standards .standards-footer{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
.home-clinical-standards .standards-footer .btn{display:inline-flex;align-items:center;gap:14px;white-space:normal;text-align:left;border:1px solid var(--paper);border-radius:0;color:var(--paper);font-size:11px;letter-spacing:.14em;padding:17px 22px;min-height:48px;background:transparent}
.home-clinical-standards .standards-footer .btn:hover{color:var(--ink);background:var(--paper)}
.home-clinical-standards .standards-footer .dashicons{color:var(--clay);flex-shrink:0}
.home-clinical-standards .standards-note{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);overflow-wrap:anywhere}
@media(max-width:1099px){.home-clinical-standards .standards-layout{grid-template-columns:1fr;gap:40px}.home-clinical-standards .standards-copy h2{max-width:none;font-size:clamp(36px,5.8vw,56px)}.home-clinical-standards .standards-image{max-width:680px}.home-clinical-standards .standards-image img{aspect-ratio:1.6}.home-clinical-standards{padding-block:80px}}
@media(max-width:767px){.home-clinical-standards{padding-block:56px}.home-clinical-standards .container{width:calc(100% - 40px);padding-inline:0}.home-clinical-standards .standards-copy h2{font-size:clamp(34px,8.5vw,48px);line-height:1.08;margin-bottom:20px}.home-clinical-standards .standards-eyebrow{margin-bottom:20px}.home-clinical-standards .standards-image{margin-top:28px}.home-clinical-standards .standards-image img{aspect-ratio:4/3}.home-clinical-standards .standards-trigger{grid-template-columns:30px minmax(0,1fr) 32px;gap:12px;min-height:80px;padding:22px 0}.home-clinical-standards .standards-title{font-size:20px;letter-spacing:.015em}.home-clinical-standards .standards-number{font-size:27px}.home-clinical-standards .standards-toggle-icon{width:32px}.home-clinical-standards .standards-description{padding:0 0 24px 42px;font-size:16px}.home-clinical-standards .standards-footer{gap:20px}.home-clinical-standards .standards-footer .btn{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.home-clinical-standards *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Clinical Standards: aligned content with only the image bleeding left. */
.home-clinical-standards{padding-block:0;container-type:inline-size}
.home-clinical-standards .container.standards-layout{width:100%;max-width:var(--container);margin-inline:auto;padding:0 24px;gap:clamp(32px,4vw,64px);align-items:stretch}
.home-clinical-standards .standards-copy{display:flex;flex-direction:column;padding-top:clamp(56px,6vw,100px)}
.home-clinical-standards .standards-copy>.standards-eyebrow,.home-clinical-standards .standards-copy>h2,.home-clinical-standards .standards-copy>.standards-intro{margin-left:0;margin-right:0}
.home-clinical-standards .standards-intro{margin-bottom:40px}
.home-clinical-standards .standards-image{--standards-bleed:max(24px,calc((100cqw - var(--container))/2 + 24px));width:calc(100% + var(--standards-bleed));max-width:none;margin:auto 0 0 calc(-1 * var(--standards-bleed));flex-shrink:0}
.home-clinical-standards .standards-image img{display:block}
.home-clinical-standards .standards-detail{padding:clamp(56px,6vw,100px) 0}
@media(max-width:1099px){.home-clinical-standards .container.standards-layout{gap:0}.home-clinical-standards .standards-detail{padding:48px 0 56px}.home-clinical-standards .standards-image img{aspect-ratio:16/9}}
@media(max-width:767px){.home-clinical-standards .standards-copy{padding-top:48px}.home-clinical-standards .standards-intro{margin-bottom:32px}.home-clinical-standards .standards-image img{aspect-ratio:4/3}.home-clinical-standards .standards-detail{padding:40px 0 48px}}

/* Patient Journey: isolated editorial sequence, ACF Free managed stages. */
.home-patient-journey{background:var(--paper);color:var(--ink);padding-block:clamp(80px,7vw,112px)}
.home-patient-journey .pj-container{width:calc(100% - 96px);max-width:1440px;padding:0;margin-inline:auto}
.home-patient-journey .pj-intro{max-width:880px;margin-bottom:42px}
.home-patient-journey .pj-eyebrow{display:flex;align-items:center;gap:18px;color:var(--clay-dark);letter-spacing:.24em;margin-bottom:24px}
.home-patient-journey .pj-eyebrow::after{content:"";width:56px;border-top:1px solid var(--clay-dark)}
.home-patient-journey .pj-intro h2{font-family:var(--font-display);font-weight:400;font-size:clamp(42px,4.8vw,72px);line-height:1.03;letter-spacing:-.015em;max-width:700px;margin:0 0 24px;overflow-wrap:break-word}
.home-patient-journey .pj-intro p{font:400 18px/1.65 var(--font-body);color:var(--ink-soft);margin:0;max-width:850px}
.home-patient-journey .pj-sequence{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px}
.home-patient-journey .pj-stage{min-width:0;margin:0;padding:0;display:flex;flex-direction:column;background:transparent;border:0;box-shadow:none}
.home-patient-journey .pj-image{margin:0 0 16px;position:relative;overflow:hidden;aspect-ratio:4/4.2;border-radius:2px}
.home-patient-journey .pj-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 30%;transition:transform .3s ease}

.home-patient-journey .pj-number-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;color:var(--clay-dark)}
.home-patient-journey .pj-number{font:400 40px/1.1 var(--font-display)}
.home-patient-journey .pj-connector{display:flex;align-items:center;justify-content:flex-end;flex:1;height:24px;font-size:22px;transition:transform .3s ease}
.home-patient-journey .pj-connector::before{border-top:1px solid var(--clay);width:55%;line-height:0;text-align:right}
.home-patient-journey .pj-stage:last-child .pj-connector{visibility:hidden}
.home-patient-journey .pj-stage h3{font:500 20px/1.2 var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;min-height:96px;overflow-wrap:break-word}
.home-patient-journey .pj-stage h3::before{content:"";display:block;width:34px;border-top:1px solid var(--ink-soft);margin-bottom:20px}
.home-patient-journey .pj-description{font:400 16px/1.6 var(--font-body);color:var(--ink-soft);margin:0;overflow-wrap:break-word}
.home-patient-journey .pj-stage-link{min-height:44px;margin-top:18px;display:inline-flex;align-items:center;gap:10px;font-size:12px}
.home-patient-journey .pj-footer{margin-top:38px}
.home-patient-journey .pj-footer .btn{display:inline-flex;align-items:center;gap:18px;min-height:48px;white-space:normal}
.home-patient-journey a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(hover:hover){.home-patient-journey .pj-image:hover img{transform:scale(1.025)}.home-patient-journey .pj-stage:hover .pj-connector{transform:translateX(3px)}}
@media(min-width:900px) and (max-width:1199px){.home-patient-journey .pj-sequence{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.home-patient-journey .pj-stage:nth-child(3n) .pj-connector{visibility:hidden}.home-patient-journey .pj-stage h3{min-height:66px}}
@media(min-width:768px) and (max-width:899px){.home-patient-journey .pj-sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.home-patient-journey .pj-stage:nth-child(2n) .pj-connector{visibility:hidden}.home-patient-journey .pj-stage h3{min-height:66px}}
@media(max-width:1199px){.home-patient-journey{padding-block:80px}.home-patient-journey .pj-container{width:calc(100% - 64px)}.home-patient-journey .pj-image{aspect-ratio:4/3}}
@media(max-width:767px){.home-patient-journey{padding-block:56px}.home-patient-journey .pj-container{width:calc(100% - 40px)}.home-patient-journey .pj-intro{margin-bottom:32px}.home-patient-journey .pj-intro h2{font-size:clamp(36px,8.8vw,54px);line-height:1.07}.home-patient-journey .pj-intro p{font-size:16px;line-height:1.65}.home-patient-journey .pj-sequence{grid-template-columns:1fr;gap:0}.home-patient-journey .pj-stage{position:relative;padding:0 0 42px 20px;border-left:1px solid var(--clay)}.home-patient-journey .pj-stage:last-child{padding-bottom:0;border-color:transparent}.home-patient-journey .pj-image{aspect-ratio:4/3;margin-bottom:14px}.home-patient-journey .pj-number-row{margin-bottom:16px}.home-patient-journey .pj-number{font-size:36px}.home-patient-journey .pj-connector{position:absolute;left:-12px;bottom:16px;width:24px;height:24px;transform:rotate(90deg);background:var(--paper);display:block;flex:none}.home-patient-journey .pj-connector::before{border:0;width:auto;line-height:1}.home-patient-journey .pj-stage h3{min-height:0;font-size:24px;margin-bottom:12px}.home-patient-journey .pj-stage h3::before{margin-bottom:16px}.home-patient-journey .pj-footer{margin-top:32px}.home-patient-journey .pj-footer .btn{font-size:11px;padding:16px 20px;max-width:100%}}
@media(prefers-reduced-motion:reduce){.home-patient-journey *{transition:none!important;animation:none!important;scroll-behavior:auto}.home-patient-journey .pj-image:hover img{transform:none}}

/* Repeated sample overlay, still controlled by each ACF Sample Image switch. */
.home-patient-journey .pj-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;pointer-events:none;font:600 clamp(11px,1vw,15px)/1.4 var(--font-body);letter-spacing:.09em;white-space:nowrap;color:rgba(255,255,255,.66);text-shadow:0 1px 3px rgba(13,27,45,.7);background:transparent;transform:rotate(-18deg)}
.home-patient-journey .pj-watermark::before,.home-patient-journey .pj-watermark::after{content:"KPAS · SAMPLE IMAGE";position:absolute;left:0;right:0;text-align:center;font:inherit;color:inherit;letter-spacing:inherit;text-shadow:inherit}
.home-patient-journey .pj-watermark::before{top:22%}.home-patient-journey .pj-watermark::after{bottom:22%}
@media(max-width:1199px){.home-patient-journey .pj-watermark{font-size:clamp(13px,3vw,20px)}}

/* Homepage section alignment: shared Surgical Areas content boundaries. */
body.home main{--container:var(--container-wide)}
body.home main>section>.container,
body.home main>section>.container-wide,
body.home main>.values-bar>.container{
 width:100%;max-width:var(--container-wide);margin-inline:auto;padding-inline:24px;
}
body.home .home-clinical-standards .container.standards-layout,
body.home .home-patient-journey .container-wide.pj-container{
 width:100%;max-width:var(--container-wide);margin-inline:auto;padding-inline:24px;
}
body.home .home-clinical-standards .standards-image{
 --standards-bleed:max(24px,calc((100cqw - var(--container-wide))/2 + 24px));
}

/* Homepage closing CTA and global footer: preserve all ACF content and WordPress menus. */
body.home main>.cta-band{background:var(--ink);text-align:left;padding:clamp(64px,7vw,108px) 0;border-bottom:1px solid rgba(200,178,129,.28)}
body.home main>.cta-band>.container{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);column-gap:clamp(40px,6vw,96px);align-items:start}
body.home .cta-band .eyebrow{grid-column:1;color:var(--clay);letter-spacing:.26em;margin-bottom:26px}
body.home .cta-band h2{grid-column:1;font-family:var(--font-display);font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1.04;letter-spacing:-.01em;margin:0 0 24px;color:var(--paper)}
body.home .cta-band .rule{grid-column:1;width:64px;height:1px;margin:0 0 24px;background:var(--clay);border-radius:0}
body.home .cta-band p{grid-column:1;max-width:62ch;font-size:clamp(16px,1.4vw,19px);line-height:1.75;margin:0;color:var(--paper)}
body.home .cta-band .btn-row{grid-column:2;grid-row:1/5;align-self:stretch;display:flex;flex-direction:column;align-items:stretch;justify-content:center!important;gap:18px;margin:0;padding-left:clamp(28px,4vw,60px);border-left:1px solid rgba(200,178,129,.5)}
body.home .cta-band .btn{width:100%;min-height:58px;padding:18px 24px;border-radius:0;font-size:12px;letter-spacing:.15em;line-height:1.5;white-space:normal;text-align:center;box-shadow:none}
body.home .cta-band .btn-light{background:var(--clay-dark);border:1px solid var(--clay-dark);color:var(--ink)}
body.home .cta-band .btn-primary{background:transparent;border:1px solid rgba(244,243,241,.65);color:var(--paper)}
body.home .cta-band .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink);transform:none;box-shadow:none}
body.home .cta-band a:focus-visible,.site-footer a:focus-visible,.site-footer summary:focus-visible{outline:2px solid var(--clay);outline-offset:5px;border-radius:0}
.site-footer{background:var(--ink);padding:64px 0 30px;color:var(--paper)}
.site-footer>.container{width:100%;max-width:var(--container-wide);padding-inline:24px;margin-inline:auto}
.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start;padding-bottom:48px}
.site-footer .footer-brand{grid-column:auto;min-width:0;padding-right:28px;border-right:1px solid rgba(200,178,129,.35)}
.site-footer .footer-brand .logo{margin:0 0 26px;display:block}
.site-footer .custom-logo{width:100%;max-width:250px;height:auto;object-fit:contain}
.site-footer .footer-brand p{font-size:13px;line-height:1.8;margin:0 0 18px;color:var(--paper)}
.site-footer .footer-brand p:last-child{margin-bottom:0}
.site-footer .footer-brand a[href^="tel:"],.site-footer .footer-brand a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:32px;overflow-wrap:anywhere}
.site-footer .kpas-footer-group{min-width:0;border:0;margin:0;padding:0}
.site-footer .kpas-footer-group summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:default;padding:0;margin:0 0 22px}
.site-footer .kpas-footer-group summary::-webkit-details-marker{display:none}
.site-footer .kpas-footer-group summary .dashicons{display:none}
.site-footer h3{font:600 11px/1.5 var(--font-body);letter-spacing:.17em;text-transform:uppercase;color:var(--clay);margin:0}
.site-footer .kpas-footer-group ul{display:flex;flex-direction:column;gap:5px;margin:0;padding:0}
.site-footer .kpas-footer-group a{display:block;padding:5px 0;font-size:13px;line-height:1.6;color:var(--paper);overflow-wrap:anywhere;transition:color .15s ease}
.site-footer a:hover{color:var(--clay)}
.site-footer .footer-legal{border-top:1px solid rgba(200,178,129,.4);padding-top:28px}
.site-footer .footer-legal>p{font-size:12px;line-height:1.85;color:#c9d2dc;margin:0 0 24px}
.site-footer .legal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px 36px;margin:0;font-size:11px;line-height:1.8}
.site-footer .legal-row>span{min-width:0}
.site-footer .legal-row>span:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 20px;flex:1 1 640px}
.site-footer .legal-row a{padding:5px 0;overflow-wrap:anywhere}
@media(min-width:768px) and (max-width:1100px){.site-footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}.site-footer .footer-brand{grid-column:1/-1;max-width:none;border-right:0;border-bottom:1px solid rgba(200,178,129,.3);padding:0 0 28px;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px 28px}.site-footer .footer-brand .logo{grid-row:1/3;margin:0}.site-footer .footer-brand p{margin:0}.site-footer .footer-brand p:last-child{grid-column:3}}
@media(max-width:767px){body.home main>.cta-band{padding:56px 0}body.home main>.cta-band>.container{display:flex;flex-direction:column;align-items:stretch;gap:0}body.home .cta-band .eyebrow{margin-bottom:22px}body.home .cta-band h2{font-size:clamp(38px,9vw,54px);line-height:1.08;margin-bottom:22px;overflow-wrap:break-word}body.home .cta-band p{font-size:16px;line-height:1.75}body.home .cta-band .btn-row{border:0;padding:0;margin-top:30px;gap:14px}body.home .cta-band .btn{min-height:56px;padding:16px 18px;font-size:11px}.site-footer{padding:44px 0 24px}.site-footer .footer-grid{display:block;padding-bottom:32px}.site-footer .footer-brand{border:0;padding:0 0 32px}.site-footer .custom-logo{max-width:230px}.site-footer .footer-brand p{font-size:14px}.site-footer .footer-brand a[href^="tel:"],.site-footer .footer-brand a[href^="mailto:"]{min-height:44px}.site-footer .kpas-footer-group{border-top:1px solid rgba(200,178,129,.3)}.site-footer .kpas-footer-group:last-child{border-bottom:1px solid rgba(200,178,129,.3)}.site-footer .kpas-footer-group summary{min-height:64px;padding:20px 0;margin:0;cursor:pointer}.site-footer .kpas-footer-group summary .dashicons{display:block;flex-shrink:0;color:var(--clay);font-size:20px}.site-footer .kpas-footer-group ul{padding:0 0 16px;gap:0}.site-footer .kpas-footer-group a{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:14px}.site-footer .footer-legal{padding-top:24px}.site-footer .legal-row{display:flex;flex-direction:column;gap:12px}.site-footer .legal-row>span:last-child{flex:auto;justify-content:flex-start;gap:0 18px}.site-footer .legal-row a{display:inline-flex;align-items:center;min-height:44px}}

/* Omit optional empty CTA output without introducing new content fields. */
body.home .cta-band .eyebrow:empty,body.home .cta-band h2:empty,body.home .cta-band p:empty,body.home .cta-band .btn:empty,body.home .cta-band .btn[href=""],.site-footer .footer-brand p:empty{display:none}
body.home .cta-band .btn-row:not(:has(.btn:not(:empty):not([href=""]))){display:none}
body.home .cta-band>.container:not(:has(.btn:not(:empty):not([href=""]))){grid-template-columns:minmax(0,1fr)}

/* Restored procedure accordion, scoped to the homepage. */
.home-surgical-areas.proc-restored .proc-explorer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
.home-surgical-areas.proc-restored .proc-image{display:block;position:sticky;top:120px;order:initial;width:100%;height:clamp(360px,38vw,560px);aspect-ratio:auto;background:transparent;overflow:hidden;border-radius:0}
.home-surgical-areas.proc-restored .proc-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
@media(max-width:767px){.home-surgical-areas.proc-restored .proc-explorer{grid-template-columns:minmax(0,1fr);gap:28px}.home-surgical-areas.proc-restored .proc-image{position:relative;top:auto;order:-1;height:300px}}
.home-surgical-areas.proc-restored .proc-row{display:block;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line)}
.home-surgical-areas.proc-restored .proc-row-head{min-height:90px;gap:20px;padding:20px 24px}
.home-surgical-areas.proc-restored .proc-row-head h3{color:var(--ink-soft)}
.home-surgical-areas.proc-restored .proc-row.is-active{background:#fff;border-color:transparent}
.home-surgical-areas.proc-restored .proc-row.is-active h3{color:var(--ink)}
.home-surgical-areas.proc-restored .proc-row-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;color:var(--clay-dark);background:transparent;font-size:22px;transition:transform .2s ease}
.home-surgical-areas.proc-restored .proc-row-toggle:hover{transform:translateX(4px)}
.home-surgical-areas.proc-restored .proc-chips{max-height:none;height:auto;opacity:1;overflow:visible;padding:0 24px 28px;gap:10px;justify-content:flex-start}
.home-surgical-areas.proc-restored .proc-row-prompt{flex:0 0 100%;margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.home-surgical-areas.proc-restored .proc-chip{display:inline-flex;align-items:center;min-height:44px;border-radius:0;padding:9px 16px;font-size:14px}
.home-surgical-areas.proc-restored .proc-row-toggle:focus-visible{outline:2px solid var(--clay-dark);outline-offset:3px}
@media(max-width:767px){.home-surgical-areas.proc-restored .proc-row-head{min-height:76px;padding:16px;gap:12px}.home-surgical-areas.proc-restored .proc-chips{padding:0 16px 22px;gap:8px}.home-surgical-areas.proc-restored .proc-chip{font-size:12px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.home-surgical-areas.proc-restored .proc-row-toggle{transition:none}}

/* Patient Journey: centred six-step layout; retain existing motion and CMS content. */
.home-patient-journey .pj-intro{max-width:920px;margin:0 auto 46px;text-align:center}
.home-patient-journey .pj-eyebrow{justify-content:center;margin-bottom:18px}
.home-patient-journey .pj-eyebrow::after{display:none}
.home-patient-journey .pj-intro h2{max-width:900px;margin:0 auto 18px;font-size:clamp(38px,4.1vw,64px);line-height:1.08}
.home-patient-journey .pj-intro p{max-width:850px;margin-inline:auto}
.home-patient-journey .pj-intro::after{content:"";display:block;width:56px;margin:24px auto 0;border-top:1px solid var(--clay-dark)}
.home-patient-journey .pj-sequence{gap:26px}
.home-patient-journey .pj-stage{text-align:center;position:relative}
.home-patient-journey .pj-image{flex:none;width:112px;height:112px;aspect-ratio:1;margin:0 auto 18px;border-radius:50%;border:1px solid rgba(171,147,106,.18)}
.home-patient-journey .pj-image img{object-position:center 30%}
.home-patient-journey .pj-watermark{font-size:8px;letter-spacing:.015em}
.home-patient-journey .pj-number-row{position:relative;justify-content:center;margin-bottom:18px}
.home-patient-journey .pj-number{font-size:38px}
.home-patient-journey .pj-connector{position:absolute;left:calc(50% + 32px);width:calc(100% - 38px);flex:none}
.home-patient-journey .pj-connector::before{width:100%}
.home-patient-journey .pj-stage h3{font-size:19px;line-height:1.25;min-height:88px;margin-bottom:12px}
.home-patient-journey .pj-stage h3::before{margin:0 auto 20px;border-color:var(--clay-dark);width:32px}
.home-patient-journey .pj-description{font-size:15px;line-height:1.65}
@media(min-width:768px) and (max-width:1199px){.home-patient-journey .pj-sequence{gap:38px 28px}.home-patient-journey .pj-stage h3{min-height:68px}.home-patient-journey .pj-image{width:104px;height:104px}}
@media(max-width:767px){.home-patient-journey .pj-intro{margin-bottom:34px}.home-patient-journey .pj-eyebrow{font-size:11px;letter-spacing:.18em}.home-patient-journey .pj-intro h2{font-size:38px}.home-patient-journey .pj-sequence{gap:32px}.home-patient-journey .pj-stage{padding:0 0 30px;border-left:0;border-bottom:1px solid var(--line)}.home-patient-journey .pj-stage:last-child{padding:0;border:0}.home-patient-journey .pj-image{width:92px;height:92px;margin-bottom:14px}.home-patient-journey .pj-number-row{margin-bottom:14px}.home-patient-journey .pj-connector{display:none}.home-patient-journey .pj-stage h3{min-height:0;font-size:23px;margin-bottom:14px}.home-patient-journey .pj-stage h3::before{margin-bottom:16px}.home-patient-journey .pj-description{max-width:360px;margin-inline:auto;font-size:16px}}

/* Small white line-art journey icons and linked surgeon credits. */
.kpas-gallery-v2 .kg-surgeon-select{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin:-70px 0 26px;min-height:44px}
.kpas-gallery-v2 .kg-surgeon-select label{font-size:13px;color:var(--ink);font-weight:600}
.kpas-gallery-v2 .kg-surgeon-select select{width:220px;max-width:100%;min-height:44px;padding:10px 34px 10px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:14px}
.kpas-gallery-v2 .kg-performed{font-size:13px;line-height:1.65;margin:0 0 18px;color:var(--ink-soft)}
.kpas-gallery-v2 .kg-performed a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.kpas-gallery-v2 .kg-performed a:hover{color:var(--clay-dark)}
.kpas-gallery-v2 .kg-performed a:focus-visible,.kpas-gallery-v2 .kg-surgeon-select select:focus-visible{outline:2px solid var(--clay-dark);outline-offset:4px}
@media(max-width:1100px){.kpas-gallery-v2 .kg-surgeon-select{margin:0 0 26px;justify-content:flex-start;flex-wrap:wrap}}

.home-patient-journey .pj-individual-icon{background:#0d1b2d;border:0}
.home-patient-journey .pj-individual-icon img{object-fit:contain;object-position:center}

/* Procedure area preview and prominent arrow controls. */
.home-surgical-areas.proc-restored .proc-row-toggle{width:52px;height:52px;flex-basis:52px;font-size:34px;line-height:1;border:1px solid var(--clay);border-radius:50%;background:transparent;color:var(--ink)}
.home-surgical-areas.proc-restored .proc-row.is-active .proc-row-toggle{background:var(--ink);border-color:var(--ink);color:#fff}
.home-surgical-areas.proc-restored .proc-image{height:auto;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:4px}
.home-surgical-areas.proc-restored .proc-image>img{height:clamp(300px,32vw,480px);width:100%;object-fit:contain;object-position:center bottom;background:var(--paper)}
.home-surgical-areas .proc-coverage{padding:24px 26px;border-top:1px solid var(--line);text-align:left}
.home-surgical-areas .proc-coverage .eyebrow{font-size:11px;letter-spacing:.2em;margin-bottom:10px}
.home-surgical-areas .proc-coverage h3{margin:0 0 16px;font:400 28px/1.15 var(--font-display);color:var(--ink)}
.home-surgical-areas .proc-coverage ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.home-surgical-areas .proc-coverage li{font:400 13px/1.5 var(--font-body);padding:6px 10px;background:var(--paper);border:1px solid var(--line);color:var(--ink-soft)}
@media(max-width:767px){.home-surgical-areas.proc-restored .proc-row-toggle{width:46px;height:46px;flex-basis:46px;font-size:30px}.home-surgical-areas.proc-restored .proc-image{height:auto}.home-surgical-areas.proc-restored .proc-image>img{height:280px}.home-surgical-areas .proc-coverage{padding:20px}.home-surgical-areas .proc-coverage h3{font-size:26px}}

/* Our Surgeons: one editorial hero with dynamic Featured Image. */
.kpas-surgeons-hero{padding:30px 0 64px;background:var(--paper);border-bottom:1px solid var(--line)}
.kpas-surgeons-hero .breadcrumbs{margin-bottom:38px}
.kpas-surgeons-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,4vw,64px);align-items:center}
.kpas-surgeons-hero__copy .eyebrow{color:var(--clay-dark);letter-spacing:.2em;margin-bottom:18px}
.kpas-surgeons-hero__copy h1{font:400 clamp(38px,3.8vw,62px)/1.04 var(--font-display);margin:0;max-width:640px}
.kpas-surgeons-hero__copy .rule{width:64px;margin:24px 0;border-color:var(--clay-dark)}
.kpas-surgeons-hero__copy p{font-size:16px;line-height:1.8;color:var(--ink-soft);margin:0 0 24px;max-width:580px}
.kpas-surgeons-hero__copy .text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:12px;letter-spacing:.12em}
.kpas-surgeons-hero__image{margin:0;border-radius:3px 64px 3px 3px;overflow:hidden;background:var(--ink);border-bottom:4px solid var(--clay)}
.kpas-surgeons-hero__image img{display:block;width:100%;height:auto;object-fit:contain}
.kpas-surgeons-content{scroll-margin-top:130px}
.kpas-surgeons-content>.section{padding-block:64px}
@media(max-width:900px){.kpas-surgeons-hero{padding:24px 0 40px}.kpas-surgeons-hero__grid{grid-template-columns:1fr;gap:28px}.kpas-surgeons-hero .breadcrumbs{margin-bottom:28px}.kpas-surgeons-hero__copy h1{font-size:clamp(36px,6vw,52px)}.kpas-surgeons-hero__image{border-top-right-radius:40px}.kpas-surgeons-content>.section{padding-block:40px}}

/* Shared Get Started — theme typography and colours, responsive editorial layout. */
.kpas-get-started{background:var(--ink);color:var(--paper);padding:clamp(56px,6vw,100px) 0;overflow:hidden}
.kgs-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,4vw,64px);align-items:center}
.kgs-copy .eyebrow{display:flex;align-items:center;gap:20px;color:var(--clay);letter-spacing:.25em;margin-bottom:24px}
.kgs-copy h2{font:400 clamp(42px,4.6vw,72px)/1.04 var(--font-display);color:var(--paper);margin:0 0 28px;max-width:650px}
.kgs-copy .rule{width:60px;border-color:var(--clay);margin:0 0 24px}
.kgs-intro{font-size:clamp(16px,1.2vw,19px);line-height:1.8;max-width:640px;margin:0 0 36px;color:var(--paper)}
.kgs-actions{display:flex;flex-wrap:wrap;gap:16px}
.kgs-actions .btn{display:inline-flex;justify-content:space-between;gap:22px;min-height:56px;padding:16px 24px;border-radius:3px;letter-spacing:.12em;font-size:12px;flex:1 1 220px}
.kgs-actions .kgs-primary{background:var(--clay);border:1px solid var(--clay);color:var(--ink)}
.kgs-actions .kgs-secondary{background:transparent;border:1px solid var(--clay);color:var(--paper)}
.kgs-actions .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.kgs-actions .btn:focus-visible{outline:2px solid var(--paper);outline-offset:5px}
.kgs-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:52px 0 0;list-style:none;gap:20px}
.kgs-benefits li{display:flex;flex-direction:column;gap:14px;padding-right:16px;min-width:0}
.kgs-benefits li+li{border-left:1px solid #c8b28155;padding-left:20px}
.kgs-benefits .dashicons{font-size:29px;width:32px;height:32px;color:var(--clay)}
.kgs-benefits li>span:last-child{font-size:10px;line-height:1.9;letter-spacing:.16em;text-transform:uppercase}
.kgs-photo{position:relative;margin:0;border:1px solid #c8b28170;border-radius:18px;overflow:hidden;background:var(--sage)}
.kgs-photo>img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.kgs-badge{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:14px;background:var(--paper);color:var(--ink);padding:17px 20px;border-radius:8px;max-width:calc(100% - 40px)}
.kgs-badge>.dashicons{font-size:28px;width:30px;height:30px;color:var(--clay-dark)}
.kgs-badge strong{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.kgs-badge small{display:block;font-size:12px;line-height:1.6;margin-top:3px}
.kgs-signature{color:var(--clay);font:italic 400 28px/1.3 var(--font-display);text-align:right;margin:24px 6px 0}
@media(max-width:900px){.kgs-grid{grid-template-columns:1fr;gap:36px}.kgs-copy h2{max-width:650px}.kgs-photo>img{aspect-ratio:auto;object-fit:contain}.kgs-benefits{margin-top:32px}.kgs-visual{max-width:720px;width:100%;margin:auto}}
@media(max-width:480px){.kgs-actions{flex-direction:column}.kgs-actions .btn{flex:auto;width:100%}.kgs-benefits{gap:10px}.kgs-benefits li{padding-right:4px}.kgs-benefits li+li{padding-left:10px}.kgs-benefits li>span:last-child{font-size:9px;letter-spacing:.1em}.kgs-badge{position:static;border-radius:0;max-width:none;padding:15px}.kgs-signature{font-size:25px}}

.kpas-get-started .kgs-photo>img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
@media(max-width:900px){.kpas-get-started .kgs-badge{position:static;max-width:none;border-radius:0}}

.kpas-get-started .kgs-photo>img{contain:none!important;contain-intrinsic-size:none!important}

.kpas-get-started .kgs-photo>img{aspect-ratio:1280 / 714!important}

/* Full-width section dividers; keep existing content containers aligned. */
.kpas-get-started{border-top:1px solid rgba(200,178,129,.4)}
.site-footer{container-type:inline-size;border-top:1px solid rgba(200,178,129,.4);border-bottom:1px solid rgba(200,178,129,.4)}
.site-footer .footer-legal{position:relative;border-top:0}
.site-footer .footer-legal::before{content:"";position:absolute;top:0;left:50%;width:100cqw;transform:translateX(-50%);border-top:1px solid rgba(200,178,129,.4);pointer-events:none}
.kpas-get-started .kgs-photo,.kpas-get-started .kgs-photo>img,.kpas-get-started .kgs-badge{border-radius:0}

/* ACF-managed decorative photography; overlays preserve text contrast. */
body.home .section.intro{background-color:var(--paper);background-image:linear-gradient(rgba(244,243,241,.95),rgba(244,243,241,.95)),var(--kpas-bg-intro,none);color:var(--ink)}
body.home .home-patient-journey{background-color:var(--paper);background-image:linear-gradient(rgba(244,243,241,.96),rgba(244,243,241,.96)),var(--kpas-bg-journey,none);color:var(--ink)}
body.home .home-clinical-standards{background-color:var(--ink);background-image:linear-gradient(rgba(13,27,45,.95),rgba(13,27,45,.95)),var(--kpas-bg-standards,none)}
body .kpas-get-started{background-color:var(--ink);background-image:linear-gradient(rgba(13,27,45,.94),rgba(13,27,45,.94)),var(--kpas-bg-get-started,none)}
body.home :is(.section.intro,.home-patient-journey,.home-clinical-standards),body .kpas-get-started{background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}
body.home .section.intro p,body.home .home-patient-journey .journey-step p{color:var(--ink)}
body .kpas-get-started .kgs-intro{color:#fff}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) and (hover:hover){
 body.home :is(.section.intro,.home-patient-journey,.home-clinical-standards),body .kpas-get-started{background-attachment:fixed}
}

/* Release entrance transforms after reveal so fixed backgrounds remain viewport-based. */
body.home :is(.section.intro,.home-patient-journey,.home-clinical-standards).kpas-entrance.kpas-entered{animation-fill-mode:backwards}

/* Shared gallery category pages: compact three-column desktop cases. */
.kpas-gallery-system .kg-case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.kpas-gallery-system .kg-case{min-width:0}
@media(min-width:701px) and (max-width:1100px){.kpas-gallery-system .kg-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.kpas-gallery-system .kg-case-grid{grid-template-columns:minmax(0,1fr)}}

/* Compact shared photo lightbox: home and gallery index match gallery categories. */
body .kpas-gallery-v2 .kg-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:0;border-radius:16px;box-shadow:0 24px 90px #0005;overscroll-behavior:contain}
body .kpas-gallery-v2 .kg-dialog:not([open]){display:none}
body .kpas-gallery-v2 .kg-dialog::backdrop{background:rgba(8,19,32,.8);backdrop-filter:blur(5px)}
body .kpas-gallery-v2 .kg-dialog-head{min-height:42px;margin:0 0 14px;padding-right:54px}
body .kpas-gallery-v2 .kg-dialog h3{margin:0;font-size:clamp(26px,4vw,36px);line-height:1.15}
body .kpas-gallery-v2 .kg-dialog>img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(100dvh - 200px)!important;margin:0 auto;object-fit:contain!important;border-radius:4px}
body .kpas-gallery-v2 .kg-dialog>p{margin:12px 0 0;font-size:12px;line-height:1.5}
body .kpas-gallery-v2 .kg-dialog .kg-close{position:absolute;top:16px;right:16px;display:grid!important;place-items:center;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;margin:0;border:1px solid #dce2e8;border-radius:50%;background:#f3f5f7;color:#142b45;font-size:0!important;cursor:pointer;transition:background .2s,transform .2s,color .2s}
body .kpas-gallery-v2 .kg-dialog .kg-close:before,body .kpas-gallery-v2 .kg-dialog .kg-close:after{content:"";position:absolute;width:16px;height:2px;background:currentColor;transform:rotate(45deg)}
body .kpas-gallery-v2 .kg-dialog .kg-close:after{transform:rotate(-45deg)}
body .kpas-gallery-v2 .kg-dialog .kg-close:hover{background:#142b45;color:#fff;transform:rotate(90deg)}
body .kpas-gallery-v2 .kg-dialog .kg-close:focus-visible{outline:3px solid #b29968;outline-offset:3px}
@media(max-width:600px){body .kpas-gallery-v2 .kg-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 14px;border-radius:12px}body .kpas-gallery-v2 .kg-dialog .kg-close{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){body .kpas-gallery-v2 .kg-dialog .kg-close{transition:none}}

/* Clinical Gallery procedure filters: square corners in every state. */
body .kpas-gallery-v2 [aria-label="Filter clinical cases"] button{border-radius:0!important}

/* Homepage surgeon roster: balanced three-card editorial layout. */
:is(.home-surgeons, .kpas-surgeons-content) .section-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:end;gap:clamp(28px,5vw,72px);margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--line)}
:is(.home-surgeons, .kpas-surgeons-content) .section-head h2{max-width:26ch;margin:0;font-size:clamp(32px,3.1vw,48px);line-height:1.12;text-wrap:balance}
:is(.home-surgeons, .kpas-surgeons-content) .section-note{max-width:36ch;margin:0 0 3px auto;padding-left:24px;border-left:2px solid var(--clay);color:var(--ink-soft);font-size:14px;letter-spacing:0;line-height:1.8}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2vw,30px);align-items:stretch}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card{min-width:0;display:flex;flex-direction:column;border-radius:0;box-shadow:none;border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .media{aspect-ratio:1/1;flex:none;position:relative;--portrait-headroom:clamp(20px,2vw,30px)}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .media img{position:absolute;left:0;top:var(--portrait-headroom);width:100%;height:calc(100% - var(--portrait-headroom));object-fit:cover;object-position:center top;transform:none}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2vw,30px)}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .creds{color:var(--ink-soft);font-size:13px;font-weight:500;letter-spacing:.035em;margin-bottom:12px;line-height:1.7;overflow-wrap:anywhere}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card h3{font-size:clamp(25px,2.1vw,32px);margin-bottom:12px}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card p{font-size:15px;margin-bottom:24px}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .text-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .text-link span{font-size:24px;line-height:1;color:var(--clay-dark)}
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:hover,:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:focus-within{border-color:var(--clay);box-shadow:var(--shadow-2);transform:translateY(-4px)}
@media(max-width:900px){:is(.home-surgeons, .kpas-surgeons-content) .section-head{grid-template-columns:1fr;gap:22px}:is(.home-surgeons, .kpas-surgeons-content) .section-note{margin:0;max-width:60ch}:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .body{padding:18px}:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card p{font-size:14px}}
@media(max-width:700px){:is(.home-surgeons, .kpas-surgeons-content) .surgeon-grid{grid-template-columns:1fr;gap:28px}:is(.home-surgeons, .kpas-surgeons-content) .section-head{margin-bottom:28px}:is(.home-surgeons, .kpas-surgeons-content) .section-head h2{max-width:26ch}:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .media{aspect-ratio:6/5}:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card .body{padding:24px}:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card,:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card img{transition:none}:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:hover,:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:focus-within,:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:hover img{transform:none}}

/* Preserve alignment where WordPress wraps profile links in paragraphs. */
.kpas-surgeons-content .surgeon-card .body > p:last-child{margin-top:auto;margin-bottom:0}

/* Preserve portrait headroom when hovering or focusing a surgeon card. */
:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:hover .media img,:is(.home-surgeons, .kpas-surgeons-content) .surgeon-card:focus-within .media img{transform:none}

/* KPAS clinic guide: scoped editorial layout, 22 September 2026 */
.kc-breadcrumbs{padding-top:28px}.kc-breadcrumbs .breadcrumbs{margin-bottom:0}.kc-page{color:var(--ink)}.kc-page p{max-width:68ch;font-size:16px;line-height:1.8;color:var(--ink-soft)}.kc-page h1,.kc-page h2,.kc-page h3{font-weight:400;text-wrap:balance}.kc-page h1{font-size:clamp(40px,4.4vw,68px);line-height:1.05;max-width:19ch;margin:22px 0}.kc-page h2{font-size:clamp(32px,3.2vw,46px);line-height:1.13;margin:12px 0 22px}.kc-page h3{font-size:28px;line-height:1.18;margin:0 0 14px}.kc-page figure{margin:0}.kc-page img{display:block;width:100%;border-radius:0}.kc-page .eyebrow{font-size:11px;letter-spacing:.2em;color:#806b44}.kc-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;padding-top:36px;padding-bottom:54px}.kc-hero .kc-lead{font-size:18px;line-height:1.75;max-width:51ch}.kc-hero figure{border-bottom:3px solid var(--clay)}.kc-hero img{height:clamp(320px,34vw,480px);object-fit:cover}.kc-hero figcaption{padding:13px 18px;background:#0d1b2d;color:#fff;font-size:12px;letter-spacing:.04em}.kc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.kc-page .kc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:#142b45;color:#fff;padding:16px 22px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid #142b45;border-radius:0;min-height:48px}.kc-page .kc-button--outline{background:transparent;color:#142b45;border-color:#b8ab92}.kc-page .kc-button:hover{background:#0d1b2d;color:#fff}.kc-page a:focus-visible,.kc-page summary:focus-visible{outline:3px solid #ab936a;outline-offset:5px}.kc-local-nav{background:#f4f3f1;border-top:1px solid #dcd7ce;border-bottom:1px solid #dcd7ce}.kc-local-nav .container{display:flex;flex-wrap:wrap}.kc-local-nav a{padding:20px 23px;color:#36516b;text-decoration:none;font-size:13px;line-height:1.5;border-bottom:3px solid transparent}.kc-local-nav a[aria-current=page]{color:#0d1b2d;border-color:#ab936a;font-weight:600}.kc-local-nav a:hover{background:#ebe7df}.kc-section{padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(48px,6vw,84px)}.kc-section+.kc-section{border-top:1px solid #e1ded7}.kc-section--paper{background:#f4f3f1}.kc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,90px)}.kc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.kc-card{padding:30px;border:1px solid #ddd9d1;background:#fff;min-width:0}.kc-card p:last-child{margin-bottom:0}.kc-number{display:block;color:#967c50;font-family:var(--font-display);font-size:32px;margin-bottom:18px}.kc-page .kc-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:12px;font-weight:600;letter-spacing:.07em;color:#142b45;text-decoration:none;border-bottom:1px solid #baab8e;padding:10px 0}.kc-link:hover{text-decoration:underline}.kc-link span{font-size:22px;color:#967c50}.kc-team .kc-card{padding:0;display:flex;flex-direction:column}.kc-team .kc-card img{aspect-ratio:1/1;object-fit:cover;object-position:top;background:#eef1f4;padding-top:22px}.kc-card-body{padding:26px;flex:1;display:flex;flex-direction:column}.kc-card-body .kc-link{margin-top:auto}.kc-team small{color:#36516b;font-size:13px;line-height:1.7;display:block;margin-bottom:12px}.kc-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin-top:32px}.kc-gallery img{height:300px;object-fit:cover}.kc-gallery figcaption{padding-top:14px;font-size:13px;color:#36516b}.kc-area-links{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.kc-area-links a{display:flex;justify-content:space-between;align-items:center;border:1px solid #d8d2c8;padding:26px;color:#0d1b2d;text-decoration:none;font-family:var(--font-display);font-size:30px;background:#fff}.kc-area-links a:hover{border-color:#ab936a;background:#f4f3f1}.kc-note{padding:28px 32px;border-left:3px solid #ab936a;background:#f4f3f1;margin-top:28px}.kc-note p{margin:0}.kc-faq details{border-top:1px solid #d8d2c8;padding:20px 0}.kc-faq details:last-child{border-bottom:1px solid #d8d2c8}.kc-faq summary{cursor:pointer;font-size:17px;font-weight:500;line-height:1.6;color:#142b45;padding-right:18px}.kc-faq details p{margin-top:16px;margin-bottom:0}.kc-checklist{padding-left:22px;list-style:disc;color:#36516b;line-height:1.8}.kc-checklist li{padding:6px 0}.kc-address{font-family:var(--font-display);font-size:32px;line-height:1.3;font-style:normal;margin:20px 0}.kc-page .kc-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#806b44}.kc-related{margin-top:30px}.kc-related a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #d8d2c8;text-decoration:none;color:#142b45;font-size:16px}.kc-related a:hover{text-decoration:underline}
@media(max-width:900px){.kc-hero{gap:28px}.kc-hero h1{font-size:44px}.kc-hero img{height:380px}.kc-grid{gap:16px}.kc-card{padding:22px}.kc-split{gap:32px}.kc-card-body{padding:20px}.kc-local-nav a{padding:16px}.kc-area-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.kc-hero,.kc-split,.kc-grid,.kc-gallery{grid-template-columns:1fr}.kc-hero{padding-top:28px;padding-bottom:36px}.kc-hero h1{font-size:42px}.kc-hero img{height:280px}.kc-hero .kc-lead{font-size:17px}.kc-local-nav a{flex:1 1 45%;padding:14px 12px;font-size:12px}.kc-local-nav a:first-child{flex-basis:100%}.kc-gallery img{height:250px}.kc-team .kc-card img{aspect-ratio:6/5}.kc-area-links a{padding:20px;font-size:26px}.kc-note{padding:22px}.kc-page h3{font-size:27px}.kc-actions .kc-button{width:100%}.kc-breadcrumbs .breadcrumbs{font-size:11px}.kc-section{padding-top:44px;padding-bottom:44px}}

/* Patient Journey guide: scoped, accessible editorial layouts */
.kj-page .kj-hero{position:relative}.kj-page .kj-hero h1{max-width:18ch}.kj-page .kj-hero img{height:390px}.kj-page .kj-hero figure{position:relative}.kj-label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#806b44;margin-bottom:12px}.kj-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(35px,6vw,90px);padding-top:55px;padding-bottom:65px}.kj-toc{align-self:start;position:sticky;top:125px;border-top:2px solid #ab936a;padding-top:22px}.kj-toc a{display:block;padding:12px 0;border-bottom:1px solid #ddd9d1;color:#36516b;font-size:14px;text-decoration:none;line-height:1.5}.kj-toc a:hover{color:#0d1b2d;text-decoration:underline}.kj-content{min-width:0;max-width:850px}.kj-content>section{padding:0 0 38px;margin-bottom:36px;border-bottom:1px solid #ddd9d1;scroll-margin-top:135px}.kj-content>section:last-child{margin-bottom:0}.kj-content h2{font-size:clamp(30px,3vw,40px)}.kj-page .kj-steps{counter-reset:journey}.kj-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.kj-page .kj-step-top img{width:68px;height:68px;object-fit:contain}.kj-step-top .kc-number{margin:0}.kj-page .kj-step h3{font-size:28px}.kj-page .kj-step{display:flex;flex-direction:column;border-top:2px solid #ab936a}.kj-step .kc-link{margin-top:auto}.kj-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.kj-resource{display:flex;flex-direction:column;padding:28px;border:1px solid #d9d3c8;background:#fff;text-decoration:none;transition:border-color .2s,background .2s}.kj-resource:hover{border-color:#967c50;background:#f9f8f5}.kj-resource h3{font-size:26px}.kj-resource p{margin:0 0 14px}.kj-resource span{margin-top:auto;color:#806b44;font-size:22px}.kj-cta{background:#0d1b2d;padding:clamp(38px,5vw,70px) 0;border-top:1px solid #ab936a;border-bottom:1px solid #ab936a}.kj-cta .container{display:flex;justify-content:space-between;gap:35px;align-items:center}.kj-page .kj-cta h2,.kj-page .kj-cta p{color:#fff}.kj-page .kj-cta .eyebrow{color:#c5ae83}.kj-page .kj-cta .kc-button{background:#bba174;color:#0d1b2d;border-color:#bba174;white-space:nowrap}.kj-page .kj-source{font-size:13px;line-height:1.7;color:#52667a}.kj-source a{text-decoration:underline}.kj-related{display:grid;grid-template-columns:1fr 1fr;gap:24px}.kj-related a{padding:24px;background:#f4f3f1;color:#142b45;border-top:1px solid #ab936a;text-decoration:none;line-height:1.5}.kj-related a:hover{text-decoration:underline}.kj-related small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#806b44;margin-bottom:8px}.kj-page .kc-faq summary{list-style:revert}.kj-page [id]{scroll-margin-top:135px}
@media(max-width:900px){.kj-layout{grid-template-columns:190px minmax(0,1fr);gap:30px}.kj-page .kj-hero img{height:340px}.kj-page .kj-cta .container{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.kj-layout{display:block;padding-top:32px}.kj-toc{position:static;margin-bottom:35px}.kj-toc a{padding:10px 0}.kj-resources,.kj-related{grid-template-columns:1fr}.kj-page .kj-hero img{height:250px}.kj-resource{padding:22px}.kj-page .kj-cta .kc-button{white-space:normal}.kj-content>section{padding-bottom:28px;margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.kj-resource{transition:none}}

/* Contact Option 1: scoped editorial form and clinic panel. */
.kpas-contact-page .page-hero{padding:28px 0 30px;background:var(--paper);border-bottom:1px solid var(--line)}
.kpas-contact-page .page-hero .breadcrumbs{margin-bottom:20px;color:#647182}
.kpas-contact-page .page-hero .breadcrumbs a{color:#647182}
.kpas-contact-page .page-hero .eyebrow{margin-bottom:10px;color:#806b44}
.kpas-contact-page .page-hero h1{font-size:clamp(40px,4.5vw,64px);font-weight:400;line-height:1.08;letter-spacing:0;margin:0}
.kpas-contact-page .page-hero .rule{width:54px;height:1px;background:var(--clay-dark);margin:20px 0 14px}
.kpas-contact-page .page-hero .reading{max-width:100%;margin:0;font-size:17px;line-height:1.7}
.kpc-section{padding:36px 0 48px;background:#fff}
.kpc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start}
.kpc-enquiry,.kpc-aside{min-width:0}
.kpc-enquiry .ff-el-group{margin-bottom:20px}
.kpc-enquiry .ff-el-input--label label{font:600 14px/1.6 var(--font-body);color:var(--ink);margin-bottom:6px}
.kpc-enquiry .ff-el-form-control{border:1px solid #d5d9dd!important;border-radius:0!important;background:#fff;color:var(--ink);font:400 16px/1.5 var(--font-body);padding:11px 14px;min-height:48px;box-shadow:none}
.kpc-enquiry textarea.ff-el-form-control{min-height:120px;resize:vertical}
.kpc-enquiry .ff-el-form-control:focus{outline:2px solid var(--sage);outline-offset:2px;border-color:var(--sage)!important;box-shadow:none}
.kpc-enquiry .ff-el-is-error .ff-el-form-control{border-color:#b3261e!important}
.kpc-enquiry .ff-btn-submit{display:block;width:100%;min-height:56px;padding:16px 24px;border:1px solid var(--ink)!important;border-radius:0!important;background:var(--ink)!important;color:#fff!important;font:600 13px/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;transition:background .2s}
.kpc-enquiry .ff-btn-submit:hover{background:var(--sage)!important}
.kpc-enquiry .ff-btn-submit:focus-visible{outline:3px solid var(--clay-dark);outline-offset:4px}
.kpc-privacy{font-size:13px;line-height:1.7;color:#526174;margin:4px 0 22px}
.kpc-privacy a{text-decoration:underline;text-underline-offset:3px;color:var(--sage)}
.kpc-notice{display:flex;align-items:flex-start;gap:18px;padding-top:22px;border-top:1px solid var(--clay-dark)}
.kpc-notice>.dashicons{flex:0 0 30px;width:30px;height:30px;font-size:30px;color:#8b744b}
.kpc-notice p{font-size:13px;line-height:1.8;color:#526174;margin:0}
.kpc-details{background:var(--ink);color:#fff;padding:32px 34px;border:1px solid #33495f}
.kpc-details h2,.kpc-next h2{font:400 clamp(30px,2.8vw,40px)/1.15 var(--font-display);margin:0}
.kpc-details h2{color:#fff}
.kpc-rule{width:56px;height:1px;background:var(--clay-dark);margin:18px 0 24px}
.kpc-contact-list{display:flex;flex-direction:column;gap:18px;margin:0;padding:0;list-style:none}
.kpc-contact-list li{display:flex;gap:18px;align-items:flex-start;font-size:15px;line-height:1.6}
.kpc-contact-list li>.dashicons{flex:0 0 24px;width:24px;height:24px;font-size:23px;color:var(--clay);margin-top:2px}
.kpc-contact-list address{font-style:normal}
.kpc-contact-list a{min-height:28px;overflow-wrap:anywhere;color:#fff}
.kpc-contact-list a:hover{text-decoration:underline;text-underline-offset:4px}
.kpc-contact-list .kpc-location{display:flex;align-items:center;gap:12px;color:var(--clay);text-decoration:underline;text-underline-offset:4px}
.kpc-details a:focus-visible{outline:2px solid var(--clay);outline-offset:5px}
.kpc-next{margin-top:32px}
.kpc-steps{display:flex;flex-direction:column;gap:26px;padding:0;margin:0;list-style:none}
.kpc-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;align-items:start}
.kpc-step-number{display:grid;place-items:center;width:48px;height:48px;background:#ede8df;border-radius:50%;color:var(--ink);font:500 27px/1 var(--font-display)}
.kpc-steps h3{font:600 25px/1.2 var(--font-display);margin:0 0 6px;color:var(--ink)}
.kpc-steps p{font-size:14px;line-height:1.7;margin:0;color:var(--ink-soft)}

@media(max-width:900px){.kpc-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px}.kpc-details{padding:26px}.kpc-steps li{gap:14px}}
@media(max-width:700px){.kpc-grid{grid-template-columns:minmax(0,1fr);gap:36px}.kpas-contact-page .page-hero{padding:24px 0 28px}.kpas-contact-page .page-hero h1{font-size:42px}.kpas-contact-page .page-hero .reading{font-size:16px}.kpc-section{padding:28px 0 40px}.kpc-details{padding:28px 24px}.kpc-next{margin-top:28px}.kpc-contact-list a{min-height:36px}.kpc-enquiry .ff-t-container{display:block}.kpc-enquiry .ff-t-cell{width:100%;padding:0!important}.kpc-notice{gap:12px}}
@media(prefers-reduced-motion:reduce){.kpc-enquiry .ff-btn-submit{transition:none}}

/* Shared consultation popup — selected navy-header design. */
.book-modal{padding:24px;z-index:100000}
.book-modal-overlay{background:rgba(13,27,45,.72);backdrop-filter:blur(5px);opacity:0;transition:opacity .28s ease}
.book-modal-panel{width:min(680px,100%);max-height:calc(100dvh - 48px);padding:0;border:1px solid #33495f;border-radius:0;overflow:auto;overscroll-behavior:contain;background:#fff;box-shadow:0 28px 90px #0004;opacity:0;transform:translateY(18px) scale(.985);transition:opacity .28s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.book-modal.is-open .book-modal-overlay,.book-modal.is-open .book-modal-panel{opacity:1}
.book-modal.is-open .book-modal-panel{transform:translateY(0) scale(1)}
.book-modal-header{padding:28px 40px 26px;background:var(--ink);color:white}
.book-modal-header .eyebrow{color:var(--clay);font-size:10px;letter-spacing:.23em;margin-bottom:12px;padding-right:24px}
.book-modal-header h2{color:#fff;font:400 clamp(32px,3.5vw,44px)/1.1 var(--font-display);margin:0;padding-right:15px}
.book-modal .book-modal-close{z-index:2;top:12px;right:12px;width:40px;height:40px;display:grid;place-items:center;background:transparent;color:#fff;border:1px solid transparent;border-radius:0;transition:background .2s}
.book-modal-close:hover{background:#ffffff18;border-color:#ffffff55}
.book-modal-close:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.book-modal-body{padding:26px 40px 28px}
.book-modal-lead{font:400 16px/1.65 var(--font-body);color:var(--ink-soft);margin:0 0 24px}
.book-modal .ff-el-group{margin-bottom:18px}
.book-modal .ff-el-input--label label{font:600 14px/1.5 var(--font-body);color:var(--ink);margin-bottom:6px}
.book-modal .ff-el-form-control{font:400 16px/1.5 var(--font-body);min-height:46px;padding:10px 13px;border:1px solid #cfd5dc!important;border-radius:0!important;color:var(--ink);background:white;box-shadow:none}
.book-modal textarea.ff-el-form-control{min-height:104px;resize:vertical}
.book-modal .ff-el-form-control:focus{outline:2px solid var(--sage);outline-offset:2px;box-shadow:none}
.book-modal .ff-el-is-error .ff-el-form-control{border-color:#b3261e!important}
.book-modal .ff-btn-submit{width:100%;min-height:52px;padding:14px 20px;border:1px solid var(--ink)!important;background:var(--ink)!important;color:#fff!important;border-radius:0!important;font:600 12px/1.5 var(--font-body);letter-spacing:.13em;text-transform:uppercase}
.book-modal .ff-btn-submit:hover{background:var(--sage)!important}
.book-modal .ff-btn-submit:focus-visible{outline:3px solid var(--clay-dark);outline-offset:3px}
.book-modal-privacy{font:400 12px/1.7 var(--font-body);color:#526174;text-align:center;margin:10px 0 0}
.book-modal-privacy a{color:var(--sage);text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.book-modal{padding:12px}.book-modal-panel{max-height:calc(100dvh - 24px)}.book-modal-header{padding:26px 24px 24px}.book-modal-header h2{font-size:34px}.book-modal-body{padding:24px}.book-modal-lead{font-size:15px}.book-modal .ff-t-container{display:block}.book-modal .ff-t-cell{width:100%;padding:0!important}}
@media(prefers-reduced-motion:reduce){.book-modal-overlay,.book-modal-panel,.book-modal-close{transition:none}.book-modal-panel{transform:none}}

@media(min-width:601px) and (max-height:800px){.book-modal-header{padding:22px 40px}.book-modal-header h2{font-size:38px}.book-modal-body{padding:20px 40px}.book-modal-lead{margin-bottom:18px}.book-modal .fluentform .ff-el-group{margin-bottom:14px}.book-modal .fluentform textarea.ff-el-form-control{min-height:88px;height:88px}.book-modal .fluentform .ff-el-input--label{margin-bottom:5px}}

.book-modal .fluentform .ff-el-group{margin-bottom:0}.book-modal .fluentform fieldset{row-gap:18px}.book-modal-privacy{margin-top:16px}

/* Contact has its own enquiry form; retain the floating booking trigger elsewhere. */
body.page-template-page-contact .book-now-tab{display:none!important}

/* Hide the retired Selected procedures note only. */
.home-procedures > .container > p.disclaimer { display: none !important; }

/* Procedure-specific surgeon finder cards. */
[data-finder] .sf-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;align-items:stretch;margin-top:28px}
[data-finder] .sf-card{display:flex;flex-direction:column;max-width:520px;background:#fff;border:1px solid #dce1e5;color:#0d1b2d;overflow:hidden}
[data-finder] .sf-portrait{display:block;width:100%;height:280px;object-fit:contain;object-position:center bottom;padding-top:18px;box-sizing:border-box;background:#edf0f3}
[data-finder] .sf-body{display:flex;flex-direction:column;flex:1;padding:26px}
[data-finder] .sf-body h3{font-family:var(--font-serif,'Cormorant Garamond',serif);font-size:30px;line-height:1.15;margin:0 0 12px}
[data-finder] .sf-credentials{font-size:13px;line-height:1.7;color:#43576b;margin:0 0 12px;letter-spacing:.025em}
[data-finder] .sf-focus{font-size:15px;line-height:1.6;color:#172e46;margin:0 0 12px;font-weight:600}
[data-finder] .sf-description{font-size:15px;line-height:1.75;color:#43576b;margin:0 0 24px}
[data-finder] .sf-actions{display:flex;flex-wrap:wrap;gap:16px 24px;padding:18px 0;border-top:1px solid #dce1e5;margin-top:auto}
[data-finder] .sf-actions a{font-size:12px;line-height:1.7;letter-spacing:.06em}
[data-finder] .sf-consult{width:100%;min-height:48px;white-space:normal;font-size:12px;padding:14px 12px;border-radius:0;cursor:pointer}
[data-finder] .sf-empty{grid-column:1/-1;padding:24px;border:1px solid #dce1e5;background:white}.sf-empty .text-link{margin-left:22px}
[data-finder] button:focus-visible,[data-finder] a:focus-visible{outline:2px solid #a7864f;outline-offset:4px}
.book-modal .sf-booking-context{padding:12px 14px;margin:0 0 18px;border-left:3px solid #b59a69;background:#f4f2ee;color:#172e46;font-size:13px;line-height:1.6}
@media(max-width:600px){[data-finder] .sf-results{grid-template-columns:1fr}[data-finder] .sf-card{max-width:none}[data-finder] .sf-body{padding:22px}[data-finder] .sf-portrait{height:250px}}

/* Expanded procedure pages — visual editor layout */
.pp-page{padding-block:48px 80px}.pp-preview{padding:18px 24px;border-left:3px solid var(--clay-dark);background:var(--paper);color:var(--ink)}.pp-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:24px 0;margin-bottom:48px;border-block:1px solid var(--line);font-size:.85rem}.pp-nav strong{color:var(--ink);width:100%;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.pp-nav a{border-bottom:1px solid transparent}.pp-nav a:hover{border-color:var(--clay-dark)}.pp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,6vw,100px);align-items:start}.pp-reading{min-width:0;max-width:870px}.pp-section{scroll-margin-top:130px;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.pp-section h2{font-size:clamp(1.85rem,2.7vw,2.6rem);margin-bottom:24px}.pp-copy{line-height:1.85}.pp-copy a,.pp-section>ul a,.pp-section>p a{color:var(--sage);text-decoration:underline;text-underline-offset:4px}.pp-copy ul,.pp-copy ol,.pp-section>ul{padding-left:24px;list-style:disc;margin:20px 0}.pp-copy ol{list-style:decimal}.pp-copy li{margin-bottom:9px}.pp-rail{position:sticky;top:130px;background:var(--ink);padding:30px;color:#fff;border-top:3px solid var(--clay);box-shadow:var(--shadow-2)}.pp-rail h2{color:#fff;font-size:2rem}.pp-rail p{font-size:.95rem;line-height:1.8}.pp-rail .btn{background:var(--clay);color:var(--ink);border-radius:0;letter-spacing:.04em;font-size:.75rem;padding:15px 18px;width:100%;justify-content:center}.pp-rail .btn:hover{background:#e0cea6}.pp-rail a:focus-visible{outline-color:#fff}.pp-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.pp-timeline article{background:var(--paper);padding:26px;border-top:2px solid var(--clay)}.pp-timeline h3{font-size:1.5rem}.pp-timeline p:last-child{margin-bottom:0}.pp-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pp-card-grid article{border:1px solid var(--line);padding:18px;background:#fff}.pp-card-grid img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center top;background:var(--sage-light);margin-bottom:18px}.pp-card-grid h3{font-size:1.45rem}.pp-card-grid p{font-size:.8rem}.pp-card-grid .text-link{font-size:.85rem}.pp-faq{border-bottom:1px solid var(--line);padding:20px 0}.pp-faq summary{cursor:pointer;color:var(--ink);font-weight:600;line-height:1.5;padding-right:18px}.pp-faq>div{padding-top:18px}.pp-faq[open] summary{color:var(--sage)}
@media(max-width:1000px){.pp-layout{grid-template-columns:minmax(0,1fr) 260px;gap:30px}.pp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pp-page{padding-block:28px 50px}.pp-layout{grid-template-columns:1fr}.pp-rail{position:static}.pp-nav{margin-bottom:30px;gap:12px 20px}.pp-section{padding-bottom:28px;margin-bottom:28px;scroll-margin-top:100px}.pp-timeline{grid-template-columns:1fr}.pp-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.pp-card-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pp-page *{transition:none!important}}

body:has(.pp-page) .book-now-tab{top:auto;bottom:92px;transform:none}

/* Featured image selected in the procedure editor. */
.pp-featured{margin:0 0 36px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.pp-featured .pp-featured-image{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:0}

/* Expanded procedure split hero: editor text left, featured image right. */
.pp-banner{background:var(--paper)}.pp-banner-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}.pp-banner .page-hero{padding:70px 0;border:0;background:transparent;min-width:0}.pp-banner .page-hero>.container{padding:0;width:100%;max-width:none}.pp-banner .page-hero .reading{max-width:650px}.pp-banner-image{margin:0;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}.pp-banner-image img{width:100%;height:auto;max-height:690px;object-fit:contain;border:0;border-radius:0}.pp-banner .breadcrumbs{flex-wrap:wrap}
@media(max-width:760px){.pp-banner-inner{grid-template-columns:1fr;gap:0}.pp-banner .page-hero{padding:40px 0 24px}.pp-banner-image{padding-bottom:24px}.pp-banner-image img{max-height:420px;width:100%;object-fit:contain}}

/* Procedure case buttons and shared gallery dialog base. */
#pp-gallery .pp-case-photo{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}#pp-gallery .kg-dialog{position:fixed;inset:0;margin:auto;background:#fff;color:var(--ink);overflow:auto}#pp-gallery .kg-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Editorial procedure hero — shared by procedure directories and individual procedures. */
.page-hero.procedure-category-hero{
 position:relative;overflow:hidden;padding:0;border:0;background:#f7fafb url('https://kings-park-aesthetic-surgery.duckdns.org/wp-content/uploads/2026/10/procedure-hero-abstract-bg.png') center center/cover no-repeat;
}
.procedure-category-hero__inner.container{
 width:100%;max-width:1800px;min-height:clamp(490px,34vw,680px);
 padding-inline:clamp(26px,5.7vw,120px);display:grid;
 grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(20px,3vw,60px);align-items:center;
}
.procedure-category-hero__copy{position:relative;z-index:2;min-width:0;padding:40px 0 52px}
.procedure-category-hero__copy .breadcrumbs{gap:12px;margin:0 0 clamp(34px,4vw,70px);font-size:clamp(13px,1vw,18px);line-height:1.5;color:#9aaabc}
.procedure-category-hero__copy .breadcrumbs a{color:#9aaabc}
.procedure-category-hero__copy .breadcrumbs [aria-current="page"]{color:#315371}
.procedure-category-hero__copy .eyebrow{display:flex;align-items:center;gap:20px;margin:0 0 14px;color:#bd9964;font-size:clamp(11px,.9vw,17px);font-weight:600;letter-spacing:.26em}
.procedure-category-hero__copy .eyebrow::after{content:"";display:block;width:clamp(50px,5vw,115px);height:1px;background:#c7a778}
.procedure-category-hero__copy h1{max-width:11ch;margin:0 0 22px;color:#0d263e;font:400 clamp(62px,5.45vw,112px)/.98 var(--font-display);letter-spacing:-.035em;text-wrap:balance}
.procedure-category-hero__copy .rule{display:none}
.procedure-category-hero__copy p.reading{max-width:33em;margin:0;color:#38536b;font-size:clamp(17px,1.2vw,25px);line-height:1.55}
.procedure-category-hero__media{position:relative;z-index:1;min-width:0;height:clamp(490px,34vw,680px);padding:0;display:flex;align-items:flex-end;justify-content:center;overflow:visible}
.procedure-category-hero__media img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center bottom;transform:scale(1.14);transform-origin:center bottom}
.procedure-hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(28px,2.6vw,50px)}
.procedure-hero-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:12px 18px 12px 30px;border:1px solid #c49a62;border-radius:999px;font:600 clamp(11px,.85vw,16px)/1.25 var(--font-body);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.procedure-hero-actions__primary{background:#0d2a45;color:#fff;border-color:#0d2a45!important;box-shadow:0 12px 25px #17344e18}
.procedure-hero-actions__secondary{background:#ffffffbd;color:#17344e}
.procedure-hero-actions a>span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;font:400 26px/1 var(--font-body);letter-spacing:0;color:#fff;background:#c49a62}
.procedure-hero-actions__secondary>span{width:auto!important;height:auto!important;background:transparent!important;color:#bb9055!important;font-size:24px!important}
.procedure-hero-actions a:hover{transform:translateY(-2px)}
.procedure-hero-actions__primary:hover{background:#174669;color:#fff}
.procedure-hero-actions__secondary:hover{background:#fff;color:#0d2a45}
.procedure-hero-actions a:focus-visible{outline:3px solid #a67c44;outline-offset:4px}
.procedure-area-directory,#pp-overview,#procedure-overview{scroll-margin-top:110px}
body:has(.procedure-category-hero) .book-now-tab{display:none!important}
@media(max-width:1100px){
 .procedure-category-hero__inner.container{min-height:490px;gap:16px;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
 .procedure-category-hero__media{height:490px}
 .procedure-category-hero__copy h1{font-size:clamp(55px,6.5vw,76px)}
 .procedure-category-hero__copy .breadcrumbs{margin-bottom:34px}
 .procedure-hero-actions a{min-height:55px;padding:10px 15px 10px 20px;gap:12px;letter-spacing:.07em}
 .procedure-hero-actions a>span{width:34px;height:34px;font-size:21px}
}
@media(max-width:767px){
 .page-hero.procedure-category-hero{background-position:62% center}
 .procedure-category-hero__inner.container{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding-inline:24px}
 .procedure-category-hero__copy{padding:30px 0 16px}
 .procedure-category-hero__copy .breadcrumbs{margin-bottom:30px;font-size:13px}
 .procedure-category-hero__copy .eyebrow{font-size:11px;letter-spacing:.2em;margin-bottom:14px}
 .procedure-category-hero__copy h1{max-width:100%;font-size:clamp(52px,12vw,76px);line-height:1.02;margin-bottom:16px}
 .procedure-category-hero__copy p.reading{font-size:17px;line-height:1.6}
 .procedure-hero-actions{gap:11px;margin-top:26px}
 .procedure-hero-actions a{width:100%;min-height:56px;padding:10px 13px 10px 21px;font-size:11px;letter-spacing:.08em}
 .procedure-category-hero__media{width:100%;height:260px;padding:0;margin:0;overflow:hidden}
 .procedure-category-hero__media img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:scale(1.13)}
}
@media(max-width:420px){.procedure-category-hero__copy h1{font-size:clamp(45px,12vw,55px)}.procedure-category-hero__media{height:220px}}
@media(prefers-reduced-motion:reduce){.procedure-hero-actions a{transition:none}.procedure-hero-actions a:hover{transform:none}}

/* Homepage clinical standards: align the image with the section bottom. */
.home .home-clinical-standards{padding-bottom:0!important}
.home .home-clinical-standards .standards-image{margin-bottom:0!important}

/* Homepage image cards: edge-to-edge media, padded text retained. */
body.home .home-surgeons .surgeon-card,body.home .home-procedures article.card{padding:0!important}
body.home .home-surgeons .surgeon-card>.media,body.home .home-procedures article.card>.media{display:block;width:100%;margin:0!important;border-radius:0}

/* Category hub heroes: match the section content container. */
body:is(.page-id-151,.page-id-159,.page-id-149,.page-id-145) .procedure-category-hero__inner.container{max-width:1440px!important;margin-inline:auto!important;padding-inline:32px!important}
@media(max-width:767px){body:is(.page-id-151,.page-id-159,.page-id-149,.page-id-145) .procedure-category-hero__inner.container{padding-inline:24px!important}}

/* Face hero: match the balanced category introduction spacing. */
body.page-id-151 .fh-hero .procedure-category-hero__copy{padding-block:28px!important}

/* Category surgeons: shared editorial portrait-and-profile layout. */
body .area-hub .ah-surgeon-grid{grid-template-columns:minmax(0,1fr)!important;gap:48px;max-width:none!important}
body .area-hub .ah-surgeon{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center;padding:0;border:0;background:transparent}
body .area-hub .ah-surgeon+.ah-surgeon{padding-top:48px;border-top:1px solid var(--line)}
body .area-hub .ah-surgeon-photo{display:block;height:clamp(320px,34vw,500px);padding:24px 0 0;background:#f2f4f4;overflow:hidden}
body .area-hub .ah-surgeon-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:none}
body .area-hub .ah-surgeon-copy{padding:0;min-width:0}
body .area-hub .ah-surgeon-copy h3{font-size:clamp(30px,3vw,38px);font-weight:400;line-height:1.15;margin:0 0 22px}
body .area-hub .ah-surgeon-copy .eyebrow{margin-bottom:20px}
body .area-hub .ah-surgeon-copy .fh-link{display:inline-flex;gap:20px;align-items:center;min-height:48px;padding:14px 22px;border:1px solid var(--ink);border-radius:2px;font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;margin-top:16px}
body .area-hub .ah-surgeon-copy .fh-link:hover{background:var(--ink);color:#fff;text-decoration:none}
body .area-hub .ah-surgeon-copy .fh-link:focus-visible{outline:2px solid var(--clay-dark);outline-offset:4px}
@media(max-width:700px){body .area-hub .ah-surgeon{grid-template-columns:minmax(0,1fr);gap:26px}body .area-hub .ah-surgeon-photo{height:360px}body .area-hub .ah-surgeon-copy{padding:0}body .area-hub .ah-surgeon-grid{gap:36px}body .area-hub .ah-surgeon+.ah-surgeon{padding-top:36px}}

/* Blog and topic listings: full photographs and compact editorial metadata. */
body .kpas-article-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start;gap:24px}
body .kpas-article-grid>article.card{padding:0!important;min-height:0!important;height:auto!important;display:flex;flex-direction:column;overflow:hidden}
body .kpas-article-grid>article.card>.media{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;overflow:hidden;background:#f2f4f5}
body .kpas-article-grid>article.card>.media img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important}
body .kpas-article-grid>article.card>.body{padding:22px 24px 24px!important;display:block!important;min-height:0!important}
body .kpas-article-grid h3{font-size:25px;line-height:1.2;margin:0 0 14px!important}
body .kpas-article-grid .meta{font-size:12px;line-height:1.6;letter-spacing:.045em;margin:0!important;color:#806b44}
@media(max-width:1100px){body .kpas-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){body .kpas-article-grid{grid-template-columns:minmax(0,1fr)!important}body .kpas-article-grid>article.card>.body{padding:20px!important}}

/* Balance article rows while retaining full, uncropped images. */
body .kpas-article-grid{align-items:stretch}
body .kpas-article-grid>article.card{height:100%!important;align-self:stretch}
body .kpas-article-grid>article.card>.media{aspect-ratio:3/2!important;flex:none}
body .kpas-article-grid>article.card>.media img{height:100%!important;object-fit:contain!important}
body .kpas-article-grid>article.card>.body{display:flex!important;flex:1;flex-direction:column}
body .kpas-article-grid h3{min-height:2.4em;text-wrap:balance}
body .kpas-article-grid .meta{margin-top:auto!important;padding-top:4px}
@media(max-width:640px){body .kpas-article-grid h3{min-height:0}}

/* KPAS procedure hero button consistency — 2026-10-20 */
body.single-kpas_procedure .page-hero .procedure-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
body.single-kpas_procedure .page-hero .procedure-hero-actions a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px!important;padding:14px 24px!important;border:1px solid #13243a;border-radius:3px!important;box-shadow:none!important;font:500 13px/1.25 var(--font-body)!important;letter-spacing:.06em!important;text-transform:uppercase;text-decoration:none!important;white-space:normal;text-align:center;transform:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
body.single-kpas_procedure .page-hero .procedure-hero-actions a.procedure-hero-actions__primary{order:2;background:#c8ae78!important;border-color:#c8ae78!important;color:#13243a!important;-webkit-text-fill-color:#13243a!important;font-weight:700!important}
body.single-kpas_procedure .page-hero .procedure-hero-actions a.procedure-hero-actions__secondary{order:1;background:transparent!important;border:1px solid #13243a!important;color:#13243a!important;-webkit-text-fill-color:#13243a!important}
body.single-kpas_procedure .page-hero .procedure-hero-actions a>span{display:inline!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;-webkit-text-fill-color:inherit!important;font:inherit!important;transform:none!important;text-decoration:none!important}
body.single-kpas_procedure .page-hero .procedure-hero-actions a::before,body.single-kpas_procedure .page-hero .procedure-hero-actions a::after{content:none!important}
body.single-kpas_procedure .page-hero .procedure-hero-actions a.procedure-hero-actions__primary:hover,body.single-kpas_procedure .page-hero .procedure-hero-actions a.procedure-hero-actions__primary:focus-visible{background:#d8c18f!important;border-color:#d8c18f!important;color:#13243a!important;-webkit-text-fill-color:#13243a!important}
body.single-kpas_procedure .page-hero .procedure-hero-actions a.procedure-hero-actions__secondary:hover,body.single-kpas_procedure .page-hero .procedure-hero-actions a.procedure-hero-actions__secondary:focus-visible{background:#13243a!important;border-color:#13243a!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.single-kpas_procedure .page-hero .procedure-hero-actions a:focus-visible{outline:2px solid #8e754e;outline-offset:4px}
@media(prefers-reduced-motion:reduce){body.single-kpas_procedure .page-hero .procedure-hero-actions a{transition:none}}

/* Additional Fixes */

/* Homepage */
section.home-gallery {
	padding-top: 0;
}

/* ---------- Mobile burger → X when menu is open ---------------------------- */
@media (max-width: 1100px) {
	.menu-toggle span,
	.menu-toggle::before,
	.menu-toggle::after {
		transition: top .2s ease, transform .2s ease, opacity .15s ease;
	}

	/* Open state: top and bottom lines meet in the middle and cross */
	body.nav-open .menu-toggle::before,
	.menu-toggle[aria-expanded="true"]::before {
		top: 19px;
		transform: rotate(45deg);
	}
	body.nav-open .menu-toggle::after,
	.menu-toggle[aria-expanded="true"]::after {
		top: 19px;
		transform: rotate(-45deg);
	}

	/* Hide the middle line */
	body.nav-open .menu-toggle span,
	.menu-toggle[aria-expanded="true"] span {
		opacity: 0;
	}

	/* Optional: gold border on the X so it reads as "close" */
	body.nav-open .menu-toggle,
	.menu-toggle[aria-expanded="true"] {
		border-color: var(--clay);
	}
}

@media (max-width: 764px) {
	.header-search-inner {
		flex-wrap: nowrap;
	}

	.header-search .search-field {
		width: 100%;
		max-width: 80%;
	}

	.btn-row .btn-secondary,
	.btn-row .btn-primary {
		width: 100%;
	}

	.finder-choices .choice {
		flex: 1;
	}

	body .kc-clinic-refocus .kc-button,
	body .kc-clinic-refocus .kc-clinic-hero .kc-actions .kc-button {
		flex: auto;
	}

	body .kc-clinic-refocus .kc-actions,
	body .kc-clinic-refocus .kc-clinic-hero .kc-actions {
		flex-wrap: wrap;
	}

	.kc-local-nav a {
		flex: 0 0 50%!important;
	}

	.kc-note {
		margin-bottom: 20px;
	}

	.kj-source {
		padding-top: 20px;
	}
}

@media (max-width: 1100px) {
	body.nav-open { overflow: clip; }
	html:has(body.nav-open) { overflow: hidden; }
}

@media (min-width: 1100px) and (max-width: 1380px) {
	.mosaic-card {
		justify-content: center;
		padding: 20px 10px;
	}

	.mosaic-card strong {
		font-size: 1rem;
		margin-top: 0;
	}
}

