/* Grove frontend system */
:root {
	--grove-canvas: #F7F7F5;
	--grove-surface: #FFFFFF;
	--grove-raised: #EDEEEB;
	--grove-text: #08090A;
	--grove-muted: #5E636B;
	--grove-border: #D9DBDE;
	--grove-accent: #08090A;
	--grove-accent-contrast: #FFFFFF;
	--grove-header-bg: rgba(247,247,245,.82);
	--grove-shadow-soft: 0 16px 44px rgba(8,9,10,.075);
	--grove-shadow-deep: 0 28px 80px rgba(8,9,10,.16);
	--grove-card-radius: 18px;
	--grove-logo-width: 240px;
	--grove-content-top-gap: 0px;
	--grove-content-top-gap-tablet: 0px;
	--grove-content-top-gap-mobile: 0px;
	--grove-transition: 180ms cubic-bezier(.2,.8,.2,1);
}

html[data-grove-theme="dark"] {
	--wp--preset--color--canvas: #08090A;
	--wp--preset--color--surface: #111315;
	--wp--preset--color--surface-raised: #1C1F23;
	--wp--preset--color--text: #F5F6F7;
	--wp--preset--color--text-muted: #A8ADB5;
	--wp--preset--color--border: #2C3035;
	--wp--preset--color--accent: #F5F6F7;
	--wp--preset--color--accent-contrast: #08090A;
	--grove-canvas: #08090A;
	--grove-surface: #111315;
	--grove-raised: #1C1F23;
	--grove-text: #F5F6F7;
	--grove-muted: #A8ADB5;
	--grove-border: #2C3035;
	--grove-accent: #F5F6F7;
	--grove-accent-contrast: #08090A;
	--grove-header-bg: rgba(8,9,10,.78);
	--grove-shadow-soft: 0 18px 52px rgba(0,0,0,.28);
	--grove-shadow-deep: 0 30px 90px rgba(0,0,0,.48);
}

* { box-sizing: border-box; }
html { background: var(--grove-canvas); }
body {
	background: var(--grove-canvas);
	color: var(--grove-text);
	min-height: 100vh;
	transition: background-color var(--grove-transition), color var(--grove-transition);
}
body.grove-mobile-nav-enabled { padding-bottom: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.grove-main { margin-block-start: 0 !important; padding-top: var(--grove-content-top-gap); }
.grove-main--landing { padding-top: 0; }
::selection { background: var(--grove-text); color: var(--grove-canvas); }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { transition: opacity var(--grove-transition), color var(--grove-transition), transform var(--grove-transition); }
a:hover { opacity: .72; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid color-mix(in srgb, var(--grove-text) 42%, transparent); outline-offset: 3px; }
img { height: auto; }

.grove-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid var(--grove-border);
	background: var(--grove-canvas);
}
.grove-header-glass .grove-site-header {
	background: var(--grove-header-bg);
	-webkit-backdrop-filter: blur(18px) saturate(150%);
	backdrop-filter: blur(18px) saturate(150%);
}
.admin-bar .grove-site-header { top: 32px; }
.grove-header-inner { min-height: 86px; gap: clamp(1rem, 3vw, 3rem); }
.grove-brand-logo img { width: min(var(--grove-logo-width), 42vw) !important; max-height: 64px; object-fit: contain; object-position: left center; }
html[data-grove-theme="dark"] body.grove-invert-logo-dark .grove-brand-logo img { filter: invert(1); }
.grove-site-header .wp-block-navigation-item__content { position: relative; }
.grove-site-header .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.45rem; height: 2px; background: currentColor; transition: right var(--grove-transition); }
.grove-site-header .wp-block-navigation-item__content:hover::after,
.grove-site-header .current-menu-item > .wp-block-navigation-item__content::after { right: 0; }

.grove-theme-toggle {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--grove-border);
	background: var(--grove-surface);
	color: var(--grove-text);
	display: inline-grid;
	place-items: center;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
	transition: transform var(--grove-transition), background var(--grove-transition);
}
.grove-theme-toggle:hover { transform: translateY(-1px); }
.grove-theme-toggle svg { width: 20px; height: 20px; fill: currentColor; }
.grove-theme-toggle .grove-icon-sun { display: none; }
html[data-grove-theme="dark"] .grove-theme-toggle .grove-icon-sun { display: block; }
html[data-grove-theme="dark"] .grove-theme-toggle .grove-icon-moon { display: none; }

