/* ==========================================================================
   WebHunt Core: Elementori vidinad
   Kasutab teema disainitokeneid (--wh-*). Varuväärtused on kihis, nii et
   teema inline-tokenid kirjutavad need alati üle.
   ========================================================================== */
@layer webhunt-fallback {
	:root {
		--wh-font-display: "Bricolage Grotesque", "Bricolage Grotesque Fallback", ui-sans-serif, system-ui, sans-serif;
		--wh-bg: #F7F3EC;
		--wh-bg-alt: #EFE9DF;
		--wh-surface: #FFFFFF;
		--wh-ink: #0B1220;
		--wh-text: #1F2738;
		--wh-muted: #4A5468;
		--wh-border: #E3DACB;
		--wh-border-strong: #CFC6B6;
		--wh-accent: #FF5B2E;
		--wh-accent-hover: #FF7449;
		--wh-on-accent: #1A0A03;
		--wh-accent-ink: #B23A10;
		--wh-accent-soft: #FFE6DC;
		--wh-night: #0B1220;
		--wh-night-2: #141D30;
		--wh-focus: #B23A10;
		--wh-star: #E8A317;
		--wh-radius-sm: 10px;
		--wh-radius: 18px;
		--wh-radius-lg: 28px;
		--wh-radius-pill: 999px;
		--wh-shadow: 0 16px 40px -12px rgb(11 18 32 / .16);
		--wh-ease: cubic-bezier(.2, .7, .2, 1);
		--wh-ease-spring: cubic-bezier(.34, 1.56, .64, 1);
		--wh-fs-display: clamp(2.75rem, 1.5rem + 5.6vw, 6rem);
		--wh-fs-h2: clamp(1.875rem, 1.3rem + 2.6vw, 3.25rem);
		--wh-fs-h3: clamp(1.25rem, 1.1rem + .7vw, 1.625rem);
		--wh-fs-lead: clamp(1.125rem, 1.05rem + .4vw, 1.3125rem);
		--wh-fs-sm: .9375rem;
		--wh-fs-xs: .8125rem;
	}
}

/* `hidden` peab alati peitma, ka siis, kui klass annab elemendile display väärtuse. */
.wh-form [hidden],
.wh-reviews [hidden],
.wh-map [hidden] {
	display: none !important;
}

.wh-surface-alt {
	background: var(--wh-bg-alt);
}

.wh-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.wh-round-btn {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--wh-border-strong);
	border-radius: 50%;
	background: transparent;
	color: var(--wh-ink);
	transition: background-color .2s var(--wh-ease), border-color .2s var(--wh-ease), transform .2s var(--wh-ease);
}

.wh-round-btn:hover {
	border-color: var(--wh-ink);
	background: var(--wh-ink);
	color: var(--wh-bg);
}

.wh-round-btn:disabled {
	opacity: .35;
	cursor: default;
	background: transparent;
	color: var(--wh-ink);
}

.wh-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--wh-border-strong);
}

.wh-stars .is-on {
	color: var(--wh-star);
	fill: currentColor;
}

/* Hero
   ========================================================================== */
.wh-hero {
	padding-block: clamp(2.5rem, 7vw, 6.5rem) clamp(3rem, 7vw, 6rem);
	background:
		radial-gradient(ellipse 55% 70% at 85% 10%, color-mix(in srgb, var(--wh-accent) 18%, transparent), transparent 70%),
		radial-gradient(ellipse 40% 50% at 0% 100%, color-mix(in srgb, var(--wh-ink) 6%, transparent), transparent 70%);
	overflow: clip;
}

.wh-hero__grid {
	display: grid;
	gap: clamp(2.5rem, 6vw, 4rem);
	align-items: center;
}

@media (min-width: 1024px) {
	.wh-hero__grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	}

	.wh-hero--text .wh-hero__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Tekst joondub logo ja ülejäänud sisuga, ainult rea pikkus on piiratud. */
	.wh-hero--text .wh-hero__content {
		max-width: 900px;
	}
}

.wh-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .625rem;
	margin: 0 0 1.5rem;
	padding: .375rem 1rem .375rem .75rem;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-pill);
	background: color-mix(in srgb, var(--wh-surface) 70%, transparent);
	color: var(--wh-ink);
	font-size: var(--wh-fs-xs);
	font-weight: 600;
}

.wh-pulse {
	position: relative;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #1FA45B;
}

@media (prefers-reduced-motion: no-preference) {
	.wh-pulse::after {
		content: "";
		position: absolute;
		inset: -4px;
		border-radius: 50%;
		background: #1FA45B;
		opacity: .4;
		animation: wh-pulse 2s var(--wh-ease) infinite;
	}
}

@keyframes wh-pulse {
	from { transform: scale(.6); opacity: .5; }
	to { transform: scale(1.8); opacity: 0; }
}

.wh-hero__title {
	margin-bottom: 1.5rem;
}

