/* Walden Dental's shared patient-facing design decisions.
   Loaded after page-family styles so imported layouts retain their structure. */
:root {
	--wd-teal: #003e51;
	--wd-teal-dark: #002a38;
	--wd-teal-light: #0a5e72;
	--wd-gold: #d4a039;
	--wd-gold-dark: #b8871f;
	--wd-gold-hover: #e0b153;
	--wd-gold-ink: #80590f;
	--wd-orange: #b54a00;
	--wd-surface: #f5f3ee;
	--wd-surface-soft: #faf9f6;
	--wd-white: #ffffff;
	--wd-ink: #2b2d42;
	--wd-muted: #5a6a72;
	--wd-line: #d9d8d2;
	--wd-shell: 1280px;
	--wd-page-gutter: 1.5rem;
	--wd-radius: 12px;
	--wd-radius-control: 8px;
	--wd-radius-media: 12px;
	--wd-shadow: none;
	--wd-ease: cubic-bezier(0.23, 1, 0.32, 1);
	--wd-section-space: 6rem;
	--wd-type-h1: clamp(2.5rem, 5vw, 4.5rem);
	--wd-type-h2: clamp(2rem, 3.4vw, 3rem);
	--wd-type-h3: clamp(1.5rem, 2vw, 1.75rem);
	--wd-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--wd-font-label: "Inter", system-ui, sans-serif;

	/* Barebone aliases keep its generic page families on the Walden palette. */
	--container: var(--wd-shell);
	--gutter: clamp(24px, 3vw, 64px);
	--section-pad: var(--wd-section-space);
	--font: "Inter", system-ui, sans-serif;
	--font-display: "Playfair Display", Georgia, serif;
	--font-serif: var(--font-display);
	--bg: var(--wd-white);
	--bg-alt: var(--wd-surface);
	--bg-tint: var(--wd-surface);
	--bg-dark: var(--wd-teal-dark);
	--text: var(--wd-ink);
	--text-muted: var(--wd-muted);
	--text-invert: var(--wd-white);
	--text-muted-invert: rgba(255, 255, 255, 0.78);
	--line-invert: rgba(255, 255, 255, 0.34);
	--accent: var(--wd-teal);
	--accent-contrast: var(--wd-white);
	--cta-bg: var(--wd-gold);
	--cta-text: var(--wd-teal-dark);
	--line: var(--wd-line);
	--line-strong: #9fb4bc;
	--radius: var(--wd-radius);
	--r-sm: var(--wd-radius-control);
	--r-md: var(--wd-radius);
	--r-lg: var(--wd-radius);
	--r-xl: var(--wd-radius-media);
	--r-pill: 999px;
	--shadow-sm: 0 2px 8px rgba(0, 42, 56, 0.06);
	--shadow-md: 0 12px 32px rgba(0, 42, 56, 0.1);
	--shadow-lift: var(--wd-shadow);
	--ease: var(--wd-ease);
}

/* Keep the content edge in line with the shared header and footer. Barebone's
   container max-width includes its padding, so allow room for both gutters. */
body:not(.walden-ppc):not(.page-template-page-style-guide) {
	--gutter: var(--wd-page-gutter);
	--container: calc(var(--wd-shell) + var(--wd-page-gutter) + var(--wd-page-gutter));
	--container-narrow: calc(800px + var(--wd-page-gutter) + var(--wd-page-gutter));
}

.walden-service .site-main .container,
.walden-utility .title-banner__inner {
	max-width: var(--container);
}

.walden-contact :is(.contact-hub, .contact-form) > .container {
	max-width: var(--container);
	padding-inline: var(--wd-page-gutter);
}

/* The imported service designs have their own shell names. Keep their
   compositions, but align full-width sections with the global chrome. */
.wdm-service-main {
	--line: var(--wd-line);
	--shell: min(var(--wd-shell), calc(100% - var(--wd-page-gutter) - var(--wd-page-gutter)));
}

.wdm-service-main :is(.shell, .wd-shell),
.wdm-service-main #cost-insurance-financing .wd-shell {
	width: var(--shell);
	margin-inline: auto;
}

:is(body.walden-utility, body.walden-service) .site-main .title-banner .breadcrumbs__list,
.site-main.walden-contact .title-banner .breadcrumbs__list {
	color: rgba(255, 255, 255, 0.78);
}

