/* ==========================================================================
   Goldway Care theme styles
   Colours, fonts and sizes come from theme.json (Appearance → Editor → Styles).
   ========================================================================== */

:root {
	--gw-gold: var(--wp--preset--color--gold, #FDBE5E);
	--gw-gold-soft: var(--wp--preset--color--gold-soft, #FFF3DC);
	--gw-deep: var(--wp--preset--color--deep-teal, #0F5E63);
	--gw-teal: var(--wp--preset--color--teal, #5FB3B3);
	--gw-teal-soft: #D9EFEF;
	--gw-sky: var(--wp--preset--color--sky, #EAF4FB);
	--gw-cream: var(--wp--preset--color--cream, #FBF8F2);
	--gw-ink: var(--wp--preset--color--charcoal, #1F2937);
	--gw-muted: var(--wp--preset--color--muted, #4B5563);
	--gw-line: rgba(15, 94, 99, 0.12);
	--gw-radius: 24px;
	--gw-radius-lg: 32px;
	--gw-pad: clamp(1.5rem, 3vw, 2rem);
	--gw-shadow: 0 1px 2px rgba(31, 41, 55, 0.04), 0 14px 34px -18px rgba(15, 94, 99, 0.28);
	--gw-shadow-lg: 0 2px 4px rgba(31, 41, 55, 0.04), 0 24px 48px -20px rgba(15, 94, 99, 0.35);
	--gw-font-head: var(--wp--preset--font-family--heading, Montserrat, sans-serif);
}

/* ---------- Base ---------- */

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-block-post-content > .alignfull {
	margin-block: 0;
}

a:where(:not(.wp-element-button)) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--gw-deep);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--gw-gold);
	border-radius: 6px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

img {
	height: auto;
	max-width: 100%;
}

mark.has-inline-color {
	background: none;
}

.gw-main {
	overflow-x: clip;
}

/* ---------- Typography helpers ---------- */

.gw-eyebrow {
	font-family: var(--gw-font-head);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gw-deep);
	margin-bottom: 0.25rem;
}

.gw-eyebrow--pill {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.4rem 1rem;
	background: #fff;
	border: 1px solid var(--gw-line);
	border-radius: 999px;
	box-shadow: var(--gw-shadow);
	letter-spacing: 0.08em;
}

.gw-eyebrow--pill::before {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--gw-gold);
	box-shadow: 0 0 0 4px var(--gw-gold-soft);
}

.gw-lead {
	font-size: var(--wp--preset--font-size--large);
	color: var(--gw-muted);
	line-height: 1.55;
}

.gw-statement {
	font-family: var(--gw-font-head);
	font-weight: 600;
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	line-height: 1.45;
	color: var(--gw-ink);
}

.gw-note {
	color: var(--gw-muted);
	font-size: 1rem;
	margin-top: 2rem;
}

.gw-subhead {
	margin-top: 3.5rem;
	margin-bottom: 1.5rem;
}

/* ---------- Header ---------- */

header.wp-block-template-part {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - 44px);
	z-index: 50;
}

.gw-topbar {
	background: var(--gw-deep);
	color: #fff;
	font-size: 0.9375rem;
}

.gw-topbar__inner {
	min-height: 44px;
	gap: 0.25rem 1.5rem;
}

.gw-topbar p {
	margin: 0;
}

.gw-topbar a {
	color: #fff;
	text-decoration: none;
}

.gw-topbar a:hover {
	text-decoration: underline;
}

.gw-topbar__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
}

.gw-topbar__links a:last-child {
	color: var(--gw-gold);
	font-weight: 700;
}

.gw-header-wrap {
	background: linear-gradient(to bottom, var(--gw-cream) 60%, rgba(251, 248, 242, 0));
	padding-block: 0.75rem;
}

.gw-nav-pill {
	background: #fff;
	border-radius: 999px;
	box-shadow: var(--gw-shadow-lg);
	border: 1px solid var(--gw-line);
	padding: 0.55rem 0.6rem 0.55rem 1.5rem;
	gap: 1rem;
	min-height: 76px;
}

.gw-logo {
	flex-shrink: 0;
}

.gw-logo img {
	display: block;
}

.gw-nav .wp-block-navigation-item__content {
	color: var(--gw-ink);
	text-decoration: none;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	transition: background-color 0.2s ease;
}

.gw-nav .wp-block-navigation-item__content:hover {
	background: var(--gw-sky);
}

.gw-nav .current-menu-item > .wp-block-navigation-item__content {
	background: var(--gw-gold-soft);
	color: var(--gw-deep);
	box-shadow: inset 0 -3px 0 var(--gw-gold);
}

.gw-nav.wp-block-navigation .wp-block-navigation__container {
	gap: 0.15rem;
}

.gw-header-actions {
	gap: 0.5rem;
	flex-shrink: 0;
}

.gw-header-actions .wp-block-button__link {
	padding: 0.75rem 1.3rem;
	font-size: 1rem;
	white-space: nowrap;
}

.gw-btn-call .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	margin-right: 0.45rem;
	vertical-align: -0.15em;
	background: currentColor;
	-webkit-mask: var(--gw-icon-phone) center / contain no-repeat;
	mask: var(--gw-icon-phone) center / contain no-repeat;
}

/* Mobile menu overlay */
.gw-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--gw-cream) !important;
	color: var(--gw-ink) !important;
	padding: 1.5rem;
}