.wh-hero--compact {
	padding-block: clamp(2rem, 5vw, 4rem) clamp(2.5rem, 5vw, 4.5rem);
}

.wh-hero--compact .wh-hero__title {
	max-width: 18ch;
	font-size: var(--wh-fs-h1, clamp(2.25rem, 1.45rem + 3.6vw, 4.25rem));
}

.wh-hero--compact .wh-hero__trust {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
}

.wh-hero .wh-breadcrumbs {
	margin-bottom: 1.25rem;
}

.wh-hero__lead {
	max-width: 54ch;
	margin: 0 0 2rem;
	color: var(--wh-muted);
	font-size: var(--wh-fs-lead);
	line-height: 1.6;
}

.wh-hero__trust {
	display: grid;
	gap: 1rem;
	margin-top: 2.25rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--wh-border);
}

.wh-hero__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .75rem;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-hero__rating strong {
	color: var(--wh-ink);
}

.wh-hero__promises {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wh-fs-sm);
	color: var(--wh-text);
}

.wh-hero__promises li {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
}

.wh-hero__promises .wh-icon {
	color: var(--wh-accent-ink);
}

.wh-hero__visual {
	position: relative;
	padding: 2rem 1rem 2.5rem;
}

.wh-hero__visual--image img {
	width: 100%;
	height: auto;
	border-radius: var(--wh-radius-lg);
	box-shadow: var(--wh-shadow);
}

/* Brauseri makett */
.wh-mock {
	overflow: hidden;
	border: 1px solid var(--wh-border);
	border-radius: 20px;
	background: var(--wh-surface);
	box-shadow: 0 2px 4px rgb(11 18 32 / .04), 0 40px 80px -30px rgb(11 18 32 / .35);
	transform: perspective(1400px) rotateY(-8deg) rotateX(4deg);
	transform-origin: 60% 50%;
	transition: transform .8s var(--wh-ease);
}

.wh-hero__visual:hover .wh-mock {
	transform: perspective(1400px) rotateY(-3deg) rotateX(2deg);
}

.wh-mock__bar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--wh-border);
	background: var(--wh-bg-alt);
}

.wh-mock__bar span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wh-border-strong);
}

.wh-mock__bar span:first-child {
	background: var(--wh-accent);
}

.wh-mock__bar em {
	margin-left: 12px;
	padding: 3px 14px;
	border-radius: var(--wh-radius-pill);
	background: var(--wh-surface);
	color: var(--wh-muted);
	font-size: 11px;
	font-style: normal;
}

.wh-mock__page {
	display: grid;
	gap: 14px;
	padding: clamp(16px, 3vw, 28px);
}

.wh-mock__page b,
.wh-mock__page i,
.wh-mock__page u,
.wh-mock__page s {
	display: block;
	border-radius: 6px;
	text-decoration: none;
}

.wh-mock__nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.wh-mock__nav i {
	width: 22px;
	height: 22px;
	border-radius: 7px;
	background: var(--wh-ink);
}

.wh-mock__nav b {
	width: 40px;
	height: 6px;
	background: var(--wh-border);
}

.wh-mock__nav u {
	width: 56px;
	height: 18px;
	margin-left: auto;
	border-radius: 99px;
	background: var(--wh-accent);
}

.wh-mock__headline {
	display: grid;
	gap: 8px;
}

.wh-mock__headline b {
	height: 18px;
	background: var(--wh-ink);
}

.wh-mock__headline b:nth-child(1) { width: 86%; }
.wh-mock__headline b:nth-child(2) { width: 70%; }
.wh-mock__headline b.is-accent { width: 44%; background: var(--wh-accent); }

.wh-mock__text {
	display: grid;
	gap: 6px;
}

.wh-mock__text i {
	height: 7px;
	background: var(--wh-border);
}

.wh-mock__text i:last-child {
	width: 64%;
}

.wh-mock__cta {
	display: flex;
	gap: 8px;
}

.wh-mock__cta u {
	width: 92px;
	height: 26px;
	border-radius: 99px;
	background: var(--wh-accent);
}

.wh-mock__cta s {
	width: 72px;
	height: 26px;
	border: 1.5px solid var(--wh-border-strong);
	border-radius: 99px;
}

.wh-mock__bento {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-auto-rows: 58px;
	gap: 8px;
	margin-top: 6px;
}

.wh-mock__bento span {
	border-radius: 10px;
	background: var(--wh-bg-alt);
}

.wh-mock__bento .is-accent { background: color-mix(in srgb, var(--wh-accent) 85%, white); }
.wh-mock__bento .is-dark { background: var(--wh-ink); }

.wh-float-card {
	position: absolute;
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .75rem 1rem .75rem .75rem;
	border: 1px solid var(--wh-border);
	border-radius: 16px;
	background: color-mix(in srgb, var(--wh-surface) 88%, transparent);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: var(--wh-shadow);
}