:is(body.walden-utility, body.walden-service) .site-main .title-banner .breadcrumbs__list a,
.site-main.walden-contact .title-banner .breadcrumbs__list a {
	color: inherit;
}

:is(.site-main, .walden-homepage-v004, .wdm-service-main, .walden-ppc) :is(h1, h2, h3) {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-optical-sizing: auto;
}

.walden-homepage-v004 {
	--section: var(--wd-section-space);
}

.walden-shared.section-pad {
	padding-block: var(--wd-section-space);
}

:is(
	.walden-homepage-v004 .service-card,
	.walden-homepage-v004 .article-card,
	.site-main .blog-featured__card,
	.site-main .wd-service-card,
	.walden-utility .utility-action-card,
	.walden-utility .utility-card-grid article,
	.walden-contact .contact-way,
	.wdm-service-main .route-card,
	.wdm-service-main .article-card,
	.wdm-service-main .wd-article-grid article,
	.wdm-service-main .wd-financial-card,
	.wdm-service-main .option-comparison,
	.wdm-service-main .finance-card,
	.wdm-service-main .provider-profile,
	.wdm-service-main .video-card
) {
	border-radius: var(--wd-radius);
}

.wdm-service-main .wd-article-grid article {
	border-color: var(--wd-line);
}

:is(.wdm-service-main .route-card, .wdm-service-main .article-card, .wdm-service-main .wd-article-grid article, .wdm-service-main .option-comparison) {
	overflow: hidden;
}

.wdm-service-main :is(.article-card, .wd-article-grid article):focus-within {
	outline: 3px solid var(--wd-teal);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--wd-white);
}

:is(.site-main .post-card__media, .site-main .blog-featured__media) {
	border-radius: var(--wd-radius-media);
}

:is(.walden-homepage-v004 .team-photo, .walden-homepage-v004 .doctor-portrait, .site-main .service-overview__img, .site-main .wd-service-provider__image) {
	border-radius: var(--wd-radius-media);
}

/* Shared proportions; local component structure remains in its page family. */
:where(.site-main, .walden-homepage-v004, .wdm-service-main, .walden-ppc) h1 { font-size:var(--wd-type-h1); line-height:1.08; }
:where(.site-main, .walden-homepage-v004, .wdm-service-main, .walden-ppc) h2 { font-size:var(--wd-type-h2); line-height:1.12; }
:where(.site-main, .walden-homepage-v004, .wdm-service-main, .walden-ppc) h3 { font-size:var(--wd-type-h3); line-height:1.2; }
:where(.site-main, .walden-homepage-v004, .wdm-service-main) :is(h1,h2) { text-wrap:balance; }
:where(main) :is(h2,h3) + p { margin-top:24px; }
:where(main) p { text-wrap:pretty; }

/* Size, measure and tracking work together across the patient journey. */
:is(.walden-homepage-v004, .wdm-service-main, .site-main.walden-contact) :is(h1, h2) {
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
}
.wdm-service-main :is(.hero-copy, .wd-hero-copy) h1 { max-width: 22ch; line-height: 1.08; }
.wdm-service-main :is(.hero-copy, .wd-hero-copy) p { max-width: 60ch; }
.wdm-service-main :is(.action-row, .hero-actions, .wd-hero-actions) { flex-wrap: wrap; gap: .75rem; }
.wdm-service-main :is(.action-row, .hero-actions, .wd-hero-actions) > a { white-space: normal; }
/* Long words must contribute a shrinkable minimum at enlarged text sizes. */
body :is(.wdm-service-main, .post-single, .walden-shared) :is(h1, h2, h3, p, li, summary) { overflow-wrap: anywhere; }
.wdm-service-main :is(.shell, .wd-shell) > * { min-width: 0; }
.wdm-service-main :is(.planning-intro, .wd-process-intro, .split-intro) > * { min-width: 0; }
.post-single .post-editorial-related__item > * { max-width: 100%; overflow-wrap: anywhere; }

/* Editorial measure applies to prose, not labels, controls, or image captions. */
:is(.walden-homepage-v004, .wdm-service-main, .walden-ppc, .walden-utility, .walden-contact) :is(.prose, .section-intro, .section-heading, .wd-hero-copy, .hero-copy, .ppc-hero__copy) > p:not(.eyebrow):not(.visit-note):not(.access-note):not(.hero-note) { max-width:65ch; }
:is(.wdm-service-main, .walden-ppc) :is(.wd-hero-lead, .hero-lead, .ppc-hero__lead) { font-weight:400; }

