/* Smith Show Horses - Frontend Stylesheet (generated) */
/* ---- _00-base.css ---- */
/* =========================================================
   Smith Show Horses - Design tokens, reset, typography
   ========================================================= */

:root {
	--ssh-brown: #4a2e18;
	--ssh-near-black: #100a05;
	--ssh-cream: #f9efe6;
	--ssh-cream-light: #f2e0d0;
	--ssh-red: #9b212c;
	--ssh-red-alt: #aa2f3a;
	--ssh-gold: #d5b278;
	--ssh-white: #ffffff;

	/* Figma-matched text/surface tones */
	--ssh-text-dark: #2c2621;
	--ssh-text-muted: #6b5b4d;
	--ssh-card-title: #2b1c15;
	--ssh-label-cream: #eee0c8;
	--ssh-surface-cream: #fdf9f6;
	--ssh-surface-card: #f4e2d0;
	--ssh-surface-panel: #fff8f0;

	--ssh-font-serif: 'Noto Serif', Georgia, 'Times New Roman', serif;
	--ssh-font-body: 'Inter', 'Archivo', -apple-system, BlinkMacSystemFont, sans-serif;

	--ssh-max-width: 1500px;
	--ssh-gutter: 28px;
	--ssh-gutter-mobile: 20px;

	--ssh-radius: 0;
}

@media (max-width: 767px) {
	:root {
		--ssh-gutter: var(--ssh-gutter-mobile);
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	:root {
		--ssh-gutter: 44px;
	}
}

/* Lenis smooth scroll */
html.lenis,
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

.lenis.lenis-scrolling iframe {
	pointer-events: none;
}

.ssh-section * {
	box-sizing: border-box;
}

.ssh-section {
	font-family: var(--ssh-font-body);
	color: var(--ssh-brown);
	-webkit-font-smoothing: antialiased;
}

:where(.ssh-section h1, .ssh-section h2, .ssh-section h3, .ssh-section h4) {
	font-family: var(--ssh-font-serif);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 0.5em;
	color: var(--ssh-brown);
}

:where(.ssh-section p) {
	margin: 0 0 1em;
	line-height: 1.6;
}

:where(.ssh-section ul, .ssh-section ol) {
	margin: 0;
	padding: 0;
	list-style: none;
}

:where(.ssh-section a) {
	text-decoration: none;
	color: inherit;
}

:where(.ssh-section img) {
	max-width: 100%;
	height: auto;
	display: block;
}

.ssh-container {
	max-width: var(--ssh-max-width);
	margin: 0 auto;
	padding: 0 var(--ssh-gutter);
}

/* Eyebrow / kicker label used across many sections */
.ssh-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ssh-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ssh-red);
	margin-bottom: 16px;
}

.ssh-eyebrow::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: rotate(45deg);
}

/* Shared button styles */
.ssh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px 40px;
	font-family: var(--ssh-font-body);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	border-radius: 0;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.ssh-btn--primary {
	background: var(--ssh-red);
	color: var(--ssh-cream-light);
	border-color: var(--ssh-red);
}

.ssh-btn--primary:hover {
	background: var(--ssh-red-alt);
	color: var(--ssh-cream-light);
	border-color: var(--ssh-red-alt);
}

.ssh-btn--outline {
	background: transparent;
	color: var(--ssh-cream-light);
	border-color: var(--ssh-cream-light);
}

.ssh-btn--outline:hover {
	background: var(--ssh-red);
	color: var(--ssh-cream-light);
	border-color: var(--ssh-red);
}

.ssh-btn--outline-dark {
	background: transparent;
	color: var(--ssh-brown);
	border-color: var(--ssh-brown);
}

.ssh-btn--outline-dark:hover {
	background: var(--ssh-brown);
	color: var(--ssh-cream);
}

.ssh-btn--outline-red {
	background: transparent;
	color: var(--ssh-red-alt);
	border-color: rgba(155, 33, 44, 0.35);
}

.ssh-btn--outline-red:hover {
	background: var(--ssh-red);
	color: var(--ssh-cream-light);
	border-color: var(--ssh-red);
}

.ssh-btn--gold {
	background: var(--ssh-gold);
	color: var(--ssh-near-black);
	border-color: var(--ssh-gold);
}

.ssh-btn--gold:hover {
	background: transparent;
	color: var(--ssh-gold);
}

/* Screen-reader only utility */
.ssh-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---- 10-global.css ---- */
/* =========================================================
   Global widgets: Header, Footer, Contact Form, Champion CTA,
   Testimonial Band
   ========================================================= */

/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */
.ssh-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
}

.ssh-header__hero-wrap {
	position: relative;
	width: 100%;
	padding-top: 24px;
	transition: padding-top 550ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: padding-top;
}

.ssh-header__bar {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	background: var(--ssh-near-black);
	border: none;
	outline: none;
	box-shadow: none;
	border-radius: 0;
	transition: max-width 550ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: max-width;
}

.ssh-header__bar-inner {
	width: 100%;
	max-width: 1500px;
	height: 80px;
	margin: 0 auto;
	box-sizing: border-box;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 7px var(--ssh-gutter);
}

.ssh-header.is-scrolled .ssh-header__hero-wrap {
	padding-top: 0;
}

.ssh-header.is-scrolled .ssh-header__bar {
	max-width: 100vw;
}

.ssh-header__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 66px;
	height: 66px;
}

.ssh-header__logo-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ssh-header__nav-list {
	display: flex;
	align-items: center;
	gap: 32px;
}

.ssh-header__nav-list > li {
	display: flex;
	align-items: center;
}

.ssh-header__nav-list > li > a {
	display: flex;
	align-items: center;
	font-family: var(--ssh-font-body);
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--ssh-cream);
	transition: color 0.2s ease;
}

.ssh-header__nav-list > li > a:hover {
	color: var(--ssh-gold);
}

.ssh-header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ssh-header__cta {
	height: 54px;
	color: #f2e0d0;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 1.8px;
}

.ssh-header__mobile-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid var(--ssh-gold);
	border-radius: 0;
	cursor: pointer;
	padding: 0;
}

.ssh-header__mobile-toggle-bar {
	display: block;
	width: 18px;
	height: 2px;
	margin: 0 auto;
	background: var(--ssh-cream);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hamburger morphs into an X while the drawer is open (mobile only — the toggle
   is hidden on desktop). The toggle stays pinned top-right, mirroring the X. */
.ssh-header.is-nav-open .ssh-header__mobile-toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.ssh-header.is-nav-open .ssh-header__mobile-toggle-bar:nth-child(2) {
	opacity: 0;
}

.ssh-header.is-nav-open .ssh-header__mobile-toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* The Contact CTA that lives inside the drawer is desktop-hidden; it only
   appears once the nav collapses into the mobile drawer. */
.ssh-header__drawer-cta,
.ssh-header__drawer-contact {
	display: none;
}

.ssh-header__nav {
	transition: transform 0.3s ease;
}

#wpadminbar #wp-admin-bar-search,
#wpadminbar #wp-admin-bar-search .ab-item,
#wpadminbar #adminbarsearch,
#wpadminbar #adminbarsearch .adminbar-input {
	background: transparent !important;
}

#wpadminbar #adminbarsearch .adminbar-input:focus {
	background: #1d2327 !important;
	color: #fff !important;
}

html.ssh-nav-lock,
body.ssh-nav-lock {
	overflow: hidden;
}

body.ssh-nav-lock {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
}

/* Tablet + mobile: the 5 long nav labels don't fit inline, so collapse the
   whole nav into a slide-in drawer and show the hamburger from 1024px down. */
@media (max-width: 1024px) {
	.ssh-header__mobile-toggle {
		display: flex;
		position: relative;
		z-index: 3; /* stay above the fullscreen drawer so the X can close it */
	}

	/* Keep the logo visible above the open fullscreen drawer. Left-align the
	   mark to the gutter (instead of centered in its box) so it lines up with
	   the drawer menu items, which sit at the same gutter. */
	.ssh-header__logo {
		position: relative;
		z-index: 3;
		justify-content: flex-start;
	}

	/* Belt-and-suspenders: kill any inherited <ul> indent so the drawer items
	   start exactly at the nav's gutter padding. */
	.ssh-header__nav-list {
		margin: 0;
		padding: 0;
	}

	/* Fullscreen slide-in drawer with the moody horse portrait behind a dark
	   overlay so the menu type stays legible. */
	.ssh-header__nav {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		width: 100vw;
		max-width: 100%;
		background-color: var(--ssh-near-black);
		background-image:
			linear-gradient(180deg, rgba(16, 10, 5, 0.94) 0%, rgba(16, 10, 5, 0.91) 45%, rgba(16, 10, 5, 0.96) 100%),
			url('../images/mobile-menu-bg.png');
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		transform: translateX(100%);
		padding: 112px 28px 40px;
		box-shadow: none;
		overflow-y: auto;
		z-index: 2;
	}

	.ssh-header.is-nav-open .ssh-header__nav {
		transform: translateX(0);
	}

	/* Move the Contact CTA into the drawer on mobile; hide the bar version. */
	.ssh-header__actions .ssh-header__cta {
		display: none;
	}

	.ssh-header__drawer-cta {
		display: inline-flex;
		margin-top: 32px;
	}

	/* Dim scrim behind the open drawer. */
	.ssh-header__scrim {
		position: fixed;
		inset: 0;
		z-index: -1;
		background: rgba(16, 10, 5, 0.5);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	.ssh-header.is-nav-open .ssh-header__scrim {
		opacity: 1;
		pointer-events: auto;
	}

	.ssh-header__nav-list {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.ssh-header__nav-list > li {
		width: 100%;
	}

	/* Mobile-standard menu type: large, tappable rows (min ~48px targets). */
	.ssh-header__nav-list > li > a {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 48px;
		padding: 8px 0;
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 0.04em;
		color: var(--ssh-cream-light) !important;
	}

	/* Full-width, larger drawer Contact button. */
	.ssh-header__drawer-cta {
		display: flex;
		width: 100%;
		height: auto;
		justify-content: center;
		align-items: center;
		padding: 18px 24px;
		font-size: 17px;
		letter-spacing: 0.14em;
	}

	/* Small contact details under the drawer Contact button, separated by a
	   subtle rule with generous spacing. */
	.ssh-header__drawer-contact {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 40px;
		padding-top: 32px;
		border-top: 1px solid rgba(249, 239, 230, 0.18);
	}

	.ssh-header__drawer-contact-item {
		font-family: var(--ssh-font-body);
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: 0.02em;
		color: var(--ssh-cream-light);
		text-decoration: none;
	}

	a.ssh-header__drawer-contact-item:hover {
		color: var(--ssh-gold);
	}

	/* Stick the bar flush to the very top of the viewport on mobile/tablet. */
	.ssh-header__hero-wrap {
		padding-top: 0;
	}

	.ssh-header.is-scrolled .ssh-header__hero-wrap {
		padding-top: 0;
	}
}

@media (max-width: 767px) {
	.ssh-header__hero-wrap {
		padding-top: 0;
	}

	.ssh-header__nav {
		padding: 104px 16px 36px;
	}

	/* Initial (top of page): a taller bar + bigger logo. As the page scrolls,
	   the .is-scrolled class (added by frontend.js past 100px) shrinks both. */
	.ssh-header__bar-inner {
		height: 72px;
		padding: 10px 16px;
		transition: height 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.ssh-header__logo {
		width: 56px;
		height: 56px;
		transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1), height 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.ssh-header.is-scrolled .ssh-header__bar-inner {
		height: 54px;
	}

	.ssh-header.is-scrolled .ssh-header__logo {
		width: 40px;
		height: 40px;
	}

	.ssh-header__actions {
		gap: 12px;
	}

	.ssh-header__cta {
		padding: 12px 18px;
		font-size: 12px;
	}

	.ssh-header__drawer-cta.ssh-btn {
		min-height: 58px;
		padding: 0 24px;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0.16em;
		line-height: 1;
	}
}

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */
.ssh-footer {
	background-color: #17100b;
	background-image: url('../images/footer__bg__1609-549.png');
	background-size: cover;
	background-position: center;
	color: var(--ssh-cream);
	padding: 0;
}

.ssh-footer .ssh-section h1,
.ssh-footer .ssh-section h2,
.ssh-footer .ssh-section h3 {
	color: var(--ssh-cream);
}

.ssh-footer__top {
	display: grid;
	grid-template-columns: 1.45fr 0.9fr 0.9fr 1.35fr;
	gap: 0;
	padding: 86px 0 58px;
	border-bottom: 1px solid rgba(249, 239, 230, 0.09);
}

.ssh-footer__top > * {
	position: relative;
	padding: 0 44px;
}

.ssh-footer__top > *:first-child {
	padding-left: 0;
}

.ssh-footer__top > *:not(:first-child)::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: rgba(249, 239, 230, 0.08);
}

.ssh-footer__logo-img {
	height: 70px;
	width: auto;
	margin-bottom: 36px;
}

.ssh-footer__tagline {
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.03em;
	text-transform: capitalize;
	color: rgba(249, 239, 230, 0.42);
	max-width: 340px;
}

.ssh-footer__social {
	display: flex;
	gap: 18px;
	margin-top: 28px;
}

.ssh-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
	transition: opacity 0.2s ease;
}

.ssh-footer__social a:hover {
	opacity: 0.72;
}

.ssh-footer__social img {
	width: 18px;
	height: 18px;
}

.ssh-footer__column-title {
	font-family: var(--ssh-font-body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(249, 239, 230, 0.78);
	margin-bottom: 28px;
}

.ssh-footer__links {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ssh-footer__links a {
	font-size: 14px;
	letter-spacing: 0.03em;
	text-transform: capitalize;
	color: rgba(249, 239, 230, 0.38);
	transition: color 0.2s ease;
}

.ssh-footer__links a:hover {
	color: var(--ssh-gold);
}

.ssh-footer__address {
	display: flex;
	flex-direction: column;
	gap: 16px;
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.03em;
	text-transform: capitalize;
	color: rgba(249, 239, 230, 0.38);
}

.ssh-footer__address a {
	transition: color 0.2s ease;
}

.ssh-footer__address a:hover {
	color: var(--ssh-gold);
}

.ssh-footer__newsletter p {
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.03em;
	text-transform: none;
	color: rgba(249, 239, 230, 0.38);
	margin-bottom: 28px;
}

.ssh-footer__newsletter-form {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 360px;
	height: 52px;
	padding: 6px;
	border: 1px solid rgba(249, 239, 230, 0.28);
}

.ssh-footer__newsletter-form input {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0 12px;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--ssh-cream);
	font-family: var(--ssh-font-body);
	font-size: 12px;
}

.ssh-footer__newsletter-form input::placeholder {
	color: rgba(249, 239, 230, 0.52);
}

.ssh-footer__newsletter-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 0;
	background: var(--ssh-red);
	color: var(--ssh-cream-light);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ssh-footer__newsletter-submit:hover {
	background: var(--ssh-red-alt);
}

.ssh-footer__newsletter-icon {
	width: 18px;
	height: 18px;
}

.ssh-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 34px 0 52px;
	flex-wrap: wrap;
}

.ssh-footer__copyright {
	font-size: 12px;
	color: rgba(249, 239, 230, 0.52);
	margin: 0;
}

.ssh-footer__bottom-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

.ssh-footer__legal {
	display: flex;
	gap: 24px;
}

.ssh-footer__credit {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.04em;
	color: rgba(249, 239, 230, 0.4);
}

.ssh-footer__credit a {
	color: rgba(249, 239, 230, 0.6);
	transition: color 0.2s ease;
}

.ssh-footer__credit a:hover {
	color: var(--ssh-gold);
}

.ssh-footer__legal a {
	font-size: 12px;
	color: rgba(249, 239, 230, 0.66);
	transition: color 0.2s ease;
}

.ssh-footer__legal a:hover {
	color: var(--ssh-gold);
}

@media (max-width: 1024px) {
	.ssh-footer__top {
		grid-template-columns: 1fr 1fr;
		row-gap: 40px;
	}

	.ssh-footer__top > * {
		padding: 0 28px;
	}

	.ssh-footer__top > *:nth-child(odd) {
		padding-left: 0;
	}

	.ssh-footer__top > *:nth-child(3)::before {
		display: none;
	}
}

@media (max-width: 767px) {
	.ssh-footer {
		padding-top: 0;
		background-image:
			linear-gradient(180deg, rgba(23, 16, 11, 0.84) 0%, rgba(23, 16, 11, 0.9) 100%),
			url('../images/footer__bg__1609-549.png');
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
	}

	.ssh-footer__top {
		display: flex;
		flex-direction: column;
		gap: 30px;
		padding: 42px 0 34px;
	}

	.ssh-footer__top > * {
		padding: 0;
	}

	.ssh-footer__top > *::before {
		display: none;
	}

	.ssh-footer__logo-img {
		height: 56px;
		margin-bottom: 22px;
	}

	.ssh-footer__tagline {
		max-width: none;
	}

	.ssh-footer__column-title {
		margin-bottom: 14px;
	}

	.ssh-footer__links,
	.ssh-footer__address {
		gap: 10px;
	}

	.ssh-footer__links a,
	.ssh-footer__address {
		line-height: 1.55;
	}

	.ssh-footer__newsletter-form {
		flex-direction: row;
	}

	.ssh-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 24px 0 36px;
	}

	.ssh-footer__bottom-right {
		align-items: flex-start;
	}
}

/* ---------------------------------------------------------
   Contact Form band
   --------------------------------------------------------- */
.ssh-contact-form {
	position: relative;
	background: var(--ssh-cream);
	padding: 80px 0 100px;
}

.ssh-contact-form__container {
	max-width: 1440px;
}

.ssh-contact-form__intro {
	max-width: 620px;
	margin: 0 auto;
	text-align: center;
	color: var(--ssh-brown);
}

.ssh-contact-form__eyebrow {
	position: relative;
	display: inline-block;
	font-size: 44px;
	font-weight: 700;
	color: var(--ssh-brown);
	margin: 0 0 30px;
	padding-bottom: 22px;
}

.ssh-contact-form__eyebrow::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: translate(-50%, 50%) rotate(45deg);
}

.ssh-contact-form__eyebrow::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 114px;
	height: 1px;
	background: var(--ssh-red);
	transform: translateX(-50%);
}

.ssh-contact-form__heading {
	font-weight: 600;
	display: none;
}

.ssh-contact-form__intro-text {
	font-size: 16px;
	line-height: 1.73;
	color: var(--ssh-text-muted);
	max-width: 588px;
	margin: 0 auto;
}

.ssh-contact-form__inner {
	position: relative;
	display: grid;
	/* Fluid columns — the old fixed `565px 740px` (=1333px) overflowed any
	   viewport narrower than ~1390px, pushing the panel off-screen and the image
	   past the gutter. Now the image caps at 565px and the form takes the rest. */
	grid-template-columns: minmax(0, 565px) minmax(0, 1fr);
	gap: 28px;
	align-items: stretch;
	margin-top: 56px;
}

.ssh-contact-form__image {
	width: 100%;
	height: auto;
	min-height: 640px;
	align-self: stretch;
	overflow: hidden;
}

.ssh-contact-form__image-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

.ssh-contact-form__panel {
	background: var(--ssh-surface-panel);
	border-radius: 0;
	height: auto;
	padding: 60px 56px;
	box-shadow: 0 12px 44px rgba(74, 46, 24, 0.1);
}

.ssh-contact-form__form-heading {
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 40px;
}

.ssh-contact-form__form-helper {
	display: none;
}

.ssh-contact-form__row {
	margin-bottom: 30px;
}

.ssh-contact-form__row-group {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 42px;
}

.ssh-contact-form__form label {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: var(--ssh-text-muted);
	text-transform: none;
	letter-spacing: 0;
	margin-bottom: 16px;
}

.ssh-contact-form__form input,
.ssh-contact-form__form textarea {
	width: 100%;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid rgba(74, 46, 24, 0.24);
	border-radius: 0;
	background: transparent;
	font-family: var(--ssh-font-body);
	font-size: 14px;
	color: var(--ssh-brown);
}

.ssh-contact-form__form input {
	height: 32px;
}

.ssh-contact-form__form textarea {
	height: 96px;
	resize: vertical;
}

.ssh-contact-form__submit {
	margin-top: 12px;
	width: 200px;
	height: 52px;
	padding: 0;
	font-size: 12px;
}

