/*
 * Havlo consumer experience completion law.
 *
 * Historical pages may direct their own scenes. This final shared layer owns
 * the things a visitor must never have to rediscover: readable first paint,
 * one sans type system, deliberate contrast, a compact company entrance, and
 * continuous section rhythm at desktop and mobile sizes.
 */

:root {
	--hve-font: 'Instrument Sans', 'Inter', system-ui, sans-serif;
	--hve-weight-copy: 400;
	--hve-weight-heading: 600;
	--hve-weight-action: 700;
	--hve-size-label: .8rem;
	--hve-size-support: .875rem;
	--hve-dark-copy: rgba(255, 250, 242, .82);
	--hve-dark-support: rgba(255, 250, 242, .72);
	--hve-light-copy: rgba(16, 35, 63, .76);
	--hve-light-support: rgba(16, 35, 63, .66);
	--hve-light-label: #743c28;
	--hve-focus: #9f4c20;
	--hve-disabled-bg: #d8d1c8;
	--hve-disabled-copy: #465467;
	--hve-error-bg: #fff3f1;
	--hve-error-copy: #8a2025;
}

.hv-consumer-document,
.hv-consumer-document button,
.hv-consumer-document input,
.hv-consumer-document select,
.hv-consumer-document textarea {
	font-family: var(--hve-font) !important;
}

.hv-consumer-document :where(h1, h2, h3, h4, h5, h6, blockquote) {
	font-family: var(--hve-font) !important;
	font-weight: var(--hve-weight-heading) !important;
}

.hv-consumer-document :where(button, [role='button'], nav a) {
	font-weight: var(--hve-weight-action) !important;
}

.hv-consumer-document :where(p, li, dd) {
	font-weight: var(--hve-weight-copy);
	text-wrap: pretty;
}
.hv-consumer-document :where(h1, h2, h3, h4) { text-wrap: balance; }
.hv-consumer-document :where(strong, b) { font-weight: var(--hve-weight-heading) !important; }
.hv-consumer-document :where(label, dt) { font-weight: var(--hve-weight-action) !important; }
.hv-consumer-document :where(small) { font-weight: var(--hve-weight-copy) !important; }

/* One measurable interaction grammar. Focus remains visible on paper and dark
   scenes; disabled and error states keep readable words instead of relying on
   opacity or color alone. */