.gw-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.5rem;
}

.gw-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.35rem;
	font-weight: 700;
	padding: 0.75rem 1rem;
}

.gw-nav .wp-block-navigation__responsive-container-open,
.gw-nav .wp-block-navigation__responsive-container-close {
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--gw-sky);
	color: var(--gw-deep);
}

@media (max-width: 1140px) {
	.gw-topbar__note {
		display: none;
	}

	.gw-topbar__inner {
		justify-content: center !important;
	}

	.gw-btn-call .wp-block-button__link {
		font-size: 0;
		padding: 0;
		width: 48px;
		height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.gw-btn-call .wp-block-button__link::before {
		width: 20px;
		min-width: 20px;
		height: 20px;
		margin: 0;
		flex-shrink: 0;
	}
}

/* Collapse the menu earlier than WordPress' default 600px so the pill never crowds. */
@media (max-width: 1180px) {
	.gw-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: inline-flex;
	}

	.gw-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.gw-nav-pill {
		padding-left: 1.1rem;
	}

	.gw-nav {
		order: 3;
	}
}

@media (max-width: 781px) {
	header.wp-block-template-part {
		top: var(--wp-admin--admin-bar--height, 0px);
	}

	.gw-topbar {
		display: none;
	}

	.gw-header-wrap {
		padding: 0.5rem !important;
	}

	.gw-nav-pill {
		min-height: 60px;
		gap: 0.4rem;
		padding: 0.35rem 0.35rem 0.35rem 0.9rem;
	}

	.gw-logo img {
		width: 140px !important;
	}

	.gw-header-actions {
		gap: 0.35rem;
	}

	.gw-btn-call .wp-block-button__link,
	.gw-nav .wp-block-navigation__responsive-container-open {
		width: 44px;
		height: 44px;
	}

	.gw-btn-start .wp-block-button__link {
		padding: 0.65rem 0.9rem;
		font-size: 0.9rem;
	}
}

@media (max-width: 400px) {
	.gw-logo img {
		width: 112px !important;
	}

	.gw-nav-pill {
		padding-left: 0.7rem;
	}
}

@media (max-width: 340px) {
	.gw-btn-start {
		display: none;
	}
}

/* ---------- Buttons ---------- */

.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 6px 16px -8px rgba(15, 94, 99, 0.45);
	text-decoration: none;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--gw-deep);
	border: 2px solid var(--gw-deep);
	box-shadow: none;
	padding: calc(0.85rem - 2px) calc(1.6rem - 2px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--gw-deep);
	color: #fff;
}

.gw-btn-light.is-style-outline > .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.85);
}

.gw-btn-light.is-style-outline > .wp-block-button__link:hover {
	background: #fff;
	color: var(--gw-deep);
}

.gw-btn-arrow .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	margin-left: 0.5rem;
	vertical-align: -0.2em;
	background: currentColor;
	-webkit-mask: var(--gw-icon-arrow) center / contain no-repeat;
	mask: var(--gw-icon-arrow) center / contain no-repeat;
	transition: transform 0.2s ease;
}

.gw-btn-arrow .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.gw-btn-phone .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	margin-right: 0.5rem;
	vertical-align: -0.15em;
	background: currentColor;
	-webkit-mask: var(--gw-icon-phone) center / contain no-repeat;
	mask: var(--gw-icon-phone) center / contain no-repeat;
}

.gw-center-buttons {
	margin-top: 2.5rem;
}

/* ---------- Sections ---------- */

.gw-section {
	padding-block: var(--wp--preset--spacing--60);
}

.gw-section--tight {
	padding-block: var(--wp--preset--spacing--50);
}

.gw-bg-cream {
	background: var(--gw-cream);
}

.gw-bg-sky {
	background: var(--gw-sky);
}

