:root {
	--grow-sea: #0e7168;
	--grow-sea-dark: #094f49;
	--grow-sun: #f4b347;
	--grow-coral: #d96f54;
	--grow-ink: #17342f;
	--grow-muted: #5d675f;
	--grow-paper: #fcf9f1;
	--grow-sand: #f2e8d4;
	--grow-mint: #e4f0ea;
	--grow-line: #dfd3bb;
	--grow-white: #ffffff;
	--grow-radius: 26px;
	--grow-shadow: 0 24px 70px rgba(18, 58, 51, .13);
	--grow-font-size: 17px;
	--grow-body-font: "Mulish", system-ui, sans-serif;
	--grow-heading-font: "Outfit", system-ui, sans-serif;
	--grow-page-bg: #f3ebd9;
	--grow-page-surface: #fffaf0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: light; }
body { margin: 0; background: var(--grow-page-bg, var(--grow-paper)); color: var(--grow-ink); font-family: var(--grow-body-font); font-size: var(--grow-font-size); }
h1, h2, h3, h4, h5, h6, .wp-block-button__link, .wp-block-navigation { font-family: var(--grow-heading-font); }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--grow-sun); outline-offset: 3px; }

.grow-site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid var(--grow-line); background: color-mix(in srgb, var(--grow-paper) 95%, transparent); backdrop-filter: blur(18px); }
.grow-header-inner { min-height: 94px; gap: 1rem; }
.grow-primary-navigation { margin-left: auto; }
.grow-header-actions { display: flex; align-items: center; gap: .55rem; }
.grow-header-cta { display: inline-flex; min-height: 48px; align-items: center; padding: .7rem 1.25rem; border-radius: 999px; background: var(--grow-sea); color: #fff; font-family: var(--grow-heading-font); font-weight: 700; text-decoration: none; }
.grow-round-control { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--grow-line); border-radius: 50%; background: var(--grow-white); color: var(--grow-ink); cursor: pointer; }
.grow-round-control:hover, .grow-round-control[aria-expanded="true"] { border-color: var(--grow-sea); background: var(--grow-mint); color: var(--grow-sea); }

