/* Heartland theme styles. Tokens come from theme.json presets; dark mode overrides them below. */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--hg-radius: 16px;
	--hg-pill: 999px;
	--hg-on-accent: #FFFFFF;
	--hg-shadow: 0 1px 2px rgba(51, 65, 78, .06), 0 6px 20px rgba(51, 65, 78, .07);
	--hg-focus: #33414E;
	--hg-footer-bg: #33414E;
	--hg-footer-text: #F3F1EC;
	--hg-footer-muted: #D3D9DF;
	--hg-panel: #EFEEEA;
	--hg-chip-dark: #33414E;
	--hg-on-tint: #9E4A2B;
	--hg-suggest-bg: #B4532F;
	--hg-suggest-btn: #8E3F24;
	--hg-gutter: 16px;
}

@media (prefers-color-scheme: dark) {
	body {
		--wp--preset--color--base: #1C232A;
		--wp--preset--color--surface: #252E37;
		--wp--preset--color--contrast: #E8E6E1;
		--wp--preset--color--muted: #A9B3BC;
		--wp--preset--color--accent: #E58F6E;
		--wp--preset--color--accent-strong: #E58F6E;
		--wp--preset--color--accent-hover: #EFA586;
		--wp--preset--color--accent-deep: #7A3A22;
		--wp--preset--color--tint: #3A2C27;
		--wp--preset--color--slate-tint: #2E3944;
		--wp--preset--color--line: #36414C;
		--hg-on-accent: #1C232A;
		--hg-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);
		--hg-focus: #F3E2DA;
		--hg-footer-bg: #141A20;
		--hg-panel: #222A32;
		--hg-chip-dark: #DCE3EA;
		--hg-on-tint: #F0B49B;
		--hg-suggest-bg: #7A3A22;
		--hg-suggest-btn: #E58F6E;
		color-scheme: dark;
	}
}

/* 2. Base ------------------------------------------------------------------ */
html { -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--hg-focus);
	outline-offset: 3px;
	border-radius: 4px;
}
.hg-hero :focus-visible, .hg-footer :focus-visible, .hg-suggest :focus-visible { outline-color: #FFFFFF; }
::selection { background: var(--wp--preset--color--tint); color: var(--wp--preset--color--contrast); }

.hg-visually-hidden, .pd-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	border-radius: var(--hg-pill);
	box-shadow: var(--hg-shadow);
	padding: .75rem 1.25rem;
	font-weight: 600;
}

.hg-main { padding-bottom: var(--wp--preset--spacing--50); }
.hg-home { padding-bottom: 0; }
.hg-section { padding-block: var(--wp--preset--spacing--50); }
.hg-muted, .hg-lede { color: var(--wp--preset--color--muted); }
.hg-lede { font-size: var(--wp--preset--font-size--large); max-width: 62ch; }
.hg-eyebrow {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--large);
	margin-bottom: .25rem;
}
.hg-badge {
	display: inline-block;
	background: var(--hg-chip-dark);
	color: var(--wp--preset--color--base);
	border-radius: 8px;
	padding: .3rem .75rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	margin: 0;
}
.hg-section-title { font-size: var(--wp--preset--font-size--x-large); margin-block: 0 1rem; }

/* 3. Icons (Phosphor regular, via CSS mask) -------------------------------- */
.hg-icon {
	display: inline-block;
	width: 1.15em; height: 1.15em;
	flex: none;
	vertical-align: -.2em;
	background-color: currentColor;
	-webkit-mask: var(--hg-i) center / contain no-repeat;
	mask: var(--hg-i) center / contain no-repeat;
}
.hg-icon--caret-down { --hg-i: url(../icons/caret-down.svg); }
.hg-icon--caret-right { --hg-i: url(../icons/caret-right.svg); }
.hg-icon--train { --hg-i: url(../icons/train.svg); }
.hg-icon--map-pin { --hg-i: url(../icons/map-pin.svg); }
.hg-icon--clock { --hg-i: url(../icons/clock.svg); }

/* 4. Buttons --------------------------------------------------------------- */
.wp-element-button, .wp-block-button__link, .hg-button, .pd-button { transition: background-color .15s ease, transform .1s ease; }
.hg-button, .pd-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	background: var(--wp--preset--color--accent-strong);
	color: var(--hg-on-accent);
	border: 0;
	border-radius: var(--hg-pill);
	padding: .8rem 1.6rem;
	font: 500 var(--wp--preset--font-size--large)/1.2 var(--wp--preset--font-family--outfit);
	text-decoration: none;
	cursor: pointer;
}
.hg-button:hover, .hg-button:focus-visible, .pd-button:hover, .pd-button:focus-visible {
	background: var(--wp--preset--color--accent-hover);
	color: var(--hg-on-accent);
}
.hg-button--block { display: flex; width: 100%; }
.wp-element-button:active, .hg-button:active, .pd-button:active, .hg-picker__button:active { transform: scale(.97); }

