/* ==========================================================================
   Well Dog Hydrotherapy — main theme stylesheet
   Ported from the approved homepage mockup (Mockup/welldog_green_wave_homepage_mockup.html)
   plus utility classes that read from the universal section settings.
   ========================================================================== */

/* ---------- Variables ---------- */
:root {
	--wd-green:      #65a847;
	--wd-green-dark: #315c32;
	--wd-green-soft: #eaf6e4;
	--wd-blue:       #2d9ab3;
	--wd-blue-dark:  #14556a;
	--wd-aqua:       #84d8df;
	--wd-cream:      #fffaf1;
	--wd-lilac:      #f3edf7;
	--wd-charcoal:   #39383d;
	--wd-dark:       #26332b;
	--wd-muted:      #6f7b72;
	--wd-white:      #ffffff;
	--wd-shadow:     0 22px 55px rgba(49, 92, 50, .16);
	--wd-shadow-sm:  0 10px 24px rgba(49, 92, 50, .08);
	--wd-shadow-md:  0 16px 42px rgba(49, 92, 50, .12);
	--wd-radius:     26px;

	--wd-section-padding:     5.8rem;
	--wd-section-padding-sm:  3rem;
	--wd-section-padding-lg:  8rem;
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
body {
	margin: 0;
	font-family: "Nunito", system-ui, sans-serif;
	color: var(--wd-dark);
	background: #fff;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { text-decoration: none; }
.wd-content :is(p, ul, ol) { margin-bottom: 1rem; }
.wd-content a { color: var(--wd-green-dark); text-decoration: underline; }

.wd-skip-link {
	position: absolute;
	left: -9999px;
}
.wd-skip-link:focus {
	left: 1rem;
	top: 1rem;
	background: #fff;
	padding: .75rem 1rem;
	border-radius: 8px;
	z-index: 9999;
}

/* ---------- Section utilities (mapped from section settings) ---------- */
.wd-section { position: relative; }

.bg-white      { background: var(--wd-white); }
.bg-cream      { background: var(--wd-cream); }
.bg-green-soft { background: var(--wd-green-soft); }
.bg-green-dark { background: var(--wd-blue-dark); color: #fff; }
.bg-blue-dark  { background: var(--wd-blue-dark); color: #fff; }

.text-dark  { color: var(--wd-dark); }
.text-light { color: #fff; }
.text-light :is(.wd-title, .wd-display, .wd-lead) { color: #fff; }
.text-light .wd-lead { color: rgba(255, 255, 255, .85); }

.pt-none   { padding-top: 0; }
.pt-sm     { padding-top: var(--wd-section-padding-sm); }
.pt-normal { padding-top: var(--wd-section-padding); }
.pt-lg     { padding-top: var(--wd-section-padding-lg); }

.pb-none   { padding-bottom: 0; }
.pb-sm     { padding-bottom: var(--wd-section-padding-sm); }
.pb-normal { padding-bottom: var(--wd-section-padding); }
.pb-lg     { padding-bottom: var(--wd-section-padding-lg); }

/* ---------- Reusable waves ---------- */
.has-wave-top, .has-wave-bottom, .has-wave-both {
	position: relative;
	overflow: hidden;
}
.has-wave-top::before, .has-wave-both::before {
	content: "";
	position: absolute;
	top: -1px; left: 0; right: 0;
	height: 140px;
	z-index: 1;
	pointer-events: none;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'><path d='M 0,70 C 480,-20 960,160 1440,70 L 1440,0 L 0,0 Z' fill='%23ffffff'/></svg>") center/100% 100% no-repeat;
}
.has-wave-bottom::after, .has-wave-both::after {
	content: "";
	position: absolute;
	bottom: -1px; left: 0; right: 0;
	height: 140px;
	z-index: 1;
	pointer-events: none;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 140' preserveAspectRatio='none'><path d='M 0,70 C 480,-20 960,160 1440,70 L 1440,140 L 0,140 Z' fill='%23ffffff'/></svg>") center/100% 100% no-repeat;
}
.has-wave-top > .container, .has-wave-bottom > .container, .has-wave-both > .container {
	position: relative;
	z-index: 2;
}
.has-wave-top, .has-wave-both { padding-top: 9rem; }
.has-wave-bottom, .has-wave-both { padding-bottom: 9rem; }

/* ---------- Typography ---------- */
.wd-title, .wd-display {
	color: var(--wd-charcoal);
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1.02;
}
.wd-title span, .wd-display span { color: var(--wd-green); }

.wd-lead {
	color: var(--wd-muted);
	font-size: 1.12rem;
	line-height: 1.75;
}

.wd-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: var(--wd-green-dark);
	background: var(--wd-green-soft);
	border-radius: 999px;
	padding: .4rem .85rem;
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* ---------- Buttons ---------- */
.wd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	border-radius: 999px;
	padding: .82rem 1.25rem;
	font-weight: 900;
	border: 0;
	transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.wd-btn:hover { transform: translateY(-3px); }

.wd-btn-green {
	color: #fff;
	background: var(--wd-green);
	box-shadow: 0 14px 30px rgba(101, 168, 71, .28);
}
.wd-btn-green:hover { color: #fff; background: var(--wd-green-dark); }

.wd-btn-blue {
	color: #fff;
	background: var(--wd-blue);
	box-shadow: 0 14px 30px rgba(45, 154, 179, .25);
}
.wd-btn-blue:hover { color: #fff; background: var(--wd-blue-dark); }

.wd-btn-light {
	color: var(--wd-green-dark);
	background: #fff;
	box-shadow: 0 12px 28px rgba(49, 92, 50, .12);
}
.wd-btn-light:hover { color: var(--wd-green-dark); background: var(--wd-green-soft); }

/* ---------- Topbar + Nav ---------- */
.wd-topbar {
	background: var(--wd-blue-dark);
	color: #fff;
	font-size: .85rem;
	font-weight: 800;
	padding: .45rem 0;
}
.wd-topbar a { color: #fff; }

.wd-navbar {
	background: #fff;
	box-shadow: 0 10px 30px rgba(49, 92, 50, .08);
	position: sticky;
	top: 0;
	z-index: 50;
}

.wd-logo-mark {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 18px rgba(101, 168, 71, .25);
	flex: 0 0 auto;
}
.wd-logo-mark img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.wd-logo strong,
.wd-logo span { display: block; line-height: 1; }
.wd-logo strong { color: var(--wd-green-dark); font-size: 1.15rem; font-weight: 900; }
.wd-logo span {
	margin-top: .3rem;
	color: var(--wd-blue-dark);
	font-size: .74rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.nav-link {
	color: var(--wd-dark);
	font-weight: 900;
	font-size: .92rem;
}
.nav-link:hover { color: var(--wd-green); }

/* ---------- Hero ---------- */
.wd-hero {
	position: relative;
	min-height: 760px;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 3rem 0 11rem;
}
.wd-hero h1 { font-size: clamp(3rem, 6vw, 5.8rem); }
.wd-hero-content {
	position: relative;
	z-index: 2;
	max-width: 620px;
}
.wd-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .5rem .85rem;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(49, 92, 50, .12);
	color: var(--wd-green-dark);
	font-weight: 900;
	margin-bottom: 1.5rem;
}

.wd-hero-waves {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 140px;
	z-index: 2;
	pointer-events: none;
	display: block;
}
.wd-hero-waves.is-bottom { bottom: -1px; }

/* ---------- How it works (journey ring) ---------- */
.wd-how { background: #fff; overflow: hidden; }

.wd-journey-wrap {
	position: relative;
	min-height: 760px;
	max-width: 980px;
	margin: 0 auto;
	padding: 30px 0;
}
.wd-journey-wrap::before {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: min(560px, 78%);
	aspect-ratio: 1 / 1;
	border: 3px dashed var(--wd-green);
	border-radius: 50%;
	opacity: .55;
	z-index: 1;
}
.wd-journey-centre {
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	width: 300px;
	height: 300px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--wd-green-soft);
	box-shadow: var(--wd-shadow);
	border: 8px solid #fff;
	z-index: 2;
}
.wd-journey-centre img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

.wd-journey-card {
	position: absolute;
	top: 50%; left: 50%;
	width: 240px;
	background: #fff;
	border-radius: 24px;
	padding: 1.35rem;
	box-shadow: 0 18px 45px rgba(49, 92, 50, .13);
	text-align: center;
	z-index: 3;
}
.wd-journey-card i {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	margin: 0 auto .8rem;
	border-radius: 50%;
	color: #fff;
	background: var(--wd-green);
	font-size: 1.35rem;
}
.wd-journey-card h3 {
	font-size: 1.05rem;
	font-weight: 900;
	margin-bottom: .35rem;
	color: var(--wd-green-dark);
}
.wd-journey-card p {
	color: var(--wd-muted);
	font-size: .9rem;
	margin: 0;
	line-height: 1.5;
}
.wd-journey-1 { transform: translate(-50%, calc(-50% - 280px)); }
.wd-journey-2 { transform: translate(calc(-50% + 242px), calc(-50% + 140px)); }
.wd-journey-3 { transform: translate(calc(-50% - 242px), calc(-50% + 140px)); }

/* ---------- Wave dark band (features) ---------- */
.wd-wave-dark {
	position: relative;
	color: #fff;
	background: var(--wd-blue-dark);
	overflow: hidden;
}
.wd-wave-content { position: relative; z-index: 2; }
.wd-wave-dark .wd-title, .wd-wave-dark .wd-lead { color: #fff; }
.wd-wave-dark .wd-lead { color: rgba(255, 255, 255, .8); }

.wd-paws {
	position: absolute;
	inset: 0;
	opacity: .10;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='%23ffffff'><g transform='translate(40 40) rotate(-12)'><ellipse cx='40' cy='62' rx='22' ry='19'/><ellipse cx='14' cy='38' rx='8' ry='12'/><ellipse cx='32' cy='20' rx='8' ry='12'/><ellipse cx='52' cy='20' rx='8' ry='12'/><ellipse cx='70' cy='38' rx='8' ry='12'/></g><g transform='translate(120 120) rotate(20)'><ellipse cx='40' cy='62' rx='22' ry='19'/><ellipse cx='14' cy='38' rx='8' ry='12'/><ellipse cx='32' cy='20' rx='8' ry='12'/><ellipse cx='52' cy='20' rx='8' ry='12'/><ellipse cx='70' cy='38' rx='8' ry='12'/></g></g></svg>");
	background-size: 220px 220px;
	background-repeat: repeat;
	pointer-events: none;
}

.wd-feature-circle {
	width: 126px;
	height: 126px;
	margin: 0 auto 1.4rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var(--wd-green);
	background: #fff;
	font-size: 3rem;
	box-shadow: 0 20px 40px rgba(0,0,0,.12);
}
.wd-feature-item h3 { color: #fff; font-weight: 900; }
.wd-feature-item p { color: rgba(255,255,255,.76); margin-bottom: 0; }

/* ---------- Services strip / pill cards ---------- */
.wd-services-strip { padding: 3rem 0; }
.wd-pill-card {
	height: 100%;
	border: 1px solid rgba(101,168,71,.18);
	border-radius: 18px;
	background: #fff;
	padding: 1.6rem .8rem 1.3rem;
	text-align: center;
	box-shadow: 0 12px 28px rgba(49, 92, 50, .07);
	transition: transform .22s ease, box-shadow .22s ease;
	color: var(--wd-dark);
	text-decoration: none;
}
.wd-pill-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--wd-shadow);
	color: var(--wd-dark);
}
.wd-pill-icon {
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	margin: -2.1rem auto .7rem;
	border-radius: 50%;
	color: #fff;
	background: var(--wd-green);
	border: 6px solid #fff;
	box-shadow: 0 12px 25px rgba(101, 168, 71, .22);
}
.wd-pill-card strong { color: var(--wd-charcoal); font-weight: 900; font-size: .95rem; }

/* ---------- Service Detail ---------- */
.wd-check-list { list-style: none; padding: 0; }
.wd-check-list li {
	display: flex;
	gap: .5rem;
	color: var(--wd-muted);
	margin-bottom: .6rem;
}
.wd-check-list li i { color: var(--wd-green); flex: 0 0 auto; }

/* ---------- Card (generic + guide) ---------- */
.wd-card {
	height: 100%;
	background: #fff;
	border-radius: var(--wd-radius);
	box-shadow: 0 16px 42px rgba(49, 92, 50, .1);
	overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease;
}
.wd-card:hover {
	transform: translateY(-7px);
	box-shadow: var(--wd-shadow);
}
.wd-guide-card img {
	width: 100%;
	height: 230px;
	object-fit: cover;
}
.wd-guide-tag {
	display: inline-flex;
	border-radius: 999px;
	color: var(--wd-green-dark);
	background: var(--wd-green-soft);
	font-size: .8rem;
	font-weight: 900;
	padding: .35rem .7rem;
}

/* ---------- Meet the therapist ---------- */
.wd-meet { background: #fff; }
.wd-meet-photo {
	position: relative;
	border-radius: 32px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	box-shadow: var(--wd-shadow);
	background: var(--wd-green-soft);
}
.wd-meet-photo img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.wd-meet-quote {
	margin-top: 1.5rem;
	padding: 1.5rem 1.75rem;
	border-left: 4px solid var(--wd-green);
	background: var(--wd-green-soft);
	border-radius: 0 18px 18px 0;
	font-style: italic;
	font-size: 1.1rem;
	color: var(--wd-dark);
}
.wd-credentials {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin: 1.4rem 0 0;
	padding: 0;
	list-style: none;
}
.wd-credentials li {
	padding: .45rem .85rem;
	border-radius: 999px;
	background: var(--wd-green-soft);
	color: var(--wd-green-dark);
	font-size: .85rem;
	font-weight: 700;
}

/* ---------- Team grid ---------- */
.wd-team-card {
	background: #fff;
	border-radius: 22px;
	padding: 1.5rem;
	box-shadow: var(--wd-shadow-sm);
	height: 100%;
	transition: transform .22s ease, box-shadow .22s ease;
}
.wd-team-card:hover { transform: translateY(-5px); box-shadow: var(--wd-shadow-md); }
.wd-team-photo {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto;
	border: 5px solid var(--wd-green-soft);
}
.wd-team-photo img {
	width: 100%; height: 100%;
	object-fit: cover;
}

/* ---------- Accreditations ---------- */
.wd-accred-card {
	background: #fff;
	border-radius: 18px;
	padding: 1.5rem 1.25rem;
	border: 1px solid var(--wd-green-soft);
	box-shadow: var(--wd-shadow-sm);
}
.wd-footer-accreditations img {
	background: #fff;
	padding: 4px;
	border-radius: 6px;
}

/* ---------- FAQ accordion ---------- */
.wd-faq .accordion-item {
	background: #fff;
	border: 1px solid var(--wd-green-soft);
	border-radius: 18px !important;
	overflow: hidden;
	margin-bottom: 1rem;
	box-shadow: var(--wd-shadow-sm);
}
.wd-faq .accordion-button {
	padding: 1.2rem 1.4rem;
	font-weight: 900;
	color: var(--wd-green-dark);
	background: #fff;
	box-shadow: none !important;
	border: 0;
}
.wd-faq .accordion-button:not(.collapsed) {
	color: var(--wd-green-dark);
	background: var(--wd-green-soft);
}
.wd-faq .accordion-body {
	padding: 0 1.4rem 1.4rem;
	color: var(--wd-muted);
	line-height: 1.7;
}

/* ---------- Reviews ---------- */
.wd-reviews { background: #fff; }
.wd-review-card {
	height: 100%;
	border-radius: 24px;
	padding: 2rem;
	background: #fff;
	box-shadow: 0 16px 42px rgba(49, 92, 50, .1);
	text-align: center;
}
.wd-stars {
	color: #f6b93b;
	letter-spacing: .08em;
	font-size: 1.1rem;
}

/* ---------- Gallery ---------- */
.wd-gallery-grid .wd-gallery-item {
	display: block;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	box-shadow: var(--wd-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease;
}
.wd-gallery-grid .wd-gallery-item:hover {
	transform: scale(1.02);
	box-shadow: var(--wd-shadow-md);
}
.wd-gallery-grid img {
	width: 100%; height: 100%;
	object-fit: cover;
}

/* ---------- Care Guide archive filter pills ---------- */
.wd-care-filter .wd-filter-pill {
	display: inline-flex;
	padding: .5rem 1rem;
	border-radius: 999px;
	background: var(--wd-green-soft);
	color: var(--wd-green-dark);
	font-weight: 800;
	font-size: .9rem;
	transition: background .2s ease, color .2s ease;
}
.wd-care-filter .wd-filter-pill:hover,
.wd-care-filter .wd-filter-pill.is-active {
	background: var(--wd-green);
	color: #fff;
}

/* ---------- CTA / app section ---------- */
.wd-app-section {
	position: relative;
	color: #fff;
	background: var(--wd-blue-dark);
	overflow: hidden;
}
.wd-app-panel { position: relative; z-index: 2; }
.wd-app-section .wd-title,
.wd-app-section .wd-lead { color: #fff; }
.wd-app-section .wd-lead { color: rgba(255, 255, 255, .85); }
.wd-app-section .wd-eyebrow.bg-white { color: var(--wd-blue-dark); }

/* ---------- Footer ---------- */
.wd-footer {
	position: relative;
	color: rgba(255,255,255,.75);
	background: var(--wd-charcoal);
	padding: 9rem 0 2rem;
	overflow: hidden;
}
.wd-footer h3, .wd-footer h4 { color: #fff; font-weight: 900; }
.wd-footer a { color: rgba(255,255,255,.75); }
.wd-footer a:hover { color: #fff; }
.wd-footer ul { list-style: none; padding: 0; margin: 1rem 0 0; }
.wd-footer li { margin-bottom: .55rem; }
.wd-footer-logo {
	width: 70px;
	height: 70px;
	display: grid;
	place-items: center;
	background: #fff;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 1rem;
	padding: 4px;
}
.wd-footer-logo img {
	width: 100%; height: 100%;
	object-fit: contain;
}
.wd-footer-social a {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	transition: background .2s ease, color .2s ease;
}
.wd-footer-social a:hover { background: var(--wd-green); color: #fff; }

/* ---------- Care Guide page ---------- */
.wd-care-hero h1 { font-size: clamp(2rem, 4.5vw, 3.5rem); }

/* ---------- Cookie consent banner ---------- */
.wd-cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: var(--wd-blue-dark);
	color: #fff;
	box-shadow: 0 -8px 30px rgba(0, 0, 0, .25);
	padding: 1rem 0;
	font-size: .92rem;
}
.wd-cookie-banner[hidden] { display: none; }
.wd-cookie-banner-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	justify-content: space-between;
}
.wd-cookie-banner-text {
	flex: 1 1 320px;
	line-height: 1.5;
}
.wd-cookie-banner-text a {
	color: var(--wd-aqua);
	text-decoration: underline;
}
.wd-cookie-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
}
.wd-cookie-banner-actions .wd-btn {
	padding: .55rem 1.1rem;
	font-size: .9rem;
}
@media (max-width: 575.98px) {
	.wd-cookie-banner-actions { width: 100%; justify-content: stretch; }
	.wd-cookie-banner-actions .wd-btn { flex: 1; }
}

/* Persistent cookie-preferences toggle — bottom left, always visible. */
.wd-cookie-toggle {
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wd-blue-dark);
	color: #fff;
	border: 2px solid #fff;
	cursor: pointer;
	z-index: 9998;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1;
	padding: 0;
	transition: transform .18s ease, background .18s ease;
}
.wd-cookie-toggle > i {
	display: block;
	line-height: 1;
}
.wd-cookie-toggle:hover {
	background: var(--wd-green-dark);
	transform: translateY(-2px);
}
.wd-cookie-toggle:focus-visible {
	outline: 3px solid var(--wd-aqua);
	outline-offset: 3px;
}
/* Hide the toggle while the banner is open — they share the same job. */
.wd-cookie-banner:not([hidden]) ~ .wd-cookie-toggle { display: none; }

@media (max-width: 575.98px) {
	.wd-cookie-toggle {
		left: .75rem;
		bottom: .75rem;
		width: 42px;
		height: 42px;
		font-size: 1.2rem;
	}
}

/* ==========================================================================
   Responsive breakpoints
   Mobile-first: base styles target mobile (375px+), media queries add desktop/tablet.
   ========================================================================== */

/* Tablet down (≤991.98px) */
@media (max-width: 991.98px) {
	:root {
		--wd-section-padding: 4.5rem;
		--wd-section-padding-lg: 6rem;
	}
	.wd-hero {
		min-height: auto;
		padding: 4rem 0 10rem;
	}
	.wd-hero h1 { font-size: clamp(2.4rem, 6vw, 3.8rem); }

	.wd-journey-wrap {
		min-height: auto;
		display: grid;
		gap: 1rem;
		justify-items: center;
	}
	.wd-journey-wrap::before { display: none; }
	.wd-journey-centre, .wd-journey-card {
		position: static;
		transform: none;
		width: 100%;
		max-width: 360px;
	}
	.wd-journey-centre {
		width: 220px;
		height: 220px;
		margin-bottom: .5rem;
	}

	.has-wave-top, .has-wave-both { padding-top: 7rem; }
	.has-wave-bottom, .has-wave-both { padding-bottom: 7rem; }
	.has-wave-top::before, .has-wave-both::before,
	.has-wave-bottom::after, .has-wave-both::after {
		height: 90px;
	}
	.wd-hero-waves { height: 90px; }
}

/* Phone landscape / small tablet (≤768px) */
@media (max-width: 767.98px) {
	.wd-hero { padding: 3rem 0 7rem; }
	.wd-hero h1 { font-size: 2.6rem; }
	.wd-title.display-4 { font-size: 2rem; }
	.wd-meet-photo { aspect-ratio: 4 / 3; }
	.wd-team-photo { width: 120px; height: 120px; }
	.wd-feature-circle { width: 100px; height: 100px; font-size: 2.4rem; }
	.wd-card.wd-guide-card img { height: 200px; }
}

/* Phone (≤575.98px) */
@media (max-width: 575.98px) {
	:root {
		--wd-section-padding: 3.5rem;
		--wd-section-padding-lg: 4.5rem;
	}
	.wd-btn { width: 100%; }
	.wd-hero { padding: 2.5rem 0 6rem; }
	.wd-hero h1 { font-size: 2.2rem; }
	.has-wave-top, .has-wave-both { padding-top: 5.5rem; }
	.has-wave-bottom, .has-wave-both { padding-bottom: 5.5rem; }
	.has-wave-top::before, .has-wave-both::before,
	.has-wave-bottom::after, .has-wave-both::after {
		height: 70px;
	}
	.wd-hero-waves { height: 70px; }
	.wd-journey-centre { width: 180px; height: 180px; }
	.wd-meet-quote { font-size: 1rem; padding: 1.2rem; }
	.wd-topbar { font-size: .75rem; }
}

/* Small phone (≤374.98px) — keep things readable on the smallest screens */
@media (max-width: 374.98px) {
	.wd-hero h1 { font-size: 1.9rem; }
	.wd-title.display-4 { font-size: 1.7rem; }
	.wd-eyebrow { font-size: .7rem; letter-spacing: .04em; }
	.wd-journey-centre { width: 150px; height: 150px; }
}