@media (max-width: 1024px) {
	.ssh-contact-form__inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ssh-contact-form__image {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		min-height: 380px;
	}

	.ssh-contact-form__panel {
		padding: 48px 40px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-contact-form {
		padding: 64px 0 84px;
	}

	.ssh-contact-form__inner {
		margin-top: 38px;
	}

	.ssh-contact-form__image {
		min-height: 430px;
	}

	.ssh-contact-form__image-img {
		object-position: center 40%;
	}
}

@media (max-width: 767px) {
	.ssh-contact-form {
		padding: 58px 0 62px;
	}

	.ssh-contact-form__eyebrow {
		font-size: 30px;
	}

	.ssh-contact-form__image {
		height: 390px;
	}

	.ssh-contact-form__panel {
		padding: 34px 24px;
	}

	.ssh-contact-form__row-group {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

/* ---------------------------------------------------------
   Champion CTA
   --------------------------------------------------------- */
.ssh-champion-cta {
	position: relative;
	background: var(--ssh-near-black);
	overflow: hidden;
	padding: 0;
	min-height: 720px;
}

.ssh-champion-cta__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: url('../images/home-v2__champion-cta-bg__group-2085662530.png');
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

.ssh-champion-cta__bg-img {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 1;
}

.ssh-champion-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 720px;
}

.ssh-champion-cta__content {
	max-width: 780px;
	padding: 118px 0;
}

.ssh-champion-cta__heading {
	color: var(--ssh-cream-light);
	font-size: 54px;
	font-weight: 600;
	line-height: 1.1;
	margin-bottom: 22px;
	text-transform: capitalize;
}

.ssh-champion-cta__subtext {
	color: rgba(249, 239, 230, 0.85);
	font-size: 18px;
	line-height: 1.75;
	margin-bottom: 32px;
}

.ssh-champion-cta__image {
	display: none;
}

.ssh-champion-cta__image-img {
	border-radius: 0;
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media (max-width: 1024px) {
	.ssh-champion-cta__image {
		width: 240px;
	}

	.ssh-champion-cta__heading {
		font-size: 42px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-champion-cta__content {
		max-width: 560px;
	}

	.ssh-champion-cta__subtext {
		max-width: 460px;
	}
}

@media (max-width: 767px) {
	.ssh-champion-cta {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 340px auto;
		min-height: 0;
	}

	.ssh-champion-cta__bg {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
		background-color: var(--ssh-near-black);
		background-image: url('../images/champion-cta-mobile-big-daddy.png');
		background-size: cover;
		background-position: center top;
		background-repeat: no-repeat;
	}

	.ssh-champion-cta__inner {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 340px auto;
		grid-column: 1;
		grid-row: 1 / 3;
		min-height: 0;
		padding: 0;
	}

	.ssh-champion-cta__content {
		position: relative;
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 340px auto auto;
		grid-column: 1;
		grid-row: 1 / 3;
		max-width: none;
		padding: 0;
		z-index: 2;
	}

	.ssh-champion-cta__content::before {
		content: '';
		grid-column: 1;
		grid-row: 2 / 4;
		background: #221a14;
		z-index: 0;
	}

	.ssh-champion-cta__image {
		display: none;
	}

	.ssh-champion-cta__heading {
		position: relative;
		z-index: 1;
		align-self: end;
		grid-column: 1;
		grid-row: 1;
		max-width: 390px;
		margin: 0;
		padding: 0 var(--ssh-gutter) 24px;
		font-size: 34px;
		line-height: 1.08;
		text-wrap: balance;
	}

	.ssh-champion-cta__subtext {
		position: relative;
		z-index: 1;
		grid-column: 1;
		grid-row: 2;
		max-width: none;
		margin: 0;
		padding: 34px var(--ssh-gutter) 24px;
		font-size: 16px;
		line-height: 1.65;
	}

	.ssh-champion-cta__cta {
		position: relative;
		z-index: 1;
		grid-column: 1;
		grid-row: 3;
		justify-self: start;
		margin: 0 var(--ssh-gutter) 54px;
	}
}

/* ---------------------------------------------------------
   Testimonial Band
   --------------------------------------------------------- */
.ssh-testimonial-band {
	position: relative;
	background: var(--ssh-near-black);
	padding: 0;
	overflow: hidden;
	color: var(--ssh-cream);
}

.ssh-testimonial-band::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0) 0%, rgba(16, 10, 5, 0.08) 45%, rgba(16, 10, 5, 0.54) 62%, rgba(16, 10, 5, 0.86) 100%);
	pointer-events: none;
}

.ssh-testimonial-band__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr);
	gap: 0;
	align-items: stretch;
	min-height: 700px;
	max-width: none;
	padding: 0;
}

.ssh-testimonial-band__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: url('../images/home-v2__testimonial-band-bg__group-2085662531.png');
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

.ssh-testimonial-band__image-img {
	display: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

.ssh-testimonial-band__content {
	position: relative;
	z-index: 2;
	grid-column: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 620px;
	padding: 112px var(--ssh-gutter) 112px 68px;
}

.ssh-testimonial-band__content::before {
	content: '';
	position: absolute;
	left: 0;
	top: 112px;
	bottom: 112px;
	width: 1px;
	background: rgba(249, 239, 230, 0.14);
}

.ssh-testimonial-band .ssh-eyebrow {
	position: relative;
	display: block;
	max-width: 460px;
	font-family: var(--ssh-font-serif);
	font-size: 44px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
	text-wrap: balance;
	color: var(--ssh-white);
	margin-bottom: 22px;
	padding-bottom: 48px;
}

.ssh-testimonial-band .ssh-eyebrow::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 20px;
	z-index: 1;
	width: 8px;
	height: 8px;
	background: var(--ssh-cream);
	transform: translateY(50%) rotate(45deg);
}

.ssh-testimonial-band .ssh-eyebrow::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 20px;
	z-index: 0;
	width: 86px;
	height: 1px;
	background: rgba(213, 178, 120, 0.7);
}

.ssh-testimonial-band__quote {
	margin: 0;
}

.ssh-testimonial-band__quote p {
	font-family: var(--ssh-font-body);
	font-size: 17px;
	line-height: 1.85;
	color: rgba(249, 239, 230, 0.88);
	margin: 0 0 38px;
}

.ssh-testimonial-band__attribution {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.ssh-testimonial-band__name {
	font-style: normal;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ssh-white);
}

.ssh-testimonial-band__subtitle {
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ssh-cream-light);
	opacity: 1;
}

.ssh-testimonial-band__quote + .ssh-testimonial-band__quote {
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid rgba(74, 46, 24, 0.15);
}

@media (max-width: 1024px) {
	.ssh-testimonial-band__inner {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.ssh-testimonial-band__content {
		grid-column: 1;
		max-width: 680px;
		margin-left: auto;
		padding: 96px var(--ssh-gutter);
	}

	.ssh-testimonial-band__content::before {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-testimonial-band::after {
		background: linear-gradient(90deg, rgba(16, 10, 5, 0.86) 0%, rgba(16, 10, 5, 0.76) 42%, rgba(16, 10, 5, 0.48) 70%, rgba(16, 10, 5, 0.16) 100%);
	}

	.ssh-testimonial-band__inner {
		min-height: 520px;
	}

	.ssh-testimonial-band__image {
		background-position: center center;
		transform: scaleX(-1);
	}

	.ssh-testimonial-band__content {
		max-width: 620px;
		margin-left: 0;
		margin-right: auto;
		padding: 78px 40px 72px;
	}

	.ssh-testimonial-band .ssh-eyebrow {
		max-width: 460px;
		font-size: 36px;
		line-height: 1.12;
	}

	.ssh-testimonial-band__quote p {
		max-width: 560px;
	}
}

@media (max-width: 767px) {
	.ssh-testimonial-band {
		padding: 0;
	}

	.ssh-testimonial-band::after {
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.18) 0%, rgba(16, 10, 5, 0.84) 62%, rgba(16, 10, 5, 0.92) 100%);
	}

	.ssh-testimonial-band__inner {
		min-height: 620px;
	}

	/* Mobile-only portrait image for this band (desktop keeps the group photo). */
	.ssh-testimonial-band__image {
		background-image: url('../images/home-mobile__testimonial-horse.png');
		background-position: center top;
	}

	.ssh-testimonial-band__image-img {
		object-position: 36% center;
	}

	.ssh-testimonial-band__content {
		justify-content: flex-end;
		padding: 240px var(--ssh-gutter) 56px;
	}

	.ssh-testimonial-band .ssh-eyebrow {
		font-size: 34px;
	}

	.ssh-testimonial-band__quote p {
		font-size: 15px;
	}
}

/* ---- 20-home.css ---- */
/* =========================================================
   Smith Show Horses — Home page widgets
   Home_Hero_Widget, Home_Intro_Widget, Home_Credentials_Widget,
   Home_Services_Widget, Home_News_Ranch_Widget,
   Home_Story_Teaser_Widget, Home_Values_Widget
   ========================================================= */

/* ---------------------------------------------------------
   Home Hero
   --------------------------------------------------------- */
.ssh-home-hero {
	position: relative;
	overflow: hidden;
	min-height: 890px;
	display: flex;
	align-items: center;
}

/* Fixed-background parallax: the hero photo stays pinned to the viewport while
   the content and following sections scroll up and cover it. Composition of the
   image is unchanged — it is simply held still. */
.ssh-home-hero__bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
	overflow: hidden;
}

.ssh-home-hero__bg-parallax {
	position: absolute;
	inset: 0;
}

.ssh-home-hero__bg-img {
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}`, which otherwise
	   collapses the image so it stops short of the bottom, leaving a light band. */
	height: 100% !important;
	object-fit: cover;
	object-position: 68% center;
	transform: scale(1.15) translateX(-64px);
	transform-origin: center center;
	backface-visibility: hidden;
}

/* Portrait mobile-only hero photo — hidden on desktop. */
.ssh-home-hero__bg-img--mobile {
	display: none;
}

.ssh-home-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.72) 0%, rgba(16, 10, 5, 0.35) 45%, rgba(16, 10, 5, 0.15) 70%);
}

.ssh-home-hero__container {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-top: 120px;
	padding-bottom: 120px;
	padding-left: 28px;
	padding-right: 28px;
}

.ssh-home-hero__watermark {
	position: absolute;
	top: 0;
	left: 28px;
	z-index: 1;
	width: clamp(460px, 46vw, 680px);
	height: auto;
	opacity: 0.08;
	pointer-events: none;
	user-select: none;
}

.ssh-home-hero__content {
	position: relative;
	z-index: 2;
	max-width: 600px;
	color: var(--ssh-cream);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.ssh-home-hero__eyebrow {
	width: fit-content;
	color: var(--ssh-cream);
	font-weight: 600;
	letter-spacing: 0.2em;
	margin-bottom: 12px;
}

.ssh-home-hero__eyebrow::before {
	display: none;
}

.ssh-home-hero__title {
	width: fit-content;
	color: var(--ssh-white);
	font-size: 64px;
	line-height: 1;
	letter-spacing: normal;
	margin-bottom: 28px;
}

.ssh-home-hero__title span {
	display: block;
	text-align: left;
}

.ssh-home-hero__title span:first-child {
	font-weight: 600;
}

.ssh-home-hero__title span:last-child {
	font-weight: 400;
}

.ssh-home-hero__body {
	color: var(--ssh-cream);
	font-size: 16px;
	line-height: 1.85;
	max-width: 560px;
	margin-bottom: 39px;
}

.ssh-home-hero__cta {
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 44px;
	background: var(--ssh-red);
	color: #f2e0d0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 1.6px;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

/* ---------------------------------------------------------
   Home Intro
   --------------------------------------------------------- */
.ssh-home-intro {
	position: relative;
	overflow: hidden;
	background-color: var(--ssh-cream);
	background-image: url('../images/home-v2__cream-texture__2262-991.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 28px 0 100px;
}

.ssh-home-intro__container {
	display: grid;
	grid-template-columns: 560px 1fr;
	gap: 60px;
	align-items: center;
	max-width: 1500px;
	padding-left: 28px;
	padding-right: 28px;
}

.ssh-home-intro__content {
	transform: translateY(20px);
}

.ssh-home-intro__title {
	font-size: 44px;
	font-weight: 600;
	max-width: 540px;
}

.ssh-home-intro__divider {
	display: block;
	width: 138px;
	height: 15px;
	margin: 20px 0 24px;
}

.ssh-home-intro__body {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.95;
	color: var(--ssh-brown);
	max-width: 620px;
}

.ssh-home-intro__media {
	position: relative;
	align-self: stretch;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	min-height: 420px;
}

.ssh-home-intro__stage {
	position: relative;
	flex-shrink: 0;
	width: 115%;
	margin: 0 0 -128px;
}

.ssh-home-intro__horse-img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.ssh-home-intro__patch {
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 47%;
	width: 86%;
	height: auto;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.ssh-home-intro__rings {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

/* Two counter-rotating layers = soft "wind" swirl around the horse. */
.ssh-home-intro__rings-layer {
	transform-box: view-box;
	transform-origin: 600px 500px;
}

.ssh-home-intro__rings-layer--a {
	animation: ssh-ring-swirl-cw 42s linear infinite;
}

.ssh-home-intro__rings-layer--b {
	animation: ssh-ring-swirl-ccw 54s linear infinite;
}

@keyframes ssh-ring-swirl-cw {
	to {
		transform: rotate(360deg);
	}
}

@keyframes ssh-ring-swirl-ccw {
	to {
		transform: rotate(-360deg);
	}
}

.ssh-home-intro__ring {
	fill: none;
	stroke: var(--ssh-gold);
	stroke-width: 2.2;
	opacity: 0;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.7s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 1.7s ease;
}

.ssh-home-intro__media.is-revealed .ssh-home-intro__ring {
	opacity: 0.6;
	stroke-dashoffset: 0;
}

.ssh-home-intro__media.is-revealed .ssh-home-intro__ring--1 {
	transition-delay: 0s;
}

.ssh-home-intro__media.is-revealed .ssh-home-intro__ring--2 {
	transition-delay: 0.2s;
}

.ssh-home-intro__media.is-revealed .ssh-home-intro__ring--3 {
	transition-delay: 0.4s;
}

.ssh-home-intro__media.is-revealed .ssh-home-intro__ring--4 {
	transition-delay: 0.6s;
}

@media (prefers-reduced-motion: reduce) {
	.ssh-home-intro__rings-layer {
		animation: none;
	}

	.ssh-home-intro__ring {
		opacity: 0.6;
		stroke-dashoffset: 0;
		transition: none;
	}
}

/* ---------------------------------------------------------
   Home Credentials
   --------------------------------------------------------- */
.ssh-home-credentials {
	position: relative;
	overflow: hidden;
	min-height: 720px;
	display: flex;
	align-items: flex-end;
	color: var(--ssh-cream);
}

.ssh-home-credentials__bg {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.ssh-home-credentials__bg-img {
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}` so the parallax
	   image fills the frame and its scale/drift never exposes a bottom band. */
	height: 100% !important;
	object-fit: cover;
	object-position: center 20%;
}

.ssh-home-credentials__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(24, 13, 10, 0.08) 0%,
		rgba(24, 13, 10, 0.28) 38%,
		rgba(24, 13, 10, 0.62) 72%,
		rgba(24, 13, 10, 0.78) 100%
	);
}

.ssh-home-credentials__container {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: 40px;
	padding-bottom: 72px;
}

.ssh-home-credentials__title {
	color: var(--ssh-white);
	font-family: var(--ssh-font-serif);
	font-weight: 600;
	font-size: 44px;
	line-height: 1.2;
	max-width: 640px;
	margin: 0;
}

.ssh-home-credentials__title-line {
	display: block;
}

.ssh-home-credentials__title-line--alt {
	color: var(--ssh-cream-light);
}

.ssh-home-credentials__divider {
	width: 100%;
	height: 1px;
	margin: 42px 0 44px;
	background: rgba(242, 224, 208, 0.22);
}

.ssh-home-credentials__list {
	display: grid;
	grid-template-columns: auto 1fr 1fr 1fr;
	gap: 0;
	width: 100%;
}

.ssh-home-credentials__item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 0 40px;
}

.ssh-home-credentials__item:first-child {
	padding-left: 0;
	padding-right: 80px;
}

.ssh-home-credentials__item:last-child {
	padding-right: 0;
}

.ssh-home-credentials__vsep {
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background: rgba(242, 224, 208, 0.22);
	transform-origin: top center;
}

.ssh-home-credentials__value {
	font-family: var(--ssh-font-serif);
	font-weight: 700;
	font-size: 46px;
	color: var(--ssh-white);
	line-height: 1;
}

.ssh-home-credentials__label {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--ssh-label-cream);
}

/* ---------------------------------------------------------
   Home Services
   --------------------------------------------------------- */
.ssh-home-services {
	background-color: var(--ssh-cream);
	background-image: url('../images/home-v2__services-bg__1609-2768.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 96px 0 48px;
}

.ssh-home-services__heading-wrap {
	text-align: center;
	margin-bottom: 40px;
}

.ssh-home-services__title {
	font-size: 44px;
	font-weight: 600;
}

.ssh-home-services__title-accent {
	color: var(--ssh-red);
}

.ssh-home-services__divider {
	width: 130px;
	height: 2px;
	background: var(--ssh-red);
	margin: 18px auto 0;
	position: relative;
}

.ssh-home-services__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-home-services__list {
	display: flex;
	flex-direction: column;
}

.ssh-home-services__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	padding: 40px 0;
	border-top: 1px solid rgba(74, 46, 24, 0.14);
}

.ssh-home-services__row:first-child {
	border-top: none;
	padding-top: 8px;
}

.ssh-home-services__row--image-right .ssh-home-services__image {
	order: 2;
}

.ssh-home-services__row--image-right .ssh-home-services__body {
	order: 1;
}

.ssh-home-services__image {
	position: relative;
	aspect-ratio: 7 / 5;
	overflow: hidden;
}

.ssh-home-services__img {
	position: absolute;
	top: -6%;
	left: 0;
	width: 100%;
	height: 112% !important;
	object-fit: cover;
	border-radius: 0;
	display: block;
	transform-origin: center center;
	will-change: transform;
}

.ssh-home-services__item-title {
	font-size: 40px;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 16px;
}

.ssh-home-services__item-desc {
	font-size: 18px;
	line-height: 1.7;
	color: var(--ssh-text-dark);
	max-width: 440px;
	margin-bottom: 26px;
}

/* ---------------------------------------------------------
   Home News & Ranch
   --------------------------------------------------------- */
.ssh-home-news-ranch {
	background-color: var(--ssh-red);
	background-image: url('../images/home-v2__news-ranch-bg__1609-1732.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 100px 0;
	color: var(--ssh-cream);
}

.ssh-home-news-ranch__heading-wrap {
	text-align: center;
	margin-bottom: 48px;
}

.ssh-home-news-ranch__title {
	color: var(--ssh-white);
	font-size: 44px;
	font-weight: 600;
	line-height: 1.12;
}

.ssh-home-news-ranch__title span {
	display: block;
}

.ssh-home-news-ranch__divider {
	width: 130px;
	height: 2px;
	background: var(--ssh-cream-light);
	margin: 20px auto 24px;
	opacity: 1;
	position: relative;
}

.ssh-home-news-ranch__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	background: var(--ssh-cream-light);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-home-news-ranch__body {
	max-width: 1040px;
	margin: 0 auto;
	color: var(--ssh-white);
	font-size: 18px;
	line-height: 1.75;
	text-wrap: balance;
}

.ssh-home-news-ranch__featured {
	position: relative;
	margin-bottom: 24px;
	border-radius: 0;
	overflow: hidden;
}

/* Upcoming-shows slider: active slide sets the height (in flow); the rest are
   stacked on top and cross-fade. */
.ssh-home-news-ranch__slides {
	position: relative;
}

.ssh-home-news-ranch__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease;
}

.ssh-home-news-ranch__slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
}