/* Patient-facing labels share one voice, including imported service layouts.
   The main/body scope outranks paragraph rules in the legacy scoped sheets. */
body main:is(.site-main, .wdm-service-main, .walden-homepage-v004) :is(.eyebrow, .utility-eyebrow, .ppc-eyebrow, .ppc-form-card__kicker),
body.walden-ppc main :is(.eyebrow, .utility-eyebrow, .ppc-eyebrow, .ppc-form-card__kicker) {
	font-family: var(--wd-font-label);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.12em;
}
body :is(.post-meta, .post-reviewed, .breadcrumbs__list, .ba-case__label,
 .ba-case__duration, .testimonial__context, .contact-way__label,
 .finance__financing-label, .service-pricing__financing-label,
 .service-steps__num, .landing-step__num, .step-track__num,
 .belief__index, .benefit-list__index, .site-footer__heading, .placeholder__label, .brand-fallback) {
	font-family: var(--wd-font-label);
}
/* Transcript disclosures need the same usable target as other controls. */
main :is(.video-transcript, .video-copy, .yes2-video-card) summary {
	min-height: 44px;
	padding-block: 9px;
}
.wdm-service-main { --radius-media:var(--wd-radius-media); --radius-card:var(--wd-radius); }
.wdm-service-main > :is(.section,.wd-care-process,.wd-coordinated-options,.wd-decision-guide,.wd-faq-section,.wd-financial-access,.wd-patient-stories,.wd-related-articles) { padding-block:var(--wd-section-space); }
.wdm-service-main :is(.wd-hero-media,.hero-media,.explainer-media,.provider-media,.case-media) { border-radius:var(--wd-radius-media); overflow:hidden; }
.wdm-service-main :is(.hero, .wd-service-hero) { height:auto; min-height:0; }
.wdm-service-main .wd-hero-main { padding-block:clamp(3rem, 6vw, 5rem); gap:3rem; }
.wdm-service-main :is(.split-intro,.section-intro,.wd-process-intro) { margin-bottom:48px; }
.wdm-service-main :is(.evaluation-panel,.wd-financial-card,.finance-card) { border-top:1px solid var(--wd-line); box-shadow:none; }
.wdm-service-main .wd-financial-access .wd-financial-card .eyebrow { font-size:.75rem; letter-spacing:.12em; }
.wdm-service-main .wd-process-grid { border-left:0; gap:0 32px; }
.wdm-service-main .wd-process-grid li { border-right:0; padding:24px 0; }
.wdm-service-main .option-comparison { border:0; border-radius:0; gap:32px; }
.wdm-service-main .option-card { padding:24px 0; border-top:1px solid var(--wd-line); }
.wdm-service-main .option-card + .option-card { border-left:0; }
.wdm-service-main .option-featured { background:transparent; color:var(--wd-ink); }
.wdm-service-main .option-featured :is(h3,.option-label) { color:var(--wd-teal-dark); }
.walden-shared h2 { font-size:var(--wd-type-h2); line-height:1.12; }
.walden-homepage-v004 .doctor-portrait { width:100%; box-shadow:none; margin:0; }
.walden-homepage-v004 .fact-band { border:0; border-radius:0; box-shadow:none; border-bottom:1px solid var(--wd-line); }
.walden-homepage-v004 .access-panel { border:1px solid var(--wd-line); border-radius:var(--wd-radius); box-shadow:none; }
.walden-homepage-v004 .article-card { box-shadow:none; }
.walden-utility .utility-faq-list details { border:0; border-bottom:1px solid var(--wd-line); border-radius:0; background:transparent; box-shadow:none; }
.walden-utility .utility-faq-list details[open] { box-shadow:none; }
.walden-utility .utility-faq-list summary { padding-inline:0; }
.walden-utility .utility-faq-list details p { padding-inline:0; }
.walden-utility .utility-action-card { border:0; background:var(--wd-surface-soft); box-shadow:none; }
.walden-utility .utility-card-grid article { border:0; border-top:1px solid var(--wd-line); border-radius:0; padding:24px 0; background:transparent; }
.walden-utility .yes2-chip-list li { padding:16px 0; border:0; border-bottom:1px solid var(--wd-line); border-radius:0; background:transparent; }
body:is(.blog,.category) .title-banner { padding-block:64px 48px; background:var(--wd-surface-soft); color:var(--wd-teal-dark); }
body:is(.blog,.category) .site-main .title-banner :is(h1,p,.breadcrumbs,.breadcrumbs__list,.breadcrumbs a) { color:var(--wd-teal-dark); }
body:is(.blog,.category) .title-banner h1 { max-width:22ch; font-size:var(--wd-type-h2); }
body:is(.blog,.category) .title-banner .eyebrow { color:var(--wd-teal); }
body:is(.blog,.category) .site-main > .blog-promise { padding-block:24px 0; background:var(--wd-white); }
body:is(.blog,.category) .blog-promise .areas-statement__text { max-width:65ch; font:400 1.125rem/1.6 var(--font); color:var(--wd-muted); }
body:is(.blog,.category) .blog-featured { padding-top:48px; }
@media (max-width:768px) {
    .wdm-service-main .wd-hero-main { padding-block:2.5rem; gap:2rem; }
    .wdm-service-main :is(.split-intro,.section-intro,.wd-process-intro) { margin-bottom:32px; }
    .walden-homepage-v004 .fact-band div { padding:16px; min-height:0; }
    body:is(.blog,.category) .title-banner { padding-block:48px 32px; }
}