.hv-consumer-document :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: .18rem solid var(--hve-focus) !important;
	outline-offset: .2rem !important;
}
.hv-consumer-document :where(button, [role='button'], input, select, textarea) { min-height: 2.75rem; }
.hv-consumer-document :where(.hp-public__hero, .hvx-opening, .hv-page-recovery, .hv-contact-modal__story, .hr-recovery__copy) :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline-color: #efb28d !important;
}
.hv-consumer-document :where(button, input, select, textarea):disabled,
.hv-consumer-document :where([aria-disabled='true']) {
	color: var(--hve-disabled-copy) !important;
	background-color: var(--hve-disabled-bg) !important;
	opacity: 1 !important;
	cursor: not-allowed;
}
.hv-consumer-document :where([role='alert'], .hv-error, .error-message, [data-error-state]) {
	color: var(--hve-error-copy);
	background-color: var(--hve-error-bg);
}
.hv-consumer-document :where(input, textarea)::placeholder { color: #5a6777; opacity: 1; }

/* Images reserve their scene before bytes arrive. Remote property photographs
   use the scene's declared aspect ratio; fixed brand/editorial assets also
   carry intrinsic dimensions in markup. */
.hv-consumer-document img[data-hv-image='hero'],
.hv-consumer-document img[data-hv-image='collection'] {
	display: block;
	max-width: 100%;
	background: #e8e0d5;
}
.hv-consumer-document img[data-hv-image='collection'] { aspect-ratio: 4 / 3; object-fit: cover; }

/* Text is part of the first frame. Motion may never own its visibility. */
html.js:not([data-public-chrome='ready']) .hv-context-header,
html.js:not([data-public-chrome='ready']) .hv-context-brand__words {
	transform: none !important;
	opacity: 1 !important;
}
html.js:not([data-public-chrome='ready']) .hv-context-brand__aperture .hp-header-brand__mark { clip-path: inset(0) !important; }
.hv-consumer-document > main > .stage { animation: none !important; }
.hvx-opening h1 { animation: none !important; opacity: 1 !important; }

/* One compact, unmistakable company entrance. */
.hv-context-header[data-public-header='marketing'] > .hv-public-header__inner {
	min-height: 4.25rem;
	padding-block: .55rem !important;
}
.hv-context-header[data-public-header='marketing'] {
	color: #10233f !important;
	background: rgba(252, 248, 242, .96) !important;
	border-bottom-color: rgba(16, 35, 63, .12) !important;
}
html.dark .hv-context-header[data-public-header='marketing'] {
	color: #10233f !important;
	background: rgba(252, 248, 242, .96) !important;
	border-bottom-color: rgba(16, 35, 63, .12) !important;
}
.hv-context-header[data-public-header='marketing'] .hp-header-brand {
	display: flex;
	flex: 0 0 auto;
	gap: .72rem;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	min-width: 17rem;
}
.hv-context-header[data-public-header='marketing'] .hp-header-brand__mark { width: 2rem; height: 2rem; }
.hv-context-header[data-public-header='marketing'] .hv-context-brand__words {
	display: flex;
	gap: .65rem;
	align-items: baseline;
}
.hv-context-header[data-public-header='marketing'] .hp-header-brand__name {
	color: #10233f !important;
	font-size: 1rem;
	font-weight: var(--hve-weight-action) !important;
	line-height: 1;
}
.hv-context-header[data-public-header='marketing'] .hp-header-brand__line {
	max-width: none;
	color: rgba(16, 35, 63, .68) !important;
	font-size: var(--hve-size-label);
	font-weight: var(--hve-weight-heading) !important;
	letter-spacing: .08em;
	line-height: 1.2;
	white-space: nowrap;
}
.hv-context-header[data-public-header='marketing'] nav[aria-label='Main navigation'] a { font-size: var(--hve-size-support); }

/* A genuinely empty public page gets one calm recovery doorway. Errors inside
   an otherwise usable scene stay quiet and are handled by the scene that owns
   them; they never become a floating global alarm. */
.hv-page-recovery {
	display: grid;
	align-content: center;
	min-height: calc(100svh - 4.25rem);
	padding: clamp(3rem, 8vw, 7rem);
	color: #fffaf2;
	background:
		radial-gradient(circle at 78% 18%, rgba(196, 106, 45, .22), transparent 28rem),
		#071525;
}
.hv-page-recovery > p:first-child {
	margin: 0 0 1rem;
	color: #e9aa7c;
	font-size: var(--hve-size-label);
	font-weight: var(--hve-weight-action);
	letter-spacing: .16em;
	text-transform: uppercase;
}
.hv-page-recovery h1 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(2.8rem, 7vw, 6.5rem);
	letter-spacing: -.055em;
	line-height: .96;
}
.hv-page-recovery > p:not(:first-child) {
	max-width: 34rem;
	margin: 1.5rem 0 0;
	color: var(--hve-dark-copy);
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.6;
}
.hv-page-recovery > div {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 2rem;
}
.hv-page-recovery :where(button, a) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: .8rem 1rem;
	border: 0;
	color: #071525;
	background: #fffaf2;
	font: var(--hve-weight-action) var(--hve-size-support)/1 var(--hve-font);
	text-decoration: none;
	cursor: pointer;
}
.hv-page-recovery a { color: #fffaf2; background: transparent; }
.hv-page-recovery :where(button, a):focus-visible { outline: .18rem solid #e9aa7c; outline-offset: .2rem; }

/* Opening scenes keep one hierarchy and remain readable over every photograph. */
.hvx-opening__image::after {
	background:
		linear-gradient(90deg, rgba(7, 21, 37, .94) 0%, rgba(7, 21, 37, .74) 43%, rgba(7, 21, 37, .16) 76%),
		linear-gradient(180deg, rgba(7, 21, 37, .04), rgba(7, 21, 37, .26));
}
.hvx-opening__copy > p,
.hvx :where(.hvx-paths, .hvx-buyer, .hvx-seller, .hvx-owner, .hvx-resident, .hvx-agent, .hvx-investor, .hvx-company, .hvx-method, .hvx-impact, .hvx-faq) > :where(header, div, section, aside, footer) > p {
	font-size: var(--hve-size-label);
	font-weight: var(--hve-weight-action);
}
.hvx-opening h1 {
	color: #fffaf2 !important;
	font-weight: var(--hve-weight-heading) !important;
}
.hvx-opening__copy > span { color: var(--hve-dark-copy); font-size: clamp(1rem, 1.25vw, 1.16rem); }
.hvx-opening__action > :where(a, button) { font-size: var(--hve-size-support); font-weight: var(--hve-weight-action) !important; }
.hvx-opening__action small { max-width: 25rem; color: var(--hve-dark-support); font-size: var(--hve-size-support); }

/* Permanent public editorial system: one premium language, distinct stories. */
.hv-editorial-page { overflow: clip; background: #f4f0e8; color: #10261f; }
.hv-editorial-hero { min-height: calc(100svh - 4.25rem); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(28rem, .95fr); background: #10261f; color: #fff; }
.hv-editorial-hero figure { min-width: 0; margin: 0; overflow: hidden; }
.hv-editorial-hero figure img { width: 100%; height: 100%; min-height: 42rem; object-fit: cover; filter: saturate(.78) contrast(.96); }
.hv-editorial-hero__copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(3rem, 7vw, 7.5rem); }
.hv-editorial-kicker { margin: 0 0 1rem; color: #b7d7c3; font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hv-editorial-hero h1 { max-width: 12ch; margin: 0; font-family: var(--hve-font-display); font-size: clamp(3.2rem, 6vw, 7rem); font-weight: 500; line-height: .92; letter-spacing: -.055em; text-wrap: balance; }
.hv-editorial-hero__copy > p:not(.hv-editorial-kicker) { max-width: 39rem; margin: 1.5rem 0 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.65; }
.hv-editorial-hero .hp-ask-shell { width: 100%; max-width: 42rem; margin-top: 2rem; background: #fff; color: #10261f; }
.hv-editorial-section { padding: clamp(5rem, 10vw, 10rem) max(1rem, calc((100vw - 84rem)/2)); }
.hv-editorial-section > header { max-width: 54rem; margin-bottom: 4rem; }
.hv-editorial-section h2 { margin: 0; font-family: var(--hve-font-display); font-size: clamp(2.5rem, 5vw, 5.5rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.hv-editorial-section header > p:last-child { max-width: 42rem; font-size: 1.08rem; line-height: 1.7; }
.hv-editorial-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(16,38,31,.2); }
.hv-editorial-steps li { display: grid; grid-template-columns: 5rem 1fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid rgba(16,38,31,.2); }
.hv-editorial-steps li > span,.hv-editorial-steps small { color: #537064; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hv-editorial-steps h3 { margin: .35rem 0; font-size: clamp(1.5rem, 3vw, 2.7rem); font-weight: 500; }
.hv-editorial-steps p { max-width: 48rem; margin: 0; line-height: 1.65; }
.hv-editorial-section--evidence { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(18rem,.6fr); gap: clamp(3rem,8vw,8rem); background: #dce5dd; }
.hv-editorial-section--evidence aside { align-self: end; padding: 2rem; border: 1px solid rgba(16,38,31,.22); }
.hv-editorial-section--evidence aside p { line-height: 1.6; }.hv-editorial-section--evidence a { color: inherit; font-weight: 700; }
.hv-editorial-continuation,.hv-editorial-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: rgba(16,38,31,.16); }
.hv-editorial-continuation a,.hv-editorial-principles article { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem,3vw,3rem); background: #f4f0e8; color: inherit; text-decoration: none; }
.hv-editorial-continuation small,.hv-editorial-principles small { color: #537064; font-weight: 700; }.hv-editorial-continuation strong { margin: .65rem 0; font-size: 1.35rem; }.hv-editorial-continuation span { line-height: 1.55; }
.hv-public-header__intent { border: 1px solid currentColor; border-radius: 999px; padding: .65rem 1rem !important; }
@media (max-width: 760px) {
  .hv-editorial-hero { min-height: auto; grid-template-columns: 1fr; }
  .hv-editorial-hero figure { height: 38svh; min-height: 18rem; }
  .hv-editorial-hero figure img { min-height: 0; }
  .hv-editorial-hero__copy { min-width: 0; padding: 2.5rem 1rem 3rem; }
  .hv-editorial-hero h1 { max-width: 100%; font-size: clamp(2.8rem, 13vw, 4.25rem); overflow-wrap: anywhere; }
  .hv-editorial-hero .hp-ask-shell { margin-top: 1.5rem; }
  .hv-editorial-section { padding: 4.5rem 1rem; }
  .hv-editorial-section--evidence { grid-template-columns: 1fr; }
  .hv-editorial-steps li { grid-template-columns: 2.5rem minmax(0,1fr); gap: .75rem; }
  .hv-editorial-continuation,.hv-editorial-principles { grid-template-columns: 1fr; }
}

/* The first fold is a complete invitation. The next scene begins after it. */
@media (min-width: 721px) {
	.hvx-opening,
	.hvx-opening__copy { min-height: calc(100svh - 4.25rem); }
	.hvx-opening__copy { padding-block: clamp(4rem, 8vh, 6.5rem); }
}

/* A small role system replaces interpolated near-duplicate weights. */
.hvx :where(h1, h2, h3, blockquote) { font-weight: var(--hve-weight-heading) !important; }
.hvx :where(strong) { font-weight: var(--hve-weight-heading); }
.hvx :where(button, nav a, .hvx-resident__official, .hvx-licensed-handoff a) { font-weight: var(--hve-weight-action) !important; }
.hvx :where(small) { font-size: var(--hve-size-support); }
.hvx :where(.hvx-paths header > span, .hvx-method__opening > span, .hvx-impact__opening > span, .hvx-buyer__place article > span, .hvx-owner__question > span, .hvx-investor > header > span, .hvx-faq > header > span) { color: var(--hve-light-copy); }
.hvx :where(.hvx-company > header > span, .hvx-company__accountability small, .hvx-method__preparation, .hvx-method > footer small, .hvx-impact footer small, .hvx-agent > blockquote small) { color: var(--hve-dark-copy); }

/* Six front doors should scan like a directory, not six empty posters. */
.hvx-paths { padding-bottom: clamp(4rem, 6vw, 6rem); }
.hvx-paths > header { padding: clamp(3.5rem, 6vw, 6rem) 0 clamp(2.5rem, 4vw, 4rem); }
.hvx-paths nav > a { min-height: clamp(13.5rem, 16vw, 16.5rem); padding: clamp(1.35rem, 2.2vw, 2rem); }
.hvx-paths nav strong { font-size: clamp(2.25rem, 3.3vw, 3.65rem); line-height: .98; }
.hvx-paths nav a > span:not([aria-hidden]) {
	max-width: 19rem;
	font-size: .95rem;
	font-weight: var(--hve-weight-copy);
	line-height: 1.45;
}

/* Every active room already owns its next step. The footer is the company record, not a second closing pitch. */
.hv-context-footer__decision { display: none; }

/* Dark editorial rooms explicitly own light type; global historical heading color may not leak in. */
.hvx-seller :where(h2, h3),
.hvx-agent :where(h2, h3),
.hvx-company :where(h2, h3),
.hvx-method__preparation :where(h2, h3),
.hvx-impact__ambition :where(h2, h3),
.hvx-licensed-handoff--owner :where(h2, h3),
.hvx-licensed-handoff--investor :where(h2, h3) { color: #fffaf2 !important; }
.hvx-owner__today :where(h2, h3, h4),
.hvx-owner__intake :where(h2, h3, h4),
.hvx-resident__account :where(h2, h3, h4),
.hvx-company__trajectory :where(h2, h3, h4),
.hvx-company__future :where(h2, h3, h4),
.hvx-method__operation :where(h2, h3, h4),
.hvx-impact__planned :where(h2, h3, h4),
.hvx-impact__focus > header h3 { color: #fffaf2 !important; }
.hvx-impact__focus-answer h4 { color: #10233f !important; }
.hvx-seller :where(.hvx-seller__opening, .hvx-seller__chapter) > :where(h2, h3),
.hvx-seller__chapter h3 { color: #fffaf2 !important; }
.hvx-licensed-handoff--seller h3 { color: #071525 !important; }
.hvx-seller :where(.hvx-seller__opening, .hvx-seller__chapter) p { color: #efb28d; }
.hvx-licensed-handoff--seller p { color: #7b3f29; }
.hvx-method > footer p { color: #f0bd93; }
.hvx-licensed-handoff--buyer p,
.hvx-owner__question > p,
.hvx-owner__orbit article > span,
.hvx-investor > header > p,
.hvx-investor__stress article > p { color: #743c28 !important; }
.hvx-company > header > p,
.hvx-company__origin > p,
.hvx-method__preparation p { color: #f0bd93 !important; }
.hvx-home-shelf > header p,
.hvx-home-shelf__empty > p,
.hvx-home-shelf__grid article p,
.hvx-buyer__brief dt,
.hvx-buyer__readiness li span,
.hvx-resident__service > header > p,
.hvx-guidance > header > p,
.hc-premium-listings__collection header p { color: var(--hve-light-label) !important; }
.hc-resident-handoff__boundary { color: #536171 !important; }
.hp-editorial__ask .hp-ask-fallback__chips a {
	color: #4c2a1d !important;
	background: rgba(179, 95, 44, .1) !important;
}

/* Governance speaks the same visual language as the public, platform, and impact stories. */
.hv-governance-story { background: #f7f0e7; }
.hv-governance-story .hv-governance-story__hero {
	min-height: calc(100svh - 4.25rem);
	align-content: center;
	padding: clamp(5rem, 9vw, 8rem) max(clamp(1.5rem, 6vw, 7rem), calc((100vw - 90rem) / 2)) !important;
	color: #fffaf2;
	background: #071525 !important;
}
.hv-governance-story .hp-public__receipt-status {
	padding: 0 0 .75rem;
	border: 0;
	border-bottom: 1px solid rgba(255, 250, 242, .25);
	border-radius: 0;
	background: transparent;
	font-size: var(--hve-size-label);
}
.hv-governance-story .hp-public__receipt-status { color: #7b3f29; }
.hv-governance-story__hero .hp-public__receipt-status,
.hv-governance-story__closing .hp-public__receipt-status { color: #efb28d; }
.hv-governance-story__hero .hp-public__eyebrow {
	margin-top: 1.5rem;
	color: rgba(255, 250, 242, .68);
	font-size: var(--hve-size-label);
	font-weight: var(--hve-weight-action);
}
.hv-governance-story__hero h1 {
	max-width: 14ch;
	font-size: clamp(3.4rem, 6.2vw, 6.5rem);
	font-weight: var(--hve-weight-heading) !important;
	letter-spacing: -.06em;
	line-height: .94;
	text-wrap: balance;
}
.hv-governance-story__hero .hp-public__receipt-lede {
	max-width: 48rem;
	color: var(--hve-dark-copy);
	font-size: clamp(1rem, 1.3vw, 1.16rem);
	line-height: 1.65;
}
.hv-governance-story .hp-public__button {
	min-height: 3.4rem;
	padding: .9rem 1.1rem;
	border-radius: 0;
	font-size: var(--hve-size-support);
	font-weight: var(--hve-weight-action) !important;
}
.hv-governance-story__hero .hp-public__button--primary { color: #071525; background: #fffaf2; }
.hv-governance-story__hero .hp-public__button:not(.hp-public__button--primary),
.hv-governance-story__closing .hp-public__button:not(.hp-public__button--primary) {
	color: #fffaf2;
	border-color: rgba(255, 250, 242, .5);
	background: transparent;
}
.hv-governance-story__closing {
	background: #10233f !important;
	border-radius: 0 !important;
}
.hv-governance-story__closing a:not(.hp-public__button) {
	color: #fffaf2;
	text-decoration-color: rgba(255, 250, 242, .58);
	text-underline-offset: .18em;
}
.hv-governance-story__closing a:not(.hp-public__button):hover,
.hv-governance-story__closing a:not(.hp-public__button):focus-visible {
	color: #efb28d;
	text-decoration-color: currentColor;
}
[data-compose-surface='sitemap'] .he-guide__opening { grid-template-columns: minmax(0, 1fr); }
[data-compose-surface='sitemap'] .he-guide__copy { max-width: 58rem; }

/* A direct guided-intake arrival is composed before it moves. */
.hv-contact-modal:not([hidden]) {
	opacity: 1;
	pointer-events: auto;
}
.hv-contact-modal__backdrop {
	background: rgba(7, 19, 32, .88);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}
.hv-contact-modal__panel {
	width: min(52rem, 100%);
	max-height: min(92dvh, 54rem);
	border: 1px solid rgba(255, 250, 242, .26);
	border-radius: 1rem;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .68), transparent 42%),
		#fcf8f2;
	box-shadow: 0 2.5rem 7rem rgba(2, 12, 24, .48);
	transform: translateY(.65rem);
}
.hv-contact-modal.is-visible .hv-contact-modal__panel { transform: translateY(0); }
.hv-contact-modal__header {
	position: sticky;
	top: 0;
	z-index: 5;
	align-items: center;
	padding: clamp(1.15rem, 2.5vw, 1.75rem) clamp(1.15rem, 3vw, 2rem);
	background: rgba(252, 248, 242, .96);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}
.hv-contact-modal__eyebrow { margin-bottom: .35rem; color: #7b3f29; font-size: .72rem; letter-spacing: .14em; }
.hv-contact-modal__header h2 {
	max-width: 20ch;
	font-size: clamp(1.8rem, 3.2vw, 3rem);
	font-weight: var(--hve-weight-heading) !important;
	letter-spacing: -.045em;
	line-height: 1;
}
.hv-contact-modal__story {
	background:
		linear-gradient(145deg, rgba(182, 94, 38, .16), transparent 48%),
		#071525;
}
.hv-contact-modal__close {
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid rgba(16, 35, 63, .18);
	border-radius: 50%;
	font-size: 1.65rem;
	font-weight: var(--hve-weight-copy) !important;
	line-height: 1;
}
.hv-contact-modal__body { padding: clamp(1.15rem, 3vw, 2rem); }
.hv-contact-modal__intro { margin-bottom: 1.25rem; color: var(--hve-light-copy); line-height: 1.55; }
.hv-contact-modal__progress {
	gap: 0;
	margin-bottom: 1.5rem;
	padding: 0;
	border: 1px solid rgba(16, 35, 63, .12);
	background: rgba(255, 255, 255, .42);
}
.hv-contact-modal__progress span {
	position: relative;
	min-width: 0;
	min-height: 3.25rem;
	padding: .65rem .8rem;
	color: #637083;
	font-size: .72rem;
	letter-spacing: .08em;
}
.hv-contact-modal__progress span + span { border-left: 1px solid rgba(16, 35, 63, .12); }
.hv-contact-modal__progress i {
	width: 1.65rem;
	height: 1.65rem;
	border-radius: 50%;
	background: rgba(16, 35, 63, .08);
}
.hv-contact-modal__progress span[aria-current='step'] { color: #10233f; background: #fffaf2; }
.hv-contact-modal__progress span[aria-current='step'] i { color: #fffaf2; background: #10233f; }
.hv-contact-modal__property {
	padding: clamp(1rem, 2.2vw, 1.35rem);
	border-radius: .75rem;
	background: rgba(255, 255, 255, .5);
}
.hv-contact-modal__form input,
.hv-contact-modal__form select,
.hv-contact-modal__form textarea {
	min-height: 3.2rem;
	border-radius: .45rem;
	background: rgba(255, 255, 255, .78);
}
.hv-contact-modal__form textarea { min-height: 7rem; }
.hv-contact-modal__form button,
.hv-contact-modal__success button {
	border-radius: .45rem;
	letter-spacing: .06em;
}
.hv-contact-modal__boundary { border-left-width: .18rem; background: rgba(196, 106, 45, .08); }
.hv-contact-modal__success { min-height: 22rem; align-content: center; }

/* The listing entrance is a working life brief, with the journey kept as quiet orientation. */
.hc-premium-listings .hv-renter-thread {
	margin-bottom: 0;
	background: #fcf8f2;
}
.hc-premium-listings .hv-renter-thread > a,
.hc-premium-listings .hv-renter-thread > span {
	min-height: 3.75rem;
	align-content: center;
	padding-block: .7rem;
}
.hc-premium-listings .hv-renter-thread small { display: none; }
.hc-premium-listings__opening {
	display: grid;
	grid-template-columns: minmax(18rem, .78fr) minmax(30rem, 1.22fr);
	grid-template-rows: auto auto auto auto;
	column-gap: clamp(3rem, 7vw, 8rem);
	row-gap: .75rem;
	min-height: 0;
	align-items: end;
	padding: clamp(3.25rem, 5vw, 5rem) max(clamp(1.25rem, 7vw, 8rem), calc((100vw - 92rem) / 2));
}
.hc-premium-listings__opening > p { grid-column: 1; grid-row: 1; margin-bottom: 0; }
.hc-premium-listings__opening h1 {
	grid-column: 1;
	grid-row: 2;
	max-width: 11ch;
	font-size: clamp(3rem, 4.8vw, 5.4rem);
}
.hc-premium-listings__opening > span {
	grid-column: 1;
	grid-row: 3 / span 2;
	margin-top: .5rem;
}
.hc-premium-listings__opening form {
	grid-column: 2;
	grid-row: 1 / span 2;
	width: 100%;
	margin-top: 0;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid rgba(255, 250, 242, .2);
	border-radius: 1rem;
	background: rgba(7, 21, 37, .34);
}
.hc-premium-listings__filter-toggle { grid-column: 2; grid-row: 3; justify-self: start; }
.hc-premium-listings__filters { grid-column: 2; grid-row: 4; }

@media (max-width: 880px) {
	.hc-premium-listings__opening {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: .8rem;
		padding-block: 2.75rem;
	}
	.hc-premium-listings__opening > :where(p, h1, span, form, .hc-premium-listings__filter-toggle, .hc-premium-listings__filters) {
		grid-column: 1;
		grid-row: auto;
	}
	.hc-premium-listings__opening form { margin-top: 1.25rem; }
}

/* Every renter can see the whole four-step thread without a hidden horizontal corridor. */
@media (max-width: 430px) {
	.hv-renter-thread,
	.hc-premium-listings .hv-renter-thread {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: visible;
	}
	.hv-renter-thread > a,
	.hv-renter-thread > span {
		min-width: 0;
		padding: .85rem .65rem .9rem 0;
	}
	.hv-renter-thread > :not(:first-child) { padding-left: .65rem; }
	.hv-renter-thread strong { font-size: .8rem; }
	.hv-renter-thread small { font-size: .7rem; }

	.hc-premium-listings .hv-renter-thread {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-bottom: 0;
	}
	.hc-premium-listings .hv-renter-thread > a,
	.hc-premium-listings .hv-renter-thread > span {
		display: grid;
		min-height: 4rem;
		align-content: center;
		gap: .2rem;
		padding: .55rem .4rem;
		border-top: 0;
	}
	.hc-premium-listings .hv-renter-thread > :not(:first-child) {
		padding-left: .4rem;
		border-left: 1px solid rgba(16, 38, 63, .12);
	}
	.hc-premium-listings__opening {
		min-height: 0;
		padding: 2.25rem 1rem 2rem;
	}
	.hc-premium-listings__opening > p { margin-bottom: .8rem; }
	.hc-premium-listings__opening h1 {
		max-width: 11ch;
		font-size: clamp(2.6rem, 12vw, 3.25rem);
	}
	.hc-premium-listings__opening > span {
		margin-top: 1rem;
		font-size: .95rem;
		line-height: 1.5;
	}
	.hc-premium-listings__opening form { margin-top: 1.5rem; }
}

/* The question is one useful conversation, not another full-screen room. */
.hvx-guidance {
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(3.5rem, 6vw, 6rem);
	border-top: 1px solid var(--hvx-line);
}
.hvx-guidance h2 { max-width: 14ch; font-size: clamp(2.4rem, 4vw, 4rem); }
.hvx-guidance form label,
.hvx-guidance form > small { color: var(--hve-light-support); font-size: var(--hve-size-support); }

/* Closing the page should feel like one decisive handoff, not a new microsite. */
.hv-context-footer__decision { padding-block: clamp(3rem, 5vw, 5rem); }
.hv-context-footer__decision h2 { max-width: 18ch; font-size: clamp(2.5rem, 4.8vw, 5rem); line-height: .96; }
.hv-shell-footer__record { padding-top: 2.5rem; }

@media (max-width: 720px) {
	.hv-context-header[data-public-header='marketing'] > .hv-public-header__inner { min-height: 3.75rem; }
	.hv-context-header[data-public-header='marketing'] .hp-header-brand { min-width: 0; }
	.hv-context-header[data-public-header='marketing'] .hp-header-brand__mark { width: 1.8rem; height: 1.8rem; }
	.hv-context-header[data-public-header='marketing'] .hv-context-brand__words { display: block; }
	.hv-context-header[data-public-header='marketing'] .hp-header-brand__name { display: block !important; color: #10233f !important; font-size: .95rem; }
	.hv-context-header[data-public-header='marketing'] .hp-header-brand__line { display: none; }

	.hvx-opening__image::after {
		background:
			linear-gradient(180deg, rgba(7, 21, 37, .28) 0%, rgba(7, 21, 37, .68) 42%, rgba(7, 21, 37, .96) 100%),
			linear-gradient(90deg, rgba(7, 21, 37, .55), rgba(7, 21, 37, .12));
	}
	.hvx-opening,
	.hvx-opening__copy { min-height: calc(100svh - 3.75rem); }
	.hvx-opening__copy { width: 100%; justify-content: flex-end; padding: 4.5rem 1rem 3rem; }
	.hvx-opening h1 { max-width: 100%; font-size: clamp(2.75rem, 11vw, 3.5rem); line-height: .94; letter-spacing: -.055em; text-wrap: balance; }
	.hvx-opening__copy > span { max-width: 34rem; margin-top: 1rem; line-height: 1.55; }
	.hvx-opening__action { gap: .8rem; margin-top: 1.35rem; }
	.hvx-opening__action small { color: var(--hve-dark-copy); }

	.hvx-paths { padding: 3.5rem 1rem; }
	.hvx-paths > header { gap: 1rem; padding-bottom: 2.25rem; }
	.hvx-paths h2 { font-size: clamp(2.45rem, 10vw, 3.4rem); }
	.hvx-paths > nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hvx-paths nav > a { min-height: 11.25rem; padding: 1rem; }
	.hvx-paths nav strong { font-size: clamp(1.7rem, 7.4vw, 2.25rem); }
	.hvx-paths nav a > span:not([aria-hidden]) { margin-top: .6rem; font-size: .84rem; font-weight: var(--hve-weight-copy); line-height: 1.38; }
	.hvx-continuation { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem 1rem; }
	.hvx-continuation p { grid-column: 1 / -1; }

	.hvx-guidance { gap: 1.5rem; padding: 3.5rem 1rem; }
	.hvx-guidance h2 { max-width: 13ch; font-size: clamp(2.25rem, 9.5vw, 3rem); }
	.hvx-guidance form > div { grid-template-columns: 1fr; }
	.hvx-guidance form button { width: 100%; }

	.hv-context-footer__decision { gap: 2rem; padding-block: 3rem; }
	.hv-context-footer__decision h2 { max-width: 15ch; font-size: clamp(2.35rem, 10vw, 3.25rem); }
	.hv-shell-footer__record .hv-shell-footer__company { grid-template-columns: 1fr 1fr; }

	.hv-governance-story .hv-governance-story__hero {
		min-height: calc(100svh - 3.75rem);
		padding: 4rem 1.5rem 3rem !important;
	}
	.hv-governance-story__hero h1 { max-width: 100%; font-size: clamp(2.75rem, 11vw, 3.5rem); line-height: .94; }
	.hv-governance-story__hero .hp-public__receipt-lede { font-size: 1rem; line-height: 1.55; }
	.hv-governance-story__hero .hp-public__receipt-actions { display: grid; grid-template-columns: 1fr; gap: .75rem; }
	.hv-governance-story__closing { padding: 3rem 1.25rem !important; }

	.hv-contact-modal { padding: 0; }
	.hv-contact-modal__panel,
	.hv-contact-modal[data-contact-workflow='showing'] .hv-contact-modal__panel {
		height: 100dvh;
		max-height: 100dvh;
		border: 0;
		border-radius: 0;
	}
	.hv-contact-modal__header { min-height: 4.25rem; padding: .9rem 1rem; }
	.hv-contact-modal__header h2 { max-width: 15ch; font-size: clamp(1.55rem, 7vw, 2.15rem); }
	.hv-contact-modal__eyebrow { font-size: .66rem; }
	.hv-contact-modal__body { padding: 1rem; }
	.hv-contact-modal__progress span { min-height: 3.65rem; padding: .55rem; font-size: .64rem; }
	.hv-contact-modal__progress em { max-width: 8ch; line-height: 1.15; }
	.hv-contact-modal__step-actions { position: sticky; bottom: 0; padding-top: .75rem; background: #fcf8f2; }
}

@media (max-width: 360px) {
	.hvx-paths > nav { grid-template-columns: 1fr; }
	.hvx-paths nav > a { min-height: 10rem; }
}

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