.ssh-home-news-ranch__slider-arrow {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 5;
	width: 52px;
	height: 52px;
	border: none;
	border-radius: 50%;
	background: rgba(155, 33, 44, 0.9);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.ssh-home-news-ranch__slider-arrow:hover {
	background: var(--ssh-red);
	transform: translateX(2px);
}

.ssh-home-news-ranch__featured-link {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.ssh-home-news-ranch__featured-image {
	position: relative;
	width: 100%;
	height: 520px;
}

.ssh-home-news-ranch__featured-img {
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}` so the photo
	   fills the 440px banner as a cover crop instead of ballooning to its native
	   height. */
	height: 100% !important;
	object-fit: cover;
	object-position: center 30%;
}

.ssh-home-news-ranch__featured-overlay {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 90px 40px 32px;
	background: linear-gradient(0deg, rgba(16, 10, 5, 0.9) 0%, rgba(16, 10, 5, 0.45) 45%, rgba(16, 10, 5, 0) 100%);
	width: 100%;
}

.ssh-home-news-ranch__featured-category {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ssh-cream-light);
	margin-bottom: 8px;
}

.ssh-home-news-ranch__featured-title {
	color: var(--ssh-white);
	font-size: 32px;
	font-weight: 700;
	margin: 0;
	/* Keep long post titles from sprawling across the whole banner: cap the
	   width and clamp to two lines with an ellipsis. */
	max-width: 560px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ssh-home-news-ranch__date-badge {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 76px;
	height: 76px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	color: var(--ssh-white);
	text-align: center;
}

.ssh-home-news-ranch__date-month {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ssh-home-news-ranch__date-days {
	font-family: var(--ssh-font-serif);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}

.ssh-home-news-ranch__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ssh-home-news-ranch__more {
	text-align: center;
	margin-top: 40px;
}

/* The news section sits on a maroon background, so the red outline button is
   invisible — use a cream outline that reads against it. */
.ssh-home-news-ranch__more .ssh-btn {
	color: var(--ssh-cream-light);
	border-color: var(--ssh-cream-light);
	background: transparent;
}

.ssh-home-news-ranch__more .ssh-btn:hover {
	background: var(--ssh-cream-light);
	color: var(--ssh-red);
	border-color: var(--ssh-cream-light);
}

.ssh-home-news-ranch__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 430px;
	background: var(--ssh-surface-card);
	border-radius: 0;
	color: var(--ssh-brown);
	padding: 16px;
	transition: box-shadow 0.3s ease;
}

.ssh-home-news-ranch__card:hover {
	box-shadow: 0 14px 30px rgba(16, 10, 5, 0.22);
}

.ssh-home-news-ranch__card-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.ssh-home-news-ranch__card-img {
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.ssh-home-news-ranch__card:hover .ssh-home-news-ranch__card-img {
	transform: scale(1.05);
}

.ssh-home-news-ranch__card-image {
	width: 100%;
	height: 260px;
	border-radius: 0;
	overflow: hidden;
}

.ssh-home-news-ranch__card-img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center 30%;
	display: block;
}

.ssh-home-news-ranch__card-body {
	padding: 18px 8px 24px;
}

.ssh-home-news-ranch__card-category {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--ssh-red);
	margin-bottom: 10px;
}

.ssh-home-news-ranch__card-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--ssh-card-title);
	margin-bottom: 12px;
}

.ssh-home-news-ranch__card-excerpt {
	font-size: 16px;
	line-height: 1.6;
	color: var(--ssh-text-muted);
	margin-bottom: 0;
}

.ssh-home-news-ranch__card-link {
	display: inline-block;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ssh-red);
	border-bottom: 1px solid var(--ssh-red);
}

/* ---------------------------------------------------------
   Home Story Teaser
   --------------------------------------------------------- */
.ssh-home-story-teaser {
	position: relative;
	/* Plain cream section — the body copy sits on this, NOT on the parchment. */
	background-color: #f9efe6;
	padding: 0 0 clamp(48px, 4vw, 78px);
	text-align: center;
	overflow: hidden;
}

.ssh-home-story-teaser__container {
	position: relative;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

/* Stage = the composition area only (title + figures). The parchment is a real
   image layer behind it (keeps its torn edges — no flat crop, no bg-colour), and
   the body copy below sits on the plain cream section, not on the texture. */
.ssh-home-story-teaser__stage {
	position: relative;
	width: 100%;
	margin: 0;
	padding: clamp(36px, 4vw, 76px) var(--ssh-gutter) clamp(16px, 2.4vw, 42px);
	box-sizing: border-box;
	/* Clips the parchment's torn top edge flush to the section top; torn BOTTOM
	   edge stays visible. */
	overflow: hidden;
}

/* Parchment backdrop: full-bleed, bottom-anchored so its natural torn bottom
   edge meets the cream body area. Wider than the stage so its solid centre backs
   the whole group while the torn side edges bleed off-screen. */
.ssh-home-story-teaser__parchment {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	/* Wide enough that its (short) natural height still covers the taller stacked
	   composition on narrow screens; the excess bleeds off the sides / clips above.
	   !important beats Elementor's `.elementor img{max-width:100%}`. */
	width: min(340%, 3000px);
	max-width: none !important;
	height: auto;
	z-index: 0;
	pointer-events: none;
	user-select: none;
}

/* Heading + divider sit in the parchment space above the figures. */
.ssh-home-story-teaser__heading-wrap {
	position: relative;
	z-index: 2;
	text-align: center;
	margin: 0 auto clamp(18px, 2.2vw, 34px);
}

/* Cap the group on the WRAPPER (not the <img>) so Elementor's `img{max-width:100%}`
   can't override it and blow the figures up to full width on desktop. */
.ssh-home-story-teaser__figures-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 940px;
	margin: 0 auto;
	text-align: center;
}

.ssh-home-story-teaser__figures {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.ssh-home-story-teaser__title {
	font-size: clamp(22px, 2.7vw, 44px);
	font-weight: 600;
	line-height: 1.15;
	color: var(--ssh-brown);
}

.ssh-home-story-teaser__title span {
	display: block;
}

.ssh-home-story-teaser__title-accent {
	color: var(--ssh-red);
}

.ssh-home-story-teaser__divider {
	width: 130px;
	height: 2px;
	background: var(--ssh-red);
	margin: 16px auto 0;
	position: relative;
}

.ssh-home-story-teaser__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
	.ssh-story-line {
		opacity: 0.5;
		stroke-dashoffset: 0;
		transition: none;
	}
}

.ssh-home-story-teaser__body {
	max-width: 880px;
	margin: clamp(10px, 1.6vw, 22px) auto 32px;
	padding: 0 24px;
	text-align: center;
}

.ssh-home-story-teaser__body p {
	color: var(--ssh-text-dark);
	font-size: 18px;
	line-height: 1.78;
}

.ssh-home-story-teaser__cta-wrap {
	display: flex;
	justify-content: center;
}

/* ---------------------------------------------------------
   Home Values
   --------------------------------------------------------- */
.ssh-home-values {
	background: var(--ssh-cream);
	padding: 100px 0;
}

.ssh-home-values__title {
	font-size: 44px;
	font-weight: 600;
	max-width: 640px;
}

.ssh-home-values__divider {
	width: 60px;
	height: 2px;
	background: var(--ssh-red);
	margin: 20px 0 44px;
	position: relative;
}

.ssh-home-values__divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: translate(-2px, -50%) rotate(45deg);
}

.ssh-home-values__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ssh-home-values__card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 300px;
	padding: 44px 36px;
	border: 1px solid rgba(213, 178, 120, 0.65);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.25);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.ssh-home-values__card:hover {
	border-color: rgba(213, 178, 120, 0.85);
	box-shadow: 0 12px 28px rgba(16, 10, 5, 0.08);
}

.ssh-home-values__icon {
	width: 48px;
	height: 48px;
	margin-bottom: 18px;
}

.ssh-home-values__icon-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ssh-home-values__card-title {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 12px;
}

.ssh-home-values__card-desc {
	font-size: 16px;
	line-height: 1.62;
	color: var(--ssh-text-muted);
	margin: 0;
}

/* ===========================================================
   Tablet — max-width: 1024px
   =========================================================== */
@media (max-width: 1024px) {
	.ssh-home-hero {
		min-height: 750px;
	}

	.ssh-home-hero__title {
		font-size: 44px;
	}

	.ssh-home-intro__container {
		grid-template-columns: 1fr;
		gap: 40px;
		text-align: center;
	}

	.ssh-home-intro__content {
		transform: none;
	}

	.ssh-home-intro__title,
	.ssh-home-intro__body {
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	/* Text is centered on mobile, so use the divider whose diamond sits in the
	   middle (the default graphic has it at the left end). */
	.ssh-home-intro__divider {
		content: url('../icons/home-v2__divider-center__138-15.svg');
		margin-left: auto;
		margin-right: auto;
	}

	/* Collapse the fixed media height so the horse hugs the copy (no big gap). */
	.ssh-home-intro__media {
		min-height: 0;
		align-items: center;
	}

	.ssh-home-intro__stage {
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
	}

	.ssh-home-credentials {
		min-height: 0;
	}

	/* Mobile credentials background: the moody horse close-up, cover-fit. */
	.ssh-home-credentials__bg-img {
		display: none;
	}

	.ssh-home-credentials__bg {
		background-image: url('../images/home-credentials-mobile.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.ssh-home-credentials__title {
		font-size: 38px;
	}

	/* Tighten the gap between the title and the first stat. */
	.ssh-home-credentials__divider {
		margin: 20px 0 8px;
	}

	/* Single column with a hairline rule between each stat. */
	.ssh-home-credentials__list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ssh-home-credentials__item,
	.ssh-home-credentials__item:first-child,
	.ssh-home-credentials__item:nth-child(2),
	.ssh-home-credentials__item:nth-child(3) {
		padding: 22px 0;
		align-items: flex-start;
		text-align: left;
		border-bottom: 1px solid rgba(249, 239, 230, 0.18);
	}

	.ssh-home-credentials__item:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.ssh-home-credentials__vsep {
		display: none;
	}

	.ssh-home-services__row,
	.ssh-home-services__row--image-right .ssh-home-services__image,
	.ssh-home-services__row--image-right .ssh-home-services__body {
		order: initial;
	}

	.ssh-home-services__row {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.ssh-home-news-ranch__list {
		grid-template-columns: 1fr;
	}

	.ssh-home-values__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Tablet: keep the WIDE desktop photo, but pin it as a static full cover via
	   a CSS background (reliable cover; the fixed parallax is disabled here). */
	.ssh-home-hero__bg {
		position: absolute;
		inset: 0;
		z-index: 0;
		background-image: url('../images/home-v2__hero-full__52649a0e51.png');
		background-size: cover;
		background-position: 68% center;
		background-repeat: no-repeat;
	}

	.ssh-home-hero__bg-img {
		display: none;
	}
}

/* Tablet-only composition fixes. Keep these away from phone and desktop so the
   settled layouts do not shift while iPad widths get their own spacing. */
@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-home-intro {
		padding: 56px 0 24px;
	}

	.ssh-home-intro__container {
		max-width: 840px;
		gap: 24px;
		padding-left: 40px;
		padding-right: 40px;
	}

	.ssh-home-intro__title {
		font-size: 38px;
		line-height: 1.08;
		max-width: 680px;
	}

	.ssh-home-intro__body {
		max-width: 700px;
		line-height: 1.75;
	}

	.ssh-home-intro__stage {
		max-width: 500px;
		margin: -4px auto -66px;
	}

	.ssh-home-story-teaser {
		padding: 0 0 56px;
	}

	.ssh-home-story-teaser__heading-wrap {
		margin-bottom: 18px;
	}

	.ssh-home-story-teaser__title {
		font-size: 30px;
		line-height: 1.08;
	}

	.ssh-home-story-teaser__figures {
		max-width: 460px;
	}
}

/* ===========================================================
   Mobile — max-width: 767px
   =========================================================== */
@media (max-width: 767px) {
	/* Portrait mobile hero: the vertical photo covers a tall frame, a bottom
	   gradient anchors the copy, and the content sits at the bottom. */
	.ssh-home-hero {
		min-height: 100vh;
		min-height: 100dvh; /* fill the visible viewport incl. mobile toolbars */
		align-items: flex-end;
	}

	/* Paint the portrait mobile photo as a CSS background on the bg layer:
	   background-size:cover always fills the box with no percentage-height
	   gotchas that an <img> hits. Starts just below the fixed header bar so the
	   horse's head/ears aren't clipped. */
	.ssh-home-hero__bg {
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 0;
		background-image: url('../images/home-hero-mobile.png');
		background-size: cover;
		background-position: left top;
		background-repeat: no-repeat;
	}

	/* Both <img> photos are hidden on mobile — the CSS background covers. */
	.ssh-home-hero__bg-img {
		display: none;
	}

	/* Overlay darkens the bottom so the copy reads over the photo. */
	.ssh-home-hero__overlay {
		background: linear-gradient(180deg, rgba(16, 10, 5, 0) 34%, rgba(16, 10, 5, 0.55) 62%, rgba(16, 10, 5, 0.9) 100%);
	}

	.ssh-home-hero__container {
		padding-top: 0;
		padding-bottom: 40px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.ssh-home-hero__content {
		max-width: 100%;
		padding: 0;
	}

	.ssh-home-hero__title {
		font-size: 34px;
	}

	.ssh-home-intro {
		padding: 60px 0;
	}

	.ssh-home-intro__media {
		min-height: 0;
	}

	.ssh-home-intro__stage {
		max-width: 360px;
		margin-top: -32px;
		margin-bottom: -60px;
	}

	.ssh-home-credentials__list {
		grid-template-columns: 1fr;
	}

	.ssh-home-credentials__label {
		white-space: normal;
	}

	.ssh-home-credentials__title {
		font-size: 28px;
	}

	.ssh-home-services {
		padding: 60px 0;
	}

	.ssh-home-services__title {
		font-size: 30px;
	}

	.ssh-home-services__item-title {
		font-size: 26px;
	}

	.ssh-home-services__row {
		gap: 16px;
		align-items: stretch;
	}

	.ssh-home-services__heading-wrap {
		margin-bottom: 20px;
	}

	.ssh-home-news-ranch {
		padding: 60px 0;
	}

	.ssh-home-news-ranch__title {
		font-size: 30px;
	}

	.ssh-home-news-ranch__featured-image {
		aspect-ratio: 1 / 1;
		height: auto;
	}

	/* Big square that the photo fully covers, with the title overlaid on a
	   bottom gradient (matches the desktop card treatment). The !important beats
	   Elementor's `.elementor img{height:auto}`, which otherwise leaves the img
	   at native height inside the square and drops the overlay below it. Scoped
	   to mobile so desktop is untouched. */
	.ssh-home-news-ranch__featured-img {
		position: absolute;
		inset: 0;
		width: 100% !important;
		height: 100% !important;
	}

	.ssh-home-news-ranch__featured-overlay {
		padding: 24px 20px;
		background: linear-gradient(0deg, rgba(16, 10, 5, 0.9) 0%, rgba(16, 10, 5, 0.55) 45%, rgba(16, 10, 5, 0) 100%);
	}

	/* Smaller slide title + hide the arrow (swipe is used) on phones. */
	.ssh-home-news-ranch__featured-title {
		font-size: 25px;
	}

	.ssh-home-news-ranch__featured-category {
		font-size: 11px;
	}

	.ssh-home-news-ranch__card-title {
		font-size: 19px;
		line-height: 1.25;
	}

	.ssh-home-news-ranch__slider-arrow {
		display: none;
	}

	.ssh-home-story-teaser {
		padding: 0 0 44px;
	}

	.ssh-home-story-teaser__figures {
		max-width: 360px;
	}

	.ssh-home-story-teaser__title {
		font-size: 22px;
	}

	.ssh-home-values {
		padding: 60px 0;
	}

	.ssh-home-values__title {
		font-size: 28px;
	}

	.ssh-home-values__grid {
		grid-template-columns: 1fr;
	}

	.ssh-home-intro__title {
		font-size: 30px;
	}
}

/* ---- 30-about.css ---- */
/* =========================================================
   About page widgets
   ========================================================= */

/* ---------------------------------------------------------
   About Hero
   --------------------------------------------------------- */
.ssh-about-hero {
	position: relative;
	overflow: hidden;
	min-height: 890px;
	display: flex;
	align-items: center;
	background: var(--ssh-near-black);
}

.ssh-about-hero__bg,
.ssh-about-hero__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}`, which collapses
	   the bg image so it stops short of the bottom, leaving a light band. */
	height: 100% !important;
	object-fit: cover;
}

.ssh-about-hero__foreground {
	position: absolute;
	right: 0;
	bottom: 0;
	height: 100%;
	max-width: 60%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	z-index: 1;
}

.ssh-about-hero__fg-img {
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: bottom right;
}

.ssh-about-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.72) 0%, rgba(16, 10, 5, 0.35) 45%, rgba(16, 10, 5, 0.05) 70%);
	z-index: 1;
}

.ssh-about-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: var(--ssh-gutter);
	padding-right: var(--ssh-gutter);
	text-align: left;
}

.ssh-about-hero__eyebrow {
	color: var(--ssh-gold);
}

.ssh-about-hero__eyebrow::before {
	background: var(--ssh-gold);
}

.ssh-about-hero__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 56px;
	line-height: 1.15;
	max-width: 820px;
	margin-bottom: 24px;
}

.ssh-about-hero__copy {
	color: var(--ssh-cream);
	font-size: 18px;
	line-height: 1.6;
	max-width: 620px;
}

@media (max-width: 1024px) {
	.ssh-about-hero {
		min-height: 620px;
	}

	.ssh-about-hero__title {
		font-size: 44px;
	}

	.ssh-about-hero__foreground {
		max-width: 75%;
		opacity: 0.55;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-about-hero {
		min-height: 680px;
	}

	.ssh-about-hero__bg {
		background-image: url('../images/about__hero-composite.png');
		background-size: cover;
		background-position: 66% center;
		background-repeat: no-repeat;
	}

	.ssh-about-hero__bg-img,
	.ssh-about-hero__foreground {
		display: none;
	}

	.ssh-about-hero__overlay {
		background: linear-gradient(90deg, rgba(16, 10, 5, 0.76) 0%, rgba(16, 10, 5, 0.52) 46%, rgba(16, 10, 5, 0.18) 100%);
	}

	.ssh-about-hero__content {
		padding-top: 104px;
		padding-bottom: 96px;
	}

	.ssh-about-hero__title {
		max-width: 560px;
	}

	.ssh-about-hero__copy {
		max-width: 520px;
		font-size: 16px;
		line-height: 1.62;
	}
}

@media (max-width: 767px) {
	.ssh-about-hero {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 430px auto;
		align-items: stretch;
		min-height: 0;
	}

	/* Mobile uses a single pre-flattened scene (landscape + horse + handler)
	   as one cover background, so the two separate layers can't fade or
	   mis-compose on the narrow portrait frame. */
	.ssh-about-hero__bg {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
		background-image: url('../images/about__hero-composite.png');
		background-size: cover;
		background-position: 58% center;
		background-repeat: no-repeat;
	}

	.ssh-about-hero__bg-img,
	.ssh-about-hero__foreground {
		display: none;
	}

	.ssh-about-hero__content {
		display: contents;
	}

	.ssh-about-hero__title {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		font-size: 32px;
		line-height: 1.08;
		max-width: none;
		margin: 0;
		padding: 0 var(--ssh-gutter) 34px;
		text-wrap: normal;
	}

	.ssh-about-hero__title br {
		display: none;
	}

	.ssh-about-hero__copy {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 2;
		max-width: none;
		margin: 0;
		padding: 34px var(--ssh-gutter) 56px;
		background: #221a14;
		color: var(--ssh-cream);
		font-size: 16px;
		line-height: 1.65;
	}

	.ssh-about-hero__overlay {
		position: relative;
		inset: auto;
		z-index: 1;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.08) 0%, rgba(16, 10, 5, 0.18) 46%, rgba(16, 10, 5, 0.76) 100%);
	}
}

/* ---------------------------------------------------------
   About Lifetime (ranch copy + horse collage)
   --------------------------------------------------------- */
.ssh-about-lifetime {
	background-color: var(--ssh-cream-light);
	background-image: url('../images/about__lifetime-cream-bg.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 40px 0 46px;
}

.ssh-about-lifetime__inner {
	display: grid;
	/* Slightly wider text column to balance the larger, right-shifted collage. */
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
}

.ssh-about-lifetime__title {
	font-weight: 600;
	font-size: 44px;
	line-height: 1.1;
	margin-bottom: 16px;
}

.ssh-about-lifetime__divider {
	width: 150px;
	height: 2px;
	background: var(--ssh-red);
	margin-bottom: 24px;
	position: relative;
}

.ssh-about-lifetime__divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-about-lifetime__copy p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ssh-brown);
	margin-bottom: 18px;
}