.wh-float-card strong {
	display: block;
	font-family: var(--wh-font-display);
	font-size: 1.375rem;
	line-height: 1;
	color: var(--wh-ink);
}

.wh-float-card em {
	display: block;
	font-size: var(--wh-fs-xs);
	font-style: normal;
	color: var(--wh-muted);
}

.wh-float-card__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
}

.wh-float-card--1 { left: -4%; bottom: 8%; }
.wh-float-card--2 { right: -2%; top: 4%; }
.wh-float-card--3 { right: 8%; bottom: -2%; }

@media (prefers-reduced-motion: no-preference) {
	.wh-float-card { animation: wh-float 6s ease-in-out infinite; }
	.wh-float-card--2 { animation-delay: -2s; }
	.wh-float-card--3 { animation-delay: -4s; }
}

@keyframes wh-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

@media (max-width: 640px) {
	.wh-mock { transform: none; }
	.wh-float-card { padding: .5rem .75rem .5rem .5rem; }
	.wh-float-card strong { font-size: 1.125rem; }
	.wh-float-card__icon { width: 32px; height: 32px; }
	.wh-float-card--1 { left: 0; }
	.wh-float-card--2 { right: 0; }
}

/* Sektsiooni pealkiri
   ========================================================================== */
.wh-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem 3rem;
}

.wh-heading__text {
	max-width: 760px;
}

.wh-heading--center {
	justify-content: center;
	text-align: center;
}

.wh-heading--center .wh-heading__text {
	margin-inline: auto;
}

.wh-heading__title {
	margin: 0;
	font-size: var(--wh-fs-h2);
}

.wh-heading__lead {
	margin: 1.25rem 0 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-lead);
	line-height: 1.6;
}

.wh-heading--center .wh-heading__lead {
	margin-inline: auto;
	max-width: 60ch;
}

/* Bento
   ========================================================================== */
.wh-bento {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-rows: minmax(220px, auto);
	gap: clamp(.75rem, 1.5vw, 1.25rem);
}

@media (min-width: 640px) {
	.wh-bento {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.wh-bento__item--2x1,
	.wh-bento__item--2x2 { grid-column: span 2; }
}

@media (min-width: 1024px) {
	.wh-bento--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.wh-bento--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wh-bento__item--1x2,
	.wh-bento__item--2x2 { grid-row: span 2; }
}

.wh-bento__item {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	overflow: hidden;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-lg);
	background: var(--wh-surface);
	color: var(--wh-text);
	container-type: inline-size;
	transition: transform .5s var(--wh-ease), box-shadow .5s var(--wh-ease), border-color .3s var(--wh-ease);
}

.wh-bento__item:hover {
	transform: translateY(-4px);
	box-shadow: var(--wh-shadow);
}

.wh-bento__item--accent {
	border-color: transparent;
	background:
		radial-gradient(circle at 100% 0%, rgb(255 255 255 / .28), transparent 55%),
		var(--wh-accent);
	--wh-ink: var(--wh-on-accent);
	--wh-text: var(--wh-on-accent);
	--wh-muted: color-mix(in srgb, var(--wh-on-accent) 78%, transparent);
	--wh-accent-ink: var(--wh-on-accent);
}

.wh-bento__item--sand {
	background: var(--wh-bg-alt);
	border-color: transparent;
}

.wh-bento__item.wh-band-dark {
	border-color: transparent;
	background:
		radial-gradient(circle at 90% 110%, color-mix(in srgb, var(--wh-accent) 35%, transparent), transparent 55%),
		var(--wh-night);
}

.wh-bento__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.wh-bento__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
}

.wh-bento__item--accent .wh-bento__icon {
	background: rgb(255 255 255 / .3);
}

.wh-bento__item.wh-band-dark .wh-bento__icon {
	background: rgb(255 255 255 / .08);
	color: var(--wh-accent);
}

.wh-bento__tag {
	padding: .25rem .75rem;
	border: 1px solid currentColor;
	border-radius: var(--wh-radius-pill);
	font-size: var(--wh-fs-xs);
	font-weight: 600;
	color: var(--wh-muted);
}

.wh-bento__title {
	margin: 0 0 .5rem;
	font-size: clamp(1.375rem, 7cqi, 2.25rem);
	line-height: 1.1;
}

.wh-bento__item--1x1 .wh-bento__title {
	font-size: clamp(1.25rem, 9cqi, 1.625rem);
}

.wh-bento__title a {
	color: inherit;
	text-decoration: none;
}

.wh-bento__text {
	max-width: 46ch;
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-bento__list {
	display: grid;
	gap: .5rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--wh-fs-sm);
}

.wh-bento__list li {
	display: flex;
	gap: .5rem;
}

.wh-bento__list .wh-icon {
	flex-shrink: 0;
	margin-top: .25rem;
	color: var(--wh-accent-ink);
}

