:root {
	--gre-leather: #1c1512;
	--gre-leather-2: #2c1f18;
	--gre-leather-3: #3a261d;
	--gre-parchment: #e8d7b7;
	--gre-parchment-hi: #f3e6cc;
	--gre-parchment-lo: #c9ad81;
	--gre-bronze: #9b642f;
	--gre-gold: #d1a15e;
	--gre-ink: #2a1c15;
	--gre-cream: #fff4df;
	--gre-rope: linear-gradient(90deg,#5c391d 0%,#d0a05a 25%,#74502a 50%,#d6ab67 75%,#5c391d 100%);
	--gre-shadow: 0 18px 46px rgba(41, 24, 13, .24);
}

/* Body background and page canvas are controlled by saved WordPress Global Styles. */

/* Header: dark leather structure with restrained bronze tooling. */
.gre-site-header {
	position: sticky;
	top: 0;
	background:
		linear-gradient(180deg, rgba(255,255,255,.025), transparent 45%),
		linear-gradient(135deg, #211714, #120e0c 60%, #261914);
	border-bottom: 3px solid transparent;
	border-image: var(--gre-rope) 1;
	box-shadow: 0 8px 24px rgba(0,0,0,.28);
	color: var(--gre-cream);
}
.admin-bar .gre-site-header { top: 32px; }
/* Header links are intentionally separated by role so brand and navigation states do not collide. */
.gre-site-header .sd-site-brand,
.gre-site-header .sd-site-brand:visited {
	color: var(--gre-bronze);
	text-decoration: none;
}
.gre-site-header .sd-site-brand:hover,
.gre-site-header .sd-site-brand:focus-visible {
	color: var(--gre-gold);
}
.gre-site-header .wp-block-navigation-item__content,
.gre-site-header .wp-block-navigation-item__content:visited {
	color: var(--gre-cream);
	text-decoration: none;
}
.gre-site-header .wp-block-navigation-item__content:hover,
.gre-site-header .wp-block-navigation-item__content:focus-visible {
	color: var(--gre-gold);
}
.gre-site-header .current-menu-item > .wp-block-navigation-item__content,
.gre-site-header .current-menu-ancestor > .wp-block-navigation-item__content,
.gre-site-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--gre-gold);
}
.gre-site-header .sd-site-brand__logo { max-height: 72px; }
.gre-site-header .wp-block-navigation__responsive-container-open { color: var(--gre-cream); }

