:root {
	--drp-ink: #153846;
	--drp-ink-soft: #506870;
	--drp-accent: #4e878f;
	--drp-accent-dark: #214956;
	--drp-pale: #d7dfe2;
	--drp-pale-2: #f7f7f7;
	--drp-line: #d8e0e2;
	--drp-white: #fff;
	--drp-page: 1280px;
}

html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--drp-white);
	color: var(--drp-ink);
	font-family: "Zilla Slab", Georgia, "Times New Roman", serif;
	font-size: 20px;
	line-height: 1.5;
}
body, button, input, textarea { font-family: "Zilla Slab", Georgia, "Times New Roman", serif; }
* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--drp-accent-dark); }
img, iframe { max-width: 100%; }
button { color: inherit; }
.container { width: min(var(--drp-page), calc(100% - 64px)); margin-inline: auto; }

.site-header {
	position: relative;
	z-index: 20;
	width: 100%;
	min-height: 108px;
	background: #d7dfe2;
}
.header-inner {
	width: min(1540px, calc(100% - 48px));
	min-height: 108px;
	margin-inline: auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
	position: relative;
	padding-top: 38px;
}
.brand, .footer-brand {
	display: inline-flex;
	align-items: center;
	color: var(--drp-ink);
	width: 258px;
	height: 66px;
	font-size: 0;
	white-space: nowrap;
}
.brand-media, .footer-brand-media { display: block; width: 100%; height: 100%; }
.brand { position: absolute; top: 72px; left: 0; z-index: 2; width: 230px; height: 720px; overflow: hidden; align-items: flex-start; color: #fff; font: 96px/1.5 Georgia, "Times New Roman", serif; white-space: normal; }
.brand-fallback { display: block; width: 230px; overflow-wrap: anywhere; }
.site-brand-hero { min-height: 672px; background: var(--drp-pale); }
.primary-navigation { display: flex; align-items: center; gap: 18px; }
.nav-menu {
	display: flex;
	align-items: center;
	gap: 38px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.nav-menu li { margin: 0; padding: 0; }
.nav-menu a {
	display: block;
	padding: 15px 0;
	color: #41555c;
	font-size: 15px;
	line-height: 1.2;
	transition: color .2s ease;
}
.nav-menu a:hover, .nav-menu .current-menu-item > a { color: var(--drp-accent-dark); }
.search-toggle, .header-menu-icon, .mobile-menu-toggle {
	padding: 4px;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.search-toggle { font: 22px/1 Arial, sans-serif; }
.search-toggle i { font-size: 22px; }
.header-menu-icon, .mobile-menu-toggle { width: 28px; display: grid; place-items: center; }
.header-menu-icon i, .mobile-menu-toggle i { font-size: 22px; }
.mobile-menu-toggle { display: none; }
.header-search { padding: 8px 24px 16px; text-align: right; }
.header-search form { display: inline-flex; gap: 8px; }
.header-search input { padding: 9px 12px; border: 1px solid var(--drp-line); background: #fff; }
.header-search button { padding: 8px 15px; border: 0; background: var(--drp-accent); color: white; cursor: pointer; }

.hero-mark {
	width: min(1050px, calc(100% - 56px));
	margin: 30px auto 0;
	text-align: center;
	position: relative;
}
.hero-mark p {
	margin: 0;
	color: #839da6;
	font-size: clamp(26px, 3.3vw, 42px);
	font-family: "Zilla Slab", Georgia, serif;
	line-height: 1.25;
}
.section-rule { display: block; width: 94px; height: 4px; background: var(--drp-accent-dark); margin: 18px auto 0; }
.home-feature-strip { padding: 0 0 25px; margin-top: 0; background: #fff; }
.feature-strip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.feature-tile { display: flex; flex-direction: column; color: var(--drp-ink); }
.missing-media {
	display: block;
	width: 100%;
	min-height: 215px;
	background: #829fa9;
}
.feature-tile .missing-media { min-height: 0; aspect-ratio: 2 / 1; }
.feature-meta { margin-top: 13px; color: #718c96; font-size: 14px; }
.feature-meta span { margin-left: 7px; }
.feature-category { color: var(--drp-accent-dark); font-size: 14px; }
.feature-tile strong { margin-top: 8px; font-size: 23px; font-weight: 500; line-height: 1.35; }

.home-intro { padding-top: 48px; }
.intro-grid { grid-template-columns: 1fr 1fr; align-items: center; }
.intro-copy h1 { margin: 0 0 28px; border-left: 8px solid var(--drp-line); padding-left: 34px; font-size: clamp(35px, 4vw, 53px); line-height: 1.35; }
.intro-copy p { border-left: 8px solid var(--drp-line); padding-left: 34px; }
.intro-copy .solid-button { margin: 28px 0 0 42px; box-shadow: 0 7px 16px rgba(26, 55, 65, .12); }
.home-intro-media .missing-media { min-height: 390px; background: #e8e8e8; }
.home-showcase-media { width: min(var(--drp-page), calc(100% - 56px)); margin: 55px auto 65px; }
.home-showcase-media .missing-media { min-height: 0; aspect-ratio: 16 / 9; background: #e4e4e4; }

.content-section { padding: 82px 0; }
.eyebrow { margin: 0 0 15px; color: #829da6; font-size: 18px; letter-spacing: .01em; }
.eyebrow.center { text-align: center; }
.section-title, .home-intro h1, .content-section h2 {
	color: var(--drp-ink);
	font-family: "Zilla Slab", Georgia, "Times New Roman", serif;
	font-weight: 600;
}
.section-title { margin: 0 0 42px; text-align: center; font-size: clamp(30px, 3vw, 42px); line-height: 1.25; }
.home-intro { padding-top: 55px; }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.intro-grid h1 { margin: 0; border-left: 8px solid var(--drp-line); padding-left: 34px; font-size: clamp(35px, 4vw, 53px); line-height: 1.35; }
.intro-grid h1 span { color: var(--drp-accent-dark); }
.intro-grid p { margin: 0 0 20px; color: #4f6269; font-size: 18px; line-height: 1.8; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--drp-accent-dark); font-weight: 600; }
.text-link span { font-family: Arial, sans-serif; font-size: 20px; }

.services-preview { background: #fff; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 27px; }
.article-card { min-width: 0; background: white; border: 1px solid #edf0f1; box-shadow: 0 6px 18px rgba(34, 59, 67, .045); }
.article-card-link { height: 100%; display: flex; flex-direction: column; }
.article-card-media { min-height: 205px; }
.article-card-media { position: relative; }
.article-card-media .cz_grid_icon { position: absolute; top: 50%; left: 50%; color: #fff; font-size: 30px; opacity: 0; transform: translate(-50%,-50%); transition: opacity .2s ease; }
.article-card-link:hover .article-card-media .cz_grid_icon, .article-card-link:focus-visible .article-card-media .cz_grid_icon { opacity: 1; }
.article-card-body { padding: 22px 24px 25px; }
.article-card h3 { margin: 0 0 12px; color: var(--drp-ink); font-size: 22px; font-weight: 600; line-height: 1.35; }
.article-card p { min-height: 82px; margin: 0 0 16px; color: #596b71; font-size: 15px; line-height: 1.65; }
.front-page-article-card { position: relative; min-height: 225px; background: #999; border: 0; box-shadow: none; overflow: hidden; }
.front-page-article-card .article-card-link { position: relative; min-height: 225px; }
.front-page-article-card .article-card-media { position: absolute; inset: 0; min-height: 0; background: #999; }
.front-page-article-card .article-card-body { position: absolute; inset: auto 0 0; padding: 36px 15px 13px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.55)); }
.front-page-article-card .article-card-meta { color: rgba(255,255,255,.85); font-size: 12px; }
.front-page-article-card h3 { margin: 3px 0 0; color: #fff; font-size: 18px; line-height: 1.2; }
.section-action { margin-top: 40px; text-align: center; }
.outline-button, .solid-button {
	display: inline-block;
	padding: 12px 28px;
	border: 1px solid var(--drp-accent);
	background: transparent;
	color: var(--drp-ink);
	font-size: 15px;
	cursor: pointer;
}
.outline-button:hover { background: var(--drp-accent); color: white; }
.solid-button { background: var(--drp-accent); color: white; }
.solid-button:hover { background: var(--drp-accent-dark); color: white; }

.legacy-section { background: #fff; }
.legacy-section .section-title { margin-bottom: 38px; }
.legacy-content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; align-items: start; }
.legacy-copy .lead { font-size: 19px; }
.legacy-copy p { max-width: 650px; }
.legacy-tags { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.legacy-tags span { display: inline-flex; align-items: center; padding: 4px 0; color: var(--drp-ink-soft); }
.legacy-tags i { margin-right: 10px; color: var(--drp-accent); font-size: 14px; }
.video-section { padding-block: 62px; }
.video-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.video-grid.two-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.legacy-videos { display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.legacy-videos::-webkit-scrollbar { display: none; }
.legacy-videos .video-frame { flex: 0 0 calc(50% - 8px); aspect-ratio: 9 / 16; scroll-snap-align: start; }
.video-frame { position: relative; aspect-ratio: 16 / 9; background: #253d46; overflow: hidden; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.training-callout { padding: 74px 0; background: var(--drp-accent-dark); color: white; }
.home-offerings { padding-top: 55px; padding-bottom: 34px; }
.home-offerings .section-title { margin-bottom: 7px; }
.home-offerings-subtitle { margin: 0 0 38px; text-align: center; color: #718287; }
.home-offering-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.home-offering-grid article { text-align: center; }
.home-offering-grid h3 { margin: 0 auto; max-width: 240px; color: var(--drp-ink); font-size: 18px; line-height: 1.4; }
.home-offering-grid .service-icon { width: 134px; height: 134px; margin-bottom: 16px; }
.home-offerings .section-action { margin-top: 36px; }
.home-transition { position: relative; display: flex; align-items: center; min-height: 390px; padding: 60px 0; background: var(--drp-pale); color: #fff; clip-path: polygon(0 0, 91% 0, 100% 13%, 100% 87%, 91% 100%, 0 100%, 7% 87%, 7% 13%); }
.home-transition .container { text-align: center; }
.home-transition h2 { margin: 0 auto; max-width: 900px; color: #fff; font-size: clamp(32px, 4vw, 48px); line-height: 1.35; }
.home-transition .section-action { margin-top: 24px; }
.home-transition .solid-button { background: #fff; color: var(--drp-ink); }
.home-partner-intro { padding: 45px 0 18px; text-align: center; }
.home-partner-intro .container { max-width: 1040px; }
.home-partner-intro p:first-child { margin: 0 0 24px; color: #718287; }
.home-partner-intro .eyebrow { position: relative; margin: 0; padding-top: 24px; color: var(--drp-ink); font-family: "Zilla Slab", Georgia, serif; font-size: 26px; font-weight: 700; }
.home-partner-intro .eyebrow:before { content: ""; position: absolute; top: 0; left: 50%; width: 54px; height: 3px; transform: translateX(-50%); background: var(--drp-accent); }
.callout-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: center; }
.callout-inner h2 { max-width: 720px; margin: 0 0 18px; color: white; font-size: clamp(32px, 4vw, 48px); line-height: 1.3; }
.callout-inner p { max-width: 650px; color: rgba(255,255,255,.82); }
.callout-inner .solid-button { border-color: white; background: white; color: var(--drp-ink); }
.callout-terms { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px 17px; color: rgba(255,255,255,.7); font-size: 20px; }
.callout-terms span:nth-child(2n) { color: white; }
.partner-section { padding-block: 70px; }
.stats-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 35px; text-align: center; }
.stats-grid > .cz_counter { display: flex; flex-direction: column; align-items: center; }
.stats-grid > .cz_counter > div { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.stats-grid .cz_counter_num_wrap { display: block; width: 100%; padding-bottom: 15px; border-bottom: 1px solid #e0e4e4; color: var(--drp-accent-dark); font-size: 57px; font-weight: 400; line-height: 1.1; }
.stats-grid .cz_counter_num_wrap i { font-size: inherit; font-weight: inherit; }
.stats-grid .cz_counter_after { color: #64777e; font-size: 14px; }
.quote-section { padding: 74px 0; background: #f3f6f6; }
.quote-section blockquote { max-width: 940px; margin: 0 auto; text-align: center; color: #48616a; font-size: clamp(21px, 2.3vw, 29px); line-height: 1.6; }
.collaboration-section { padding-bottom: 45px; }
.collaboration-section .section-title { font-size: 31px; }
.partner-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; align-items: center; }
.missing-logo { height: 90px; display: block; background: #f1f4f4; }
.seven-logos { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.gallery-section { padding-top: 35px; }
.gallery-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: 110px; gap: 10px; }
.gallery-item { display: block; min-width: 0; }
.gallery-item .missing-media { min-height: 0; height: 100%; background: #f2f2f2; }
.service-gallery-section { padding-block: 12px 55px; }
.service-gallery-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: 105px; }
.service-gallery-grid .gallery-item:nth-child(1), .service-gallery-grid .gallery-item:nth-child(6) { grid-row: span 2; }
.project-gallery .gallery-item:nth-child(3n+1) { grid-row: span 2; }
.project-gallery .gallery-item:nth-child(4n+2) { grid-column: span 2; }

.page-heading-band { min-height: 70px; padding-top: 20px; display: flex; align-items: flex-start; background: transparent; }
.heading-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.page-heading-band h1 { margin: 0; color: #153846; font: 700 36px/50px "Zilla Slab", Georgia, "Times New Roman", serif; }
.breadcrumbs, .article-breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; color: #6e828a; font-size: 14px; }
.breadcrumbs > i, .article-breadcrumbs > i { color: rgba(21,56,70,.6); font-size: 14px; }
.breadcrumbs > a, .article-breadcrumbs > a { color: rgba(21,56,70,.72); }

.archive-section { min-height: 520px; padding-top: 72px; }
.about-intro-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 72px; align-items: center; }
.about-visual .missing-media { min-height: 440px; }
.about-copy h2 { margin: 0 0 17px; font-size: clamp(34px, 3vw, 45px); line-height: 1.3; }
.about-copy > p:not(.eyebrow) { color: #52646b; line-height: 1.8; }
.program-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 34px; }
.program-stats div { display: flex; flex-direction: column; padding: 15px 10px; background: #f1f4f4; text-align: center; }
.program-stats strong { color: var(--drp-accent-dark); font-size: 29px; font-weight: 500; }
.program-stats span { color: #5a6d74; font-size: 13px; line-height: 1.4; }
.about-videos { background: #f7f9f9; }
.team-section .container { max-width: 900px; }
.team-section h2, .hospitals-section h2, .treatment-section h2 { font-size: clamp(30px, 3.3vw, 42px); line-height: 1.35; }
.team-section p, .hospitals-section p, .treatment-section p { color: #53666d; }
.hospitals-section { background: #f4f6f7; }
.hospitals-section .container { max-width: 1020px; }
.hospitals-section p { line-height: 2; }

.training-services { padding-top: 68px; }
.training-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 35px 25px; }
.training-card { text-align: center; padding: 8px 11px 20px; }
.service-icon {
	display: grid;
	place-items: center;
	width: 134px;
	height: 134px;
	margin: 0 auto 19px;
	color: #4e878f;
}
.service-icon i { display: grid; place-items: center; width: 100%; height: 100%; color: inherit; font-size: 48px; font-style: normal; }
.training-card h3 { margin: 0 auto 11px; max-width: 250px; color: var(--drp-ink); font-size: 19px; line-height: 1.4; }
.training-card p { margin: 0; color: #61747a; font-size: 14px; line-height: 1.65; }
.marketing-title-band { padding: 57px 0; background: #528a90; color: white; }
.marketing-title-band h2 { margin: 0; color: white; font-size: clamp(32px, 3.5vw, 46px); font-weight: 400; line-height: 1.3; }
.marketing-title-band h2 strong { font-weight: 700; }
.content-creation-section { padding: 82px 0; }
.content-creation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.content-creation-media { min-height: 345px; background: #f1f1f1; }
.content-creation-grid h2, .email-comms-grid h2 { margin: 0 0 14px; color: var(--drp-ink); font-size: clamp(28px, 3vw, 38px); font-weight: 400; line-height: 1.35; }
.content-creation-grid p { color: #52666d; line-height: 1.8; }
.email-comms-section { padding: 82px 0; }
.email-comms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.email-comms-media { min-height: 420px; background: #f1f1f1; }
.email-content-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
.email-content-grid article { display: flex; align-items: flex-start; gap: 22px; padding: 12px 0; background: transparent; }
.email-content-grid .service-icon { flex: 0 0 64px; width: 64px; height: 64px; margin: 0; color: #fff; }
.email-content-grid .service-icon i { width: 64px; height: 64px; border-radius: 99px; background: #4e878f; color: #fff; font-size: 32px; }
.email-content-grid h3 { margin: 8px 0; color: var(--drp-ink); font-size: 19px; }
.email-content-grid p { margin: 0; color: #52666d; }

.contact-grid { display: grid; grid-template-columns: minmax(280px, .48fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.contact-section { padding-block: 72px; }
.contact-links { display: grid; gap: 14px; margin-bottom: 28px; }
.contact-links a { display: flex; align-items: center; gap: 15px; color: var(--drp-ink); }
.contact-icon { flex: 0 0 58px; display: grid; place-items: center; width: 58px; height: 58px; background: var(--drp-accent); color: white; }
.contact-icon i { font-size: 24px; }
.contact-link-copy { display: grid; gap: 3px; }
.contact-link-copy em { color: var(--drp-muted); font-size: 14px; font-style: italic; }
.contact-link-copy strong { font-size: 16px; font-weight: 600; }
.contact-map { height: 430px; background: var(--drp-pale); }
.contact-map iframe { width: 100%; height: 100%; border: 0; }
.contact-message h2 { margin: 0 0 24px; font-size: 32px; line-height: 1.3; }
.form-notice { margin: -9px 0 18px; color: var(--drp-accent-dark); }
.offices { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; }
.offices p { margin: 0; color: #566970; font-size: 14px; line-height: 1.7; }
.offices strong { color: var(--drp-ink); font-size: 16px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form label { display: grid; gap: 5px; color: #566970; font-size: 14px; }
.contact-form input, .contact-form textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #d7e0e2; border-radius: 0; background: white; color: var(--drp-ink); font-size: 15px; }
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-form .message-field { grid-column: 1 / -1; }
.contact-form button { grid-column: 1 / -1; justify-self: start; }

.single-article { padding-top: 50px; padding-bottom: 44px; }
.single-article-container { max-width: 950px; }
.article-breadcrumbs { margin-bottom: 30px; }
.single-body { color: #455e67; font-size: 17px; line-height: 1.9; }
.single-body p { margin: 0 0 1.5em; }
.single-body a { color: var(--drp-accent-dark); text-decoration: underline; }
.article-meta { display: flex; flex-wrap: wrap; gap: 20px 35px; margin-top: 35px; padding-top: 20px; border-top: 1px solid var(--drp-line); color: #6c7e84; font-size: 14px; }
.article-meta i { margin-right: 6px; }
.article-meta a { color: var(--drp-accent-dark); }
.share-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; min-height: 64px; margin-top: 20px; padding: 10px; border: 2px solid rgba(124,154,166,.2); }
.share-row a { display: grid; place-items: center; width: 40px; height: 40px; color: var(--drp-ink); font-size: 18px; }
.share-row a:hover { color: var(--drp-accent-dark); }
.share-row .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.related-section { padding-top: 50px; background: #f7f9f9; }
.related-section h2 { margin: 0 0 28px; font-size: 28px; }
.related-grid .article-card-media { min-height: 135px; }
.related-grid .article-card-body { padding: 16px; }
.related-grid .article-card h3 { font-size: 18px; }
.related-grid .article-card p { min-height: 0; }
.comments-section { padding-top: 35px; }
.comments-section .container { max-width: 950px; }
#comments, .comments-section .comment-respond { color: var(--drp-ink); }
.comments-section h2 { font-size: 24px; }
.comments-section label { display: block; margin-bottom: 7px; }
.comments-section input, .comments-section textarea { max-width: 100%; padding: 10px; border: 1px solid var(--drp-line); }
.comments-section .submit { padding: 10px 22px; border: 0; background: var(--drp-accent); color: white; cursor: pointer; }
.error-page { min-height: 380px; }

.legacy-about-section { padding: 100px 0 130px; color: #153846; font: 20px/1.5 "Zilla Slab", Georgia, serif; }
.legacy-about-width { width: min(1202px, calc(100% - 64px)); margin: 0 auto; }
.legacy-about-intro-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0 -15px; }
.legacy-about-photo-column, .legacy-about-copy-column { min-width: 0; padding-inline: 15px; }
.legacy-about-photo { width: min(512px, 100%); aspect-ratio: 512 / 391; margin: 0 auto; }
.legacy-about-copy-column { display: flex; flex-direction: column; padding-top: 50px; }
.legacy-about-kicker, .legacy-contact-kicker { width: max-content; padding: 8px 30px; background: #4e878f; color: #fff; font-size: 14px; line-height: 30px; letter-spacing: 3px; }
.legacy-about-intro { margin: 40px 0 0; padding-left: 30px; color: #153846; font: 20px/1.45 "Zilla Slab", Georgia, serif; }
.legacy-about-signature { display: block; width: 220px; height: 69px; margin: 0 0 0 auto; object-fit: contain; }
.legacy-about-biography { margin-top: 100px; color: #153846; font: 20px/30px "Zilla Slab", Georgia, serif; }
.legacy-about-biography p { margin: 0 0 30px; }
.legacy-about-biography p:last-child { margin-bottom: 0; }
.legacy-about-biography h3 { margin: 0 0 10px; color: #153846; font: 700 24px/1.4 "Zilla Slab", Georgia, serif; }

.legacy-contact-section { padding: 100px 0 130px; color: #153846; font-family: "Zilla Slab", Georgia, serif; }
.legacy-contact-width { width: min(1232px, calc(100% - 34px)); margin: 0 auto; }
.legacy-contact-top-gap { height: 60px; }
.legacy-contact-grid { display: grid; grid-template-columns: 2fr 1fr; align-items: start; }
.legacy-contact-form-column, .legacy-contact-details-column { min-width: 0; padding-inline: 15px; }
.legacy-contact-form-box { min-height: 821px; padding: 50px 150px 50px 50px; border: 1px solid rgba(209,165,143,.3); background: rgba(209,165,143,.1); }
.legacy-contact-kicker { padding: 8px 30px; line-height: 30px; letter-spacing: 3px; }
.legacy-contact-form-gap { height: 50px; }
.legacy-contact-form { display: block; color: #153846; font: 16px/24px "Zilla Slab", Georgia, serif; }
.legacy-contact-field { display: block; height: 103px; margin: 0 0 10px; color: #153846; font: 16px/24px "Zilla Slab", Georgia, serif; }
.legacy-contact-field input { display: block; width: 100%; height: 57px; margin-top: 22px; padding: 18px 20px; border: 1px solid rgba(209,165,143,.41); border-radius: 0; background: #fff; color: rgba(0,0,0,.5); font: 16px "Zilla Slab", Georgia, serif; }
.legacy-contact-pair { display: flex; gap: 3%; }
.legacy-contact-pair .legacy-contact-field { width: 48.5%; }
.legacy-contact-message { display: block; height: 213px; margin: 0 0 10px; color: #153846; font: 16px/24px "Zilla Slab", Georgia, serif; }
.legacy-contact-message textarea { display: block; width: 100%; height: 160px; margin-top: 22px; padding: 18px 20px; border: 1px solid rgba(209,165,143,.41); border-radius: 0; background: #fff; color: rgba(0,0,0,.5); font: 16px/32px "Zilla Slab", Georgia, serif; resize: vertical; }
.legacy-contact-form button { min-height: 51px; padding: 16px 30px; border: 0; border-radius: 0; background: #4e878f; color: #153846; font: 400 16px/19px "Zilla Slab", Georgia, serif; cursor: pointer; }
.legacy-contact-form button { display: block; margin: 0 0 10px; }
.legacy-contact-notice { margin: 0 0 12px; color: #153846; }
.legacy-contact-details { width: calc(100% + 100px); margin: 155px 0 0 -100px; padding: 50px 50px 40px; background: #4e878f; color: #fff; }
.legacy-contact-details a { display: flex; align-items: flex-start; gap: 20px; margin: 0 0 24px; color: #fff; font: 20px/32px "Zilla Slab", Georgia, serif; }
.legacy-contact-details a { padding: 10px 0; }
.legacy-contact-details a:last-child { margin-bottom: 0; }
.legacy-contact-details i { flex: 0 0 60px; display: grid; place-items: center; width: 60px; height: 60px; background: #7e5b4a; color: #fff; font-size: 30px; line-height: 60px; }
.legacy-contact-details strong { font-size: 20px; font-weight: 700; }
.media-empty-grid { height: 87px; }

.site-footer { padding: 0; background: #fff; color: #666; }
.footer-inner { width: 100%; margin: 0 auto; padding: 80px 0; display: grid; grid-template-columns: 48% 26% 26%; gap: 0; background: linear-gradient(to bottom, #fff 0 80px, #eef0f1 80px 100%); }
.footer-about { min-height: 320px; margin-top: -80px; padding: 52px max(60px, calc((100vw - var(--drp-page)) / 2)) 36px; background: #203a44; color: rgba(255,255,255,.82); }
.footer-column { padding: 52px 34px 38px; }
.footer-brand { width: 362px; height: 92px; margin-bottom: 30px; color: white; }
.footer-inner h2 { margin: 0 0 15px; color: #333; font-size: 19px; font-weight: 500; }
.footer-about h2 { margin-top: 6px; }
.footer-about h2 { color: white; }
.footer-column a { color: #666; }
.social-links { display: flex; gap: 9px; margin: 12px 0; }
.social-links a { display: grid; place-items: center; width: 42px; height: 42px; background: #f6f7f7; color: #203a44; font-size: 16px; }
.social-links a i { display: block; color: inherit; font-size: 16px; font-style: normal; font-weight: 400; line-height: 1; }
.footer-column a i { margin-right: 8px; color: rgba(21,56,70,.5); font-size: 15px; }
.whatsapp-link i { margin-right: 6px; font-size: 16px; }
.whatsapp-link { color: rgba(255,255,255,.7); font-size: 13px; }
.copyright { margin: 0; padding: 15px 24px; background: #263238; text-align: center; color: rgba(255,255,255,.7); font-size: 13px; }

@media (max-width: 980px) {
	.container { width: min(var(--drp-page), calc(100% - 42px)); }
	.nav-menu { gap: 19px; }
	.nav-menu a { font-size: 14px; }
	.intro-grid, .about-intro-grid { gap: 36px; }
	.video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.training-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.footer-inner { width: 100%; }
	.footer-about { padding-inline: 28px; }
	.footer-column { padding-inline: 28px; }
}
@media (max-width: 700px) {
	.container { width: calc(100% - 34px); }
	.header-inner { width: calc(100% - 34px); min-height: 58px; }
	.brand { width: 170px; height: 54px; }
	.mobile-menu-toggle { display: grid; margin-left: auto; }
	.primary-navigation { position: absolute; top: 58px; left: 0; right: 0; display: none; align-items: stretch; padding: 12px 22px 20px; background: #e0e7e9; box-shadow: 0 10px 20px rgba(24,45,52,.08); }
	.primary-navigation.is-open { display: block; }
	.nav-menu { display: grid; gap: 0; }
	.nav-menu a { padding: 11px 0; }
	.primary-navigation .search-toggle, .primary-navigation .header-menu-icon { margin-top: 12px; }
	.header-menu-icon { display: none; }
	.site-header, .header-inner { min-height: 58px; }
	.header-inner { padding-top: 8px; }
	.brand { top: 18px; width: 116px; height: 360px; font-size: 48px; }
	.brand-fallback { width: 116px; }
	.site-brand-hero { min-height: 340px; }
	.primary-navigation { background: #d7dfe2; }
	.hero-mark { margin-top: 24px; }
	.hero-mark p { font-size: 25px; }
	.feature-strip-grid, .intro-grid, .about-intro-grid, .callout-inner, .contact-grid, .legacy-about-intro-grid, .legacy-contact-grid, .offices, .content-creation-grid, .email-comms-grid { grid-template-columns: 1fr; }
	.feature-strip-grid { gap: 25px; }
	.feature-tile .missing-media { min-height: 185px; aspect-ratio: auto; }
	.content-section { padding: 56px 0; }
	.home-intro { padding-top: 48px; }
	.intro-grid h1 { padding-left: 20px; font-size: 34px; }
	.article-grid { grid-template-columns: 1fr; gap: 22px; }
	.article-card-media { min-height: 190px; }
	.video-grid, .video-grid.two-videos { grid-template-columns: 1fr; }
	.legacy-content-grid { grid-template-columns: 1fr; }
	.legacy-videos .video-frame { flex-basis: calc(50% - 8px); }
	.home-offering-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
	.callout-inner { gap: 28px; }
	.stats-grid { grid-template-columns: repeat(2, 1fr); row-gap: 27px; }
	.stats-grid div:last-child { grid-column: 1 / -1; }
	.partner-logos { grid-template-columns: repeat(2, 1fr); }
	.seven-logos { grid-template-columns: repeat(2, 1fr); }
	.gallery-grid, .service-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 80px; gap: 7px; }
	.page-heading-band { min-height: 100px; padding-top: 15px; }
	.heading-band-inner { display: block; }
	.page-heading-band h1 { margin-bottom: 10px; font-size: 35px; }
	.program-stats { grid-template-columns: repeat(2, 1fr); }
	.training-grid { grid-template-columns: 1fr; }
	.home-offering-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.contact-form { grid-template-columns: 1fr; }
	.contact-form .message-field, .contact-form button { grid-column: auto; }
	.contact-map { height: 320px; }
	.legacy-about-section { padding: 50px 0 70px; }
	.legacy-about-width { width: calc(100% - 34px); }
	.legacy-about-intro-grid { gap: 28px; }
	.legacy-about-photo { width: min(512px, 100%); }
	.legacy-about-copy-column { padding-top: 0; }
	.legacy-about-intro { padding-left: 0; margin-top: 28px; }
	.legacy-about-biography { margin-top: 60px; font-size: 18px; line-height: 1.5; }
	.legacy-contact-section { padding: 50px 0 70px; }
	.legacy-contact-top-gap { height: 30px; }
	.legacy-contact-form-box { min-height: 0; padding: 30px 24px; }
	.legacy-contact-pair { display: grid; grid-template-columns: 1fr; gap: 0; }
	.legacy-contact-pair .legacy-contact-field { width: 100%; }
	.legacy-contact-details { width: 100%; margin: 40px 0 0; padding: 34px 24px 24px; }
	.legacy-contact-details a { font-size: 18px; }
	.footer-inner { width: 100%; padding: 0 0 32px; grid-template-columns: 1fr; gap: 0; background: #eef0f1; }
	.footer-about { min-height: 0; margin-top: 0; padding: 38px 24px; }
	.footer-brand { width: min(362px, 100%); height: 80px; margin-bottom: 20px; }
	.footer-column { padding: 32px 24px 0; }
}