.wh-bento__arrow {
	position: absolute;
	top: clamp(1.5rem, 2.5vw, 2rem);
	right: clamp(1.5rem, 2.5vw, 2rem);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--wh-border);
	border-radius: 50%;
	color: var(--wh-ink);
	transition: transform .4s var(--wh-ease-spring), background-color .3s var(--wh-ease);
}

.wh-bento__item:hover .wh-bento__arrow {
	transform: rotate(45deg);
	background: var(--wh-ink);
	color: var(--wh-bg);
}

.wh-bento__item:has(.wh-bento__arrow) .wh-bento__tag {
	margin-right: 3.5rem;
}

/* Protsess
   ========================================================================== */
.wh-process {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wh-process__step {
	position: relative;
	padding: 0 0 2.5rem 4.5rem;
}

.wh-process__step::before {
	content: "";
	position: absolute;
	top: 3rem;
	bottom: 0;
	left: 1.5rem;
	width: 1px;
	background: var(--wh-border-strong);
}

.wh-process__step:last-child::before {
	display: none;
}

.wh-process__num {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid var(--wh-border-strong);
	border-radius: 50%;
	background: var(--wh-bg);
	font-family: var(--wh-font-display);
	font-size: var(--wh-fs-sm);
	font-weight: 700;
	color: var(--wh-ink);
	transition: background-color .3s var(--wh-ease), color .3s var(--wh-ease);
}

.wh-process__step:hover .wh-process__num {
	border-color: var(--wh-accent);
	background: var(--wh-accent);
	color: var(--wh-on-accent);
}

.wh-process__title {
	margin: .5rem 0 .5rem;
	font-size: var(--wh-fs-h3);
}

.wh-process__text {
	max-width: 42ch;
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-process__duration {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	margin-top: .875rem;
	padding: .25rem .75rem;
	border-radius: var(--wh-radius-pill);
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
	font-size: var(--wh-fs-xs);
	font-weight: 600;
}

@media (min-width: 1024px) {
	.wh-process {
		grid-template-columns: repeat(var(--wh-steps, 5), minmax(0, 1fr));
		gap: 1.5rem;
	}

	.wh-process__step {
		padding: 4.5rem 0 0;
	}

	.wh-process__step::before {
		top: 1.5rem;
		right: -1.5rem;
		bottom: auto;
		left: 3rem;
		width: auto;
		height: 1px;
	}
}

/* Numbriloendur
   ========================================================================== */
.wh-counter {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 2rem;
	margin: 0;
}

.wh-counter__item {
	display: flex;
	flex-direction: column-reverse;
	gap: .5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wh-border-strong);
}

.wh-counter__number {
	margin: 0;
	font-family: var(--wh-font-display);
	font-size: clamp(2.75rem, 2rem + 3vw, 4.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
	color: var(--wh-ink);
	font-variant-numeric: tabular-nums;
}

.wh-counter__label {
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

/* Logo-riba
   ========================================================================== */
.wh-logos__title {
	margin: 0 0 1.5rem;
	text-align: center;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
	font-weight: 500;
}

.wh-logos__viewport {
	display: flex;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.wh-logos__track {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: clamp(2.5rem, 6vw, 5rem);
	min-width: 100%;
	margin: 0;
	padding: 0 clamp(1.25rem, 3vw, 2.5rem);
	list-style: none;
}

@media (prefers-reduced-motion: no-preference) {
	.wh-logos__track {
		animation: wh-marquee var(--wh-marquee-duration, 40s) linear infinite;
	}

	.wh-logos:hover .wh-logos__track,
	.wh-logos:focus-within .wh-logos__track {
		animation-play-state: paused;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wh-logos__viewport {
		justify-content: center;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.wh-logos__track {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 1.5rem;
	}

	.wh-logos__track[aria-hidden="true"] {
		display: none;
	}
}

@keyframes wh-marquee {
	to { transform: translateX(-100%); }
}

.wh-logos__item img {
	width: auto;
	max-width: 160px;
	height: 40px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .65;
	transition: filter .3s var(--wh-ease), opacity .3s var(--wh-ease);
}

.wh-logos__item img:hover {
	filter: none;
	opacity: 1;
}

[data-theme="dark"] .wh-logos__item img,
.wh-band-dark .wh-logos__item img {
	filter: grayscale(1) invert(1);
}

.wh-logos__wordmark {
	font-family: var(--wh-font-display);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -.02em;
	white-space: nowrap;
	color: var(--wh-muted);
}

/* CTA
   ========================================================================== */
.wh-cta {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4.5rem);
	border-radius: var(--wh-radius-lg);
}

.wh-cta.wh-band-dark {
	background:
		radial-gradient(ellipse 60% 120% at 100% 100%, color-mix(in srgb, var(--wh-accent) 35%, transparent), transparent 65%),
		var(--wh-night);
}

.wh-cta__inner {
	display: grid;
	gap: 2rem;
	align-items: end;
}

@media (min-width: 900px) {
	.wh-cta__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 4rem;
	}
}

.wh-cta__title {
	max-width: 16ch;
	margin: 0 0 1rem;
	font-size: var(--wh-fs-h2);
}

.wh-cta__text {
	max-width: 52ch;
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-lead);
}

.wh-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

.wh-cta__phone {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--wh-ink);
	font-weight: 600;
	text-decoration: none;
}

.wh-cta__phone:hover {
	color: var(--wh-accent-ink);
}

/* Portfoolio grid (kaardi stiilid on teemas)
   ========================================================================== */
@media (min-width: 1024px) {
	.wh-work-grid--cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Arvustused
   ========================================================================== */
.wh-reviews__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.75rem;
}

.wh-reviews__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .75rem;
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
	font-weight: 500;
}

.wh-reviews__summary a {
	color: var(--wh-ink);
}

.wh-reviews__nav {
	display: flex;
	gap: .5rem;
}

.wh-reviews__track {
	display: grid;
	grid-auto-columns: min(88%, 440px);
	grid-auto-flow: column;
	gap: clamp(1rem, 2vw, 1.5rem);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: .25rem;
}

.wh-reviews__track::-webkit-scrollbar {
	display: none;
}

.wh-reviews__track:focus-visible {
	outline-offset: 6px;
}

.wh-review-slide {
	display: flex;
	scroll-snap-align: start;
}

.wh-review {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1.25rem;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-lg);
	background: var(--wh-surface);
}