.gw-section-head {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.gw-section-head > * {
	margin-block: 0.4rem;
}

/* ---------- Hero ---------- */

.gw-hero,
.gw-page-header {
	background:
		radial-gradient(circle at 92% 8%, rgba(253, 190, 94, 0.28) 0, rgba(253, 190, 94, 0) 32%),
		radial-gradient(circle at 4% 92%, rgba(95, 179, 179, 0.22) 0, rgba(95, 179, 179, 0) 34%),
		var(--gw-cream);
}

.gw-hero {
	padding-top: clamp(1.5rem, 4vw, 3.5rem);
	padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.gw-hero__cols {
	gap: clamp(2rem, 5vw, 4.5rem);
}

.gw-hero__title {
	margin-top: 1.1rem;
	margin-bottom: 1rem;
}

.gw-hero__buttons {
	margin-top: 1.75rem;
	gap: 0.75rem;
}

.gw-hero__media {
	position: relative;
	isolation: isolate;
}

.gw-hero__media::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 78%;
	aspect-ratio: 1;
	right: -6%;
	top: -10%;
	border-radius: 50%;
	background: var(--gw-gold);
	opacity: 0.55;
}

.gw-hero__media::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 26%;
	aspect-ratio: 1;
	left: -5%;
	bottom: 4%;
	border-radius: 50%;
	background: var(--gw-teal);
	opacity: 0.35;
}

.gw-img-hero {
	margin: 0;
}

.gw-img-hero img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	object-position: 45% center;
	border-radius: var(--gw-radius-lg);
	box-shadow: var(--gw-shadow-lg);
	border: 6px solid #fff;
}

.gw-float-card {
	position: absolute;
	left: -1.75rem;
	bottom: -1.75rem;
	max-width: 280px;
	background: #fff;
	border-radius: 20px;
	box-shadow: var(--gw-shadow-lg);
	padding: 1rem 1.25rem 1rem 4.4rem;
}

.gw-float-card::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--gw-gold) var(--gw-icon-users-dark) center / 1.35rem no-repeat;
}

.gw-float-card > * {
	margin: 0;
}

.gw-float-card__title {
	font-family: var(--gw-font-head);
	font-weight: 800;
	color: var(--gw-deep);
}

.gw-float-card__text {
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--gw-muted);
}

@media (max-width: 781px) {
	.gw-float-card {
		position: relative;
		left: auto;
		bottom: auto;
		margin: -2.5rem 1rem 0 auto;
	}

	.gw-hero__media::before {
		width: 70%;
		right: -12%;
	}
}

/* ---------- Page header ---------- */