.grove-section { padding-block: clamp(3.5rem, 8vw, 8rem); }
.grove-section + .grove-section { border-top: 1px solid var(--grove-border); }
.grove-section-kicker { color: var(--grove-muted); font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.grove-display { font-family: var(--wp--preset--font-family--syne); font-size: clamp(3.2rem, 8.8vw, 8.8rem); line-height: .86; letter-spacing: -.06em; max-width: 12ch; }
.grove-lede { color: var(--grove-muted); font-size: clamp(1.05rem, 1.8vw, 1.35rem); max-width: 58ch; }

.grove-bento-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .85fr); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.grove-bento-side { display: grid; gap: clamp(.8rem, 1.5vw, 1.15rem); }
.grove-card,
.grove-bento-grid .wp-block-post,
.grove-latest-grid .wp-block-post {
	background: var(--grove-surface);
	border: 1px solid var(--grove-border);
	border-radius: var(--grove-card-radius);
	overflow: hidden;
	transition: transform var(--grove-transition), box-shadow var(--grove-transition), border-color var(--grove-transition);
}
.grove-card:hover,
.grove-bento-grid .wp-block-post:hover,
.grove-latest-grid .wp-block-post:hover { transform: translateY(-3px); box-shadow: var(--grove-shadow-soft); border-color: color-mix(in srgb, var(--grove-text) 24%, var(--grove-border)); }
.grove-card-content { padding: clamp(1.1rem, 2vw, 1.75rem); }
.grove-card .wp-block-post-featured-image,
.grove-bento-grid .wp-block-post-featured-image,
.grove-latest-grid .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.grove-card .wp-block-post-featured-image img,
.grove-bento-grid .wp-block-post-featured-image img,
.grove-latest-grid .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.8,.2,1); }
.grove-card:hover .wp-block-post-featured-image img,
.grove-bento-grid .wp-block-post:hover .wp-block-post-featured-image img,
.grove-latest-grid .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.grove-feature-card .wp-block-post-featured-image img { aspect-ratio: 16/11; }
.grove-feature-card .wp-block-post-title { font-size: clamp(2rem, 4vw, 4.8rem); line-height: .94; margin-block: .8rem; }
.grove-mini-card { display: grid; grid-template-columns: 116px minmax(0,1fr); min-height: 116px; }
.grove-mini-card .wp-block-post-featured-image img { width: 116px; height: 100%; aspect-ratio: 1; }
.grove-mini-card .grove-card-content { padding: .9rem 1rem; }
.grove-mini-card .wp-block-post-title { font-size: 1.05rem; margin: .35rem 0; }

.grove-post-terms a,
.taxonomy-category a { display: inline-flex; align-items: center; min-height: 28px; padding: .28rem .58rem; border-radius: 999px; background: var(--grove-raised); font-size: .7rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.grove-meta-row { color: var(--grove-muted); font-size: .78rem; font-weight: 600; }
.grove-meta-row > *:not(:last-child)::after { content: "·"; margin-inline: .55rem; opacity: .55; }

.grove-latest-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.grove-latest-grid .wp-block-post { display: flex; flex-direction: column; }
.grove-latest-grid .grove-card-content { flex: 1; display: flex; flex-direction: column; }
.grove-latest-grid .wp-block-post-excerpt { margin-top: auto; }

.grove-genre-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.grove-genre-card { min-height: 240px; padding: clamp(1.2rem, 2.5vw, 2rem); display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(145deg, var(--grove-surface), var(--grove-raised)); border: 1px solid var(--grove-border); border-radius: var(--grove-card-radius); overflow: hidden; position: relative; }
.grove-genre-card::after { content: "↗"; font-size: 2.2rem; font-weight: 400; position: absolute; right: 1.2rem; bottom: 1rem; transition: transform var(--grove-transition); }
.grove-genre-card:hover::after { transform: translate(4px,-4px); }
.grove-genre-card h3 { max-width: 7ch; }

.is-style-grove-glossy {
	background: linear-gradient(145deg, color-mix(in srgb, var(--grove-surface) 96%, transparent), color-mix(in srgb, var(--grove-raised) 80%, transparent));
	border: 1px solid color-mix(in srgb, var(--grove-text) 11%, transparent);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.38), var(--grove-shadow-soft);
	border-radius: var(--grove-card-radius);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}
html[data-grove-theme="dark"] .is-style-grove-glossy { box-shadow: inset 0 1px 0 rgba(255,255,255,.07), var(--grove-shadow-soft); }
.is-style-grove-outline { border: 1px solid var(--grove-border); border-radius: var(--grove-card-radius); }
.is-style-grove-arrow .wp-block-button__link::after { content: "↗"; margin-left: .6rem; }
.is-style-grove-editorial img { aspect-ratio: 4/3; object-fit: cover; border-radius: var(--grove-card-radius); }