.ssh-about-lifetime__copy p:last-child {
	margin-bottom: 0;
}

.ssh-about-lifetime__collage {
	position: relative;
	display: flex;
	/* Push the collage toward the right edge of its column (into the open space). */
	justify-content: flex-end;
	align-items: center;
}

.ssh-about-lifetime__collage-picture {
	display: block;
	width: 100%;
	text-align: center;
}

.ssh-about-lifetime__collage-img {
	display: block;
	width: 100%;
	/* !important beats Elementor's `.elementor img{max-width:100%}` (higher
	   specificity: class+element beats our single class), which otherwise
	   stretches this to fill the full grid column instead of the intended
	   compact size. */
	max-width: 500px !important;
	height: auto;
}

@media (max-width: 1024px) {
	.ssh-about-lifetime__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	/* Back to centered once the layout stacks to one column. */
	.ssh-about-lifetime__collage {
		justify-content: center;
	}

	.ssh-about-lifetime__collage-img {
		max-width: 500px !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-about-lifetime {
		padding: 48px 0 54px;
	}

	.ssh-about-lifetime__inner {
		gap: 34px;
	}

	.ssh-about-lifetime__title,
	.ssh-about-credentials__title,
	.ssh-about-principles__title,
	.ssh-about-services-teaser__title {
		font-size: 44px;
		line-height: 1.08;
	}

	.ssh-about-lifetime__divider {
		margin-left: 0;
	}

	.ssh-about-lifetime__divider::before {
		transform: translate(0, -50%) rotate(45deg);
	}

	.ssh-about-lifetime__collage-img {
		max-width: 820px !important;
	}

	.ssh-about-credentials__inner {
		padding: 112px var(--ssh-gutter) 72px;
	}

	.ssh-about-credentials__title {
		max-width: 720px;
	}

	.ssh-about-credentials__cell {
		padding: 28px 34px;
	}
}

@media (max-width: 767px) {
	.ssh-about-lifetime {
		padding: 60px 0;
	}

	.ssh-about-lifetime__title {
		font-size: 32px;
	}

	.ssh-about-lifetime__divider {
		margin-left: 4px;
	}

	.ssh-about-lifetime__inner {
		gap: 30px;
	}
}

/* ---------------------------------------------------------
   About Credentials (stat cards over ranch photo)
   --------------------------------------------------------- */
.ssh-about-credentials {
	position: relative;
	overflow: hidden;
	background: var(--ssh-near-black);
}

.ssh-about-credentials__bg,
.ssh-about-credentials__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}` (collapsed image
	   → light band at the section bottom). */
	height: 100% !important;
	object-fit: cover;
}

.ssh-about-credentials__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16, 10, 5, 0.35) 0%, rgba(16, 10, 5, 0.75) 100%);
}

.ssh-about-credentials__inner {
	position: relative;
	z-index: 1;
	/* Horizontal gutter so content doesn't sit flush to the viewport edge below
	   the 1500px container max-width (the `.ssh-container` gutter was being
	   overridden by this shorthand's `0` sides). */
	padding: 200px var(--ssh-gutter) 90px;
}

.ssh-about-credentials__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 56px;
	line-height: 1.1;
	margin-bottom: 40px;
	max-width: none;
}

.ssh-about-credentials__rows {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ssh-about-credentials__row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid rgba(249, 239, 230, 0.28);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.08);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.ssh-about-credentials__cell {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 32px 40px;
}

.ssh-about-credentials__stat-title {
	font-family: var(--ssh-font-serif);
	font-size: 24px;
	font-weight: 600;
	color: var(--ssh-cream);
}

.ssh-about-credentials__stat-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ssh-gold);
}

@media (max-width: 767px) {
	.ssh-about-credentials {
		background-image: url('../images/about-credentials-mobile.png');
		background-size: cover;
		background-position: center top;
		background-repeat: no-repeat;
	}

	.ssh-about-credentials__bg {
		display: none;
	}

	.ssh-about-credentials__inner {
		padding: 90px var(--ssh-gutter);
	}

	.ssh-about-credentials__title {
		font-size: 29px;
		line-height: 1.12;
	}

	.ssh-about-credentials__row {
		grid-template-columns: 1fr;
	}

	.ssh-about-credentials__cell {
		position: relative;
		padding: 30px 24px;
	}

	.ssh-about-credentials__cell + .ssh-about-credentials__cell {
		border-top: 0;
	}

	.ssh-about-credentials__cell + .ssh-about-credentials__cell::before {
		content: '';
		position: absolute;
		top: 0;
		left: 24px;
		right: 24px;
		height: 1px;
		background: rgba(249, 239, 230, 0.18);
	}
}

/* ---------------------------------------------------------
   About Principles (Jason Smith history + quote)
   --------------------------------------------------------- */
.ssh-about-principles {
	background-color: var(--ssh-cream-light);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	padding: 100px 0 90px;
}

.ssh-about-principles__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
	gap: 40px;
	align-items: start;
	padding-bottom: 80px;
}

.ssh-about-principles__title {
	font-size: 56px;
	line-height: 1.05;
	margin-bottom: 20px;
}

.ssh-about-principles__title-line {
	display: block;
	font-weight: 600;
	color: var(--ssh-brown);
}

.ssh-about-principles__title-accent {
	display: block;
	font-weight: 600;
	color: var(--ssh-red);
}

.ssh-about-principles__divider {
	width: 160px;
	height: 2px;
	background: var(--ssh-red);
	margin-bottom: 32px;
	position: relative;
}

.ssh-about-principles__divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-about-principles__copy p {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ssh-brown);
}

.ssh-about-principles__portrait {
	position: relative;
	z-index: 2;
	align-self: start;
	display: flex;
	justify-content: center;
	justify-self: center;
	width: 100%;
	max-width: 560px;
	margin-bottom: -130px;
}

.ssh-about-principles__portrait-img {
	width: 100%;
	max-width: 100%;
	max-height: 680px;
	height: auto;
	object-fit: contain;
	display: block;
}

.ssh-about-principles__quote {
	position: relative;
	overflow: visible;
	display: grid;
	grid-template-columns: minmax(340px, 0.85fr) minmax(0, 1.15fr);
	align-items: center;
	gap: 56px;
	background-color: var(--ssh-red);
	background-image: url('../images/about__principles-quote-bg.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 0;
	padding: 64px 60px;
	margin-top: 40px;
}

.ssh-about-principles__quote-image {
	position: relative;
	align-self: end;
	min-height: 300px;
	z-index: 1;
}

.ssh-about-principles__quote-img {
	position: absolute;
	left: -30px;
	bottom: -64px;
	width: 138%;
	max-width: none;
	height: auto;
	object-fit: contain;
	object-position: left bottom;
}

.ssh-about-principles .ssh-about-principles__quote-img {
	max-width: none;
}

.ssh-about-principles__quote-text {
	position: relative;
	z-index: 2;
	color: #EED0B6;
	font-family: var(--ssh-font-serif);
	font-size: 18px;
	line-height: 1.7;
	text-align: left;
	margin: 0;
	padding-left: 90px;
	max-width: 620px;
}

@media (max-width: 1024px) {
	.ssh-about-principles__inner {
		grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
		gap: 40px;
		padding-bottom: 64px;
	}

	.ssh-about-principles__portrait {
		max-width: 340px;
	}

	.ssh-about-principles__portrait-img {
		width: min(100%, 320px);
		max-height: 345px;
	}

	.ssh-about-principles__quote {
		grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr);
		gap: 32px;
		padding: 42px 48px;
	}

	.ssh-about-principles__quote-img {
		left: -16px;
		bottom: -42px;
		width: 122%;
	}

	.ssh-about-principles__quote-image {
		min-height: 260px;
	}
}

@media (max-width: 767px) {
	.ssh-about-principles {
		padding-top: 60px;
		padding-bottom: 48px;
	}

	.ssh-about-principles__inner {
		position: relative;
		z-index: 2;
		grid-template-columns: 1fr;
		gap: 32px;
		padding-bottom: 0;
	}

	.ssh-about-principles__title {
		font-size: 26px;
	}

	.ssh-about-principles__divider {
		margin-left: 4px;
	}

	.ssh-about-principles__portrait {
		max-width: 290px;
		margin-bottom: 0;
	}

	.ssh-about-principles__portrait-img {
		width: min(100%, 280px);
		max-height: 305px;
	}

	.ssh-about-principles__quote {
		grid-template-columns: 1fr;
		text-align: center;
		padding: 36px 16px 0;
		margin-top: 0;
		overflow: hidden;
		z-index: 1;
	}

	.ssh-about-principles__quote-image {
		order: 2;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		min-height: 220px;
		margin-top: 10px;
	}

	.ssh-about-principles__quote-img {
		position: relative;
		left: auto;
		bottom: 0;
		width: min(92%, 320px);
		margin: 0 auto;
	}

	.ssh-about-principles__quote-text {
		order: 1;
		font-size: 18px;
		line-height: 1.62;
		text-align: left;
		max-width: none;
		margin: 0 auto;
		padding-left: 0;
	}
}

/* ---------------------------------------------------------
   About Success
   --------------------------------------------------------- */
.ssh-about-success {
	position: relative;
	overflow: hidden;
	min-height: 850px;
	display: flex;
	align-items: flex-end;
	background: var(--ssh-near-black);
}

.ssh-about-success__bg,
.ssh-about-success__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}` (collapsed image
	   → light band at the section bottom). */
	height: 100% !important;
	object-fit: cover;
}

.ssh-about-success__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(16, 10, 5, 0.92) 0%, rgba(16, 10, 5, 0.6) 40%, rgba(16, 10, 5, 0.15) 75%, rgba(16, 10, 5, 0.05) 100%);
}

.ssh-about-success__content {
	position: relative;
	z-index: 1;
	width: 100%;
	/* Horizontal gutter so content keeps its inset below the 1500px container
	   width (this shorthand's `0` sides was cancelling the `.ssh-container` gutter). */
	padding: 56px var(--ssh-gutter);
	text-align: left;
}

.ssh-about-success__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 56px;
	line-height: 1.1;
	margin-bottom: 16px;
	max-width: 920px;
}

.ssh-about-success__copy {
	color: var(--ssh-cream);
	font-size: 16px;
	line-height: 1.7;
	max-width: 900px;
}

@media (max-width: 767px) {
	.ssh-about-success {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 285px auto;
		align-items: stretch;
		min-height: 0;
	}

	.ssh-about-success__bg,
	.ssh-about-success__overlay {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
	}

	.ssh-about-success__bg-img {
		height: 100% !important;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-about-success__content {
		display: contents;
		max-width: 100%;
	}

	.ssh-about-success__title {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		font-size: 26px;
		line-height: 1.08;
		margin: 0;
		padding: 0 var(--ssh-gutter) 18px;
		max-width: none;
		text-wrap: normal;
	}

	.ssh-about-success__title br {
		display: none;
	}

	.ssh-about-success__copy {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 2;
		max-width: none;
		margin: 0;
		padding: 34px var(--ssh-gutter) 52px;
		background: #221a14;
		font-size: 16px;
		line-height: 1.65;
	}

	.ssh-about-success__overlay {
		z-index: 1;
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.04) 0%, rgba(16, 10, 5, 0.16) 45%, rgba(16, 10, 5, 0.78) 100%);
	}
}

/* ---------------------------------------------------------
   About Services Teaser
   --------------------------------------------------------- */
.ssh-about-services-teaser {
	background-color: var(--ssh-cream-light);
	background-image: url('../images/about__services-teaser-bg.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 100px 0;
}

.ssh-about-services-teaser__title {
	font-weight: 600;
	font-size: 56px;
	line-height: 1.1;
	text-align: center;
	margin-bottom: 16px;
}

.ssh-about-services-teaser__title-accent {
	color: var(--ssh-red);
}

.ssh-about-services-teaser__divider {
	width: 160px;
	height: 2px;
	background: var(--ssh-red);
	margin: 0 auto 56px;
	position: relative;
}

.ssh-about-services-teaser__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-about-services-teaser__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border: 1px solid rgba(151, 119, 72, 0.42);
}

.ssh-about-services-teaser__card {
	display: flex;
	flex-direction: column;
	padding: 48px;
	background: transparent;
	border-right: 1px solid rgba(151, 119, 72, 0.42);
	border-bottom: 1px solid rgba(151, 119, 72, 0.42);
	min-height: 620px;
}

.ssh-about-services-teaser__card:nth-child(2n) {
	border-right: 0;
}

.ssh-about-services-teaser__card:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.ssh-about-services-teaser__card:nth-child(2n) .ssh-about-services-teaser__image {
	order: 2;
	margin-top: auto;
	margin-bottom: 0;
}

.ssh-about-services-teaser__image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 340px;
	margin-bottom: 36px;
}

.ssh-about-services-teaser__img {
	display: block;
	max-width: 360px;
	width: 100%;
	height: 340px;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
}

.ssh-about-services-teaser__card-title {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.12;
	margin-bottom: 12px;
}

.ssh-about-services-teaser__card-copy {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ssh-brown);
	max-width: 420px;
	margin-bottom: 24px;
}

.ssh-about-services-teaser__cta {
	align-self: flex-start;
	background: transparent;
	color: var(--ssh-red);
	border-color: var(--ssh-red);
}

.ssh-about-services-teaser__cta:hover {
	background: var(--ssh-red);
	border-color: var(--ssh-red);
	color: var(--ssh-cream);
}

@media (max-width: 1024px) {
	.ssh-about-services-teaser__card {
		padding: 32px;
	}

	.ssh-about-services-teaser__img {
		max-width: 240px;
		height: 300px;
	}
}

@media (max-width: 900px) {
	.ssh-about-services-teaser {
		padding: 36px 0;
	}

	.ssh-about-services-teaser__title {
		font-size: 26px;
		margin-top: 16px;
		margin-bottom: 24px;
	}

	.ssh-about-services-teaser__grid {
		grid-template-columns: 1fr;
	}

	.ssh-about-services-teaser__card {
		position: relative;
		padding: 28px 20px;
		min-height: auto;
		border-right: 0;
		border-bottom: 0;
	}

	.ssh-about-services-teaser__card::after {
		content: '';
		position: absolute;
		left: 20px;
		right: 20px;
		bottom: 0;
		height: 1px;
		background: rgba(151, 119, 72, 0.42);
	}

	.ssh-about-services-teaser__card:last-child::after {
		display: none;
	}

	.ssh-about-services-teaser__card:nth-child(2n) .ssh-about-services-teaser__image {
		order: 0;
		margin-top: 0;
		margin-bottom: 28px;
	}

	.ssh-about-services-teaser__image {
		min-height: 260px;
		margin-bottom: 28px;
	}

	.ssh-about-services-teaser__img {
		max-width: 280px;
		height: 260px;
	}
}

/* ---- 40-services.css ---- */
/* =========================================================
   Services Page — Hero, Detail, Partnership
   ========================================================= */

/* ---------------------------------------------------------
   Services Hero
   --------------------------------------------------------- */
.ssh-services-hero {
	position: relative;
	min-height: 890px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

/* Fixed-background parallax, matching the home hero: the photo is pinned to the
   viewport while content and following sections scroll up over it. */
.ssh-services-hero__bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
	overflow: hidden;
}

.ssh-services-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.ssh-services-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.78) 0%, rgba(16, 10, 5, 0.45) 42%, rgba(16, 10, 5, 0.12) 70%),
		linear-gradient(180deg, rgba(16, 10, 5, 0) 55%, rgba(16, 10, 5, 0.45) 100%);
}

.ssh-services-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: 28px;
	padding-right: 28px;
	text-align: left;
}

.ssh-services-hero__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 56px;
	max-width: 640px;
	margin-bottom: 24px;
}

.ssh-services-hero__copy {
	color: var(--ssh-cream);
	font-size: 18px;
	line-height: 1.6;
	max-width: 620px;
	margin-bottom: 0;
}

.ssh-services-hero__cta {
	margin-top: 32px;
}

@media (max-width: 1024px) {
	.ssh-services-hero {
		min-height: 620px;
	}

	.ssh-services-hero__title {
		font-size: 44px;
	}
}

@media (max-width: 767px) {
	.ssh-services-hero {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 360px auto;
		align-items: stretch;
		min-height: 0;
	}

	/* Fixed backgrounds are janky on touch — scroll the hero image normally. */
	.ssh-services-hero__bg {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.ssh-services-hero__img {
		height: 100% !important;
		object-fit: cover;
		object-position: center top;
	}

	.ssh-services-hero__content {
		display: contents;
	}

	.ssh-services-hero__title {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		max-width: none;
		margin: 0;
		padding: 0 var(--ssh-gutter) 26px;
		font-size: 26px;
		line-height: 1.1;
	}

	.ssh-services-hero__title br {
		display: block;
	}

	.ssh-services-hero__copy {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 2;
		max-width: none;
		margin: 0;
		padding: 34px var(--ssh-gutter) 54px;
		background: #221a14;
		font-size: 16px;
		line-height: 1.65;
	}

	.ssh-services-hero__cta {
		display: none;
	}

	.ssh-services-hero__overlay {
		position: relative;
		inset: auto;
		z-index: 1;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.06) 0%, rgba(16, 10, 5, 0.18) 46%, rgba(16, 10, 5, 0.78) 100%);
	}
}

/* ---------------------------------------------------------
   Services Detail (reused per service instance)
   --------------------------------------------------------- */
.ssh-services-detail {
	background-color: var(--ssh-cream);
	background-image: url('../images/services-page__detail-cream-bg.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 80px 0;
}

/* Dark (Boarding) variant: the red block is WRAPPER-WIDTH, sitting on the same
   cream-texture backdrop as the rest of the page — not a full-bleed band. */
.ssh-services-detail--dark {
	padding: 40px 0;
}

.ssh-services-detail--dark .ssh-services-detail__inner {
	background-color: var(--ssh-red);
	background-image: url('../images/home-v2__news-ranch-bg__1609-1732.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 0;
	padding: 32px 64px;
	overflow: hidden;
}

/* Boarding collage: transparent taped-polaroid composite. Shrink the media
   column to the collage's real width so it hugs the right edge instead of
   floating tiny in a wide column, and size it to fill the block nicely. */
.ssh-services-detail--dark .ssh-services-detail__content {
	flex: 0 1 auto;
	max-width: 42%;
}

.ssh-services-detail--dark .ssh-services-detail__media {
	flex: 1 1 auto;
	max-width: 56%;
}

.ssh-services-detail--dark .ssh-services-detail__img {
	width: 100%;
	max-width: 100%;
	max-height: 800px;
	margin: 0 auto;
	border-radius: 0;
	object-fit: contain;
	background: transparent;
}

.ssh-services-detail__inner {
	display: flex;
	align-items: center;
	gap: 64px;
}

.ssh-services-detail--image-right .ssh-services-detail__inner {
	flex-direction: row-reverse;
}

.ssh-services-detail__media {
	flex: 0 0 48%;
	max-width: 48%;
}

.ssh-services-detail__img {
	width: 100%;
	height: 500px;
	border-radius: 0;
	object-fit: cover;
}

/* Cream detail photos: a touch shorter, centred crop so neither the hat at the
   top nor the horse's muzzle at the bottom gets clipped. */
.ssh-services-detail--cream .ssh-services-detail__img {
	height: 480px;
	object-position: center center;
}

/* Desktop only: give the cream detail photo a bit more height. */
@media (min-width: 1025px) {
	.ssh-services-detail--cream .ssh-services-detail__img {
		height: 560px;
	}
}

.ssh-services-detail__content {
	flex: 1 1 auto;
	min-width: 0;
}

.ssh-services-detail__title {
	font-size: 44px;
	font-weight: 600;
	margin-bottom: 20px;
}

.ssh-services-detail--dark .ssh-services-detail__title,
.ssh-services-detail--dark .ssh-services-detail__body,
.ssh-services-detail--dark .ssh-services-detail__list-item {
	color: var(--ssh-cream);
}

.ssh-services-detail__divider {
	display: flex;
	align-items: center;
	gap: 0;
	width: 140px;
	height: 8px;
	margin-bottom: 28px;
	position: relative;
}

.ssh-services-detail__divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
}

.ssh-services-detail--dark .ssh-services-detail__divider::before {
	background: var(--ssh-cream-light);
}

.ssh-services-detail__divider::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
	width: 130px;
	height: 2px;
	background: var(--ssh-red);
}