/* Hero intentionally carries most of the decorative weight. */
.gre-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(560px, 78vh, 880px);
	display: grid;
	place-items: center;
	padding-block: clamp(5rem, 11vw, 9rem);
	color: var(--gre-cream);
	background:
		radial-gradient(ellipse at 50% 8%, rgba(209,161,94,.20), transparent 34%),
		linear-gradient(180deg, rgba(10,7,5,.26), rgba(15,10,8,.76) 58%, #130e0c 100%),
		linear-gradient(135deg, #34241c, #17110e 48%, #2d1e17);
	border-bottom: 5px solid transparent;
	border-image: var(--gre-rope) 1;
	overflow: hidden;
}
.gre-hero::before {
	content: "";
	position: absolute;
	inset: 1.15rem;
	z-index: -1;
	border: 1px solid rgba(209,161,94,.48);
	box-shadow: inset 0 0 0 5px rgba(0,0,0,.25), inset 0 0 70px rgba(0,0,0,.55);
	pointer-events: none;
}
.gre-hero::after {
	content: "★";
	position: absolute;
	left: 50%;
	bottom: 1.8rem;
	transform: translateX(-50%);
	font-size: 2rem;
	color: var(--gre-gold);
	text-shadow: 0 2px 0 #3e2715, 0 0 18px rgba(209,161,94,.35);
}
.gre-hero__inner { position: relative; z-index: 1; }
.gre-eyebrow {
	margin-bottom: .8rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.gre-hero .gre-eyebrow { color: var(--gre-gold); }
.gre-hero__title {
	margin: 0 auto 2rem;
	max-width: 980px;
	font-size: clamp(3.2rem, 8.5vw, 7.4rem);
	line-height: .86;
	letter-spacing: -.035em;
	color: #f5e7cb;
	text-transform: uppercase;
	text-shadow: 0 3px 0 #5a3519, 0 8px 28px rgba(0,0,0,.74);
}
.gre-hero__amp { display: block; margin-block: .12em; font-size: .48em; color: var(--gre-gold); }
.gre-hero__sub { display: block; font-size: .33em; letter-spacing: .045em; }

.gre-date-plate {
	position: relative;
	max-width: 760px;
	margin: 0 auto 2rem;
	padding: 1rem clamp(1.4rem, 4vw, 3rem) 1.2rem;
	background: linear-gradient(180deg, #4a2d1f, #241712);
	border: 1px solid var(--gre-gold);
	box-shadow: inset 0 0 0 4px rgba(10,7,5,.55), 0 12px 24px rgba(0,0,0,.38);
	clip-path: polygon(3% 0,97% 0,100% 50%,97% 100%,3% 100%,0 50%);
}
.gre-date-plate__label { margin: 0; color: var(--gre-gold); font-family: var(--wp--preset--font-family--display); font-size: .73rem; font-weight: 800; letter-spacing: .20em; text-transform: uppercase; }
.gre-date-plate__date { margin: .15rem 0 .25rem; color: var(--gre-cream); font-size: clamp(1.65rem, 4vw, 3rem); text-transform: uppercase; }
.gre-date-plate__place { margin: 0; color: #e7d6bd; font-size: .83rem; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; }

.wp-block-button .wp-element-button {
	background: linear-gradient(180deg, #b77a3f, #74451f);
	border-color: #d8ae72;
	box-shadow: inset 0 1px rgba(255,255,255,.18), 0 6px 12px rgba(0,0,0,.20);
	color: #fff6e7;
}
.wp-block-button .wp-element-button:hover { filter: brightness(1.09); color: #fff; }
.wp-block-button.is-style-outline .wp-element-button { background: rgba(18,13,11,.45); color: var(--gre-cream); border-color: var(--gre-gold); }

.gre-section { padding-block: clamp(3.5rem, 8vw, 7rem); }
.gre-section--dark {
	background:
		radial-gradient(circle at 15% 20%, rgba(177,111,52,.10), transparent 30%),
		linear-gradient(135deg, #261914, #120d0b 65%, #2b1c15);
	color: var(--gre-cream);
	border-block: 3px solid transparent;
	border-image: var(--gre-rope) 1;
}
.gre-section--dark :where(h1,h2,h3,p,a) { color: inherit; }

.gre-section-title {
	position: relative;
	margin-bottom: clamp(2rem, 4vw, 3rem);
	font-size: clamp(2rem, 5vw, 4rem);
	text-transform: uppercase;
}
.gre-parchment-panel {
	position: relative;
	margin-block: clamp(2.5rem, 6vw, 5rem);
	padding: clamp(2rem, 6vw, 4.25rem);
	background:
		radial-gradient(circle at 25% 18%, rgba(255,255,255,.28), transparent 28%),
		repeating-linear-gradient(12deg, rgba(93,57,30,.022) 0 1px, transparent 1px 4px),
		var(--gre-parchment-hi);
	border: 1px solid #8a5c31;
	box-shadow: inset 0 0 0 6px rgba(128,82,40,.07), var(--gre-shadow);
}
.gre-parchment-panel::before,
.gre-parchment-panel::after {
	content: "★";
	position: absolute;
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	color: var(--gre-bronze);
	background: var(--gre-leather);
	border: 1px solid var(--gre-gold);
	border-radius: 50%;
	font-size: .9rem;
	box-shadow: 0 3px 8px rgba(0,0,0,.28);
}
.gre-parchment-panel::before { top: -1rem; left: -1rem; }
.gre-parchment-panel::after { right: -1rem; bottom: -1rem; }
.gre-event-details .gre-detail-grid { gap: clamp(1rem, 3vw, 2.4rem); }
.gre-event-details .wp-block-column { padding: 1.2rem; border-top: 2px solid var(--gre-bronze); }
.gre-event-details h3 { font-size: 1.2rem; text-transform: uppercase; color: var(--gre-bronze); }

.gre-discipline-grid { gap: clamp(1rem, 2.8vw, 2rem); }
.gre-leather-card {
	position: relative;
	min-height: 250px;
	display: grid;
	align-content: center;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background:
		linear-gradient(145deg, rgba(255,255,255,.035), transparent 42%),
		linear-gradient(135deg, #38251c, #17110e);
	border: 1px solid #8c5d31;
	box-shadow: inset 0 0 0 5px rgba(0,0,0,.30), 0 16px 28px rgba(0,0,0,.22);
}
.gre-leather-card::before {
	content: "★";
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
	color: var(--gre-gold);
}
.gre-leather-card h3 { margin-top: 1rem; color: var(--gre-cream); text-transform: uppercase; }
.gre-leather-card p { color: #d9c6aa; }

.gre-sponsor-cta { text-align: center; }
.gre-sponsor-cta .gre-eyebrow { color: var(--gre-bronze); }


/* GRE brand decision: visited body links remain visually identical to unvisited links. */
.wp-site-blocks main a:not(.wp-element-button):link,
.wp-site-blocks main a:not(.wp-element-button):visited {
	color: var(--sd-color-link, var(--gre-bronze));
}
.wp-site-blocks main a:not(.wp-element-button):hover {
	color: var(--sd-color-link-hover, var(--gre-ink));
}
.wp-site-blocks main a:not(.wp-element-button):focus-visible {
	color: var(--sd-color-link-focus, var(--gre-ink));
}

/* Interior pages inherit Core structure but get a subtle event treatment. */
.sd-page-shell,
.sd-single-shell { position: relative; }
.sd-entry-header .wp-block-post-title { text-transform: uppercase; }
.is-style-sd-card,
.is-style-sd-soft-panel { border: 1px solid rgba(116,72,34,.28); }
.is-style-sd-dark-panel { background: linear-gradient(135deg, #2f2018, #17110e); border: 1px solid rgba(209,161,94,.32); }
.is-style-sd-framed-image img { border: 5px solid #2e1d16; outline: 1px solid #b07c45; outline-offset: -3px; }

.gre-site-footer {
	position: relative;
	background:
		radial-gradient(circle at 85% 15%, rgba(190,124,60,.10), transparent 30%),
		linear-gradient(135deg, #211714, #100c0a);
	border-top: 4px solid transparent;
	border-image: var(--gre-rope) 1;
	color: var(--gre-cream);
}
.gre-site-footer::before {
	content: "★";
	position: absolute;
	top: -1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gre-leather);
	border: 1px solid var(--gre-gold);
	color: var(--gre-gold);
}
.gre-site-footer a { color: var(--gre-gold); }
.gre-footer-kicker { margin: .45rem 0 0; font-family: var(--wp--preset--font-family--display); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #d6c4aa; }

/* Palette-specific refinement: the light Dressage palette keeps ornament but lifts contrast. */
.sd-palette-dressage .gre-site-header,
.sd-palette-dressage .gre-site-footer { background: linear-gradient(135deg, #33251f, #1d1613); }
.sd-palette-dressage .gre-parchment-panel { background-color: #fbf4e7; }

@media (max-width: 960px) {
	.gre-site-header__inner { gap: .7rem; }
	.gre-site-header .sd-site-brand__logo { max-height: 58px; }
	.gre-hero { min-height: 620px; }
	.gre-discipline-grid { flex-wrap: wrap !important; }
	.gre-discipline-grid > .wp-block-column { flex-basis: calc(50% - .75rem) !important; }
}

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

@media (max-width: 700px) {
	.gre-site-header { position: relative; top: auto; }
	.gre-hero { min-height: 560px; padding-block: 4.5rem 5.5rem; }
	.gre-hero::before { inset: .55rem; }
	.gre-hero__title { font-size: clamp(2.6rem, 15vw, 4.25rem); }
	.gre-hero__sub { font-size: .30em; line-height: 1.1; }
	.gre-date-plate { clip-path: none; padding-inline: 1rem; }
	.gre-date-plate__place { letter-spacing: .04em; }
	.gre-parchment-panel { margin-inline: .25rem; padding: 1.5rem; }
	.gre-parchment-panel::before,
	.gre-parchment-panel::after { display: none; }
	.gre-discipline-grid > .wp-block-column { flex-basis: 100% !important; }
	.gre-leather-card { min-height: 210px; }
	.gre-footer-kicker { letter-spacing: .08em; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; }
}

/* -------------------------------------------------------------------------
 * GRE 0.0.4 material system
 * ---------------------------------------------------------------------- */

@font-face {
	font-family: "Cowboy Sage";
	src: url("../fonts/cowboy-sage-gfix-regular.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

:root {
	--gre-font-cowboy: "Cowboy Sage", Rockwell, Georgia, serif;
	--gre-asset-leather: url("../svg/leather-grain.svg");
	--gre-asset-parchment: url("../svg/parchment-grain.svg");
	--gre-asset-rope: url("../svg/rope-divider.svg");
	--gre-asset-concho: url("../svg/concho-star.svg");
}

/* The custom face is intentionally a display option, not a body/UI font. */
.is-style-gre-display,
.gre-display,
.gre-hero__title {
	font-family: var(--gre-font-cowboy);
	font-weight: 400;
	letter-spacing: .015em;
}

/* Theme surfaces use real reusable assets rather than flattening the page into artwork. */
/* 0.0.22: material styles no longer inject ornament SVGs. Add decorative assets explicitly with HomeSage. */
.is-style-gre-leather-frame,
.gre-leather-frame {
	position: relative;
	isolation: isolate;
	padding: clamp(1.75rem, 4vw, 3.5rem);
	color: var(--gre-cream);
	background-color: var(--gre-leather);
	background-image:
		linear-gradient(135deg, rgba(255,255,255,.035), transparent 36%),
		var(--gre-asset-leather),
		linear-gradient(135deg, #34231b, #130e0c 70%);
	border: 2px solid #6e4324;
	box-shadow:
		inset 0 0 0 5px rgba(209,161,94,.22),
		inset 0 0 0 8px rgba(0,0,0,.45),
		0 18px 42px rgba(32,18,10,.24);
}

.is-style-gre-leather-frame :where(h1,h2,h3,h4,h5,h6,p,li) { color: inherit; }

.is-style-gre-parchment-frame,
.gre-parchment-frame {
	position: relative;
	padding: clamp(1.75rem, 4vw, 3.5rem);
	background-color: var(--gre-parchment-hi);
	background-image:
		radial-gradient(circle at 14% 10%, rgba(255,255,255,.34), transparent 24%),
		var(--gre-asset-parchment),
		linear-gradient(180deg, #f3e6cc, #e2cda8);
	border: 1px solid #8f5b2c;
	box-shadow:
		inset 0 0 0 4px rgba(255,255,255,.18),
		inset 0 0 0 8px rgba(111,67,32,.08),
		0 14px 34px rgba(61,35,18,.18);
}
.is-style-gre-parchment-frame::before,
.gre-parchment-frame::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(118,70,31,.35);
	pointer-events: none;
}

.gre-rope-divider {
	height: 30px;
	margin-block: clamp(1.4rem, 3vw, 2.4rem);
	background: var(--gre-asset-rope) center/100% 100% no-repeat;
}
.gre-concho {
	width: clamp(54px, 7vw, 88px);
	aspect-ratio: 1;
	margin-inline: auto;
	background: var(--gre-asset-concho) center/contain no-repeat;
}

/* Homepage composition: decorated frame + editable WordPress content. */
.gre-home-shell {
	padding-block: clamp(2rem, 4vw, 4rem) clamp(4rem, 7vw, 7rem);
}
.gre-home-hero {
	position: relative;
	margin-inline: auto;
	padding: clamp(3.5rem, 8vw, 7rem) clamp(1.5rem, 6vw, 5rem);
	background:
		linear-gradient(180deg, rgba(243,230,204,.16), transparent 24%),
		var(--gre-asset-parchment),
		linear-gradient(135deg, #efe0c1, #d7bd91);
	border: 2px solid #6d4324;
	box-shadow:
		inset 0 0 0 5px rgba(92,54,26,.12),
		0 22px 52px rgba(53,29,15,.20);
	overflow: hidden;
}
.gre-home-hero .gre-display {
	font-size: clamp(3rem, 8vw, 7.5rem);
	line-height: .9;
	text-transform: uppercase;
	color: var(--gre-ink);
	text-shadow: 0 2px 0 rgba(255,255,255,.35);
}
.gre-home-hero .gre-home-subtitle {
	font-family: var(--wp--preset--font-family--editorial, Georgia, serif);
	font-size: clamp(1rem, 2.1vw, 1.45rem);
	color: var(--gre-muted, #6e5846);
}
.gre-home-hero .gre-concho { margin-top: 1.5rem; }
.gre-home-hero .gre-rope-divider { margin-inline: auto; width: min(820px, 100%); }

.gre-home-grid {
	gap: clamp(1.25rem, 3vw, 2.5rem);
}
.gre-home-grid > .wp-block-column {
	position: relative;
	padding: clamp(1.5rem, 3vw, 2.35rem);
	background:
		var(--gre-asset-leather),
		linear-gradient(145deg, #38251d, #17100d);
	border: 1px solid #8c5a2d;
	box-shadow: inset 0 0 0 4px rgba(209,161,94,.12), 0 10px 25px rgba(0,0,0,.20);
	color: var(--gre-cream);
}
.gre-home-grid > .wp-block-column::before {
	content: "";
	display: block;
	width: 56px;
	aspect-ratio: 1;
	margin: 0 auto 1rem;
	background: var(--gre-asset-concho) center/contain no-repeat;
}
.gre-home-grid > .wp-block-column :where(h3,p) { color: inherit; }

@media (max-width: 700px) {
.gre-home-hero { padding-inline: 1.25rem; }
}

/* -------------------------------------------------------------------------
 * GRE 0.0.6 — homepage special treatment
 * Poster language decomposed into editable blocks + theme-owned ornament.
 * ---------------------------------------------------------------------- */
.gre-home-v2 { background: transparent; }

.gre-homepage-hero {
	position: relative;
	padding: clamp(2rem, 5vw, 5rem) 1rem clamp(3rem, 6vw, 6rem);
	background:
		radial-gradient(ellipse at 50% 12%, rgba(209,161,94,.16), transparent 34%),
		var(--gre-asset-leather),
		linear-gradient(135deg, #2e211b, #110d0b 64%, #291b16);
	border-block: 5px solid #6b4323;
	box-shadow: inset 0 0 0 2px #c08a4f, inset 0 0 0 7px rgba(0,0,0,.68);
	color: var(--gre-cream);
}
.gre-homepage-hero__inner { position:relative; z-index:1; }
.gre-hero-brand { margin: 0 auto clamp(1rem, 2vw, 1.75rem); max-width: min(980px, 88vw); }
.gre-hero-brand img { width:100%; height:auto; filter: drop-shadow(0 16px 22px rgba(0,0,0,.48)); }
.gre-homepage-hero .gre-eyebrow,
.gre-homepage-hero .gre-event-location { color: #f0d8ad; }
.gre-homepage-hero .gre-eyebrow { margin-top:.2rem; }

.gre-event-plaque {
	position:relative;
	max-width: 780px;
	margin: 0 auto 1.4rem;
	padding: 1rem clamp(1.5rem,4vw,3rem) 1.15rem;
	background:
		linear-gradient(180deg, rgba(255,255,255,.035), transparent),
		var(--gre-asset-leather),
		linear-gradient(180deg,#563526,#211510);
	border: 2px solid #b2783c;
	clip-path: polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);
	box-shadow: inset 0 0 0 4px rgba(10,6,4,.65), 0 10px 25px rgba(0,0,0,.38);
}
.gre-event-date { color:#fff0d4; margin:.05rem 0 .25rem; font-size:clamp(2rem,4.5vw,3.8rem); }
.gre-event-location { margin:0; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.gre-hero-actions { gap:.85rem; }
.gre-hero-actions .wp-block-button__link {
	box-shadow: inset 0 0 0 2px rgba(0,0,0,.42), 0 7px 18px rgba(0,0,0,.28);
}

.gre-section-leather,
.gre-section-parchment { position:relative; padding: clamp(3rem,5vw,5rem) clamp(1rem,3vw,2rem); }
.gre-section-leather {
	background:
		var(--gre-asset-leather),
		linear-gradient(135deg,#2a1d18,#110d0b 64%,#2b1d17);
	color:var(--gre-cream);
	border-block:3px solid #895728;
	box-shadow: inset 0 0 0 1px rgba(209,161,94,.28);
}
.gre-section-parchment {
	background:
		radial-gradient(circle at 50% 0,rgba(255,255,255,.32),transparent 34%),
		var(--gre-asset-parchment),
		linear-gradient(180deg,#f3e6cc,#dec69f);
	border-block: 3px solid #8c5829;
	box-shadow: inset 0 0 0 6px rgba(112,67,29,.05);
}
.gre-section-heading { margin-bottom:clamp(1.5rem,3vw,2.5rem); }
.gre-section-title { margin:0; font-size:clamp(2.1rem,4vw,4rem); text-transform:uppercase; }
.gre-section-leather .gre-section-title { color:#f4d8a5; text-shadow:0 2px 0 #4c2d18; }
.gre-section-kicker { margin:.2rem 0 0; text-transform:uppercase; letter-spacing:.13em; font-size:.78rem; font-weight:700; }
.gre-section-leather .gre-section-kicker { color:var(--gre-gold); }
.gre-class-grid { gap: clamp(.65rem,1.35vw,1.2rem); align-items:stretch; }
.gre-class-card {
	position:relative;
	min-width:0;
	padding:10px;
	background:linear-gradient(145deg,#6f4323,#1c120e);
	border:2px solid #c08a4e;
	box-shadow: inset 0 0 0 4px #241510, 0 10px 24px rgba(0,0,0,.36);
}
.gre-class-card::before,
.gre-class-card::after {
	content:""; position:absolute; width:32px; height:32px; background:var(--gre-asset-concho) center/contain no-repeat; z-index:3;
}
.gre-class-card::before { left:-12px; top:-12px; }
.gre-class-card::after { right:-12px; bottom:-12px; }
.gre-class-card__image { margin:0; aspect-ratio:4/3; overflow:hidden; border:1px solid #d1a15e; background:#100c0a; }
.gre-class-card__image img { width:100%; height:100%; object-fit:cover; display:block; }
.gre-class-card__plaque {
	position:relative;
	margin:-8px 7px 2px;
	padding:.9rem .5rem .75rem;
	background:var(--gre-asset-leather),linear-gradient(180deg,#34231b,#17100d);
	border:1px solid #b87839;
	box-shadow: inset 0 0 0 3px rgba(0,0,0,.55);
}
.gre-class-card__plaque h3 { color:#f3d7a5; font-size:clamp(1.05rem,1.55vw,1.5rem); margin:0 0 .1rem; }
.gre-class-card__plaque p { color:#ead9bd; margin:0; font-size:.73rem; letter-spacing:.06em; text-transform:uppercase; }

.gre-experience-grid { gap:0; }
.gre-experience-card { padding:1rem clamp(.7rem,1.7vw,1.4rem); border-right:1px solid rgba(111,67,32,.28); }
.gre-experience-card:last-child { border-right:0; }
.gre-icon { width:72px; height:72px; margin:0 auto .7rem; }
.gre-icon img { width:100%; height:100%; object-fit:contain; }
.gre-experience-card h3 { font-size:1.1rem; margin:.2rem 0 .35rem; }
.gre-experience-card p { font-family:var(--wp--preset--font-family--editorial,Georgia,serif); font-size:.92rem; line-height:1.42; }

.gre-partner-grid { gap:clamp(.8rem,1.6vw,1.4rem); }
.gre-partner-card {
	position:relative;
	padding:clamp(1.5rem,2.6vw,2.4rem) clamp(1rem,2vw,1.5rem);
	background:var(--gre-asset-parchment),linear-gradient(180deg,#f3e5ca,#d8bd91);
	border:2px solid #b87839;
	box-shadow: inset 0 0 0 5px rgba(67,39,19,.10), 0 10px 24px rgba(0,0,0,.25);
	color:var(--gre-ink);
}
.gre-partner-card::before { content:""; position:absolute; inset:8px; border:1px solid rgba(119,71,31,.35); pointer-events:none; }
.gre-partner-card h3 { font-size:clamp(1.1rem,1.7vw,1.5rem); margin:.2rem 0 .45rem; }
.gre-partner-card p { font-family:var(--wp--preset--font-family--editorial,Georgia,serif); line-height:1.42; }

/* Footer gets richer material treatment without turning interior pages into the homepage. */
.gre-site-footer {
	background:var(--gre-asset-leather),linear-gradient(135deg,#251914,#110d0b 65%);
	border-top:4px solid #8c592b;
	box-shadow:inset 0 2px 0 #d0a05a;
}
.gre-site-footer::before { background:var(--gre-asset-concho) center/contain no-repeat; color:transparent; }

@media (max-width: 1100px) {
	.gre-class-grid { flex-wrap:wrap !important; }
	.gre-class-grid > .wp-block-column { flex-basis:calc(33.333% - 1rem) !important; }
	.gre-experience-grid { flex-wrap:wrap !important; row-gap:1.5rem; }
	.gre-experience-grid > .wp-block-column { flex-basis:calc(33.333% - 1rem) !important; }
	.gre-experience-card { border-right:0; }
}
@media (max-width: 760px) {
	.gre-homepage-hero::before,.gre-homepage-hero::after { width:70px; opacity:.6; }
	.gre-hero-brand { max-width:96vw; }
	.gre-event-plaque { clip-path:none; }
	.gre-class-grid > .wp-block-column,
	.gre-experience-grid > .wp-block-column,
	.gre-partner-grid > .wp-block-column { flex-basis:100% !important; }
	.gre-class-card { max-width:520px; margin-inline:auto; }
	.gre-experience-card { max-width:520px; margin-inline:auto; }
}

/* ============================================================
 * GRE 0.0.6 — homepage composition pass
 * Presentation only. Text and content images remain block content.
 * ============================================================ */

/* Hero: event branding is the hero centerpiece. */
.gre-home-hero {
	position: relative;
	isolation: isolate;
	padding: clamp(2.25rem, 6vw, 5rem) 1.25rem clamp(3rem, 7vw, 6rem);
	background:
		linear-gradient(90deg, rgba(12,8,6,.78), rgba(12,8,6,.18) 24%, rgba(12,8,6,.18) 76%, rgba(12,8,6,.78)),
		radial-gradient(ellipse at 50% 20%, rgba(204,144,73,.24), transparent 44%),
		linear-gradient(180deg, #4a2d1f 0, #231612 44%, #100b09 100%);
	border-top: 2px solid #b37738;
	border-bottom: 5px solid transparent;
	border-image: var(--gre-rope) 1;
}
.gre-home-hero__inner { position: relative; z-index: 1; }
.gre-event-crest { max-width: min(710px, 84vw); margin: 0 auto -.75rem; }
.gre-event-crest img { width: 100%; height: auto; filter: drop-shadow(0 16px 18px rgba(0,0,0,.45)); }
.gre-home-hero .gre-eyebrow { color: #e8c084; margin-top: 0; }
.gre-home-hero .gre-event-plaque { margin-top: .8rem; }
.gre-home-hero .gre-hero-actions { margin-top: 1.25rem; }

/* Framed leather bands that echo the client poster without baking content. */
.gre-section-leather {
	position: relative;
	padding: clamp(3rem, 5vw, 5.25rem) clamp(1rem, 2vw, 2rem);
	background:
		radial-gradient(circle at 18% 22%, rgba(177,111,52,.12), transparent 26%),
		url("../svg/leather-grain.svg") repeat,
		linear-gradient(135deg, #241712, #0e0a08 64%, #2f1d15);
	color: var(--gre-cream);
	border-block: 4px solid transparent;
	border-image: var(--gre-rope) 1;
}
.gre-section-heading { position: relative; z-index: 1; margin-bottom: clamp(1.75rem, 3vw, 2.6rem); }
.gre-section-title { margin-bottom: .15rem; color: inherit; }
.gre-section-kicker { margin-top: 0; text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; color: var(--gre-gold); }

/* Editable class-card image + live HTML plaque text. */
.gre-class-grid { gap: clamp(.7rem, 1.4vw, 1.15rem); align-items: stretch; }
.gre-class-card {
	position: relative;
	min-width: 0;
	padding: .6rem .6rem .75rem;
	background: linear-gradient(145deg, #3b271e, #120d0b 72%);
	border: 2px solid #9d6632;
	border-radius: 7px 7px 12px 12px;
	box-shadow:
		inset 0 0 0 3px #130d0a,
		inset 0 0 0 4px rgba(220,165,92,.4),
		0 12px 22px rgba(0,0,0,.38);
	overflow: hidden;
}
.gre-class-card::before,
.gre-class-card::after {
	content: "✦";
	position: absolute;
	z-index: 2;
	bottom: .5rem;
	color: var(--gre-gold);
	font-size: .8rem;
}
.gre-class-card::before { left: .55rem; }
.gre-class-card::after { right: .55rem; }
.gre-class-card__image { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid rgba(219,164,91,.7); }
.gre-class-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gre-class-card__plaque {
	position: relative;
	margin: -.15rem .2rem 0;
	padding: .9rem .55rem .7rem;
	background: linear-gradient(180deg, #2d1d16, #120d0b);
	border: 1px solid #b77a3f;
	clip-path: polygon(6% 0,94% 0,100% 22%,96% 100%,4% 100%,0 22%);
}
.gre-class-card__plaque h3 { margin: 0; color: #f5e6c8; font-size: clamp(1rem, 1.55vw, 1.35rem); line-height: 1; }
.gre-class-card__plaque p { margin: .25rem 0 0; color: #d8c1a3; text-transform: uppercase; font-size: .67rem; letter-spacing: .07em; }

/* Parchment experience band, with standalone icon assets. */
.gre-section-parchment {
	position: relative;
	padding: clamp(3.25rem, 5vw, 5rem) clamp(1rem, 2vw, 2rem);
	background:
		linear-gradient(rgba(249,238,215,.92), rgba(249,238,215,.92)),
		url("../svg/parchment-grain.svg") repeat;
	color: var(--gre-ink);
	border-block: 4px solid transparent;
	border-image: var(--gre-rope) 1;
}
.gre-experience-grid { position: relative; z-index: 1; gap: 0; }
.gre-experience-card { padding: 1rem clamp(.8rem, 1.5vw, 1.45rem); border-right: 1px solid rgba(119,75,37,.28); }
.gre-experience-card:last-child { border-right: 0; }
.gre-icon { width: 56px; height: 56px; margin: 0 auto .55rem; }
.gre-icon img { width: 100%; height: 100%; object-fit: contain; }
.gre-experience-card h3 { margin: .25rem 0 .45rem; color: var(--gre-ink); font-size: 1.25rem; }
.gre-experience-card p { margin: 0; font-size: .92rem; line-height: 1.48; }

/* Partner cards: parchment plaques inside leather field. */
.gre-partner-grid { position: relative; z-index: 1; gap: 1rem; }
.gre-partner-card {
	padding: 1.5rem 1.1rem 1.35rem;
	background:
		linear-gradient(rgba(246,231,201,.95), rgba(246,231,201,.95)),
		url("../svg/parchment-grain.svg") repeat;
	color: var(--gre-ink);
	border: 2px solid #9b642f;
	box-shadow: inset 0 0 0 4px rgba(65,38,18,.08), 0 10px 20px rgba(0,0,0,.28);
	clip-path: polygon(5% 0,95% 0,100% 8%,100% 92%,95% 100%,5% 100%,0 92%,0 8%);
}
.gre-partner-card h3 { color: var(--gre-ink); margin: .35rem 0 .5rem; }
.gre-partner-card p { color: #5e4432; margin: 0; }

/* Footer: richer GRE signature, still restrained vs homepage hero. */
.gre-site-footer { border-top: 4px solid transparent; border-image: var(--gre-rope) 1; }
.gre-site-footer__inner { gap: clamp(1.5rem, 4vw, 4rem); align-items: center; padding-block: 2rem; }
.gre-footer-emblem { max-width: 260px; margin: 0; }
.gre-footer-emblem img { width: 100%; height: auto; }
.gre-footer-copy { color: #d8c1a3; font-size: .82rem; }
.gre-site-footer .wp-block-navigation-item__content { color: var(--gre-cream); }
.gre-site-footer .wp-block-navigation-item__content:hover { color: var(--gre-gold); }

@media (max-width: 980px) {
	.gre-class-grid,
	.gre-experience-grid,
	.gre-partner-grid { flex-wrap: wrap !important; }
	.gre-class-grid > .wp-block-column { flex: 1 1 calc(50% - 1rem) !important; }
	.gre-experience-grid > .wp-block-column { flex: 1 1 calc(33.333% - 1rem) !important; border-right: 0; }
	.gre-partner-grid > .wp-block-column { flex: 1 1 calc(50% - 1rem) !important; }
}
@media (max-width: 680px) {
	.gre-event-crest { max-width: 94vw; }
	.gre-class-grid > .wp-block-column,
	.gre-experience-grid > .wp-block-column,
	.gre-partner-grid > .wp-block-column { flex-basis: 100% !important; }
}

/* ============================================================
 * GRE 0.0.7 — layered marquee
 * Theme-owned visual assets; all event/date/location/CTA text stays live HTML.
 * ============================================================ */

:root {
	--gre-marquee-bg: url("../images/marquee/hero-background-frame.png");
	--gre-date-plaque: url("../images/marquee/date-plaque.png");
	--gre-cta-primary: url("../images/marquee/cta-primary.png");
	--gre-cta-secondary: url("../images/marquee/cta-secondary.png");
}
.gre-marquee {
	position: relative;
	isolation: isolate;
	min-height: clamp(620px, 68vw, 860px);
	padding: 0;
	background-image: var(--gre-marquee-bg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	overflow: hidden;
}
.gre-marquee::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(90deg, rgba(10,7,5,.08) 0%, rgba(10,7,5,.02) 38%, rgba(10,7,5,.14) 100%),
		linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.12));
	pointer-events: none;
}
.gre-marquee__canvas {
	position: relative;
	z-index: 1;
	min-height: inherit;
	display: grid;
	grid-template-columns: minmax(0, 44%) minmax(0, 56%);
	align-items: end;
	width: min(1680px, 100%);
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 4.25rem) clamp(1rem, 3vw, 3rem) clamp(2.2rem, 4vw, 4rem);
}
.gre-marquee__horse {
	align-self: end;
	justify-self: center;
	width: min(650px, 48vw);
	margin: 0 0 -1.5rem;
	transform: translateX(clamp(-2rem, -2vw, -.75rem));
	filter: drop-shadow(0 18px 18px rgba(0,0,0,.40));
	pointer-events: none;
}
.gre-marquee__horse img {
	display: block;
	width: 100%;
	height: auto;
	max-height: clamp(590px, 66vw, 800px);
	object-fit: contain;
	object-position: center bottom;
}
.gre-marquee__content {
	align-self: center;
	justify-self: stretch;
	width: 100%;
	padding: clamp(1rem, 2vw, 2rem) clamp(.5rem, 2vw, 1.5rem);
	text-align: center;
}
.gre-marquee__logo {
	width: min(640px, 96%);
	margin: 0 auto -1rem;
}
.gre-marquee__logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 16px rgba(0,0,0,.30));
}
.gre-marquee__eyebrow {
	margin: .35rem 0 .5rem;
	font-family: var(--gre-font-cowboy);
	font-size: clamp(.78rem, 1.25vw, 1rem);
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #f4d9aa;
	text-shadow: 0 1px 2px rgba(0,0,0,.75);
}
.gre-marquee__date-card {
	position: relative;
	isolation: isolate;
	width: min(760px, 100%);
	min-height: clamp(150px, 14vw, 190px);
	margin: 0 auto .7rem;
	padding: clamp(2.4rem, 4vw, 3.2rem) clamp(3rem, 6vw, 5.2rem) clamp(2rem, 3.4vw, 2.8rem);
	display: grid;
	place-content: center;
}
.gre-marquee__date-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: var(--gre-date-plaque);
	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	filter: drop-shadow(0 10px 13px rgba(0,0,0,.38));
}
.gre-marquee__date {
	margin: 0 0 .15rem;
	font-size: clamp(2rem, 4.2vw, 3.75rem);
	line-height: .95;
	color: #ffe9c2;
	text-transform: uppercase;
	text-shadow: 0 2px 0 #4b2c18, 0 4px 8px rgba(0,0,0,.55);
}
.gre-marquee__location {
	margin: .35rem 0 0;
	font-size: clamp(.7rem, 1.05vw, .9rem);
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #f4dfbd;
	text-shadow: 0 1px 2px rgba(0,0,0,.8);
}
.gre-marquee__actions {
	gap: clamp(.7rem, 1.4vw, 1.2rem);
	margin-top: .2rem;
}
.gre-marquee__cta {
	position: relative;
	width: min(310px, 44vw);
	min-width: 230px;
}
.gre-marquee__cta .wp-element-button {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 78px;
	padding: 1.35rem 2.4rem;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--gre-font-cowboy);
	font-size: clamp(.95rem, 1.3vw, 1.15rem);
	font-weight: 400;
	letter-spacing: .025em;
	text-transform: uppercase;
	color: #fff0d2 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.85);
}
.gre-marquee__cta .wp-element-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	filter: drop-shadow(0 8px 8px rgba(0,0,0,.32));
}
.gre-marquee__cta--primary .wp-element-button::before { background-image: var(--gre-cta-primary); }
.gre-marquee__cta--secondary .wp-element-button::before { background-image: var(--gre-cta-secondary); }
.gre-marquee__cta .wp-element-button:hover,
.gre-marquee__cta .wp-element-button:focus-visible {
	filter: brightness(1.12);
	transform: translateY(-1px);
}

@media (max-width: 980px) {
	.gre-marquee { min-height: auto; background-position: center top; }
	.gre-marquee__canvas {
		grid-template-columns: 40% 60%;
		min-height: 650px;
		padding-inline: .75rem;
	}
	.gre-marquee__horse { width: min(500px, 45vw); margin-bottom: -1rem; }
	.gre-marquee__logo { width: min(520px, 98%); }
	.gre-marquee__date-card { min-height: 140px; padding-inline: 2.4rem; }
	.gre-marquee__cta { min-width: 190px; width: min(270px, 46%); }
}

@media (max-width: 700px) {
	.gre-marquee {
		background-position: 42% top;
		background-size: auto 100%;
	}
	.gre-marquee__canvas {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 1.2rem .75rem 2.2rem;
	}
	.gre-marquee__horse {
		order: 1;
		width: min(440px, 88vw);
		margin: 0 auto -4rem;
		transform: none;
		opacity: .92;
	}
	.gre-marquee__content {
		order: 2;
		position: relative;
		z-index: 2;
		padding: .5rem .25rem 0;
	}
	.gre-marquee__logo { width: min(520px, 94vw); margin-bottom: -.5rem; }
	.gre-marquee__date-card {
		width: min(620px, 98vw);
		min-height: 128px;
		padding: 2rem 2rem 1.7rem;
	}
	.gre-marquee__date { font-size: clamp(1.9rem, 10vw, 3rem); }
	.gre-marquee__location { font-size: .68rem; letter-spacing: .055em; }
	.gre-marquee__actions { flex-direction: column; align-items: center; }
	.gre-marquee__cta { width: min(330px, 88vw); min-width: 0; }
}

/* ============================================================
 * GRE 0.0.8 — homepage marquee responsive choreography
 * Homepage only. Interior pages continue to use normal WP/Core flow.
 * Four deliberate compositions: large desktop, laptop, tablet, phone.
 * ============================================================ */

/* Shared desktop baseline: cap the art direction rather than scaling forever. */
.gre-marquee {
	min-height: 560px;
	background-position: center center;
	background-size: cover;
}
.gre-marquee__canvas {
	width: min(1600px, 100%);
	min-height: 560px;
	grid-template-columns: minmax(0, 42%) minmax(0, 58%);
	padding: 1.4rem clamp(1rem, 2.2vw, 2.5rem) 1.6rem;
}
.gre-marquee__horse {
	width: min(520px, 35vw);
	margin-bottom: -1rem;
	transform: translateX(-.5rem);
}
.gre-marquee__horse img {
	max-height: 545px;
}
.gre-marquee__content {
	padding: .65rem clamp(.25rem, 1.2vw, 1rem);
}
.gre-marquee__logo {
	width: min(460px, 88%);
	margin-bottom: -.45rem;
}
.gre-marquee__eyebrow {
	margin: .15rem 0 .35rem;
	font-size: clamp(.7rem, .85vw, .88rem);
}
.gre-marquee__date-card {
	width: min(590px, 92%);
	min-height: 128px;
	margin-bottom: .45rem;
	padding: 1.85rem 3.4rem 1.55rem;
}
.gre-marquee__date {
	font-size: clamp(1.75rem, 2.6vw, 2.75rem);
}
.gre-marquee__location {
	font-size: clamp(.62rem, .72vw, .78rem);
	letter-spacing: .075em;
}
.gre-marquee__actions {
	gap: .65rem;
}
.gre-marquee__cta {
	width: min(245px, 42%);
	min-width: 205px;
}
.gre-marquee__cta .wp-element-button {
	min-height: 61px;
	padding: 1rem 1.65rem;
	font-size: clamp(.8rem, .9vw, .95rem);
}

/* Large desktop / wide displays: cinematic, centered, but never giant. */
@media (min-width: 1600px) {
	.gre-marquee { min-height: 620px; }
	.gre-marquee__canvas {
		width: min(1640px, 92vw);
		min-height: 620px;
		grid-template-columns: minmax(0, 43%) minmax(0, 57%);
		padding: 1.8rem 2rem 2rem;
	}
	.gre-marquee__horse { width: min(565px, 34vw); }
	.gre-marquee__horse img { max-height: 600px; }
	.gre-marquee__logo { width: min(500px, 88%); }
	.gre-marquee__date-card { width: min(625px, 92%); min-height: 136px; }
	.gre-marquee__cta { width: min(260px, 42%); }
}

/* Laptop / normal desktop: same two-column idea, intentionally smaller. */
@media (min-width: 1100px) and (max-width: 1599px) {
	.gre-marquee { min-height: clamp(500px, 39vw, 575px); }
	.gre-marquee__canvas {
		min-height: inherit;
		width: min(1440px, 100%);
		grid-template-columns: minmax(0, 41%) minmax(0, 59%);
		padding: 1rem clamp(.8rem, 1.6vw, 1.5rem) 1.25rem;
	}
	.gre-marquee__horse { width: min(455px, 33vw); margin-bottom: -.65rem; }
	.gre-marquee__horse img { max-height: 505px; }
	.gre-marquee__logo { width: min(405px, 82%); margin-bottom: -.35rem; }
	.gre-marquee__eyebrow { font-size: clamp(.64rem, .72vw, .78rem); }
	.gre-marquee__date-card {
		width: min(520px, 91%);
		min-height: 112px;
		padding: 1.55rem 2.8rem 1.35rem;
	}
	.gre-marquee__date { font-size: clamp(1.55rem, 2.35vw, 2.35rem); }
	.gre-marquee__location { font-size: clamp(.56rem, .62vw, .7rem); }
	.gre-marquee__cta { width: min(220px, 43%); min-width: 185px; }
	.gre-marquee__cta .wp-element-button { min-height: 54px; padding: .85rem 1.3rem; font-size: .78rem; }
}

/* Tablet: switch composition instead of squeezing the desktop grid. */
@media (min-width: 700px) and (max-width: 1099px) {
	.gre-marquee {
		min-height: 0;
		background-position: 45% top;
		background-size: auto 100%;
	}
	.gre-marquee__canvas {
		grid-template-columns: 1fr;
		min-height: 0;
		width: 100%;
		padding: 1.25rem 1rem 2.1rem;
	}
	.gre-marquee__horse {
		order: 1;
		width: min(430px, 50vw);
		margin: 0 auto -5.5rem;
		transform: none;
	}
	.gre-marquee__horse img { max-height: none; }
	.gre-marquee__content {
		order: 2;
		position: relative;
		z-index: 2;
		width: min(650px, 92vw);
		margin-inline: auto;
		padding: 0;
	}
	.gre-marquee__logo { width: min(430px, 72vw); }
	.gre-marquee__date-card { width: min(560px, 88vw); min-height: 122px; }
	.gre-marquee__actions { justify-content: center; }
	.gre-marquee__cta { width: min(230px, 40vw); min-width: 190px; }
}

/* Phone: deliberate single reading order; preserve the successful stacked feel. */
@media (max-width: 699px) {
	.gre-marquee {
		min-height: 0;
		background-position: 43% top;
		background-size: auto 100%;
	}
	.gre-marquee__canvas {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: .9rem .6rem 1.6rem;
	}
	.gre-marquee__horse {
		order: 1;
		width: min(360px, 82vw);
		margin: 0 auto -3.2rem;
		transform: none;
		opacity: .96;
	}
	.gre-marquee__horse img { max-height: none; }
	.gre-marquee__content {
		order: 2;
		position: relative;
		z-index: 2;
		padding: .1rem 0 0;
	}
	.gre-marquee__logo {
		width: min(355px, 86vw);
		margin-bottom: -.25rem;
	}
	.gre-marquee__eyebrow {
		font-size: .66rem;
		letter-spacing: .13em;
		margin-bottom: .3rem;
	}
	.gre-marquee__date-card {
		width: min(390px, 92vw);
		min-height: 104px;
		padding: 1.45rem 1.5rem 1.25rem;
	}
	.gre-marquee__date { font-size: clamp(1.65rem, 8vw, 2.35rem); }
	.gre-marquee__location { font-size: .59rem; letter-spacing: .045em; }
	.gre-marquee__actions {
		flex-direction: column;
		align-items: center;
		gap: .55rem;
	}
	.gre-marquee__cta { width: min(300px, 82vw); min-width: 0; }
	.gre-marquee__cta .wp-element-button { min-height: 58px; font-size: .84rem; }
}


/* ============================================================
 * GRE 0.0.9 — framed marquee safe-area containment
 * Desktop/laptop foreground layers stay inside the scenic opening of the
 * background artwork. Tablet/phone keep their stacked art direction.
 * ============================================================ */

/* The background artwork includes real leather/rope rails. Treat those rails
   as reserved space rather than usable layout area. */
@media (min-width: 1100px) {
	.gre-marquee {
		--gre-marquee-safe-top: 68px;
		--gre-marquee-safe-bottom: 70px;
	}
	.gre-marquee__canvas {
		box-sizing: border-box;
		padding-top: var(--gre-marquee-safe-top);
		padding-bottom: var(--gre-marquee-safe-bottom);
		align-items: stretch;
	}
	.gre-marquee__horse {
		align-self: end;
		margin-bottom: 0;
	}
	.gre-marquee__horse img {
		object-position: center bottom;
	}
	.gre-marquee__content {
		align-self: center;
		box-sizing: border-box;
		padding-top: 0;
		padding-bottom: 0;
	}
}

/* Large displays have a little more physical frame in the source artwork. */
@media (min-width: 1600px) {
	.gre-marquee {
		--gre-marquee-safe-top: 76px;
		--gre-marquee-safe-bottom: 78px;
	}
	.gre-marquee__horse {
		width: min(540px, 32vw);
	}
	.gre-marquee__horse img {
		max-height: 535px;
	}
	.gre-marquee__logo {
		width: min(475px, 84%);
	}
	.gre-marquee__date-card {
		width: min(590px, 90%);
	}
}

/* MacBook / normal desktop: this is the critical containment range. */
@media (min-width: 1100px) and (max-width: 1599px) {
	.gre-marquee {
		--gre-marquee-safe-top: 62px;
		--gre-marquee-safe-bottom: 68px;
	}
	.gre-marquee__canvas {
		padding-inline: clamp(.8rem, 1.6vw, 1.5rem);
	}
	.gre-marquee__horse {
		width: min(430px, 31vw);
		transform: translateX(-.35rem);
	}
	.gre-marquee__horse img {
		max-height: 435px;
	}
	.gre-marquee__content {
		transform: translateY(-2px);
	}
	.gre-marquee__logo {
		width: min(385px, 79%);
		margin-bottom: -.2rem;
	}
	.gre-marquee__eyebrow {
		margin-top: .05rem;
		margin-bottom: .25rem;
	}
	.gre-marquee__date-card {
		width: min(495px, 88%);
		min-height: 104px;
		margin-bottom: .3rem;
		padding: 1.38rem 2.6rem 1.18rem;
	}
	.gre-marquee__date {
		font-size: clamp(1.45rem, 2.05vw, 2.05rem);
	}
	.gre-marquee__location {
		font-size: clamp(.53rem, .58vw, .66rem);
	}
	.gre-marquee__actions {
		gap: .55rem;
		margin-top: 0;
	}
	.gre-marquee__cta {
		width: min(205px, 41%);
		min-width: 172px;
	}
	.gre-marquee__cta .wp-element-button {
		min-height: 48px;
		padding: .7rem 1.1rem;
		font-size: .72rem;
	}
}

/* ============================================================
 * GRE 0.0.10 — desktop-first four-column marquee
 * Editor-friendly structure: one Cover + one Columns block + four Columns.
 * Decorative imagery lives in Cover/Image blocks so it remains replaceable.
 * ============================================================ */
.gre-marquee-v10 {
	position: relative;
	isolation: isolate;
	min-height: 0 !important;
	height: clamp(460px, 33.333vw, 640px);
	padding: 0;
	overflow: hidden;
}
.gre-marquee-v10 > .wp-block-cover__image-background {
	object-fit: fill !important;
	object-position: center !important;
}
.gre-marquee-v10 > .wp-block-cover__inner-container {
	height: 100%;
	width: 100%;
}
.gre-marquee-v10__grid {
	height: 100%;
	width: min(1720px, 96vw);
	max-width: none !important;
	margin: 0 auto;
	padding: clamp(58px, 4.6vw, 86px) clamp(18px, 2vw, 34px) clamp(58px, 4.8vw, 88px);
	gap: clamp(8px, 1vw, 18px);
	align-items: stretch;
}
.gre-marquee-v10__grid > .wp-block-column {
	min-width: 0;
	margin: 0;
}
.gre-marquee-v10__sign,
.gre-marquee-v10__horse,
.gre-marquee-v10__event,
.gre-marquee-v10__fun {
	display: flex;
	align-items: center;
	justify-content: center;
}
.gre-marquee-v10__signboard {
	width: 100%;
	max-width: 310px;
	min-height: 0 !important;
	height: 100%;
	padding: 17% 15% 20%;
	background: transparent;
}
.gre-marquee-v10__signboard > .wp-block-cover__image-background {
	object-fit: contain !important;
}
.gre-marquee-v10__signboard .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .65rem;
}
.gre-marquee-v10__sign-title {
	margin: 0;
	font-size: clamp(1.35rem, 1.9vw, 2rem);
	line-height: .95;
	color: #f7e5c4;
	text-shadow: 0 2px 3px rgba(0,0,0,.75);
}
.gre-marquee-v10__sign-copy {
	margin: 0;
	font-size: clamp(.62rem, .72vw, .78rem);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #f1d8ad;
	text-shadow: 0 1px 2px rgba(0,0,0,.8);
}
.gre-marquee-v10__horse {
	align-items: flex-end;
}
.gre-marquee-v10__horse figure {
	margin: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.gre-marquee-v10__horse img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 16px 16px rgba(0,0,0,.35));
}
.gre-marquee-v10__event {
	flex-direction: column;
	justify-content: center;
	gap: .15rem;
	padding-inline: .15rem;
	text-align: center;
}
.gre-marquee-v10__logo {
	margin: 0 auto -.35rem;
	width: min(100%, 400px);
}
.gre-marquee-v10__logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: clamp(210px, 18vw, 335px);
	object-fit: contain;
	filter: drop-shadow(0 10px 12px rgba(0,0,0,.28));
}
.gre-marquee-v10__eyebrow {
	margin: 0 0 .1rem;
	font-family: var(--gre-font-cowboy);
	font-size: clamp(.62rem, .72vw, .8rem);
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #f4d9aa;
	text-shadow: 0 1px 2px rgba(0,0,0,.8);
}
.gre-marquee-v10__date {
	width: min(100%, 500px);
	min-height: 0 !important;
	height: clamp(88px, 7.3vw, 120px);
	margin: 0 auto;
	padding: 1rem 2.35rem;
}
.gre-marquee-v10__date > .wp-block-cover__image-background {
	object-fit: fill !important;
}
.gre-marquee-v10__date .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.gre-marquee-v10__date-title {
	margin: 0;
	font-size: clamp(1.35rem, 2vw, 2.25rem);
	line-height: .95;
	color: #ffe8bf;
	text-shadow: 0 2px 0 #4b2c18,0 4px 8px rgba(0,0,0,.5);
}
.gre-marquee-v10__location {
	margin: .3rem 0 0;
	font-size: clamp(.52rem, .58vw, .68rem);
	font-weight: 800;
	letter-spacing: .075em;
	text-transform: uppercase;
	color: #f5dfbc;
	text-shadow: 0 1px 2px rgba(0,0,0,.75);
}
.gre-marquee-v10__actions {
	width: min(100%, 500px);
	margin: .15rem auto 0;
	gap: .55rem;
}
.gre-marquee-v10__cta {
	flex: 1 1 0;
	min-width: 0;
}
.gre-marquee-v10__cta .wp-element-button {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: clamp(48px, 4vw, 62px);
	padding: .72rem .8rem;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--gre-font-cowboy);
	font-size: clamp(.66rem, .72vw, .84rem);
	font-weight: 400;
	letter-spacing: .025em;
	text-transform: uppercase;
	color: #fff0d2 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.85);
}
.gre-marquee-v10__cta .wp-element-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-position: center;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	filter: drop-shadow(0 7px 7px rgba(0,0,0,.3));
}
.gre-marquee-v10__cta--primary .wp-element-button::before { background-image: var(--gre-cta-primary); }
.gre-marquee-v10__cta--secondary .wp-element-button::before { background-image: var(--gre-cta-secondary); }
.gre-marquee-v10__cta .wp-element-button:hover,
.gre-marquee-v10__cta .wp-element-button:focus-visible { filter: brightness(1.12); transform: translateY(-1px); }
.gre-marquee-v10__fun {
	flex-direction: column;
	justify-content: center;
	padding: 0 clamp(.25rem, .8vw, 1rem);
	text-align: center;
}
.gre-marquee-v10__script {
	margin: 0 0 .45rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1rem, 1.45vw, 1.55rem);
	font-style: italic;
	line-height: 1.15;
	color: #f7e5c4;
	text-shadow: 0 2px 3px rgba(0,0,0,.7);
}
.gre-marquee-v10__lifetime {
	margin: 0 0 .5rem;
	font-size: clamp(1.35rem, 1.9vw, 2.05rem);
	line-height: .95;
	color: #d9a75f;
	text-shadow: 0 2px 3px rgba(0,0,0,.75);
}
.gre-marquee-v10__fun-copy {
	margin: 0;
	font-family: var(--gre-font-cowboy);
	font-size: clamp(.72rem, .85vw, .95rem);
	line-height: 1.7;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #f4dcc0;
	text-shadow: 0 1px 2px rgba(0,0,0,.75);
}

/* Desktop first. Below this threshold v10 intentionally falls back to a simple
 * readable stack; tablet/phone art direction will be designed in the next pass. */
@media (max-width: 1099px) {
	.gre-marquee-v10 { height: auto; min-height: 0 !important; }
	.gre-marquee-v10 > .wp-block-cover__image-background { object-fit: cover !important; }
	.gre-marquee-v10__grid {
		height: auto;
		width: 100%;
		padding: 3rem 1rem;
		flex-wrap: wrap !important;
		gap: 1rem;
	}
	.gre-marquee-v10__grid > .wp-block-column { flex-basis: calc(50% - .5rem) !important; }
	.gre-marquee-v10__signboard { min-height: 340px !important; }
	.gre-marquee-v10__horse { min-height: 340px; }
	.gre-marquee-v10__event,
	.gre-marquee-v10__fun { min-height: 340px; }
}
@media (max-width: 699px) {
	.gre-marquee-v10__grid > .wp-block-column { flex-basis: 100% !important; }
}

/* ============================================================
 * GRE 0.0.11 — desktop marquee corrective pass
 * - remove theme block-gap below the site header
 * - use the wooden board already present in the scenic background
 * - keep date plaque decorative via CSS, avoiding invalid Cover markup
 * - tighten CTA sizing so both plates remain within the event column
 * ============================================================ */
.gre-front-page {
	margin-block-start: 0 !important;
}
.gre-front-page > .wp-block-post-content,
.gre-front-page .gre-homepage {
	margin-block-start: 0 !important;
}

@media (min-width: 1100px) {
	.gre-marquee-v10__sign {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: clamp(4.4rem, 7vw, 7.2rem) clamp(.65rem, 1.3vw, 1.35rem) clamp(3.5rem, 5.8vw, 6rem);
	}
	.gre-marquee-v10__sign-title {
		max-width: 12rem;
		font-size: clamp(1.05rem, 1.45vw, 1.6rem);
		line-height: 1.02;
	}
	.gre-marquee-v10__sign-copy {
		max-width: 12rem;
		font-size: clamp(.52rem, .58vw, .66rem);
		line-height: 1.42;
	}
	.gre-marquee-v10__date {
		position: relative;
		isolation: isolate;
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: min(92%, 470px);
		height: clamp(78px, 6.25vw, 104px);
		min-height: 0 !important;
		margin: 0 auto;
		padding: .75rem 2.15rem .82rem;
		background: transparent !important;
	}
	.gre-marquee-v10__date::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: var(--gre-date-plaque) center / 100% 100% no-repeat;
		filter: drop-shadow(0 6px 6px rgba(0,0,0,.24));
	}
	.gre-marquee-v10__date-title {
		font-size: clamp(1.12rem, 1.55vw, 1.78rem);
		line-height: 1;
		white-space: nowrap;
	}
	.gre-marquee-v10__location {
		margin-top: .22rem;
		font-size: clamp(.46rem, .5vw, .58rem);
		line-height: 1.1;
	}
	.gre-marquee-v10__actions {
		width: min(88%, 430px);
		margin-top: .18rem;
		gap: .45rem;
	}
	.gre-marquee-v10__cta .wp-element-button {
		min-height: clamp(44px, 3.35vw, 52px);
		padding: .55rem .55rem;
		font-size: clamp(.59rem, .61vw, .7rem);
		letter-spacing: .018em;
	}
}


/* ============================================================
 * GRE 0.0.14 — continuous leather header + transparent concho overlays
 * The leather/rope background is one uninterrupted layer. The ornate
 * conchos sit above it as transparent end-cap overlays, so there are no
 * texture seams and the decorative corners never stretch horizontally.
 * ============================================================ */

:root {
	--gre-font-rye: "Rye", Rockwell, Georgia, serif;
	--gre-header-height: clamp(104px, 7.8vw, 150px);
	--gre-header-concho-ratio-left: 1.1165;
	--gre-header-concho-ratio-right: 1.0442;
}

/* GRE heading hierarchy: H1/H2 use Rye; H3-H6 use Cowboy Sage. Both
 * remain registered in theme.json so individual Heading blocks can override. */
:where(h1, h2, .wp-block-post-title, .gre-section-title) {
	font-family: var(--gre-font-rye);
	font-weight: 400;
	letter-spacing: .01em;
}

:where(h3, h4, h5, h6) {
	font-family: var(--gre-font-cowboy);
	font-weight: 400;
	letter-spacing: .015em;
}

/* One continuous leather/rope layer. Only this center/background layer
 * stretches with the viewport. */
.gre-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	isolation: isolate;
	width: 100%;
	min-height: var(--gre-header-height);
	padding: 0 !important;
	color: var(--gre-cream);
	background-color: #160f0c;
	background-image: url("../images/header-banner-center.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
	border: 0;
	box-shadow: 0 8px 24px rgba(0,0,0,.32);
	overflow: visible;
}

/* Transparent decorative end caps. They scale from header height and
 * preserve their own proportions; they do not participate in the leather
 * background geometry. */
.gre-site-header::before,
.gre-site-header::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 0;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	pointer-events: none;
}

.gre-site-header::before {
	left: 0;
	width: calc(var(--gre-header-height) * var(--gre-header-concho-ratio-left));
	background-image: url("../images/header-concho-left.png");
	background-position: left center;
}

.gre-site-header::after {
	right: 0;
	width: calc(var(--gre-header-height) * var(--gre-header-concho-ratio-right));
	background-image: url("../images/header-concho-right.png");
	background-position: right center;
}

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

.gre-site-header__inner {
	position: relative;
	z-index: 1;
	width: min(94vw, 1800px);
	max-width: 1800px;
	min-height: var(--gre-header-height);
	margin-inline: auto;
	padding: 10px clamp(92px, 8.5vw, 168px);
	gap: clamp(1rem, 2.5vw, 2.5rem);
	align-items: center;
}

/* Keep the real WordPress Site Title in the document for semantics and
 * links, but render the theme-owned GRE logo artwork in its place. */
.gre-header-logo {
	position: relative;
	flex: 0 1 auto;
	width: clamp(275px, 29vw, 500px);
	height: clamp(68px, 6vw, 100px);
	margin: 0;
	white-space: nowrap;
}

.gre-header-logo > a,
.gre-header-logo > a:visited,
.gre-header-logo > a:hover,
.gre-header-logo > a:focus-visible {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	font-size: 0;
	line-height: 0;
	color: transparent;
	text-decoration: none;
	background-image: url("../images/header-logo.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
}

/* Kill the obsolete text + mountain treatment even if an older cached
 * block class survives in edited template markup. */
.gre-header-wordmark::before,
.gre-header-logo::before {
	content: none !important;
	display: none !important;
}

.gre-site-header .wp-block-navigation {
	position: relative;
	flex: 1 1 auto;
	justify-content: flex-end;
	min-width: 0;
	transform: translateY(-8px);
	font-size: .8em;
}

.gre-site-header .wp-block-navigation__container {
	gap: clamp(.8rem, 1.45vw, 1.65rem);
}

.gre-site-header .wp-block-navigation-item__content,
.gre-site-header .wp-block-navigation-item__content:visited {
	color: var(--gre-cream);
	text-decoration: none;
	white-space: nowrap;
}

.gre-site-header .wp-block-navigation-item__content:hover,
.gre-site-header .wp-block-navigation-item__content:focus-visible,
.gre-site-header .current-menu-item > .wp-block-navigation-item__content,
.gre-site-header .current-menu-ancestor > .wp-block-navigation-item__content,
.gre-site-header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--gre-gold);
}

.gre-site-header .current-menu-item > .wp-block-navigation-item__content,
.gre-site-header .wp-block-navigation-item__content[aria-current="page"] {
	position: relative;
}

.gre-site-header .current-menu-item > .wp-block-navigation-item__content::after,
.gre-site-header .wp-block-navigation-item__content[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 12%;
	right: 12%;
	bottom: -.48rem;
	height: 2px;
	background: var(--gre-gold);
}

.gre-site-header .wp-block-navigation__responsive-container-open {
	color: var(--gre-cream);
}


@media (max-width: 1100px) {
	:root {
		--gre-header-height: 108px;
	}

	.gre-site-header__inner {
		padding-inline: clamp(72px, 8vw, 108px);
	}

	.gre-header-logo {
		width: clamp(240px, 34vw, 360px);
		height: 76px;
	}
}

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

@media (max-width: 700px) {
	:root {
		--gre-header-height: 86px;
	}

	.gre-site-header {
		position: relative;
		top: auto;
	}

	.admin-bar .gre-site-header {
		top: auto;
	}

	.gre-site-header__inner {
		width: 100%;
		min-height: var(--gre-header-height);
		padding: 7px 56px;
		gap: .65rem;
	}

	.gre-header-logo {
		width: min(67vw, 285px);
		height: 62px;
	}

}


/* ============================================================
 * GRE 0.0.17 — homepage hero art direction
 *
 * These selectors intentionally live in the GRE child theme rather
 * than sageDezine Core. They support the layered CO Gypsy Fest hero:
 * - desktop / wide-screen header overlap
 * - mobile HomeSage background positioning and stacking
 * - responsive plaque placement using the existing editor class
 * - removal of stacked-column gaps on the mobile hero
 * ============================================================ */

/* Homepage artwork is intentionally allowed to paint outside its wrappers. */
.gre-front-page,
.gre-homepage {
	overflow: visible !important;
}


/* ============================================================
 * GRE 0.0.21 — responsive primary navigation
 *
 * Desktop links stay visually lifted above the homepage hero overlap. At
 * 860px the navigation switches to the responsive menu before the link row
 * can wrap. The open/close artwork is replaced in PHP with GRE-owned bold
 * SVGs; CSS here controls only placement and the menu panel layout.
 * ============================================================ */

/* Raise the whole header only while an interactive menu layer is active. */
.gre-site-header:has(.wp-block-navigation__responsive-container.is-menu-open),
.gre-site-header:has(.wp-block-navigation-item.has-child:hover),
.gre-site-header:has(.wp-block-navigation-item.has-child:focus-within) {
	z-index: 1000;
}

.gre-site-header .wp-block-navigation__submenu-container {
	z-index: 1001;
	background: var(--gre-leather);
	color: var(--gre-cream);
	border-color: rgba(209,161,94,.45);
}

@media (max-width: 860px) {
	/* The desktop row is no longer art-directed at this width. */
	.gre-site-header .wp-block-navigation {
		flex: 0 0 auto;
		transform: none;
		font-size: 1em;
	}

	/* Force WordPress responsive navigation to switch before links wrap. */
	.gre-site-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center;
		justify-content: center;
		margin-right: 18px;
		padding: 6px;
		color: var(--gre-cream);
		background: transparent;
		border: 0;
	}

	.gre-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	/* Full-viewport menu: no narrow clipped panel beside the right concho. */
	.gre-site-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		z-index: 1001;
		display: flex !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-width: none !important;
		padding: clamp(1.5rem, 5vw, 2.5rem) !important;
		overflow-y: auto;
		background: var(--gre-leather) !important;
		color: var(--gre-cream) !important;
		border: 0;
	}

	.gre-site-header .wp-block-navigation__responsive-dialog {
		width: 100%;
		min-height: 100%;
	}

	.gre-site-header .wp-block-navigation__responsive-container-content {
		width: 100%;
		padding-top: 3.75rem !important;
	}

	.gre-site-header .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 1.25rem;
		right: 1.25rem;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 6px;
		color: var(--gre-cream);
		background: transparent;
		border: 0;
	}

	.gre-site-header .is-menu-open .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		width: 100%;
		gap: 1rem;
	}

	.gre-site-header .is-menu-open .wp-block-navigation-item {
		width: 100%;
	}

	.gre-site-header .is-menu-open .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		font-size: clamp(1.1rem, 4vw, 1.4rem);
		line-height: 1.3;
		white-space: normal;
	}
}

@media (min-width: 861px) {
	.gre-site-header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.gre-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: flex !important;
	}
}



/* v0.1.3: unpainted home-page wrappers allow the Global Styles background through padding and gutters. */
body.home .gre-front-page,body.home .gre-main,body.home .gre-home-v2,body.home .wp-site-blocks{background-color:transparent;background-image:none}

/* v0.1.7: Scoped Page Title typography only; block-level overrides from saved
   inline attributes are not touched. Other H1s retain their styles. */
body .wp-site-blocks main.sd-page-shell > .sd-entry-header .wp-block-post-title {
  font-family: "Rye", Rockwell, Georgia, serif;
  font-size: 50px;
  line-height: 1.15;
}
/* Keep content links readable on the dark leather canvas on hover/focus.
   Navigation, buttons, and deliberately styled light-panel links are excluded. */
body .wp-site-blocks main :where(.wp-block-post-content) a:not(.wp-element-button):hover,
body .wp-site-blocks main :where(.wp-block-post-content) a:not(.wp-element-button):focus-visible {
  color: #f2c681;
  text-decoration-color: currentColor;
}
body .wp-site-blocks main :where(.gre-parchment-panel,.gre-parchment-frame,.is-style-gre-parchment-frame,.gre-section--light) a:not(.wp-element-button):hover,
body .wp-site-blocks main :where(.gre-parchment-panel,.gre-parchment-frame,.is-style-gre-parchment-frame,.gre-section--light) a:not(.wp-element-button):focus-visible {
  color: #80501e;
}
/* Interior-page texture stays anchored to the viewport rather than repeating
   at each page-length interval. Explicit section backgrounds remain intact. */
@media (min-width: 782px) {
  body:has(main.sd-page-shell) {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    background-attachment: fixed;
  }
}

/* v0.1.8: Page Title only; neutralizes display preset retained in database templates. */
body .wp-site-blocks main.sd-page-shell > .sd-entry-header .wp-block-post-title { font-family: "Rye", Rockwell, Georgia, serif !important; font-size: 50px !important; }

/* Compact branded footer; no navigation or redundant location/tagline. */
.gre-site-footer--compact .gre-site-footer__center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1.5rem 1rem 1.25rem}
.gre-site-footer--compact .gre-site-footer__center > *{margin-block:0}
.gre-site-footer--compact .gre-footer-emblem{max-width:190px;margin:0 auto .35rem}
.gre-site-footer--compact .gre-site-footer__center p{color:var(--gre-cream,#f3e6cc)}
.gre-site-footer--compact .gre-site-footer__center p.has-small-font-size{font-size:.78rem;opacity:.85}

/* v0.1.12: explicit preview-picker choices override legacy heading styles. */


/* 0.1.13: Native font choices take precedence over default/legacy heading styles. */
:is(h1,h2,h3,h4,h5,h6,p).has-display-font-family, .is-style-gre-display.has-display-font-family { font-family: Rockwell, 'Roboto Slab', 'Bookman Old Style', Georgia, serif !important; }
:is(h1,h2,h3,h4,h5,h6,p).has-body-font-family, .is-style-gre-display.has-body-font-family { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important; }
:is(h1,h2,h3,h4,h5,h6,p).has-editorial-font-family, .is-style-gre-display.has-editorial-font-family { font-family: Georgia, 'Times New Roman', serif !important; }
:is(h1,h2,h3,h4,h5,h6,p).has-cowboy-sage-font-family, .is-style-gre-display.has-cowboy-sage-font-family { font-family: "Cowboy Sage", Rockwell, Georgia, serif !important; }
:is(h1,h2,h3,h4,h5,h6,p).has-rye-font-family, .is-style-gre-display.has-rye-font-family { font-family: "Rye", Rockwell, Georgia, serif !important; }