.grove-single-hero { padding-top: 0; }
.grove-single-title { max-width: 18ch; font-size: clamp(2.6rem, 6vw, 6.7rem); line-height: .92; }
.grove-single-image img { width: 100%; max-height: 780px; object-fit: cover; border-radius: var(--grove-card-radius); }
.grove-article-shell { display: grid; grid-template-columns: minmax(0,780px) minmax(220px,300px); justify-content: center; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.grove-article-content { font-size: clamp(1.05rem, 1.2vw, 1.18rem); line-height: 1.75; }
.grove-article-content > p:first-of-type { font-size: clamp(1.2rem, 1.7vw, 1.45rem); line-height: 1.55; }
.grove-article-content :where(h2,h3) { margin-top: 2.2em; }
.grove-article-content a { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.grove-article-aside { position: sticky; top: 130px; padding: 1.2rem; border: 1px solid var(--grove-border); border-radius: var(--grove-card-radius); color: var(--grove-muted); }
.grove-article-aside strong { color: var(--grove-text); }

.grove-archive-header { padding: 0 0 clamp(2.25rem, 5vw, 4.75rem); border-bottom: 1px solid var(--grove-border); }
.grove-archive-title { font-family: var(--wp--preset--font-family--syne); font-size: clamp(3.5rem, 9vw, 9rem); line-height: .86; letter-spacing: -.06em; }
.grove-pagination { margin-top: clamp(2.5rem, 6vw, 5rem); padding-top: 1.5rem; border-top: 1px solid var(--grove-border); }

.grove-site-footer { border-top: 1px solid var(--grove-border); padding-block: clamp(3rem, 7vw, 6rem) calc(clamp(3rem, 7vw, 6rem) + env(safe-area-inset-bottom)); }
.grove-footer-brand img { width: min(260px, 70vw) !important; }
html[data-grove-theme="dark"] body.grove-invert-logo-dark .grove-footer-brand img { filter: invert(1); }
.grove-footer-small { color: var(--grove-muted); font-size: .8rem; }

.grove-mobile-nav { display: none; }

@media (max-width: 1024px) {
	.grove-main { padding-top: var(--grove-content-top-gap-tablet); }
	.grove-bento-grid { grid-template-columns: 1fr; }
	.grove-bento-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.grove-latest-grid .wp-block-post-template { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.grove-genre-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.grove-article-shell { grid-template-columns: minmax(0,780px); }
	.grove-article-aside { position: static; }
}

@media (max-width: 782px) {
	.grove-main { padding-top: var(--grove-content-top-gap-mobile); }
	.admin-bar .grove-site-header { top: 46px; }
	.grove-header-inner { min-height: 68px; }
	.grove-brand-logo img { width: min(var(--grove-logo-width), 58vw) !important; max-height: 46px; }
	.grove-site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--grove-canvas); color: var(--grove-text); padding: 1.5rem; }
	.grove-site-header .wp-block-navigation__responsive-container-content { gap: 1.5rem; }
	.grove-display { font-size: clamp(3rem, 17vw, 5.5rem); }
	.grove-bento-side { grid-template-columns: 1fr; }
	.grove-latest-grid .wp-block-post-template { grid-template-columns: 1fr; }
	.grove-genre-grid { grid-template-columns: 1fr 1fr; }
	.grove-mini-card { grid-template-columns: 96px minmax(0,1fr); min-height: 96px; }
	.grove-mini-card .wp-block-post-featured-image img { width: 96px; }
	.grove-single-title { font-size: clamp(2.5rem, 13vw, 4.7rem); }
	body.grove-mobile-nav-enabled { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
	.grove-mobile-nav {
		display: block;
		position: fixed;
		z-index: 9998;
		left: .75rem;
		right: .75rem;
		bottom: calc(.65rem + env(safe-area-inset-bottom));
		border: 1px solid color-mix(in srgb, var(--grove-text) 13%, transparent);
		border-radius: 22px;
		background: color-mix(in srgb, var(--grove-surface) 86%, transparent);
		box-shadow: 0 18px 46px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.28);
		-webkit-backdrop-filter: blur(22px) saturate(160%);
		backdrop-filter: blur(22px) saturate(160%);
	}
	.grove-mobile-nav__inner { min-height: 64px; display: grid; grid-template-columns: repeat(4,1fr); padding: .35rem; }
	.grove-mobile-nav__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .18rem; min-width: 0; border-radius: 16px; color: var(--grove-muted); font-size: .62rem; font-weight: 650; line-height: 1; }
	.grove-mobile-nav__item svg { width: 21px; height: 21px; fill: currentColor; }
	.grove-mobile-nav__item.is-active { background: var(--grove-accent); color: var(--grove-accent-contrast); }
	.grove-site-footer { padding-bottom: calc(7rem + env(safe-area-inset-bottom)); }
}

@media (max-width: 520px) {
	.grove-genre-grid { grid-template-columns: 1fr; }
	.grove-genre-card { min-height: 180px; }
	.grove-section { padding-block: 3.25rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Native WordPress Navigation block integration. */
.grove-primary-navigation { font-weight: 650; }
.grove-primary-navigation .wp-block-navigation__submenu-container {
	min-width: 210px;
	padding: .55rem;
	border: 1px solid var(--grove-border);
	border-radius: 14px;
	background: var(--grove-surface);
	box-shadow: var(--grove-shadow-soft);
}
.grove-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .65rem .75rem;
	border-radius: 9px;
}
.grove-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--grove-raised);
}

/* Grove 1.2 newsroom editorial system. */
:root {
	--grove-card-radius: 6px;
	--grove-header-search-width: 560px;
	--grove-rule: 1px solid var(--grove-border);
}