.ssh-services-detail--dark .ssh-services-detail__divider::after {
	background: var(--ssh-cream-light);
}

.ssh-services-detail__body {
	font-size: 17px;
	line-height: 1.7;
	color: var(--ssh-brown);
	margin-bottom: 20px;
}

.ssh-services-detail__list {
	margin: 8px 0 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ssh-services-detail__list-item {
	position: relative;
	padding-left: 26px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ssh-brown);
}

.ssh-services-detail__list-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: rotate(45deg);
}

.ssh-services-detail--dark .ssh-services-detail__list-item::before {
	background: var(--ssh-cream-light);
}

.ssh-services-detail__cta {
	margin-top: 12px;
}

@media (max-width: 1024px) {
	.ssh-services-detail {
		padding: 60px 0;
	}

	.ssh-services-detail__inner {
		gap: 40px;
	}

	.ssh-services-detail__title {
		font-size: 32px;
	}
}

@media (max-width: 767px) {
	.ssh-services-detail {
		padding: 48px 0 20px;
	}

	.ssh-services-detail__inner,
	.ssh-services-detail--image-right .ssh-services-detail__inner {
		flex-direction: column-reverse;
		gap: 22px;
	}

	.ssh-services-detail__media,
	.ssh-services-detail__content {
		flex: 1 1 auto;
		max-width: 100%;
	}

	.ssh-services-detail__title {
		font-size: 28px;
	}

	.ssh-services-detail__body {
		font-size: 15px;
		line-height: 1.55;
		margin-bottom: 16px;
	}

	/* The --dark (Boarding) variant is a desktop 42/56 split with a large-scale
	   brand watermark background — both need to stack/rescale on mobile
	   instead of inheriting the desktop proportions. Text stacks above the
	   collage; the stacked box is tall enough that the source watermark image
	   at its natural "cover" scale (no forced tile size) reads cleanly, same
	   as the source file itself, instead of a forced repeat that seams. */
	.ssh-services-detail--dark .ssh-services-detail__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 22px;
		padding: 48px 20px 28px;
		background-size: cover;
		background-repeat: no-repeat;
	}

	.ssh-services-detail--dark .ssh-services-detail__content,
	.ssh-services-detail--dark .ssh-services-detail__media {
		max-width: 100%;
	}

	.ssh-services-detail--dark .ssh-services-detail__media {
		order: 1;
	}

	.ssh-services-detail--dark .ssh-services-detail__body:last-of-type {
		margin-bottom: 0;
	}
}

/* ---------------------------------------------------------
   Services Partnership
   --------------------------------------------------------- */
.ssh-services-partnership {
	position: relative;
	overflow: hidden;
	padding: 120px 0 72px;
	min-height: 760px;
	display: flex;
	align-items: flex-end;
}

.ssh-services-partnership__bg,
.ssh-services-partnership__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ssh-services-partnership__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16, 10, 5, 0.1) 0%, rgba(16, 10, 5, 0.75) 100%);
}

.ssh-services-partnership__inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.ssh-services-partnership__title {
	color: var(--ssh-white);
	font-size: 44px;
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
}

.ssh-services-partnership__title-strong {
	font-weight: 600;
}

.ssh-services-partnership__title-light {
	font-weight: 400;
}

.ssh-services-partnership__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

/* Separate frosted-glass cards over the hero photo. */
.ssh-services-partnership__card {
	padding: 52px 32px 56px;
	border: 1px solid rgba(249, 239, 230, 0.28);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.08);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.ssh-services-partnership__card-title {
	color: var(--ssh-cream);
	font-size: 20px;
	margin-bottom: 10px;
}

.ssh-services-partnership__card-desc {
	color: var(--ssh-cream-light);
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.ssh-services-partnership {
		padding: 72px 0 48px;
		min-height: 560px;
	}

	.ssh-services-partnership__title {
		font-size: 34px;
	}

	.ssh-services-partnership__cards {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ssh-services-partnership__card {
		padding: 0 0 0 20px;
		border-left: 2px solid var(--ssh-red);
	}

	.ssh-services-partnership__card:first-child {
		padding-left: 20px;
		border-left: 2px solid var(--ssh-red);
	}
}

@media (max-width: 767px) {
	.ssh-services-partnership {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 260px auto;
		align-items: stretch;
		padding: 0;
		min-height: 0;
		background: #221a14;
	}

	.ssh-services-partnership__bg,
	.ssh-services-partnership__overlay {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
	}

	.ssh-services-partnership__img {
		height: 100% !important;
		object-fit: cover;
		object-position: center top;
	}

	.ssh-services-partnership__overlay {
		z-index: 1;
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.02) 0%, rgba(16, 10, 5, 0.14) 46%, rgba(16, 10, 5, 0.78) 100%);
	}

	.ssh-services-partnership__inner {
		display: contents;
	}

	.ssh-services-partnership__title {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		font-size: 26px;
		line-height: 1.1;
		margin: 0;
		padding: 0 var(--ssh-gutter) 18px;
		max-width: none;
	}

	.ssh-services-partnership__cards {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 2;
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 34px var(--ssh-gutter) 52px;
		background: #221a14;
	}

	.ssh-services-partnership__card,
	.ssh-services-partnership__card:first-child {
		padding: 28px 24px;
		border: 1px solid rgba(249, 239, 230, 0.16);
		border-left: 1px solid rgba(249, 239, 230, 0.16);
		background: rgba(255, 255, 255, 0.03);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.ssh-services-partnership__card-title {
		font-size: 18px;
	}

	.ssh-services-partnership__card-desc {
		font-size: 14px;
	}
}

/* ---- 50-news.css ---- */
/* =========================================================
   News and Results page widgets
   ========================================================= */

/* ---------- News Hero ---------- */
.ssh-news-hero {
	position: relative;
	min-height: 890px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: var(--ssh-cream);
}

/* Fixed-background parallax, matching the services/home hero. */
.ssh-news-hero__bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
	overflow: hidden;
}

.ssh-news-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
}

.ssh-news-hero__img--mobile {
	display: none;
}

.ssh-news-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.78) 0%, rgba(16, 10, 5, 0.45) 42%, rgba(16, 10, 5, 0.12) 70%),
		linear-gradient(180deg, rgba(16, 10, 5, 0) 55%, rgba(16, 10, 5, 0.45) 100%);
}

.ssh-news-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: 28px;
	padding-right: 28px;
	text-align: left;
}

.ssh-news-hero__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 56px;
	max-width: 900px;
	margin-bottom: 24px;
}

.ssh-news-hero__copy {
	color: var(--ssh-cream);
	font-size: 18px;
	line-height: 1.6;
	max-width: 620px;
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.ssh-news-hero {
		min-height: 620px;
	}

	.ssh-news-hero__title {
		font-size: 44px;
	}
}

@media (max-width: 767px) {
	.ssh-news-hero {
		min-height: 520px;
		align-items: center;
	}

	/* Fixed backgrounds are janky on touch — scroll the hero image normally. */
	.ssh-news-hero__bg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.ssh-news-hero__img--desktop {
		display: none;
	}

	.ssh-news-hero__img--mobile {
		display: block;
		object-position: center top;
	}

	.ssh-news-hero__overlay {
		background: transparent;
	}

	.ssh-news-hero__content {
		padding-top: 40px;
		padding-bottom: 40px;
		padding-left: 16px;
		padding-right: 16px;
		text-shadow: 0 2px 14px rgba(16, 10, 5, 0.55);
	}

	.ssh-news-hero__title {
		font-size: 32px;
	}

	.ssh-news-hero__copy {
		font-size: 16px;
	}
}

@media (max-width: 380px) {
	.ssh-news-hero__content {
		padding-top: 82px;
		padding-bottom: 28px;
	}
}

/* ---------- News Featured ---------- */
.ssh-news-featured {
	padding: 64px 0;
	background: var(--ssh-cream);
}

.ssh-news-featured__panel {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	overflow: hidden;
	border-radius: 0;
	/* Match the composite featured image so nothing is cropped. */
	aspect-ratio: 1508 / 687;
	min-height: 420px;
}

.ssh-news-featured__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.ssh-news-featured__bg-img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

/* Left-side scrim so overlaid text stays readable over any featured image. */
.ssh-news-featured__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.72) 0%, rgba(16, 10, 5, 0.35) 42%, rgba(16, 10, 5, 0) 68%);
}

.ssh-news-featured__text {
	position: relative;
	z-index: 1;
	padding: 56px 48px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: var(--ssh-white);
}

.ssh-news-featured__badge {
	display: inline-block;
	align-self: flex-start;
	background: var(--ssh-red);
	color: var(--ssh-white);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 8px 18px;
	margin-bottom: 24px;
	border-radius: 0;
}

.ssh-news-featured__heading {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 34px;
	max-width: 480px;
	margin-bottom: 0.5em;
}

.ssh-news-featured__copy {
	color: var(--ssh-cream-light);
	font-size: 16px;
	max-width: 460px;
	margin-bottom: 1.75em;
}

.ssh-news-featured__link {
	display: inline-block;
	align-self: flex-start;
	color: var(--ssh-cream);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--ssh-red);
}

.ssh-news-featured__photo {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.ssh-news-featured__photo-img {
	max-height: 560px;
	width: auto;
	object-fit: contain;
	object-position: bottom;
}

@media (max-width: 1024px) {
	.ssh-news-featured__panel {
		grid-template-columns: 1fr;
	}

	.ssh-news-featured__photo {
		min-height: 320px;
	}

	.ssh-news-featured__text {
		padding: 40px 32px;
	}
}

@media (max-width: 767px) {
	.ssh-news-featured {
		padding: 36px 0;
	}

	.ssh-news-featured .ssh-container {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-news-featured__panel {
		display: flex;
		flex-direction: column;
		aspect-ratio: auto;
		min-height: 0;
		background: #221a14;
	}

	.ssh-news-featured__bg {
		position: relative;
		inset: auto;
		height: 260px;
	}

	.ssh-news-featured__bg::after {
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.12) 0%, rgba(16, 10, 5, 0.72) 100%);
	}

	.ssh-news-featured__bg-img {
		height: 100% !important;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-news-featured__heading {
		font-size: 26px;
	}

	.ssh-news-featured__text {
		padding: 28px 20px 32px;
	}

	.ssh-news-featured__badge {
		margin-bottom: 16px;
	}
}

/* ---------- News Grid ---------- */
.ssh-news-grid {
	padding: 72px 0 88px;
	/* Code-generated grainy paper texture — a seamless SVG noise tile layered
	   over the cream base. Tiles infinitely (background-repeat), so it scales to
	   any number of posts with no large image to load. */
	background-color: var(--ssh-cream);
	background-image:
		radial-gradient(120% 80% at 30% 10%, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 55%),
		radial-gradient(100% 70% at 80% 90%, rgba(74, 46, 24, 0.05) 0%, rgba(74, 46, 24, 0) 60%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E");
	background-repeat: no-repeat, no-repeat, repeat;
	background-size: auto, auto, 240px 240px;
}

.ssh-news-grid__header {
	margin-bottom: 40px;
}

.ssh-news-grid__heading {
	font-weight: 600;
	font-size: 32px;
	margin-bottom: 14px;
}

.ssh-news-grid__divider {
	display: block;
	width: 140px;
	height: 2px;
	background: var(--ssh-red);
	position: relative;
}

.ssh-news-grid__divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-news-grid__cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px 32px;
	list-style: none;
}

.ssh-news-grid__card {
	display: flex;
	flex-direction: column;
}

.ssh-news-grid__card-media {
	position: relative;
	height: 420px;
	overflow: hidden;
	border-radius: 0;
	margin-bottom: 24px;
	/* Neutral fill behind photos so contain-letterboxing reads as intentional. */
	background: var(--ssh-near-black);
}

.ssh-news-grid__card-media-link {
	display: block;
	width: 100%;
	height: 100%;
}

.ssh-news-grid__card-picture {
	display: block;
	width: 100%;
	height: 100%;
}

.ssh-news-grid__card-img {
	width: 100%;
	height: 100% !important;
	/* Desktop keeps full uncropped show photos; mobile crops in the phone rules. */
	object-fit: contain;
	transition: transform 0.4s ease;
}

.ssh-news-grid__card-media-link:hover .ssh-news-grid__card-img {
	transform: scale(1.03);
}

.ssh-news-grid__card-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.ssh-news-grid__card-title a:hover {
	color: var(--ssh-red);
}

.ssh-news-grid__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	display: grid;
	grid-template-areas: 'stack';
	place-items: center;
}

.ssh-news-grid__badge-icon {
	grid-area: stack;
	width: 56px;
	height: 56px;
	display: block;
}

.ssh-news-grid__badge-date {
	grid-area: stack;
	color: var(--ssh-cream);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	pointer-events: none;
}

.ssh-news-grid__category {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ssh-red);
	margin-bottom: 10px;
}

.ssh-news-grid__card-title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 12px;
}

.ssh-news-grid__card-excerpt {
	font-size: 15px;
	color: var(--ssh-brown);
	opacity: 0.85;
	margin-bottom: 20px;
}

.ssh-news-grid__read-more {
	display: inline-block;
	align-self: flex-start;
	margin-top: auto;
	color: var(--ssh-red);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--ssh-red);
}

@media (max-width: 1024px) {
	.ssh-news-grid__cards {
		gap: 32px 24px;
	}

	.ssh-news-grid__card-title {
		font-size: 21px;
	}
}

@media (min-width: 768px) {
	.ssh-news-grid__card-img {
		object-fit: cover;
		object-position: center center;
	}

	.ssh-news-grid__card-img[src*="news-latest__michele-johnston-phba-world-show-amateur-yearling-mare"] {
		object-position: center top;
	}
}

@media (max-width: 767px) {
	.ssh-news-grid {
		padding: 42px 0 56px;
	}

	.ssh-news-grid .ssh-container {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-news-grid__header {
		margin-bottom: 30px;
	}

	.ssh-news-grid__divider {
		margin-left: 4px;
	}

	.ssh-news-grid__cards {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.ssh-news-grid__heading {
		font-size: 26px;
	}

	.ssh-news-grid__card-media {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		min-height: 0;
		margin-bottom: 20px;
		background: var(--ssh-near-black);
	}

	.ssh-news-grid__card-media img.ssh-news-grid__card-img {
		width: 100%;
		height: 100% !important;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-news-grid__card-img[src*="news-latest__michele-johnston-phba-world-show-amateur-yearling-mare"] {
		object-position: 29% 28%;
	}

	.ssh-news-grid__card-body {
		padding-right: 0;
	}

	.ssh-news-grid__card-title {
		font-size: 22px;
		line-height: 1.08;
	}
}

/* ---------- News Testimonials ---------- */
.ssh-news-testimonials {
	position: relative;
	padding: 96px 0;
	color: var(--ssh-cream);
	overflow: hidden;
}

.ssh-news-testimonials__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--ssh-near-black);
}

.ssh-news-testimonials__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.9;
}

.ssh-news-testimonials__inner {
	position: relative;
	z-index: 1;
}

.ssh-news-testimonials__header {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 56px;
}

.ssh-news-testimonials__heading {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 40px;
	margin-bottom: 20px;
}

.ssh-news-testimonials__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 24px;
	width: 220px;
	height: 1px;
	background: var(--ssh-gold);
	position: relative;
}

.ssh-news-testimonials__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--ssh-gold);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-news-testimonials__copy {
	color: var(--ssh-cream-light);
	font-size: 16px;
}

.ssh-news-testimonials__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	list-style: none;
}

.ssh-news-testimonials__card {
	border: 1px solid var(--ssh-gold);
	border-radius: 0;
	padding: 44px 32px 36px;
	background: rgba(16, 10, 5, 0.35);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-height: 320px;
}

.ssh-news-testimonials__stars {
	display: flex;
	justify-content: center;
	gap: 6px;
	color: var(--ssh-gold);
	margin-bottom: 24px;
}

.ssh-news-testimonials__star {
	display: block;
}

.ssh-news-testimonials__quote {
	font-size: 16px;
	line-height: 1.6;
	color: var(--ssh-cream);
	margin-bottom: 24px;
}

.ssh-news-testimonials__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: auto;
}

.ssh-news-testimonials__name {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ssh-gold);
}

.ssh-news-testimonials__location {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ssh-cream-light);
	opacity: 0.75;
}

@media (max-width: 1024px) {
	.ssh-news-testimonials__cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.ssh-news-testimonials {
		padding: 64px 0;
	}

	.ssh-news-testimonials__heading {
		font-size: 30px;
	}

	.ssh-news-testimonials__cards {
		grid-template-columns: 1fr;
	}
}

/* ---- 60-upcoming.css ---- */
/* =========================================================
   Upcoming Shows page — Hero, Schedule, Map widgets
   ========================================================= */

/* -----------------------------------------------------------
   Upcoming_Hero_Widget — .ssh-upcoming-hero
   ----------------------------------------------------------- */
.ssh-upcoming-hero {
	position: relative;
	overflow: hidden;
	min-height: 980px;
	display: flex;
	align-items: center;
	/* Transparent so the fixed collage layer (z-index:-1) shows through as a
	   parallax. !important beats Elementor's per-widget background-color setting
	   (an inline `.elementor-NN ... .ssh-upcoming-hero{background-color:...}`
	   rule that would otherwise cover the fixed layer). background-color only,
	   so the mobile composite background-image below is unaffected. */
	background-color: transparent !important;
}

/* Fixed-background parallax, matching the home/services/horses/news heroes: the
   "hall of fame" collage is pinned to the viewport while the content and the
   sections below scroll up and cover it. */
.ssh-upcoming-hero__collage {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
	overflow: hidden;
}

.ssh-upcoming-hero__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	/* !important beats Elementor's `.elementor img{height:auto}`, which
	   otherwise collapses the image so it only covers the top of the hero. */
	height: 100% !important;
	object-fit: cover;
	object-position: center center;
}

/* Light overlay only — kept subtle so the collage reads clearly behind the
   composition, with a touch more darkness on the left for text legibility. */
.ssh-upcoming-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.42) 0%, rgba(16, 10, 5, 0.2) 46%, rgba(16, 10, 5, 0.04) 100%);
}

.ssh-upcoming-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: 64px;
	padding-bottom: 64px;
	text-align: left;
}

.ssh-upcoming-hero__content .ssh-eyebrow {
	color: var(--ssh-cream-light);
	letter-spacing: 0.19em;
}

.ssh-upcoming-hero__content .ssh-eyebrow::before {
	display: none;
}

.ssh-upcoming-hero__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 58px;
	letter-spacing: -0.03em;
	max-width: 740px;
	margin-bottom: 20px;
}

.ssh-upcoming-hero__desc {
	color: #ffffff;
	max-width: 620px;
	font-size: 19px;
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.ssh-upcoming-hero {
		min-height: 720px;
	}

	.ssh-upcoming-hero__title {
		font-size: 44px;
	}
}

@media (max-width: 767px) {
	.ssh-upcoming-hero {
		min-height: 520px;
		background-image:
			linear-gradient(180deg, rgba(16, 10, 5, 0.55) 0%, rgba(16, 10, 5, 0.35) 45%, rgba(16, 10, 5, 0.55) 100%),
			url('../images/upcoming-shows__hero-collage-mobile.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}

	.ssh-upcoming-hero__collage {
		display: none;
	}

	.ssh-upcoming-hero__overlay {
		display: none;
	}

	.ssh-upcoming-hero__title {
		font-size: 32px;
	}

	.ssh-upcoming-hero__desc {
		font-size: 16px;
	}
}

/* -----------------------------------------------------------
   Upcoming_Schedule_Widget — .ssh-upcoming-schedule
   ----------------------------------------------------------- */
.ssh-upcoming-schedule {
	/* Warm peach with a subtle paper grain, matching the Figma background. */
	background-color: #ffe1c7;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E");
	background-repeat: repeat;
	background-size: 240px 240px;
	padding: 96px 0;
}

.ssh-upcoming-schedule__header {
	text-align: center;
	margin-bottom: 64px;
}

.ssh-upcoming-schedule__title {
	font-weight: 700;
	font-size: 48px;
	margin-bottom: 16px;
}

.ssh-upcoming-schedule__divider {
	display: inline-block;
	width: 137px;
	height: 2px;
	background: var(--ssh-red);
	position: relative;
}

.ssh-upcoming-schedule__divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-upcoming-schedule__list {
	position: relative;
	max-width: none;
	margin: 0 auto;
}

.ssh-upcoming-schedule__row {
	position: relative;
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 0;
	align-items: stretch;
	margin-bottom: 28px;
}

.ssh-upcoming-schedule__row:last-child {
	margin-bottom: 0;
}

.ssh-upcoming-schedule__month {
	position: relative;
}

/* Vertical timeline running through the circle centres. Each segment spans its
   own row (+ the 28px gap) so it stays continuous at any card height. The first
   row starts at its circle; the last row ends at its circle. */
.ssh-upcoming-schedule__month::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: -28px;
	left: 55px;
	width: 0;
	border-left: 2px solid rgba(192, 142, 74, 0.5);
	transform: translateX(-50%);
	z-index: 0;
}

.ssh-upcoming-schedule__row:first-child .ssh-upcoming-schedule__month::after {
	top: 50%;
}

.ssh-upcoming-schedule__row:last-child .ssh-upcoming-schedule__month::after {
	bottom: 50%;
}

/* Dotted horizontal connector from the timeline to the card. */
.ssh-upcoming-schedule__month::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 55px;
	right: 0;
	height: 0;
	border-top: 2px solid rgba(192, 142, 74, 0.5);
	z-index: 0;
}