/* Existing markup and editor-authored utility content map to one control. */
:is(
	.global-button,
	.walden-homepage-v004 .button,
	.walden-shared .button,
	.site-main .btn,
	.wdm-service-main .button,
	.walden-ppc .ppc-button,
	.walden-utility .utility-button,
	.walden-utility .utility-form-panel :is(input[type="submit"], button[type="submit"]),
	.walden-contact .lead-form__submit,
	.ppc-form-card .gform_wrapper .gform_button,
	.post-single .post-editorial-contact__book,
	.walden-style-guide .wdsg-button
) {
	display: inline-flex;
	min-width: 0;
	min-height: 2.875rem;
	max-width: 100%;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: .75rem 1.3125rem;
	/* Variant tokens keep this structural rule from overriding outline colors. */
	border: 1px solid var(--wd-button-border, transparent);
	border-radius: var(--wd-radius-control);
	font: 600 0.875rem/1.3 "Inter", system-ui, sans-serif;
	letter-spacing: 0.01em;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	overflow-wrap: break-word;
	white-space: normal;
	cursor: pointer;
	transition: transform 160ms var(--wd-ease-out), background-color 180ms var(--wd-ease), border-color 180ms var(--wd-ease), color 180ms var(--wd-ease);
}

:is(
	.global-button--gold,
	.walden-homepage-v004 .button-gold,
	.walden-shared .button-gold,
	.site-main .btn--cta,
	.wdm-service-main .button-gold,
	.wdm-service-main .button--gold,
	.walden-ppc .ppc-button--gold,
	.walden-utility .utility-button,
	.walden-utility .utility-form-panel :is(input[type="submit"], button[type="submit"]),
	.walden-contact .lead-form__submit,
	.ppc-form-card .gform_wrapper .gform_button,
	.post-single .post-editorial-contact__book,
	.walden-style-guide .wdsg-button--gold
) {
	--wd-button-border: var(--wd-gold);
	background: var(--wd-gold);
	color: var(--wd-teal-dark);
}

:is(
	.walden-homepage-v004 .button-teal,
	.wdm-service-main .button-teal,
	.wdm-service-main .button-dark,
	.walden-ppc .ppc-button--teal,
	.walden-style-guide .wdsg-button--teal
) {
	--wd-button-border: var(--wd-teal);
	background: var(--wd-teal);
	color: var(--wd-white);
}

:is(
	.global-button--outline,
	.site-main .btn--outline,
	.wdm-service-main .button-outline,
	.walden-ppc .ppc-button--outline,
	.walden-style-guide .wdsg-button--outline
) {
	--wd-button-border: var(--wd-teal);
	background: transparent;
	color: var(--wd-teal);
}