.grove-sticky-header .grove-site-header { position: sticky; top: 0; }
.grove-static-header .grove-site-header { position: relative; top: auto; }
.grove-site-header { border-bottom: 0; background: var(--grove-canvas); }
.grove-header-glass .grove-site-header { background: var(--grove-header-bg); }
.grove-header-brand-row { min-height: 92px; gap: clamp(1.5rem,4vw,4rem); }
.grove-header-tools { flex: 1; justify-content: flex-end; gap: .8rem; }
.grove-header-search { width: min(var(--grove-header-search-width), 62vw); margin: 0; }
.grove-header-search .wp-block-search__inside-wrapper,
.grove-sidebar-search .wp-block-search__inside-wrapper { min-height: 48px; padding: 0; border: 1px solid var(--grove-border); border-radius: 4px; background: var(--grove-surface); overflow: hidden; }
.grove-header-search .wp-block-search__input,
.grove-sidebar-search .wp-block-search__input { min-width: 0; padding: .75rem 1rem; border: 0; background: transparent; color: var(--grove-text); font: inherit; }
.grove-header-search .wp-block-search__button,
.grove-sidebar-search .wp-block-search__button { min-width: 48px; margin: 0; padding: 0 1rem; border: 0; border-left: 1px solid var(--grove-border); border-radius: 0; background: transparent; color: var(--grove-text); }
.grove-header-search .wp-block-search__button svg,
.grove-sidebar-search .wp-block-search__button svg { width: 19px; height: 19px; }
.grove-header-search-disabled .grove-header-search { display: none; }
.grove-header-nav-shell { border-top: var(--grove-rule); border-bottom: var(--grove-rule); }
.grove-header-nav-row { min-height: 64px; gap: 2rem; }
.grove-primary-navigation { flex: 1; }
.grove-primary-navigation .wp-block-navigation__container { gap: clamp(1rem,2.2vw,2rem); }
.grove-header-tagline { margin: 0; color: var(--grove-muted); font-size: .72rem; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.grove-theme-toggle { width: 46px; height: 46px; flex: 0 0 auto; border-radius: 4px; box-shadow: none; }
.grove-site-header .wp-block-navigation-item__content::after { bottom: -.3rem; height: 1px; }

.grove-density-compact .grove-section { padding-block: clamp(2.6rem,5.5vw,5.2rem); }
.grove-section { padding-block: clamp(3rem,6.5vw,6rem); }
.grove-section--first { padding-top: clamp(1.2rem,2.7vw,2.5rem); }
.grove-section--ruled { border-top: var(--grove-rule); }
.grove-section + .grove-section { border-top: 0; }
.grove-kicker { margin: 0 0 .55rem; color: var(--grove-muted); font-size: .68rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }

.grove-breadcrumbs { display: flex; flex-wrap: wrap; gap: .48rem; margin-bottom: clamp(1.2rem,2.5vw,2rem); color: var(--grove-muted); font-size: .72rem; font-weight: 600; }
.grove-breadcrumbs a { color: inherit; text-decoration: underline; text-underline-offset: .16em; }
.grove-breadcrumbs span[aria-hidden="true"] { opacity: .45; }
.grove-breadcrumbs span[aria-current="page"] { overflow: hidden; max-width: 70ch; text-overflow: ellipsis; white-space: nowrap; }

.grove-archive-header { padding: clamp(1.4rem,3vw,2.5rem) 0 clamp(1.6rem,3.5vw,3rem); border-bottom: var(--grove-rule); }
.grove-archive-title { max-width: 18ch; margin: 0; font-family: var(--wp--preset--font-family--space-grotesk); font-size: clamp(2.3rem,4.6vw,4.7rem); line-height: .95; letter-spacing: -.048em; }
.grove-archive-description { max-width: 62ch; margin: .7rem 0 0; color: var(--grove-muted); font-size: .95rem; }
.grove-archive-columns { gap: clamp(1.5rem,3.5vw,3.5rem); align-items: flex-start; }
.grove-archive-sidebar { position: sticky; top: 184px; padding-left: clamp(1rem,2vw,1.6rem); border-left: var(--grove-rule); }
.grove-archive-sidebar > * + * { margin-block-start: 1.3rem; }
.grove-archive-sidebar .wp-block-heading { margin-bottom: .4rem; font-size: 1.1rem !important; }
.grove-ad-placeholder { display: grid; place-items: center; min-height: 270px; margin-top: 2rem; border: 1px dashed var(--grove-border); background: color-mix(in srgb,var(--grove-raised) 58%,transparent); color: var(--grove-muted); font-size: .7rem; text-align: center; text-transform: uppercase; letter-spacing: .08em; }

.grove-archive-query .wp-block-post-template { gap: clamp(1.5rem,3vw,2.6rem) clamp(1.1rem,2vw,1.7rem); }
.grove-archive-query .wp-block-post { background: transparent; border: 0; border-radius: 0; overflow: visible; }
.grove-archive-query .wp-block-post-featured-image { margin: 0; overflow: hidden; border-radius: var(--grove-card-radius); }
.grove-archive-query .wp-block-post-featured-image img { width: 100%; object-fit: cover; transition: transform 480ms cubic-bezier(.2,.8,.2,1); }
.grove-archive-query .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.025); }
.grove-query-card-content { padding-top: .75rem; }
.grove-query-card-content .wp-block-post-title { margin: .4rem 0; font-size: clamp(1.05rem,1.6vw,1.45rem); line-height: 1.05; }
.grove-query-card-content .wp-block-post-excerpt { margin: .5rem 0; color: var(--grove-muted); font-size: .84rem; line-height: 1.45; }
.grove-query-card-content .wp-block-post-excerpt__more-text { display: none; }
.grove-pagination { margin-top: clamp(2.5rem,5vw,4rem); padding-top: 1.2rem; border-top: var(--grove-rule); }
.grove-pagination a,.grove-pagination .current { min-width: 36px; min-height: 36px; display: inline-grid; place-items: center; border: 1px solid var(--grove-border); }
.grove-pagination .current { background: var(--grove-text); color: var(--grove-canvas); }

.grove-single-hero { padding: clamp(1.4rem,3vw,2.6rem) 0 0; }
.grove-single-title { max-width: 20ch; margin: 0 0 1rem; font-size: clamp(2.4rem,5.3vw,5.8rem); line-height: .94; letter-spacing: -.05em; }
.grove-single-meta-line { gap: .6rem .9rem; margin-bottom: clamp(1.3rem,2.6vw,2.2rem); color: var(--grove-muted); font-size: .72rem; font-weight: 600; }
.grove-single-image { margin-top: 0; }
.grove-single-image img { width: 100%; max-height: 760px; object-fit: cover; border-radius: var(--grove-card-radius); }
.grove-article-shell { display: grid; grid-template-columns: minmax(0,780px) minmax(260px,320px); justify-content: center; gap: clamp(2rem,6vw,5rem); align-items: start; }
.grove-article-aside { position: sticky; top: 190px; padding: 0 0 0 clamp(1rem,2.3vw,1.8rem); border: 0; border-left: var(--grove-rule); border-radius: 0; color: var(--grove-muted); }
.grove-article-aside .grove-top-stories-panel { margin-top: 1.5rem; }
.grove-article-aside .grove-top-stories-panel > .wp-block-heading { margin-bottom: .4rem; color: var(--grove-text); font-size: 1.05rem !important; }
.grove-post-navigation { border-top: var(--grove-rule); border-bottom: var(--grove-rule); }
.grove-post-navigation a { max-width: 44ch; font-weight: 700; }