.ssh-upcoming-schedule__month-label {
	position: absolute;
	top: 50%;
	left: 55px;
	transform: translate(-50%, -50%);
	margin-top: -66px;
	white-space: nowrap;
	font-family: var(--ssh-font-serif);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #c08e4a;
	text-align: center;
	line-height: 1.1;
	z-index: 2;
	background: #ffe1c7;
	padding: 2px 8px;
}

/* Large red calendar circle marking the first show of each month. */
.ssh-upcoming-schedule__month-badge {
	position: absolute;
	top: 50%;
	left: 55px;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: var(--ssh-red-alt);
	color: #ffdfb4;
	z-index: 2;
}

.ssh-upcoming-schedule__card {
	position: relative;
	background: transparent;
	border: 1px solid rgba(192, 142, 74, 0.4);
	border-radius: 0;
	padding: 32px;
	display: grid;
	grid-template-columns: 1fr 46%;
	gap: 32px;
	align-items: center;
	min-height: 500px;
	min-width: 0;
}

/* Hollow ring where the connector meets the card's left edge. */
.ssh-upcoming-schedule__card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #ffe1c7;
	border: 6px solid var(--ssh-red-alt);
	z-index: 3;
}

.ssh-upcoming-schedule__card-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ssh-upcoming-schedule__card-title {
	font-weight: 600;
	font-size: 32px;
	margin-bottom: 34px;
}

.ssh-upcoming-schedule__card-title::after {
	content: '';
	display: block;
	width: 120px;
	height: 2px;
	background: linear-gradient(90deg, var(--ssh-red) 0%, rgba(155, 33, 44, 0) 100%);
	margin-top: 16px;
}

.ssh-upcoming-schedule__card-title a {
	color: inherit;
}

.ssh-upcoming-schedule__meta {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 36px;
}

.ssh-upcoming-schedule__meta-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ssh-font-serif);
	font-size: 18px;
	font-weight: 700;
	color: #2b1c15;
}

.ssh-upcoming-schedule__meta-icon {
	flex-shrink: 0;
	color: var(--ssh-red);
}

.ssh-upcoming-schedule__desc {
	font-size: 16px;
	line-height: 1.6;
	color: #565656;
	margin-bottom: 0;
}

.ssh-upcoming-schedule__card-media {
	border-radius: 0;
	overflow: hidden;
	height: 430px;
}

.ssh-upcoming-schedule__card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

@media (max-width: 1024px) {
	.ssh-upcoming-schedule {
		padding: 72px 0;
	}

	/* Drop the whole timeline rail on tablet too (iPad Mini is 768px wide) —
	   the 150px month sidebar + dots/lines don't fit and break the layout.
	   Just stack the cards full-width. */
	.ssh-upcoming-schedule__row {
		grid-template-columns: 1fr;
		min-width: 0;
	}

	.ssh-upcoming-schedule__month {
		display: none;
	}

	.ssh-upcoming-schedule__card::before {
		display: none;
	}

	.ssh-upcoming-schedule__card {
		grid-template-columns: 1fr;
		min-height: 0;
		width: 100%;
		min-width: 0;
		/* Clip the image to the card's border so nothing bleeds out the side. */
		overflow: hidden;
	}

	.ssh-upcoming-schedule__card-media {
		order: -1;
		width: 100%;
		height: 300px;
		aspect-ratio: auto;
		min-height: 0;
	}

	.ssh-upcoming-schedule__card-img {
		display: block;
		width: 100%;
		/* !important beats Elementor's `.elementor img{height:auto}`, which would
		   otherwise let the image size to its natural height and overflow. */
		height: 100% !important;
		object-fit: cover;
	}
}

@media (max-width: 767px) {
	.ssh-upcoming-schedule {
		padding: 42px 0 48px;
		overflow: hidden;
	}

	.ssh-upcoming-schedule .ssh-container {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-upcoming-schedule__header {
		margin-bottom: 32px;
	}

	.ssh-upcoming-schedule__title {
		font-size: 28px;
	}

	.ssh-upcoming-schedule__divider::before {
		width: 9px;
		height: 9px;
	}

	/* Drop the whole timeline rail on mobile — just stack the cards. */
	.ssh-upcoming-schedule__row {
		grid-template-columns: 1fr;
		min-width: 0;
	}

	.ssh-upcoming-schedule__month {
		display: none;
	}

	.ssh-upcoming-schedule__card::before {
		display: none;
	}

	.ssh-upcoming-schedule__card {
		padding: 18px;
		width: 100%;
		min-width: 0;
		overflow: hidden;
	}

	.ssh-upcoming-schedule__card-media {
		width: 100%;
		height: 220px;
		aspect-ratio: auto;
	}

	.ssh-upcoming-schedule__card-img {
		display: block;
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}

	.ssh-upcoming-schedule__card-title {
		font-size: 24px;
	}

	.ssh-upcoming-schedule__meta-item {
		font-size: 16px;
	}
}

/* -----------------------------------------------------------
   Upcoming_Map_Widget — .ssh-upcoming-map
   ----------------------------------------------------------- */
.ssh-upcoming-map {
	background-color: #5a1a1f;
	background-image:
		linear-gradient(180deg, rgba(45, 14, 18, 0.45) 0%, rgba(45, 14, 18, 0.15) 40%, rgba(45, 14, 18, 0.35) 100%),
		url('../images/upcoming-shows__map-bg-pattern.png');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	padding: 96px 0;
	overflow: hidden;
}

.ssh-upcoming-map__header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 20px;
}

.ssh-upcoming-map__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 52px;
	margin-bottom: 20px;
}

.ssh-upcoming-map__divider {
	display: inline-block;
	width: 200px;
	height: 2px;
	background: var(--ssh-cream-light);
	position: relative;
	margin-bottom: 24px;
}

.ssh-upcoming-map__divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	background: var(--ssh-cream-light);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-upcoming-map__desc {
	color: #ffffff;
	font-size: 19px;
	line-height: 1.6;
	margin-bottom: 0;
}

.ssh-upcoming-map__graphic {
	position: relative;
	max-width: 1320px;
	margin: -18px auto 0;
}

.ssh-upcoming-map__img {
	width: 100%;
	height: auto;
	opacity: 1;
	/* Shift the orange source map toward the brand's deep red and blend it
	   into the patterned background so it reads maroon, not orange. */
	filter: hue-rotate(-22deg) saturate(1.15) brightness(1.05);
	mix-blend-mode: multiply;
}

/* Animated route lines connecting the show cities. */
.ssh-upcoming-map__routes {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
	overflow: visible;
}

.ssh-upcoming-map__route {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.ssh-upcoming-map__route--base {
	stroke: rgba(240, 168, 80, 0.28);
	stroke-width: 2;
	stroke-dasharray: 1 9;
}

.ssh-upcoming-map__route--flow {
	stroke: #ffb347;
	stroke-width: 2.4;
	stroke-dasharray: 1 9;
	filter: drop-shadow(0 0 3px rgba(255, 179, 71, 0.9));
	animation: ssh-map-flow 2.4s linear infinite;
}

@keyframes ssh-map-flow {
	to {
		stroke-dashoffset: -20;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ssh-upcoming-map__route--flow {
		animation: none;
	}
}

.ssh-upcoming-map__pins {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.ssh-upcoming-map__pin {
	position: absolute;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 8px;
}

.ssh-upcoming-map__pin-dot {
	position: relative;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 40%, #ffd591 0%, #ffb347 45%, #f0851f 100%);
	box-shadow: 0 0 8px 2px rgba(255, 160, 60, 0.85), 0 0 18px 6px rgba(240, 120, 30, 0.35);
	flex-shrink: 0;
}

/* Pulsing halo on each node. */
.ssh-upcoming-map__pin-dot::after {
	content: '';
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	border: 1px solid rgba(255, 179, 71, 0.7);
	animation: ssh-map-pulse 2.4s ease-out infinite;
}

@keyframes ssh-map-pulse {
	0% {
		transform: scale(0.7);
		opacity: 0.9;
	}
	70% {
		transform: scale(2.2);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ssh-upcoming-map__pin-dot::after {
		animation: none;
	}
}

.ssh-upcoming-map__pin-label {
	display: inline-block;
	font-family: var(--ssh-font-serif);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--ssh-white);
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}

@media (max-width: 1024px) {
	.ssh-upcoming-map {
		padding: 72px 0;
	}
}

@media (max-width: 767px) {
	.ssh-upcoming-map {
		padding: 48px 0 42px;
	}

	.ssh-upcoming-map__header {
		max-width: 320px;
		margin-bottom: 10px;
	}

	.ssh-upcoming-map__title {
		font-size: 26px;
		line-height: 1.12;
		margin-bottom: 12px;
	}

	.ssh-upcoming-map__divider {
		width: 88px !important;
		height: 1px;
		margin-bottom: 22px;
	}

	.ssh-upcoming-map__divider::before {
		width: 8px;
		height: 8px;
	}

	.ssh-upcoming-map__desc {
		font-size: 16px;
		line-height: 1.5;
	}

	.ssh-upcoming-map__graphic {
		width: 100%;
		max-width: 330px !important;
		margin: 16px auto -4px;
	}

	.ssh-upcoming-map__pin-label {
		font-size: 8px;
		line-height: 1;
		letter-spacing: 0;
	}

	.ssh-upcoming-map__pin-dot {
		width: 7px;
		height: 7px;
		box-shadow: 0 0 6px 1px rgba(255, 160, 60, 0.8), 0 0 12px 3px rgba(240, 120, 30, 0.28);
	}

	.ssh-upcoming-map__pin {
		gap: 3px;
	}

	.ssh-upcoming-map__pin:nth-child(1) {
		top: 27% !important;
		left: 44% !important;
	}

	.ssh-upcoming-map__pin:nth-child(2) {
		top: 39% !important;
		left: 61% !important;
	}

	.ssh-upcoming-map__pin:nth-child(3) {
		top: 45% !important;
		left: 37% !important;
	}

	.ssh-upcoming-map__pin:nth-child(4) {
		top: 55% !important;
		left: 46% !important;
	}

	.ssh-upcoming-map__pin:nth-child(5) {
		top: 60% !important;
		left: 30% !important;
	}
}

/* ---- 70-horses.css ---- */
/* =========================================================
   Horses for Sale page widgets
   ========================================================= */

/* ---------------------------------------------------------
   Horses Hero
   ------------------------------------------------------- */
.ssh-horses-hero {
	position: relative;
	min-height: 890px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

/* Fixed-background parallax, matching the services/home hero. Covers the full
   viewport (top:0) so the header bar's side gutters don't reveal a gap on wide
   desktops; the fixed image sits behind the opaque header. */
.ssh-horses-hero__bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
	overflow: hidden;
}

.ssh-horses-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center top;
}

.ssh-horses-hero__img--mobile {
	display: none;
}

.ssh-horses-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.78) 0%, rgba(16, 10, 5, 0.45) 42%, rgba(16, 10, 5, 0.12) 70%),
		linear-gradient(180deg, rgba(16, 10, 5, 0) 55%, rgba(16, 10, 5, 0.45) 100%);
}

.ssh-horses-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: 28px;
	padding-right: 28px;
	text-align: left;
}

.ssh-horses-hero__title {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 56px;
	max-width: 640px;
	margin-bottom: 24px;
}

.ssh-horses-hero__copy {
	color: var(--ssh-cream);
	font-size: 18px;
	line-height: 1.6;
	max-width: 620px;
	margin-bottom: 0;
	opacity: 1;
}

@media (max-width: 1024px) {
	.ssh-horses-hero {
		min-height: 620px;
	}

	.ssh-horses-hero__title {
		font-size: 44px;
	}
}

@media (max-width: 767px) {
	.ssh-horses-hero {
		min-height: 640px;
		align-items: center;
	}

	/* Fixed backgrounds are janky on touch — scroll the hero image normally. */
	.ssh-horses-hero__bg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.ssh-horses-hero__img--desktop {
		display: none;
	}

	.ssh-horses-hero__img--mobile {
		display: block;
		object-fit: cover;
		object-position: 56% top;
	}

	.ssh-horses-hero__content {
		padding-top: 40px;
		padding-bottom: 40px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.ssh-horses-hero__title {
		font-size: 32px;
		max-width: 100%;
	}

	.ssh-horses-hero__copy {
		font-size: 16px;
		max-width: 100%;
	}
}

/* ---------------------------------------------------------
   Featured Horses
   ------------------------------------------------------- */
.ssh-horses-featured-list {
	background: var(--ssh-cream-light);
	padding: 96px 0;
}

.ssh-horses-featured-list__header {
	text-align: center;
	margin-bottom: 56px;
}

.ssh-horses-featured-list__heading {
	font-weight: 600;
	font-size: 36px;
	margin-bottom: 12px;
}

.ssh-horses-featured-list__divider {
	display: inline-flex;
	align-items: center;
	width: 88px;
	height: 1px;
	background: var(--ssh-brown);
	position: relative;
}

.ssh-horses-featured-list__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 8px;
	height: 8px;
	background: var(--ssh-red);
}

.ssh-horses-featured-list__cards {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ssh-horses-featured-list__card {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 32px;
	align-items: center;
	min-height: 380px;
	background: var(--ssh-cream);
	border-radius: 0;
	padding: 32px;
	box-shadow: 0 4px 24px rgba(16, 10, 5, 0.06);
}

.ssh-horses-featured-list__card-media {
	height: 316px;
	border-radius: 0;
	overflow: hidden;
}

.ssh-horses-featured-list__card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

.ssh-horses-featured-list__card-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ssh-horses-featured-list__card-top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	border-bottom: 1px solid rgba(74, 46, 24, 0.15);
	padding-bottom: 16px;
	margin-bottom: 16px;
}

.ssh-horses-featured-list__card-name {
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}

.ssh-horses-featured-list__stats {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ssh-brown);
}

.ssh-horses-featured-list__stat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ssh-horses-featured-list__stat--age::before {
	content: '\1F464';
	font-size: 11px;
	color: var(--ssh-red);
}

.ssh-horses-featured-list__stat--status::before {
	content: '\2605';
	font-size: 11px;
	color: var(--ssh-red);
}

.ssh-horses-featured-list__tagline {
	font-weight: 700;
	font-size: 15px;
	margin-bottom: 8px;
}

.ssh-horses-featured-list__description {
	font-size: 14px;
	color: var(--ssh-brown);
	opacity: 0.85;
	margin-bottom: 20px;
}

.ssh-horses-featured-list__btn {
	align-self: flex-start;
	padding: 16px 38px;
	font-size: 14px;
}

@media (max-width: 1024px) {
	.ssh-horses-featured-list {
		padding: 72px 0;
	}

	/* Tablet: stack the cards (image on top, details below) like the mobile
	   cards, with a taller image since the viewport is wider. */
	.ssh-horses-featured-list__card {
		grid-template-columns: 1fr;
		align-items: stretch;
		min-height: 0;
	}

	.ssh-horses-featured-list__card-media {
		height: 320px;
	}

	.ssh-horses-featured-list__card-top {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	.ssh-horses-featured-list {
		padding: 32px 0;
	}

	.ssh-horses-featured-list__header {
		margin-bottom: 18px;
	}

	.ssh-horses-featured-list__heading {
		font-size: 28px;
	}

	.ssh-horses-featured-list__card {
		grid-template-columns: 1fr;
		align-items: stretch;
		min-height: 0;
		padding: 24px !important;
	}

	.ssh-horses-featured-list__card-media {
		height: 220px !important;
	}

	.ssh-horses-featured-list__card-top {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------------------------------------------------------
   Our Approach
   ------------------------------------------------------- */
.ssh-horses-approach {
	position: relative;
	min-height: 720px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.ssh-horses-approach__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.ssh-horses-approach__img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.ssh-horses-approach__img--mobile {
	display: none;
}

.ssh-horses-approach__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(16, 10, 5, 0.8) 0%, rgba(16, 10, 5, 0.45) 50%, rgba(16, 10, 5, 0.1) 85%);
}

.ssh-horses-approach__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
	padding: 96px 28px;
	text-align: left;
}

.ssh-horses-approach__heading {
	font-weight: 600;
	color: var(--ssh-white);
	font-size: 44px;
	margin-bottom: 20px;
}

.ssh-horses-approach__copy {
	color: var(--ssh-cream);
	font-size: 16px;
	max-width: 480px;
	opacity: 0.92;
}

@media (max-width: 1024px) {
	.ssh-horses-approach {
		min-height: 460px;
	}
}

@media (max-width: 767px) {
	.ssh-horses-approach {
		min-height: 560px;
		align-items: stretch;
	}

	.ssh-horses-approach__img--desktop {
		display: none;
	}

	.ssh-horses-approach__img--mobile {
		display: block;
		object-position: 56% top;
		filter: brightness(1.18) contrast(1.04);
	}

	.ssh-horses-approach__overlay {
		background:
			linear-gradient(90deg, rgba(16, 10, 5, 0.48) 0%, rgba(16, 10, 5, 0.24) 54%, rgba(16, 10, 5, 0.08) 100%),
			linear-gradient(180deg, rgba(16, 10, 5, 0.04) 0%, rgba(16, 10, 5, 0.58) 100%);
	}

	.ssh-horses-approach__content {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		padding: 120px 24px 54px;
	}

	.ssh-horses-approach__heading {
		font-size: 28px;
		line-height: 1.08;
		margin-bottom: 18px;
	}

	.ssh-horses-approach__copy {
		max-width: 100%;
		font-size: 15px;
		line-height: 1.55;
		opacity: 0.98;
	}
}

/* ---------------------------------------------------------
   Testimonials
   ------------------------------------------------------- */
.ssh-horses-testimonials {
	background-color: var(--ssh-red);
	background-image: url('../images/horses-for-sale__testimonials-bg__240648407.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 96px 0;
}

.ssh-horses-testimonials__header {
	text-align: center;
	margin-bottom: 56px;
}

.ssh-horses-testimonials__heading {
	font-weight: 600;
	color: #FFD5B1;
	font-size: 44px;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 12px;
}

.ssh-horses-testimonials__divider {
	display: inline-flex;
	width: 88px;
	height: 1px;
	background: var(--ssh-gold);
	position: relative;
}

.ssh-horses-testimonials__divider::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 8px;
	height: 8px;
	background: var(--ssh-gold);
}

.ssh-horses-testimonials__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ssh-horses-testimonials__card {
	display: flex;
	flex-direction: column;
	background: #2b1613;
	border-radius: 0;
	overflow: hidden;
	padding: 16px 16px 36px;
}

.ssh-horses-testimonials__media {
	flex: 0 0 auto;
	height: 260px !important;
	border-radius: 0;
	overflow: hidden;
	margin-bottom: 24px;
}

.ssh-horses-testimonials__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ssh-horses-testimonials__card:nth-child(1) .ssh-horses-testimonials__img {
	object-position: center 48%;
}

.ssh-horses-testimonials__card:nth-child(2) .ssh-horses-testimonials__img {
	object-position: center 50%;
}

.ssh-horses-testimonials__card:nth-child(3) .ssh-horses-testimonials__img {
	object-position: center 48%;
}

.ssh-horses-testimonials__body {
	padding: 32px 28px 36px;
	position: relative;
	text-align: center;
}

.ssh-horses-testimonials__mark {
	display: block;
	font-family: var(--ssh-font-serif);
	font-size: 40px;
	line-height: 1;
	color: var(--ssh-red-alt);
	margin-bottom: 12px;
}

.ssh-horses-testimonials__quote {
	color: var(--ssh-cream);
	font-size: 14px;
	line-height: 1.6;
	opacity: 0.9;
	margin-bottom: 24px;
}

.ssh-horses-testimonials__name {
	color: var(--ssh-gold);
	font-family: var(--ssh-font-serif);
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 4px;
}

.ssh-horses-testimonials__subtitle {
	color: var(--ssh-cream);
	font-size: 13px;
	opacity: 0.7;
	margin: 0;
}

@media (max-width: 1024px) {
	.ssh-horses-testimonials {
		padding: 72px 0;
	}

	.ssh-horses-testimonials__cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.ssh-horses-testimonials {
		padding: 56px 0;
	}

	.ssh-horses-testimonials__heading {
		font-size: 28px;
	}

	.ssh-horses-testimonials__header {
		margin-bottom: 30px;
	}

	.ssh-horses-testimonials__cards {
		grid-template-columns: 1fr;
	}

	.ssh-horses-testimonials__card {
		padding: 14px 14px 20px;
	}

	.ssh-horses-testimonials__media {
		height: 220px !important;
		margin-bottom: 14px;
	}

	.ssh-horses-testimonials__img {
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}

	.ssh-horses-testimonials__body {
		padding: 20px 20px 18px;
	}

	.ssh-horses-testimonials__mark {
		margin-bottom: 6px;
	}

	.ssh-horses-testimonials__quote {
		margin-bottom: 18px;
	}
}

/* ---------------------------------------------------------
   Request Price Drawer
   ------------------------------------------------------- */
.ssh-price-drawer {
	position: fixed;
	inset: 0;
	z-index: 2000;
	visibility: hidden;
	pointer-events: none;
}

.ssh-price-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.ssh-price-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(16, 10, 5, 0.5);
	opacity: 0;
	transition: opacity 0.35s ease;
}

