:root {
	--grovea-ink: #111827;
	--grovea-white: #fff;
	--grovea-surface: #f5f6f4;
	--grovea-border: #e5e7eb;
	--grovea-orange: #f97316;
	--grovea-green: #2e6e52;
	--grovea-green-dark: #1f4d3a;
	--grovea-muted: #6b7280;
	--grovea-radius-sm: 0.75rem;
	--grovea-radius-md: 1.25rem;
	--grovea-radius-lg: 2rem;
	--grovea-shadow: 0 24px 70px rgb(17 24 39 / 10%);
	--grovea-container: 1180px;
}

.grovea-site {
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.grovea-container {
	width: min(calc(100% - 2.5rem), var(--grovea-container));
	margin-inline: auto;
}

.grovea-section {
	padding-block: clamp(4rem, 8vw, 7.5rem);
}

.grovea-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
}

.grovea-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(5rem, 10vw, 9rem);
	background:
		radial-gradient(circle at 88% 16%, rgb(249 115 22 / 18%), transparent 28rem),
		linear-gradient(135deg, #fbfcfa 0%, var(--grovea-surface) 100%);
}

.grovea-hero::after {
	position: absolute;
	right: -8rem;
	bottom: -12rem;
	width: 30rem;
	height: 30rem;
	border: 1px solid rgb(46 110 82 / 16%);
	border-radius: 999px;
	content: "";
}

.grovea-hero__grid,
.grovea-journey {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
}

.grovea-eyebrow {
	margin: 0;
	color: var(--grovea-green);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.grovea-display,
.grovea-h2 {
	max-width: 14ch;
	margin: 0;
	color: var(--grovea-ink);
	font-weight: 750;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.grovea-display {
	font-size: clamp(3rem, 6.3vw, 6.25rem);
}

.grovea-h2 {
	font-size: clamp(2.2rem, 4vw, 4rem);
	line-height: 1.03;
}

.grovea-lead {
	max-width: 43rem;
	margin: 0;
	color: var(--grovea-muted);
	font-size: clamp(1.08rem, 1.7vw, 1.35rem);
	line-height: 1.65;
}

.grovea-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 0.75rem;
}

.grovea-button,
.grovea-card__link {
	display: inline-flex;
	max-width: 100%;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.9rem 1.25rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.grovea-button:hover,
.grovea-button:focus-visible,
.grovea-card__link:hover,
.grovea-card__link:focus-visible {
	transform: translateY(-2px);
}

.grovea-button--primary {
	color: var(--grovea-white);
	background: var(--grovea-green);
	box-shadow: 0 12px 30px rgb(46 110 82 / 24%);
}

.grovea-button--secondary {
	color: var(--grovea-ink);
	border-color: var(--grovea-border);
	background: rgb(255 255 255 / 78%);
}

.grovea-button--light {
	color: var(--grovea-green-dark);
	background: var(--grovea-white);
}

.grovea-trustline {
	margin: 0.35rem 0 0;
	color: var(--grovea-muted);
	font-size: 0.9rem;
}

.grovea-planner-preview {
	position: relative;
	z-index: 1;
	display: block;
	min-height: clamp(31rem, 48vw, 39rem);
	overflow: hidden;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 78%);
	border-radius: var(--grovea-radius-lg);
	background: url("../images/grovea-journey-hero-v1.webp") 68% center / cover no-repeat, rgb(255 255 255 / 86%);
	box-shadow: var(--grovea-shadow);
}

/* The photograph is intentionally unobstructed; older managed scaffolds may still contain preview cards. */
.grovea-planner-preview > * {
	display: none !important;
}

.grovea-preview__title {
	width: min(100%, 22rem);
	margin: 0 0 0.1rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgb(255 255 255 / 76%);
	border-radius: var(--grovea-radius-sm);
	background: rgb(255 255 255 / 92%);
	box-shadow: 0 8px 30px rgb(17 24 39 / 10%);
	font-size: 1.25rem;
}

.grovea-task {
	width: min(100%, 22rem);
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font-weight: 650;
}

.grovea-task--urgent {
	border-color: rgb(249 115 22 / 35%);
	background: rgb(249 115 22 / 9%);
}

.grovea-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.15rem;
	width: 100%;
	margin-top: 1.25rem;
}

.grovea-card {
	display: flex;
	min-height: 17rem;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.6rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-md);
	background: var(--grovea-white);
	box-shadow: 0 12px 40px rgb(17 24 39 / 5%);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.grovea-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 50px rgb(17 24 39 / 9%);
}

.grovea-card__title {
	margin: 0 0 0.8rem;
	font-size: 1.45rem;
}

.grovea-card__text {
	margin: 0;
	color: var(--grovea-muted);
	line-height: 1.65;
}

.grovea-card__link {
	min-height: auto;
	margin-top: auto;
	padding: 0.8rem 0 0;
	color: var(--grovea-green);
}

.grovea-section--dark {
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
}

.grovea-section--dark .grovea-h2,
.grovea-section--dark .grovea-lead {
	color: var(--grovea-white);
}

.grovea-eyebrow--light {
	color: #b8e0cf;
}

.grovea-steps {
	display: grid;
	gap: 0.7rem;
}

.grovea-step {
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 1px solid rgb(255 255 255 / 15%);
	border-radius: var(--grovea-radius-sm);
	background: rgb(255 255 255 / 7%);
	font-weight: 700;
}

.grovea-section--accent {
	background: #fff7ed;
}

.grovea-cta {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
}

.grovea-header {
	position: relative;
	z-index: 80;
	padding-block: 1.1rem;
	border-bottom: 1px solid rgb(229 231 235 / 85%);
	background: rgb(255 255 255 / 96%);
	box-shadow: 0 8px 30px rgb(17 24 39 / 4%);
	backdrop-filter: blur(18px);
}

#brx-header.grovea-global-shell {
	position: sticky;
	z-index: 80;
	top: 0;
}

body.admin-bar #brx-header.grovea-global-shell {
	top: 32px;
}

.grovea-header__inner {
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.2rem, 2.2vw, 2.4rem);
}

.grovea-brand-group {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.05rem;
}

.grovea-brand {
	display: inline-flex;
	align-items: center;
	min-height: 3.6rem;
	padding: 0 0 0 4.5rem;
	border: 0;
	border-radius: 0;
	color: var(--grovea-green-dark);
	background: url("../images/grovea-mark-v1.svg") left center / 3.6rem 3.6rem no-repeat;
	font-size: 1.75rem;
	font-weight: 900;
	letter-spacing: 0.11em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.grovea-brand__tagline {
	margin: 0 0 0 4.5rem;
	color: var(--grovea-muted);
	font-size: 1.05rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.35;
}

.grovea-country-pill,
.grovea-language-switcher,
.grovea-footer__country {
	display: inline-flex;
	width: max-content;
	margin: 0;
	padding: 0.42rem 0.68rem;
	border: 1px solid #cfe0d7;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #f0f7f3;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: 0.03em;
}

.grovea-language-shortcode,
.grovea-language-shortcode .brxe-shortcode {
	display: flex;
	align-items: center;
	justify-content: center;
}

.grovea-language-switcher {
	position: relative;
	align-items: center;
	gap: 0.45rem;
	text-decoration: none;
}

.grovea-language-switcher:hover,
.grovea-language-switcher:focus-visible {
	border-color: var(--grovea-green);
	color: var(--grovea-green-dark);
	background: #e6f2eb;
}

.grovea-language-switcher__icon {
	font-size: 1.05rem;
}

.grovea-language-switcher__flag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
	font-size: 1.05rem;
	font-style: normal;
	line-height: 1;
}

.grovea-language-switcher__details {
	position: relative;
}

.grovea-language-switcher__summary {
	display: flex;
	min-width: 7.8rem;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem;
	cursor: pointer;
	list-style: none;
}

.grovea-language-switcher__summary::-webkit-details-marker {
	display: none;
}

.grovea-language-switcher__summary strong {
	font-size: 0.78rem;
	font-weight: 950;
}

.grovea-language-switcher__summary span {
	font-size: 0.78rem;
}

.grovea-language-switcher__menu {
	position: absolute;
	z-index: 120;
	top: calc(100% + 0.75rem);
	right: -0.7rem;
	display: grid;
	width: 15rem;
	padding: 0.55rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: var(--grovea-white);
	box-shadow: 0 18px 45px rgb(17 24 39 / 18%);
}

.grovea-language-switcher__item {
	display: grid;
	grid-template-columns: 1.4rem 2.1rem minmax(0, 1fr);
	align-items: center;
	gap: 0.45rem;
	min-height: 2.5rem;
	padding: 0.45rem 0.6rem;
	border-radius: 0.65rem;
	color: var(--grovea-green-dark);
	font-size: 0.82rem;
	font-weight: 750;
	text-decoration: none;
}

.grovea-language-switcher__item:hover,
.grovea-language-switcher__item:focus-visible,
.grovea-language-switcher__item.is-active {
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
}

.grovea-language-switcher__item strong {
	font-size: 0.74rem;
	font-weight: 950;
}

.grovea-language-switcher__item.is-disabled {
	color: #8b9992;
	background: #f1f4f2;
	cursor: not-allowed;
}

.grovea-header__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(0.3rem, 0.8vw, 0.9rem);
}

.grovea-header__link,
.grovea-footer__link {
	display: inline-flex;
	align-items: center;
	min-height: auto;
	padding: 0.85rem 0.8rem;
	border: 0;
	border-radius: 999px;
	color: var(--grovea-ink);
	background: transparent;
	font-size: 1.45rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.grovea-header__link:focus-visible,
.grovea-footer__link:focus-visible,
.grovea-brand:focus-visible {
	outline: 3px solid rgb(249 115 22 / 45%);
	outline-offset: 3px;
}

.grovea-header__link:hover,
.grovea-header__link:focus-visible {
	color: var(--grovea-green);
	background: var(--grovea-surface);
}

.grovea-header__link--account {
	padding-inline: 1.45rem;
	color: var(--grovea-white);
	background: var(--grovea-green);
}

.grovea-header__link--account:hover,
.grovea-header__link--account:focus-visible {
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
}

.grovea-header__link--emergency {
	color: #9a3412;
	background: #fff2e8;
}

.grovea-header__link--emergency:hover,
.grovea-header__link--emergency:focus-visible {
	color: #7c2d12;
	background: #ffdfc7;
}

.grovea-footer {
	padding-block: clamp(3rem, 6vw, 5rem);
	color: var(--grovea-white);
	background: #153c2e;
}

.grovea-footer__inner {
	display: grid;
	grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 2.2fr);
	gap: clamp(2.5rem, 6vw, 5rem);
}

.grovea-brand--light {
	color: var(--grovea-white);
	background-image: url("../images/grovea-mark-v1.svg");
}

.grovea-footer__brand,
.grovea-footer__group {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.42rem;
}

.grovea-footer__text,
.grovea-footer__note,
.grovea-footer__copyright {
	margin: 0;
	color: rgb(255 255 255 / 72%);
	line-height: 1.6;
}

.grovea-footer__text {
	max-width: 25rem;
}

.grovea-footer__country {
	margin-top: 0.7rem;
	border-color: rgb(255 255 255 / 16%);
	color: #d9eee3;
	background: rgb(255 255 255 / 7%);
}

.grovea-footer__nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(10.5rem, 1fr));
	gap: 2rem clamp(1.75rem, 2.5vw, 3rem);
}

.grovea-footer__group {
	min-width: 0;
}

.grovea-footer__heading {
	margin: 0 0 0.65rem;
	color: #b8e0cf;
	font-size: 1.1rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.grovea-footer__link {
	width: 100%;
	justify-content: flex-start;
	padding: 0.2rem 0;
	color: var(--grovea-white);
	font-size: 1.3rem;
	line-height: 1.35;
	text-align: left;
	white-space: normal;
	overflow-wrap: anywhere;
}

.grovea-footer__link:hover,
.grovea-footer__link:focus-visible {
	color: #b8e0cf;
}

.grovea-footer__bottom {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 1rem 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgb(255 255 255 / 12%);
}

.grovea-footer__note {
	max-width: 48rem;
	font-size: 1.15rem;
}

.grovea-footer__legal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
}

.grovea-footer__link--small,
.grovea-footer__copyright {
	font-size: 1.05rem;
}

.grovea-footer__copyright {
	grid-column: 1 / -1;
}

.grovea-app-section {
	padding-block: clamp(2.5rem, 6vw, 5rem);
	background: var(--grovea-surface);
}

.grovea-app-shortcode {
	width: 100%;
}

.grovea-app {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 1.25rem;
}

.grovea-app--narrow {
	max-width: 880px;
	margin-inline: auto;
}

.grovea-app__hero,
.grovea-panel__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
}

.grovea-app__hero {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-lg);
	background:
		radial-gradient(circle at 94% 5%, rgb(249 115 22 / 16%), transparent 19rem),
		var(--grovea-white);
	box-shadow: 0 14px 50px rgb(17 24 39 / 6%);
}

.grovea-app__hero h1 {
	max-width: 18ch;
	margin: 0.35rem 0 0.7rem;
	font-size: clamp(2rem, 4.5vw, 4rem);
	letter-spacing: -0.045em;
	line-height: 1;
}

.grovea-app__hero p:last-child {
	max-width: 48rem;
	margin: 0;
	color: var(--grovea-muted);
	font-size: 1.05rem;
	line-height: 1.6;
}

.grovea-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
}

.grovea-metric,
.grovea-panel {
	border: 1px solid var(--grovea-border);
	background: var(--grovea-white);
	box-shadow: 0 12px 40px rgb(17 24 39 / 4%);
}

.grovea-metric {
	display: flex;
	min-height: 7rem;
	justify-content: center;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1.25rem;
	border-radius: var(--grovea-radius-md);
}

.grovea-metric strong {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	letter-spacing: -0.04em;
}

.grovea-metric span {
	color: var(--grovea-muted);
	font-size: 0.88rem;
}

.grovea-app__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.55fr);
	align-items: start;
	gap: 1.25rem;
}

.grovea-app__aside {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.grovea-panel {
	padding: clamp(1.25rem, 3vw, 2rem);
	border-radius: var(--grovea-radius-md);
}

.grovea-panel h2 {
	margin: 0 0 0.85rem;
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	letter-spacing: -0.025em;
}

.grovea-panel p {
	color: var(--grovea-muted);
	line-height: 1.6;
}

.grovea-panel--accent {
	border-color: rgb(249 115 22 / 26%);
	background: #fff7ed;
}

.grovea-panel--accent .grovea-button {
	margin-top: 0.5rem;
}

.grovea-privacy-card {
	border-left: 4px solid var(--grovea-green);
}

.grovea-task-list {
	display: flex;
	margin: 1.2rem 0 0;
	padding: 0;
	list-style: none;
	flex-direction: column;
	gap: 0.65rem;
}

.grovea-task-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 0.9rem;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: #fff;
}

.grovea-task-item form {
	margin: 0;
}

.grovea-task-toggle {
	display: grid;
	width: 1.65rem;
	height: 1.65rem;
	place-items: center;
	padding: 0;
	border: 2px solid #b7c2bd;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-white);
	font-weight: 900;
	cursor: pointer;
}

.grovea-task-item.is-completed .grovea-task-toggle {
	border-color: var(--grovea-green);
	background: var(--grovea-green);
}

.grovea-task-item.is-completed .grovea-task-item__body {
	opacity: 0.62;
}

.grovea-task-item.is-completed strong {
	text-decoration: line-through;
}

.grovea-task-item__body strong {
	display: block;
	margin-top: 0.45rem;
	line-height: 1.4;
}

.grovea-task-item__body p {
	margin: 0.4rem 0 0;
	font-size: 0.9rem;
}

.grovea-task-item__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	color: var(--grovea-muted);
	font-size: 0.78rem;
}

.grovea-badge {
	display: inline-flex;
	padding: 0.3rem 0.55rem;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #eaf4ef;
	font-weight: 800;
}

.grovea-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.grovea-form label,
.grovea-form legend {
	color: var(--grovea-ink);
	font-weight: 700;
}