.grove-newsletter { margin-block: clamp(2.5rem,6vw,5rem); }
.grove-newsletter h2 { max-width: 18ch; margin: 0; }
.grove-about-hero { padding-top: clamp(2rem,6vw,6rem); }

.grove-latest-grid .wp-block-post { background: transparent; border: 0; border-radius: 0; }
.grove-latest-grid .wp-block-post-featured-image { border-radius: var(--grove-card-radius); }
.grove-latest-grid .grove-card-content { padding: .75rem 0 0; }

.grove-site-footer { margin-top: clamp(3rem,7vw,7rem); }

@media (max-width: 1024px) {
	.grove-header-brand-row { min-height: 78px; }
	.grove-header-search { width: min(var(--grove-header-search-width), 54vw); }
	.grove-archive-sidebar,.grove-article-aside { position: static; padding-left: 0; border-left: 0; }
	.grove-article-shell { grid-template-columns: minmax(0,780px); }
}

@media (max-width: 782px) {
	.grove-header-brand-row { min-height: 66px; }
	.grove-header-tools { flex: 0 0 auto; }
	.grove-header-search { display: none; }
	.grove-header-nav-shell { border-top: 0; }
	.grove-header-nav-row { min-height: 52px; }
	.grove-header-tagline { display: none; }
	.grove-theme-toggle { width: 42px; height: 42px; }
	.grove-primary-navigation { width: 100%; }
	.grove-site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem; }
	.grove-site-header .wp-block-navigation__responsive-container-content::before { content: "Search TRACKTHEDJ"; display: block; margin-bottom: .6rem; color: var(--grove-muted); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
	.grove-archive-title { font-size: clamp(2.2rem,12vw,4.1rem); }
	.grove-archive-query .wp-block-post-template { grid-template-columns: 1fr !important; }
	.grove-archive-columns { display: block; }
	.grove-archive-sidebar { margin-top: 3rem; padding-top: 2rem; border-top: var(--grove-rule); }
	.grove-single-title { font-size: clamp(2.2rem,12vw,4.6rem); }
}

.grove-campaign-slot {
	margin-block: clamp(2rem, 5vw, 4rem);
	padding: clamp(1.4rem, 3vw, 2.4rem);
	border: 1px solid var(--grove-border);
	background:
		linear-gradient(120deg, color-mix(in srgb, var(--grove-raised) 82%, transparent), transparent),
		var(--grove-surface);
}
.grove-campaign-slot h3 { max-width: 28ch; margin: 0; font-size: clamp(1.35rem, 2.4vw, 2.2rem); }
.grove-campaign-slot .wp-block-columns { margin: 0; }
.grove-footer-grid { gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3rem, 7vw, 6rem); }
.grove-footer-grid .wp-block-heading { margin: 0 0 1rem; text-transform: uppercase; letter-spacing: .08em; }
.grove-footer-navigation .wp-block-navigation__container { gap: .65rem; }
.grove-footer-navigation .wp-block-navigation-item__content { color: var(--grove-muted); font-size: .88rem; }
.grove-footer-navigation .wp-block-navigation-item__content:hover { color: var(--grove-text); }
@media (max-width: 782px) {
	.grove-campaign-slot .wp-block-buttons { justify-content: flex-start; }
	.grove-footer-grid { gap: 2.5rem; }
}

/* The Grove content-gap control is the only source of header-to-content spacing. */
.grove-section--first,
.grove-archive-header,
.grove-single-hero,
.grove-about-hero { padding-top: 0; }

/* Grove 1.3 reliability and editorial layout refinements. */
:root { --grove-sticky-header-height: 158px; }

/* A fixed header is used instead of CSS sticky so the option remains reliable
   even when a block, plugin, or browser creates an overflow ancestor. */
.grove-sticky-header .grove-site-header {
	position: fixed !important;
	top: 0 !important;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 10000;
}
.grove-sticky-header .wp-site-blocks { padding-top: var(--grove-sticky-header-height) !important; }
.grove-static-header .wp-site-blocks { padding-top: 0 !important; }
.admin-bar.grove-sticky-header .grove-site-header { top: 32px !important; }
.grove-site-header { isolation: isolate; }
.grove-brand-logo img {
	width: min(var(--grove-logo-width), 42vw) !important;
	max-height: 54px;
	object-fit: contain;
	object-position: left center;
}

/* The Canvas wrapper is always frameless. Card outlines remain available as
   an intentional card style, but no global or saved block style may draw a
   box around the complete editorial canvas. */
.wp-block-grove-posts-canvas.grove-posts-canvas,
.grove-posts-canvas {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	outline: 0 !important;
	box-shadow: none !important;
	background-clip: padding-box;
}
.grove-posts-canvas::before,
.grove-posts-canvas::after { border: 0 !important; outline: 0 !important; }