.wh-review__text {
	flex: 1;
	margin: 0;
	color: var(--wh-ink);
	font-size: 1.0625rem;
	line-height: 1.6;
}

.wh-review__text p {
	margin: 0;
}

.wh-review__author {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wh-border);
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-review__author strong {
	display: block;
	color: var(--wh-ink);
}

.wh-review__avatar {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.wh-review__avatar--initials {
	display: grid;
	place-items: center;
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
	font-family: var(--wh-font-display);
	font-size: 1.25rem;
	font-weight: 700;
}

.wh-review__source {
	margin-left: auto;
	padding: .125rem .625rem;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-pill);
	font-size: var(--wh-fs-xs);
}

/* Meeskond
   ========================================================================== */
.wh-team {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.wh-team__member {
	position: relative;
}

.wh-team__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	margin-bottom: 1.25rem;
	border-radius: var(--wh-radius-lg);
	background: var(--wh-bg-alt);
}

.wh-team__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(.2);
	transition: transform .7s var(--wh-ease), filter .5s var(--wh-ease);
}

.wh-team__member:hover .wh-team__photo img {
	transform: scale(1.04);
	filter: none;
}

.wh-team__placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	background:
		radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--wh-accent) 35%, transparent), transparent 60%),
		var(--wh-bg-alt);
	font-family: var(--wh-font-display);
	font-size: 4rem;
	font-weight: 800;
	color: var(--wh-ink);
}

.wh-team__name {
	margin: 0;
	font-size: 1.25rem;
}

.wh-team__role {
	margin: .25rem 0 0;
	color: var(--wh-accent-ink);
	font-size: var(--wh-fs-sm);
	font-weight: 500;
}

.wh-team__bio {
	margin-top: .75rem;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-team__bio p {
	margin: 0;
}

.wh-team__link {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wh-surface);
	color: var(--wh-ink);
	box-shadow: var(--wh-shadow);
}

/* Paketid
   ========================================================================== */
.wh-packages__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: stretch;
}

@media (min-width: 900px) {
	.wh-packages__grid {
		grid-template-columns: repeat(var(--wh-cols, 3), minmax(0, 1fr));
	}
}

.wh-package {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-lg);
	background: var(--wh-surface);
}

.wh-package--featured {
	border-color: transparent;
	background:
		radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--wh-accent) 30%, transparent), transparent 65%),
		var(--wh-night);
	box-shadow: 0 30px 60px -30px rgb(11 18 32 / .6);
}

.wh-package--featured:has(.wh-package__badge) {
	padding-top: calc(clamp(1.75rem, 3vw, 2.5rem) + .75rem);
}

@media (min-width: 900px) {
	.wh-package--featured {
		transform: translateY(-12px);
	}
}

.wh-package__badge {
	position: absolute;
	top: -.875rem;
	left: clamp(1.75rem, 3vw, 2.5rem);
	padding: .375rem .875rem;
	border-radius: var(--wh-radius-pill);
	background: var(--wh-accent);
	color: var(--wh-on-accent);
	font-size: var(--wh-fs-xs);
	font-weight: 700;
}

.wh-package__name {
	margin: 0;
	font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem);
}

.wh-package__tagline {
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-package__price {
	margin: .5rem 0;
	padding-block: 1rem;
	border-block: 1px solid var(--wh-border);
	font-family: var(--wh-font-display);
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--wh-ink);
}

.wh-package__ask {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wh-accent-ink);
}

.wh-package__features {
	display: grid;
	flex: 1;
	align-content: start;
	gap: .75rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	font-size: var(--wh-fs-sm);
}

