: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-color: var(--sd-color-background, var(--gre-parchment));
	background-image:
		radial-gradient(circle at 18% 12%, rgba(255,255,255,.18), transparent 28%),
		radial-gradient(circle at 78% 44%, rgba(93,57,29,.07), transparent 32%),
		repeating-linear-gradient(8deg, rgba(88,57,35,.022) 0 1px, transparent 1px 4px);
}

/* 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; }
.gre-site-header :where(a,.wp-block-navigation-item__content) { color: var(--gre-cream); text-decoration: none; }
.gre-site-header :where(a,.wp-block-navigation-item__content):hover { color: var(--gre-gold); }
.gre-site-header .current-menu-item > .wp-block-navigation-item__content { 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); }
.gre-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--gre-leather);
	color: var(--gre-cream);
	border-left: 1px solid rgba(209,161,94,.45);
}

/* 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-section-title::after {
	content: "✦";
	display: block;
	margin: .55rem auto 0;
	font-size: .42em;
	color: var(--gre-bronze);
}
.gre-section--dark .gre-section-title::after { color: var(--gre-gold); }

.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); }

/* 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; }
.sd-entry-header::after {
	content: "★";
	display: block;
	margin-top: 1rem;
	color: var(--gre-bronze);
}
.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; }
}