.ssh-price-drawer.is-open .ssh-price-drawer__overlay {
	opacity: 1;
}

.ssh-price-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: 460px;
	max-width: 90vw;
	height: 100%;
	overflow-y: auto;
	background: var(--ssh-cream-light);
	box-shadow: -20px 0 60px rgba(16, 10, 5, 0.28);
	padding: 56px 48px;
	transform: translateX(100%);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.ssh-price-drawer.is-open .ssh-price-drawer__panel {
	transform: translateX(0);
}

.ssh-price-drawer__close {
	position: absolute;
	top: 20px;
	right: 24px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	font-size: 30px;
	line-height: 1;
	color: var(--ssh-brown);
	cursor: pointer;
	transition: color 0.2s ease;
}

.ssh-price-drawer__close:hover {
	color: var(--ssh-red);
}

.ssh-price-drawer__preview {
	margin-bottom: 20px;
	border-radius: 0;
	overflow: hidden;
}

.ssh-price-drawer__preview img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.ssh-price-drawer__title {
	font-weight: 600;
	font-size: 28px;
	margin-bottom: 12px;
	color: var(--ssh-brown);
}

.ssh-price-drawer__body {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ssh-brown);
	margin-bottom: 28px;
}

.ssh-price-drawer__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ssh-price-drawer__field input,
.ssh-price-drawer__field textarea {
	box-sizing: border-box;
	width: 100%;
	background: var(--ssh-cream);
	border: 1px solid rgba(74, 46, 24, 0.25);
	border-radius: 0;
	padding: 15px 18px;
	font-family: var(--ssh-font-body);
	font-size: 14px;
	color: var(--ssh-brown);
}

.ssh-price-drawer__field textarea {
	resize: vertical;
	min-height: 110px;
}

.ssh-price-drawer__field input::placeholder,
.ssh-price-drawer__field textarea::placeholder {
	color: rgba(74, 46, 24, 0.55);
}

.ssh-price-drawer__field input:focus,
.ssh-price-drawer__field textarea:focus {
	outline: none;
	border-color: var(--ssh-red);
}

.ssh-price-drawer__submit {
	width: 100%;
	margin-top: 4px;
}

@media (max-width: 767px) {
	/* Fullscreen drawer on mobile. Extra top padding drops the image/content
	   below the close button so the X never overlaps the photo. */
	.ssh-price-drawer__panel {
		width: 100vw;
		max-width: 100vw;
		padding: 68px 24px 40px;
	}

	.ssh-price-drawer__close {
		top: 14px;
		right: 14px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-horses-hero {
		min-height: 760px;
		align-items: center;
		background: #221a14;
	}

	.ssh-horses-hero__bg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.ssh-horses-hero__img--desktop {
		display: block;
		object-position: 60% center;
	}

	.ssh-horses-hero__content {
		padding: 132px var(--ssh-gutter) 112px;
	}

	.ssh-horses-hero__title,
	.ssh-horses-hero__copy {
		max-width: 540px;
	}

	.ssh-horses-featured-list {
		padding: 56px 0;
	}

	.ssh-horses-featured-list .ssh-container {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-horses-featured-list__header {
		margin-bottom: 34px;
	}

	/* Tablet: stack the card (image on top, details below) like the mobile
	   cards, with a taller image since the viewport is wider. */
	.ssh-horses-featured-list__card {
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 24px;
		min-height: 0;
		padding: 28px;
	}

	.ssh-horses-featured-list__card-media {
		height: 340px;
	}

	.ssh-horses-featured-list__card-top {
		flex-direction: column;
		align-items: flex-start;
	}

	.ssh-horses-featured-list__card-name {
		font-size: 22px;
	}

	.ssh-horses-approach {
		min-height: 560px;
		align-items: flex-end;
	}

	.ssh-horses-approach__content {
		padding: 96px var(--ssh-gutter) 72px;
	}

	.ssh-horses-testimonials__cards {
		grid-template-columns: 1fr;
	}

	.ssh-horses-testimonials__card {
		padding: 16px 16px 30px;
		min-height: auto;
	}

	.ssh-horses-testimonials__media {
		height: 280px !important;
		margin-bottom: 18px;
	}
}

/* ---- 80-contact.css ---- */
/* =========================================================
   Contact page widgets: Hero, Inquiry Form, Details/Map
   ========================================================= */

/* -----------------------------------------------------------
   Contact Hero
   ----------------------------------------------------------- */
.ssh-contact-hero {
	position: relative;
	display: flex;
	align-items: flex-start;
	min-height: 760px;
	padding: 165px 0 300px;
	overflow: hidden;
	color: var(--ssh-white);
}

.ssh-contact-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: url('../images/contact__hero-aerial.png');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.ssh-contact-hero__image {
	display: none;
}

.ssh-contact-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(16, 10, 5, 0.4);
}

.ssh-contact-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1500px;
	/* Use the shared gutter var so the hero text left edge lines up with the
	   header logo/hamburger (gutter is 44px on tablet, 28px desktop, 20px mobile). */
	padding-left: var(--ssh-gutter);
	padding-right: var(--ssh-gutter);
	text-align: left;
}

.ssh-contact-hero__title {
	font-weight: 600;
	font-size: 56px;
	line-height: 1.1;
	color: var(--ssh-white);
	max-width: 640px;
	margin-bottom: 24px;
}

.ssh-contact-hero__body {
	font-size: 16px;
	line-height: 1.65;
	color: var(--ssh-cream);
	max-width: 520px;
	margin: 0;
}

@media (max-width: 1024px) {
	.ssh-contact-hero {
		min-height: 740px;
		padding: 104px 0 340px;
	}

	.ssh-contact-hero__title {
		font-size: 38px;
	}
}

@media (max-width: 767px) {
	.ssh-contact-hero {
		align-items: center;
		min-height: 480px;
		padding: 90px 0 40px;
	}

	.ssh-contact-hero__content {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-contact-hero__title {
		font-size: 30px;
	}

	.ssh-contact-hero__body {
		font-size: 15px;
	}
}

/* -----------------------------------------------------------
   Contact Inquiry
   ----------------------------------------------------------- */
.ssh-contact-inquiry {
	position: relative;
	margin-top: -280px;
	padding-bottom: 40px;
	z-index: 5;
	background: transparent;
}

/* Cream background starts BELOW the hero overlap zone, so the aerial
   hero shows in the side gutters behind the top of the card. */
.ssh-contact-inquiry::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 280px;
	bottom: 0;
	z-index: -1;
	background-color: var(--ssh-cream);
	background-image: url('../images/contact-page__bg__240648418.png');
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
}

.ssh-contact-inquiry .ssh-container {
	max-width: 1500px;
	padding-left: 28px;
	padding-right: 28px;
}

.ssh-contact-inquiry__panel {
	position: relative;
	z-index: 6;
	display: grid;
	grid-template-columns: minmax(0, 390px) minmax(0, 1fr);
	gap: 32px;
	background: var(--ssh-cream-light);
	border-radius: 0;
	padding: 72px 64px;
	box-shadow: 0 24px 50px rgba(16, 10, 5, 0.13);
}

.ssh-contact-inquiry__media {
	position: relative;
	overflow: hidden;
	border-radius: 0;
	min-height: 100%;
	align-self: stretch;
	background-image: url('../images/contact__inquiry-cv.png');
	background-size: cover;
	background-position: 28% top;
	background-repeat: no-repeat;
}

.ssh-contact-inquiry__media-bg {
	display: none;
}

.ssh-contact-inquiry__media-horse {
	display: none;
}

.ssh-contact-inquiry__media-mark {
	display: none;
}

.ssh-contact-inquiry__form-col {
	display: flex;
	flex-direction: column;
}

.ssh-contact-inquiry__title {
	font-weight: 600;
	font-size: 34px;
	margin-bottom: 20px;
}

.ssh-contact-inquiry__divider {
	position: relative;
	width: 130px;
	height: 2px;
	background: var(--ssh-red);
	margin: 0 0 32px;
}

.ssh-contact-inquiry__divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	background: var(--ssh-red);
	transform: translate(-50%, -50%) rotate(45deg);
}

.ssh-contact-inquiry__body {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ssh-brown);
	margin-bottom: 36px;
	max-width: 560px;
}

.ssh-contact-inquiry__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ssh-contact-inquiry__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ssh-contact-inquiry__field {
	display: flex;
}

.ssh-contact-inquiry__field input,
.ssh-contact-inquiry__field select,
.ssh-contact-inquiry__field textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	background: var(--ssh-cream);
	border: 1px solid rgba(74, 46, 24, 0.25);
	border-radius: 0;
	padding: 16px 18px;
	font-family: var(--ssh-font-body);
	font-size: 14px;
	color: var(--ssh-brown);
}

.ssh-contact-inquiry__field select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234A2E18' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
}

.ssh-contact-inquiry__field textarea {
	resize: vertical;
	min-height: 120px;
}

.ssh-contact-inquiry__field input::placeholder,
.ssh-contact-inquiry__field textarea::placeholder {
	color: rgba(74, 46, 24, 0.55);
}

.ssh-contact-inquiry__field input:focus,
.ssh-contact-inquiry__field select:focus,
.ssh-contact-inquiry__field textarea:focus {
	outline: none;
	border-color: var(--ssh-red);
}

.ssh-contact-inquiry__submit {
	width: 100%;
	margin-top: 4px;
}

@media (max-width: 1024px) {
	.ssh-contact-inquiry {
		margin-top: -260px;
	}

	.ssh-contact-inquiry::before {
		top: 260px;
	}

	.ssh-contact-inquiry .ssh-container {
		max-width: 92%;
	}

	.ssh-contact-inquiry__panel {
		grid-template-columns: 1fr;
		padding: 36px;
	}

	.ssh-contact-inquiry__media {
		min-height: 520px;
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-contact-hero {
		align-items: center;
		min-height: 620px;
		padding: 96px 0;
	}

	.ssh-contact-inquiry {
		margin-top: 0;
		/* Breathing room between the hero photo and the form wrapper. */
		padding-top: 44px;
		/* Solid cream — no textured bg image, so nothing bleeds through in the
		   side gutters beside the card. */
		background: var(--ssh-cream);
	}

	.ssh-contact-inquiry::before {
		display: none;
	}

	.ssh-contact-inquiry .ssh-container {
		max-width: 100%;
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-contact-inquiry__panel {
		display: block;
		padding: 52px 48px;
		/* Fully opaque so no texture shows through the panel. */
		background: var(--ssh-cream-light);
		box-shadow: none;
	}

	.ssh-contact-inquiry__media {
		display: none;
	}
}

@media (max-width: 767px) {
	.ssh-contact-inquiry {
		margin-top: 0;
		padding-top: 40px;
		padding-bottom: 40px;
		overflow: hidden;
	}

	.ssh-contact-inquiry::before {
		top: 0;
		background-attachment: scroll;
	}

	.ssh-contact-inquiry .ssh-container {
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}

	.ssh-contact-inquiry__panel {
		grid-template-columns: 1fr;
		padding: 0;
		gap: 0;
		background: transparent;
		box-shadow: none;
	}

	.ssh-contact-inquiry__divider {
		margin-left: 4px;
	}

	.ssh-contact-inquiry__media {
		display: none;
	}

	.ssh-contact-inquiry__row {
		grid-template-columns: 1fr;
	}

	.ssh-contact-inquiry__title {
		font-size: 26px;
	}
}

/* -----------------------------------------------------------
   Contact Details + Map
   ----------------------------------------------------------- */
.ssh-contact-details {
	padding-bottom: 72px;
	background-color: var(--ssh-cream);
	background-image: url('../images/contact-page__bg__240648418.png');
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
}

.ssh-contact-details .ssh-container {
	max-width: 1500px;
	padding-left: 28px;
	padding-right: 28px;
}

.ssh-contact-details__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 32px 0 48px;
}

.ssh-contact-details__card {
	background: transparent;
	border: 1px solid rgba(213, 178, 120, 0.65);
	border-radius: 0;
	padding: 32px;
}

.ssh-contact-details__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-bottom: 20px;
	color: var(--ssh-red);
}

.ssh-contact-details__icon svg {
	display: block;
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ssh-contact-details__card-title {
	font-family: var(--ssh-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ssh-red);
	margin-bottom: 12px;
}

.ssh-contact-details__card-value {
	font-style: normal;
	font-size: 18px;
	line-height: 1.5;
	color: var(--ssh-brown);
}

.ssh-contact-details__card-value a {
	color: var(--ssh-brown);
}

.ssh-contact-details__card-value a:hover {
	color: var(--ssh-red);
}

.ssh-contact-details__map {
	position: relative;
	z-index: 0;
	width: 100%;
	height: clamp(420px, 36vw, 560px);
	overflow: hidden;
	border: 1px solid rgba(213, 178, 120, 0.65);
	background: var(--ssh-cream-light);
}

.ssh-contact-details__map-canvas {
	width: 100%;
	height: 100%;
}

.ssh-contact-details__map .leaflet-top.leaflet-right {
	padding: 8px;
}

/* Reset Leaflet's connected-bar styling so every button is its own square */
.ssh-contact-details__map .leaflet-bar,
.ssh-contact-details__map .leaflet-control {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0 0 10px 0;
}

.ssh-contact-details__map .leaflet-control:last-child {
	margin-bottom: 0;
}

.ssh-contact-details__map .leaflet-control a,
.ssh-contact-details__map-control {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0 0 8px 0;
	background: #ffffff;
	color: var(--ssh-brown);
	border: 1px solid rgba(16, 10, 5, 0.10);
	border-radius: 0;
	box-shadow: 0 4px 12px rgba(16, 10, 5, 0.14);
	font-family: var(--ssh-font-body);
	font-size: 20px;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease;
}

/* Last button in each control has no trailing gap */
.ssh-contact-details__map .leaflet-bar a:last-child {
	margin-bottom: 0;
}

.ssh-contact-details__map-control:hover,
.ssh-contact-details__map .leaflet-control a:hover {
	background: var(--ssh-red);
	color: var(--ssh-white);
}

.ssh-contact-details__map-control {
	cursor: pointer;
}

.ssh-contact-details__map-marker {
	background: transparent;
	border: 0;
}

.ssh-contact-details__map-marker span {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	margin: 0 auto;
	background: var(--ssh-red);
	border: 3px solid var(--ssh-cream-light);
	border-radius: 50% 50% 50% 0;
	box-shadow: 0 8px 18px rgba(16, 10, 5, 0.28);
	transform: rotate(-45deg);
}

.ssh-contact-details__map-marker span::after {
	content: '';
	position: absolute;
	top: 7px;
	left: 7px;
	width: 4px;
	height: 4px;
	background: var(--ssh-cream-light);
	border-radius: 50%;
}

.ssh-contact-details__map .leaflet-popup-content-wrapper {
	border-radius: 0;
	font-family: var(--ssh-font-body);
	color: var(--ssh-brown);
}

.ssh-contact-details__map .leaflet-popup-content {
	margin: 16px 20px;
	line-height: 1.5;
}

.ssh-contact-details__map-popup-title {
	display: block;
	margin-bottom: 8px;
	color: var(--ssh-red);
	font-weight: 700;
}

.ssh-contact-details__map .leaflet-popup-content > span {
	display: block;
	max-width: 180px;
	font-size: 15px;
	line-height: 1.45;
}

.ssh-contact-details__map-popup-link {
	display: block;
	margin-top: 14px;
	color: var(--ssh-red);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ssh-contact-details__map-popup-link:hover {
	color: var(--ssh-brown);
}

.ssh-contact-details__map-fallback {
	display: inline-flex;
	padding: 16px 20px;
	color: var(--ssh-red);
	font-weight: 700;
}

@media (max-width: 1024px) {
	.ssh-contact-details__cards {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	/* The distressed paper texture crops to blotchy patches at tablet size
	   (especially with fixed attachment). Flatten both contact sections to a
	   clean cream on tablet, matching the mobile treatment. */
	.ssh-contact-inquiry::before,
	.ssh-contact-details {
		background-image: none;
		background-attachment: scroll;
	}

	.ssh-contact-details .ssh-container {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-contact-details__card:nth-child(3) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.ssh-contact-details {
		background-attachment: scroll;
		background-image: none;
	}

	.ssh-contact-details .ssh-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.ssh-contact-details__cards {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 24px 0 32px;
	}

	.ssh-contact-details__card {
		padding: 24px;
	}

	.ssh-contact-details__map {
		height: 380px;
	}
}

/* ---- 90-single-post.css ---- */
/* =========================================================
   Single news/blog post — branded banner + paper-texture body
   Rendered by templates/single-post.php (same header + footer
   as the rest of the site). No comments.
   ========================================================= */

.ssh-single {
	font-family: var(--ssh-font-body);
	color: var(--ssh-text-dark);
	background-color: var(--ssh-cream);
	-webkit-font-smoothing: antialiased;
}

.ssh-single *,
.ssh-single *::before,
.ssh-single *::after {
	box-sizing: border-box;
}

/* ---- Banner ---- */
.ssh-single__banner {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--ssh-near-black);
}

.ssh-single__banner-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.ssh-single__banner-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 22%;
}

.ssh-single__banner-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(16, 10, 5, 0.14) 0%,
		rgba(16, 10, 5, 0.52) 56%,
		rgba(16, 10, 5, 0.9) 100%
	);
}

.ssh-single__banner-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: 104px;
	padding-bottom: 42px;
	color: var(--ssh-cream);
}

.ssh-single__eyebrow {
	display: inline-block;
	font-family: var(--ssh-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ssh-gold);
	margin-bottom: 12px;
}

.ssh-single__title {
	font-family: var(--ssh-font-serif);
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: 1.12;
	font-weight: 600;
	color: var(--ssh-white);
	margin: 0 0 12px;
	max-width: 1100px;
	text-wrap: balance;
}

.ssh-single__date {
	font-family: var(--ssh-font-body);
	font-size: 14px;
	letter-spacing: 0.04em;
	color: var(--ssh-cream-light);
	margin: 0;
}

/* ---- Paper-texture article body ---- */
.ssh-single__body {
	position: relative;
	background-color: var(--ssh-cream);
	background-image:
		linear-gradient(180deg, rgba(249, 239, 230, 0.82), rgba(249, 239, 230, 0.88)),
		url('../images/single-post-paper-texture.png');
	background-size: 100% auto;
	background-position: center top;
	background-repeat: repeat-y;
	padding: 58px 0 84px;
}