.grow-appearance { position: relative; display: flex; gap: .45rem; }
.grow-options-panel { position: absolute; z-index: 250; top: calc(100% + 18px); right: 0; width: min(390px, calc(100vw - 28px)); max-height: min(720px, calc(100vh - 140px)); overflow: auto; padding: 1.35rem; border: 1px solid var(--grow-line); border-top: 4px solid var(--grow-sun); border-radius: 24px; background: var(--grow-white); color: var(--grow-ink); box-shadow: var(--grow-shadow); }
.grow-options-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.grow-options-heading small { color: var(--grow-sea); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.grow-options-heading h2 { margin: .1rem 0 0; font-size: 1.7rem; }
.grow-options-heading > button { width: 36px; height: 36px; border: 1px solid var(--grow-line); border-radius: 50%; background: transparent; color: inherit; font-size: 1.3rem; cursor: pointer; }
.grow-options-panel fieldset { margin: 1.1rem 0 0; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--grow-line); }
.grow-options-panel legend { color: var(--grow-muted); font-family: var(--grow-heading-font); font-size: .86rem; font-weight: 800; }
.grow-option-help { margin: .35rem 0 0; color: var(--grow-muted); font-size: .76rem; line-height: 1.4; }
.grow-option-grid { display: grid; gap: .5rem; margin-top: .65rem; }
.grow-option-grid.grow-two { grid-template-columns: 1fr 1fr; }
.grow-option-grid.grow-three { grid-template-columns: repeat(3, 1fr); }
.grow-option-grid button, .grow-size-control button, .grow-reset-options { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: .45rem; border: 1px solid var(--grow-line); border-radius: 12px; background: var(--grow-paper); color: var(--grow-ink); font-family: var(--grow-heading-font); font-weight: 700; cursor: pointer; }
.grow-option-grid button.is-selected { border-color: var(--grow-sea); background: var(--grow-mint); color: var(--grow-sea-dark); box-shadow: inset 0 0 0 1px var(--grow-sea); }
.grow-page-colour-settings legend { color: var(--grow-ink); font-size: 1rem; }
.grow-page-colour-options { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: .75rem; }
.grow-page-colour-options button { position: relative; min-width: 0; min-height: 76px; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: .65rem; padding: .65rem; border: 1px solid var(--grow-line); border-radius: 14px; background: var(--grow-paper); color: var(--grow-ink); font-family: var(--grow-heading-font); text-align: left; cursor: pointer; }
.grow-page-colour-options button:hover { border-color: color-mix(in srgb, var(--grow-sea) 62%, var(--grow-line)); transform: translateY(-1px); }
.grow-page-colour-options button.is-selected { border-color: var(--grow-sea); background: var(--grow-mint); color: var(--grow-sea-dark); box-shadow: inset 0 0 0 2px var(--grow-sea); }
.grow-page-colour-options button.is-selected::after { content: "✓"; position: absolute; top: .25rem; right: .4rem; color: var(--grow-sea-dark); font-size: .74rem; font-weight: 900; }
.grow-page-colour-options button span { min-width: 0; display: flex; flex-direction: column; gap: .12rem; }
.grow-page-colour-options button strong { font-size: .82rem; line-height: 1.2; }
.grow-page-colour-options button small { color: var(--grow-muted); font-family: var(--grow-body-font); font-size: .66rem; line-height: 1.25; }
.grow-page-preview { width: 34px; height: 46px; display: block; border-radius: 9px; box-shadow: 0 3px 9px rgba(18,58,51,.08); }
.grow-dot { width: 12px; height: 12px; border-radius: 50%; }
.grow-teal { background: #0e7168; } .grow-blue { background: #2563eb; } .grow-clay { background: #c64d22; } .grow-indigo { background: #5145cd; } .grow-forest { background: #187449; } .grow-rose { background: #bd2364; } .grow-navy { background: #174a8b; }
.grow-size-control { display: grid; grid-template-columns: 48px 1fr 48px; gap: .5rem; margin-top: .65rem; }
.grow-size-control output { min-height: 46px; display: grid; place-items: center; border: 1px solid var(--grow-line); border-radius: 12px; background: var(--grow-paper); font-family: var(--grow-heading-font); font-weight: 800; }
.grow-size-range { display: flex; justify-content: space-between; margin-top: .4rem; color: var(--grow-muted); font-size: .7rem; font-weight: 700; }
.grow-reset-options { width: 100%; margin-top: 1.2rem; border-color: var(--grow-sea); color: var(--grow-sea); }

.grow-hero { overflow: hidden; padding-block: clamp(4rem, 8vw, 7rem); background: radial-gradient(circle at 15% 18%, rgba(244,179,71,.17), transparent 23rem), linear-gradient(135deg, #fffdf7, #f5eddc); }
.grow-hero-grid { gap: clamp(2rem, 6vw, 6rem); }
.grow-hero h1 { max-width: 760px; margin-bottom: 1.4rem; font-size: clamp(3.2rem, 6.7vw, 6.6rem) !important; line-height: .94; letter-spacing: -.045em; }
.grow-eyebrow { display: inline-flex; width: auto; padding: .45rem .7rem; border: 1px solid color-mix(in srgb, var(--grow-sea) 18%, transparent); border-radius: 999px; background: var(--grow-mint); color: var(--grow-sea); font-family: var(--grow-heading-font); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.grow-community-art { min-height: 470px; display: grid; place-items: center; align-content: center; border: 12px solid rgba(255,255,255,.72); border-radius: 43% 57% 56% 44% / 47% 43% 57% 53%; background: radial-gradient(circle at 72% 22%, rgba(244,179,71,.24), transparent 27%), linear-gradient(145deg, #d8ece6, #f6ecd3 72%); box-shadow: var(--grow-shadow); text-align: center; }
.grow-community-art h2 { width: 120px; height: 120px; display: grid; place-items: center; margin: 0; border-radius: 50%; background: var(--grow-sea); color: white; font-size: 1.5rem; }
.grow-community-art p { color: var(--grow-sea-dark); font-family: var(--grow-heading-font); font-weight: 700; }
.grow-proof-band { padding-block: 2rem; background: var(--grow-sea-dark); color: white; }
.grow-proof-band h3, .grow-proof-band p { margin: 0; }
.grow-proof-band h3 { color: var(--grow-sun); }
.grow-proof-band p { color: #d4e5df; }
.grow-section { padding-block: clamp(4.5rem, 8vw, 7rem); }
.grow-section > h2 { max-width: 800px; margin-bottom: 2rem; font-size: clamp(2.3rem, 5vw, 4.2rem); }
.grow-pathways,
.grow-featured-groups,
main.grow-section.alignwide {
	width: min(1320px, calc(100% - 56px)) !important;
	max-width: 1320px !important;
	margin-inline: auto !important;
}
.grow-pathways > .grow-eyebrow,
.grow-pathways > h2,
.grow-pathways > .has-large-font-size,
.grow-pathways > .grow-card-grid,
.grow-featured-groups > .grow-eyebrow,
.grow-featured-groups > h2,
.grow-featured-groups > .has-large-font-size,
.grow-featured-groups > .wp-block-query,
.grow-featured-groups > .wp-block-buttons {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.grow-pathways > .grow-eyebrow,
.grow-featured-groups > .grow-eyebrow { width: fit-content; }
.grow-pathways > h2,
.grow-featured-groups > h2 { width: 100%; max-width: 900px; }
.grow-pathways > .grow-card-grid,
.grow-featured-groups > .wp-block-query { width: 100%; max-width: none !important; }
.grow-card-grid { gap: 1rem; }
.grow-card { padding: 2rem; border: 1px solid var(--grow-line); border-radius: var(--grow-radius); background: var(--grow-white); box-shadow: 0 10px 32px rgba(18,58,51,.08); }
.grow-pathways > .has-large-font-size, .grow-featured-groups > .has-large-font-size { max-width: 760px; color: var(--grow-muted); }
.grow-four { align-items: stretch !important; }
.grow-path-card { min-height: 310px; display: flex; flex-direction: column; }
.grow-path-card .grow-card-number { color: var(--grow-coral); font-family: var(--grow-heading-font); font-size: .8rem; font-weight: 800; letter-spacing: .12em; }
.grow-path-card h3 { margin-top: auto; font-size: 1.45rem; }
.grow-path-card p:last-child { margin-bottom: 0; font-family: var(--grow-heading-font); font-weight: 700; }
.grow-programme { padding-block: clamp(4.5rem, 8vw, 7rem); background: radial-gradient(circle at 6% 100%, rgba(244,179,71,.2), transparent 24rem), var(--grow-sea-dark); color: white; }
.grow-programme-inner { gap: clamp(2.5rem, 7vw, 6.5rem); }
.grow-programme h2 { color: white; font-size: clamp(2.3rem, 5vw, 4.2rem); }
.grow-programme .has-large-font-size { color: #c5d8d2; }
.grow-eyebrow-light { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: white; }
.grow-step-list { display: grid; gap: .65rem; }
.grow-step { align-items: flex-start !important; gap: 1rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.07); }
.grow-step-number { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; margin: 0; border-radius: 50%; background: var(--grow-sun); color: var(--grow-ink); font-family: var(--grow-heading-font); font-weight: 800; }
.grow-step h3, .grow-step p { margin: 0; }
.grow-step h3 { color: white; }
.grow-step p { color: #bfd2cc; }
.grow-benefits { padding-block: clamp(4.5rem, 8vw, 7rem); background: linear-gradient(180deg, var(--grow-white), var(--grow-mint)); }
.grow-benefits > .alignwide { width: min(1320px, calc(100% - 56px)); max-width: 1320px; }
.grow-benefits .grow-card-grid { width: 100%; max-width: none !important; }
.grow-benefits h2 { max-width: 800px; font-size: clamp(2.3rem, 5vw, 4.2rem); }
.grow-benefit-card { min-height: 230px; }
.grow-benefit-card h3 { margin-top: 3.5rem; }
.grow-benefit-card p { color: var(--grow-muted); }
.grow-group-card { min-height: 230px; }
.grow-group-grid,
.grow-featured-groups .wp-block-post-template.is-layout-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1rem;
	width: 100%;
	max-width: none !important;
	margin: 2rem 0 !important;
	padding: 0;
}
.grow-group-card { display: flex; min-width: 0; flex-direction: column; gap: .75rem; }
.grow-group-card h3 { margin: .15rem 0; font-size: 1.45rem; }
.grow-group-card h3 a { color: var(--grow-ink); text-decoration: none; }
.grow-group-card h3 a:hover { color: var(--grow-sea); text-decoration: underline; }
.grow-group-card p { margin: 0; }
.grow-group-card__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .55rem; }
.grow-group-region { color: var(--grow-sea); font-family: var(--grow-heading-font); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.grow-group-mode { display: inline-flex; padding: .25rem .65rem; border-radius: 999px; background: var(--grow-mint); color: var(--grow-sea-dark); font-size: .75rem; font-weight: 700; }
.grow-group-schedule { color: var(--grow-ink); }
.grow-group-area,
.grow-group-summary { color: var(--grow-muted); }
.grow-group-link { margin-top: auto !important; padding-top: .5rem; font-family: var(--grow-heading-font); font-weight: 700; }
.grow-group-card .taxonomy-grow_region { color: var(--grow-sea); font-family: var(--grow-heading-font); font-size: .8rem; font-weight: 800; text-transform: uppercase; }
.grow-empty-groups { margin-block: 2rem; padding: 2rem; border: 1px dashed var(--grow-line); border-radius: var(--grow-radius); background: var(--grow-white); text-align: center; }
.grow-group-details { width: 100%; margin-block: 2rem; padding: clamp(1.5rem, 4vw, 2.25rem); border: 1px solid var(--grow-line); border-radius: var(--grow-radius); background: var(--grow-white); }
.grow-group-details h2 { margin-top: 0; }
.grow-group-details dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; margin: 0; }
.grow-group-details dl > div { padding-bottom: .75rem; border-bottom: 1px solid var(--grow-line); }
.grow-group-details dt { color: var(--grow-muted); font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.grow-group-details dd { margin: .15rem 0 0; color: var(--grow-ink); font-weight: 700; }
.grow-story { padding-block: clamp(4.5rem, 8vw, 7rem); background: var(--grow-sand); }
.grow-story .wp-block-columns { gap: clamp(2.5rem, 8vw, 7rem); }
.grow-story h2 { font-size: clamp(2.3rem, 5vw, 4.2rem); }
.grow-story-art { min-height: 390px; display: grid; place-items: center; border: 12px solid var(--grow-white); border-radius: 48% 52% 43% 57% / 52% 45% 55% 48%; background: linear-gradient(145deg, var(--grow-sea), var(--grow-sea-dark)); box-shadow: var(--grow-shadow); }
.grow-story-art p { margin: 0; color: white; font-family: var(--grow-heading-font); font-size: clamp(3rem, 8vw, 7rem); font-weight: 800; }
.grow-home-cta { padding-block: 4.5rem; background: linear-gradient(135deg, var(--grow-sea), var(--grow-sea-dark)); color: white; }
.grow-home-cta h2 { max-width: 760px; margin: 0; color: white; font-size: clamp(2.2rem, 5vw, 4rem); }
.grow-home-cta .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.75); color: white; }
.grow-home-page-content:empty { display: none; }
.grow-centered-message { min-height: 60vh; display: grid; place-content: center; padding-block: 5rem; text-align: center; }
.grow-site-footer { padding-block: 5rem 2rem; background: #102e2a; color: white; }
.grow-site-footer h2, .grow-site-footer h3 { color: var(--grow-sun); }
.grow-site-footer a { color: white; }

[data-grow-accent="blue"] { --grow-sea: #2563eb; --grow-sea-dark: #1e3a8a; --grow-mint: #e8f0ff; }
[data-grow-accent="clay"] { --grow-sea: #c64d22; --grow-sea-dark: #843218; --grow-mint: #f8e9e2; }
[data-grow-accent="indigo"] { --grow-sea: #5145cd; --grow-sea-dark: #312e81; --grow-mint: #eeecff; }
[data-grow-accent="forest"] { --grow-sea: #187449; --grow-sea-dark: #0d4c30; --grow-mint: #e4f2e9; }
[data-grow-accent="rose"] { --grow-sea: #bd2364; --grow-sea-dark: #7c1644; --grow-mint: #fae8f0; }
[data-grow-accent="navy"] { --grow-sea: #174a8b; --grow-sea-dark: #0e2f5c; --grow-mint: #e7eef8; }
[data-grow-font="system"] { --grow-body-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --grow-heading-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-grow-font="readable"] { --grow-body-font: Verdana, Arial, sans-serif; --grow-heading-font: Verdana, Arial, sans-serif; }

[data-grow-theme="dark"] { --grow-ink: #eef6f2; --grow-muted: #b8c8c2; --grow-paper: #10221f; --grow-sand: #253632; --grow-line: #41534e; --grow-mint: #1d3935; --grow-white: #172b27; --grow-shadow: 0 24px 70px rgba(0,0,0,.34); color-scheme: dark; }
[data-grow-theme="dark"] .grow-site-header { background: rgba(16,34,31,.95); }
[data-grow-theme="dark"] .grow-hero { background: radial-gradient(circle at 15% 18%, rgba(244,179,71,.1), transparent 23rem), linear-gradient(135deg, #122824, #1d302b); }
[data-grow-theme="dark"] .grow-community-art { border-color: rgba(238,246,242,.12); background: radial-gradient(circle at 72% 22%, rgba(244,179,71,.2), transparent 27%), linear-gradient(145deg, #173c36, #423b2b 72%); }
[data-grow-theme="dark"] .grow-benefits { background: linear-gradient(180deg, var(--grow-paper), #142e29); }
[data-grow-theme="dark"] .grow-story { background: #27302a; }

/* Keep nested navigation easy to edit; frontend menu CSS lives in the plugin. */
.editor-styles-wrapper .grow-primary-navigation .wp-block-navigation__submenu-container {
	position: static !important;
	width: auto !important;
	display: flex !important;
	grid-template-columns: none !important;
	padding: .5rem !important;
	border: 1px solid #ddd !important;
	box-shadow: none !important;
}

@media (max-width: 1050px) {
	.grow-header-cta { display: none; }
}
@media (max-width: 900px) {
	.grow-four { flex-wrap: wrap !important; }
	.grow-four > .wp-block-column { flex-basis: calc(50% - .5rem) !important; }
	.grow-programme-inner, .grow-story .wp-block-columns { flex-direction: column; }
	.grow-group-grid,
	.grow-featured-groups .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
	.grow-header-inner { min-height: 76px; }
	.grow-round-control { width: 40px; height: 40px; }
	.grow-options-panel { position: fixed; top: 84px; right: 10px; max-height: calc(100vh - 96px); }
	.grow-option-grid.grow-three { grid-template-columns: 1fr; }
	.grow-hero { padding-block: 3.5rem; }
	.grow-hero h1 { font-size: clamp(3rem, 15vw, 4.5rem) !important; }
	.grow-community-art { min-height: 330px; border-width: 8px; }
	.grow-four > .wp-block-column { flex-basis: 100% !important; }
	.grow-path-card { min-height: 260px; }
	.grow-story-art { min-height: 300px; border-width: 8px; }
	.grow-home-cta .alignwide { align-items: flex-start; flex-direction: column; }
	.grow-pathways,
	.grow-featured-groups,
	main.grow-section.alignwide { width: min(100% - 32px, 1320px) !important; }
	.grow-group-grid,
	.grow-featured-groups .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
	.grow-group-details dl { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* -------------------------------------------------------------------------
 * Grow NZ 0.4.0 design-system and layout refinements.
 * These rules intentionally follow the original 0.3.0 component styles so
 * existing approved page layouts remain intact while the shared shell is
 * substantially improved.
 * ---------------------------------------------------------------------- */

:root {
	--grow-sea: #0e7168;
	--grow-sea-dark: #094f49;
	--grow-sun: #f4ad36;
	--grow-sun-soft: #fff0d2;
	--grow-coral: #d96f54;
	--grow-ink: #17342f;
	--grow-muted: #5d675f;
	--grow-paper: #fcf9f1;
	--grow-sand: #f2e8d4;
	--grow-mint: #e4f0ea;
	--grow-line: #dfd3bb;
	--grow-white: #ffffff;
	--grow-footer: #0d342f;
	--grow-radius-small: 14px;
	--grow-radius: 26px;
	--grow-radius-large: 38px;
	--grow-shadow-small: 0 10px 34px rgba(18, 58, 51, .08);
	--grow-shadow: 0 24px 70px rgba(18, 58, 51, .13);
	--grow-font-size: 17px;
	--grow-body-font: "Mulish", system-ui, sans-serif;
	--grow-heading-font: "Outfit", system-ui, sans-serif;
	--grow-wide: 1380px;
	--grow-gutter: clamp(1rem, 3vw, 2rem);
}

html {
	overflow-x: clip;
}

body {
	min-height: 100vh;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body > .wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	padding-inline: 0;
}

body > .wp-site-blocks > main,
body > .wp-site-blocks > .wp-block-group[role="main"] {
	flex: 1 0 auto;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

p,
li {
	text-wrap: pretty;
}

h1,
h2,
h3,
h4 {
	text-wrap: balance;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-block-button__link,
button,
input,
select,
textarea {
	font: inherit;
}

.wp-block-button__link,
.grow-header-cta {
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.wp-block-button__link:hover,
.grow-header-cta:hover {
	transform: translateY(-1px);
}

.wp-block-button__link:active,
.grow-header-cta:active {
	transform: translateY(0);
}

.grow-skip-link {
	position: fixed;
	z-index: 10000;
	top: .75rem;
	left: .75rem;
	padding: .75rem 1rem;
	border-radius: 10px;
	background: var(--grow-sun);
	color: #152d28;
	font-family: var(--grow-heading-font);
	font-weight: 800;
	text-decoration: none;
	transform: translateY(-180%);
	transition: transform .15s ease;
}

.grow-skip-link:focus {
	transform: translateY(0);
}

.grow-page-shell {
	width: min(var(--grow-wide), calc(100% - (2 * var(--grow-gutter)))) !important;
	max-width: var(--grow-wide) !important;
	margin-inline: auto !important;
	padding-block: clamp(3.75rem, 7vw, 6.5rem);
}

.grow-page-shell > :where(h1, .wp-block-post-title) {
	max-width: 18ch;
	margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
}

.grow-page-shell > .wp-block-post-featured-image {
	margin-block: 0 clamp(2rem, 5vw, 4rem);
}

.grow-page-shell .wp-block-post-content > :where(figure.alignwide, .alignwide) {
	max-width: min(var(--grow-wide), calc(100vw - (2 * var(--grow-gutter))));
}

.grow-page-shell .wp-block-post-content :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.grow-form input:not([type="checkbox"]):not([type="radio"]),
.grow-form select,
.grow-form textarea {
	width: 100%;
	min-height: 48px;
	padding: .75rem .9rem;
	border: 1px solid var(--grow-line);
	border-radius: 12px;
	background: var(--grow-white);
	color: var(--grow-ink);
}

.grow-page-shell .wp-block-post-content textarea,
.grow-form textarea {
	min-height: 150px;
	resize: vertical;
}

.grow-page-shell .wp-block-post-content :where(input, select, textarea):focus,
.grow-form :where(input, select, textarea):focus {
	border-color: var(--grow-sea);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--grow-sea) 18%, transparent);
	outline: 0;
}

.grow-page-shell table,
.wp-block-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1px solid var(--grow-line);
	border-radius: var(--grow-radius-small);
	background: var(--grow-white);
}

.grow-page-shell th,
.grow-page-shell td,
.wp-block-table th,
.wp-block-table td {
	padding: .85rem 1rem;
	border: 0;
	border-bottom: 1px solid var(--grow-line);
	text-align: left;
	vertical-align: top;
}

.grow-page-shell tr:last-child > *,
.wp-block-table tr:last-child > * {
	border-bottom: 0;
}

.grow-page-shell th,
.wp-block-table th {
	background: var(--grow-mint);
	font-family: var(--grow-heading-font);
}

/* Header shell ----------------------------------------------------------- */
.grow-site-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	padding: 0 !important;
	border-bottom: 1px solid var(--grow-line);
	background: color-mix(in srgb, var(--grow-paper) 96%, transparent);
	box-shadow: 0 8px 28px rgba(18, 58, 51, .045);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.admin-bar .grow-site-header {
	top: 32px;
}

.grow-utility-bar {
	padding: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, var(--grow-line) 78%, transparent);
	background: color-mix(in srgb, var(--grow-white) 72%, var(--grow-paper));
}

.grow-utility-inner {
	width: min(var(--grow-wide), calc(100% - (2 * var(--grow-gutter)))) !important;
	max-width: var(--grow-wide) !important;
	min-height: 40px;
	margin-inline: auto !important;
	gap: 1rem;
}

.grow-utility-message {
	margin: 0;
	color: var(--grow-muted);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .02em;
}

.grow-utility-actions {
	gap: .75rem !important;
	margin-left: auto;
}

.grow-utility-actions > .wp-block-shortcode {
	margin: 0;
}

.grow-utility-links {
	display: flex;
	align-items: center;
	gap: .95rem;
	font-size: .82rem;
	font-weight: 700;
	white-space: nowrap;
}

.grow-utility-links a {
	color: var(--grow-ink);
	text-decoration: none;
}

.grow-utility-links a:hover,
.grow-utility-links a:focus-visible {
	color: var(--grow-sea);
	text-decoration: underline;
}

.grow-cart-count {
	font-variant-numeric: tabular-nums;
}

.grow-primary-header {
	padding: 0 !important;
	background: var(--grow-paper);
}

.grow-header-primary-inner {
	width: min(var(--grow-wide), calc(100% - (2 * var(--grow-gutter)))) !important;
	max-width: var(--grow-wide) !important;
	min-height: 86px;
	display: grid !important;
	grid-template-columns: minmax(74px, auto) minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(.8rem, 2vw, 1.7rem);
	margin-inline: auto !important;
}

.grow-site-logo {
	position: relative;
	z-index: 3;
	margin: 0 !important;
}

.grow-site-logo img,
.grow-site-header .wp-block-site-logo img {
	max-height: 64px;
	width: auto;
	object-fit: contain;
}

.grow-primary-navigation {
	min-width: 0;
	margin: 0 !important;
	justify-self: center;
}

.grow-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .6rem;
	white-space: nowrap;
}

.grow-header-cta {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .72rem 1.15rem;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--grow-heading-font);
	font-size: .95rem;
	font-weight: 750;
	line-height: 1.1;
	text-decoration: none;
}

.grow-header-find {
	background: var(--grow-sea);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--grow-sea) 22%, transparent);
	color: #fff;
}

.grow-header-find:hover,
.grow-header-find:focus-visible {
	background: var(--grow-sea-dark);
	color: #fff;
}

.grow-header-donate-link,
.grow-header-donate-button .grow-header-donate-link {
	background: var(--grow-sun) !important;
	border-color: var(--grow-sun) !important;
	box-shadow: 0 8px 24px rgba(174, 106, 8, .18);
	color: #1b302b !important;
}

.grow-header-donate-link:hover,
.grow-header-donate-link:focus-visible,
.grow-header-donate-button .grow-header-donate-link:hover,
.grow-header-donate-button .grow-header-donate-link:focus-visible {
	background: #ffc15a !important;
	border-color: #ffc15a !important;
	color: #132622 !important;
}

.grow-header-donate-button {
	margin-left: .6rem;
}

.grow-appearance {
	position: relative;
	display: flex;
	gap: .4rem;
}

.grow-round-control {
	width: 34px;
	height: 34px;
	min-width: 34px;
	border-color: color-mix(in srgb, var(--grow-line) 80%, transparent);
	font-size: .82rem;
}

.grow-options-panel {
	top: calc(100% + 12px);
	right: 0;
	width: min(390px, calc(100vw - 28px));
	max-height: min(720px, calc(100vh - 120px));
}

.grow-options-panel[hidden] {
	display: none !important;
}

.grow-options-panel button:focus-visible {
	outline: 3px solid var(--grow-sun);
	outline-offset: 2px;
}

/* Footer shell ----------------------------------------------------------- */
.grow-site-footer {
	margin-top: auto;
	padding: clamp(4rem, 7vw, 6.25rem) 0 1.5rem !important;
	background:
		radial-gradient(circle at 10% 0%, rgba(244, 173, 54, .11), transparent 22rem),
		var(--grow-footer);
	color: #edf7f3;
}

.grow-site-footer .grow-footer-grid {
	width: min(var(--grow-wide), calc(100% - (2 * var(--grow-gutter)))) !important;
	max-width: var(--grow-wide) !important;
	align-items: flex-start;
	gap: clamp(2rem, 4vw, 4.5rem);
	margin-inline: auto !important;
	margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.grow-footer-brand {
	max-width: 470px;
}

.grow-footer-brand .wp-block-site-logo {
	margin: 0 0 1rem;
}

.grow-footer-brand .wp-block-site-logo img {
	border-radius: 12px;
}

.grow-site-footer .wp-block-site-title {
	margin: 0 0 .85rem;
	font-size: clamp(1.55rem, 2vw, 2rem);
}

.grow-site-footer .wp-block-site-title a {
	color: #fff;
	text-decoration: none;
}

.grow-footer-brand > p:not(.grow-footer-social) {
	max-width: 46ch;
	color: #c7dad4;
}

.grow-footer-social a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-family: var(--grow-heading-font);
	font-weight: 700;
}

.grow-site-footer h2,
.grow-site-footer h3 {
	margin: 0 0 1rem;
	color: var(--grow-sun);
	font-size: 1.08rem;
	letter-spacing: .01em;
}

.grow-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.grow-footer-links li {
	margin: 0 0 .58rem;
}

.grow-site-footer a {
	color: #f8fffc;
	text-decoration: none;
	text-underline-offset: .2em;
}

.grow-site-footer a:hover {
	color: var(--grow-sun);
	text-decoration: none;
}

.grow-site-footer a:focus-visible {
	color: var(--grow-sun);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: currentColor;
}

.grow-footer-bottom {
	width: min(var(--grow-wide), calc(100% - (2 * var(--grow-gutter)))) !important;
	max-width: var(--grow-wide) !important;
	margin-inline: auto !important;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(255, 255, 255, .18);
	color: #b9cec8;
	font-size: .82rem;
}

.grow-footer-bottom p {
	margin: 0;
}

/* Archives and articles -------------------------------------------------- */
.grow-archive-shell {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
}

.grow-archive-heading {
	width: 100%;
	max-width: 900px !important;
	margin-left: 0 !important;
}

.grow-post-query .wp-block-post-template {
	gap: clamp(1rem, 2vw, 1.5rem);
}

.grow-post-card {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 0 0 1.5rem;
	overflow: hidden;
}

.grow-post-card > :not(.wp-block-post-featured-image) {
	margin-right: 1.5rem;
	margin-left: 1.5rem;
}

.grow-post-card .wp-block-post-featured-image {
	width: 100%;
	margin: 0 0 1.25rem;
}

.grow-post-card .wp-block-post-featured-image img {
	border-radius: 0;
}

.grow-post-card .wp-block-post-date {
	color: var(--grow-muted);
	font-size: .82rem;
	font-weight: 700;
}

.grow-post-card .wp-block-post-title {
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
}

.grow-single-shell > .wp-block-post-date {
	color: var(--grow-muted);
	font-weight: 700;
}

.grow-post-navigation {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--grow-line);
}

.grow-centered-message {
	min-height: min(70vh, 700px);
	place-content: center;
	text-align: center;
}

.grow-centered-message .wp-block-search {
	width: min(100%, 540px);
	margin-inline: auto;
}

.grow-centered-message .wp-block-buttons {
	justify-content: center;
}

/* Dark mode shell -------------------------------------------------------- */
[data-grow-theme="dark"] .grow-utility-bar {
	background: #122824;
}

[data-grow-theme="dark"] .grow-primary-header {
	background: #10221f;
}

[data-grow-theme="dark"] .grow-utility-links a,
[data-grow-theme="dark"] .grow-utility-message {
	color: #d5e4df;
}

[data-grow-theme="dark"] .grow-header-find {
	background: #1a8d82;
}

[data-grow-theme="dark"] .grow-site-footer {
	background: #071d1a;
}

/* Force the core Navigation block into its accessible overlay before the
 * desktop links become crowded. WordPress still controls opening/closing. */
@media (max-width: 1180px) {
	.grow-header-primary-inner {
		grid-template-columns: auto minmax(48px, 1fr) auto;
	}

	.grow-primary-navigation {
		justify-self: end;
	}

	/* Undo the old 0.3 rule that removed the primary call to action. */
	.grow-header-cta {
		display: inline-flex !important;
	}
}

@media (max-width: 900px) {
	.admin-bar .grow-site-header {
		top: 46px;
	}

	.grow-utility-message {
		display: none;
	}

	.grow-utility-inner {
		justify-content: flex-end !important;
	}

	.grow-footer-grid {
		flex-wrap: wrap !important;
	}

	.grow-footer-grid > .wp-block-column {
		flex-basis: calc(50% - 1.5rem) !important;
	}

	.grow-footer-grid > .grow-footer-brand {
		flex-basis: 100% !important;
	}
}

@media (max-width: 780px) {
	.grow-utility-inner {
		min-height: 38px;
	}

	.grow-utility-links {
		gap: .7rem;
		font-size: .76rem;
	}

	.grow-utility-links a:nth-child(2) {
		display: none;
	}

	.grow-header-primary-inner {
		min-height: auto;
		grid-template-columns: auto 1fr;
		padding-block: .7rem 1rem;
		row-gap: .8rem;
	}

	.grow-site-logo img,
	.grow-site-header .wp-block-site-logo img {
		max-height: 54px;
	}

	.grow-primary-navigation {
		grid-column: 2;
		grid-row: 1;
	}

	.grow-header-actions {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		justify-content: stretch;
	}

	.grow-header-actions .grow-header-cta {
		min-height: 46px;
		flex: 1 1 0;
	}

	.grow-header-donate-button {
		flex: 1 1 0;
		margin-left: 0;
	}

	.grow-header-donate-button .grow-header-donate-link {
		width: 100%;
	}

	.grow-options-panel {
		position: fixed;
		top: max(74px, env(safe-area-inset-top));
		right: 10px;
		left: 10px;
		width: auto;
		max-height: calc(100vh - 90px);
	}

	.grow-post-query .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 600px) {
	.grow-utility-actions {
		width: 100%;
		justify-content: space-between !important;
	}

	.grow-utility-actions > .wp-block-shortcode {
		min-width: 0;
	}

	.grow-utility-links a:first-child {
		display: none;
	}

	.grow-header-cta {
		padding-inline: .85rem;
		font-size: .9rem;
	}

	.grow-footer-grid > .wp-block-column,
	.grow-footer-grid > .grow-footer-brand {
		flex-basis: 100% !important;
	}

	.grow-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: .5rem;
	}

	.grow-page-shell {
		width: min(100% - 2rem, var(--grow-wide)) !important;
		padding-block: 3.25rem;
	}

	.grow-page-shell .wp-block-table {
		overflow-x: auto;
	}
}

@media (max-width: 420px) {
	.grow-round-control {
		width: 32px;
		height: 32px;
		min-width: 32px;
	}

	.grow-header-actions {
		gap: .45rem;
	}

	.grow-header-actions .grow-header-cta {
		min-height: 44px;
		padding-inline: .7rem;
	}
}


/* Grow NZ 0.4.1: strict primary-header normalization ---------------------
 * Saved Site Editor headers may still contain legacy WooCommerce Customer
 * Account and Mini-Cart blocks. The utility bar now owns those links, so the
 * primary row is deliberately limited to logo, navigation and the two CTAs.
 */
.grow-header-primary-inner {
	min-height: 76px;
	grid-template-columns: 78px minmax(0, 1fr) auto;
	grid-template-rows: minmax(0, auto);
	align-content: center;
}

.grow-header-primary-inner > .grow-site-logo,
.grow-header-primary-inner > .wp-block-site-logo {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	justify-self: start;
}

.grow-header-primary-inner > .grow-primary-navigation {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	justify-self: center;
}

.grow-header-primary-inner > .grow-header-actions {
	grid-column: 3;
	grid-row: 1;
	align-self: center;
	justify-self: end;
}

/* Remove only legacy commerce controls from the primary header. Cart and
 * My Account remain available as labelled links in the utility bar. */
.grow-primary-header :where(
	.wp-block-woocommerce-customer-account,
	.wp-block-woocommerce-mini-cart,
	.wc-block-customer-account,
	.wc-block-mini-cart
) {
	display: none !important;
}

@media (min-width: 1181px) and (max-width: 1320px) {
	.grow-header-primary-inner {
		grid-template-columns: 68px minmax(0, 1fr) auto;
		gap: .7rem;
	}

	.grow-header-cta {
		min-height: 44px;
		padding-inline: .9rem;
		font-size: .88rem;
	}
}

@media (max-width: 1180px) {
	.grow-header-primary-inner {
		grid-template-columns: 68px minmax(48px, 1fr) auto;
	}
}

@media (max-width: 780px) {
	.grow-header-primary-inner {
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
	}

	.grow-header-primary-inner > .grow-site-logo,
	.grow-header-primary-inner > .wp-block-site-logo {
		grid-column: 1;
		grid-row: 1;
	}

	.grow-header-primary-inner > .grow-primary-navigation {
		grid-column: 2;
		grid-row: 1;
	}

	.grow-header-primary-inner > .grow-header-actions {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-self: stretch;
	}
}

@media (prefers-reduced-motion: reduce) {
	.grow-skip-link,
	.wp-block-button__link,
	.grow-header-cta {
		transition: none !important;
	}
}

@media print {
	.grow-site-header,
	.grow-site-footer,
	.grow-options-panel,
	.grow-skip-link {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}

	.grow-page-shell {
		width: 100% !important;
		max-width: none !important;
		padding: 0 !important;
	}
}


/* Legacy Header foundation retained for saved Site Editor Header parts. */
body,
body > .wp-site-blocks {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.grow-site-header {
	position: sticky !important;
	z-index: 1000;
	top: 0;
	margin: 0 !important;
	padding: 0 !important;
	isolation: isolate;
	overflow: visible;
}

.grow-site-header > *,
.grow-site-header > .wp-block-group,
.grow-site-header > .wp-block-group + .wp-block-group,
.grow-utility-bar,
.grow-primary-header,
.grow-utility-inner,
.grow-header-primary-inner {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.grow-utility-inner {
	min-height: 36px;
}

.grow-header-primary-inner {
	min-height: 72px;
}

.grow-primary-header,
.grow-header-primary-inner {
	overflow: visible;
}

.admin-bar .grow-site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .grow-site-header {
		top: 46px;
	}
}

/* Grow NZ 0.4.4: full-width shell for approved HTML-source pages. */
body.grow-source-layout .grow-page-shell {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.grow-source-layout .grow-page-shell > .wp-block-post-title,
body.grow-source-layout .grow-page-shell > .wp-block-post-featured-image {
	display: none !important;
}
body.grow-source-layout .grow-page-shell > .wp-block-post-content,
body.grow-source-layout .wp-block-post-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.grow-source-layout .wp-site-blocks {
	overflow-x: clip;
}
body.grow-source-layout #main-content {
	scroll-margin-top: 120px;
}


/* Grow NZ 0.5.0: single-open menus, full-site display settings and footer. */

/* Safe visitor-selected page colour presets. */
[data-grow-page="cream"] { --grow-page-bg: #f3ebd9; --grow-page-surface: #fffaf0; }
[data-grow-page="light-cream"] { --grow-page-bg: #fcf9f1; --grow-page-surface: #fffdf8; }
[data-grow-page="white"] { --grow-page-bg: #ffffff; --grow-page-surface: #ffffff; }
[data-grow-page="mint"] { --grow-page-bg: #eef6f1; --grow-page-surface: #f9fcfa; }
[data-grow-page="sky"] { --grow-page-bg: #eef5f8; --grow-page-surface: #f9fcfd; }
[data-grow-page="lavender"] { --grow-page-bg: #f4f1f8; --grow-page-surface: #fcfaff; }
[data-grow-page="peach"] { --grow-page-bg: #fbf0e8; --grow-page-surface: #fffaf6; }

.grow-page-cream { background: #f3ebd9; border: 1px solid #d8c8aa; }
.grow-page-light-cream { background: #fcf9f1; border: 1px solid #dfd3bb; }
.grow-page-white { background: #ffffff; border: 1px solid #cfd5d2; }
.grow-page-mint { background: #dfeee6; border: 1px solid #a9c9ba; }
.grow-page-sky { background: #dfeef4; border: 1px solid #a9c8d5; }
.grow-page-lavender { background: #e9e1f1; border: 1px solid #c8b8d8; }
.grow-page-peach { background: #f7dfcf; border: 1px solid #dfbda6; }

body,
body > .wp-site-blocks,
.grow-page-shell,
.grow-archive-shell,
.grow-single-shell {
	background-color: var(--grow-page-bg, var(--grow-paper));
}

/* Font choices must override WordPress global-style presets as well as source pages. */
[data-grow-font="grow"] {
	--grow-body-font: "Mulish", system-ui, -apple-system, sans-serif;
	--grow-heading-font: "Outfit", system-ui, sans-serif;
}
[data-grow-font="system"] {
	--grow-body-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--grow-heading-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[data-grow-font="readable"] {
	--grow-body-font: Verdana, Arial, sans-serif;
	--grow-heading-font: Atkinson Hyperlegible, Verdana, Arial, sans-serif;
}
body,
input,
select,
textarea,
button,
.wp-site-blocks { font-family: var(--grow-body-font) !important; }
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-button__link,
.wp-block-navigation,
.grow-primary-navigation,
.grow-site-footer .wp-block-site-title { font-family: var(--grow-heading-font) !important; }

.grow-language-status {
	margin: .65rem 0 0;
	padding: .65rem .75rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--grow-sun) 17%, var(--grow-paper));
	color: var(--grow-ink);
	font-size: .78rem;
	line-height: 1.45;
}

/* Full-site dark mode, including global block colours and the homepage. */
[data-grow-theme="dark"] {
	--grow-ink: #eef6f2;
	--grow-muted: #b8c8c2;
	--grow-paper: #10221f;
	--grow-page-bg: #0d1f1c;
	--grow-page-surface: #172b27;
	--grow-sand: #253632;
	--grow-line: #40544e;
	--grow-mint: #1d3935;
	--grow-white: #172b27;
	--grow-shadow: 0 24px 70px rgba(0,0,0,.36);
}
[data-grow-theme="dark"] body,
[data-grow-theme="dark"] body > .wp-site-blocks,
[data-grow-theme="dark"] main,
[data-grow-theme="dark"] .grow-page-shell,
[data-grow-theme="dark"] .grow-archive-shell,
[data-grow-theme="dark"] .grow-single-shell {
	background: var(--grow-page-bg) !important;
	color: var(--grow-ink) !important;
}
[data-grow-theme="dark"] main h1,
[data-grow-theme="dark"] main h2,
[data-grow-theme="dark"] main h3,
[data-grow-theme="dark"] main h4,
[data-grow-theme="dark"] main h5,
[data-grow-theme="dark"] main h6,
[data-grow-theme="dark"] main p,
[data-grow-theme="dark"] main li,
[data-grow-theme="dark"] main .has-ink-color,
[data-grow-theme="dark"] main .has-muted-color {
	color: var(--grow-ink) !important;
}
[data-grow-theme="dark"] main .has-paper-background-color,
[data-grow-theme="dark"] main .has-white-background-color,
[data-grow-theme="dark"] .grow-card,
[data-grow-theme="dark"] .grow-post-card,
[data-grow-theme="dark"] .grow-options-panel {
	background: var(--grow-page-surface) !important;
	color: var(--grow-ink) !important;
	border-color: var(--grow-line) !important;
}
[data-grow-theme="dark"] .grow-hero {
	background: radial-gradient(circle at 15% 18%, rgba(244,179,71,.11), transparent 23rem), linear-gradient(135deg, #10231f, #1b302a) !important;
}
[data-grow-theme="dark"] .grow-hero h1,
[data-grow-theme="dark"] .grow-hero p,
[data-grow-theme="dark"] .grow-community-art p { color: var(--grow-ink) !important; }
[data-grow-theme="dark"] .grow-community-art {
	background: radial-gradient(circle at 72% 22%, rgba(244,179,71,.2), transparent 27%), linear-gradient(145deg, #173c36, #423b2b 72%) !important;
}
[data-grow-theme="dark"] input,
[data-grow-theme="dark"] select,
[data-grow-theme="dark"] textarea {
	background: #0f2420 !important;
	color: var(--grow-ink) !important;
	border-color: var(--grow-line) !important;
}

/* Compact, aligned Footer. */
.grow-site-footer.grow-footer-release-050 {
	padding-block: clamp(2.8rem, 5vw, 4rem) 1.25rem;
}
.grow-footer-release-050 .grow-footer-grid {
	grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(150px, .75fr));
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}
.grow-footer-release-050 .grow-footer-brand-heading {
	gap: .8rem;
	align-items: center;
	margin-bottom: .85rem;
}
.grow-footer-release-050 .grow-footer-brand .wp-block-site-logo,
.grow-footer-release-050 .grow-footer-brand .wp-block-site-logo img {
	width: 58px !important;
	max-width: 58px !important;
	height: auto !important;
	margin: 0 !important;
}
.grow-footer-release-050 .grow-footer-brand .wp-block-site-title {
	margin: 0 !important;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}
.grow-footer-release-050 .grow-footer-brand > p:not(.grow-footer-social) {
	max-width: 40ch;
	margin-top: 0;
	font-size: .94rem;
	line-height: 1.65;
}
.grow-footer-release-050 .grow-footer-column h3 { margin-top: .2rem; }
.grow-footer-release-050 .grow-footer-links { gap: .55rem; }
.grow-footer-release-050 .grow-footer-bottom { margin-top: 2rem; }

@media (max-width: 980px) {
	.grow-footer-release-050 .grow-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.grow-footer-release-050 .grow-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
	.grow-footer-release-050 .grow-footer-grid { grid-template-columns: 1fr; }
	.grow-footer-release-050 .grow-footer-brand { grid-column: auto; }
}

.grow-footer-release-050 .grow-footer-grid {
	display: grid !important;
}


/* FAQ source-page alignment: keep the expand control pinned to the far right. */
.grow-source-page--faqs .faq {
	padding: 0;
	overflow: hidden;
}

.grow-source-page--faqs .faq > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 64px;
	padding: 1rem 1.25rem;
	list-style: none;
}

.grow-source-page--faqs .faq > summary::-webkit-details-marker {
	display: none;
}

.grow-source-page--faqs .faq > summary .pl {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	place-items: center;
	margin-left: auto;
	border-radius: 50%;
	background: var(--grow-mint, #e4f0ea);
	color: var(--grow-sea, #0e7168);
	transition: transform .2s ease;
}

.grow-source-page--faqs .faq[open] > summary .pl {
	transform: rotate(45deg);
}

.grow-source-page--faqs .faq .ans {
	padding: 0 1.25rem 1.25rem;
}