.gw-page-header {
	padding-top: clamp(1.5rem, 4vw, 3rem);
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.gw-page-header h1 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.gw-page-header--compact {
	padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.gw-page-header--simple {
	padding-bottom: 2.5rem;
}

/* ---------- Trust strip ---------- */

.gw-trust {
	position: relative;
	z-index: 2;
	margin-top: calc(-1 * clamp(3.5rem, 6vw, 4.5rem)) !important;
}

.gw-trust__grid {
	background: #fff;
	border-radius: var(--gw-radius);
	box-shadow: var(--gw-shadow-lg);
	border: 1px solid var(--gw-line);
	padding: 1.5rem clamp(1.25rem, 3vw, 2rem);
}

.gw-badge {
	position: relative;
	padding-left: 4rem;
	min-height: 3.25rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.gw-badge > * {
	margin: 0;
}

.gw-badge::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 3.1rem;
	height: 3.1rem;
	border-radius: 50%;
	background: var(--gw-gold-soft);
	box-shadow: inset 0 0 0 2px var(--gw-gold);
}

.gw-badge::after {
	content: "";
	position: absolute;
	left: 0.8rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1.5rem;
	background: var(--gw-deep);
	-webkit-mask: var(--gw-i) center / contain no-repeat;
	mask: var(--gw-i) center / contain no-repeat;
}

.gw-badge__title {
	font-family: var(--gw-font-head);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.3;
}

.gw-badge__text {
	font-size: 0.95rem;
	color: var(--gw-muted);
	line-height: 1.35;
}

/* ---------- Grids & cards ---------- */

.gw-card {
	position: relative;
	background: #fff;
	border-radius: var(--gw-radius);
	padding: var(--gw-pad);
	border: 1px solid var(--gw-line);
	box-shadow: var(--gw-shadow);
}

.gw-card > :first-child {
	margin-top: 0;
}

.gw-card > :last-child {
	margin-bottom: 0;
}

.gw-card h3 {
	margin-bottom: 0.5rem;
}

.gw-card--gold {
	background: var(--gw-gold);
	border-color: transparent;
}

.gw-card--gold a {
	color: var(--gw-ink);
	font-weight: 700;
}

.gw-card--gold .gw-eyebrow {
	color: var(--gw-ink);
}

.gw-card--teal {
	background: var(--gw-deep);
	color: #fff;
	border-color: transparent;
}

.gw-card--teal :is(h2, h3, h4, a, strong) {
	color: #fff;
}

.gw-card--sky {
	background: var(--gw-sky);
	border-color: transparent;
	box-shadow: none;
}

/* Photo cards */
.gw-card--photo {
	padding: 0 0 1.75rem;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gw-card--photo:hover,
.gw-card--photo:focus-within {
	transform: translateY(-4px);
	box-shadow: var(--gw-shadow-lg);
}

.gw-card--photo > :not(.gw-card__img) {
	padding-inline: 1.75rem;
}

.gw-card__img {
	margin: 0 0 1.5rem;
}

.gw-card__img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.gw-more {
	margin-top: 1rem;
}

.gw-more a {
	font-family: var(--gw-font-head);
	font-weight: 700;
	color: var(--gw-deep);
	text-decoration: none;
}

.gw-more a::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.4rem;
	vertical-align: -0.15em;
	background: currentColor;
	-webkit-mask: var(--gw-icon-arrow) center / contain no-repeat;
	mask: var(--gw-icon-arrow) center / contain no-repeat;
}

.gw-more a:hover {
	text-decoration: underline;
}

/* Whole photo card is clickable via its "more" link */
.gw-card--photo .gw-more a::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

/* Icon cards */
.gw-feature::before,
.gw-service::before,
.gw-contact-card::before,
.gw-banner::before {
	content: "";
	display: block;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 18px;
	background: var(--gw-gold-soft);
	box-shadow: inset 0 0 0 2px rgba(253, 190, 94, 0.6);
	margin-bottom: 1.1rem;
}

.gw-feature::after,
.gw-service::after,
.gw-contact-card::after,
.gw-banner::after {
	content: "";
	position: absolute;
	top: calc(var(--gw-pad) + 0.875rem);
	left: calc(var(--gw-pad) + 0.875rem);
	width: 1.75rem;
	height: 1.75rem;
	background: var(--gw-deep);
	-webkit-mask: var(--gw-i) center / contain no-repeat;
	mask: var(--gw-i) center / contain no-repeat;
}

.gw-card--gold.gw-feature::before,
.gw-card--gold.gw-banner::before {
	background: #fff;
	box-shadow: none;
}

.gw-card--teal.gw-feature::before {
	background: rgba(255, 255, 255, 0.12);
	box-shadow: inset 0 0 0 2px rgba(253, 190, 94, 0.7);
}

.gw-card--teal.gw-feature::after {
	background: var(--gw-gold);
}

.gw-feature--compact::before {
	width: 3rem;
	height: 3rem;
	border-radius: 14px;
}

.gw-feature--compact::after {
	top: calc(var(--gw-pad) + 0.75rem);
	left: calc(var(--gw-pad) + 0.75rem);
	width: 1.5rem;
	height: 1.5rem;
}

.gw-feature--compact h3 {
	font-size: 1.125rem;
}

.gw-feature--compact p {
	font-size: 1rem;
}

.gw-contact-card__title,
.gw-aside-title,
.gw-form-card__title {
	font-size: var(--wp--preset--font-size--large);
	margin-bottom: 0.4rem;
}

.gw-contact-card p {
	margin: 0;
	overflow-wrap: anywhere;
}

.gw-contact-card a {
	font-weight: 700;
}

/* Banner */
.gw-banner {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1.5rem;
	align-items: start;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	--gw-pad: clamp(1.75rem, 4vw, 2.75rem);
}

.gw-banner::before {
	grid-row: 1 / span 2;
	margin: 0;
}

.gw-banner > * {
	grid-column: 2;
}

.gw-banner__title {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0.4rem 0 0.5rem;
}

@media (max-width: 600px) {
	.gw-banner {
		grid-template-columns: 1fr;
	}

	.gw-banner::before {
		grid-row: auto;
		margin-bottom: 1rem;
	}

	.gw-banner > * {
		grid-column: 1;
	}
}

/* Plan cards */
.gw-plan__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--gw-font-head);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	background: var(--gw-sky);
	color: var(--gw-muted);
}

.gw-plan--yes .gw-plan__tag {
	background: var(--gw-teal-soft);
	color: var(--gw-deep);
}

.gw-plan--yes .gw-plan__tag::before {
	content: "";
	width: 0.9rem;
	height: 0.9rem;
	background: currentColor;
	-webkit-mask: var(--gw-icon-check) center / contain no-repeat;
	mask: var(--gw-icon-check) center / contain no-repeat;
}

.gw-plan--yes {
	border: 2px solid var(--gw-teal);
}

/* ---------- Split sections & images ---------- */

.gw-split {
	gap: clamp(2rem, 5vw, 4.5rem);
}

.gw-img-rounded {
	margin: 0;
}

.gw-img-rounded img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 28px;
	display: block;
}