.ssh-single__content {
	max-width: var(--ssh-max-width);
}

.ssh-single__article {
	font-family: var(--ssh-font-body);
	font-size: 18px;
	line-height: 1.75;
	color: var(--ssh-brown);
	max-width: 920px;
	padding-top: 28px;
	border-top: 1px solid rgba(74, 46, 24, 0.18);
}

.ssh-single__article > * + * {
	margin-top: 1.5em;
}

.ssh-single__article p {
	margin: 0;
	max-width: 78ch;
}

.ssh-single__article h2 {
	font-family: var(--ssh-font-serif);
	font-size: 30px;
	line-height: 1.2;
	color: var(--ssh-card-title);
	margin-top: 1.7em;
}

.ssh-single__article h3 {
	font-family: var(--ssh-font-serif);
	font-size: 24px;
	line-height: 1.25;
	color: var(--ssh-card-title);
	margin-top: 1.5em;
}

.ssh-single__article a {
	color: var(--ssh-red);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ssh-single__article img {
	max-width: 100%;
	height: auto;
	border-radius: 0;
}

.ssh-single__article ul,
.ssh-single__article ol {
	padding-left: 1.4em;
}

.ssh-single__article li + li {
	margin-top: 0.5em;
}

.ssh-single__article blockquote {
	border-left: 3px solid var(--ssh-gold);
	padding-left: 24px;
	font-style: italic;
	color: var(--ssh-text-muted);
}

.ssh-single__back {
	margin-top: 48px;
}

.ssh-single__back .ssh-btn {
	color: var(--ssh-red);
	border-color: rgba(155, 33, 44, 0.35);
	background: rgba(255, 248, 240, 0.58);
	text-decoration: none;
}

.ssh-single__back .ssh-btn:hover {
	color: var(--ssh-white);
	border-color: var(--ssh-red);
	background: var(--ssh-red);
	text-decoration: none;
}

/* Compact back link: chevron icon + label stay on one line (no awkward wrap
   at 360px), with smaller text and tighter padding. */
.ssh-single__back-link {
	gap: 8px;
	padding: 13px 24px;
	font-size: 12px;
	white-space: nowrap;
}

.ssh-single__back-icon {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.ssh-single__back-link:hover .ssh-single__back-icon {
	transform: translateX(-3px);
}

@media (max-width: 767px) {
	.ssh-single__banner {
		min-height: 340px;
	}

	.ssh-single__banner-inner {
		padding-top: 82px;
		padding-bottom: 32px;
	}

	.ssh-single__title {
		font-size: 29px;
	}

	.ssh-single__body {
		padding: 44px 0 64px;
	}

	.ssh-single__article {
		font-size: 16px;
		line-height: 1.7;
		padding-top: 22px;
	}
}

/* =========================================================
   Legal / simple content pages (Privacy Policy, Cookies)
   ========================================================= */
.ssh-legal {
	background-color: var(--ssh-cream);
	/* Cream wash over the texture so it reads as a soft, smooth background
	   instead of a rough grainy photo. */
	background-image:
		linear-gradient(rgba(249, 239, 230, 0.86), rgba(249, 239, 230, 0.86)),
		url('../images/home-v2__cream-texture__2262-991.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 150px 0 110px;
}

.ssh-legal__inner {
	max-width: 1120px;
}

.ssh-legal__eyebrow {
	display: block;
	font-family: var(--ssh-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ssh-gold);
	margin-bottom: 18px;
}

.ssh-legal__title {
	font-weight: 600;
	font-size: 56px;
	line-height: 1.05;
	color: var(--ssh-brown);
	margin: 0 0 14px;
}

.ssh-legal__meta {
	font-size: 15px;
	font-weight: 600;
	color: var(--ssh-red);
	margin: 0 0 40px;
}

.ssh-legal__body {
	color: var(--ssh-brown);
}

.ssh-legal__body h2 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1.25;
	color: var(--ssh-brown);
	margin: 40px 0 14px;
}

.ssh-legal__body h3 {
	font-weight: 700;
	font-size: 19px;
	color: var(--ssh-brown);
	margin: 28px 0 10px;
}

.ssh-legal__body p {
	font-size: 17px;
	line-height: 1.75;
	margin: 0 0 18px;
}

.ssh-legal__body ul,
.ssh-legal__body ol {
	margin: 0 0 18px;
	padding-left: 22px;
}

.ssh-legal__body li {
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 8px;
}

.ssh-legal__body a {
	color: var(--ssh-red);
	text-decoration: underline;
}

.ssh-legal__body strong {
	font-weight: 700;
}

@media (max-width: 767px) {
	.ssh-legal {
		padding: 110px 0 70px;
	}

	.ssh-legal__title {
		font-size: 34px;
	}

	.ssh-legal__body p,
	.ssh-legal__body li {
		font-size: 15px;
	}
}

/* ---- 95-parallax.css ---- */
/* =========================================================
   Scroll parallax for full-width image banners.
   The transform itself is applied by GSAP in frontend.js; this
   file just marks the images for compositing and makes sure each
   banner section clips the scaled photo so no edge is exposed.
   Red/maroon bands, testimonials, the map, and the fixed news
   hero are deliberately NOT included here.
   ========================================================= */

.ssh-services-hero__img,
.ssh-services-partnership__img,
.ssh-horses-hero__img,
.ssh-horses-approach__img,
.ssh-upcoming-hero__bg-img,
.ssh-about-hero__bg-img,
.ssh-about-success__bg-img,
.ssh-about-credentials__bg-img,
.ssh-home-hero__bg-img,
.ssh-home-credentials__bg-img,
.ssh-news-featured__bg-img {
	will-change: transform;
	backface-visibility: hidden;
}

/* Clip the scaled/drifting photo to the banner frame. */
.ssh-services-hero,
.ssh-services-partnership,
.ssh-horses-hero,
.ssh-horses-approach,
.ssh-upcoming-hero,
.ssh-about-hero,
.ssh-about-success,
.ssh-about-credentials,
.ssh-home-hero,
.ssh-home-credentials,
.ssh-news-featured__panel {
	overflow: hidden;
}

/* ---- 99-responsive.css ---- */
/* =========================================================
   Global responsive guards — loads last.
   Belt-and-suspenders so no section can force sideways
   scrolling and any undecorated / embedded media stays fluid.
   Per-section breakpoints live in each page's partial; this
   only backstops the cross-cutting cases.
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Kill any accidental horizontal scroll on phones/tablets. The fixed-background
   heroes are unaffected (body is not their containing block). */
body {
	overflow-x: hidden;
}

/* Fluid media everywhere — covers post content and embeds, not just sections. */
img,
svg,
video,
canvas,
iframe {
	max-width: 100%;
}

/* Long unbroken words / URLs wrap instead of pushing the layout wide. */
.ssh-section :where( h1, h2, h3, h4, p, a, li ),
.ssh-single__article :where( h1, h2, h3, p, a, li ) {
	overflow-wrap: break-word;
}

/* Wide tables / code blocks inside posts scroll within their own box. */
.ssh-single__article :where( table, pre ) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

/* Small phones: tighten the two-up stat/value grids that stay 2-col so the
   numbers and labels don't get crushed. */
@media (max-width: 480px) {
	.ssh-home-values__grid,
	.ssh-home-credentials__list {
		grid-template-columns: 1fr;
	}
}

/* Phone heading scale: keep primary section titles compact enough to use the
   available width cleanly without forcing awkward short-line wrapping. */
@media (max-width: 767px) {
	.ssh-home-hero__title,
	.ssh-home-intro__title,
	.ssh-home-credentials__title,
	.ssh-home-services__title,
	.ssh-home-news-ranch__title,
	.ssh-home-story-teaser__title,
	.ssh-home-values__title,
	.ssh-about-hero__title,
	.ssh-about-lifetime__title,
	.ssh-about-credentials__title,
	.ssh-about-principles__title,
	.ssh-about-success__title,
	.ssh-about-services-teaser__title,
	.ssh-services-hero__title,
	.ssh-services-detail__title,
	.ssh-services-partnership__title,
	.ssh-news-hero__title,
	.ssh-news-featured__heading,
	.ssh-news-grid__heading,
	.ssh-news-testimonials__heading,
	.ssh-upcoming-hero__title,
	.ssh-upcoming-schedule__title,
	.ssh-upcoming-map__title,
	.ssh-horses-hero__title,
	.ssh-horses-featured-list__heading,
	.ssh-horses-approach__heading,
	.ssh-horses-testimonials__heading,
	.ssh-contact-hero__title,
	.ssh-contact-inquiry__title,
	.ssh-contact-form__heading,
	.ssh-champion-cta__heading,
	.ssh-single__title {
		font-size: 26px;
		line-height: 1.1;
	}
}

/* Tablet heading scale: one standard title size across page sections. */
@media (min-width: 768px) and (max-width: 1024px) {
	.ssh-home-hero {
		min-height: 760px;
	}

	.ssh-home-hero__container {
		padding: 120px var(--ssh-gutter) 100px;
	}

	.ssh-home-hero__content {
		max-width: 560px;
	}

	.ssh-home-hero__title,
	.ssh-home-intro__title,
	.ssh-home-credentials__title,
	.ssh-home-services__title,
	.ssh-home-news-ranch__title,
	.ssh-home-story-teaser__title,
	.ssh-home-values__title,
	.ssh-about-hero__title,
	.ssh-about-lifetime__title,
	.ssh-about-credentials__title,
	.ssh-about-principles__title,
	.ssh-about-success__title,
	.ssh-about-services-teaser__title,
	.ssh-services-hero__title,
	.ssh-services-detail__title,
	.ssh-services-partnership__title,
	.ssh-news-hero__title,
	.ssh-news-featured__heading,
	.ssh-news-grid__heading,
	.ssh-news-testimonials__heading,
	.ssh-upcoming-hero__title,
	.ssh-upcoming-schedule__title,
	.ssh-upcoming-map__title,
	.ssh-horses-hero__title,
	.ssh-horses-featured-list__heading,
	.ssh-horses-approach__heading,
	.ssh-horses-testimonials__heading,
	.ssh-contact-hero__title,
	.ssh-contact-inquiry__title,
	.ssh-contact-form__heading,
	.ssh-champion-cta__heading,
	.ssh-single__title {
		font-size: 44px;
		font-weight: 600;
		line-height: 48px;
	}

	.ssh-about-credentials .ssh-about-credentials__inner {
		padding: 104px var(--ssh-gutter) 72px;
	}

	.ssh-about-credentials .ssh-about-credentials__cell {
		padding: 28px 34px;
	}

	.ssh-about-success .ssh-about-success__content {
		padding: 56px var(--ssh-gutter);
	}

	.ssh-about-success .ssh-about-success__title,
	.ssh-about-success .ssh-about-success__copy {
		max-width: 100%;
	}

	.ssh-about-principles {
		padding: 86px 0 72px;
	}

	.ssh-about-principles .ssh-about-principles__inner {
		align-items: center;
		grid-template-columns: 1fr;
		gap: 24px;
		padding-bottom: 0;
	}

	.ssh-about-principles .ssh-about-principles__content {
		max-width: 620px;
	}

	.ssh-about-principles .ssh-about-principles__portrait {
		align-self: end;
		justify-self: center;
		margin-bottom: -1px;
		max-width: 330px;
	}

	.ssh-about-principles .ssh-about-principles__portrait-img {
		width: min(100%, 325px);
		max-height: 350px;
		object-fit: contain;
		object-position: bottom center;
	}

	.ssh-about-principles .ssh-about-principles__quote {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 24px;
		min-height: 520px;
		margin-top: 0;
		padding: 46px 48px 0;
		overflow: hidden;
	}

	.ssh-about-principles .ssh-about-principles__quote-text {
		order: 1;
		max-width: 520px;
		margin: 0 auto;
		padding-left: 0;
		text-align: center;
	}

	.ssh-about-principles .ssh-about-principles__quote-image {
		order: 2;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		width: 100%;
		min-height: 230px;
	}

	.ssh-about-principles .ssh-about-principles__quote-img {
		position: relative;
		left: auto;
		bottom: 0;
		width: min(58%, 320px);
		margin: 0 auto;
	}

	.ssh-services-hero {
		display: flex;
		align-items: center;
		min-height: 690px;
		background: #221a14;
	}

	.ssh-services-hero .ssh-services-hero__bg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.ssh-services-hero .ssh-services-hero__img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100% !important;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-services-hero .ssh-services-hero__overlay {
		position: absolute;
		inset: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg, rgba(16, 10, 5, 0.76) 0%, rgba(16, 10, 5, 0.48) 52%, rgba(16, 10, 5, 0.16) 100%),
			linear-gradient(180deg, rgba(16, 10, 5, 0.06) 0%, rgba(16, 10, 5, 0.18) 52%, rgba(16, 10, 5, 0.58) 100%);
	}

	.ssh-services-hero .ssh-services-hero__content {
		position: relative;
		z-index: 2;
		display: block;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 132px var(--ssh-gutter) 112px;
	}

	.ssh-services-hero .ssh-services-hero__title {
		max-width: 620px;
		margin: 0 0 24px;
		padding: 0;
	}

	.ssh-services-hero .ssh-services-hero__copy {
		max-width: 640px;
		margin: 0;
		padding: 0;
		background: transparent;
		font-size: 16px;
		line-height: 1.65;
	}

	.ssh-services-hero .ssh-services-hero__cta {
		display: none;
	}

	.ssh-services-detail .ssh-services-detail__inner,
	.ssh-services-detail--image-right .ssh-services-detail__inner {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 30px;
	}

	.ssh-services-detail {
		padding: 44px 0 58px;
	}

	.ssh-services-detail--dark {
		padding: 38px 0 0;
	}

	.ssh-services-detail .ssh-services-detail__media,
	.ssh-services-detail .ssh-services-detail__content {
		flex: 1 1 auto;
		max-width: 100%;
	}

	.ssh-services-detail .ssh-services-detail__content {
		width: 100%;
		max-width: 620px;
	}

	.ssh-services-detail .ssh-services-detail__picture {
		display: block;
		width: 100%;
	}

	.ssh-services-detail .ssh-services-detail__img {
		width: 100%;
		height: 420px;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-services-detail--dark .ssh-services-detail__inner {
		padding: 54px 48px 46px;
	}

	.ssh-services-detail--dark .ssh-services-detail__content,
	.ssh-services-detail--dark .ssh-services-detail__media {
		max-width: 100%;
	}

	.ssh-services-detail--dark .ssh-services-detail__media {
		display: flex;
		justify-content: center;
	}

	.ssh-services-detail--dark .ssh-services-detail__picture {
		max-width: 100%;
	}

	.ssh-services-detail--dark .ssh-services-detail__img {
		width: 100%;
		height: auto;
		max-height: none;
		object-fit: contain;
	}

	.ssh-services-partnership {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 360px auto;
		align-items: stretch;
		padding: 0;
		min-height: 0;
		background: #221a14;
	}

	.ssh-services-partnership .ssh-services-partnership__bg,
	.ssh-services-partnership .ssh-services-partnership__overlay {
		position: relative;
		inset: auto;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
	}

	.ssh-services-partnership .ssh-services-partnership__img {
		height: 100% !important;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-services-partnership .ssh-services-partnership__overlay {
		z-index: 1;
		background: linear-gradient(180deg, rgba(16, 10, 5, 0.02) 0%, rgba(16, 10, 5, 0.14) 46%, rgba(16, 10, 5, 0.78) 100%);
	}

	.ssh-services-partnership .ssh-services-partnership__inner {
		display: contents;
	}

	.ssh-services-partnership .ssh-services-partnership__title {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 1;
		align-self: end;
		margin: 0;
		padding: 0 var(--ssh-gutter) 26px;
	}

	.ssh-services-partnership .ssh-services-partnership__cards {
		position: relative;
		z-index: 2;
		grid-column: 1;
		grid-row: 2;
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 38px var(--ssh-gutter) 54px;
		background: #221a14;
	}

	.ssh-services-partnership .ssh-services-partnership__card,
	.ssh-services-partnership .ssh-services-partnership__card:first-child {
		padding: 28px 24px;
		border: 1px solid rgba(249, 239, 230, 0.16);
		border-left: 1px solid rgba(249, 239, 230, 0.16);
		background: rgba(255, 255, 255, 0.03);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.ssh-news-hero {
		display: flex;
		align-items: center;
		min-height: 690px;
		background: #221a14;
	}

	.ssh-news-hero .ssh-news-hero__bg {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.ssh-news-hero .ssh-news-hero__img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100% !important;
		object-fit: cover;
		object-position: center center;
	}

	.ssh-news-hero .ssh-news-hero__overlay {
		position: absolute;
		inset: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg, rgba(16, 10, 5, 0.76) 0%, rgba(16, 10, 5, 0.48) 52%, rgba(16, 10, 5, 0.16) 100%),
			linear-gradient(180deg, rgba(16, 10, 5, 0.06) 0%, rgba(16, 10, 5, 0.18) 52%, rgba(16, 10, 5, 0.58) 100%);
	}

	.ssh-news-hero .ssh-news-hero__content {
		position: relative;
		z-index: 2;
		display: block;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 132px var(--ssh-gutter) 112px;
	}

	.ssh-news-hero .ssh-news-hero__title {
		max-width: 620px;
		margin: 0 0 24px;
		padding: 0;
	}

	.ssh-news-hero .ssh-news-hero__copy {
		max-width: 640px;
		margin: 0;
		padding: 0;
		background: transparent;
		font-size: 16px;
		line-height: 1.65;
	}

	.ssh-news-featured .ssh-container,
	.ssh-news-grid .ssh-container {
		padding-left: var(--ssh-gutter);
		padding-right: var(--ssh-gutter);
	}

	.ssh-news-featured {
		padding: 54px 0 48px;
	}

	.ssh-news-featured__panel {
		width: 100%;
		max-width: 100%;
		aspect-ratio: 4 / 3;
		min-height: 450px;
	}

	.ssh-news-featured__text {
		padding: 48px 34px 56px;
	}

	.ssh-news-featured__heading {
		max-width: 390px;
	}

	.ssh-news-featured__copy {
		max-width: 380px;
		font-size: 15px;
	}

	.ssh-news-grid__cards {
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.ssh-news-grid__card-media {
		height: auto;
		aspect-ratio: 16 / 9;
		margin-bottom: 22px;
	}

	.ssh-news-grid__card-title {
		font-size: 26px;
		line-height: 1.12;
	}

	.ssh-news-testimonials__card:nth-child(3) {
		grid-column: 1 / -1;
		min-height: 250px;
		padding: 36px 46px 32px;
	}

	.ssh-news-testimonials__card:nth-child(3) .ssh-news-testimonials__stars {
		margin-bottom: 18px;
	}

	.ssh-news-testimonials__card:nth-child(3) .ssh-news-testimonials__quote {
		max-width: 620px;
		margin-bottom: 18px;
	}

	.ssh-news-testimonials__card:nth-child(3) .ssh-news-testimonials__meta {
		margin-top: 0;
	}

	.ssh-champion-cta .ssh-champion-cta__bg {
		background-position: 68% center;
	}
}

/* ---------------------------------------------------------
   Mobile hero / banner images
   The scroll parallax is disabled on touch + narrow viewports (frontend.js),
   so neutralise the desktop scale/translate and let every hero photo sit as a
   clean, static full-cover image. A dark section fallback guarantees no page
   background can peek behind a hero if the image is shorter than the content.
   --------------------------------------------------------- */
@media (max-width: 1024px) {
	.ssh-home-hero__bg-img,
	.ssh-home-credentials__bg-img,
	.ssh-services-hero__img,
	.ssh-services-partnership__img,
	.ssh-horses-hero__img,
	.ssh-horses-approach__img,
	.ssh-upcoming-hero__bg-img,
	.ssh-about-hero__bg-img,
	.ssh-about-success__bg-img,
	.ssh-about-credentials__bg-img,
	.ssh-news-hero__img,
	.ssh-news-featured__bg-img {
		transform: none;
		object-fit: cover;
		object-position: center;
	}

	.ssh-home-hero,
	.ssh-services-hero,
	.ssh-news-hero,
	.ssh-horses-hero,
	.ssh-upcoming-hero,
	.ssh-about-hero {
		background-color: var(--ssh-near-black);
	}
}
