.vv-brand-homepage {
	--vv-space-1: .5rem;
	--vv-space-2: .75rem;
	--vv-space-3: 1rem;
	--vv-space-4: 1.5rem;
	--vv-space-5: 2rem;
	--vv-page-gutter: clamp(1rem, 4vw, 3rem);
	--vv-content-max: 76rem;
	--vv-wide-content-max: 92rem;
	--vv-radius: .5rem;
	--vv-radius-control: .25rem;
	--vv-control-height: 44px;
	--vv-section-space: clamp(2.25rem, 6vw, 4.5rem);
	--vv-rhythm-tight: clamp(1rem, 2vw, 1.5rem);
	--vv-rhythm-related: clamp(1.5rem, 3vw, 2.25rem);
	--vv-rhythm-transition: clamp(2.25rem, 4vw, 3.5rem);
	--vv-rhythm-opening: clamp(2.75rem, 5vw, 4.5rem);
	--vv-card-gap: clamp(.875rem, 2vw, 1.25rem);
	--vv-font-display: inherit;
	--vv-font-ui: inherit;
	--vv-type-hero: clamp(2rem, 1.7rem + 1.5vw, 2.875rem);
	--vv-type-section: clamp(1.375rem, 1.2rem + .75vw, 1.8125rem);
	--vv-type-subsection: clamp(1.0625rem, 1rem + .35vw, 1.3125rem);
	--vv-type-card-title: clamp(.875rem, .85rem + .1vw, 1rem);
	--vv-type-body: clamp(.875rem, .84rem + .16vw, 1rem);
	--vv-type-cta: clamp(.78125rem, .76rem + .1vw, .875rem);
	--vv-type-meta: clamp(.71875rem, .7rem + .08vw, .8125rem);
	--vv-type-price: clamp(.875rem, .85rem + .1vw, 1rem);
	--vv-leading-heading: 1.15;
	--vv-leading-body: 1.55;
	--vv-leading-compact: 1.35;
	--vv-color-page: #fff;
	--vv-color-surface: #fff;
	--vv-color-text: #111;
	--vv-color-text-secondary: #4a4a46;
	--vv-color-meta: #66645f;
	--vv-color-border: #d8d8d4;
	--vv-color-primary-action: #c84a18;
	--vv-color-primary-action-hover: #a93a10;
	--vv-color-primary-action-text: #fff;
	--vv-color-secondary-border: #aaa9a4;
	--vv-color-accent-gold: #e8b923;
	--vv-color-authority: #111;
	--vv-ink: var(--vv-color-text);
	--vv-surface: var(--vv-color-page);
	--vv-accent: var(--vv-color-primary-action);
	--vv-action-text: var(--vv-color-primary-action-text);
	--vv-focus: #1b6cff;
	color: var(--vv-color-text);
	background: var(--vv-color-page);
	font-family: var(--vv-font-ui);
}

.vv-brand-homepage-body { margin: 0; }

.vv-brand-homepage *,
.vv-brand-homepage *::before,
.vv-brand-homepage *::after { box-sizing: border-box; }
.vv-brand-homepage img { display: block; max-width: 100%; height: auto; }
.vv-brand-homepage a { color: inherit; }
.vv-brand-homepage :focus-visible { outline: 3px solid var(--vv-focus); outline-offset: 3px; }
.vv-home-section { width: 100%; max-width: none; margin: 0; padding: var(--vv-section-space) var(--vv-page-gutter); }
.vv-home-section__inner { width: 100%; max-width: var(--vv-content-max); margin-inline: auto; }
.vv-home-section__inner--wide { max-width: var(--vv-wide-content-max); }
.vv-home-section > :not(.vv-home-section__inner):not(.vv-campaign-banners) { max-width: var(--vv-content-max); margin-inline: auto; }
.vv-home-section h2 { margin-block: 0 var(--vv-space-3); color: var(--vv-color-text); font-family: var(--vv-font-ui); font-size: var(--vv-type-section); font-weight: 500; line-height: var(--vv-leading-heading); }
.vv-home-section p { color: var(--vv-color-text-secondary); font-size: var(--vv-type-body); font-weight: 400; line-height: var(--vv-leading-body); }
.vv-structural-placeholder { min-height: 6rem; padding: var(--vv-space-4); border: 1px dashed var(--vv-color-border); border-radius: var(--vv-radius); color: var(--vv-color-meta); }
.vv-action { display: inline-flex; min-height: var(--vv-control-height); align-items: center; justify-content: center; padding: .55rem .9rem; border-radius: var(--vv-radius-control); font-size: var(--vv-type-cta); font-weight: 600; line-height: var(--vv-leading-compact); text-decoration: none; }
.vv-action--primary { border: 1px solid var(--vv-color-primary-action); color: var(--vv-color-primary-action-text); background: var(--vv-color-primary-action); }
.vv-action--primary:hover { border-color: var(--vv-color-primary-action-hover); color: var(--vv-color-primary-action-text); background: var(--vv-color-primary-action-hover); }
.vv-action--primary:focus-visible { color: var(--vv-color-primary-action-text); background: var(--vv-color-primary-action); }
.vv-action--primary:active { border-color: var(--vv-color-text); color: var(--vv-color-primary-action-text); background: var(--vv-color-text); transform: translateY(1px); }