/* 5. Header ---------------------------------------------------------------- */
.hg-header { background: var(--wp--preset--color--base); padding-block: 1.1rem; }
.hg-wordmark {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	text-decoration: none;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	letter-spacing: -.01em;
	line-height: 1;
}
.hg-wordmark__mark { width: 30px; height: 30px; flex: none; }
.hg-wordmark__a { font-weight: 700; color: var(--wp--preset--color--contrast); }
.hg-wordmark__b { font-weight: 500; color: var(--wp--preset--color--accent-strong); }
.hg-wordmark__c { font-weight: 500; color: var(--wp--preset--color--contrast); opacity: .6; }
.hg-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); text-decoration: none; padding-block: .35rem; }
.hg-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-strong); }
.hg-nav .wp-block-navigation__container { gap: clamp(1.25rem, 3.5vw, 3.5rem); }
.hg-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	padding: 1.5rem var(--hg-gutter);
}
.hg-nav .is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: var(--wp--preset--font-size--x-large); }

/* 6. Hero + area picker ---------------------------------------------------- */
.hg-hero.wp-block-cover { padding: 0 var(--hg-gutter) clamp(3rem, 8vh, 6rem); align-items: flex-end; }
.hg-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 38%, rgba(166, 78, 45, .55) 62%, rgba(142, 63, 36, .9) 82%, rgba(122, 58, 34, .96) 100%);
}
.wp-block-cover.hg-hero .wp-block-cover__inner-container { position: relative; z-index: 2 !important; width: 100%; }
.hg-hero__content { min-height: 40vh; display: flex; flex-direction: column; justify-content: flex-end; }
.hg-hero__title { color: #FFFFFF; letter-spacing: -.02em; line-height: 1.04; margin-bottom: .75rem; text-shadow: 0 2px 24px rgba(60, 25, 10, .35); }
.hg-hero__lede { color: #FFFFFF; margin-top: 0; margin-bottom: 2rem; }

.hg-picker {
	display: flex;
	align-items: center;
	gap: .5rem;
	width: min(100%, 640px);
	margin: 0 auto;
	padding: .4rem;
	background: #FFFFFF;
	border-radius: var(--hg-pill);
	box-shadow: 0 10px 30px rgba(60, 25, 10, .25);
}
.hg-picker__field { position: relative; flex: 1; display: flex; align-items: center; color: #33414E; }
.hg-picker__select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	border: 0;
	background: transparent;
	color: #33414E;
	font: 500 var(--wp--preset--font-size--x-large)/1.2 var(--wp--preset--font-family--outfit);
	padding: .7rem 3rem .7rem 1.4rem;
	border-radius: var(--hg-pill);
	cursor: pointer;
}
.hg-picker__field .hg-icon { position: absolute; right: 1.1rem; pointer-events: none; width: 1.3rem; height: 1.3rem; }
.hg-picker__button {
	flex: none;
	border: 0;
	border-radius: var(--hg-pill);
	background: #B4532F;
	color: #FFFFFF;
	font: 500 var(--wp--preset--font-size--x-large)/1.2 var(--wp--preset--font-family--outfit);
	padding: .75rem 1.9rem;
	cursor: pointer;
	transition: background-color .15s ease, transform .1s ease;
}
.hg-picker__button:hover, .hg-picker__button:focus-visible { background: #A9512F; }
.hg-picker .hg-picker__select:focus-visible, .hg-picker .hg-picker__button:focus-visible { outline: 3px solid #33414E; outline-offset: 2px; }

/* 7. Regions --------------------------------------------------------------- */
.hg-panel {
	background: var(--hg-panel);
	border-radius: calc(var(--hg-radius) * 2);
	padding: clamp(1.5rem, 4vw, 4rem);
}
.hg-regions-panel__cols { gap: clamp(2rem, 4vw, 4rem); }
.hg-regions-panel__title { font-size: var(--wp--preset--font-size--xx-large); margin-top: 0; margin-bottom: 2rem; }
.hg-regions-map { margin: 0; }
.hg-regions {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(3, minmax(112px, auto));
	gap: 10px;
}
.hg-regions__item--north { grid-column: 3 / 7; grid-row: 1 / 2; }
.hg-regions__item--west { grid-column: 1 / 4; grid-row: 2 / 4; }
.hg-regions__item--north-east { grid-column: 7 / 10; grid-row: 1 / 3; }
.hg-regions__item--central { grid-column: 4 / 7; grid-row: 2 / 4; }
.hg-regions__item--east { grid-column: 10 / 13; grid-row: 2 / 4; }
.hg-region {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	min-height: 96px;
	padding: 1rem;
	border-radius: 22px;
	text-align: center;
	text-decoration: none;
	color: #33414E;
	background: #DCE3EA;
	box-shadow: inset 0 0 0 2px rgba(51, 65, 78, .14);
	transition: transform .15s ease, box-shadow .15s ease;
}
.hg-region { container-type: inline-size; }
/* Sized to the tile so "Central" and "North-East" never split mid-word. */
.hg-region__name { font-weight: 600; font-size: clamp(.95rem, 18cqi, var(--wp--preset--font-size--x-large)); line-height: 1.1; white-space: nowrap; }
.hg-region__meta { font-size: var(--wp--preset--font-size--small); margin-top: .25rem; }
.hg-regions__item--west .hg-region { background: #C9D2DC; }
.hg-regions__item--north-east .hg-region { background: #B3BFCB; }
.hg-regions__item--central .hg-region { background: #5E6E7E; color: #FFFFFF; }
.hg-regions__item--east .hg-region { background: #E9A88F; box-shadow: inset 0 0 0 2px rgba(180, 83, 47, .4); }
.hg-region:hover, .hg-region:focus-visible { transform: translateY(-3px); box-shadow: inset 0 0 0 3px #33414E; }
.hg-regions-map__caption { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); margin-top: .75rem; }

/* [pd_areas] */
.pd-areas { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.5rem 1.25rem; }
.pd-region__title { font-size: var(--wp--preset--font-size--large); font-weight: 500; margin: 0 0 .6rem; }
.pd-region__title-link { color: var(--wp--preset--color--contrast); text-decoration: none; }
.pd-region__title-link:hover { color: var(--wp--preset--color--accent-strong); text-decoration: underline; }
.pd-region__count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); margin: -.5rem 0 .6rem; }
.pd-region__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }

/* Chips (theme + plugin) */
.pd-chip, .hg-chip {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: var(--hg-pill);
	padding: .3rem .9rem;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.3;
	transition: background-color .15s ease;
}
a.pd-chip:hover, a.hg-chip:hover, .pd-chip a:hover { background: var(--wp--preset--color--tint); color: var(--wp--preset--color--contrast); }
.hg-chips { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.hg-chip__count, .pd-industries__count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }

/* 8. Spotlight ------------------------------------------------------------- */
.hg-spotlight__cols { gap: clamp(1.25rem, 2.5vw, 2.25rem); align-items: stretch; }
.hg-spotlight__media .wp-block-image { margin: 0; height: 100%; }
.hg-spotlight__media img { width: 100%; height: 100%; min-height: 320px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hg-radius); }
.hg-spotlight__details { display: flex; }
.hg-spotlight__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--wp--preset--color--surface);
	border-radius: var(--hg-radius);
	padding: clamp(1.5rem, 3vw, 3.5rem) clamp(1.5rem, 3vw, 3rem);
	box-shadow: var(--hg-shadow);
}
.hg-spotlight__card { container-type: inline-size; }
.hg-spotlight__title {
	color: var(--wp--preset--color--accent);
	/* Sized to the card, not the window, so one-word areas ("Tampines", "Sembawang") stay on one line. */
	font-size: clamp(2.25rem, 16cqi, 4.75rem);
	letter-spacing: -.025em;
	line-height: 1.05;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	margin: 1.25rem 0 1rem;
}
.hg-spotlight__mrt { font-size: var(--wp--preset--font-size--large); line-height: 1.45; margin: 0 0 1.75rem; }
.hg-counts { list-style: none; margin: 0 0 2rem; padding: 0; }
.hg-counts__row { display: flex; justify-content: space-between; gap: 1rem; padding-block: .55rem; font-size: var(--wp--preset--font-size--large); }
.hg-counts__num { font-variant-numeric: tabular-nums; }
.hg-spotlight__empty { color: var(--wp--preset--color--muted); }
.hg-spotlight__cta { margin: auto 0 0; }

/* 9. Industry in an area --------------------------------------------------- */
.hg-arealist__head h2 { margin-bottom: .5rem; }
.hg-arealist__head p { margin-top: 0; font-size: var(--wp--preset--font-size--medium); }
.hg-arealist__cols { display: flex; flex-wrap: nowrap; gap: clamp(1.25rem, 2.5vw, 2.5rem); align-items: flex-start; }
.hg-arealist__cols > .hg-arealist__list, .hg-arealist__cols > .hg-arealist__map { min-width: 0; flex-grow: 0; }
.hg-arealist > .hg-arealist__head, .hg-arealist > .hg-arealist__cols { max-width: var(--wp--style--global--wide-size, 1280px); margin-inline: auto; }
.hg-arealist__map { position: sticky; top: 1.5rem; }
.hg-map { margin: 0; }
.hg-map img {
	width: 100%;
	aspect-ratio: 30 / 34;
	object-fit: cover;
	background: var(--wp--preset--color--slate-tint);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hg-radius);
}
.hg-map figcaption { margin-top: .6rem; }
.hg-arealist__more a, .hg-more-link a {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: var(--wp--preset--color--accent-strong);
	font-weight: 500;
	text-underline-offset: .3em;
	text-decoration-thickness: 2px;
}
.hg-arealist__more a::after, .hg-more-link a::after {
	content: "";
	width: 1em; height: 1em;
	background-color: currentColor;
	-webkit-mask: url(../icons/caret-right.svg) center / contain no-repeat;
	mask: url(../icons/caret-right.svg) center / contain no-repeat;
}

/* 10. Local guides (staggered squares) ------------------------------------- */
.hg-guides__head { gap: 1rem 2rem; margin-bottom: clamp(1.5rem, 4vw, 3.5rem); }
.hg-guides__head h2 { margin: 0; font-size: clamp(2.25rem, 4.5vw, 4rem); }
.hg-more-link { margin: 0 0 .45rem; font-size: var(--wp--preset--font-size--x-large); }
.hg-more-link a { text-decoration-color: var(--wp--preset--color--accent-strong); }
.hg-stagger.wp-block-post-template { gap: clamp(1rem, 2vw, 2rem); align-items: start; }
.hg-stagger > li:nth-child(even) { margin-top: clamp(3rem, 12vw, 12rem); }
.hg-stagger__img { margin-bottom: 1.25rem; }
.hg-stagger__img img { border-radius: var(--hg-radius); }
.hg-stagger > li:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 1;
	border-radius: var(--hg-radius);
	background: var(--wp--preset--color--tint);
	margin-bottom: 1.25rem;
}
.hg-stagger__title { font-size: var(--wp--preset--font-size--x-large); font-weight: 400; line-height: 1.3; letter-spacing: 0; margin: 0; }
.hg-stagger__title a, .hg-card__title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.hg-stagger__title a:hover, .hg-card__title a:hover { color: var(--wp--preset--color--accent-strong); text-decoration: underline; }