.gw-img-accent {
	position: relative;
	isolation: isolate;
	margin-right: 1.25rem;
	margin-bottom: 1.25rem;
}

.gw-img-accent::before {
	content: "";
	position: absolute;
	inset: 1.25rem -1.25rem -1.25rem 1.25rem;
	border-radius: 28px;
	background: var(--gw-gold);
	opacity: 0.6;
	z-index: -1;
}

.gw-img-accent img {
	box-shadow: var(--gw-shadow-lg);
}

.gw-form-aside > * + * {
	margin-top: 1.5rem;
}

/* ---------- Lists ---------- */

.gw-checks {
	list-style: none;
	padding-left: 0 !important;
}

.gw-checks li {
	position: relative;
	padding-left: 2.1rem;
	margin-block: 0.6rem;
}

.gw-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.12em;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 50%;
	background: var(--gw-teal-soft);
}

.gw-checks li::after {
	content: "";
	position: absolute;
	left: 0.3rem;
	top: calc(0.12em + 0.3rem);
	width: 0.85rem;
	height: 0.85rem;
	background: var(--gw-deep);
	-webkit-mask: var(--gw-icon-check) center / contain no-repeat;
	mask: var(--gw-icon-check) center / contain no-repeat;
}

.gw-card--teal .gw-checks li::before {
	background: var(--gw-gold);
}

.gw-checks--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.6rem;
	margin-top: 1.75rem;
	font-weight: 700;
	font-size: 1rem;
}

.gw-checks--inline li {
	margin: 0;
}

.gw-checks--large li {
	font-size: var(--wp--preset--font-size--large);
	margin-block: 0.9rem;
}

.gw-checks--large li::before {
	top: 0.2em;
}

.gw-checks--large li::after {
	top: calc(0.2em + 0.3rem);
}

@media (min-width: 600px) {
	.gw-checks--2col {
		column-count: 2;
		column-gap: 2rem;
	}

	.gw-checks--2col li {
		break-inside: avoid;
		display: inline-block;
		width: 100%;
		margin: 0 0 0.75rem;
	}
}

.gw-tags {
	list-style: none;
	padding-left: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-block: 1.25rem;
}

.gw-tags li {
	background: var(--gw-sky);
	border: 1px solid var(--gw-line);
	border-radius: 999px;
	padding: 0.45rem 1.1rem;
	font-family: var(--gw-font-head);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--gw-deep);
}

.gw-numbered {
	list-style: none;
	padding-left: 0 !important;
	counter-reset: gw-num;
}

.gw-numbered li {
	counter-increment: gw-num;
	position: relative;
	padding-left: 2.75rem;
	margin-block: 0.9rem;
}

.gw-numbered li::before {
	content: counter(gw-num);
	position: absolute;
	left: 0;
	top: 0;
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 50%;
	background: var(--gw-gold);
	color: var(--gw-deep);
	font-family: var(--gw-font-head);
	font-weight: 800;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---------- Steps ---------- */

.gw-steps {
	counter-reset: gw-step;
}

.gw-step {
	counter-increment: gw-step;
	position: relative;
	background: #fff;
	border-radius: var(--gw-radius);
	padding: var(--gw-pad);
	box-shadow: var(--gw-shadow);
}

.gw-step::before {
	content: counter(gw-step);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: 1.1rem;
	border-radius: 50%;
	background: var(--gw-gold);
	color: var(--gw-deep);
	font-family: var(--gw-font-head);
	font-weight: 800;
	font-size: 1.35rem;
	box-shadow: 0 0 0 6px var(--gw-gold-soft);
}

.gw-step > * {
	margin-block: 0.4rem;
}

/* ---------- Logo story ---------- */

.gw-logo-story {
	background: var(--gw-cream);
	text-align: left;
}

.gw-logo-story__img {
	margin: 0 auto 1rem;
}

/* ---------- Call to action ---------- */

.gw-cta-wrap {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
}

.gw-cta {
	position: relative;
	overflow: hidden;
	/* Four gold dots echo the people above the bridge in the logo. */
	background:
		radial-gradient(circle at calc(100% - 150px) 64px, var(--gw-gold) 0 11px, transparent 12px),
		radial-gradient(circle at calc(100% - 112px) 40px, var(--gw-gold) 0 15px, transparent 16px),
		radial-gradient(circle at calc(100% - 64px) 40px, var(--gw-gold) 0 15px, transparent 16px),
		radial-gradient(circle at calc(100% - 26px) 64px, var(--gw-gold) 0 11px, transparent 12px),
		radial-gradient(circle at 0 100%, rgba(95, 179, 179, 0.28) 0 140px, transparent 141px),
		var(--gw-deep);
	color: #fff;
	border-radius: var(--gw-radius-lg);
	padding: clamp(3rem, 7vw, 5rem) clamp(1.5rem, 5vw, 3rem);
}

@media (max-width: 600px) {
	.gw-cta {
		background:
			radial-gradient(circle at 0 100%, rgba(95, 179, 179, 0.28) 0 110px, transparent 111px),
			var(--gw-deep);
	}
}

.gw-cta h2 {
	color: #fff;
	margin-top: 0;
}

.gw-cta .gw-lead {
	color: rgba(255, 255, 255, 0.9);
}

.gw-cta .wp-block-buttons {
	margin-top: 2rem;
	gap: 0.75rem;
}

.gw-cta__phone {
	margin-top: 1.5rem;
	color: rgba(255, 255, 255, 0.9);
}

.gw-cta__phone a {
	color: var(--gw-gold);
	font-weight: 700;
}

/* ---------- FAQ ---------- */

.gw-faq .wp-block-details {
	background: #fff;
	border: 1px solid var(--gw-line);
	border-radius: 18px;
	box-shadow: var(--gw-shadow);
	margin-block: 0 0.85rem;
	padding: 0;
}

.gw-faq summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1.25rem 4rem 1.25rem 1.5rem;
	font-family: var(--gw-font-head);
	font-weight: 700;
	font-size: 1.1rem;
	border-radius: 18px;
}