:is(
	.walden-homepage-v004 .button-ghost,
	.walden-shared .button-ghost,
	.wdm-service-main .button-outline-light, .wdm-service-main .button--outline-light,
	.walden-ppc .ppc-button--ghost,
	.cta-banner__panel .btn--ghost,
	.landing-final__panel .btn--ghost,
	.cta-banner__panel .btn--outline,
	.landing-final__panel .btn--outline
) {
	--wd-button-border: rgba(255, 255, 255, 0.8);
	background: transparent;
	color: var(--wd-white);
}

/* Form controls and imported service heroes cannot shrink action targets. */
:is(.global-header__actions .global-button, .global-nav__mobile-actions .global-button, .wdm-service-main .header-actions .button) {
	min-height: 44px;
}

:is(.walden-homepage-v004 .button-large, .walden-shared .button-large) {
	min-height: 56px;
	padding-inline: 28px;
}

:is(.walden-contact .lead-form__input, .walden-utility .utility-form-panel input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .walden-utility .utility-form-panel textarea, .ppc-form-card .gform_wrapper :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea)) {
	border-radius: var(--wd-radius-control);
}

:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button):focus-visible {
	outline: 3px solid var(--wd-teal);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--wd-white);
}

/* Numbered archive and search pagination uses bordered, touch-sized controls. */
.site-main .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.site-main .pagination .page-numbers:not(.dots) {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 9px 13px;
	border: 1px solid var(--wd-line);
	border-radius: var(--wd-radius-control);
	background: var(--wd-white);
	color: var(--wd-teal);
	font: 700 0.875rem/1.2 "Inter", system-ui, sans-serif;
	text-decoration: none;
	transition: background-color 180ms var(--wd-ease), border-color 180ms var(--wd-ease), color 180ms var(--wd-ease);
}

.site-main .pagination .page-numbers.current {
	border-color: var(--wd-teal);
	background: var(--wd-teal);
	color: var(--wd-white);
}

.site-main .pagination a.page-numbers:focus-visible {
	outline: 3px solid var(--wd-teal);
	outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
	.site-main .pagination a.page-numbers:hover {
		border-color: var(--wd-teal);
		background: var(--wd-surface);
		color: var(--wd-teal-dark);
	}
}

:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button)[disabled],
:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button)[aria-disabled="true"] {
	opacity: 0.48;
	cursor: not-allowed;
	transform: none;
}

/* Pointer state is set by design-system.js, so keyboard activation stays still. */
:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button).wd-pointer-pressed:not([disabled]):not([aria-disabled="true"]) {
	transform: scale(0.97);
	transition-duration: 80ms;
}

/* Surface feedback for navigation and large targets; only compact media
   buttons compress. Native clicks and scrolling still own activation. */
:is(.global-header__toggle, .global-nav__submenu-toggle, .contact-way, main summary) {
	transition: background-color 160ms var(--wd-ease-out), box-shadow 160ms var(--wd-ease-out);
}
:is(.global-header__toggle, .global-nav__submenu-toggle, main summary).wd-pointer-pressed {
	background-color: color-mix(in srgb, currentColor 9%, transparent);
	transition-duration: 0s;
}
.walden-contact .contact-way.wd-pointer-pressed {
	box-shadow: inset 0 0 0 3px var(--wd-teal);
	background: #e9e7e0;
	transition-duration: 0s;
}
.walden-contact .contact-way--primary.wd-pointer-pressed {
	box-shadow: inset 0 0 0 3px var(--wd-gold);
	background: var(--wd-teal);
}
:is(.video-toggle, .ba-toggle, .play-button, [data-video-modal], .wdm-video-modal__close) {
	min-width: 44px;
	min-height: 44px;
	touch-action: manipulation;
	transition: scale 160ms var(--wd-ease-out), box-shadow 160ms var(--wd-ease-out);
}
:is(.video-toggle, .ba-toggle, .play-button, [data-video-modal], .wdm-video-modal__close).wd-pointer-pressed {
	scale: .98;
	box-shadow: inset 0 0 0 2px currentColor;
	transition-duration: 80ms;
}

/* The class is attached only after JS can observe an offscreen element. */
[data-wd-reveal].wd-reveal-pending {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 420ms var(--wd-ease-out), transform 420ms var(--wd-ease-out);
	transition-delay: var(--reveal-delay, 0s);
}

[data-wd-reveal].wd-reveal-pending.wd-reveal-in {
	opacity: 1;
	transform: none;
}