.wh-package__features li {
	display: flex;
	gap: .625rem;
}

.wh-package__features .wh-icon {
	flex-shrink: 0;
	color: var(--wh-accent-ink);
}

.wh-packages__note {
	max-width: 70ch;
	margin: 2rem auto 0;
	text-align: center;
	color: var(--wh-muted);
	font-size: var(--wh-fs-sm);
}

.wh-compare-table {
	margin-top: clamp(3rem, 6vw, 4.5rem);
	overflow-x: auto;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-lg);
	background: var(--wh-surface);
}

.wh-compare-table table {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: var(--wh-fs-sm);
}

.wh-compare-table th,
.wh-compare-table td {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--wh-border);
	text-align: center;
}

.wh-compare-table tr:last-child th,
.wh-compare-table tr:last-child td {
	border-bottom: 0;
}

.wh-compare-table th[scope="row"],
.wh-compare-table thead th:first-child {
	text-align: left;
	font-weight: 500;
	color: var(--wh-text);
}

.wh-compare-table thead th {
	font-family: var(--wh-font-display);
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--wh-ink);
	background: var(--wh-bg-alt);
}

.wh-yes {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
}

.wh-no {
	color: var(--wh-border-strong);
}

/* KKK
   ========================================================================== */
.wh-faq {
	border-top: 1px solid var(--wh-border-strong);
}

.wh-faq__item {
	border-bottom: 1px solid var(--wh-border-strong);
}

.wh-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.5rem 0;
	cursor: pointer;
	list-style: none;
}

.wh-faq__question::-webkit-details-marker {
	display: none;
}

.wh-faq__q {
	margin: 0;
	font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem);
	line-height: 1.3;
	transition: color .2s var(--wh-ease);
}

.wh-faq__question:hover .wh-faq__q {
	color: var(--wh-accent-ink);
}

.wh-faq__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--wh-border-strong);
	border-radius: 50%;
	color: var(--wh-ink);
	transition: transform .35s var(--wh-ease), background-color .3s var(--wh-ease);
}

.wh-faq__item[open] .wh-faq__icon {
	transform: rotate(45deg);
	border-color: var(--wh-accent);
	background: var(--wh-accent);
	color: var(--wh-on-accent);
}

.wh-faq__answer {
	max-width: 72ch;
	padding: 0 3.5rem 1.75rem 0;
	color: var(--wh-muted);
}

.wh-faq__answer > :last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: no-preference) {
	.wh-faq__item[open] .wh-faq__answer {
		animation: wh-faq-in .4s var(--wh-ease);
	}
}

@keyframes wh-faq-in {
	from { opacity: 0; transform: translateY(-6px); }
}

/* Vormid
   ========================================================================== */
.wh-form {
	display: grid;
	gap: 1.5rem;
}

.wh-form__fields {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 640px) {
	.wh-form--steps .wh-form__step:last-of-type .wh-form__fields,
	.wh-form--contact .wh-form__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wh-form .wh-field--textarea,
	.wh-form .wh-field--consent,
	.wh-form .wh-choice {
		grid-column: 1 / -1;
	}
}

.wh-field {
	display: grid;
	gap: .5rem;
}

.wh-field__label,
.wh-choice__legend {
	color: var(--wh-ink);
	font-size: var(--wh-fs-sm);
	font-weight: 600;
}

.wh-req {
	color: var(--wh-accent-ink);
}

.wh-optional {
	color: var(--wh-muted);
	font-weight: 400;
}

.wh-field input,
.wh-field textarea {
	width: 100%;
	min-height: 52px;
	padding: .875rem 1rem;
	border: 1.5px solid var(--wh-border-strong);
	border-radius: 14px;
	background: var(--wh-surface);
	color: var(--wh-ink);
	font-size: 1rem;
	transition: border-color .2s var(--wh-ease), box-shadow .2s var(--wh-ease);
}

.wh-field textarea {
	min-height: 140px;
	resize: vertical;
}

.wh-field input::placeholder,
.wh-field textarea::placeholder {
	color: var(--wh-muted);
	opacity: .8;
}

.wh-field input:hover,
.wh-field textarea:hover {
	border-color: var(--wh-muted);
}

.wh-field input:focus,
.wh-field textarea:focus {
	outline: none;
	border-color: var(--wh-ink);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wh-accent) 28%, transparent);
}

.wh-field [aria-invalid="true"],
.wh-choice[data-invalid] .wh-choice__option {
	border-color: #C62828;
}

.wh-field__help {
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-xs);
}

.wh-field__error {
	display: flex;
	align-items: center;
	gap: .375rem;
	margin: 0;
	color: #B71C1C;
	font-size: var(--wh-fs-xs);
	font-weight: 600;
}

[data-theme="dark"] .wh-field__error,
.wh-band-dark .wh-field__error {
	color: #FF8A80;
}