/* 11. Suggest panel + footer ----------------------------------------------- */
.hg-suggest-wrap { padding-bottom: var(--wp--preset--spacing--50); }
.hg-suggest {
	display: grid;
	grid-template-columns: 1fr minmax(220px, 380px);
	align-items: center;
	gap: 2rem;
	background: var(--hg-suggest-bg);
	border-radius: calc(var(--hg-radius) * 1.75);
	padding: clamp(1.5rem, 3.5vw, 3rem) clamp(1.5rem, 4vw, 3.5rem);
	color: #FFFFFF;
}
.hg-suggest__title { color: #FFFFFF; font-size: clamp(2rem, 3.8vw, 3.25rem); margin: 0 0 .75rem; }
.hg-suggest__text { color: #FFFFFF; margin: 0 0 1.5rem; max-width: 46ch; font-size: var(--wp--preset--font-size--large); }
.hg-suggest .hg-button-deep .wp-block-button__link { background: var(--hg-suggest-btn); color: #FFFFFF; }
.hg-suggest .hg-button-deep .wp-block-button__link:hover { background: #7A3A22; }
.hg-suggest__img { margin: 0; }
.hg-suggest__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hg-radius); }
@media (prefers-color-scheme: dark) {
	.hg-suggest .hg-button-deep .wp-block-button__link { color: #1C232A; }
	.hg-suggest .hg-button-deep .wp-block-button__link:hover { background: #EFA586; }
}

.hg-footer {
	background: var(--hg-footer-bg);
	color: var(--hg-footer-text);
	padding-block: clamp(2.5rem, 5vw, 4rem) 2.5rem;
}
.hg-footer a { color: var(--hg-footer-text); text-decoration: none; }
.hg-footer a:hover { text-decoration: underline; }
.hg-footer__inner { max-width: 1240px; margin-inline: auto; }
.hg-footer__brand { text-align: center; margin: 0 0 clamp(2rem, 4vw, 3rem); }
.hg-wordmark--footer .hg-wordmark__a, .hg-wordmark--footer .hg-wordmark__c { color: #FFFFFF; }
.hg-wordmark--footer .hg-wordmark__b { color: #F0B49B; }
.hg-footer__nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.hg-footer__heading { color: #FFFFFF; font-size: var(--wp--preset--font-size--large); font-weight: 600; margin: 0 0 1rem; }
.hg-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; font-size: var(--wp--preset--font-size--large); }
.hg-footer__base { margin-top: clamp(2rem, 4vw, 3.5rem); gap: 1rem 3rem; }
.hg-footer__base .pd-disclosure { max-width: 70ch; color: var(--hg-footer-muted); }
.hg-footer__base .pd-disclosure__text { margin: 0; font-size: var(--wp--preset--font-size--small); }
.hg-footer__base .pd-disclosure a { color: #FFFFFF; text-decoration: underline; }
.hg-footer__copy { margin: 0; color: var(--hg-footer-muted); font-size: var(--wp--preset--font-size--small); }

/* 12. Listing pages, cards, empty states ----------------------------------- */
.hg-page-head { padding-top: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--40); }
.hg-page-head h1, .hg-page-title { margin-top: 0; }
.hg-page-title { padding-top: var(--wp--preset--spacing--40); }
.hg-cards.wp-block-post-template { gap: clamp(1.25rem, 2.5vw, 2rem); }
.hg-card { display: flex; flex-direction: column; gap: .6rem; height: 100%; }
.hg-card__img { margin: 0 0 .4rem; }
.hg-card__title { margin: 0; line-height: 1.25; }
.hg-card__excerpt p { margin: 0; color: var(--wp--preset--color--muted); }
.hg-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.hg-card__date { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.hg-card__terms a, .hg-term-chips a {
	display: inline-block;
	background: var(--wp--preset--color--tint);
	color: var(--hg-on-tint);
	border-radius: var(--hg-pill);
	padding: .15rem .7rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
}
.hg-term-chips--soft a { background: var(--wp--preset--color--slate-tint); color: var(--wp--preset--color--contrast); }
.hg-card__terms .wp-block-post-terms__separator, .hg-term-chips .wp-block-post-terms__separator { display: inline-block; width: .3rem; font-size: 0; }
.hg-pagination { margin-top: var(--wp--preset--spacing--40); gap: .5rem; }
.hg-pagination a, .hg-pagination .current {
	display: inline-flex;
	min-width: 2.75rem; min-height: 2.75rem;
	align-items: center; justify-content: center;
	padding-inline: .9rem;
	border-radius: var(--hg-pill);
	text-decoration: none;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
}
.hg-pagination .current { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.hg-empty, .pd-empty-state {
	background: var(--wp--preset--color--surface);
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: var(--hg-radius);
	padding: 1.5rem;
	color: var(--wp--preset--color--muted);
}
.hg-empty__title { color: var(--wp--preset--color--contrast); font-size: var(--wp--preset--font-size--large); font-weight: 600; margin-top: 0; }
.hg-404 { padding-top: var(--wp--preset--spacing--50); }

/* 13. Guide article -------------------------------------------------------- */
.hg-article__head { padding-top: var(--wp--preset--spacing--30); }
.hg-article__terms { gap: .4rem; margin-bottom: 1rem; }
.hg-article__title { font-size: clamp(2.125rem, 4.5vw, 3.5rem); margin-block: 0 1rem; }
.hg-article__lede p { font-size: var(--wp--preset--font-size--x-large); line-height: 1.45; color: var(--wp--preset--color--muted); margin: 0 0 1rem; }
.hg-article__meta { color: var(--wp--preset--color--muted); }
.hg-article__img { margin-block: var(--wp--preset--spacing--40); }
.hg-prose { font-size: 1.1875rem; line-height: 1.7; }
.hg-prose > * + * { margin-top: 1.25em; }
.hg-prose h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.2; margin-top: 2.25em; }
.hg-prose h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); margin-top: 1.75em; }
.hg-prose a { text-underline-offset: .2em; }
.hg-prose blockquote {
	margin-inline: 0;
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--tint);
	border-radius: var(--hg-radius);
	border: 0;
}
.hg-prose ul, .hg-prose ol { padding-left: 1.25em; }
.hg-prose li + li { margin-top: .4em; }
.hg-prose table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--medium); }
.hg-prose th, .hg-prose td { border-bottom: 1px solid var(--wp--preset--color--line); padding: .6rem .5rem; text-align: left; }
.hg-disclosure-box {
	margin-top: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border-radius: var(--hg-radius);
	padding: 1.25rem 1.5rem;
	border-left: 4px solid var(--wp--preset--color--accent);
}
.hg-disclosure-box__label { font-weight: 600; margin: 0 0 .25rem; }
.hg-disclosure-box .pd-disclosure__text { margin: 0; color: var(--wp--preset--color--muted); }
.hg-more-guides { margin-top: var(--wp--preset--spacing--50); }

/* 14. Area page ------------------------------------------------------------ */
.hg-area-hero {
	background: var(--wp--preset--color--tint);
	border-radius: calc(var(--hg-radius) * 1.75);
	padding: clamp(1.5rem, 4vw, 3.5rem);
	margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
.hg-area-hero .hg-badge { background: #33414E; color: #F6F6F4; }
.hg-area-hero__title { color: var(--hg-on-tint); font-size: clamp(2.5rem, 5vw, 4.5rem); margin: 1rem 0 .75rem; letter-spacing: -.025em; }
.hg-area-hero__intro { font-size: var(--wp--preset--font-size--large); max-width: 62ch; }
.hg-area-hero__intro p:last-child { margin-bottom: 0; }
.hg-area-mrt {
	display: flex;
	gap: .6rem;
	align-items: flex-start;
	font-size: var(--wp--preset--font-size--large);
	background: var(--wp--preset--color--surface);
	border-radius: var(--hg-radius);
	padding: 1rem 1.25rem;
	margin: 0 0 var(--wp--preset--spacing--40);
}
.hg-area-mrt .hg-icon { color: var(--wp--preset--color--accent-strong); margin-top: .2em; }
.hg-area-section, .hg-area-list { margin-bottom: var(--wp--preset--spacing--40); scroll-margin-top: 1.5rem; }
.hg-area-list { max-width: 860px; }
.hg-guide-links { padding-left: 1.2em; font-size: var(--wp--preset--font-size--large); }
.hg-guide-links li + li { margin-top: .4rem; }

/* 15. Plugin markup (pulse-directory, see plugin/pulse-directory/MARKUP.md) */
.pd-empty { color: var(--wp--preset--color--muted); font-style: italic; }
.pd-note {
	display: inline-block;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0 0 1rem;
}
.pd-updated { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); margin: 0; }
.pd-disclosure { color: var(--wp--preset--color--muted); }
.pd-disclosure__text { font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.pd-disclosure--list, .pd-disclosure--profile { margin-top: 1.25rem; }
.pd-disclosure__link { white-space: nowrap; }
.pd-list { margin-bottom: 1rem; }
.pd-list > .pd-empty-state { margin: 0; }

/* rows (area lists) */
.pd-rows, .pd-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.pd-row {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .2rem 1rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hg-radius);
	padding: 1rem 1.25rem;
	box-shadow: var(--hg-shadow);
}
.pd-row__rank, .pd-card__rank {
	display: inline-grid;
	place-items: center;
	width: 2rem; height: 2rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-strong);
	color: var(--hg-on-accent);
	font-weight: 600;
}
.pd-row__rank { grid-column: 1 / -1; }
.pd-row__main { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; }
.pd-row__title { font-size: var(--wp--preset--font-size--large); font-weight: 600; margin: 0; letter-spacing: 0; }
.pd-row__link, .pd-card__link, .pd-table__link { color: var(--wp--preset--color--contrast); text-decoration: none; }
.pd-row__link:hover, .pd-card__link:hover, .pd-table__link:hover { color: var(--wp--preset--color--accent-strong); text-decoration: underline; }
.pd-row__industry, .pd-card__industry {
	margin: 0;
	display: inline-block;
	background: var(--hg-chip-dark);
	color: var(--wp--preset--color--base);
	border-radius: var(--hg-pill);
	padding: .05rem .6rem;
	font-size: .8125rem;
	font-weight: 500;
}
.pd-row__facts { grid-column: 1 / 2; margin: .35rem 0 0; display: flex; flex-direction: column; gap: .15rem; }
.pd-row__facts .pd-facts__item { display: flex; gap: .5rem; align-items: flex-start; }
.pd-row__facts .pd-facts__item--address { order: -1; font-weight: 500; }
.pd-row__facts .pd-facts__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.pd-row__facts .pd-facts__value { margin: 0; }
.pd-row__facts .pd-facts__item::before {
	content: "";
	flex: none;
	width: 1.05em; height: 1.05em;
	margin-top: .25em;
	background-color: var(--wp--preset--color--muted);
	-webkit-mask: var(--hg-i, url(../icons/info.svg)) center / contain no-repeat;
	mask: var(--hg-i, url(../icons/info.svg)) center / contain no-repeat;
}
.pd-facts__item--address { --hg-i: url(../icons/map-pin.svg); }
.pd-facts__item--mrt { --hg-i: url(../icons/person-simple-walk.svg); }
.pd-facts__item--hours { --hg-i: url(../icons/clock.svg); }
.pd-facts__item--phone { --hg-i: url(../icons/info.svg); }
.pd-row__actions { grid-column: 2 / 3; grid-row: span 1; align-self: end; margin: 0; }
.pd-row__button.pd-button, .pd-card__button.pd-button {
	background: transparent;
	color: var(--wp--preset--color--accent-strong);
	padding: .35rem 0;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
}
.pd-row__button.pd-button:hover, .pd-card__button.pd-button:hover { background: transparent; color: var(--wp--preset--color--accent-hover); text-decoration: underline; }
.pd-row__button::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--hg-radius);
}
.pd-row:has(.pd-row__button:focus-visible) { outline: 3px solid var(--hg-focus); outline-offset: 2px; }
.pd-row .pd-row__link { position: relative; z-index: 1; }