@media (hover: hover) and (pointer: fine) {
	:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button):hover:not([disabled]):not([aria-disabled="true"]):not(.wd-pointer-pressed) {
		transform: none;
	}

	:is(
		.global-button--gold,
		.walden-homepage-v004 .button-gold,
		.walden-shared .button-gold,
		.site-main .btn--cta,
		.wdm-service-main .button-gold,
		.wdm-service-main .button--gold,
		.walden-ppc .ppc-button--gold,
		.walden-utility .utility-button,
		.walden-utility .utility-form-panel :is(input[type="submit"], button[type="submit"]),
		.walden-contact .lead-form__submit,
		.ppc-form-card .gform_wrapper .gform_button,
		.post-single .post-editorial-contact__book,
		.walden-style-guide .wdsg-button--gold
	):hover:not([disabled]) {
		--wd-button-border: var(--wd-gold-hover);
		background: var(--wd-gold-hover);
		color: var(--wd-teal-dark);
	}

	:is(.walden-homepage-v004 .button-teal, .wdm-service-main .button-teal, .wdm-service-main .button-dark, .walden-ppc .ppc-button--teal, .walden-style-guide .wdsg-button--teal):hover {
		--wd-button-border: var(--wd-teal-light);
		background: var(--wd-teal-light);
		color: var(--wd-white);
	}

	:is(.global-button--outline, .site-main .btn--outline, .wdm-service-main .button-outline, .walden-ppc .ppc-button--outline, .walden-style-guide .wdsg-button--outline):hover {
		--wd-button-border: var(--wd-teal);
		background: var(--wd-surface);
		color: var(--wd-teal-dark);
	}

	:is(.walden-homepage-v004 .button-ghost, .walden-shared .button-ghost, .wdm-service-main .button-outline-light, .wdm-service-main .button--outline-light, .walden-ppc .ppc-button--ghost, .cta-banner__panel .btn--ghost, .landing-final__panel .btn--ghost, .cta-banner__panel .btn--outline, .landing-final__panel .btn--outline):hover {
		--wd-button-border: var(--wd-white);
		background: rgba(255, 255, 255, 0.14);
		color: var(--wd-white);
	}

	.walden-homepage-v004 .service-card:hover img {
		transform: scale(1.04);
	}

	.walden-homepage-v004 .article-card:hover {
		transform: none;
	}

	:is(.walden-homepage-v004 .text-link, .walden-shared .text-link):hover::after {
		transform: translateX(4px);
	}
}

/* Inverse actions in dark Barebone panels retain their contrast. */
:is(.cta-banner__panel, .landing-final__panel) .btn--cta {
	border-color: var(--wd-gold);
	background: var(--wd-gold);
	color: var(--wd-teal-dark);
}

/* Quiet supporting surfaces; homepage accents below add selective depth. */
.walden-homepage-v004 .fact-band {
	background: var(--wd-white);
}