.wh-field__error::before {
	content: "!";
	display: grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: currentColor;
	color: var(--wh-surface);
	font-size: 11px;
	line-height: 1;
}

.wh-choice {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.wh-choice__legend {
	margin-bottom: .75rem;
	padding: 0;
	font-family: var(--wh-font-display);
	font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);
	font-weight: 700;
	line-height: 1.2;
}

.wh-form__step:last-of-type .wh-choice__legend,
.wh-form--contact .wh-choice__legend {
	font-family: inherit;
	font-size: var(--wh-fs-sm);
}

.wh-choice__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
	gap: .625rem;
}

.wh-choice__option {
	position: relative;
	display: flex;
	align-items: center;
	gap: .75rem;
	min-height: 56px;
	padding: .875rem 1rem;
	border: 1.5px solid var(--wh-border-strong);
	border-radius: 14px;
	background: var(--wh-surface);
	color: var(--wh-ink);
	font-weight: 500;
	cursor: pointer;
	transition: border-color .2s var(--wh-ease), background-color .2s var(--wh-ease), transform .2s var(--wh-ease);
}

.wh-choice__option:hover {
	border-color: var(--wh-ink);
}

.wh-choice__option input {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--wh-accent);
}

.wh-choice__option:has(input:checked) {
	border-color: var(--wh-accent);
	background: var(--wh-accent-soft);
}

.wh-choice__option:has(input:focus-visible) {
	outline: 2px solid var(--wh-focus);
	outline-offset: 2px;
}

.wh-consent {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	color: var(--wh-text);
	font-size: var(--wh-fs-sm);
	cursor: pointer;
}

.wh-consent input {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: .125rem 0 0;
	accent-color: var(--wh-accent);
}

/* Tekstisisesed lingid peavad eristuma ka ilma värvita (WCAG 1.4.1). */
.wh-consent a,
.wh-field__help a,
.wh-map__note a,
.wh-faq__answer a,
.wh-contact-details__company a {
	text-decoration: underline;
	text-underline-offset: .2em;
}

.wh-consent a {
	margin-left: .25rem;
}

.wh-form__progress {
	height: 6px;
	overflow: hidden;
	border-radius: var(--wh-radius-pill);
	background: var(--wh-bg-alt);
}

.wh-form__progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--wh-accent);
	transition: width .5s var(--wh-ease);
}

.wh-form__status {
	margin: -.75rem 0 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-xs);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wh-form__chip {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: .375rem;
	margin: 0;
	padding: .375rem .875rem;
	border-radius: var(--wh-radius-pill);
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
	font-size: var(--wh-fs-sm);
	font-weight: 600;
}

.wh-form__step-title {
	margin: 0 0 1.25rem;
	font-family: var(--wh-font-display);
	font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);
	font-weight: 700;
	color: var(--wh-ink);
}

/* JS-iga on korraga nähtav üks samm; ilma JS-ita kõik. */
.js .wh-form--steps .wh-form__step:not([data-active]) {
	display: none;
}

.js .wh-form--steps:not([data-last]) [data-wh-submit] {
	display: none;
}

.wh-form:not(.wh-form--steps) .wh-form__progress,
.wh-form:not(.wh-form--steps) .wh-form__status {
	display: none;
}

@media (prefers-reduced-motion: no-preference) {
	.js .wh-form__step[data-active] {
		animation: wh-step-in .45s var(--wh-ease);
	}
}

@keyframes wh-step-in {
	from { opacity: 0; transform: translateX(16px); }
}

.wh-form__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
}

.wh-form__nav [data-wh-next],
.wh-form__nav [data-wh-submit] {
	margin-left: auto;
}

.wh-form__note {
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-xs);
}

.wh-form__message {
	padding: 1rem 1.25rem;
	border-radius: 14px;
	font-weight: 500;
}

.wh-form__message--error {
	border: 1px solid #F5C2C0;
	background: #FDECEA;
	color: #8E1B12;
}

.wh-form__message--success {
	border: 1px solid #B9E2C5;
	background: #E8F6EC;
	color: #1D5E30;
}

[data-wh-submit][aria-busy="true"] {
	opacity: .7;
	pointer-events: none;
}

.wh-form-card {
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-lg);
	background: var(--wh-surface);
}

.wh-form-card.wh-band-dark {
	border-color: transparent;
	background: var(--wh-night);
}

.wh-form-card__title {
	margin: 0 0 .5rem;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2.25rem);
}

.wh-form-card__text {
	margin: 0 0 1.5rem;
	color: var(--wh-muted);
}

/* Konteinerpäring: vorm reageerib oma veeru laiusele, mitte ekraanile
   (kitsas külgveerg vs lai sektsioon). */
.wh-form-card {
	container-type: inline-size;
}

.wh-form-card--callback .wh-btn {
	justify-self: start;
}

@container (min-width: 380px) {
	.wh-form--callback .wh-form__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wh-form--callback .wh-field--consent {
		grid-column: 1 / -1;
	}
}