.gw-faq summary::-webkit-details-marker {
	display: none;
}

.gw-faq summary::after {
	content: "";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	width: 2rem;
	height: 2rem;
	margin-top: -1rem;
	border-radius: 50%;
	background: var(--gw-gold-soft) var(--gw-icon-plus) center / 1rem no-repeat;
	transition: transform 0.2s ease;
}

.gw-faq details[open] summary::after {
	transform: rotate(45deg);
}

.gw-faq details > :not(summary) {
	padding: 0 1.5rem 1.25rem;
	margin: 0;
}

/* ---------- Link cards ---------- */

.gw-link-card {
	margin: 0;
}

.gw-link-card a {
	display: block;
	height: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--gw-line);
	border-radius: 18px;
	padding: 1.25rem 3rem 1.25rem 1.25rem;
	box-shadow: var(--gw-shadow);
	font-family: var(--gw-font-head);
	font-weight: 700;
	color: var(--gw-deep);
	text-decoration: none;
	position: relative;
	line-height: 1.4;
}

.gw-link-card a::after {
	content: "";
	position: absolute;
	right: 1.1rem;
	top: 1.35rem;
	width: 1.1rem;
	height: 1.1rem;
	background: currentColor;
	-webkit-mask: var(--gw-icon-external) center / contain no-repeat;
	mask: var(--gw-icon-external) center / contain no-repeat;
}

.gw-link-card a:hover {
	border-color: var(--gw-deep);
}

/* ---------- Prose pages ---------- */

.gw-prose h2 {
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: 2.25rem;
}

/* ---------- Forms ---------- */

.gw-form-card {
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.gw-form {
	margin-top: 1.5rem;
}

.gw-form__required-note {
	font-size: 0.95rem;
	color: var(--gw-muted);
}

.gw-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.35rem 1.5rem;
}

.gw-field {
	grid-column: 1 / -1;
	min-width: 0;
}

.gw-field--half {
	grid-column: auto;
}

@media (max-width: 640px) {
	.gw-form__grid {
		grid-template-columns: 1fr;
	}
}

.gw-field > label,
.gw-field legend {
	display: block;
	font-family: var(--gw-font-head);
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0.45rem;
	color: var(--gw-ink);
	padding: 0;
}

.gw-req {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: 0.9rem;
	color: var(--gw-muted);
}

.gw-field fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.gw-form input[type="text"],
.gw-form input[type="email"],
.gw-form input[type="tel"],
.gw-form select,
.gw-form textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 1.0625rem;
	color: var(--gw-ink);
	background: #fff;
	border: 2px solid #8A94A3;
	border-radius: 12px;
	padding: 0.8rem 1rem;
	min-height: 52px;
	transition: border-color 0.15s ease;
}

.gw-form select {
	appearance: none;
	background: #fff var(--gw-icon-chevron) right 1rem center / 1.1rem no-repeat;
	padding-right: 2.75rem;
}

.gw-form textarea {
	min-height: 140px;
	resize: vertical;
}

.gw-form :is(input, select, textarea):hover {
	border-color: var(--gw-deep);
}

.gw-field__hint {
	font-size: 0.95rem;
	color: var(--gw-muted);
	margin: -0.15rem 0 0.5rem;
}

.gw-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.gw-choice {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 48px;
	box-sizing: border-box;
	padding: 0.55rem 1.1rem 0.55rem 0.9rem;
	border: 2px solid #C5CCD6;
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1.3;
}