.walden-homepage-v004 .access-panel {
	background: linear-gradient(135deg, #f1eadc, var(--wd-surface-soft) 78%);
	border-top: 1px solid var(--wd-gold);
}

.walden-homepage-v004 .articles {
	background: var(--wd-surface);
}

.walden-homepage-v004 .article-card-featured {
	background: var(--wd-home-depth);
}

/* Static architectural detail stays behind content. Tokens are homepage-only
   so shared CTA markup on other pages retains its existing surface. */
.walden-homepage-v004 {
	--wd-home-depth: linear-gradient(120deg, var(--wd-teal-dark) 15%, var(--wd-teal) 100%);
	--wd-home-grid-size: 48px;
	--wd-home-grid-line: rgba(255, 255, 255, 0.04);
}

.walden-homepage-v004 .services {
	background: linear-gradient(160deg, var(--wd-surface), var(--wd-white) 90%);
}

.walden-homepage-v004 :is(.doctor, .final-cta) {
	position: relative;
	isolation: isolate;
	background: var(--wd-home-depth);
}

.walden-homepage-v004 .final-cta {
	background: linear-gradient(110deg, var(--wd-teal-dark), var(--wd-teal) 65%, #074b5e);
}

.walden-homepage-v004 :is(.doctor, .final-cta)::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	width: min(42%, 560px);
	height: min(65%, 320px);
	pointer-events: none;
	background-image:
		linear-gradient(to right, var(--wd-home-grid-line) 1px, transparent 1px),
		linear-gradient(to bottom, var(--wd-home-grid-line) 1px, transparent 1px);
	background-size: var(--wd-home-grid-size) var(--wd-home-grid-size);
	-webkit-mask-image: linear-gradient(225deg, #000, transparent 70%);
	mask-image: linear-gradient(225deg, #000, transparent 70%);
}

@media (max-width: 768px) {
	.walden-homepage-v004 {
		--wd-home-grid-size: 32px;
	}

	.walden-homepage-v004 :is(.doctor, .final-cta)::before {
		width: min(48%, 220px);
		height: 160px;
	}
}

.walden-homepage-v004 .article-card:focus-within {
	transform: none;
}

.wdm-service-main :is(.hero, .wd-service-hero) {
	background-color: var(--wd-teal-dark);
	background-image: none;
}

.wdm-service-main .start-path,
.wdm-service-main .cosmetic-tech {
	background: var(--wd-teal);
	background-image: none;
}

.wdm-service-main .section-light {
	background: var(--wd-white);
}

.wdm-service-main .finance-card {
	background: var(--wd-surface-soft);
}

.walden-ppc .ppc-facts__grid {
	background: var(--wd-teal);
}

.walden-ppc :is(.ppc-experience, .ppc-thanks__hero) {
	background: var(--wd-surface);
}

/* The old neutral skin muted real photography, maps, and feedback states. */
.site-main > .section:nth-of-type(even) .placeholder {
	background-color: var(--wd-surface);
}

.site-main :is([class$="__media"] img, [class$="__figure"] img, .person__portrait img, .staff-row__img, .author-box__img, .areas-map__frame iframe, .contact-map__frame iframe, .location-map__frame iframe) {
	filter: none;
}

.site-main :is(.person-credentials__row img, .trust-badges__row img) {
	filter: none;
	opacity: 1;
}

.site-main :is(input, textarea)::placeholder {
	color: var(--wd-muted);
}

.contact-form__status--ok,
.landing-form-note--ok {
	background: var(--wd-surface);
	border-left-color: var(--wd-teal);
}

.contact-form__status--error,
.landing-form-note--error {
	background: #fff3f2;
	border-left-color: var(--wd-orange);
}

/* Navigation disclosure responds instantly for keyboard use. */
.global-nav__submenu-toggle span,
.global-header__toggle-lines span {
	transition: none;
}

@media (hover: none) {
	:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button):hover:not(.wd-pointer-pressed),
	.walden-homepage-v004 .service-card:hover img,
	.walden-homepage-v004 .article-card:hover,
	:is(.walden-homepage-v004 .text-link, .walden-shared .text-link):hover::after {
		transform: none;
	}
}

@media (max-width: 1199px) {
	:root { --wd-section-space: 80px; }
}

@media (max-width: 768px) {
	:root {
		--wd-page-gutter: 1rem;
		--wd-section-space: 3.5rem;
		--section-pad: var(--wd-section-space);
	}

	.post-single :is(.post-editorial-hero__inner, .post-editorial-content__shell, .post-editorial-related__shell, .post-editorial-contact__shell) {
		width: calc(100% - 32px);
	}

	.walden-homepage-v004 {
		--section: var(--wd-section-space);
	}

	.walden-shared.section-pad {
		padding-block: var(--wd-section-space);
	}

	.walden-shared [data-keep-together] { white-space: normal; }
}

@media (max-width: 600px) {
	.wdm-service-main > .hero {
		height: auto;
	}

	.wdm-service-main :is(.button, .play-button),
	.wdm-service-main :is(.menu-toggle, .ba-toggle, [role="tab"]),
	.walden-ppc :is(.ppc-button, .ppc-callbar a),
	.walden-homepage-v004 .button,
	.walden-utility .utility-button {
		min-height: 44px;
	}

	.wdm-service-main :is(.menu-toggle, .ba-toggle) {
		min-width: 44px;
	}

	.wdm-service-main .hero :is(.action-row, .hero-actions) .button {
		min-height: 46px;
		padding-inline: 18px;
		font-size: 0.8125rem;
	}

	.wdm-service-main > :is(.hero, .wd-service-hero) :is(.action-row, .hero-actions, .wd-hero-actions) {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.wdm-service-main > :is(.hero, .wd-service-hero) :is(.action-row, .hero-actions, .wd-hero-actions) .button {
		width: 100%;
		min-height: 46px;
		padding: 12px 18px;
		font-size: 0.8125rem;
		line-height: 1.25;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(.video-toggle, .ba-toggle, .play-button, [data-video-modal], .wdm-video-modal__close).wd-pointer-pressed {
		scale: none;
		transform: none;
	}
	[data-wd-reveal].wd-reveal-pending,
	[data-wd-reveal].wd-reveal-pending.wd-reveal-in {
		opacity: 1;
		transform: none;
		transition: none;
	}

	:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button) {
		transition: background-color 120ms var(--wd-ease), border-color 120ms var(--wd-ease), color 120ms var(--wd-ease);
	}

	:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button).wd-pointer-pressed {
		transform: none;
	}

	@media (hover: hover) and (pointer: fine) {:is(.global-button, .button, .btn, .ppc-button, .utility-button, .lead-form__submit, .gform_button, .post-editorial-contact__book, .wdsg-button):hover,
.walden-homepage-v004 .service-card:hover img,
.walden-homepage-v004 .article-card:hover,
:is(.walden-homepage-v004 .text-link, .walden-shared .text-link):hover::after{
		transform: none !important;
	}}
}

[data-wd-reveal].wd-reveal-instant { opacity:1; transform:none; transition:none; }
html[data-wd-input="keyboard"] { scroll-behavior:auto; }
html[data-wd-input="keyboard"] :is(.global-nav,.global-nav-scrim,.sub-menu,.global-button,.button,.btn,[data-wd-reveal]) { transition:none; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

html[data-wd-input="keyboard"] :is(.ba-item,.ba-item img,.wdm-video-modal,.wdm-video-modal__surface) { animation:none; transition:none; }

.site-main .title-banner__title { font-size:var(--wd-type-h1); line-height:1.08; }
body:is(.blog,.category) .site-main .title-banner__title { font-size:var(--wd-type-h2); }
.site-main.walden-contact .title-banner { padding-block:clamp(2rem, 5vw, 4rem); }
.site-main.walden-contact .title-banner__inner { padding-block:0; }

body:is(.blog,.category) .site-main > .section .blog-featured__card { padding:0; border:0; border-radius:0; background:transparent; }

/* Search is a compact text directory; pages without thumbnails need no placeholder. */
.site-main .search-results { padding-block:var(--wd-section-space); }
.search-results .section__head { max-width:800px; margin-bottom:48px; }
.search-results .section__title { font-size:var(--wd-type-h2); overflow-wrap:anywhere; }
.search-result-list { display:grid; max-width:900px; border-top:1px solid var(--wd-line); }
.search-result { display:block; padding:24px 0; border-bottom:1px solid var(--wd-line); color:var(--wd-ink); text-decoration:none; }
.search-result .post-card__body { display:grid; gap:8px; padding:0; }
.search-result .post-card__chip { width:max-content; padding:0; border:0; background:transparent; color:var(--wd-muted); font-size:.75rem; }
.search-result__title { margin:0; font-size:var(--wd-type-h3); line-height:1.2; color:var(--wd-teal-dark); }
.search-result .post-card__excerpt { max-width:65ch; font-size:1rem; }
@media (hover:hover) and (pointer:fine) { .search-result:hover h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; } }

/* Materials follow the visitor's preferences without changing the brand. */
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
	.global-header,
	.global-header.is-scrolled,
	.wdsg-topbar {
		background: var(--wd-white);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.wdm-service-main .wdm-video-modal::backdrop {
		background: var(--wd-teal-dark);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.wdm-service-main .wdm-video-modal__close,
	.wdm-service-main .wdm-video-modal__close:hover,
	.walden-homepage-v004 .video-toggle,
	.wdsg-video-toggle {
		background: var(--wd-teal-dark);
		color: var(--wd-white);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

@media (prefers-contrast: more) {
	.global-header,
	.global-header.is-scrolled,
	.wdsg-topbar {
		border-bottom-color: var(--wd-teal);
	}

	.global-nav .sub-menu {
		border-color: var(--wd-teal);
	}

	.wdm-service-main .wdm-video-modal__surface,
	.wdm-service-main .wdm-video-modal__close,
	.walden-homepage-v004 .video-toggle,
	.wdsg-video-toggle {
		border: 2px solid var(--wd-white);
	}
}
