/*
 * OHP V17 refinements
 * Palette and editorial proportions follow the approved OHP reference site.
 * This file is loaded last so the earlier design foundation remains recoverable.
 */

:root {
	--ohp-v17-jade: #1e8150;
	--ohp-v17-jade-deep: #135e3a;
	--ohp-v17-mint: #eef4ee;
	--ohp-v17-navy: #172a46;
	--ohp-v17-paper: #fbf8ef;
	--ohp-v17-paper-deep: #f1eadb;
	--ohp-v17-gold: #9c6a2c;
	--ohp-v17-gold-soft: #d9bd88;
	--ohp-v17-crimson: #64141d;
	--ohp-v17-ink: #173d31;
	--ohp-v17-muted: #66716c;
}

html,
body,
.ohp-home-main,
.ohp-interior,
.ohp-platform-main,
#main-content {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
}

.ohp-home-hero > *,
.ohp-vault-highlight > *,
.ohp-vault-story > *,
.ohp-contact > *,
.ohp-material-clarity > *,
.ohp-vault-trust > *,
.ohp-vault-reflections > *,
.ohp-bespoke-sourcing > * {
	min-width: 0;
}

/* Original supplied logo, with its white paper removed rather than recreated. */
.ohp-logo,
.ohp-logo picture,
.ohp-header-brand,
.ohp-header-brand picture,
.ohp-hero-logo,
.ohp-mobile-menu-head a {
	background: transparent;
	box-shadow: none;
}

.ohp-logo {
	object-fit: contain;
}

/* A full-width, self-fitting navigation bar replaces the oversized floating pill. */
.ohp-site-header,
.ohp-site-header.is-scrolled {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 86px;
	padding: 0 clamp(20px, 4.5vw, 74px);
	grid-template-columns: minmax(94px, 136px) minmax(0, 1fr) auto;
	gap: clamp(14px, 2vw, 34px);
	border: 0;
	border-bottom: 1px solid rgba(23, 61, 49, 0.14);
	border-radius: 0;
	background: rgba(251, 248, 239, 0.94);
	box-shadow: 0 10px 34px rgba(23, 42, 70, 0.08);
	backdrop-filter: blur(16px) saturate(1.12);
	transform: none;
}

.ohp-site-header.is-overlay:not(.is-scrolled) {
	background: linear-gradient(90deg, rgba(251, 248, 239, 0.96) 0 48%, rgba(251, 248, 239, 0.88) 66%, rgba(251, 248, 239, 0.82));
}

.ohp-site-header.is-scrolled {
	height: 72px;
	background: rgba(251, 248, 239, 0.98);
	box-shadow: 0 12px 34px rgba(23, 42, 70, 0.13);
}

body.admin-bar .ohp-site-header,
body.admin-bar .ohp-site-header.is-scrolled {
	top: 32px;
}

.ohp-header-brand,
.ohp-header-brand picture {
	width: 112px;
	height: 76px;
	justify-content: flex-start;
}

.ohp-site-header.is-scrolled .ohp-header-brand,
.ohp-site-header.is-scrolled .ohp-header-brand picture {
	height: 64px;
}