.grovea-form input[type="text"],
.grovea-form input[type="date"],
.grovea-form select {
	width: 100%;
	min-height: 3rem;
	margin-top: 0.4rem;
	padding: 0.7rem 0.8rem;
	border: 1px solid #cfd6d2;
	border-radius: 0.65rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font: inherit;
}

.grovea-form input:focus-visible,
.grovea-form select:focus-visible {
	outline: 3px solid rgb(249 115 22 / 28%);
	outline-offset: 1px;
	border-color: var(--grovea-orange);
}

.grovea-form fieldset {
	display: flex;
	margin: 0;
	padding: 0;
	border: 0;
	flex-direction: column;
	gap: 0.75rem;
}

.grovea-form fieldset label,
.grovea-check {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-weight: 600;
	line-height: 1.45;
}

.grovea-form input[type="radio"],
.grovea-form input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
	flex: 0 0 auto;
	margin-top: 0.18rem;
	accent-color: var(--grovea-green);
}

.grovea-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}

.grovea-form__fineprint {
	margin: 0;
	font-size: 0.82rem;
}

.grovea-data-boundary,
.grovea-empty {
	padding: 1rem;
	border: 1px solid #b9ddcc;
	border-radius: var(--grovea-radius-sm);
	background: #f0f8f4;
}

.grovea-data-boundary p,
.grovea-empty p {
	margin: 0.35rem 0 0;
}

.grovea-notice {
	padding: 1rem 1.1rem;
	border: 1px solid;
	border-radius: var(--grovea-radius-sm);
	font-weight: 700;
}

.grovea-notice--success {
	border-color: #99d3b5;
	color: #174c35;
	background: #eaf7f0;
}

.grovea-notice--error {
	border-color: #f0a59f;
	color: #7f1d1d;
	background: #fff1f0;
}

.grovea-login-gate {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.9rem;
}

.grovea-login-gate h1,
.grovea-login-gate p {
	margin: 0;
}

.grovea-official-sources ul {
	display: grid;
	margin: 1rem 0;
	padding-left: 1.2rem;
	gap: 0.55rem;
}

.grovea-official-sources a {
	color: var(--grovea-green-dark);
	font-weight: 750;
}

.grovea-official-sources > p:last-child {
	margin-bottom: 0;
	font-size: 0.82rem;
}

.grovea-account-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.8rem;
}

.grovea-account-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.6fr);
	align-items: start;
	gap: 1.25rem;
}

.grovea-account-main,
.grovea-account-aside {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.grovea-data-list {
	display: flex;
	margin: 0;
	flex-direction: column;
}

.grovea-data-list > div {
	display: grid;
	grid-template-columns: minmax(9rem, 0.7fr) minmax(0, 1.3fr);
	gap: 1rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--grovea-border);
}

.grovea-data-list > div:last-child {
	border-bottom: 0;
}

.grovea-data-list dt {
	color: var(--grovea-muted);
	font-weight: 700;
}

.grovea-data-list dd {
	margin: 0;
	font-weight: 750;
}

.grovea-data-purpose-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}

.grovea-data-purpose-list article {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: var(--grovea-white);
}

.grovea-data-purpose-list h3 {
	margin: 0;
	font-size: 1.05rem;
}

.grovea-data-purpose-list p {
	margin: 0.45rem 0 1rem;
	font-size: 0.9rem;
}

.grovea-data-purpose-list .grovea-status {
	margin-top: auto;
}

.grovea-status {
	display: inline-flex;
	padding: 0.32rem 0.6rem;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 850;
}

.grovea-status--active {
	color: #174c35;
	background: #dff3e8;
}

.grovea-status--locked {
	color: #5f6671;
	background: #eef0f2;
}

.grovea-account-actions {
	display: flex;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	flex-direction: column;
	gap: 0.55rem;
}

.grovea-account-actions a {
	display: block;
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.65rem;
	color: var(--grovea-green-dark);
	font-weight: 750;
	text-decoration: none;
}

.grovea-guide-section {
	padding-block: clamp(2.5rem, 6vw, 5.5rem);
}

.grovea-guide {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 1.25rem;
}

.grovea-guide__hero,
.grovea-chapter-hero {
	padding: clamp(1.75rem, 5vw, 4rem);
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-lg);
	background:
		radial-gradient(circle at 92% 8%, rgb(249 115 22 / 18%), transparent 22rem),
		linear-gradient(140deg, #fff 0%, #f2f7f4 100%);
	box-shadow: var(--grovea-shadow);
}

.grovea-guide__hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
}

.grovea-guide__hero h1,
.grovea-chapter-hero h1 {
	max-width: 17ch;
	margin: 0.45rem 0 0.9rem;
	font-size: clamp(2.35rem, 5vw, 5rem);
	font-weight: 780;
	letter-spacing: -0.05em;
	line-height: 0.98;
}

.grovea-guide__hero p:last-child {
	max-width: 48rem;
	margin: 0;
	color: var(--grovea-muted);
	font-size: clamp(1.02rem, 1.7vw, 1.22rem);
	line-height: 1.65;
}

.grovea-guide__boundary,
.grovea-guide__disclaimer,
.grovea-legal-note {
	padding: 1.15rem 1.25rem;
	border: 1px solid #b9ddcc;
	border-radius: var(--grovea-radius-sm);
	background: #f0f8f4;
}

.grovea-guide__boundary p,
.grovea-guide__disclaimer p,
.grovea-legal-note p {
	margin: 0.35rem 0 0;
	color: #36584a;
	line-height: 1.55;
}

.grovea-chapter-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.grovea-chapter-card {
	display: flex;
	min-height: 20rem;
	align-items: flex-start;
	flex-direction: column;
	padding: 1.5rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-md);
	background: var(--grovea-white);
	box-shadow: 0 12px 40px rgb(17 24 39 / 5%);
}

.grovea-chapter-card__number {
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	place-items: center;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #eaf4ef;
	font-size: 0.82rem;
	font-weight: 850;
}

.grovea-chapter-card h2 {
	margin: 1.1rem 0 0.7rem;
	font-size: 1.35rem;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.grovea-chapter-card p {
	margin: 0;
	color: var(--grovea-muted);
	font-size: 0.94rem;
	line-height: 1.55;
}

.grovea-chapter-card a {
	margin-top: auto;
	padding-top: 1.2rem;
	color: var(--grovea-green-dark);
	font-weight: 800;
	text-decoration: none;
}

.grovea-guide__disclaimer {
	border-color: var(--grovea-border);
	background: var(--grovea-white);
}

.grovea-guide__disclaimer p:last-child {
	font-size: 0.82rem;
}

.grovea-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	color: var(--grovea-muted);
	font-size: 0.88rem;
}

.grovea-breadcrumb a {
	color: var(--grovea-green-dark);
	font-weight: 750;
}

.grovea-chapter-hero h1 {
	max-width: 20ch;
}

.grovea-short-answer {
	max-width: 56rem;
	margin-top: 1.5rem;
	padding: 1.15rem 1.25rem;
	border-left: 4px solid var(--grovea-orange);
	border-radius: 0 var(--grovea-radius-sm) var(--grovea-radius-sm) 0;
	background: rgb(255 255 255 / 78%);
}

.grovea-short-answer p {
	margin: 0.35rem 0 0;
	color: #374151;
	font-size: 1.05rem;
	line-height: 1.65;
}

.grovea-chapter-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.55fr);
	align-items: start;
	gap: 1.25rem;
}

.grovea-chapter-main,
.grovea-chapter-aside {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.grovea-chapter-aside {
	position: sticky;
	top: 1.25rem;
}

.grovea-guide-panel,
.grovea-planner-cta,
.grovea-source-panel,
.grovea-urgent-panel {
	padding: clamp(1.3rem, 3vw, 2rem);
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-md);
	background: var(--grovea-white);
	box-shadow: 0 12px 40px rgb(17 24 39 / 4%);
}

.grovea-guide-panel h2,
.grovea-planner-cta h2,
.grovea-source-panel h2,
.grovea-urgent-panel h2 {
	margin: 0 0 1rem;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	letter-spacing: -0.03em;
}

.grovea-numbered-steps,
.grovea-detail-list,
.grovea-check-list,
.grovea-planner-cta ul,
.grovea-source-panel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.grovea-numbered-steps {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.grovea-numbered-steps li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
}

.grovea-numbered-steps li > span {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-green);
	font-size: 0.83rem;
	font-weight: 850;
}

.grovea-numbered-steps h3 {
	margin: 0;
	font-size: 1.08rem;
}

.grovea-numbered-steps p {
	margin: 0.35rem 0 0;
	color: var(--grovea-muted);
	line-height: 1.6;
}

.grovea-detail-list,
.grovea-check-list,
.grovea-planner-cta ul,
.grovea-source-panel ul {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.grovea-detail-list li,
.grovea-check-list li,
.grovea-planner-cta li,
.grovea-source-panel li {
	position: relative;
	padding-left: 1.4rem;
	line-height: 1.55;
}

.grovea-detail-list li::before,
.grovea-check-list li::before,
.grovea-planner-cta li::before,
.grovea-source-panel li::before {
	position: absolute;
	left: 0;
	color: var(--grovea-green);
	font-weight: 900;
	content: "✓";
}

.grovea-urgent-panel {
	border-color: rgb(249 115 22 / 35%);
	background: #fff7ed;
}

.grovea-urgent-panel p:last-child {
	margin-bottom: 0;
	color: #6c3b1b;
	line-height: 1.65;
}

.grovea-planner-cta {
	border-color: #a8d3bb;
	background: #f0f8f4;
}

.grovea-planner-cta form,
.grovea-planner-cta .grovea-button {
	width: 100%;
}

.grovea-planner-cta form {
	margin-top: 1.25rem;
}

.grovea-planner-cta__note,
.grovea-source-panel > p {
	margin: 0.85rem 0 0;
	color: var(--grovea-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.grovea-source-panel a {
	color: var(--grovea-green-dark);
	font-weight: 750;
}

.grovea-source-panel li::before {
	content: "↗";
}

.grovea-chapter-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-chapter-nav a {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.2rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	color: var(--grovea-ink);
	background: var(--grovea-white);
	text-decoration: none;
}

.grovea-chapter-nav a span {
	color: var(--grovea-green);
	font-size: 0.8rem;
	font-weight: 800;
	text-transform: uppercase;
}

.grovea-chapter-nav .is-next {
	align-items: flex-end;
	text-align: right;
}

.grovea-local__crumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	padding: 0.2rem 0.25rem;
	color: var(--grovea-muted);
	font-size: 0.88rem;
}

.grovea-local__crumbs a {
	color: var(--grovea-green-dark);
	font-weight: 750;
	text-decoration: none;
}

.grovea-local__hero {
	min-height: clamp(23rem, 42vw, 34rem);
	align-items: center;
	background:
		linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 96%) 40%, rgb(255 255 255 / 72%) 58%, rgb(255 255 255 / 8%) 84%),
		url("../images/grovea-local-city-v1.webp") 62% center / cover no-repeat,
		var(--grovea-white);
}

.grovea-local__hero > div {
	max-width: min(58%, 42rem);
}

.grovea-local-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	width: 100%;
	margin-top: 1.25rem;
}

.grovea-local-grid--cities {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grovea-local-card {
	display: flex;
	min-height: 13rem;
	align-items: flex-start;
	flex-direction: column;
	padding: 1.25rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: #fbfcfa;
}

.grovea-local-card h3 {
	margin: 0.4rem 0 0.65rem;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
}

.grovea-local-card p {
	margin: 0 0 1rem;
	font-size: 0.9rem;
}

.grovea-local-card .grovea-card__link {
	width: 100%;
	margin-top: auto;
}

.grovea-local__readiness {
	border-left: 4px solid var(--grovea-green);
	background: #f0f8f4;
}

.grovea-local-answer {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
	gap: 1.25rem;
	padding: clamp(1.35rem, 3vw, 2.25rem);
	border: 1px solid #a8d3bb;
	border-radius: var(--grovea-radius-md);
	background: linear-gradient(135deg, #f0f8f4, #fbfcfa);
}

.grovea-local-answer h2 {
	margin: 0.35rem 0 0.75rem;
	font-size: clamp(1.55rem, 2.8vw, 2.4rem);
	letter-spacing: -0.035em;
}

.grovea-local-answer p:last-child {
	margin: 0;
	color: var(--grovea-muted);
	line-height: 1.7;
}

.grovea-local-answer aside {
	padding: 1.15rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: rgb(255 255 255 / 82%);
}

.grovea-local-route-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.25rem;
}

.grovea-local-route {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	padding: 1.25rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: #fbfcfa;
}

.grovea-local-route h3 {
	margin: 0.35rem 0 0.65rem;
	font-size: 1.22rem;
	letter-spacing: -0.02em;
}

.grovea-local-route > p:not(.grovea-eyebrow) {
	margin: 0 0 0.85rem;
	color: var(--grovea-muted);
	line-height: 1.65;
}

.grovea-local-route ol {
	margin: 0 0 1.15rem;
	padding-left: 1.2rem;
	color: var(--grovea-ink);
}

.grovea-local-route li {
	margin-bottom: 0.45rem;
	line-height: 1.55;
}

.grovea-local-route .grovea-card__link {
	width: 100%;
	margin-top: auto;
}

.grovea-local-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 1.25rem;
}

.grovea-local-checklist {
	display: flex;
	margin: 0;
	padding: 0;
	flex-direction: column;
	gap: 0.65rem;
	list-style: none;
}

.grovea-local-checklist li {
	position: relative;
	padding: 0.8rem 0.8rem 0.8rem 2.35rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.6rem;
	background: #fbfcfa;
	line-height: 1.5;
}

.grovea-local-checklist li::before {
	position: absolute;
	left: 0.8rem;
	color: var(--grovea-green);
	font-weight: 900;
	content: "✓";
}

.grovea-local-faq {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.grovea-local-faq details {
	padding: 0.95rem 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.6rem;
	background: #fbfcfa;
}

.grovea-local-faq summary {
	cursor: pointer;
	font-weight: 780;
	line-height: 1.45;
}

.grovea-local-faq p {
	margin: 0.7rem 0 0;
}

.grovea-local-sources li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.grovea-local-sources li span {
	flex: 0 0 14rem;
	color: var(--grovea-muted);
	font-size: 0.8rem;
	text-align: right;
}

.grovea-language-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
	gap: 1rem;
}

.grovea-language-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.grovea-language-option {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: var(--grovea-white);
	cursor: pointer;
}

.grovea-language-option:has(input:checked) {
	border-color: var(--grovea-green);
	box-shadow: 0 0 0 2px rgb(31 77 58 / 10%);
}

.grovea-language-option span {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.grovea-language-option strong {
	color: var(--grovea-green-dark);
	font-size: 0.78rem;
	letter-spacing: 0.08em;
}

.grovea-translation-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.7rem;
	margin: 1rem 0 1.4rem;
}

.grovea-translation-step {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 0.65rem;
	padding: 0.85rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: #fbfcfa;
}

.grovea-translation-step span {
	display: grid;
	width: 1.7rem;
	height: 1.7rem;
	place-items: center;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-green);
	font-size: 0.8rem;
	font-weight: 900;
}

.grovea-translation-step p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.45;
}

.grovea-translation-plan {
	max-width: 48rem;
}

.grovea-translation-boundary {
	padding: 1.15rem 1.25rem;
	border: 1px solid #f0c9a2;
	border-left: 4px solid var(--grovea-orange);
	border-radius: var(--grovea-radius-sm);
	background: #fff9f2;
}

.grovea-translation-boundary p {
	margin: 0.45rem 0 0;
	color: var(--grovea-muted);
	line-height: 1.55;
}

/* Relocation Control Tower, human support and employer onboarding. */
.grovea-relocation__hero {
	min-height: 24rem;
	background:
		linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 92%) 58%, rgb(255 255 255 / 38%) 100%),
		url("../images/grovea-journey-hero-v1.webp") 72% center / cover no-repeat,
		var(--grovea-white);
}

.grovea-relocation__hero > div {
	max-width: 43rem;
}