@container (min-width: 720px) {
	.wh-form--callback {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
	}

	.wh-form--callback .wh-form__message,
	.wh-form--callback .cf-turnstile {
		grid-column: 1 / -1;
	}
}

@container (max-width: 520px) {
	.wh-form--contact .wh-form__fields {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Kontaktandmed
   ========================================================================== */
.wh-contact-details__list {
	display: grid;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wh-contact-details__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.125rem 1.25rem;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius);
	background: var(--wh-surface);
}

.wh-contact-details__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--wh-accent-soft);
	color: var(--wh-accent-ink);
}

.wh-contact-details__label {
	display: block;
	color: var(--wh-muted);
	font-size: var(--wh-fs-xs);
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wh-contact-details__value {
	color: var(--wh-ink);
	font-size: 1.0625rem;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

a.wh-contact-details__value:hover {
	color: var(--wh-accent-ink);
	text-decoration: underline;
}

.wh-contact-details__company {
	margin: 1rem 0 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-xs);
}

/* Elementori tekstiplokk (klass wh-prose), loend linnukestega, fotokohatäitja
   ========================================================================== */
.elementor-widget-text-editor.wh-prose {
	max-width: 68ch;
	color: var(--wh-text);
	font-size: clamp(1.0625rem, 1rem + .2vw, 1.125rem);
	line-height: 1.75;
}

.elementor-widget-text-editor.wh-prose h2 {
	margin: 2em 0 .6em;
	font-size: clamp(1.625rem, 1.3rem + 1.4vw, 2.25rem);
}

.elementor-widget-text-editor.wh-prose h3 {
	margin: 1.6em 0 .5em;
	font-size: var(--wh-fs-h3);
}

.elementor-widget-text-editor.wh-prose > :first-child,
.elementor-widget-text-editor.wh-prose > div > :first-child {
	margin-top: 0;
}

.elementor-widget-text-editor.wh-prose a {
	color: var(--wh-accent-ink);
	text-decoration: underline;
}

.wh-lead-text p {
	color: var(--wh-ink);
	font-size: var(--wh-fs-lead);
	line-height: 1.6;
}

.wh-checklist {
	display: grid;
	gap: .875rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wh-checklist li {
	position: relative;
	padding-left: 2.25rem;
}

.wh-checklist li::before {
	content: "";
	position: absolute;
	top: .2em;
	left: 0;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B23A10' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 70% no-repeat,
		var(--wh-accent-soft);
}

.wh-checklist strong {
	color: var(--wh-ink);
}

.wh-photo-placeholder {
	position: relative;
	display: grid;
	place-items: end start;
	aspect-ratio: var(--wh-ratio, 4 / 3);
	padding: 1.25rem;
	overflow: hidden;
	border-radius: var(--wh-radius-lg);
	background:
		radial-gradient(circle at 25% 20%, color-mix(in srgb, var(--wh-accent) 45%, transparent), transparent 55%),
		radial-gradient(circle at 85% 85%, color-mix(in srgb, var(--wh-ink) 30%, transparent), transparent 60%),
		var(--wh-bg-alt);
}

.wh-photo-placeholder span {
	padding: .375rem .875rem;
	border-radius: var(--wh-radius-pill);
	background: rgb(255 255 255 / .85);
	color: #0B1220;
	font-size: var(--wh-fs-xs);
	font-weight: 600;
}

/* Elementori konteinerid: sektsioonide vahed ja taustad */
.e-con.wh-surface-alt,
.e-con.wh-band-dark {
	background-color: var(--wh-bg);
}

.e-con.wh-surface-alt {
	background-color: var(--wh-bg-alt);
}

/* Kaart
   ========================================================================== */
.wh-map {
	position: relative;
	height: var(--wh-map-height, 420px);
	overflow: hidden;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius-lg);
	background-color: var(--wh-bg-alt);
	background-image:
		linear-gradient(var(--wh-border) 1px, transparent 1px),
		linear-gradient(90deg, var(--wh-border) 1px, transparent 1px),
		radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--wh-accent) 22%, transparent), transparent 40%);
	background-size: 40px 40px, 40px 40px, 100% 100%;
}

.wh-map__placeholder {
	display: grid;
	place-content: center;
	justify-items: center;
	gap: .875rem;
	height: 100%;
	padding: 1.5rem;
	text-align: center;
}

.wh-map__pin {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wh-accent);
	color: var(--wh-on-accent);
	box-shadow: 0 0 0 10px color-mix(in srgb, var(--wh-accent) 20%, transparent);
}

.wh-map__address {
	margin: 0;
	font-family: var(--wh-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--wh-ink);
}

.wh-map__note {
	max-width: 42ch;
	margin: 0;
	color: var(--wh-muted);
	font-size: var(--wh-fs-xs);
}

.wh-map__note a {
	display: block;
	margin-top: .25rem;
}

.wh-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}