.ohp-header-logo {
	width: 98px;
	height: 72px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.ohp-site-header.is-scrolled .ohp-header-logo {
	height: 60px;
}

.ohp-desktop-nav {
	justify-self: center;
	width: fit-content;
	max-width: 100%;
	padding: 13px clamp(18px, 2.6vw, 38px);
	gap: clamp(16px, 2vw, 31px);
	border: 1px solid rgba(23, 61, 49, 0.1);
	border-radius: 999px;
	background: rgba(251, 248, 239, 0.78);
}

.ohp-desktop-nav > a,
.ohp-nav-group > a {
	font-size: clamp(0.68rem, 0.72vw, 0.78rem);
	letter-spacing: 0.035em;
}

.ohp-header-cta {
	min-height: 48px;
	padding-inline: 22px;
	background: var(--ohp-v17-navy);
}

.ohp-header-cta:hover {
	background: var(--ohp-v17-crimson);
}

/* The drawer is a useful compact navigation at tablet/mobile sizes. It is now
 * entirely outside the viewport until opened, so no navy strip can remain. */
.ohp-mobile-menu {
	color: var(--ohp-v17-navy);
	background: var(--ohp-v17-paper);
	border-left: 5px solid var(--ohp-v17-crimson);
	transform: translate3d(calc(100% + 90px), 0, 0);
	visibility: hidden;
	pointer-events: none;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 260ms;
}

.ohp-mobile-menu.is-open {
	transform: translate3d(0, 0, 0);
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.ohp-mobile-menu-head a {
	width: 126px;
	padding: 0;
}

.ohp-mobile-logo {
	height: 84px;
}

.ohp-menu-close {
	border-color: rgba(23, 42, 70, 0.22);
	color: var(--ohp-v17-navy);
}

.ohp-mobile-links a {
	border-color: rgba(23, 61, 49, 0.15);
}

.ohp-mobile-links span,
.ohp-mobile-vault-links p {
	color: var(--ohp-v17-gold);
}

.ohp-mobile-vault-links a {
	color: var(--ohp-v17-ink);
	border-color: rgba(23, 61, 49, 0.18);
	background: rgba(30, 129, 80, 0.06);
}

.ohp-mobile-region {
	color: rgba(23, 42, 70, 0.55);
}

/* Reference-matched home hero. */
.ohp-home-hero {
	min-height: clamp(780px, 100svh, 980px);
	grid-template-columns: minmax(0, 48%) minmax(0, 52%);
	background: var(--ohp-v17-paper);
}

.ohp-home-hero-copy {
	min-height: inherit;
	padding: 122px clamp(36px, 5vw, 78px) 62px max(36px, calc((100vw - 1360px) / 2));
	justify-content: center;
	background-color: #f4f6ed;
	background-image:
		radial-gradient(circle at 12% 28%, rgba(30, 129, 80, 0.1), transparent 31rem),
		linear-gradient(rgba(23, 42, 70, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(23, 42, 70, 0.035) 1px, transparent 1px),
		linear-gradient(125deg, #f8f7ee, #edf4ed 62%, #d7e8de);
	background-size: auto, 54px 54px, 54px 54px, auto;
}

.ohp-home-hero-copy > .ohp-kicker {
	margin-bottom: clamp(22px, 3vh, 34px);
}

.ohp-hero-signature {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
	width: min(100%, 610px);
	max-width: 100%;
	margin: 0 0 clamp(32px, 4vh, 50px);
	align-items: center;
	gap: clamp(14px, 2vw, 30px);
	overflow: visible;
}

.ohp-hero-logo {
	width: min(100%, 292px);
	margin: 0;
	padding: 0;
	border-radius: 0;
	justify-self: start;
	min-width: 0;
}

.ohp-hero-logo-image {
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* A large floating WebGL bangle sits beside the supplied logo. Its slim rounded
 * profile and translucent celadon texture are derived from four photographs of
 * the same OHP jade; the masked ring below is only a non-WebGL fallback. */
.ohp-jade-bangle-motion {
	position: relative;
	width: min(100%, 270px);
	min-width: 0;
	aspect-ratio: 1;
	justify-self: end;
	margin-left: 0;
	overflow: visible;
	filter: drop-shadow(0 22px 22px rgba(12, 55, 36, 0.22));
	touch-action: none;
	cursor: grab;
}

.ohp-jade-bangle-motion:active {
	cursor: grabbing;
}

.ohp-jade-bangle-canvas {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	display: block;
	opacity: 0;
	transition: opacity 500ms ease;
}

.ohp-jade-bangle-motion.is-webgl-ready .ohp-jade-bangle-canvas {
	opacity: 1;
}

.ohp-jade-bangle-fallback {
	position: absolute;
	inset: 9%;
	z-index: 1;
	border-radius: 50%;
	background-image: var(--ohp-jade-texture), linear-gradient(145deg, #dce6e1, #91a99e);
	background-size: cover;
	box-shadow: inset 10px 10px 15px rgba(255, 255, 255, 0.65), inset -12px -10px 18px rgba(47, 74, 62, 0.24), 0 16px 22px rgba(12, 55, 36, 0.2);
	-webkit-mask: radial-gradient(circle, transparent 0 59%, #000 60% 96%, transparent 97%);
	mask: radial-gradient(circle, transparent 0 59%, #000 60% 96%, transparent 97%);
	transform: rotateY(-18deg) rotateZ(-5deg);
	transition: opacity 350ms ease;
}

.ohp-jade-bangle-motion.is-webgl-ready .ohp-jade-bangle-fallback {
	opacity: 0;
}

.ohp-home-hero h1 {
	max-width: 720px;
	margin-bottom: 26px;
	font-size: clamp(3.25rem, 5.25vw, 6.25rem);
	letter-spacing: -0.042em;
	line-height: 0.92;
}

.ohp-home-hero h1 em {
	color: var(--ohp-v17-jade);
}

.ohp-lead {
	max-width: 620px;
	font-family: var(--ohp-v17-serif);
	font-size: clamp(1.08rem, 1.42vw, 1.36rem);
	line-height: 1.55;
}

.ohp-home-hero .ohp-actions {
	margin-top: 30px;
}

.ohp-home-hero .ohp-primary-button {
	background: var(--ohp-v17-crimson);
}

.ohp-home-hero .ohp-primary-button:hover {
	background: #4e1017;
}

.ohp-hero-proof {
	margin-top: clamp(34px, 5vh, 54px);
}

.ohp-hero-proof strong,
.ohp-inner-hero > span,
.ohp-six-grid > article > span,
.ohp-record-list > article > span {
	font-variant-numeric: lining-nums tabular-nums;
}

.ohp-home-hero-photo {
	position: relative;
	min-height: inherit;
	border-left: 3px solid var(--ohp-v17-crimson);
}

.ohp-home-hero-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: 60% 46%;
	transform: none;
}

.ohp-home-hero-photo::after {
	background: linear-gradient(90deg, rgba(23, 42, 70, 0.13), transparent 24%), linear-gradient(0deg, rgba(10, 25, 20, 0.24), transparent 34%);
}

.ohp-brand-tide {
	color: #f4ecd7;
	background: var(--ohp-v17-navy);
}

.ohp-brand-tide > div {
	min-height: 66px;
}

/* Give the full supplied footer logo comfortable paper around its lower
 * wordmark so the rounded white panel never clips "Our Heirloom Piece". */
.ohp-footer-brand a {
	box-sizing: border-box;
	width: min(260px, 100%);
	padding: 16px 24px 28px;
	overflow: visible;
}

.ohp-footer-brand a picture {
	display: block;
	line-height: 0;
}

.ohp-footer-logo {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	object-fit: contain;
	overflow: visible;
}

/* The home OHP Legacy Vault feature now carries the reference site's pale right panel. */
.ohp-vault-highlight {
	color: var(--ohp-v17-ink);
	background: var(--ohp-v17-mint);
}

.ohp-vault-highlight-copy {
	background: var(--ohp-v17-mint);
}

.ohp-vault-highlight-copy h2 {
	color: var(--ohp-v17-ink);
}

.ohp-vault-highlight-copy h2 em {
	color: var(--ohp-v17-jade);
}

.ohp-vault-highlight-copy > p:not(.ohp-kicker),
.ohp-record-list p {
	color: var(--ohp-v17-muted);
}

.ohp-record-list article {
	border-color: rgba(23, 61, 49, 0.18);
}

.ohp-record-list article > span {
	color: var(--ohp-v17-gold);
}

.ohp-record-list h3 {
	color: var(--ohp-v17-ink);
}

.ohp-vault-highlight .ohp-primary-button {
	background: var(--ohp-v17-crimson);
}

.ohp-vault-highlight .ohp-primary-button:hover {
	background: #4e1017;
}

.ohp-vault-highlight .ohp-text-link {
	color: var(--ohp-v17-ink);
	border-color: rgba(23, 61, 49, 0.32);
}

/* Refined quote scale and requested Coach Sher attribution. */
.ohp-editorial-quote {
	padding: clamp(86px, 8vw, 126px) 24px;
}

.ohp-editorial-quote > span {
	height: 52px;
	font-size: 5.5rem;
}

.ohp-editorial-quote blockquote {
	max-width: 940px;
	margin-bottom: 30px;
	font-size: clamp(2.45rem, 4.4vw, 4.65rem);
	line-height: 1;
}

.ohp-editorial-quote p {
	display: flex;
	justify-content: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.84);
}

.ohp-editorial-quote p strong {
	font-weight: 600;
}

.ohp-editorial-quote p span {
	color: var(--ohp-v17-gold-soft);
	font-weight: 600;
}

/* Cultural feature and clearer Carried Forward label. */
.ohp-blessing-copy > .ohp-kicker {
	color: var(--ohp-v17-gold);
}

.ohp-contact-copy > .ohp-kicker {
	color: #f4ecd7;
	font-weight: 600;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.14);
}

/* Interior numbering: use Manrope so 01 cannot read as OI. */
.ohp-inner-hero > span,
.ohp-six-grid > article > span {
	font-family: var(--ohp-v17-sans);
	font-weight: 300;
	letter-spacing: -0.04em;
}

.ohp-inner-hero {
	min-height: 540px;
	padding-top: 158px;
	padding-bottom: 88px;
}

.ohp-inner-hero h1 {
	font-size: clamp(3.9rem, 7vw, 7rem);
	line-height: 0.9;
}

/* Nine distinct safeguards, with a tighter editorial scale. */
.ohp-safeguards-grid article,
.ohp-security-grid article {
	min-height: 248px;
}

.ohp-safeguards-grid h3,
.ohp-security-grid h3 {
	font-size: clamp(1.45rem, 2vw, 1.78rem);
}

.ohp-safeguards-grid p,
.ohp-security-grid p {
	font-size: 0.8rem;
}

.ohp-security-section {
	background: #fffdf8;
}

.ohp-security-grid h3::before {
	color: var(--ohp-v17-jade);
}

/* Reflections stays personal and pale; it is not another navigation CTA. */
.ohp-vault-reflections {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(340px, 1.18fr);
	align-items: center;
	gap: clamp(58px, 9vw, 140px);
	background:
		linear-gradient(rgba(100, 20, 29, 0.024) 1px, transparent 1px),
		linear-gradient(90deg, rgba(100, 20, 29, 0.024) 1px, transparent 1px),
		var(--ohp-v17-paper);
	background-size: 54px 54px, 54px 54px, auto;
}

.ohp-vault-reflections h2 {
	margin: 0;
	color: var(--ohp-v17-ink);
	font-family: var(--ohp-v17-serif);
	font-size: clamp(3.2rem, 5.7vw, 5.7rem);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.94;
}

.ohp-vault-reflections h2 em {
	display: block;
	color: var(--ohp-v17-crimson);
	font-weight: 400;
}

.ohp-reflections-copy > p {
	max-width: 650px;
	color: var(--ohp-v17-muted);
	font-family: var(--ohp-v17-serif);
	font-size: clamp(1.22rem, 1.8vw, 1.62rem);
	line-height: 1.5;
}

.ohp-reflections-copy ul {
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ohp-v17-line);
}

.ohp-reflections-copy li {
	padding: 13px 2px;
	border-bottom: 1px solid var(--ohp-v17-line);
	color: var(--ohp-v17-ink);
	font-size: 0.78rem;
}

.ohp-reflections-copy li::before {
	content: "✦";
	margin-right: 12px;
	color: var(--ohp-v17-gold);
}

/* Reference process band, followed by a separate light Trust panel. */
.ohp-vault-process {
	color: white;
	background: var(--ohp-v17-navy);
}

.ohp-vault-process > h2 {
	max-width: 980px;
	color: white;
	font-size: clamp(2.8rem, 4.6vw, 4.6rem);
	font-style: normal;
}

.ohp-vault-process > h2 em {
	font-weight: 400;
	font-style: italic;
}

.ohp-vault-process ol {
	margin-bottom: 0;
	border-color: rgba(255, 255, 255, 0.25);
}

.ohp-vault-process li {
	color: white;
	font-family: var(--ohp-v17-sans);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ohp-vault-process li::before {
	background: var(--ohp-v17-gold);
}

.ohp-vault-process li span {
	margin-bottom: 18px;
	color: var(--ohp-v17-gold);
}

.ohp-vault-trust {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
	align-items: center;
	gap: clamp(60px, 10vw, 150px);
	background: var(--ohp-v17-paper);
}

.ohp-vault-trust h2 {
	margin: 0;
	color: var(--ohp-v17-ink);
	font-family: var(--ohp-v17-serif);
	font-size: clamp(3.4rem, 6vw, 6rem);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.9;
}

.ohp-vault-trust h2 em {
	display: block;
	color: var(--ohp-v17-jade);
	font-weight: 400;
}

.ohp-vault-trust > div:last-child p {
	max-width: 650px;
	color: var(--ohp-v17-muted);
	font-size: 0.92rem;
}

.ohp-vault-trust > div:last-child p:last-child {
	margin-bottom: 0;
}

/* Secure Next Step is intentionally pale green, distinct from Reflections and
 * separated from the navy process band by the Trust section. */
.ohp-vault-actions {
	color: var(--ohp-v17-ink);
	background: linear-gradient(125deg, #dcebe1, #f5f5ea);
}

.ohp-vault-actions h2 {
	color: var(--ohp-v17-ink);
}

.ohp-vault-actions h2 em {
	color: var(--ohp-v17-jade);
}

.ohp-vault-actions > div:first-child > p:last-child {
	color: var(--ohp-v17-muted);
}

.ohp-vault-action-grid a {
	border-color: rgba(23, 61, 49, 0.16);
	color: var(--ohp-v17-ink);
	background: rgba(255, 253, 248, 0.62);
}

.ohp-vault-action-grid a:hover,
.ohp-vault-action-grid .is-featured {
	color: white;
	background: var(--ohp-v17-crimson);
}

.ohp-vault-action-grid span {
	color: var(--ohp-v17-gold);
}

.ohp-vault-action-grid small {
	color: var(--ohp-v17-muted);
}

.ohp-vault-action-grid a:hover span,
.ohp-vault-action-grid .is-featured span,
.ohp-vault-action-grid a:hover small,
.ohp-vault-action-grid .is-featured small {
	color: rgba(255, 255, 255, 0.75);
}

/* Collection and bespoke sourcing refinements. */
.ohp-curation-paths {
	background: #fffdf8;
}

.ohp-curation-grid {
	gap: clamp(16px, 2vw, 26px);
}

.ohp-curation-grid article {
	border-radius: 3px 3px 34px 3px;
	background: var(--ohp-v17-paper);
	box-shadow: 0 14px 40px rgba(23, 42, 70, 0.055);
}

.ohp-curation-grid article > div {
	padding: clamp(24px, 2.6vw, 34px);
}

.ohp-curation-grid h3 {
	font-size: clamp(1.65rem, 2.3vw, 2.15rem);
}

.ohp-bespoke-sourcing {
	padding: clamp(92px, 10vw, 150px) max(24px, calc((100vw - var(--ohp-v17-max)) / 2));
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
	align-items: center;
	gap: clamp(60px, 9vw, 130px);
	background: linear-gradient(125deg, #dcebe1, #f5f5ea);
}

.ohp-bespoke-sourcing h2 {
	margin-bottom: 20px;
	color: var(--ohp-v17-ink);
	font-family: var(--ohp-v17-serif);
	font-size: clamp(3.2rem, 5.6vw, 5.6rem);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.92;
}

.ohp-bespoke-sourcing h2 em {
	display: block;
	color: var(--ohp-v17-jade);
	font-weight: 400;
}

.ohp-bespoke-sourcing > div:first-child > p:not(.ohp-kicker) {
	max-width: 590px;
	color: var(--ohp-v17-muted);
}

.ohp-bespoke-sourcing .ohp-primary-button {
	margin-top: 12px;
	background: var(--ohp-v17-crimson);
}

.ohp-bespoke-brief {
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid rgba(23, 61, 49, 0.16);
	border-radius: 2px 2px 42px 2px;
	background: rgba(255, 253, 248, 0.72);
}

.ohp-bespoke-brief > p {
	margin-bottom: 18px;
	color: var(--ohp-v17-gold);
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ohp-bespoke-brief ul {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ohp-v17-line);
}

.ohp-bespoke-brief li {
	padding: 12px 0;
	display: grid;
	grid-template-columns: 42px 1fr;
	border-bottom: 1px solid var(--ohp-v17-line);
	color: var(--ohp-v17-ink);
	font-size: 0.78rem;
}

.ohp-bespoke-brief li span {
	color: var(--ohp-v17-gold);
	font-family: var(--ohp-v17-serif);
	font-size: 1.05rem;
}

.ohp-bespoke-brief small {
	display: block;
	color: var(--ohp-v17-muted);
	font-size: 0.68rem;
}

/* The fixed header needs a consistent offset on WooCommerce and plugin pages. */
.ohp-platform-main {
	padding-top: 86px;
}

@media (max-width: 1180px) {
	.ohp-site-header,
	.ohp-site-header.is-scrolled {
		grid-template-columns: 1fr auto;
	}

	.ohp-desktop-nav {
		display: none;
	}

	.ohp-header-actions {
		justify-content: flex-end;
	}

	.ohp-header-cta,
	.ohp-menu-toggle {
		display: inline-flex;
	}

	.ohp-menu-toggle {
		display: grid;
	}

	.ohp-home-hero {
		grid-template-columns: minmax(0, 51%) minmax(0, 49%);
	}

	.ohp-home-hero h1 {
		font-size: clamp(3.2rem, 6.4vw, 5rem);
	}

	.ohp-hero-proof {
		gap: 12px;
	}

	.ohp-hero-proof div {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}

/* A tablet is too narrow for a half-width portrait without severe cropping.
 * Stack the portrait at the same breakpoint as the navigation menu so the
 * source photograph always keeps natural proportions. */
@media (min-width: 901px) and (max-width: 1180px) {
	.ohp-home-hero {
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.ohp-home-hero-copy {
		min-height: auto;
		padding: 148px max(46px, calc((100vw - 940px) / 2)) 84px;
	}

	.ohp-home-hero-photo {
		min-height: clamp(580px, 72svh, 760px);
		border-top: 3px solid var(--ohp-v17-crimson);
		border-left: 0;
	}

	.ohp-home-hero-photo img {
		object-position: 58% 42%;
	}
}

@media (max-width: 900px) {
	.ohp-home-hero,
	.ohp-vault-highlight,
	.ohp-vault-reflections,
	.ohp-vault-trust,
	.ohp-bespoke-sourcing {
		grid-template-columns: 1fr;
	}

	.ohp-home-hero-copy {
		min-height: auto;
		padding: 132px max(30px, calc((100vw - 720px) / 2)) 78px;
	}

	.ohp-home-hero-photo {
		min-height: min(74svh, 680px);
		border-top: 3px solid var(--ohp-v17-crimson);
		border-left: 0;
	}

	.ohp-hero-logo {
		width: min(100%, 280px);
	}

	.ohp-jade-bangle-motion {
		width: min(100%, 235px);
	}

	.ohp-vault-reflections,
	.ohp-vault-trust,
	.ohp-bespoke-sourcing {
		gap: 44px;
	}

	.ohp-bespoke-sourcing {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	body.admin-bar .ohp-site-header,
	body.admin-bar .ohp-site-header.is-scrolled {
		top: 46px;
	}
}

@media (max-width: 720px) {
	html {
		scroll-padding-top: 76px;
	}

	.ohp-site-header,
	.ohp-site-header.is-scrolled {
		top: 0;
		width: 100%;
		height: 70px;
		padding: 0 14px;
	}

	body.admin-bar .ohp-site-header,
	body.admin-bar .ohp-site-header.is-scrolled {
		top: 46px;
	}

	.ohp-header-brand,
	.ohp-header-brand picture,
	.ohp-site-header.is-scrolled .ohp-header-brand,
	.ohp-site-header.is-scrolled .ohp-header-brand picture {
		width: 90px;
		height: 64px;
	}

	.ohp-header-logo,
	.ohp-site-header.is-scrolled .ohp-header-logo {
		width: 82px;
		height: 62px;
	}

	.ohp-header-cta {
		display: none;
	}

	.ohp-mobile-menu {
		width: min(390px, 94vw);
		padding: 18px 20px 26px;
	}

	.ohp-mobile-links {
		margin-top: 22px;
	}

	.ohp-mobile-links a {
		font-size: 1.55rem;
	}

	.ohp-home-hero {
		min-height: 0;
	}

	.ohp-home-hero-copy {
		min-height: 720px;
		padding: 104px 24px 62px;
		background-size: auto, 42px 42px, 42px 42px, auto;
	}

	.ohp-home-hero-copy > .ohp-kicker {
		margin-bottom: 18px;
	}

	.ohp-hero-logo {
		width: min(100%, 224px);
	}

	.ohp-hero-signature {
		width: 100%;
		margin-bottom: 30px;
		grid-template-columns: minmax(0, 1.38fr) minmax(112px, 1fr);
		gap: 10px;
	}

	.ohp-jade-bangle-motion {
		width: min(100%, 160px);
		min-width: 0;
		margin-left: 0;
	}

	.ohp-home-hero h1 {
		font-size: clamp(3.45rem, 15.4vw, 5rem);
		line-height: 0.91;
	}

	.ohp-lead {
		font-size: 1.08rem;
	}

	.ohp-hero-proof {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ohp-hero-proof div {
		grid-template-columns: 42px 1fr;
		gap: 8px;
	}

	.ohp-home-hero-photo {
		min-height: 510px;
	}

	.ohp-vault-highlight-copy {
		padding: 72px 24px;
	}

	.ohp-editorial-quote {
		padding: 76px 22px;
	}

	.ohp-editorial-quote blockquote {
		font-size: clamp(2.25rem, 11vw, 3.4rem);
	}

	.ohp-editorial-quote p {
		align-items: center;
		flex-direction: column;
		gap: 2px;
	}

	.ohp-inner-hero {
		min-height: 470px;
		padding: 126px 24px 68px;
	}

	.ohp-inner-hero h1 {
		font-size: clamp(3.45rem, 16vw, 5.2rem);
	}

	.ohp-safeguards-grid article,
	.ohp-security-grid article {
		min-height: 222px;
	}

	.ohp-vault-reflections,
	.ohp-vault-trust,
	.ohp-bespoke-sourcing {
		padding-right: 24px;
		padding-left: 24px;
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ohp-vault-reflections h2,
	.ohp-vault-trust h2,
	.ohp-bespoke-sourcing h2 {
		font-size: clamp(3rem, 15vw, 4.7rem);
	}

	.ohp-vault-process li {
		border-color: rgba(255, 255, 255, 0.25);
	}

	.ohp-vault-process li span {
		margin-bottom: 0;
	}

	.ohp-vault-actions,
	.ohp-bespoke-sourcing {
		padding-top: 78px;
		padding-bottom: 78px;
	}

	.ohp-bespoke-brief {
		padding: 25px 21px;
	}

	.ohp-platform-main {
		padding-top: 70px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ohp-jade-bangle-motion,
	.ohp-jade-bangle-canvas,
	.ohp-jade-bangle-fallback {
		transition: none;
	}
}

@media (max-width: 430px) {
	.ohp-cart-link {
		display: none;
	}

	.ohp-home-hero-copy {
		min-height: 690px;
	}

	.ohp-home-hero h1 {
		font-size: clamp(3.25rem, 16vw, 4.35rem);
	}

	.ohp-bespoke-brief li {
		grid-template-columns: 34px 1fr;
	}
}