.grovea-crossborder-map {
	display: grid;
	grid-template-columns: minmax(9rem, auto) minmax(18rem, 1fr) minmax(9rem, auto);
	align-items: center;
	gap: 1.2rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid #cfe0d7;
	border-radius: var(--grovea-radius);
	background: linear-gradient(120deg, #fff 0%, #f1f8f4 52%, #fff7eb 100%);
	box-shadow: var(--grovea-shadow-soft);
}

.grovea-crossborder-map__endpoint {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.grovea-crossborder-map__endpoint.is-destination {
	justify-content: flex-end;
	text-align: right;
}

.grovea-crossborder-map__code {
	display: grid;
	width: 3.4rem;
	height: 3.4rem;
	place-items: center;
	border: 3px solid #fff;
	border-radius: 999px;
	color: var(--grovea-white);
	background: #c93434;
	box-shadow: 0 0 0 1px #d8dfdb;
	font-size: 0.85rem;
	font-weight: 950;
	letter-spacing: 0.08em;
}

.is-destination .grovea-crossborder-map__code {
	order: 2;
	background: var(--grovea-green-dark);
}

.grovea-crossborder-map__endpoint small,
.grovea-crossborder-map__endpoint strong {
	display: block;
}

.grovea-crossborder-map__endpoint small {
	color: var(--grovea-muted);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.11em;
}

.grovea-crossborder-map__endpoint strong {
	margin-top: 0.15rem;
	color: var(--grovea-green-dark);
	font-size: 1.05rem;
}

.grovea-crossborder-map__rail {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.4rem;
}

.grovea-crossborder-map__rail::before {
	position: absolute;
	top: 0.8rem;
	left: 8%;
	right: 8%;
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(90deg, #c93434, var(--grovea-orange), var(--grovea-green));
	content: "";
}

.grovea-crossborder-map__stop {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: 0.45rem;
	color: var(--grovea-muted);
	font-size: 0.72rem;
	font-weight: 760;
	text-align: center;
}

.grovea-crossborder-map__stop i {
	display: grid;
	width: 1.65rem;
	height: 1.65rem;
	place-items: center;
	border: 2px solid #fff;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-green);
	box-shadow: 0 0 0 1px #bcd4c7;
	font-size: 0.65rem;
	font-style: normal;
	font-weight: 900;
}

.grovea-stability-panel {
	border-color: #b8d8c7;
	background: linear-gradient(145deg, #fff 0%, #f0f8f3 100%);
}

.grovea-stability-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-stability-grid article {
	position: relative;
	min-height: 10.5rem;
	padding: 1.2rem;
	border: 1px solid #d7e5dc;
	border-radius: var(--grovea-radius-sm);
	background: rgb(255 255 255 / 88%);
}

.grovea-stability-grid article > span {
	color: var(--grovea-orange);
	font-size: 0.78rem;
	font-weight: 950;
	letter-spacing: 0.12em;
}

.grovea-stability-grid h3 {
	margin: 0.45rem 0;
}

.grovea-stability-grid p {
	margin: 0;
	color: var(--grovea-muted);
	line-height: 1.55;
}

.grovea-status-legend {
	display: flex;
	align-items: center;
	gap: 0.65rem 1rem;
	margin: 0 0 1.2rem;
	flex-wrap: wrap;
}

.grovea-status-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--grovea-muted);
	font-size: 0.78rem;
	font-weight: 750;
}

.grovea-status-legend__item i {
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 999px;
	background: #97a49d;
}

.grovea-status-legend__item--2 i { background: #3f7bb7; }
.grovea-status-legend__item--3 i { background: var(--grovea-orange); }
.grovea-status-legend__item--4 i { background: var(--grovea-green); }

.grovea-journey-map {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	gap: 1rem;
	list-style: none;
	counter-reset: none;
}

.grovea-journey-map__stage {
	position: relative;
	min-height: 15rem;
	padding: 1.25rem;
	border: 1px solid var(--grovea-border);
	border-top: 4px solid var(--grovea-green);
	border-radius: var(--grovea-radius-sm);
	background: linear-gradient(180deg, #fff 0%, #f8faf8 100%);
}

.grovea-journey-map__stage::after {
	position: absolute;
	top: 2rem;
	right: -1.1rem;
	z-index: 2;
	width: 1.2rem;
	height: 2px;
	background: var(--grovea-green);
	content: "";
}

.grovea-journey-map__stage:nth-child(4)::after,
.grovea-journey-map__stage:last-child::after {
	display: none;
}

.grovea-journey-map__marker {
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	margin-bottom: 1rem;
	place-items: center;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
	font-weight: 900;
}

.grovea-journey-map__stage h3,
.grovea-service-card h2,
.grovea-partner-card h2 {
	margin: 0.35rem 0 0.65rem;
}

.grovea-journey-map__stage > div:last-child > p:last-child,
.grovea-service-card > p,
.grovea-partner-card > p {
	color: var(--grovea-muted);
	line-height: 1.55;
}

.grovea-relocation-role-grid,
.grovea-employer-data-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.grovea-eures-panel {
	border-color: #b8d8c7;
	background: linear-gradient(135deg, #eef8f2 0%, #fff 72%);
}

.grovea-programme-panel {
	border-color: #b8d8c7;
	background: linear-gradient(135deg, #eef8f2 0%, #fff 64%);
}

.grovea-programme-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-programme-card {
	display: flex;
	min-height: 14.5rem;
	padding: 1.1rem;
	border: 1px solid #cfe0d7;
	border-radius: var(--grovea-radius-sm);
	background: #fff;
	flex-direction: column;
}

.grovea-programme-card__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.32rem 0.55rem;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #e5f2ea;
	font-size: 0.7rem;
	font-weight: 850;
}

.grovea-programme-card h3 {
	margin: 0.8rem 0 0.45rem;
}

.grovea-programme-card p {
	margin: 0;
	color: var(--grovea-muted);
	line-height: 1.5;
}

.grovea-programme-card .grovea-card__link {
	margin-top: auto;
	padding-top: 0.8rem;
}

.grovea-service-grid,
.grovea-partner-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.grovea-service-card,
.grovea-partner-card {
	display: flex;
	min-height: 22rem;
	padding: 1.4rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius);
	background: var(--grovea-white);
	box-shadow: var(--grovea-shadow-soft);
	flex-direction: column;
}

.grovea-service-card__price {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 0.45rem;
	padding: 0.4rem 0.65rem;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #e8f4ed;
}

.grovea-service-card .grovea-status,
.grovea-partner-card .grovea-status {
	align-self: flex-start;
	margin-top: auto;
}

.grovea-partner-card .grovea-card__link {
	margin-top: 1rem;
}

.grovea-employer-flow {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	gap: 0.8rem;
	list-style: none;
}

.grovea-employer-flow li {
	display: grid;
	align-content: start;
	min-height: 12rem;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: var(--grovea-radius-sm);
	background: #fbfcfa;
	gap: 0.75rem;
}

.grovea-employer-flow strong {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-orange);
}

.grovea-employer-flow span {
	line-height: 1.5;
}

.grovea-emergency {
	--grovea-emergency: #b42318;
	--grovea-emergency-dark: #7a271a;
	--grovea-emergency-soft: #fff4ed;
}

.grovea-emergency__hero {
	background:
		linear-gradient(120deg, rgb(255 255 255 / 100%) 0%, rgb(255 255 255 / 94%) 62%, rgb(255 244 237 / 90%) 100%),
		var(--grovea-white);
}

.grovea-emergency__alert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 2px solid var(--grovea-emergency);
	border-radius: var(--grovea-radius);
	color: var(--grovea-emergency-dark);
	background: var(--grovea-emergency-soft);
	box-shadow: 0 1rem 2.5rem rgb(122 39 26 / 10%);
}

.grovea-emergency__alert-copy {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.grovea-emergency__alert-copy > span {
	display: grid;
	flex: 0 0 4.25rem;
	width: 4.25rem;
	height: 4.25rem;
	place-items: center;
	border-radius: 50%;
	color: var(--grovea-white);
	background: var(--grovea-emergency);
	font-size: 1.25rem;
	font-weight: 800;
}

.grovea-emergency__alert h2,
.grovea-emergency__alert p {
	margin: 0;
}

.grovea-emergency__alert p {
	margin-top: 0.45rem;
	max-width: 52rem;
}

.grovea-button--emergency {
	flex: 0 0 auto;
	color: var(--grovea-white);
	background: var(--grovea-emergency);
}

.grovea-button--emergency:hover,
.grovea-button--emergency:focus-visible {
	color: var(--grovea-white);
	background: var(--grovea-emergency-dark);
}

.grovea-emergency-rail {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.grovea-emergency-rail__step {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
	padding: 1rem 0.75rem;
	border-block: 1px solid var(--grovea-border);
	background: var(--grovea-white);
}

.grovea-emergency-rail__step::after {
	position: absolute;
	right: -0.35rem;
	z-index: 1;
	width: 0.7rem;
	height: 0.7rem;
	transform: rotate(45deg);
	border-top: 1px solid var(--grovea-border);
	border-right: 1px solid var(--grovea-border);
	background: var(--grovea-white);
	content: "";
}

.grovea-emergency-rail__step:first-child {
	border-left: 1px solid var(--grovea-border);
	border-radius: 0.8rem 0 0 0.8rem;
}

.grovea-emergency-rail__step:last-child {
	border-right: 1px solid var(--grovea-border);
	border-radius: 0 0.8rem 0.8rem 0;
}

.grovea-emergency-rail__step:last-child::after {
	display: none;
}

.grovea-emergency-rail__step > span {
	display: grid;
	flex: 0 0 1.8rem;
	width: 1.8rem;
	height: 1.8rem;
	place-items: center;
	border-radius: 50%;
	color: var(--grovea-white);
	background: var(--grovea-green);
	font-size: 0.78rem;
	font-weight: 800;
}

.grovea-emergency-rail__step strong {
	font-size: 0.84rem;
	line-height: 1.2;
}

.grovea-emergency-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-emergency-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 1.15rem;
	padding: clamp(1.1rem, 2vw, 1.5rem);
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: var(--grovea-white);
}

.grovea-emergency-card:first-child {
	grid-column: 1 / -1;
	border-color: #fdb022;
	background: linear-gradient(120deg, #fffcf5, var(--grovea-white));
}

.grovea-emergency-card__heading {
	display: flex;
	gap: 1rem;
}

.grovea-emergency-card__heading > span {
	color: var(--grovea-emergency);
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1;
}

.grovea-emergency-card h3,
.grovea-emergency-card p {
	margin: 0;
}

.grovea-emergency-card__heading p {
	margin-top: 0.4rem;
	color: var(--grovea-muted);
}

.grovea-emergency-card__steps {
	display: grid;
	gap: 0.65rem;
}

.grovea-emergency-step {
	padding: 0.85rem 1rem;
	border-left: 3px solid var(--grovea-green);
	border-radius: 0 0.7rem 0.7rem 0;
	background: var(--grovea-soft);
}

.grovea-emergency-step--now {
	border-left-color: var(--grovea-emergency);
	background: var(--grovea-emergency-soft);
}

.grovea-emergency-step strong {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.78rem;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

.grovea-emergency-step p {
	font-size: 0.93rem;
}

.grovea-emergency-source-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.8rem;
	margin-top: auto;
	padding-top: 0.9rem;
	border-top: 1px solid var(--grovea-border);
	font-size: 0.82rem;
}

.grovea-emergency-source-links strong {
	flex: 0 0 100%;
}

.grovea-emergency-source-links a {
	color: var(--grovea-green-dark);
	font-weight: 700;
}

.grovea-emergency-safety {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

@media (max-width: 991px) {
	.grovea-emergency-rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.grovea-emergency-rail__step,
	.grovea-emergency-rail__step:first-child,
	.grovea-emergency-rail__step:last-child {
		border: 1px solid var(--grovea-border);
		border-radius: 0.7rem;
	}

	.grovea-emergency-rail__step::after {
		display: none;
	}

	.grovea-emergency-grid,
	.grovea-emergency-safety {
		grid-template-columns: 1fr;
	}

	.grovea-emergency-card:first-child {
		grid-column: auto;
	}
	.grovea-hero__grid,
	.grovea-journey {
		grid-template-columns: 1fr;
	}

	.grovea-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.grovea-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.grovea-header__nav {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		width: 100%;
		gap: 0.35rem;
	}

	.grovea-header__link {
		justify-content: center;
		padding-inline: 0.45rem;
		text-align: center;
		white-space: normal;
	}

	.grovea-country-pill {
		justify-self: end;
	}

	.grovea-language-grid {
		grid-template-columns: 1fr;
	}

	.grovea-translation-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-crossborder-map {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-crossborder-map__rail {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.grovea-programme-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-journey-map {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-journey-map__stage:nth-child(4)::after {
		display: block;
	}

	.grovea-journey-map__stage:nth-child(even)::after {
		display: none;
	}

	.grovea-service-grid,
	.grovea-partner-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-employer-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-footer__inner {
		grid-template-columns: 1fr;
	}

	.grovea-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-app__grid {
		grid-template-columns: 1fr;
	}

	.grovea-account-grid {
		grid-template-columns: 1fr;
	}

	.grovea-chapter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-chapter-layout {
		grid-template-columns: 1fr;
	}

	.grovea-chapter-aside {
		position: static;
	}

	.grovea-local-grid,
	.grovea-local-grid--cities {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-local-answer {
		grid-template-columns: 1fr;
	}

	.grovea-local__hero > div {
		max-width: 68%;
	}
}

@media (max-width: 620px) {
	.grovea-emergency__alert,
	.grovea-emergency__alert-copy {
		align-items: flex-start;
		flex-direction: column;
	}

	.grovea-emergency__alert-copy > span {
		flex-basis: 3.5rem;
		width: 3.5rem;
		height: 3.5rem;
	}

	.grovea-emergency-rail {
		grid-template-columns: 1fr;
	}

	.grovea-emergency-card__heading {
		flex-direction: column;
	}

	body.admin-bar #brx-header.grovea-global-shell {
		top: 46px;
	}

	.grovea-container {
		width: min(calc(100% - 1.5rem), var(--grovea-container));
	}

	.grovea-brand__tagline {
		font-size: 1rem;
	}

	.grovea-header__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-header__link {
		min-height: 2.5rem;
		border: 1px solid var(--grovea-border);
		border-radius: 0.7rem;
		background: var(--grovea-white);
	}

	.grovea-header__link--account {
		border-color: var(--grovea-green);
		color: var(--grovea-white);
		background: var(--grovea-green);
	}

	.grovea-card-grid {
		grid-template-columns: 1fr;
	}

	.grovea-actions,
	.grovea-button {
		width: 100%;
	}

	.grovea-button {
		justify-content: center;
	}

	.grovea-app__hero {
		flex-direction: column;
	}

	.grovea-metrics,
	.grovea-account-metrics,
	.grovea-form__row {
		grid-template-columns: 1fr;
	}

	.grovea-language-options,
	.grovea-translation-flow {
		grid-template-columns: 1fr;
	}

	.grovea-language-switcher {
		gap: 0.35rem;
		padding-inline: 0.45rem;
	}

	.grovea-language-switcher__summary {
		min-width: 2.8rem;
	}

	.grovea-language-switcher__summary span:first-of-type {
		display: none;
	}

	.grovea-language-switcher__menu {
		right: -0.45rem;
		width: min(15rem, calc(100vw - 2rem));
	}

	.grovea-crossborder-map {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.grovea-crossborder-map__rail {
		grid-column: 1;
		grid-row: auto;
		order: 2;
	}

	.grovea-crossborder-map__endpoint {
		order: 1;
	}

	.grovea-crossborder-map__endpoint.is-destination {
		justify-content: flex-start;
		order: 3;
		text-align: left;
	}

	.is-destination .grovea-crossborder-map__code {
		order: 0;
	}

	.grovea-journey-map,
	.grovea-service-grid,
	.grovea-partner-grid,
	.grovea-programme-grid,
	.grovea-stability-grid,
	.grovea-relocation-role-grid,
	.grovea-employer-data-grid,
	.grovea-employer-flow {
		grid-template-columns: 1fr;
	}

	.grovea-journey-map__stage {
		min-height: auto;
	}

	.grovea-journey-map__stage::after {
		display: none;
	}

	.grovea-footer__nav,
	.grovea-footer__bottom {
		grid-template-columns: 1fr;
	}

	.grovea-footer__legal {
		justify-content: flex-start;
	}

	.grovea-data-purpose-list,
	.grovea-data-list > div {
		grid-template-columns: 1fr;
	}

	.grovea-task-item__meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.35rem;
	}

	.grovea-guide__hero {
		align-items: flex-start;
		flex-direction: column;
	}

	.grovea-chapter-grid,
	.grovea-chapter-nav {
		grid-template-columns: 1fr;
	}

	.grovea-chapter-card {
		min-height: 17rem;
	}

	.grovea-local-grid,
	.grovea-local-grid--cities,
	.grovea-local-route-grid,
	.grovea-local-detail-grid {
		grid-template-columns: 1fr;
	}

	.grovea-local-sources li {
		flex-direction: column;
		gap: 0.25rem;
	}

	.grovea-local-sources li span {
		flex-basis: auto;
		text-align: left;
	}

	.grovea-local__hero {
		min-height: 25rem;
		background:
			linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 94%) 68%, rgb(255 255 255 / 52%) 100%),
			url("../images/grovea-local-city-v1.webp") 72% center / cover no-repeat,
			var(--grovea-white);
	}

	.grovea-local__hero > div {
		max-width: 100%;
	}
}

/* Grovea 1.21.9 — calm, product-led homepage showcase. */
.grovea-home-showcase-shortcode {
	width: 100%;
}

.grovea-home-showcase {
	padding-block: clamp(4rem, 7vw, 7rem);
	background: var(--grovea-white);
}

.grovea-showcase-intro {
	max-width: 58rem;
	margin: 0 auto clamp(3rem, 6vw, 5.5rem);
	text-align: center;
}

.grovea-showcase-intro .grovea-h2 {
	max-width: 18ch;
	margin: 0.55rem auto 1.15rem;
}

.grovea-showcase-intro > p:last-child {
	max-width: 48rem;
	margin: 0 auto;
	color: var(--grovea-muted);
	font-size: clamp(1rem, 1.5vw, 1.16rem);
	line-height: 1.7;
}

.grovea-feature-row {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(30rem, 1.12fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
	padding-block: clamp(3.75rem, 7vw, 6.75rem);
	border-top: 1px solid var(--grovea-border);
}

.grovea-feature-row--reverse .grovea-feature-copy {
	order: 2;
}

.grovea-feature-row--reverse .grovea-product-frame {
	order: 1;
}

.grovea-feature-copy {
	min-width: 0;
}

.grovea-feature-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: 1.25rem;
	color: var(--grovea-muted);
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.grovea-product-status {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.43rem 0.68rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 0.7rem;
	letter-spacing: 0.035em;
}

.grovea-product-status::before {
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 50%;
	background: currentcolor;
	content: "";
}

.grovea-product-status--live {
	border-color: #a9d6bb;
	color: #1e6849;
	background: #eaf7ef;
}

.grovea-product-status--beta {
	border-color: #efc48f;
	color: #98500c;
	background: #fff5e8;
}

.grovea-product-status--review {
	border-color: #ced6d1;
	color: #5d6b64;
	background: #f3f6f4;
}

.grovea-feature-copy h3 {
	max-width: 18ch;
	margin: 0 0 1.1rem;
	color: var(--grovea-ink);
	font-size: clamp(2rem, 3.4vw, 3.35rem);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.grovea-feature-lead {
	max-width: 38rem;
	margin: 0;
	color: var(--grovea-muted);
	font-size: clamp(1rem, 1.4vw, 1.14rem);
	line-height: 1.7;
}

.grovea-feature-points {
	display: grid;
	gap: 0.8rem;
	margin: 1.65rem 0 1.8rem;
	padding: 0;
	list-style: none;
}

.grovea-feature-points li {
	display: grid;
	grid-template-columns: 1.55rem minmax(0, 1fr);
	align-items: start;
	gap: 0.65rem;
	color: #243a31;
	font-weight: 700;
	line-height: 1.5;
}

.grovea-feature-points li::before {
	display: grid;
	width: 1.45rem;
	height: 1.45rem;
	place-items: center;
	margin-top: 0.03rem;
	border-radius: 50%;
	color: var(--grovea-green-dark);
	background: #e8f4ed;
	content: "✓";
	font-size: 0.72rem;
	font-weight: 950;
}

.grovea-showcase-action {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border: 1px solid #b9d1c4;
	border-radius: 0.8rem;
	color: var(--grovea-green-dark);
	background: #f8fbf9;
	font-weight: 900;
	text-decoration: none;
}

.grovea-showcase-action:hover,
.grovea-showcase-action:focus-visible {
	border-color: var(--grovea-green);
	background: #edf7f1;
	transform: translateY(-1px);
}

.grovea-showcase-action.is-disabled {
	cursor: not-allowed;
	opacity: 0.58;
	pointer-events: none;
}

.grovea-product-frame {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #cbd9d1;
	border-radius: clamp(1.1rem, 2vw, 1.55rem);
	background: #f7faf8;
	box-shadow: 0 1.8rem 4.5rem rgb(25 68 51 / 14%);
}

.grovea-product-frame__bar {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr) 4rem;
	align-items: center;
	min-height: 3.4rem;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid #d7e1db;
	background: rgb(255 255 255 / 88%);
}

.grovea-product-frame__bar > span {
	display: flex;
	gap: 0.32rem;
}

.grovea-product-frame__bar i {
	width: 0.56rem;
	height: 0.56rem;
	border-radius: 50%;
	background: #d4ddd8;
}

.grovea-product-frame__bar i:first-child {
	background: #f3b376;
}

.grovea-product-frame__bar strong {
	overflow: hidden;
	color: #385048;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.025em;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.grovea-life-preview {
	display: grid;
	grid-template-columns: 5.8rem minmax(0, 1fr);
	min-height: 27rem;
}

.grovea-life-preview aside {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.4rem 0.8rem;
	border-right: 1px solid #dce5e0;
	background: #edf4f0;
}

.grovea-life-preview aside strong {
	margin-bottom: 0.35rem;
	color: #4d6258;
	font-size: 0.67rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.grovea-life-preview aside span {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	place-items: center;
	border: 1px solid #cbd9d1;
	border-radius: 50%;
	color: #6c7d75;
	background: #fff;
	font-size: 0.72rem;
	font-weight: 900;
}

.grovea-life-preview aside span.is-active {
	border-color: var(--grovea-green);
	color: #fff;
	background: var(--grovea-green);
}

.grovea-life-preview__tasks {
	display: grid;
	align-content: center;
	gap: 0.8rem;
	padding: clamp(1.1rem, 3vw, 2rem);
}

.grovea-preview-task {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr) 0.8rem;
	align-items: center;
	gap: 0.8rem;
	padding: 0.95rem;
	border: 1px solid #d8e3dd;
	border-radius: 0.9rem;
	background: #fff;
	box-shadow: 0 0.45rem 1.2rem rgb(20 66 48 / 5%);
}

.grovea-preview-task > span {
	display: grid;
	width: 2.2rem;
	height: 2.2rem;
	place-items: center;
	border-radius: 0.65rem;
	color: var(--grovea-green-dark);
	background: #e8f3ed;
	font-size: 0.72rem;
	font-weight: 950;
}

.grovea-preview-task div,
.grovea-preview-question div,
.grovea-employer-preview li div {
	display: grid;
	gap: 0.16rem;
	min-width: 0;
}

.grovea-preview-task strong,
.grovea-preview-question strong,
.grovea-employer-preview li strong {
	color: #263c32;
	font-size: 0.86rem;
}

.grovea-preview-task small,
.grovea-preview-question small,
.grovea-employer-preview li small {
	overflow: hidden;
	color: #718078;
	font-size: 0.7rem;
	line-height: 1.35;
	text-overflow: ellipsis;
}

.grovea-preview-task > i {
	width: 0.65rem;
	height: 0.65rem;
	border: 2px solid #85b99a;
	border-radius: 50%;
}

.grovea-preview-progress {
	display: grid;
	grid-template-columns: minmax(6rem, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	padding-top: 0.25rem;
}

.grovea-preview-progress > span {
	display: block;
	height: 0.48rem;
	overflow: hidden;
	border-radius: 999px;
	background: #dce7e1;
}

.grovea-preview-progress i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--grovea-green), #78aa8e);
}

.grovea-preview-progress strong {
	color: #5d7066;
	font-size: 0.7rem;
}

.grovea-product-frame--work {
	background: linear-gradient(145deg, #f4faf6, #fff8ef);
}

.grovea-work-preview {
	display: grid;
	gap: 1rem;
	min-height: 27rem;
	align-content: center;
	padding: clamp(1.25rem, 4vw, 2.5rem);
}

.grovea-work-preview__role {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.3rem 1rem;
	padding: 1.25rem;
	border: 1px solid #cfe0d6;
	border-radius: 1rem;
	background: #fff;
}

.grovea-work-preview__role span {
	grid-column: 1 / -1;
	color: #7a8981;
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.05em;
}

.grovea-work-preview__role strong {
	color: #20392e;
	font-size: clamp(1rem, 2vw, 1.3rem);
}

.grovea-work-preview__role em {
	align-self: center;
	padding: 0.4rem 0.6rem;
	border-radius: 999px;
	color: #176443;
	background: #e7f5ed;
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 900;
}

.grovea-work-preview__signals {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.grovea-work-preview__signals > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 0.5rem;
	padding: 0.85rem;
	border: 1px solid #d8e3dd;
	border-radius: 0.8rem;
	background: rgb(255 255 255 / 92%);
}

.grovea-work-preview__signals span {
	grid-column: 1 / -1;
	color: #718078;
	font-size: 0.66rem;
}

.grovea-work-preview__signals strong {
	font-size: 0.78rem;
}

.grovea-work-preview__signals i {
	width: 0.58rem;
	height: 0.58rem;
	align-self: center;
	border-radius: 50%;
	background: #59a176;
}

.grovea-preview-question {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	align-items: center;
	gap: 0.8rem;
	padding: 0.9rem;
	border: 1px solid #efc991;
	border-radius: 0.85rem;
	background: #fff9ef;
}

.grovea-preview-question > span {
	display: grid;
	width: 2.15rem;
	height: 2.15rem;
	place-items: center;
	border-radius: 50%;
	color: #9b570f;
	background: #ffedd2;
	font-weight: 950;
}

.grovea-product-frame--employer {
	background: linear-gradient(155deg, #eef6f1, #f9fbfa);
}

.grovea-employer-preview {
	display: grid;
	gap: 1rem;
	min-height: 27rem;
	align-content: center;
	padding: clamp(1.25rem, 4vw, 2.5rem);
}

.grovea-candidate-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 1rem;
	padding: 1rem 1.15rem;
	border: 1px solid #cbdcd2;
	border-radius: 0.9rem;
	background: #fff;
}

.grovea-candidate-card span {
	grid-column: 1 / -1;
	color: #718078;
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.05em;
}

.grovea-candidate-card strong {
	color: #20392e;
	font-size: 1.1rem;
}

.grovea-candidate-card em {
	align-self: center;
	padding: 0.36rem 0.55rem;
	border-radius: 999px;
	color: #94500e;
	background: #fff0dc;
	font-size: 0.65rem;
	font-style: normal;
	font-weight: 850;
}

.grovea-employer-preview ol {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.grovea-employer-preview li {
	display: grid;
	grid-template-columns: 2.2rem minmax(0, 1fr);
	gap: 0.8rem;
	position: relative;
	padding: 0.72rem 0;
}

.grovea-employer-preview li:not(:last-child)::after {
	position: absolute;
	top: 2.75rem;
	bottom: -0.2rem;
	left: 1.03rem;
	width: 2px;
	background: #b9d4c4;
	content: "";
}

.grovea-employer-preview li > span {
	display: grid;
	width: 2.1rem;
	height: 2.1rem;
	place-items: center;
	z-index: 1;
	border-radius: 50%;
	color: #fff;
	background: var(--grovea-green);
	font-size: 0.7rem;
	font-weight: 950;
}

.grovea-employer-preview li.is-next > span {
	color: #8c4a0a;
	background: #ffe7c9;
}

.grovea-employer-preview > p {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0;
	padding: 0.8rem;
	border: 1px solid #d7e1db;
	border-radius: 0.75rem;
	color: #617169;
	background: rgb(255 255 255 / 76%);
	font-size: 0.7rem;
	line-height: 1.45;
}

.grovea-employer-preview > p span {
	color: var(--grovea-green);
}

.grovea-showcase-trust {
	display: grid;
	grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	margin-top: clamp(3rem, 6vw, 5rem);
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: 1.5rem;
	color: #fff;
	background: linear-gradient(135deg, #153c2e, #245d46);
}

.grovea-showcase-trust .grovea-eyebrow {
	color: #afd7c3;
}

.grovea-showcase-trust h3 {
	margin: 0.65rem 0 0;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	line-height: 1.08;
}

.grovea-showcase-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
}

.grovea-showcase-trust__grid article {
	padding: 1.1rem;
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: 1rem;
	background: rgb(255 255 255 / 7%);
}

.grovea-showcase-trust__grid span {
	color: #f8b26b;
	font-size: 0.72rem;
	font-weight: 950;
	letter-spacing: 0.05em;
}

.grovea-showcase-trust__grid h4 {
	margin: 0.65rem 0 0.45rem;
	color: #fff;
	font-size: 1rem;
}

.grovea-showcase-trust__grid p {
	margin: 0;
	color: rgb(255 255 255 / 72%);
	font-size: 0.8rem;
	line-height: 1.55;
}

@media (max-width: 1050px) {
	.grovea-feature-row {
		grid-template-columns: minmax(0, 0.8fr) minmax(25rem, 1.2fr);
		gap: 2.4rem;
	}

	.grovea-showcase-trust {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	.grovea-feature-row {
		grid-template-columns: 1fr;
	}

	.grovea-feature-row--reverse .grovea-feature-copy,
	.grovea-feature-row--reverse .grovea-product-frame {
		order: initial;
	}

	.grovea-feature-copy h3 {
		max-width: 22ch;
	}

	.grovea-showcase-trust__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.grovea-home-showcase {
		padding-block: 3.4rem;
	}

	.grovea-feature-row {
		padding-block: 3rem;
	}

	.grovea-product-frame__bar {
		grid-template-columns: 3rem minmax(0, 1fr) 3rem;
	}

	.grovea-life-preview {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.grovea-life-preview aside {
		align-items: center;
		flex-direction: row;
		justify-content: center;
		padding: 0.8rem;
		border-right: 0;
		border-bottom: 1px solid #dce5e0;
	}

	.grovea-life-preview aside strong {
		margin: 0 0.35rem 0 0;
	}

	.grovea-life-preview__tasks,
	.grovea-work-preview,
	.grovea-employer-preview {
		padding: 0.9rem;
	}

	.grovea-preview-task {
		grid-template-columns: 2rem minmax(0, 1fr);
		padding: 0.8rem;
	}

	.grovea-preview-task > i {
		display: none;
	}

	.grovea-preview-progress {
		grid-template-columns: 1fr;
	}

	.grovea-work-preview__signals {
		grid-template-columns: 1fr;
	}

	.grovea-work-preview__role {
		grid-template-columns: 1fr;
	}

	.grovea-work-preview__role em {
		justify-self: start;
	}

	.grovea-showcase-trust {
		padding: 1.35rem;
	}
}

/* Grovea 1.16 — decision-based Life Map, safe letter channels and local Emergency. */
.grovea-life-results,
.grovea-letter-output,
.grovea-emergency-local-result {
	scroll-margin-top: 15rem;
}

.grovea-life-decisions,
.grovea-life-priorities,
.grovea-life-tracks {
	display: grid;
	gap: 0.8rem;
}

.grovea-life-decisions {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grovea-life-decisions > div,
.grovea-life-priorities > div {
	display: grid;
	align-content: start;
	gap: 0.25rem;
	min-width: 0;
	padding: 0.9rem 1rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 0.85rem;
	background: rgb(255 255 255 / 8%);
}

.grovea-life-decisions small,
.grovea-life-priorities small {
	color: #b8e0cf;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.grovea-life-decisions strong {
	font-size: 1rem;
	line-height: 1.4;
}

.grovea-life-priorities {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grovea-life-priorities span {
	color: #f7b27e;
	font-size: clamp(1.6rem, 4vw, 2.35rem);
	font-weight: 950;
	line-height: 1;
}

.grovea-life-tracks {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grovea-life-tracks article {
	min-width: 0;
	padding: 1rem;
	border-radius: 0.9rem;
	color: var(--grovea-ink);
	background: #f6fbf8;
}

.grovea-life-tracks article > span {
	color: var(--grovea-orange-dark);
	font-size: 0.72rem;
	font-weight: 950;
	letter-spacing: 0.08em;
}

.grovea-life-tracks h3,
.grovea-life-tracks p {
	margin: 0.35rem 0 0;
}

.grovea-life-tracks p {
	color: var(--grovea-muted);
	font-size: 0.9rem;
}

.grovea-life-node__link {
	display: inline-flex;
	margin-top: 0.75rem;
	color: #f7b27e;
	font-size: 0.86rem;
	font-weight: 850;
}

.grovea-letter-channel {
	display: grid;
	gap: 0.8rem;
	margin-top: 1.2rem;
	padding: 1.1rem;
	border: 1px solid #c9ded3;
	border-radius: 0.95rem;
	background: #f4faf6;
}

.grovea-letter-channel [hidden] {
	display: none;
}

.grovea-letter-channel h3,
.grovea-letter-channel p {
	margin-top: 0;
}

.grovea-letter-email-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0.8rem;
}

.grovea-letter-email-row label {
	display: grid;
	gap: 0.4rem;
	font-weight: 800;
}

.grovea-letter-channel__status {
	margin: 0;
	color: var(--grovea-green-dark);
	font-size: 0.9rem;
	font-weight: 750;
}

.grovea-emergency-locator {
	display: grid;
	gap: 1rem;
	border-color: #c9ded3;
	background: linear-gradient(145deg, #f7fbf8, #fff);
}

.grovea-emergency-locator form {
	display: grid;
	gap: 1rem;
}

.grovea-emergency-locator__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-emergency-locator__fields label {
	display: grid;
	gap: 0.45rem;
	font-weight: 850;
}

.grovea-emergency-locator input[type="text"],
.grovea-emergency-locator select {
	width: 100%;
	min-height: 3.5rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.75rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font: inherit;
}

.grovea-emergency-locator input:focus-visible,
.grovea-emergency-locator select:focus-visible {
	outline: 3px solid rgb(249 115 22 / 28%);
	outline-offset: 2px;
	border-color: var(--grovea-orange-dark);
}

.grovea-emergency-local-result {
	padding: 1.1rem;
	border-left: 4px solid var(--grovea-green);
	border-radius: 0 0.9rem 0.9rem 0;
	background: #edf8f1;
}

.grovea-emergency-local-result[hidden] {
	display: none;
}

.grovea-emergency-local-result h3,
.grovea-emergency-local-result p {
	margin-top: 0;
}

@media (max-width: 1050px) {
	.grovea-life-decisions,
	.grovea-life-tracks {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.grovea-life-decisions,
	.grovea-life-priorities,
	.grovea-life-tracks,
	.grovea-letter-email-row,
	.grovea-emergency-locator__fields {
		grid-template-columns: 1fr;
	}
}

/* Candidate communication tools: language screening and browser-only letters. */
.grovea-language-check,
.grovea-letter-assistant {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
}

.grovea-language-check-form,
.grovea-letter-assistant form {
	display: grid;
	gap: 1.25rem;
}

.grovea-tool-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-language-check-form label:not(.grovea-language-answer, .grovea-work-match-form__check),
.grovea-letter-assistant form > label,
.grovea-letter-assistant .grovea-tool-grid label {
	display: grid;
	gap: 0.45rem;
	font-weight: 800;
}

.grovea-language-check-form select,
.grovea-letter-assistant input,
.grovea-letter-assistant select,
.grovea-letter-assistant textarea,
.grovea-letter-output textarea {
	width: 100%;
	min-width: 0;
	padding: 0.8rem 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.75rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font: inherit;
	line-height: 1.55;
}

.grovea-language-check-form select,
.grovea-letter-assistant input,
.grovea-letter-assistant select {
	min-height: 3.5rem;
}

.grovea-language-check-form select:focus-visible,
.grovea-letter-assistant input:focus-visible,
.grovea-letter-assistant select:focus-visible,
.grovea-letter-assistant textarea:focus-visible,
.grovea-letter-output textarea:focus-visible {
	outline: 3px solid rgb(249 115 22 / 28%);
	outline-offset: 2px;
	border-color: var(--grovea-orange-dark);
}

.grovea-language-questions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-language-question {
	min-width: 0;
	margin: 0;
	padding: 1.1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: #f8faf8;
}

.grovea-language-question legend {
	width: 100%;
	padding: 0 0 0.85rem;
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.5;
}

.grovea-language-question__band {
	display: inline-flex;
	margin-right: 0.55rem;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-green);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

.grovea-language-answer {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-top: 0.55rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid transparent;
	border-radius: 0.7rem;
	cursor: pointer;
}

.grovea-language-answer:hover {
	border-color: #cbded3;
	background: var(--grovea-white);
}

.grovea-language-answer input {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.15rem;
	accent-color: var(--grovea-green);
}

.grovea-language-result {
	display: grid;
	gap: 1.25rem;
	padding: clamp(1.3rem, 3vw, 2.2rem);
	border-radius: 1.5rem;
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
	box-shadow: var(--grovea-shadow);
}

.grovea-language-result[hidden],
.grovea-letter-output[hidden] {
	display: none;
}

.grovea-language-result h2,
.grovea-language-result p {
	color: inherit;
}

.grovea-language-result .grovea-guide__boundary {
	color: var(--grovea-ink);
	background: #fffaf4;
}

.grovea-language-result .grovea-guide__boundary p {
	color: var(--grovea-muted);
}

.grovea-language-band-grid,
.grovea-language-handoff {
	display: grid;
	gap: 0.8rem;
}

.grovea-language-band-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grovea-language-band-grid article {
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 0.9rem;
	background: rgb(255 255 255 / 8%);
}

.grovea-language-band-grid article.is-passed {
	border-color: #86efac;
	background: rgb(134 239 172 / 12%);
}

.grovea-language-band-grid span,
.grovea-language-band-grid strong {
	display: block;
}

.grovea-language-band-grid span {
	color: var(--grovea-orange);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.grovea-language-band-grid strong {
	margin: 0.35rem 0;
	font-size: 1.45rem;
}

.grovea-language-band-grid p {
	margin: 0;
	font-size: 0.9rem;
}

.grovea-language-handoff {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grovea-language-handoff > div {
	padding: 1rem 1.1rem;
	border-radius: 1rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
}

.grovea-language-handoff h3 {
	margin-top: 0;
}

.grovea-letter-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: start;
	gap: 1.25rem;
}

.grovea-letter-output textarea {
	min-height: 36rem;
	resize: vertical;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9rem;
}

.grovea-letter-output .grovea-card__link {
	border: 0;
	background: transparent;
	cursor: pointer;
}

.grovea-letter-check {
	margin-top: 1.25rem;
	padding: 1rem;
	border-radius: 0.9rem;
	background: #f3f8f5;
}

.grovea-letter-check h3 {
	margin-top: 0;
}

.grovea-letter-safety {
	border-color: #f1c79f;
	background: linear-gradient(145deg, #fffaf4, #fff);
}

@media (max-width: 1050px) {
	.grovea-tool-grid,
	.grovea-language-band-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-letter-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.grovea-language-questions,
	.grovea-language-handoff {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.grovea-tool-grid,
	.grovea-language-band-grid {
		grid-template-columns: 1fr;
	}
}

/* Grovea 1.13 · controlled marketplace, account portals and value models. */
.grovea-marketplace-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1.5rem 0;
}

.grovea-marketplace-filters button {
	padding: 0.7rem 1rem;
	border: 1px solid #cbded3;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: var(--grovea-white);
	font: inherit;
	font-weight: 850;
	cursor: pointer;
}

.grovea-marketplace-filters button:hover,
.grovea-marketplace-filters button:focus-visible,
.grovea-marketplace-filters button.is-active {
	border-color: var(--grovea-green);
	color: var(--grovea-white);
	background: var(--grovea-green);
}

.grovea-offer-grid,
.grovea-portal-route-grid,
.grovea-plan-grid,
.grovea-connector-grid,
.grovea-access-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-portal-route-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grovea-offer-card,
.grovea-portal-route-grid article,
.grovea-plan-grid article,
.grovea-connector-grid article,
.grovea-access-grid article {
	min-width: 0;
	padding: clamp(1.1rem, 2vw, 1.5rem);
	border: 1px solid var(--grovea-border);
	border-radius: 1.2rem;
	background: var(--grovea-white);
	box-shadow: 0 12px 35px rgb(17 24 39 / 6%);
}

.grovea-offer-card[hidden] {
	display: none;
}

.grovea-offer-card h2,
.grovea-portal-route-grid h2,
.grovea-plan-grid h3,
.grovea-connector-grid h2,
.grovea-access-grid h2 {
	margin: 0.45rem 0 0.7rem;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.2;
}

.grovea-portal-route-grid article > span,
.grovea-access-grid article > span {
	display: inline-flex;
	padding: 0.35rem 0.55rem;
	border-radius: 0.5rem;
	color: var(--grovea-green-dark);
	background: #e9f3ed;
	font-size: 0.76rem;
	font-weight: 950;
	letter-spacing: 0.08em;
}

.grovea-offer-meta {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 1rem 0;
	color: var(--grovea-muted);
}

.grovea-offer-meta strong {
	color: var(--grovea-ink);
}

.grovea-empty-state {
	grid-column: 1 / -1;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px dashed #9fbdaa;
	border-radius: 1.4rem;
	background: #f3f8f5;
}

.grovea-empty-state h2 {
	margin: 0.5rem 0;
}

.grovea-business-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	gap: 1rem;
}

.grovea-business-offers {
	display: grid;
	gap: 0.65rem;
}

.grovea-business-offers article {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.85rem;
}

.grovea-business-offers article div,
.grovea-business-offers article span {
	display: grid;
	gap: 0.2rem;
}

.grovea-plan-grid article {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.7rem;
}

.grovea-plan-grid article > strong {
	color: var(--grovea-green-dark);
	font-size: 1.1rem;
}

.grovea-plan-grid ul {
	margin: 0;
	padding-left: 1.15rem;
	color: var(--grovea-muted);
}

.grovea-plan-grid .grovea-status {
	margin-top: auto;
}

.grovea-connector-grid article {
	display: flex;
	flex-direction: column;
}

.grovea-connector-grid dl {
	display: grid;
	gap: 0.65rem;
	margin: 0.8rem 0 1rem;
}

.grovea-connector-grid dl div {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	gap: 0.6rem;
}

.grovea-connector-grid dt {
	font-weight: 850;
}

.grovea-connector-grid dd {
	margin: 0;
	color: var(--grovea-muted);
}

.grovea-connector-grid .grovea-card__link {
	margin-top: auto;
}

.grovea-value-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-value-grid fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
}

.grovea-value-grid legend {
	padding: 0 0.35rem;
	font-weight: 900;
}

.grovea-value-grid > button {
	grid-column: 1 / -1;
	justify-self: start;
}

.grovea-employer-value-form {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: end;
	gap: 0.8rem;
}

.grovea-value-grid label,
.grovea-employer-value-form label {
	display: grid;
	gap: 0.4rem;
	font-weight: 750;
}

.grovea-value-grid input,
.grovea-employer-value-form input {
	width: 100%;
	min-height: 3rem;
	padding: 0.7rem;
	border: 1px solid #c8d2cc;
	border-radius: 0.7rem;
	background: var(--grovea-white);
	font: inherit;
}

.grovea-employer-value-form > button {
	grid-column: 1 / -1;
	justify-self: start;
}

.grovea-value-results {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
	margin-top: 1rem;
}

.grovea-value-results[hidden] {
	display: none;
}

.grovea-value-results article {
	display: grid;
	gap: 0.35rem;
	padding: 1rem;
	border-radius: 1rem;
	background: #f3f8f5;
}

.grovea-value-results article.is-highlight {
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
}

.grovea-value-results article > span,
.grovea-value-results article > small {
	font-weight: 750;
}

.grovea-value-results article > strong {
	font-size: clamp(1.35rem, 3vw, 2rem);
}

@media (max-width: 1050px) {
	.grovea-portal-route-grid,
	.grovea-connector-grid,
	.grovea-employer-value-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.grovea-offer-grid,
	.grovea-portal-route-grid,
	.grovea-plan-grid,
	.grovea-connector-grid,
	.grovea-access-grid,
	.grovea-business-grid,
	.grovea-value-grid,
	.grovea-value-results,
	.grovea-employer-value-form {
		grid-template-columns: 1fr;
	}

	.grovea-value-grid fieldset {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.grovea-button,
	.grovea-card,
	.grovea-card__link {
		transition: none;
	}
}

/* Grovea 1.11 — privacy-safe Life Navigator and life-stage configurator. */
.grovea-life-navigator {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
}

.grovea-life-navigator__hero {
	background:
		radial-gradient(circle at 86% 12%, rgb(249 115 22 / 16%), transparent 30%),
		linear-gradient(135deg, #f7fbf8, #fffaf4);
}

.grovea-life-proof {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 0.55rem 1rem;
	padding: 1rem 1.2rem;
	border: 1px solid #b8dfcd;
	border-radius: 1rem;
	color: #183c2e;
	background: #edf8f1;
}

.grovea-life-proof strong {
	font-size: 1.05rem;
}

.grovea-life-proof span {
	line-height: 1.55;
}

.grovea-life-form {
	display: grid;
	gap: 1.5rem;
}

.grovea-situation-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.grovea-situation-grid label {
	position: relative;
	display: block;
	min-width: 0;
	cursor: pointer;
}

.grovea-situation-grid input {
	position: absolute;
	opacity: 0;
}

.grovea-situation-grid span {
	display: flex;
	min-height: 8.4rem;
	flex-direction: column;
	gap: 0.45rem;
	padding: 1.2rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: var(--grovea-white);
	box-shadow: 0 8px 22px rgb(31 77 58 / 5%);
}

.grovea-situation-grid strong {
	color: var(--grovea-ink);
	font-size: 1.1rem;
	line-height: 1.3;
}

.grovea-situation-grid small {
	color: var(--grovea-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

.grovea-situation-grid input:checked + span {
	border-color: var(--grovea-green);
	background: #edf8f1;
	box-shadow: 0 0 0 3px rgb(31 77 58 / 12%);
}

.grovea-situation-grid input:focus-visible + span {
	outline: 3px solid rgb(249 115 22 / 45%);
	outline-offset: 3px;
}

.grovea-life-fields,
.grovea-housing-inputs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-life-fields label,
.grovea-housing-inputs label {
	display: grid;
	gap: 0.45rem;
	color: var(--grovea-ink);
	font-size: 0.98rem;
	font-weight: 800;
}

.grovea-life-fields input,
.grovea-life-fields select,
.grovea-housing-inputs input {
	width: 100%;
	min-height: 3.4rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.75rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font: inherit;
}

.grovea-life-results {
	display: grid;
	gap: 1.5rem;
	padding: clamp(1.3rem, 3vw, 2.4rem);
	border-radius: 1.5rem;
	color: var(--grovea-white);
	background: #153c2e;
	box-shadow: 0 26px 70px rgb(21 60 46 / 18%);
}

.grovea-life-results .grovea-panel__heading h2,
.grovea-life-results .grovea-panel__heading p {
	color: inherit;
}

.grovea-life-map {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	perspective: 1000px;
}

.grovea-life-map::before {
	position: absolute;
	top: 2.1rem;
	right: 4%;
	left: 4%;
	height: 2px;
	background: linear-gradient(90deg, #f97316, #b8e0cf);
	content: "";
}

.grovea-life-node {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 0.8rem;
	min-height: 11rem;
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 1rem;
	background: rgb(255 255 255 / 8%);
	transform: rotateX(1.5deg);
}

.grovea-life-node > span {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border-radius: 50%;
	color: #153c2e;
	background: #f7b27e;
	font-size: 0.82rem;
	font-weight: 950;
}

.grovea-life-node small {
	color: #b8e0cf;
	font-size: 0.78rem;
	font-weight: 850;
	text-transform: uppercase;
}

.grovea-life-node h3 {
	margin: 0.35rem 0;
	color: var(--grovea-white);
	font-size: 1.08rem;
}

.grovea-life-node p {
	margin: 0;
	color: rgb(255 255 255 / 76%);
	font-size: 0.93rem;
	line-height: 1.5;
}

.grovea-life-calendar {
	padding: 1.2rem;
	border-radius: 1rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
}

.grovea-life-calendar h3 {
	margin: 0 0 0.8rem;
}

.grovea-calendar-row {
	display: grid;
	grid-template-columns: minmax(9rem, 0.7fr) minmax(10rem, 0.9fr) minmax(0, 2fr);
	gap: 0.7rem 1rem;
	padding: 0.85rem 0;
	border-top: 1px solid var(--grovea-border);
	line-height: 1.45;
}

.grovea-calendar-row time {
	color: var(--grovea-green);
	font-weight: 850;
}

.grovea-calendar-row span {
	color: var(--grovea-muted);
}

.grovea-housing-compare {
	display: grid;
	gap: 1.5rem;
}

.grovea-housing-calculator {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.8fr);
	gap: 1.5rem;
}

.grovea-housing-inputs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grovea-housing-output {
	display: grid;
	gap: 0.7rem;
	padding: 1.2rem;
	border-radius: 1rem;
	color: var(--grovea-white);
	background: #153c2e;
}

.grovea-housing-output > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.grovea-housing-output strong {
	font-size: 1.25rem;
}

.grovea-housing-output .is-highlight {
	padding-top: 0.75rem;
	border-top: 1px solid rgb(255 255 255 / 18%);
	color: #f7b27e;
}

.grovea-housing-output p {
	margin: 0.35rem 0 0;
	color: rgb(255 255 255 / 78%);
	line-height: 1.5;
}

.grovea-eligibility-check,
.grovea-rule-note {
	padding: 1.2rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: #f8faf8;
}

.grovea-eligibility-check h3,
.grovea-rule-note p {
	margin-top: 0;
}

.grovea-check-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.7rem;
}

.grovea-check-grid label {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	padding: 0.75rem;
	border-radius: 0.75rem;
	background: var(--grovea-white);
	font-weight: 700;
}

.grovea-check-grid input {
	width: 1.2rem;
	height: 1.2rem;
	margin-top: 0.1rem;
	accent-color: var(--grovea-green);
}

.grovea-eligibility-result {
	margin-bottom: 0;
	color: #9a3412;
	font-weight: 800;
}

.grovea-eligibility-result.is-complete {
	color: var(--grovea-green);
}

.grovea-rule-note {
	border-color: #f1c79f;
	background: #fff8ef;
}

.grovea-rule-note strong {
	color: #9a3412;
}

.grovea-rule-note p {
	margin: 0.35rem 0 0;
	line-height: 1.55;
}

.grovea-life-context-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-life-context-grid article {
	display: grid;
	align-content: start;
	gap: 0.55rem;
	padding: 1.25rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: var(--grovea-white);
}

.grovea-life-context-grid article > span {
	color: var(--grovea-green);
	font-size: 0.75rem;
	font-weight: 950;
	letter-spacing: 0.12em;
}

.grovea-life-context-grid h3,
.grovea-life-context-grid p {
	margin: 0;
}

.grovea-life-context-grid p {
	color: var(--grovea-muted);
	line-height: 1.55;
}

.grovea-life-context-grid a {
	margin-top: 0.3rem;
	color: var(--grovea-green);
	font-weight: 850;
}

@media (max-width: 1180px) {
	.grovea-header__link {
		padding-inline: 0.55rem;
		font-size: 1.18rem;
	}

	.grovea-life-map {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-life-map::before {
		display: none;
	}
}

@media (max-width: 900px) {
	.grovea-situation-grid,
	.grovea-life-fields,
	.grovea-check-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-housing-calculator {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.grovea-life-proof,
	.grovea-calendar-row {
		grid-template-columns: 1fr;
	}

	.grovea-situation-grid,
	.grovea-life-fields,
	.grovea-housing-inputs,
	.grovea-life-map,
	.grovea-check-grid,
	.grovea-life-context-grid {
		grid-template-columns: 1fr;
	}

	.grovea-situation-grid span {
		min-height: auto;
	}
}

/* Grovea 1.9 readability pass and transparent five-city planning signals. */
.grovea-site {
	font-size: 17px;
	line-height: 1.62;
	text-rendering: optimizeLegibility;
}

.grovea-site p,
.grovea-app li,
.grovea-app summary,
.grovea-app label,
.grovea-app dt,
.grovea-app dd,
.grovea-app td,
.grovea-app th,
.grovea-card__text,
.grovea-panel p,
.grovea-local-answer p,
.grovea-local-faq p,
.grovea-stability-grid p,
.grovea-emergency-step p {
	font-size: 16px;
	line-height: 1.7;
}

.grovea-eyebrow,
.grovea-language-switcher__summary strong,
.grovea-language-switcher__summary span,
.grovea-language-switcher__item,
.grovea-language-switcher__item strong,
.grovea-crossborder-map__endpoint small,
.grovea-crossborder-map__stop,
.grovea-crossborder-map__stop i,
.grovea-stability-grid article > span,
.grovea-emergency-rail__step > span,
.grovea-emergency-rail__step strong,
.grovea-emergency-step strong,
.grovea-emergency-source-links,
.grovea-local-sources li span,
.grovea-language-option strong,
.grovea-translation-step span,
.grovea-translation-step p {
	font-size: 14px;
}

.grovea-trustline {
	font-size: 16px;
	line-height: 1.6;
}

.grovea-header__link {
	min-height: 46px;
	padding: 10px 13px;
	font-size: 16px;
	font-weight: 760;
}

.grovea-language-switcher__item {
	min-height: 45px;
}

.grovea-form input,
.grovea-form select,
.grovea-form textarea,
.grovea-form button {
	min-height: 52px;
	font-size: 16px;
}

.grovea-metric span,
.grovea-status,
.grovea-form__fineprint,
.grovea-local__crumbs,
.grovea-footer__bottom,
.grovea-footer__link {
	font-size: 15px;
	line-height: 1.55;
}

.grovea-metric strong {
	font-size: 30px;
}

.grovea-city-pulse {
	margin-block: clamp(40px, 5vw, 80px);
	padding: clamp(24px, 3.5vw, 40px);
	border: 1px solid #cbded3;
	border-radius: 32px;
	background: linear-gradient(145deg, #f7fbf8 0%, #fff 55%, #fff8ef 100%);
	box-shadow: 0 18px 55px rgb(17 24 39 / 8%);
}

.grovea-city-pulse__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.grovea-city-pulse__heading > div {
	max-width: 784px;
}

.grovea-city-pulse__heading h2 {
	margin: 6px 0 10px;
	font-size: clamp(28px, 3.2vw, 48px);
	letter-spacing: -0.035em;
	line-height: 1.08;
}

.grovea-city-pulse__heading p:last-child {
	margin: 0;
	color: #53606f;
}

.grovea-city-pulse__freshness {
	flex: 0 0 auto;
	padding: 8px 12px;
	border: 1px solid #cbded3;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #fff;
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
}

.grovea-city-pulse__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.grovea-city-pulse-card {
	display: flex;
	min-width: 0;
	min-height: 320px;
	flex-direction: column;
	padding: 20px;
	border: 1px solid var(--grovea-border);
	border-top: 5px solid var(--grovea-orange);
	border-radius: 20px;
	background: #fff;
}

.grovea-city-pulse-card--watch {
	border-top-color: #d6a119;
}

.grovea-city-pulse-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 13px;
}

.grovea-city-pulse-card h3 {
	margin: 3px 0 0;
	font-size: 23px;
}

.grovea-pulse-level {
	padding: 6px 9px;
	border-radius: 999px;
	color: #7a3206;
	background: #fff0e5;
	font-size: 14px;
	font-weight: 850;
	white-space: nowrap;
}

.grovea-city-pulse-card--watch .grovea-pulse-level {
	color: #684d04;
	background: #fff8d8;
}

.grovea-city-pulse-card dl {
	display: grid;
	gap: 12px;
	margin: 18px 0;
}

.grovea-city-pulse-card dl > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 13px;
	padding-bottom: 9px;
	border-bottom: 1px solid var(--grovea-border);
}

.grovea-city-pulse-card dt {
	color: #53606f;
	font-size: 15px;
}

.grovea-city-pulse-card dd {
	margin: 0;
	font-size: 17px;
	font-weight: 850;
	text-align: right;
}

.grovea-city-pulse__signals {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.grovea-city-pulse__signals article {
	min-width: 0;
	padding: 18px;
	border: 1px solid var(--grovea-border);
	border-radius: 20px;
	background: #fff;
}

.grovea-city-pulse__signals article > span {
	display: block;
	margin-bottom: 7px;
	color: var(--grovea-green);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.grovea-city-pulse__signals strong {
	display: block;
	font-size: clamp(21px, 2vw, 27px);
	line-height: 1.2;
}

.grovea-city-pulse__signals p {
	margin: 9px 0 0;
	color: #53606f;
	font-size: 15px;
	line-height: 1.55;
}

.grovea-city-pulse__migration {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	margin-top: 16px;
	padding: 14px 16px;
	border: 1px solid #d9e6de;
	border-radius: 12px;
	background: #f3f8f5;
}

.grovea-city-pulse__method {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	margin-top: 20px;
	padding: 18px 19px;
	border-left: 4px solid var(--grovea-green);
	border-radius: 0 12px 12px 0;
	background: #fff;
}

.grovea-city-pulse__method strong {
	flex: 0 0 100%;
	font-size: 17px;
}

.grovea-city-pulse__method p {
	flex: 0 0 100%;
	margin: 0;
	color: #53606f;
	font-size: 15px;
}

.grovea-city-pulse__method a {
	color: var(--grovea-green-dark);
	font-weight: 800;
}

@media (max-width: 991px) {
	.grovea-city-pulse__grid,
	.grovea-city-pulse__signals {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.grovea-site {
		font-size: 16px;
	}

	.grovea-city-pulse__heading {
		flex-direction: column;
	}

	.grovea-city-pulse__freshness {
		white-space: normal;
	}

	.grovea-city-pulse__grid,
	.grovea-city-pulse__signals {
		grid-template-columns: 1fr;
	}

	.grovea-city-pulse-card {
		min-height: 0;
	}
}

/* Grovea 1.11.1 — keep the expanded global navigation and sources readable. */
@media (max-width: 1500px) {
	.grovea-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.8rem 1.25rem;
	}

	.grovea-header__nav {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(7, minmax(0, 1fr));
		width: 100%;
		gap: 0.35rem;
	}

	.grovea-header__link {
		justify-content: center;
		padding-inline: 0.55rem;
		text-align: center;
		white-space: normal;
	}
}

.grovea-life-node.is-urgent {
	border-color: rgb(247 178 126 / 70%);
}

.grovea-calendar-row.is-urgent time {
	color: #b45309;
}

.grovea-life-navigator .grovea-source-panel li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 0.5rem 1.5rem;
}

.grovea-life-navigator .grovea-source-panel li span {
	color: var(--grovea-muted);
}

@media (max-width: 991px) {
	.grovea-header__nav {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.grovea-header__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-life-navigator .grovea-source-panel li {
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}
}

/* Grovea 1.12 — priority routes, Work Match and reviewed updates. */
.grovea-section--soft {
	background: #f5f8f6;
}

.grovea-card-grid--priority,
.grovea-card-grid--supporting {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grovea-card-grid--supporting {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grovea-card-grid--priority .grovea-card {
	border-top: 5px solid var(--grovea-green);
}

.grovea-card-grid--supporting .grovea-card {
	min-height: 15rem;
}

.grovea-work-match,
.grovea-updates {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
}

.grovea-work-match__hero {
	background:
		radial-gradient(circle at 85% 12%, rgb(249 115 22 / 16%), transparent 32%),
		linear-gradient(135deg, #f4faf6, #fff8ef);
}

.grovea-work-match-form {
	display: grid;
	grid-template-columns: 1fr;
	align-items: end;
	gap: 1.25rem;
}

.grovea-work-match-form fieldset {
	min-width: 0;
	margin: 0;
	padding: clamp(1rem, 2vw, 1.4rem);
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: #f8faf8;
}

.grovea-work-match-form legend {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0 0.5rem;
	color: var(--grovea-green-dark);
	font-size: 1.05rem;
	font-weight: 900;
}

.grovea-work-match-form legend span {
	display: grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 50%;
	color: var(--grovea-white);
	background: var(--grovea-green);
}

.grovea-work-match-form__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-work-match-form label:not(.grovea-work-match-form__check) {
	display: grid;
	gap: 0.45rem;
	font-weight: 800;
}

.grovea-work-match-form select {
	width: 100%;
	min-height: 3.5rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.75rem;
	background: var(--grovea-white);
	font: inherit;
}

.grovea-work-match-form__check {
	display: flex;
	min-height: 3.5rem;
	align-items: center;
	gap: 0.65rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.75rem;
	background: #f8faf8;
	font-weight: 750;
}

.grovea-work-match-form__submit {
	justify-self: start;
}

.grovea-work-match-form__check input {
	width: 1.2rem;
	height: 1.2rem;
	accent-color: var(--grovea-green);
}

.grovea-work-match-results {
	display: grid;
	gap: 1rem;
	padding: clamp(1.3rem, 3vw, 2.2rem);
	border-radius: 1.5rem;
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
	box-shadow: var(--grovea-shadow);
}

.grovea-work-match-results[hidden] {
	display: none;
}

.grovea-work-match-results .grovea-panel__heading p,
.grovea-work-match-results .grovea-panel__heading h2 {
	color: inherit;
}

.grovea-work-signal-grid,
.grovea-evidence-grid,
.grovea-update-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-work-signal-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grovea-work-signal-grid article {
	padding: 1.1rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 1rem;
	background: rgb(255 255 255 / 8%);
}

.grovea-work-signal-grid span,
.grovea-evidence-grid article > strong {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--grovea-orange);
	font-size: 0.82rem;
	font-weight: 950;
	letter-spacing: 0.08em;
}

.grovea-work-signal-grid strong {
	display: block;
	font-size: 1.2rem;
}

.grovea-work-signal-grid p {
	margin: 0.45rem 0 0;
	color: rgb(255 255 255 / 75%);
}

.grovea-work-match-results > .grovea-panel {
	color: var(--grovea-ink);
}

.grovea-evidence-grid article,
.grovea-update-grid article {
	min-width: 0;
	padding: 1.2rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: var(--grovea-white);
}

.grovea-evidence-grid h3,
.grovea-update-grid h2 {
	margin: 0 0 0.5rem;
}

.grovea-evidence-grid p,
.grovea-update-grid p {
	margin: 0;
	color: var(--grovea-muted);
}

.grovea-work-ai-flow ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
	margin: 1.2rem 0 0;
	padding: 0;
	list-style: none;
}

.grovea-work-ai-flow li {
	display: grid;
	grid-template-columns: 2.2rem minmax(0, 1fr);
	align-items: start;
	gap: 0.7rem;
	padding: 1rem;
	border-radius: 0.9rem;
	background: #f3f8f5;
}

.grovea-work-ai-flow li strong {
	display: grid;
	width: 2.2rem;
	height: 2.2rem;
	place-items: center;
	border-radius: 50%;
	color: var(--grovea-white);
	background: var(--grovea-green);
}

.grovea-application-rail,
.grovea-readiness-list {
	display: grid;
	margin: 1.2rem 0 0;
	padding: 0;
	list-style: none;
}

.grovea-application-rail {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
}

.grovea-application-rail li {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem;
	border: 1px solid #d7e5dd;
	border-radius: 0.9rem;
	background: linear-gradient(145deg, #f7fbf8, #fff);
	font-weight: 800;
}

.grovea-application-rail strong {
	color: var(--grovea-orange-dark);
	font-size: 0.82rem;
	letter-spacing: 0.08em;
}

.grovea-readiness-list {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.55rem;
}

.grovea-readiness-list li {
	display: grid;
	align-content: start;
	gap: 0.35rem;
	min-width: 0;
	padding: 0.85rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 0.8rem;
	background: rgb(255 255 255 / 8%);
}

.grovea-readiness-list li::before {
	content: "•";
	color: var(--grovea-orange);
	font-size: 1.4rem;
	line-height: 0.7;
}

.grovea-readiness-list li.is-ready::before { color: #86efac; }
.grovea-readiness-list li.is-required::before { color: #fdba74; }
.grovea-readiness-list li.is-question::before { color: #fde68a; }

.grovea-readiness-list strong {
	font-size: 0.88rem;
}

.grovea-readiness-list span {
	color: rgb(255 255 255 / 75%);
	font-size: 0.88rem;
	line-height: 1.45;
}

.grovea-vog-boundary {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.65fr);
	align-items: end;
	gap: 1.5rem;
	border-color: #f1c79f;
	background: linear-gradient(145deg, #fffaf4, #fff);
}

.grovea-vog-boundary h2,
.grovea-vog-boundary p {
	margin-top: 0;
}

.grovea-update-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.grovea-update-topics span {
	padding: 0.6rem 0.9rem;
	border: 1px solid #cbded3;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #f3f8f5;
	font-weight: 800;
}

.grovea-update-grid article {
	display: grid;
	align-content: start;
	gap: 0.65rem;
}

.grovea-update-grid article .grovea-card__link {
	margin-top: auto;
}

@media (max-width: 1050px) {
	.grovea-card-grid--priority,
	.grovea-card-grid--supporting,
	.grovea-work-match-form__grid,
	.grovea-evidence-grid,
	.grovea-update-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-work-signal-grid,
	.grovea-readiness-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.grovea-work-ai-flow ol,
	.grovea-work-signal-grid,
	.grovea-application-rail,
	.grovea-vog-boundary {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.grovea-card-grid--priority,
	.grovea-card-grid--supporting,
	.grovea-work-match-form__grid,
	.grovea-evidence-grid,
	.grovea-update-grid,
	.grovea-readiness-list {
		grid-template-columns: 1fr;
	}
}

/* Grovea 1.17 — one My Plan, home-buying route and private route guide. */
.grovea-plan-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	position: sticky;
	top: 9.5rem;
	z-index: 12;
	padding: 0.8rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: rgb(255 255 255 / 94%);
	box-shadow: 0 0.6rem 1.8rem rgb(21 60 46 / 10%);
	backdrop-filter: blur(14px);
}

.grovea-plan-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.75rem;
	border-radius: 0.75rem;
	color: var(--grovea-green-dark);
	font-weight: 850;
	text-decoration: none;
}

.grovea-plan-nav a:hover,
.grovea-plan-nav a:focus-visible {
	background: #edf6f1;
}

.grovea-plan-nav span {
	display: grid;
	width: 1.7rem;
	height: 1.7rem;
	place-items: center;
	border-radius: 50%;
	color: var(--grovea-white);
	background: var(--grovea-green);
	font-size: 0.78rem;
}

#grovea-life-builder,
#grovea-cost-compass,
#grovea-home-buying {
	scroll-margin-top: 15rem;
}

.grovea-cost-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
}

.grovea-cost-columns fieldset {
	display: grid;
	align-content: start;
	gap: 0.7rem;
	min-width: 0;
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.9rem;
	background: #f8faf8;
}

.grovea-cost-columns legend {
	padding: 0 0.35rem;
	color: var(--grovea-green-dark);
	font-weight: 900;
}

.grovea-cost-columns label,
.grovea-buying-buffer label {
	display: grid;
	gap: 0.35rem;
	color: var(--grovea-ink);
	font-size: 0.9rem;
	font-weight: 750;
}

.grovea-cost-columns input,
.grovea-buying-buffer input {
	width: 100%;
	min-height: 2.8rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #a9c1b5;
	border-radius: 0.65rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
	font: inherit;
}

.grovea-cost-columns small {
	color: var(--grovea-muted);
	line-height: 1.45;
}

.grovea-buying-buffer {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(10rem, 0.75fr)) minmax(12rem, 0.8fr);
	gap: 1rem;
	align-items: end;
	padding: 1.1rem;
	border: 1px solid #f1c79f;
	border-radius: 1rem;
	background: #fff8ef;
}

.grovea-buying-buffer h3,
.grovea-buying-buffer p {
	margin: 0;
}

.grovea-buying-buffer p {
	margin-top: 0.35rem;
	color: var(--grovea-muted);
	line-height: 1.45;
}

.grovea-buying-buffer__result {
	display: grid;
	gap: 0.25rem;
	padding: 0.75rem;
	border-radius: 0.75rem;
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
}

.grovea-buying-buffer__result strong {
	font-size: 1.35rem;
}

.grovea-buying-path {
	display: grid;
	gap: 1.25rem;
}

.grovea-buying-progress {
	display: grid;
	grid-template-columns: max-content minmax(12rem, 1fr);
	align-items: center;
	gap: 1rem;
	padding: 0.9rem 1rem;
	border-radius: 0.85rem;
	background: #edf6f1;
}

.grovea-buying-progress progress {
	width: 100%;
	height: 0.8rem;
	accent-color: var(--grovea-green);
}

.grovea-buying-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.grovea-buying-steps li {
	min-width: 0;
}

.grovea-buying-steps label {
	display: block;
	height: 100%;
	cursor: pointer;
}

.grovea-buying-steps label > input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.grovea-buying-steps label > span {
	display: grid;
	align-content: start;
	gap: 0.45rem;
	height: 100%;
	padding: 1.1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.9rem;
	background: var(--grovea-white);
	transition: 160ms ease;
}

.grovea-buying-steps input:checked + span {
	border-color: var(--grovea-green);
	background: #edf6f1;
	box-shadow: inset 4px 0 0 var(--grovea-green);
}

.grovea-buying-steps input:focus-visible + span {
	outline: 3px solid rgb(31 77 58 / 25%);
	outline-offset: 2px;
}

.grovea-buying-steps small {
	color: var(--grovea-green);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.grovea-buying-steps strong {
	font-size: 1.05rem;
}

.grovea-buying-steps p {
	margin: 0;
	color: var(--grovea-muted);
	line-height: 1.52;
}

.grovea-buying-sources {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.grovea-buying-sources a {
	padding: 0.65rem 0.8rem;
	border: 1px solid var(--grovea-border);
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: var(--grovea-white);
	font-weight: 800;
}

.grovea-route-guide {
	position: fixed;
	right: clamp(0.8rem, 2vw, 1.5rem);
	bottom: clamp(0.8rem, 2vw, 1.5rem);
	z-index: 9998;
	font-family: inherit;
}

.grovea-guide__launcher {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 3.2rem;
	padding: 0.7rem 1rem;
	border: 0;
	border-radius: 999px;
	color: var(--grovea-white);
	background: var(--grovea-green-dark);
	box-shadow: 0 0.75rem 2rem rgb(16 50 38 / 25%);
	font: inherit;
	font-weight: 850;
	cursor: pointer;
}

.grovea-guide__launcher > span {
	display: grid;
	width: 1.8rem;
	height: 1.8rem;
	place-items: center;
	border-radius: 50%;
	color: var(--grovea-green-dark);
	background: #f7b27e;
}

.grovea-guide__panel {
	position: absolute;
	right: 0;
	bottom: calc(100% + 0.7rem);
	width: min(26rem, calc(100vw - 1.6rem));
	max-height: min(42rem, calc(100vh - 7rem));
	overflow: auto;
	padding: 1.1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1.1rem;
	color: var(--grovea-ink);
	background: var(--grovea-white);
	box-shadow: 0 1rem 3rem rgb(16 50 38 / 22%);
}

.grovea-guide__panel[hidden] {
	display: none;
}

.grovea-guide__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.grovea-guide__header h2,
.grovea-guide__header p,
.grovea-guide__intro {
	margin: 0;
}

.grovea-guide__header h2 {
	font-size: 1.35rem;
}

.grovea-guide__close {
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	border-radius: 50%;
	color: var(--grovea-ink);
	background: #edf2ef;
	font-size: 1.4rem;
	cursor: pointer;
}

.grovea-guide__intro {
	margin-top: 0.7rem;
	color: var(--grovea-muted);
	line-height: 1.5;
}

.grovea-guide__topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.85rem;
}

.grovea-guide__topics button {
	padding: 0.55rem 0.7rem;
	border: 1px solid #c8dcd1;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #f4f8f6;
	font: inherit;
	font-size: 0.86rem;
	font-weight: 800;
	cursor: pointer;
}

.grovea-guide__form {
	display: grid;
	gap: 0.4rem;
	margin-top: 0.9rem;
}

.grovea-guide__form > label {
	font-weight: 800;
}

.grovea-guide__form > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	gap: 0.4rem;
}

.grovea-guide__form input {
	min-width: 0;
	padding: 0.7rem;
	border: 1px solid #9eb9aa;
	border-radius: 0.7rem;
	font: inherit;
}

.grovea-guide__form button {
	padding: 0.7rem 0.8rem;
	border: 0;
	border-radius: 0.7rem;
	color: var(--grovea-white);
	background: var(--grovea-green);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.grovea-guide__privacy {
	margin: 0.7rem 0 0;
	color: var(--grovea-muted);
	font-size: 0.78rem;
	line-height: 1.4;
}

.grovea-guide__results {
	display: grid;
	gap: 0.55rem;
	margin-top: 0.8rem;
}

.grovea-guide__results article {
	display: grid;
	gap: 0.3rem;
	padding: 0.8rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.75rem;
	background: #f8faf8;
}

.grovea-guide__results h3,
.grovea-guide__results p {
	margin: 0;
}

.grovea-guide__results p {
	color: var(--grovea-muted);
	font-size: 0.88rem;
	line-height: 1.4;
}

.grovea-guide__results a {
	color: var(--grovea-green);
	font-weight: 850;
}

.grovea-guide__alert {
	padding: 0.7rem;
	border-left: 4px solid #b42318;
	color: #7a271a !important;
	background: #fff4ed;
	font-weight: 800;
}

@media (max-width: 1000px) {
	.grovea-cost-columns,
	.grovea-buying-buffer {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.grovea-plan-nav {
		position: static;
		grid-template-columns: 1fr;
	}

	.grovea-cost-columns,
	.grovea-buying-buffer,
	.grovea-buying-steps,
	.grovea-buying-progress {
		grid-template-columns: 1fr;
	}

	.grovea-guide__form > div {
		grid-template-columns: 1fr;
	}

	.grovea-guide__launcher {
		min-height: 2.9rem;
		padding: 0.6rem 0.8rem;
	}
}

/* Grovea Business: company-start route, calendar and browser-only cost plan. */
.grovea-business-start {
	display: grid;
	gap: clamp(1.25rem, 2.4vw, 2rem);
}

.grovea-business-start__hero {
	background: linear-gradient(135deg, #173e30 0%, #245f48 72%, #2f7458 100%);
}

.grovea-business-start__hero h1 {
	color: #fff;
}

.grovea-business-start__hero .grovea-eyebrow {
	color: #bfe7d2;
}

.grovea-business-start__hero > div > p:not(.grovea-eyebrow) {
	color: rgb(255 255 255 / 86%);
}

.grovea-business-form,
.grovea-business-result {
	display: grid;
	gap: 1.4rem;
}

.grovea-business-result {
	margin-top: 1.6rem;
}

.grovea-business-focus {
	padding: 1.35rem;
	border: 1px solid #c9ded1;
	border-left: 6px solid var(--grovea-orange);
	border-radius: 1rem;
	background: #f3faf6;
}

.grovea-business-focus h3,
.grovea-business-focus p {
	margin: 0.35rem 0 0;
}

.grovea-business-focus a {
	display: inline-flex;
	margin-top: 0.7rem;
	color: var(--grovea-green);
	font-weight: 850;
}

.grovea-business-progress {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 0.55fr);
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.15rem;
	border-radius: 0.9rem;
	background: #edf8f1;
}

.grovea-business-progress progress {
	width: 100%;
	accent-color: var(--grovea-green);
}

.grovea-business-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.grovea-business-steps li {
	min-width: 0;
}

.grovea-business-steps label {
	display: block;
	height: 100%;
	cursor: pointer;
}

.grovea-business-steps input {
	position: absolute;
	opacity: 0;
}

.grovea-business-steps label > span {
	display: grid;
	height: 100%;
	gap: 0.45rem;
	padding: 1.15rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: var(--grovea-white);
}

.grovea-business-steps input:checked + span {
	border-color: var(--grovea-green);
	background: #edf8f1;
	box-shadow: 0 0 0 3px rgb(31 77 58 / 10%);
}

.grovea-business-steps input:focus-visible + span {
	outline: 3px solid rgb(249 115 22 / 45%);
	outline-offset: 3px;
}

.grovea-business-steps small {
	color: var(--grovea-green);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.grovea-business-steps strong {
	font-size: 1.08rem;
	line-height: 1.35;
}

.grovea-business-steps p {
	margin: 0;
	color: var(--grovea-muted);
	line-height: 1.55;
}

.grovea-business-cost-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(250px, 0.9fr);
	gap: 1rem;
}

.grovea-business-cost-grid fieldset {
	display: grid;
	align-content: start;
	gap: 0.75rem;
	margin: 0;
	padding: 1.15rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
}

.grovea-business-cost-grid legend {
	padding-inline: 0.35rem;
	font-size: 1.08rem;
	font-weight: 900;
}

.grovea-business-cost-grid label {
	display: grid;
	gap: 0.35rem;
	color: var(--grovea-ink);
	font-weight: 750;
}

.grovea-business-cost-grid input,
.grovea-business-form input[type="date"],
.grovea-business-form input[type="text"] {
	min-height: 3rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid #aebfb5;
	border-radius: 0.65rem;
	background: #fff;
	font: inherit;
}

.grovea-business-cost-output {
	display: grid;
	align-content: start;
	gap: 0.65rem;
	padding: 1.15rem;
	border-radius: 1rem;
	color: #fff;
	background: var(--grovea-green-dark);
}

.grovea-business-cost-output > div {
	display: grid;
	gap: 0.15rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgb(255 255 255 / 18%);
}

.grovea-business-cost-output span {
	color: rgb(255 255 255 / 78%);
	font-size: 0.85rem;
}

.grovea-business-cost-output strong {
	font-size: 1.25rem;
}

.grovea-business-cost-output .is-highlight strong {
	color: #ffd9be;
	font-size: 1.55rem;
}

.grovea-business-scenarios {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.grovea-business-scenarios article {
	display: grid;
	align-content: start;
	gap: 0.55rem;
	padding: 1.3rem;
	border: 1px solid var(--grovea-border);
	border-top: 5px solid var(--grovea-orange);
	border-radius: 1rem;
	background: #fff;
}

.grovea-business-scenarios span {
	color: var(--grovea-green);
	font-size: 0.76rem;
	font-weight: 950;
	letter-spacing: 0.1em;
}

.grovea-business-scenarios h2,
.grovea-business-scenarios p {
	margin: 0;
}

.grovea-business-scenarios h2 {
	font-size: 1.35rem;
}

.grovea-business-scenarios p {
	color: var(--grovea-muted);
}

.grovea-business-scenarios a {
	margin-top: 0.35rem;
	color: var(--grovea-green);
	font-weight: 850;
}

@media (max-width: 1000px) {
	.grovea-business-cost-grid,
	.grovea-business-scenarios {
		grid-template-columns: 1fr 1fr;
	}

	.grovea-business-cost-output {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.grovea-business-progress,
	.grovea-business-steps,
	.grovea-business-cost-grid,
	.grovea-business-scenarios {
		grid-template-columns: 1fr;
	}

	.grovea-business-cost-output {
		grid-column: auto;
	}
}

/* Grovea Business Plan Studio: private-by-design plan, funding and launch brief. */
.grovea-business-plan {
	display: grid;
	gap: clamp(1.25rem, 2.4vw, 2rem);
}

.grovea-business-plan__hero {
	background:
		radial-gradient(circle at 88% 18%, rgb(249 115 22 / 24%), transparent 24rem),
		linear-gradient(135deg, #15382c 0%, #1f4d3a 58%, #2e6e52 100%);
}

.grovea-business-plan__hero h1 {
	max-width: 22ch;
	color: #fff;
}

.grovea-business-plan__hero .grovea-eyebrow {
	color: #c8edd9;
}

.grovea-business-plan__hero > div > p:not(.grovea-eyebrow) {
	max-width: 50rem;
	color: rgb(255 255 255 / 87%);
}

.grovea-plan-form,
.grovea-plan-section,
.grovea-plan-result {
	display: grid;
	gap: 1.25rem;
}

.grovea-plan-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 7.5rem;
	min-height: 2.6rem;
	padding: 0.6rem 0.85rem;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #e5f4eb;
	font-size: 0.86rem;
	font-weight: 900;
}

.grovea-plan-fields {
	display: grid;
	gap: 1rem;
}

.grovea-plan-fields--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grovea-plan-fields--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grovea-plan-fields label,
.grovea-plan-finance-grid label {
	display: grid;
	align-content: start;
	gap: 0.4rem;
	min-width: 0;
	color: var(--grovea-ink);
	font-weight: 780;
}

.grovea-plan-fields input,
.grovea-plan-fields select,
.grovea-plan-fields textarea,
.grovea-plan-finance-grid input {
	width: 100%;
	min-height: 3.1rem;
	padding: 0.7rem 0.8rem;
	border: 1px solid #aebfb5;
	border-radius: 0.72rem;
	color: var(--grovea-ink);
	background: #fff;
	font: inherit;
}

.grovea-plan-fields textarea {
	min-height: 7rem;
	resize: vertical;
}

.grovea-plan-fields input:focus,
.grovea-plan-fields select:focus,
.grovea-plan-fields textarea:focus,
.grovea-plan-finance-grid input:focus {
	border-color: var(--grovea-green);
	outline: 3px solid rgb(46 110 82 / 15%);
}

.grovea-plan-finance-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(250px, 0.9fr);
	gap: 1rem;
}

.grovea-plan-finance-grid fieldset {
	display: grid;
	align-content: start;
	gap: 0.8rem;
	margin: 0;
	padding: 1.15rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
}

.grovea-plan-finance-grid legend {
	padding-inline: 0.35rem;
	font-size: 1.05rem;
	font-weight: 900;
}

.grovea-plan-finance-output {
	display: grid;
	align-content: start;
	gap: 0.7rem;
	padding: 1.2rem;
	border-radius: 1rem;
	color: #fff;
	background: linear-gradient(155deg, #173e30, #245f48);
}

.grovea-plan-finance-output > div {
	display: grid;
	gap: 0.18rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid rgb(255 255 255 / 16%);
}

.grovea-plan-finance-output span {
	color: rgb(255 255 255 / 76%);
	font-size: 0.82rem;
}

.grovea-plan-finance-output strong {
	font-size: 1.22rem;
}

.grovea-plan-finance-output .is-highlight strong {
	color: #ffd6b8;
	font-size: 1.5rem;
}

.grovea-plan-signals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.grovea-plan-signals legend {
	grid-column: 1 / -1;
	margin-bottom: 0.2rem;
	font-size: 1.05rem;
	font-weight: 900;
}

.grovea-plan-signals label {
	display: block;
	min-width: 0;
	cursor: pointer;
}

.grovea-plan-signals input {
	position: absolute;
	opacity: 0;
}

.grovea-plan-signals span {
	display: grid;
	height: 100%;
	gap: 0.35rem;
	padding: 1rem;
	border: 1px solid var(--grovea-border);
	border-radius: 0.9rem;
	background: #fff;
}

.grovea-plan-signals input:checked + span {
	border-color: var(--grovea-green);
	background: #edf8f1;
	box-shadow: 0 0 0 3px rgb(46 110 82 / 10%);
}

.grovea-plan-signals input:focus-visible + span {
	outline: 3px solid rgb(249 115 22 / 42%);
	outline-offset: 3px;
}

.grovea-plan-signals small {
	color: var(--grovea-muted);
	line-height: 1.45;
}

.grovea-plan-generate {
	justify-self: start;
	margin-top: 0.35rem;
}

.grovea-plan-result {
	padding: clamp(1.3rem, 3vw, 2rem);
	border: 1px solid #bad7c6;
	border-radius: var(--grovea-radius-md);
	background: linear-gradient(135deg, #f4fbf7, #fff);
}

.grovea-plan-readiness {
	display: grid;
	grid-template-columns: 8.5rem minmax(0, 1fr);
	align-items: center;
	gap: 1.4rem;
}

.grovea-plan-score {
	display: grid;
	place-items: center;
	min-height: 8.5rem;
	padding: 1rem;
	border: 9px solid #d3e9dc;
	border-radius: 999px;
	text-align: center;
	background: #fff;
}

.grovea-plan-score strong {
	color: var(--grovea-green-dark);
	font-size: 1.8rem;
}

.grovea-plan-score span {
	color: var(--grovea-muted);
	font-size: 0.72rem;
}

.grovea-plan-readiness h2,
.grovea-plan-readiness p {
	margin: 0.3rem 0 0;
}

.grovea-plan-result-grid {
	display: grid;
	grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
	gap: 1rem;
}

.grovea-plan-result-grid > section {
	padding: 1.15rem;
	border: 1px solid var(--grovea-border);
	border-radius: 1rem;
	background: #fff;
}

.grovea-plan-result-grid h3 {
	margin: 0 0 0.8rem;
}

.grovea-plan-result-grid ul {
	margin: 0;
	padding-left: 1.2rem;
}

.grovea-plan-routes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.grovea-plan-routes a {
	display: grid;
	gap: 0.28rem;
	padding: 0.85rem;
	border: 1px solid #d7e5dc;
	border-radius: 0.75rem;
	color: var(--grovea-ink);
	text-decoration: none;
	background: #f7fbf8;
}

.grovea-plan-routes a:hover {
	border-color: var(--grovea-green);
}

.grovea-plan-routes small {
	color: var(--grovea-green);
	font-weight: 750;
}

.grovea-plan-deliverables {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.85rem;
}

.grovea-plan-deliverables article {
	display: grid;
	align-content: start;
	gap: 0.5rem;
	padding: 1.05rem;
	border: 1px solid var(--grovea-border);
	border-top: 4px solid var(--grovea-orange);
	border-radius: 0.9rem;
	background: #fff;
}

.grovea-plan-deliverables span {
	color: var(--grovea-green);
	font-size: 0.78rem;
	font-weight: 950;
}

.grovea-plan-deliverables h3,
.grovea-plan-deliverables p {
	margin: 0;
}

.grovea-plan-deliverables h3 {
	font-size: 1.08rem;
}

.grovea-plan-deliverables p {
	color: var(--grovea-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.grovea-business-service {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	padding: clamp(1.5rem, 4vw, 2.8rem);
	border-radius: var(--grovea-radius-md);
	color: #fff;
	background: var(--grovea-green-dark);
}

.grovea-business-service .grovea-eyebrow {
	color: #bee8d1;
}

.grovea-business-service h2,
.grovea-business-service p {
	margin: 0.45rem 0 0;
}

.grovea-business-service > div > p:not(.grovea-eyebrow) {
	color: rgb(255 255 255 / 78%);
}

.grovea-business-service ol {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.grovea-business-service li {
	display: grid;
	grid-template-columns: 2.3rem minmax(0, 1fr);
	gap: 0.1rem 0.75rem;
	padding: 0.85rem;
	border: 1px solid rgb(255 255 255 / 15%);
	border-radius: 0.8rem;
	background: rgb(255 255 255 / 6%);
}

.grovea-business-service li span {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #ffd5b7;
	font-weight: 950;
}

/* Grovea 1.21 — Bricks-safe readability floor and calmer interactive pages. */
.grovea-site .grovea-app {
	gap: 24px;
	font-size: 17px;
	line-height: 1.65;
}

.grovea-site .grovea-app p,
.grovea-site .grovea-app li,
.grovea-site .grovea-app label,
.grovea-site .grovea-app summary,
.grovea-site .grovea-app dt,
.grovea-site .grovea-app dd,
.grovea-site .grovea-app td,
.grovea-site .grovea-app th {
	font-size: 16px;
	line-height: 1.65;
}

.grovea-site .grovea-app small,
.grovea-site .grovea-app .grovea-eyebrow,
.grovea-site .grovea-life-tracks article > span,
.grovea-site .grovea-buying-steps small {
	font-size: 14px;
	line-height: 1.5;
}

.grovea-site .grovea-app__hero h1 {
	font-size: clamp(38px, 4.5vw, 64px);
	line-height: 1.04;
}

.grovea-site .grovea-app__hero p:last-child,
.grovea-site .grovea-panel__heading p,
.grovea-site .grovea-life-node p,
.grovea-site .grovea-life-tracks p {
	font-size: 16px;
	line-height: 1.65;
}

.grovea-site .grovea-panel h2,
.grovea-site .grovea-source-panel h2 {
	font-size: clamp(27px, 2.6vw, 38px);
	line-height: 1.15;
}

.grovea-site .grovea-panel h3,
.grovea-site .grovea-life-node h3 {
	font-size: clamp(19px, 1.7vw, 23px);
	line-height: 1.3;
}

.grovea-site .grovea-life-decisions small,
.grovea-site .grovea-life-priorities small,
.grovea-site .grovea-life-node small,
.grovea-site .grovea-calendar-row time {
	font-size: 14px;
	line-height: 1.5;
}

.grovea-site .grovea-life-node__link {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding-block: 8px;
	font-size: 15px;
	line-height: 1.4;
}

.grovea-site .grovea-life-fields input,
.grovea-site .grovea-life-fields select,
.grovea-site .grovea-cost-columns input,
.grovea-site .grovea-buying-buffer input {
	min-height: 48px;
	font-size: 16px;
}

.grovea-source-details {
	margin-block: 18px;
	border: 1px solid var(--grovea-border);
	border-radius: 14px;
	background: #f8faf8;
}

.grovea-source-details > summary {
	min-height: 48px;
	padding: 12px 16px;
	color: var(--grovea-green-dark);
	font-weight: 850;
	cursor: pointer;
}

.grovea-source-details > ul {
	margin: 0;
	padding: 4px 16px 16px 36px;
}

@media (min-width: 701px) {
	.grovea-site .grovea-plan-nav {
		top: 150px;
	}
}

@media (max-width: 700px) {
	.grovea-site .grovea-app {
		font-size: 16px;
	}

	.grovea-site .grovea-app__hero h1 {
		font-size: clamp(34px, 10vw, 46px);
	}
}

.grovea-business-service li small {
	color: rgb(255 255 255 / 72%);
}

.grovea-business-plan-callout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	border-color: #c9ded1;
	background: linear-gradient(135deg, #eff9f3, #fff7f1);
}

.grovea-business-plan-callout h2,
.grovea-business-plan-callout p {
	margin: 0.4rem 0 0;
}

@media (max-width: 1060px) {
	.grovea-plan-fields--three,
	.grovea-plan-signals {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.grovea-plan-finance-grid {
		grid-template-columns: 1fr 1fr;
	}

	.grovea-plan-finance-output {
		grid-column: 1 / -1;
	}

	.grovea-plan-deliverables {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.grovea-plan-fields--three,
	.grovea-plan-fields--two,
	.grovea-plan-finance-grid,
	.grovea-plan-signals,
	.grovea-plan-result-grid,
	.grovea-plan-routes,
	.grovea-plan-deliverables,
	.grovea-business-service {
		grid-template-columns: 1fr;
	}

	.grovea-plan-finance-output {
		grid-column: auto;
	}

	.grovea-plan-readiness {
		grid-template-columns: 1fr;
	}

	.grovea-plan-score {
		width: 8.5rem;
	}

	.grovea-business-plan-callout {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Grovea 1.21.5 — calmer hierarchy, balanced navigation and explicit WPML state. */
body.home .grovea-hero {
	padding-block: clamp(4rem, 7vw, 6.75rem);
}

body.home .grovea-section {
	padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

body.home .grovea-card-grid--priority {
	counter-reset: grovea-priority-route;
}

body.home .grovea-card-grid--priority .grovea-card {
	counter-increment: grovea-priority-route;
}

body.home .grovea-card-grid--priority .grovea-card::before {
	display: inline-flex;
	width: 2.15rem;
	height: 2.15rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	border-radius: 999px;
	color: var(--grovea-green-dark);
	background: #e6f2eb;
	content: counter(grovea-priority-route, decimal-leading-zero);
	font-size: 0.78rem;
	font-weight: 950;
	letter-spacing: 0.05em;
}

.grovea-language-switcher__menu {
	width: 18rem;
}

.grovea-language-switcher__note {
	margin: 0 0 0.4rem;
	padding: 0.55rem 0.65rem 0.7rem;
	border-bottom: 1px solid var(--grovea-border);
	color: var(--grovea-muted);
	font-size: 0.76rem;
	font-weight: 650;
	line-height: 1.45;
}

.grovea-language-switcher__item.is-disabled {
	grid-template-rows: auto auto;
}

.grovea-language-switcher__item.is-disabled small {
	grid-column: 3 / -1;
	color: #6f7f77;
	font-size: 0.68rem;
	font-weight: 650;
	line-height: 1.25;
}

/* Keep users in their selected language when a reviewed route is not ready yet. */
.grovea-shell-link--disabled,
.grovea-home-link--disabled {
	cursor: not-allowed;
	opacity: 0.62;
	pointer-events: none;
}

.grovea-header__nav .grovea-shell-link--disabled {
	color: #64736c;
	background: #f3f6f4;
}

.grovea-header__nav .grovea-shell-link--disabled::after,
.grovea-home-link--disabled::after {
	display: inline-flex;
	margin-inline-start: 0.35rem;
	padding: 0.13rem 0.4rem;
	border: 1px solid rgb(21 60 46 / 16%);
	border-radius: 999px;
	color: #607067;
	background: #fff;
	content: attr(data-grovea-status);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1.1;
	text-transform: uppercase;
}

.grovea-footer .grovea-shell-link--disabled {
	opacity: 0.5;
}

.grovea-footer .grovea-shell-link--disabled::after {
	display: none;
}

@media (max-width: 1500px) and (min-width: 992px) {
	.grovea-header__nav {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

@media (max-width: 991px) and (min-width: 621px) {
	.grovea-header__nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.grovea-language-switcher__menu {
		width: min(18rem, calc(100vw - 2rem));
	}

	.grovea-footer {
		padding-block: 2.75rem;
	}

	.grovea-footer__nav {
		gap: 1rem;
	}

	.grovea-footer__group {
		padding-top: 1.25rem;
		border-top: 1px solid rgb(255 255 255 / 12%);
	}
}

/* Wave 14: prevent long Dutch planner labels from forcing the app wider than its Bricks container. */
.grovea-business-plan > * {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.grovea-business-plan__hero > * {
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 700px) {
	.grovea-business-plan__hero .grovea-actions,
	.grovea-business-plan__hero .grovea-button {
		width: 100%;
		max-width: 100%;
	}
}

/* Grovea Core 1.23.10-rc.1 candidate overlay. Append to the reviewed design-system source only after a separate deployment approval. */

.grovea-task-item form {
	display: grid;
	min-width: 2.75rem;
	min-height: 2.75rem;
	place-items: center;
}

.grovea-task-toggle {
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
}

.grovea-form input[type="text"],
.grovea-form input[type="date"],
.grovea-form select {
	min-height: 2.75rem;
}