/* cards */
.pd-cards { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.pd-card {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hg-radius);
	padding: 1.25rem;
	box-shadow: var(--hg-shadow);
}
.pd-card__media { margin: -1.25rem -1.25rem .5rem; }
.pd-card__image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--hg-radius) var(--hg-radius) 0 0; }
.pd-card__title { font-size: var(--wp--preset--font-size--large); margin: 0; letter-spacing: 0; }
.pd-card__excerpt { margin: 0; color: var(--wp--preset--color--muted); }
.pd-card__actions { margin: auto 0 0; }

/* facts (cards + profile) */
.pd-facts { margin: .5rem 0; }
.pd-card__facts, .pd-profile__facts { display: grid; gap: .5rem; }
.pd-card__facts .pd-facts__item, .pd-profile__facts .pd-facts__item { display: grid; grid-template-columns: minmax(7rem, 32%) 1fr; gap: 1rem; }
.pd-facts__label { color: var(--wp--preset--color--muted); }
.pd-facts__value { margin: 0; overflow-wrap: anywhere; }
.pd-profile__facts .pd-facts__item { padding-block: .7rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.pd-services { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.pd-services__item.pd-chip { border-width: 0; background: var(--hg-chip-dark); color: var(--wp--preset--color--base); font-size: .8125rem; padding: .15rem .65rem; }
.pd-rating__value { font-weight: 600; }
.pd-rating__meta, .pd-price__meta, .pd-price__note { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.pd-price { display: inline-flex; flex-wrap: wrap; gap: .1rem .5rem; align-items: baseline; }
.pd-price__value { font-weight: 600; }
.pd-price__source { font-size: var(--wp--preset--font-size--small); }

/* table */
.pd-table-wrap { overflow-x: auto; border-radius: var(--hg-radius); border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); }
.pd-table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--medium); }
.pd-table__th { text-align: left; font-weight: 600; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); background: var(--wp--preset--color--slate-tint); }
.pd-table__th, .pd-table__cell { padding: .8rem 1rem; vertical-align: top; text-align: left; }
.pd-table__body .pd-table__row + .pd-table__row { border-top: 1px solid var(--wp--preset--color--line); }
.pd-table__cell--name { font-weight: 600; }
.pd-table__cell--rank { font-weight: 700; color: var(--wp--preset--color--accent-strong); width: 3rem; }