.gw-choice:hover {
	border-color: var(--gw-deep);
}

.gw-choice:has(input:checked) {
	background: var(--gw-gold-soft);
	border-color: var(--gw-deep);
}

.gw-choice input {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	accent-color: var(--gw-deep);
	flex-shrink: 0;
}

.gw-choice--consent {
	align-items: flex-start;
	border: 0;
	padding: 0;
	border-radius: 0;
	background: none !important;
	min-height: 0;
}

.gw-choice--consent input {
	margin-top: 0.2rem;
}

.gw-field.has-error :is(input, select, textarea),
.gw-field.has-error .gw-choice {
	border-color: #B42318;
}

.gw-field__error {
	color: #B42318;
	font-weight: 700;
	font-size: 0.95rem;
	margin: 0 0 0.45rem;
}

.gw-form__actions {
	margin-top: 1.75rem;
}

.gw-form button.wp-block-button__link {
	border: 0;
	cursor: pointer;
	font-size: 1.0625rem;
}

.gw-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.gw-form-message {
	border-radius: 14px;
	padding: 1.25rem 1.5rem;
	margin-block: 1rem 1.5rem;
	border-left: 6px solid;
}

.gw-form-message p {
	margin: 0;
}

.gw-form-message ul {
	margin: 0.5rem 0 0;
}

.gw-form-message--success {
	background: #E8F6EE;
	border-color: #1E7B4F;
}

.gw-form-message--error {
	background: #FDECEC;
	border-color: #B42318;
}

.gw-form-message--error a {
	color: #8A1A12;
}

/* ---------- Map ---------- */

.gw-map iframe {
	display: block;
	width: 100%;
	height: 320px;
	border: 0;
	border-radius: var(--gw-radius);
	box-shadow: var(--gw-shadow);
}

/* ---------- Footer ---------- */

.gw-footer {
	background: #FFF8EC;
	border-top: 4px solid var(--gw-gold);
	padding-top: clamp(3rem, 6vw, 4.5rem);
	font-size: 1rem;
}

.gw-footer__cols {
	gap: 2.5rem;
}

.gw-footer__logo {
	margin-bottom: 1rem;
}

.gw-footer__small {
	color: var(--gw-muted);
	font-size: 0.95rem;
}

.gw-footer__title {
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--gw-deep);
	margin-bottom: 0.85rem;
}

.gw-footer__links,
.gw-footer__contact {
	list-style: none;
	padding-left: 0 !important;
	margin-top: 0;
}

.gw-footer__links li,
.gw-footer__contact li {
	margin-block: 0.5rem;
}

.gw-footer a {
	color: var(--gw-ink);
	text-decoration: none;
}

.gw-footer a:hover {
	color: var(--gw-deep);
	text-decoration: underline;
}

.gw-footer__links--small {
	margin-top: 1.25rem;
	font-size: 0.95rem;
}

.gw-footer__contact li {
	position: relative;
	padding-left: 1.85rem;
	overflow-wrap: break-word;
}

.gw-footer__contact li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.15rem;
	height: 1.15rem;
	background: var(--gw-deep);
	-webkit-mask: var(--gw-i) center / contain no-repeat;
	mask: var(--gw-i) center / contain no-repeat;
}

.gw-li-phone { --gw-i: var(--gw-icon-phone); }
.gw-li-mail { --gw-i: var(--gw-icon-mail); }
.gw-li-pin { --gw-i: var(--gw-icon-pin); }

.gw-footer__cta {
	background: #fff;
	border-radius: 20px;
	padding: 1.5rem;
	box-shadow: var(--gw-shadow);
}

.gw-footer__cta .gw-footer__title {
	margin-top: 0;
}

.gw-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem 2rem;
	margin-top: 3rem;
	padding-block: 1.5rem 2rem;
	border-top: 1px solid rgba(31, 41, 55, 0.12);
	color: var(--gw-muted);
	font-size: 0.95rem;
}

.gw-footer__bottom p {
	margin: 0;
}

.gw-footer__ack {
	flex-basis: 100%;
}

.gw-footer .gw-footer__credit a {
	color: #D61F26;
	font-weight: 700;
}

/* ---------- Motion ----------
   Only active when html has .gw-motion (added in <head> unless the visitor
   prefers reduced motion), so content is never hidden without JavaScript. */

@keyframes gw-fade-up {
	from { opacity: 0; transform: translateY(22px); }
	to { opacity: 1; transform: none; }
}

@keyframes gw-zoom-in {
	from { opacity: 0; transform: scale(0.96); }
	to { opacity: 1; transform: none; }
}

@keyframes gw-float {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(-10px, 12px); }
}

@keyframes gw-float-alt {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(8px, -10px); }
}