/* Editable core-Columns newsroom pattern. */
.grove-editorial-hero { padding-top: clamp(1rem, 2.2vw, 2rem); padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.grove-editorial-hero__columns { gap: 0; align-items: stretch; }
.grove-editorial-hero__lead { padding-right: clamp(1rem, 2.2vw, 1.8rem); }
.grove-editorial-hero__support { padding-inline: clamp(1rem, 2vw, 1.6rem); border-left: 1px solid var(--grove-border); }
.grove-editorial-hero__rail { padding-left: clamp(1rem, 2vw, 1.6rem); border-left: 1px solid var(--grove-border); }
.grove-editorial-hero__support > * + * { margin-block-start: clamp(1rem, 2vw, 1.6rem); padding-top: clamp(1rem, 2vw, 1.6rem); border-top: 1px solid var(--grove-border); }
.grove-hero-lead .grove-canvas-card__title { font-size: clamp(2.15rem, 4vw, 4.75rem); line-height: .93; letter-spacing: -.052em; }
.grove-hero-lead .grove-canvas-card__excerpt { max-width: 66ch; font-size: .93rem; }
.grove-hero-overlay .grove-canvas-card { display: grid; min-height: 320px; overflow: hidden; border-radius: var(--grove-canvas-radius); background: #111; color: #fff; }
.grove-hero-overlay .grove-canvas-card__media,
.grove-hero-overlay .grove-canvas-card__content { grid-area: 1 / 1; }
.grove-hero-overlay .grove-canvas-card__media { height: 100%; border-radius: 0; }
.grove-hero-overlay .grove-canvas-card__media img { height: 100%; aspect-ratio: auto; }
.grove-hero-overlay .grove-canvas-card__content { align-self: end; z-index: 2; padding: 1rem; background: linear-gradient(180deg, transparent 12%, rgba(4,5,6,.91) 100%); color: #fff; }
.grove-hero-overlay .grove-canvas-card__terms a { background: rgba(255,255,255,.92); color: #08090a; }
.grove-hero-overlay .grove-canvas-card__excerpt { display: none; }
.grove-hero-overlay .grove-canvas-card__meta { color: rgba(255,255,255,.72); }
.grove-hero-secondary .grove-canvas-card__title { font-size: clamp(1.08rem, 1.45vw, 1.45rem); }
.grove-hero-rail-heading { margin: 0 0 .65rem; font-size: 1.05rem !important; }
.grove-hero-rail-search { margin-bottom: 1.2rem; }

/* Modular editorial section pattern built with Columns. */
.grove-editorial-module { padding-block: clamp(2.7rem, 5vw, 4.8rem); border-top: 1px solid var(--grove-border); }
.grove-editorial-module__header { margin-bottom: clamp(1.1rem, 2.3vw, 1.8rem); }
.grove-editorial-module__columns { gap: clamp(1.25rem, 3vw, 2.8rem); align-items: flex-start; }
.grove-editorial-module__rail { padding-left: clamp(1rem, 2vw, 1.6rem); border-left: 1px solid var(--grove-border); }
.grove-editorial-grid .grove-posts-canvas__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grove-editorial-grid .grove-canvas-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: clamp(1rem, 2.2vw, 1.8rem); padding-bottom: clamp(1rem, 2vw, 1.6rem); border-bottom: 1px solid var(--grove-border); }
.grove-editorial-grid .grove-canvas-card:first-child .grove-canvas-card__content { padding-top: 0; align-self: center; }
.grove-editorial-grid .grove-canvas-card:first-child .grove-canvas-card__title { font-size: clamp(1.7rem, 2.8vw, 3.25rem); line-height: .96; }
.grove-editorial-grid .grove-canvas-card:nth-child(n+2) { padding-top: .2rem; }
.grove-editorial-rail .grove-canvas-card { grid-template-columns: 40px 78px minmax(0,1fr); }

/* A short query should never leave a blank third rail in the legacy Newsroom layout. */
.grove-posts-canvas--newsroom.grove-posts-canvas--count-1 .grove-posts-canvas__items { grid-template-columns: 1fr; }
.grove-posts-canvas--newsroom.grove-posts-canvas--count-1 .grove-canvas-card--1 { grid-column: 1; grid-row: auto; padding-right: 0; border-right: 0; }
.grove-posts-canvas--newsroom.grove-posts-canvas--count-2 .grove-posts-canvas__items,
.grove-posts-canvas--newsroom.grove-posts-canvas--count-3 .grove-posts-canvas__items { grid-template-columns: minmax(0,1.55fr) minmax(270px,.75fr); grid-template-rows: auto; gap: clamp(1rem,2vw,1.6rem); }
.grove-posts-canvas--newsroom.grove-posts-canvas--count-2 .grove-canvas-card--1,
.grove-posts-canvas--newsroom.grove-posts-canvas--count-3 .grove-canvas-card--1 { grid-column: 1; grid-row: 1 / 3; padding-right: clamp(1rem,2vw,1.6rem); }
.grove-posts-canvas--newsroom.grove-posts-canvas--count-2 .grove-canvas-card--2,
.grove-posts-canvas--newsroom.grove-posts-canvas--count-3 .grove-canvas-card--2 { grid-column: 2; grid-row: 1; margin: 0; }
.grove-posts-canvas--newsroom.grove-posts-canvas--count-3 .grove-canvas-card--3 { grid-column: 2; grid-row: 2; margin: 0; }

@media (max-width: 782px) {
	.admin-bar.grove-sticky-header .grove-site-header { top: 46px !important; }
	.grove-brand-logo img { max-height: 44px; }
	.grove-editorial-hero__columns,
	.grove-editorial-module__columns { display: block; }
	.grove-editorial-hero__lead,
	.grove-editorial-hero__support,
	.grove-editorial-hero__rail,
	.grove-editorial-module__rail { padding-inline: 0; border-left: 0; }
	.grove-editorial-hero__support,
	.grove-editorial-hero__rail,
	.grove-editorial-module__rail { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--grove-border); }
	.grove-editorial-grid .grove-posts-canvas__items { grid-template-columns: 1fr; }
	.grove-editorial-grid .grove-canvas-card:first-child { grid-column: auto; grid-template-columns: 1fr; }
	.grove-editorial-grid .grove-canvas-card:first-child .grove-canvas-card__content { padding-top: .8rem; }
}
.grove-sticky-header { scroll-padding-top: calc(var(--grove-sticky-header-height) + 16px); }

/* Grove 1.4 — publication-scale spacing and layout. */
:root {
	--grove-site-width: 1280px;
	--grove-section-spacing: 78px;
	--grove-editorial-gap: 32px;
	--grove-page-gutter: clamp(1.25rem, 4vw, 3.5rem);
	--grove-sticky-header-height: 154px;
}

/* Keep wide editorial blocks calm and centered on large displays. */
:root { --wp--style--global--wide-size: var(--grove-site-width); }
.alignwide,
.wp-block-group.alignwide,
.wp-block-columns.alignwide,
.wp-block-query.alignwide {
	width: min(var(--grove-site-width), calc(100vw - (2 * var(--grove-page-gutter))));
	max-width: min(var(--grove-site-width), calc(100vw - (2 * var(--grove-page-gutter)))) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Sticky/fixed header: settings are mirrored server-side and by theme.js. */
body.grove-sticky-header .grove-site-header {
	position: fixed !important;
	inset: 0 0 auto 0 !important;
	width: 100% !important;
	z-index: 99990 !important;
	transform: translateZ(0);
}
body.grove-sticky-header .wp-site-blocks {
	padding-top: var(--grove-sticky-header-height) !important;
}
body.grove-static-header .grove-site-header { position: relative !important; inset: auto !important; }
body.grove-static-header .wp-site-blocks { padding-top: 0 !important; }
body.admin-bar.grove-sticky-header .grove-site-header { top: 32px !important; }

.grove-site-header {
	background: color-mix(in srgb, var(--grove-canvas) 96%, transparent);
	border: 0 !important;
	box-shadow: 0 1px 0 var(--grove-border);
}
.grove-header-glass .grove-site-header {
	background: color-mix(in srgb, var(--grove-canvas) 86%, transparent);
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
}
.grove-header-brand-row {
	min-height: 88px;
	gap: clamp(2rem, 5vw, 5rem);
}
.grove-brand-logo { flex: 0 0 auto; }
.grove-brand-logo img {
	width: min(var(--grove-logo-width), 32vw) !important;
	max-width: 100%;
	max-height: 46px;
	object-fit: contain;
	object-position: left center;
}
.grove-header-tools { min-width: 0; gap: .75rem; }
.grove-header-search {
	width: min(var(--grove-header-search-width), 100%);
	max-width: none;
	flex: 1 1 auto;
}
.grove-header-search .wp-block-search__inside-wrapper {
	min-height: 46px;
	border-color: color-mix(in srgb, var(--grove-border) 78%, transparent);
	background: color-mix(in srgb, var(--grove-surface) 82%, transparent);
}
.grove-header-search .wp-block-search__input { padding-inline: 1.05rem; font-size: .88rem; }
.grove-header-search .wp-block-search__button { min-width: 52px; }
.grove-theme-toggle { width: 46px; height: 46px; }
.grove-header-nav-row { min-height: 66px; }
.grove-primary-navigation .wp-block-navigation__container { gap: clamp(1.25rem, 2.2vw, 2.25rem); }
.grove-primary-navigation .wp-block-navigation-item__content { font-size: .95rem; line-height: 1; }
.grove-header-tagline { font-size: .72rem; }

/* Completely neutralize inherited/saved frames around editorial canvases. */
.grove-frameless-layout,
.grove-home-hero,
.grove-category-lead-shell,
.grove-editorial-module,
.grove-editorial-hero,
.grove-editorial-hero__columns,
.grove-editorial-module__columns,
.grove-archive-columns,
.grove-frameless-layout > .wp-block-columns,
.grove-frameless-layout > .wp-block-group,
.grove-frameless-layout .wp-block-grove-posts-canvas {
	border: 0 !important;
	border-width: 0 !important;
	border-style: none !important;
	outline: 0 !important;
	box-shadow: none !important;
}
.grove-frameless-layout::before,
.grove-frameless-layout::after,
.grove-home-hero::before,
.grove-home-hero::after,
.grove-editorial-module::before,
.grove-editorial-module::after { display: none !important; border: 0 !important; }

/* Homepage and section rhythm. */
.grove-main--front { overflow: clip; }
.grove-home-hero {
	padding-top: clamp(2rem, 4vw, 3.75rem);
	padding-bottom: clamp(3.5rem, 6vw, 5.75rem);
}
.grove-editorial-module {
	padding-block: clamp(3.75rem, 6vw, var(--grove-section-spacing));
	border: 0 !important;
	border-top: 1px solid var(--grove-border) !important;
}
.grove-editorial-module--highlights { padding-block: clamp(2.75rem, 4.5vw, 4.5rem); }
.grove-editorial-module__header {
	margin-bottom: clamp(1.5rem, 2.8vw, 2.35rem);
	align-items: flex-end;
}
.grove-editorial-module__header h2,
.grove-posts-canvas__title {
	font-size: clamp(2rem, 3.2vw, 3.35rem);
	line-height: .98;
	letter-spacing: -.045em;
}
.grove-section-link { margin: 0; font-size: .82rem; font-weight: 700; }
.grove-section-link a { display: inline-flex; gap: .35rem; text-decoration: none; border-bottom: 1px solid currentColor; }
.grove-editorial-module__columns {
	gap: var(--grove-editorial-gap);
	align-items: flex-start;
}
.grove-editorial-module__main { min-width: 0; }
.grove-editorial-module__rail {
	min-width: 0;
	padding-left: var(--grove-editorial-gap);
	border: 0 !important;
	border-left: 1px solid var(--grove-border) !important;
}
.grove-hero-rail-heading,
.grove-sidebar-heading {
	margin: 0 0 1rem;
	font-size: 1.05rem !important;
	line-height: 1.1;
}

/* Category pages. */
.grove-archive-header {
	padding: clamp(2.25rem, 4.2vw, 4rem) 0 clamp(2rem, 3.6vw, 3.25rem);
	border: 0;
}
.grove-archive-title {
	max-width: 20ch;
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .96;
}
.grove-archive-description { margin-top: .9rem; font-size: 1rem; line-height: 1.55; }
.grove-category-lead-shell { padding-bottom: clamp(3.5rem, 6vw, 5.5rem); }
.grove-archive-content { padding-top: clamp(3.5rem, 6vw, 5.5rem); }
.grove-archive-columns { gap: clamp(2.5rem, 4.5vw, 4.5rem); align-items: flex-start; }
.grove-archive-main { min-width: 0; }
.grove-archive-sidebar {
	position: sticky;
	top: calc(var(--grove-sticky-header-height) + 2rem);
	padding-left: clamp(1.75rem, 3vw, 2.75rem);
	border: 0 !important;
	border-left: 1px solid var(--grove-border) !important;
}
.grove-archive-sidebar > * + * { margin-block-start: 1.65rem; }
.grove-sidebar-search .wp-block-search__inside-wrapper { min-height: 46px; }
.grove-archive-query .wp-block-post-template {
	gap: clamp(2.75rem, 4.8vw, 4.5rem) clamp(1.75rem, 3vw, 2.75rem);
}
.grove-archive-query .wp-block-post { border: 0 !important; box-shadow: none !important; }
.grove-query-card-content { padding-top: 1rem; }
.grove-query-card-content .wp-block-post-title {
	margin: .55rem 0;
	font-size: clamp(1.2rem, 1.8vw, 1.65rem);
	line-height: 1.08;
	letter-spacing: -.028em;
}
.grove-query-card-content .wp-block-post-excerpt { font-size: .9rem; line-height: 1.55; }
.grove-query-card-content .grove-meta-row { margin-top: .8rem; }
.grove-ad-placeholder { min-height: 320px; }

/* Single and About pages should feel editorial, not like grids. */
.grove-single-hero { padding-top: clamp(2.5rem, 5vw, 5rem); }
.grove-single-title { font-size: clamp(2.8rem, 5.5vw, 5.75rem); max-width: 19ch; }
.grove-article-shell { gap: clamp(3rem, 7vw, 6rem); }
.grove-about-hero { padding-top: clamp(3rem, 7vw, 7rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.grove-about-hero .grove-display { max-width: 13ch; font-size: clamp(3.3rem, 7vw, 7rem); line-height: .9; }

/* Comfortable is the default; compact remains usable without becoming cramped. */
.grove-density-compact .grove-editorial-module { padding-block: clamp(3.25rem, 5vw, calc(var(--grove-section-spacing) - 12px)); }
.grove-density-comfortable .grove-editorial-module { padding-block: clamp(4rem, 6.5vw, calc(var(--grove-section-spacing) + 10px)); }

@media (max-width: 1120px) {
	:root { --grove-page-gutter: clamp(1.25rem, 3vw, 2.25rem); }
	.grove-header-brand-row { min-height: 82px; }
	.grove-brand-logo img { max-height: 42px; }
	.grove-header-search { width: min(var(--grove-header-search-width), 60vw); }
	.grove-editorial-module__columns--publication { display: block; }
	.grove-editorial-module__rail {
		margin-top: 2.5rem;
		padding: 2.25rem 0 0;
		border-left: 0 !important;
		border-top: 1px solid var(--grove-border) !important;
	}
	.grove-editorial-module__rail .grove-editorial-rail .grove-posts-canvas__items {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 2rem;
	}
	.grove-archive-sidebar { position: static; }
}

@media (max-width: 782px) {
	:root { --grove-page-gutter: 1rem; }
	body.admin-bar.grove-sticky-header .grove-site-header { top: 46px !important; }
	.grove-header-brand-row { min-height: 68px; gap: 1rem; }
	.grove-brand-logo img { width: min(var(--grove-logo-width), 54vw) !important; max-height: 38px; }
	.grove-header-search { display: none; }
	.grove-theme-toggle { width: 40px; height: 40px; }
	.grove-header-nav-row { min-height: 52px; }
	.grove-home-hero { padding-top: 1.75rem; padding-bottom: 3.25rem; }
	.grove-editorial-module { padding-block: 3.25rem; }
	.grove-editorial-module__header { align-items: flex-start; }
	.grove-editorial-module__header h2,
	.grove-posts-canvas__title { font-size: clamp(2rem, 10vw, 3rem); }
	.grove-editorial-module__columns,
	.grove-archive-columns { display: block; }
	.grove-editorial-module__rail,
	.grove-archive-sidebar {
		margin-top: 2.5rem;
		padding: 2rem 0 0;
		border-left: 0 !important;
		border-top: 1px solid var(--grove-border) !important;
	}
	.grove-editorial-module__rail .grove-editorial-rail .grove-posts-canvas__items { grid-template-columns: 1fr; }
	.grove-archive-header { padding-top: 2rem; }
	.grove-archive-title { font-size: clamp(2.5rem, 13vw, 4rem); }
	.grove-category-lead-shell { padding-bottom: 3rem; }
	.grove-archive-content { padding-top: 3rem; }
	.grove-archive-query .wp-block-post-template { grid-template-columns: 1fr !important; gap: 3rem; }
}