/* profile */
.pd-profile { margin-block: var(--wp--preset--spacing--30); }
.pd-profile__section { background: var(--wp--preset--color--surface); border-radius: var(--hg-radius); padding: clamp(1.25rem, 3vw, 2rem); margin-bottom: 1.25rem; box-shadow: var(--hg-shadow); }
.pd-profile__heading { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 1rem; }
.pd-profile__map { margin: 1.25rem 0 0; }
.pd-hours { width: 100%; border-collapse: collapse; }
.pd-hours__day, .pd-hours__time { text-align: left; padding: .55rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.pd-hours__day { font-weight: 500; width: 40%; }
.pd-hours__time--closed { color: var(--wp--preset--color--muted); }
.pd-sources { margin: 0; padding-left: 1.2em; color: var(--wp--preset--color--muted); }

/* industries */
.pd-industries { list-style: none; margin: 0; padding: 0; }
.pd-industries--chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.pd-industries--bento { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.pd-industries--bento .pd-industries__link {
	display: flex; flex-direction: column; gap: .35rem; height: 100%;
	background: var(--wp--preset--color--surface);
	border-radius: var(--hg-radius);
	padding: 1.25rem;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	box-shadow: var(--hg-shadow);
}
.pd-industries--bento .pd-industries__link:hover { background: var(--wp--preset--color--tint); }
.pd-industries__name { font-weight: 600; font-size: var(--wp--preset--font-size--large); }
.pd-industries--chips .pd-industries__name { font-weight: 500; font-size: inherit; }
.pd-industries__desc { color: var(--wp--preset--color--muted); }

/* search */
.pd-search { max-width: 640px; margin-block: 1rem 2rem; }
.pd-search__label { display: block; font-weight: 500; margin-bottom: .5rem; }
.pd-search__field { display: flex; gap: .5rem; padding: .35rem; background: var(--wp--preset--color--surface); border: 2px solid var(--wp--preset--color--line); border-radius: var(--hg-pill); }
.pd-search__field:focus-within { border-color: var(--wp--preset--color--contrast); }
.pd-search__input {
	flex: 1; min-width: 0;
	border: 0; background: transparent;
	color: var(--wp--preset--color--contrast);
	font: 400 var(--wp--preset--font-size--large)/1.3 var(--wp--preset--font-family--outfit);
	padding: .55rem 1rem;
}
.pd-search__input:focus-visible { outline: none; }
.pd-search__button { padding: .6rem 1.4rem; font-size: var(--wp--preset--font-size--medium); }

/* breadcrumbs */
.pd-breadcrumbs { margin-top: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.pd-breadcrumbs__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.pd-breadcrumbs__item + .pd-breadcrumbs__item::before { content: "/"; margin-right: .35rem; color: var(--wp--preset--color--muted); }
.pd-breadcrumbs__link { color: var(--wp--preset--color--muted); }
.pd-breadcrumbs__item--current { color: var(--wp--preset--color--contrast); }

/* 16. Motion --------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.hg-reveal {
			animation: hg-reveal linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 35%;
		}
		@keyframes hg-reveal {
			from { opacity: .001; transform: translateY(28px); }
			to { opacity: 1; transform: none; }
		}
	}
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
	.hg-region:hover, .hg-region:focus-visible { transform: none; }
}

/* 17. Responsive ----------------------------------------------------------- */
@media (max-width: 1100px) {
	.hg-stagger.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hg-stagger > li:nth-child(even) { margin-top: clamp(2rem, 8vw, 5rem); }
	.hg-stagger > li:nth-child(3) { margin-top: -2rem; }
}
@media (max-width: 781px) {
	.hg-arealist__map { position: static; }
	.hg-arealist__cols { flex-direction: column; }
	.hg-arealist__cols > .hg-arealist__list, .hg-arealist__cols > .hg-arealist__map { flex-basis: auto !important; width: 100%; }
}
@media (max-width: 767px) {
	.hg-main:not(.hg-home), .hg-section { padding-inline: var(--hg-gutter); }
	.hg-header { padding-block: .75rem; }
	.hg-hero.wp-block-cover { min-height: 640px !important; }
	.hg-hero__content { min-height: 0; }
	.hg-picker { flex-direction: column; align-items: stretch; border-radius: 28px; padding: .5rem; }
	.hg-picker__select { padding-left: 1rem; }
	.hg-picker__button { width: 100%; }
	.hg-regions { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
	.hg-regions__item--north, .hg-regions__item--west, .hg-regions__item--north-east, .hg-regions__item--central, .hg-regions__item--east { grid-column: auto; grid-row: auto; }
	.hg-regions__item--east { grid-column: 1 / -1; }
	.hg-stagger.wp-block-post-template, .hg-cards.wp-block-post-template { grid-template-columns: 1fr; }
	.hg-stagger > li:nth-child(n) { margin-top: 0; }
	.hg-suggest { grid-template-columns: 1fr; }
	.hg-suggest__img { order: -1; }
	.hg-footer__nav { grid-template-columns: 1fr 1fr; }
	.pd-row { grid-template-columns: 1fr; }
	.pd-row__actions { grid-column: 1; }
	.pd-card__facts .pd-facts__item, .pd-profile__facts .pd-facts__item { grid-template-columns: 1fr; gap: .1rem; }
	.pd-table__head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.pd-table, .pd-table__body, .pd-table__row, .pd-table__cell { display: block; width: 100%; }
	.pd-table__row { padding: .75rem 0; }
	.pd-table__cell { padding: .25rem 1rem; }
	.pd-table__cell::before { content: attr(data-label); display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); font-weight: 500; }
}

/* Print: keep listings readable */
@media print {
	.hg-header, .hg-footer, .hg-suggest-wrap, .hg-picker { display: none; }
	.pd-row, .pd-card, .pd-profile__section { box-shadow: none; border: 1px solid #ccc; }
}

/* Enquiry form ([pd_enquiry_form]) */
.pd-enquiry{max-width:40rem}
.pd-enquiry__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pd-enquiry__field{display:grid;gap:.4rem;margin:0 0 1rem}
.pd-enquiry__field label{font-weight:600;font-size:.95rem}
.pd-enquiry__field input,.pd-enquiry__field select,.pd-enquiry__field textarea{font:inherit;width:100%;padding:.75rem .9rem;border:1px solid currentColor;border-radius:inherit;background:transparent;color:inherit;box-sizing:border-box}
.pd-enquiry__field input:focus,.pd-enquiry__field select:focus,.pd-enquiry__field textarea:focus{outline:2px solid currentColor;outline-offset:2px}
.pd-enquiry__notice{padding:.9rem 1rem;border:1px solid currentColor;margin:0 0 1.25rem}
.pd-enquiry__submit .pd-button{cursor:pointer}
/* Get featured panel */
.hg-suggest .pd-enquiry{max-width:none;color:#fff}
.hg-suggest .pd-enquiry__form{display:grid;grid-template-columns:1fr 1fr;column-gap:.9rem}
.hg-suggest .pd-enquiry__field--message,.hg-suggest .pd-enquiry__submit,.hg-suggest .pd-enquiry__notice,.hg-suggest .pd-enquiry__field:first-of-type{grid-column:1/-1}
.hg-suggest .pd-enquiry__field input,.hg-suggest .pd-enquiry__field select,.hg-suggest .pd-enquiry__field textarea{background:#fff;color:#1C232A;border-color:transparent;border-radius:var(--hg-radius,12px)}
.hg-suggest .pd-enquiry__submit .pd-button{background:var(--hg-suggest-btn);color:#fff;border:0}
.hg-suggest .pd-enquiry__notice{border-color:#fff}
.hg-suggest__img{align-self:start}
@media (max-width:781px){.hg-suggest .pd-enquiry__form{grid-template-columns:1fr}}

/* 13 Oct 2026 layout pass: phone tables */
@media (max-width: 600px) { .hg-prose table { font-size: .9rem; } .hg-prose th, .hg-prose td { padding: .5rem .4rem; } }

/* 21 Oct 2026: bigger tap targets on phones */
.hg-term-chips a, .wp-block-post-terms a { display: inline-flex; align-items: center; min-height: 36px; }
.page-numbers, .wp-block-query-pagination a { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; }