.gw-motion .gw-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: var(--gw-delay, 0ms);
}

.gw-motion .gw-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Hero entrance on page load */
.gw-motion .gw-hero__text > * {
	animation: gw-fade-up 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.gw-motion .gw-hero__text > :nth-child(2) { animation-delay: 0.08s; }
.gw-motion .gw-hero__text > :nth-child(3) { animation-delay: 0.16s; }
.gw-motion .gw-hero__text > :nth-child(4) { animation-delay: 0.24s; }
.gw-motion .gw-hero__text > :nth-child(5) { animation-delay: 0.32s; }

.gw-motion .gw-img-hero {
	animation: gw-zoom-in 1s cubic-bezier(0.2, 0.7, 0.2, 1) 0.1s both;
}

.gw-motion .gw-float-card {
	animation: gw-fade-up 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s both;
}

/* Slow drifting circles behind the hero photo */
.gw-motion .gw-hero__media::before {
	animation: gw-float 9s ease-in-out infinite;
}

.gw-motion .gw-hero__media::after {
	animation: gw-float-alt 7s ease-in-out infinite;
}

/* Header gets a little more depth once scrolled */
header.wp-block-template-part .gw-nav-pill {
	transition: box-shadow 0.3s ease;
}

header.wp-block-template-part.is-scrolled .gw-nav-pill {
	box-shadow: 0 2px 4px rgba(31, 41, 55, 0.05), 0 18px 40px -16px rgba(15, 94, 99, 0.45);
}

/* Small polish: icons nudge on card hover */
.gw-feature::after,
.gw-service::after,
.gw-contact-card::after {
	transition: transform 0.3s ease;
}

.gw-feature:hover::after,
.gw-service:hover::after,
.gw-contact-card:hover::after {
	transform: scale(1.12);
}

.gw-step::before {
	transition: transform 0.3s ease;
}

.gw-step:hover::before {
	transform: scale(1.08);
}


@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}

	.gw-card--photo:hover,
	.wp-block-button__link:hover {
		transform: none;
	}
}

/* ---------- Icons ---------- */
/* Change a card's icon by changing its gw-i-* class in the block's Advanced → Additional CSS class(es). */
:root {
	--gw-icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
	--gw-icon-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	--gw-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
	--gw-icon-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E");
	--gw-icon-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--gw-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--gw-icon-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
	--gw-icon-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Cpath d='M9 17h6'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E");
	--gw-icon-sprout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20h10'/%3E%3Cpath d='M10 20c5.5-2.5.8-6.4 3-10'/%3E%3Cpath d='M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z'/%3E%3Cpath d='M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'/%3E%3C/svg%3E");
	--gw-icon-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36z'/%3E%3C/svg%3E");
	--gw-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--gw-icon-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");
	--gw-icon-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");
	--gw-icon-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.48 12.89 17 22l-5-3-5 3 1.52-9.11'/%3E%3C/svg%3E");
	--gw-icon-firstaid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='15' rx='2'/%3E%3Cpath d='M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2M12 10v7M8.5 13.5h7'/%3E%3C/svg%3E");
	--gw-icon-wallet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E");
	--gw-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
	--gw-icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--gw-icon-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
	--gw-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--gw-icon-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
	--gw-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--gw-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	--gw-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5E63' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--gw-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5E63' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	--gw-icon-users-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F5E63' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.gw-i-heart { --gw-i: var(--gw-icon-heart); }
.gw-i-users { --gw-i: var(--gw-icon-users); }
.gw-i-calendar { --gw-i: var(--gw-icon-calendar); }
.gw-i-chat { --gw-i: var(--gw-icon-chat); }
.gw-i-shield { --gw-i: var(--gw-icon-shield); }
.gw-i-phone { --gw-i: var(--gw-icon-phone); }
.gw-i-home { --gw-i: var(--gw-icon-home); }
.gw-i-car { --gw-i: var(--gw-icon-car); }
.gw-i-sprout { --gw-i: var(--gw-icon-sprout); }
.gw-i-compass { --gw-i: var(--gw-icon-compass); }
.gw-i-check { --gw-i: var(--gw-icon-check); }
.gw-i-target { --gw-i: var(--gw-icon-target); }
.gw-i-sun { --gw-i: var(--gw-icon-sun); }
.gw-i-award { --gw-i: var(--gw-icon-award); }
.gw-i-firstaid { --gw-i: var(--gw-icon-firstaid); }
.gw-i-wallet { --gw-i: var(--gw-icon-wallet); }
.gw-i-mail { --gw-i: var(--gw-icon-mail); }
.gw-i-pin { --gw-i: var(--gw-icon-pin); }
.gw-i-clock { --gw-i: var(--gw-icon-clock); }
