/*
 * Home page v2 (experiment home_v2, variant b). Enqueued on the front page only
 * (functions.php). Everything is scoped to .home-v2 so the control variant,
 * the header and the footer keep the rules in style.css; the few shared bits
 * (header tagline span, footer accordions, Chatling delay) are scoped to
 * html.exp-home_v2-b.
 *
 * Tokens: the theme's design tokens live on .post-v2 only (style.css 20561),
 * so they are declared again here on .home-v2 with the same values, plus the
 * brand yellow and the two-layer shadow. Same family: Founders Grotesk,
 * #0042ff, #ffd600, black on white, the hand-drawn circle and arrow marks.
 *
 * Mobile first: base rules are the 375 px layout; min-width queries add room.
 * Motion: 150-300 ms, transform and opacity only, all inside
 * prefers-reduced-motion: no-preference.
 */

/*
 * Metric-matched fallbacks for Founders Grotesk (style.css loads it with font-display: swap,
 * which reflowed the whole hero when the OTF arrived: CLS 0.13-0.26 at 375 under 4x CPU throttle,
 * 0.0002 with fonts blocked). Widths are frequency-weighted a-z advances: Founders Regular
 * 0.397 em, Semibold 0.427 em; Arial 0.447 / 0.484 (Liberation Sans, metric-compatible);
 * Roboto 911 / 957 per 2048 (capsize). Overrides are the Founders typo metrics (630 / 370 / 200
 * per 1000) divided by the size-adjust. Scoped to the v2 page through the .home-v2 font stack.
 */
@font-face {
	font-family: "Founders Grotesk Fallback";
	src: local("Arial"), local("ArialMT");
	font-weight: 400 500;
	size-adjust: 88.88%;
	ascent-override: 70.88%;
	descent-override: 41.63%;
	line-gap-override: 22.5%;
}

@font-face {
	font-family: "Founders Grotesk Fallback";
	src: local("Arial Bold"), local("Arial-BoldMT");
	font-weight: 600 700;
	size-adjust: 88.18%;
	ascent-override: 71.45%;
	descent-override: 41.96%;
	line-gap-override: 22.68%;
}

@font-face {
	font-family: "Founders Grotesk Fallback Roboto";
	src: local("Roboto"), local("Roboto-Regular");
	font-weight: 400 500;
	size-adjust: 89.32%;
	ascent-override: 70.53%;
	descent-override: 41.42%;
	line-gap-override: 22.39%;
}

@font-face {
	font-family: "Founders Grotesk Fallback Roboto";
	src: local("Roboto Bold"), local("Roboto-Bold");
	font-weight: 600 700;
	size-adjust: 91.36%;
	ascent-override: 68.96%;
	descent-override: 40.5%;
	line-gap-override: 21.89%;
}

.home-v2 {
	--hv2-ink: #000000;
	--hv2-body: #292929;
	--hv2-meta: #5f5f5f;
	--hv2-rule: #e2e0dd;
	--hv2-accent: #0042ff;
	--hv2-accent-dark: #002ba5;
	--hv2-accent-soft: #eef3ff;
	--hv2-yellow: #ffd600;
	--hv2-ground: #f7f6f6;
	--hv2-white: #ffffff;
	--hv2-black: #000000;
	--hv2-green: #1e9e57;
	--hv2-focus: 0 0 0 3px var(--hv2-yellow);
	--hv2-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 18px 48px rgba(0, 0, 0, 0.1);
	--hv2-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.08);
	--hv2-radius: 12px;
	--hv2-radius-sm: 4px;
	--hv2-shell: 1280px;
	--hv2-gutter: clamp(16px, 5vw, 64px);
	--hv2-section: clamp(64px, 9vw, 120px);
	--hv2-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--hv2-t: 220ms;
	font-family: "Founders Grotesk", "Founders Grotesk Fallback", "Founders Grotesk Fallback Roboto", Arial, Roboto, sans-serif;
	color: var(--hv2-body);
	font-size: 18px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.home-v2 *,
.home-v2 *::before,
.home-v2 *::after {
	box-sizing: border-box;
}

.home-v2 h1,
.home-v2 h2,
.home-v2 h3,
.home-v2 p,
.home-v2 ul,
.home-v2 figure {
	margin: 0;
	padding: 0;
}

.home-v2 ul {
	list-style: none;
}

.home-v2 img,
.home-v2 video,
.home-v2 svg {
	display: block;
	max-width: 100%;
}

.home-v2 a {
	color: var(--hv2-accent);
	text-decoration: none;
}

.home-v2 a:visited {
	color: var(--hv2-accent);
}

.home-v2 a:hover,
.home-v2 a:active {
	color: var(--hv2-accent-dark);
	outline: 0;
}

.home-v2 button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;
	line-height: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

/* One focus recipe for everything: yellow ring, 2 px offset, keyboard only. */
.home-v2 a:focus,
.home-v2 button:focus,
.home-v2 [tabindex]:focus {
	outline: 0;
}

.home-v2 a:focus-visible,
.home-v2 button:focus-visible,
.home-v2 [tabindex]:focus-visible {
	outline: 3px solid var(--hv2-yellow);
	outline-offset: 2px;
	border-radius: var(--hv2-radius-sm);
}

.home-v2 .hv2-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---- Layout primitives ---- */

.home-v2 .hv2-shell {
	width: 100%;
	max-width: var(--hv2-shell);
	margin: 0 auto;
	padding: 0 var(--hv2-gutter);
}

.home-v2 .hv2-section {
	padding-top: var(--hv2-section);
}

.home-v2 .hv2-eyebrow {
	display: inline-block;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.2px;
	color: var(--hv2-white);
	background: var(--hv2-accent);
	padding: 7px 10px 5px;
	border-radius: 3px;
	margin-bottom: 16px;
}

.home-v2 .hv2-h2 {
	font-size: clamp(30px, 2.4vw + 20px, 46px);
	line-height: 1.02;
	letter-spacing: -0.03em;
	font-weight: 600;
	color: var(--hv2-ink);
	max-width: 13.5em; /* 22ch of Founders Grotesk Semibold; em so the fallback face wraps alike */
}

.home-v2 .hv2-mark {
	position: relative;
	display: inline-block;
	white-space: nowrap;
	z-index: 0;
}

/* The hand-drawn circle mark from the current page (assets/icons/home/features-circle.png). */
.home-v2 .hv2-mark::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: -6%;
	top: -16%;
	width: 110%;
	height: 132%;
	background: url("../assets/icons/home/features-circle.png") no-repeat center / 100% 100%;
	pointer-events: none;
}

/* ---- Buttons ---- */

/* The Google auth CTA: the family's white card with the blue inner button, as a real button. */
.home-v2 .hv2-cta {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 480px;
	background: var(--hv2-white);
	padding: 5px;
	border-radius: var(--hv2-radius-sm);
	box-shadow: 0 1px 3px rgba(188, 188, 188, 0.55);
	text-align: left;
	color: var(--hv2-white);
	transition: transform 150ms var(--hv2-ease), box-shadow 150ms var(--hv2-ease);
}

.home-v2 .hv2-cta .hv2-cta__g {
	flex: none;
	width: 30px;
	height: 30px;
	margin: 0 15px;
}

.home-v2 .hv2-cta .hv2-cta__label {
	flex: 1 1 auto;
	display: block;
	background: var(--hv2-accent);
	color: var(--hv2-white);
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
	letter-spacing: -0.2px;
	padding: 18px 22px 14px;
	border-radius: 2px;
	transition: background-color 150ms var(--hv2-ease);
}

.home-v2 .hv2-cta:hover .hv2-cta__label {
	background: var(--hv2-accent-dark);
}

.home-v2 .hv2-cta:active {
	transform: translateY(1px);
}

.home-v2 .hv2-cta:focus-visible {
	outline-offset: 3px;
}

/* Loading state while the auth popup opens: spinner replaces the G mark (JS toggles .is-loading, 3 s max). */
.home-v2 .hv2-cta .hv2-cta__spin {
	display: none;
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0 19px;
	border: 3px solid rgba(0, 66, 255, 0.2);
	border-top-color: var(--hv2-accent);
	border-radius: 50%;
}

.home-v2 .hv2-cta.is-loading .hv2-cta__g {
	display: none;
}

.home-v2 .hv2-cta.is-loading .hv2-cta__spin {
	display: block;
}

/* Small solid button (pause controls, secondary). */
.home-v2 .hv2-btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.72);
	color: var(--hv2-white);
	transition: background-color 150ms var(--hv2-ease), opacity var(--hv2-t) var(--hv2-ease);
}

.home-v2 .hv2-btn-icon:hover {
	background: rgba(0, 0, 0, 0.9);
}

.home-v2 .hv2-btn-icon:active {
	transform: scale(0.94);
}

.home-v2 .hv2-btn-icon svg {
	width: 18px;
	height: 18px;
}

.home-v2 .hv2-btn-icon .ic-play,
.home-v2 .hv2-btn-icon[aria-pressed="true"] .ic-pause {
	display: none;
}

.home-v2 .hv2-btn-icon[aria-pressed="true"] .ic-play {
	display: block;
}

/* ---- Chips ---- */

.home-v2 .hv2-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 6px 12px 5px;
	border-radius: 999px;
	background: var(--hv2-white);
	border: 1px solid var(--hv2-rule);
	color: var(--hv2-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.1px;
	white-space: nowrap;
}

.home-v2 .hv2-chip svg {
	width: 18px;
	height: 18px;
	flex: none;
}

/* ================================================================
   Region 1: hero
   ================================================================ */

.home-v2 .hv2-hero {
	background: var(--hv2-ground);
	width: 97%;
	margin: 0 auto;
	border-radius: 3px;
	padding: 28px 15px 32px;
}

.home-v2 .hv2-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	max-width: var(--hv2-shell);
	margin: 0 auto;
}

.home-v2 .hv2-hero__copy {
	display: contents;
}

.home-v2 .hv2-hero__title {
	order: 1;
	font-size: clamp(38px, 3.2vw + 26px, 64px);
	line-height: 1.0;
	letter-spacing: -0.03em;
	font-weight: 600;
	color: var(--hv2-ink);
	max-width: 7.35em; /* 12ch */
	text-wrap: balance;
}

.home-v2 .hv2-hero__sub {
	order: 2;
	font-size: clamp(18px, 0.6vw + 15px, 22px);
	line-height: 1.4;
	letter-spacing: -0.2px;
	color: var(--hv2-body);
	max-width: 17.65em; /* 30ch */
	margin-top: -2px;
}

.home-v2 .hv2-hero__media {
	order: 3;
}

.home-v2 .hv2-hero__actions {
	order: 4;
	display: grid;
	gap: 14px;
}

/* The proof strip: Google 4.7/5, guarantee (link), From $50. One row, wraps on narrow phones. */
.home-v2 .hv2-proof {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	font-size: 15px;
	font-weight: 500;
	color: var(--hv2-ink);
	letter-spacing: -0.1px;
}

.home-v2 .hv2-proof li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	line-height: 1.2;
}

.home-v2 .hv2-proof svg,
.home-v2 .hv2-proof img {
	width: 18px;
	height: 18px;
	flex: none;
}

.home-v2 .hv2-proof .hv2-stars {
	width: 82px;
	height: 15px;
}

.home-v2 .hv2-proof a {
	color: var(--hv2-ink);
	text-decoration: underline;
	text-decoration-color: rgba(0, 0, 0, 0.35);
	text-underline-offset: 3px;
}

.home-v2 .hv2-proof a:hover {
	color: var(--hv2-accent);
	text-decoration-color: currentColor;
}

/* The product loop */
.home-v2 .hv2-loop {
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
	border-radius: var(--hv2-radius);
	overflow: hidden;
	background: #e9e7e4;
	box-shadow: var(--hv2-shadow);
	isolation: isolate;
}

.home-v2 .hv2-loop__poster,
.home-v2 .hv2-loop__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-v2 .hv2-loop__video {
	opacity: 0;
	transition: opacity 300ms var(--hv2-ease);
}

.home-v2 .hv2-loop.is-playing .hv2-loop__video {
	opacity: 1;
}

.home-v2 .hv2-loop__pause {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	opacity: 0;
}

.home-v2 .hv2-loop:hover .hv2-loop__pause,
.home-v2 .hv2-loop.is-touched .hv2-loop__pause,
.home-v2 .hv2-loop__pause:focus-visible,
.home-v2 .hv2-loop__pause[aria-pressed="true"] {
	opacity: 1;
}

/* ================================================================
   Region 2: the original
   ================================================================ */

.home-v2 .hv2-original {
	text-align: center;
}

.home-v2 .hv2-original__line {
	font-size: clamp(18px, 0.5vw + 16px, 21px);
	font-weight: 600;
	letter-spacing: -0.2px;
	color: var(--hv2-ink);
	line-height: 1.35;
	max-width: 20.8em; /* 34ch */
	margin: 0 auto;
	text-wrap: balance;
}

.home-v2 .hv2-original__line span {
	display: block;
	font-weight: 400;
	color: var(--hv2-meta);
}

.home-v2 .hv2-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 18px 26px;
	margin: 28px auto 0;
	max-width: 1000px;
}

.home-v2 .hv2-logos img {
	height: 34px;
	width: auto;
	opacity: 0.85;
}

/* ================================================================
   Region 3: the product, in pictures
   ================================================================ */

.home-v2 .hv2-steps {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	margin-top: 32px;
	counter-reset: hv2step;
	list-style: none;
	padding: 0;
	margin-left: 0;
	margin-right: 0;
}

.home-v2 .hv2-step {
	counter-increment: hv2step;
	background: var(--hv2-ground);
	border-radius: var(--hv2-radius);
	padding: 22px 18px 20px;
}

.home-v2 .hv2-step__frag {
	position: relative;
	min-height: 200px;
	margin-bottom: 18px;
}

.home-v2 .hv2-step__cap {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.3px;
	line-height: 1.25;
	color: var(--hv2-ink);
}

.home-v2 .hv2-step__cap::before {
	content: counter(hv2step);
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--hv2-accent);
	color: var(--hv2-white);
	font-size: 15px;
	font-weight: 600;
	transform: translateY(-4px);
}

/* Shared UI-fragment chrome: a white app card on the light ground. */
.home-v2 .hv2-ui {
	background: var(--hv2-white);
	border-radius: 10px;
	box-shadow: var(--hv2-shadow-sm);
	font-size: 14px;
	line-height: 1.3;
	color: var(--hv2-ink);
	overflow: hidden;
}

.home-v2 .hv2-ui__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--hv2-rule);
	font-weight: 600;
	font-size: 14px;
}

.home-v2 .hv2-ui__bar .hv2-ui__dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0042ff, #1379ff);
	color: var(--hv2-white);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	flex: none;
}

.home-v2 .hv2-ui__bar .hv2-ui__brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.home-v2 .hv2-ui__bar .hv2-ui__brand svg {
	width: 20px;
	height: 20px;
}

/* Fragment 1: the video picker */
.home-v2 .hv2-pick__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--hv2-rule);
	transition: background-color 150ms var(--hv2-ease);
}

.home-v2 .hv2-pick__row:last-child {
	border-bottom: 0;
}

.home-v2 .hv2-pick__row.is-on {
	background: var(--hv2-accent-soft);
}

.home-v2 .hv2-pick__thumb {
	position: relative;
	flex: none;
	width: 74px;
	height: 42px;
	border-radius: 6px;
	background: #e6e6e6 url("../assets/images/home-v2/pick/thumb-1.webp?v=1") center / cover no-repeat;
	overflow: hidden;
}

.home-v2 .hv2-pick__thumb.t2 {
	background-image: url("../assets/images/home-v2/pick/thumb-2.webp?v=1");
}

.home-v2 .hv2-pick__thumb.t3 {
	background-image: url("../assets/images/home-v2/pick/thumb-3.webp?v=1");
}

/* Duration pill, as on a YouTube thumbnail. */
.home-v2 .hv2-pick__thumb::after {
	content: "6:48";
	position: absolute;
	right: 4px;
	bottom: 4px;
	padding: 2px 4px 1px;
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.78);
	color: #fff;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.02em;
}

.home-v2 .hv2-pick__thumb.t2::after {
	content: "3:21";
}

.home-v2 .hv2-pick__thumb.t3::after {
	content: "9:05";
}

.home-v2 .hv2-pick__meta {
	flex: 1 1 auto;
	min-width: 0;
}

.home-v2 .hv2-pick__title {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.home-v2 .hv2-pick__sub {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	font-weight: 500;
	color: var(--hv2-meta);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.home-v2 .hv2-pick__check {
	flex: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid var(--hv2-rule);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.home-v2 .hv2-pick__row.is-on .hv2-pick__check {
	border-color: var(--hv2-accent);
	background: var(--hv2-accent);
}

.home-v2 .hv2-pick__check svg {
	width: 12px;
	height: 12px;
	opacity: 0;
}

.home-v2 .hv2-pick__row.is-on .hv2-pick__check svg {
	opacity: 1;
}

/* Fragment 2: similar channels with chips */
.home-v2 .hv2-aud {
	padding: 14px;
}

.home-v2 .hv2-aud__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hv2-meta);
	margin-bottom: 8px;
}

.home-v2 .hv2-aud__field {
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1.5px solid var(--hv2-accent);
	border-radius: 8px;
	padding: 10px 12px;
	box-shadow: 0 0 0 3px rgba(0, 66, 255, 0.12);
}

.home-v2 .hv2-aud__field .hv2-aud__typed {
	flex: 0 1 auto;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.home-v2 .hv2-aud__caret {
	display: inline-block;
	width: 2px;
	height: 18px;
	background: var(--hv2-ink);
	margin-left: -4px;
	margin-right: auto;
}

.home-v2 .hv2-aud__add {
	flex: none;
	background: var(--hv2-accent);
	color: var(--hv2-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 6px 10px 5px;
	border-radius: 5px;
}

.home-v2 .hv2-aud__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.home-v2 .hv2-aud__chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--hv2-ground);
	border: 1px solid var(--hv2-rule);
	border-radius: 999px;
	padding: 6px 10px 5px 6px;
	font-weight: 500;
	font-size: 13px;
}

.home-v2 .hv2-aud__chips .hv2-av {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	flex: none;
	background: linear-gradient(135deg, #0042ff, #1379ff);
	color: var(--hv2-white);
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
}

.home-v2 .hv2-aud__chips .hv2-av.a2 {
	background: linear-gradient(135deg, #ff8a5b, #ff3d77);
}

.home-v2 .hv2-aud__chips .hv2-av.a3 {
	background: linear-gradient(135deg, #2ed3a2, #12968f);
}

.home-v2 .hv2-aud__chips .hv2-x {
	width: 14px;
	height: 14px;
	color: var(--hv2-meta);
}

/* Fragment 3: the campaign report */
.home-v2 .hv2-rep {
	padding: 14px;
}

.home-v2 .hv2-rep__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-weight: 600;
}

.home-v2 .hv2-rep__live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #15703f;
	background: #e6f6ec;
	padding: 4px 8px 3px;
	border-radius: 999px;
}

.home-v2 .hv2-rep__live::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--hv2-green);
}

.home-v2 .hv2-rep__tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 12px;
}

.home-v2 .hv2-rep__tile {
	background: var(--hv2-ground);
	border-radius: 8px;
	padding: 10px 12px 8px;
}

.home-v2 .hv2-rep__tile span {
	display: block;
	font-size: 12px;
	color: var(--hv2-meta);
	font-weight: 500;
}

.home-v2 .hv2-rep__tile strong {
	display: block;
	font-size: 22px;
	line-height: 1.1;
	letter-spacing: -0.5px;
	color: var(--hv2-accent);
	margin-top: 2px;
}

.home-v2 .hv2-rep__chart {
	margin-top: 12px;
	width: 100%;
	height: auto;
	overflow: visible;
}

.home-v2 .hv2-rep__chart .hv2-line {
	stroke-dasharray: 400;
	stroke-dashoffset: 0;
}

.home-v2 .hv2-rep__axis {
	display: flex;
	justify-content: space-between;
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--hv2-rule);
	font-size: 11px;
	font-weight: 500;
	color: var(--hv2-meta);
	letter-spacing: 0.01em;
}

/* ---- Placements unit ---- */

.home-v2 .hv2-place {
	margin-top: 40px;
	background: var(--hv2-ground);
	border-radius: var(--hv2-radius);
	padding: 22px 18px 20px;
}

.home-v2 .hv2-place__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.home-v2 .hv2-place__title {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.3px;
	line-height: 1.25;
	color: var(--hv2-ink);
}

.home-v2 .hv2-place__pause {
	background: rgba(0, 0, 0, 0.08);
	color: var(--hv2-ink);
	width: 40px;
	height: 40px;
}

.home-v2 .hv2-place__pause:hover {
	background: rgba(0, 0, 0, 0.14);
}

.home-v2 .hv2-place__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.home-v2 .hv2-place__tab {
	min-height: 36px;
	padding: 6px 12px 5px;
	border-radius: 999px;
	border: 1px solid var(--hv2-rule);
	background: var(--hv2-white);
	color: var(--hv2-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	transition: background-color 150ms var(--hv2-ease), color 150ms var(--hv2-ease), border-color 150ms var(--hv2-ease);
}

.home-v2 .hv2-place__tab:hover {
	border-color: var(--hv2-ink);
}

.home-v2 .hv2-place__tab:active {
	transform: translateY(1px);
}

.home-v2 .hv2-place__tab[aria-selected="true"] {
	background: var(--hv2-ink);
	border-color: var(--hv2-ink);
	color: var(--hv2-white);
}

.home-v2 .hv2-place__stage {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: 10px;
	background: var(--hv2-white);
	box-shadow: var(--hv2-shadow-sm);
	overflow: hidden;
}

.home-v2 .hv2-place__frame {
	position: absolute;
	inset: 0;
	padding: 12px;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 260ms var(--hv2-ease), transform 260ms var(--hv2-ease);
	pointer-events: none;
}

.home-v2 .hv2-place__frame.is-on {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

/* YouTube mock pieces (spans, so every box is made block here) */
.home-v2 .hv2-ph,
.home-v2 .hv2-box,
.home-v2 .hv2-thumb,
.home-v2 .hv2-side,
.home-v2 .hv2-card,
.home-v2 .hv2-vid__bar {
	display: block;
}

.home-v2 .hv2-side .hv2-box {
	display: block;
}

.home-v2 .hv2-yt {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #0f0f0f;
	margin-bottom: 10px;
}

.home-v2 .hv2-yt .hv2-yt__logo {
	width: 26px;
	height: 18px;
}

.home-v2 .hv2-yt .hv2-yt__search {
	flex: 1 1 auto;
	max-width: 46%;
	height: 22px;
	border-radius: 999px;
	border: 1px solid var(--hv2-rule);
	margin-left: 8px;
}

.home-v2 .hv2-yt .hv2-yt__user {
	margin-left: auto;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #d9d7d3;
}

.home-v2 .hv2-ad {
	display: inline-block;
	background: var(--hv2-yellow);
	color: #1a1919;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	padding: 4px 6px 3px;
	border-radius: 3px;
}

.home-v2 .hv2-vid {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: #111;
	aspect-ratio: 16 / 9;
}

.home-v2 .hv2-vid img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-v2 .hv2-vid .hv2-vid__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: rgba(255, 255, 255, 0.3);
}

.home-v2 .hv2-vid .hv2-vid__bar::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 38%;
	background: var(--hv2-yellow);
}

.home-v2 .hv2-vid .hv2-vid__ad {
	position: absolute;
	left: 8px;
	bottom: 12px;
	display: flex;
	align-items: center;
	gap: 6px;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
}

.home-v2 .hv2-vid .hv2-vid__skip {
	position: absolute;
	right: 0;
	bottom: 10px;
	background: rgba(20, 20, 20, 0.85);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-right: 0;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 6px 10px;
}

.home-v2 .hv2-ph {
	height: 10px;
	border-radius: 4px;
	background: #ebe9e6;
	margin-top: 8px;
}

.home-v2 .hv2-ph.w60 {
	width: 60%;
}

.home-v2 .hv2-ph.w40 {
	width: 40%;
}

.home-v2 .hv2-ph.w80 {
	width: 80%;
}

/* In-stream frame: player + side column */
.home-v2 .hv2-fr-stream {
	display: grid;
	grid-template-columns: 2.3fr 1fr;
	gap: 14px;
}

.home-v2 .hv2-fr-stream .hv2-cmt {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.home-v2 .hv2-fr-stream .hv2-cmt .hv2-av {
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #e3e1de;
}

.home-v2 .hv2-fr-stream .hv2-cmt div {
	flex: 1 1 auto;
}

.home-v2 .hv2-fr-stream .hv2-cmt .hv2-ph {
	margin-top: 0;
	margin-bottom: 6px;
	height: 8px;
}

.home-v2 .hv2-fr-stream .hv2-side .hv2-box {
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	background: #ebe9e6;
	margin-bottom: 8px;
}

/* In-feed frame: three cards, the middle one the ad */
.home-v2 .hv2-fr-feed {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px 12px;
}

.home-v2 .hv2-fr-feed .hv2-card.is-dim {
	opacity: 0.6;
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	background: #ebe9e6;
	overflow: hidden;
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-thumb .hv2-ad {
	position: absolute;
	left: 6px;
	bottom: 6px;
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-meta {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-meta .hv2-av {
	flex: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #d9d7d3;
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-meta .hv2-av.is-you {
	background: linear-gradient(135deg, #0042ff, #1379ff);
}

.home-v2 .hv2-fr-feed .hv2-card .hv2-meta div {
	flex: 1 1 auto;
}

.home-v2 .hv2-fr-feed .hv2-ph {
	margin-top: 0;
	margin-bottom: 6px;
	height: 8px;
}

/* Shorts frame: a vertical card centred, dimmed neighbours */
.home-v2 .hv2-fr-shorts {
	display: flex;
	justify-content: center;
	gap: 12px;
	height: 100%;
}

.home-v2 .hv2-fr-shorts .hv2-short {
	position: relative;
	height: 100%;
	aspect-ratio: 9 / 16;
	border-radius: 10px;
	overflow: hidden;
	background: #111;
}

.home-v2 .hv2-fr-shorts .hv2-short.is-dim {
	opacity: 0.35;
	background: #cfcdc9;
}

.home-v2 .hv2-fr-shorts .hv2-short img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-v2 .hv2-fr-shorts .hv2-short .hv2-short__label {
	position: absolute;
	left: 8px;
	top: 8px;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 4px;
}

.home-v2 .hv2-fr-shorts .hv2-short .hv2-short__foot {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
}

.home-v2 .hv2-fr-shorts .hv2-short .hv2-short__foot .hv2-av {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0042ff, #1379ff);
}

.home-v2 .hv2-fr-shorts .hv2-short .hv2-short__cta {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 30px;
	background: var(--hv2-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	text-align: center;
	padding: 6px 4px 5px;
	border-radius: 6px;
}

/* Search frame */
.home-v2 .hv2-fr-search .hv2-srch {
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--hv2-rule);
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 12px;
	max-width: 70%;
}

.home-v2 .hv2-fr-search .hv2-srch svg {
	width: 14px;
	height: 14px;
	flex: none;
}

.home-v2 .hv2-fr-search .hv2-row {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 10px;
}

.home-v2 .hv2-fr-search .hv2-row .hv2-thumb {
	position: relative;
	flex: none;
	width: 34%;
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	background: #ebe9e6;
	overflow: hidden;
}

.home-v2 .hv2-fr-search .hv2-row .hv2-thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-v2 .hv2-fr-search .hv2-row.is-dim {
	opacity: 0.5;
}

.home-v2 .hv2-fr-search .hv2-row .hv2-txt {
	flex: 1 1 auto;
	font-size: 12px;
	font-weight: 600;
}

.home-v2 .hv2-fr-search .hv2-row .hv2-txt .hv2-ad {
	margin-right: 6px;
	vertical-align: 1px;
}

/* Phones: the stage is taller and every frame is one column, the ad object full width. */
@media (max-width: 639px) {
	.home-v2 .hv2-place__stage {
		aspect-ratio: 4 / 3;
	}

	.home-v2 .hv2-fr-stream {
		grid-template-columns: 1fr;
	}

	.home-v2 .hv2-fr-stream .hv2-side {
		display: none;
	}

	.home-v2 .hv2-fr-feed {
		grid-template-columns: 1fr 1fr;
	}

	.home-v2 .hv2-fr-feed .hv2-card:last-child {
		display: none;
	}

	.home-v2 .hv2-fr-shorts .hv2-short.is-dim {
		display: none;
	}
}

/* Reduced motion or JS off: the four frames as a static 2x2 grid */
.home-v2 .hv2-place.is-grid .hv2-place__stage {
	aspect-ratio: auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	background: none;
	box-shadow: none;
	overflow: visible;
}

.home-v2 .hv2-place.is-grid .hv2-place__frame {
	position: relative;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	background: var(--hv2-white);
	border-radius: 10px;
	box-shadow: var(--hv2-shadow-sm);
	min-height: 180px;
}

.home-v2 .hv2-place.is-grid .hv2-fr-shorts {
	height: 180px;
}

.home-v2 .hv2-place.is-grid .hv2-place__pause,
.home-v2 .hv2-place.is-grid .hv2-place__tabs {
	display: none;
}

/* ---- Explainer, play to watch ---- */

.home-v2 .hv2-explainer {
	margin-top: 40px;
}

.home-v2 .hv2-explainer__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--hv2-radius);
	overflow: hidden;
	background: #111;
	box-shadow: var(--hv2-shadow);
}

.home-v2 .hv2-explainer__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #000;
}

.home-v2 .hv2-explainer__play {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.35) 100%);
	color: #fff;
}

.home-v2 .hv2-explainer__play .hv2-glyph {
	position: relative;
	z-index: 1;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--hv2-white);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
	transition: transform 200ms var(--hv2-ease);
}

.home-v2 .hv2-explainer__play:hover .hv2-glyph {
	transform: scale(1.06);
}

.home-v2 .hv2-explainer__play:focus-visible {
	outline: 0;
}

.home-v2 .hv2-explainer__play:focus-visible .hv2-glyph {
	box-shadow: 0 0 0 3px var(--hv2-white), 0 0 0 6px var(--hv2-yellow), 0 8px 28px rgba(0, 0, 0, 0.35);
}

.home-v2 .hv2-explainer__play:active .hv2-glyph {
	transform: scale(0.98);
}

.home-v2 .hv2-explainer__play .hv2-glyph svg {
	width: 26px;
	height: 28px;
	margin-left: 4px;
}

.home-v2 .hv2-explainer__play .hv2-dur {
	position: absolute;
	right: 12px;
	bottom: 12px;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 5px 8px 4px;
	border-radius: 4px;
}

.home-v2 .hv2-explainer.is-playing .hv2-explainer__play {
	display: none;
}

.home-v2 .hv2-explainer__cap {
	margin-top: 14px;
	font-size: 17px;
	font-weight: 500;
	color: var(--hv2-body);
	text-align: center;
}

/* ================================================================
   Region 4: proof, then the CTA
   ================================================================ */

.home-v2 .hv2-reviews {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin-top: 32px;
}

.home-v2 .hv2-review {
	position: relative;
	background: var(--hv2-ground);
	border-radius: var(--hv2-radius);
	padding: 22px 20px 20px;
	transition: transform 200ms var(--hv2-ease), box-shadow 200ms var(--hv2-ease);
}

.home-v2 .hv2-review:hover {
	transform: translateY(-2px);
	box-shadow: var(--hv2-shadow-sm);
}

.home-v2 .hv2-review:active {
	transform: none;
}

.home-v2 .hv2-review__who {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.home-v2 .hv2-review__who img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	flex: none;
}

.home-v2 .hv2-review__name {
	display: block;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.2;
	color: var(--hv2-ink);
}

.home-v2 .hv2-review__role {
	display: block;
	font-size: 14px;
	color: var(--hv2-meta);
	margin-top: 2px;
}

.home-v2 .hv2-review__stars {
	margin-left: auto;
	width: 82px;
	height: 15px;
	flex: none;
}

.home-v2 .hv2-review__quote {
	font-size: 19px;
	line-height: 1.35;
	letter-spacing: -0.2px;
	color: var(--hv2-ink);
	font-weight: 500;
}

/* The whole card is the link to the review page (::after covers the card). */
.home-v2 .hv2-review__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--hv2-radius);
}

.home-v2 .hv2-review__link:focus-visible {
	outline: 0;
}

.home-v2 .hv2-review:has(.hv2-review__link:focus-visible) {
	outline: 3px solid var(--hv2-yellow);
	outline-offset: 2px;
}

.home-v2 .hv2-stories {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 32px;
}

.home-v2 .hv2-story {
	display: block;
	color: var(--hv2-ink);
}

.home-v2 .hv2-story .hv2-story__img {
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #ebe9e6;
	transition: transform 200ms var(--hv2-ease);
}

.home-v2 .hv2-story:hover .hv2-story__img {
	transform: translateY(-2px);
}

.home-v2 .hv2-story:active .hv2-story__img {
	transform: none;
}

.home-v2 .hv2-story img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-v2 .hv2-story span {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.home-v2 .hv2-disclaimer {
	margin-top: 20px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--hv2-meta);
}

.home-v2 .hv2-proof-cta {
	margin-top: 28px;
	display: grid;
	gap: 14px;
}

/* ================================================================
   Region 5: why Sprizzy
   ================================================================ */

.home-v2 .hv2-tiles {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	margin-top: 32px;
}

.home-v2 .hv2-tile {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	background: var(--hv2-ground);
	border-radius: var(--hv2-radius);
	padding: 18px 18px;
}

.home-v2 .hv2-tile svg {
	width: 56px;
	height: 56px;
}

.home-v2 .hv2-tile strong {
	display: block;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.3px;
	line-height: 1.2;
	color: var(--hv2-ink);
}

.home-v2 .hv2-tile span {
	display: block;
	font-size: 15px;
	color: var(--hv2-meta);
	margin-top: 3px;
}

/* ================================================================
   Region 6: made for
   ================================================================ */

.home-v2 .hv2-madefor-sec {
	padding-top: calc(var(--hv2-section) * 0.6);
}

.home-v2 .hv2-madefor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.home-v2 .hv2-madefor a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 16px 9px;
	border-radius: 999px;
	border: 1.5px solid var(--hv2-ink);
	color: var(--hv2-ink);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.1px;
	transition: background-color 150ms var(--hv2-ease), color 150ms var(--hv2-ease), transform 150ms var(--hv2-ease);
}

.home-v2 .hv2-madefor a:hover {
	background: var(--hv2-ink);
	color: var(--hv2-white);
}

.home-v2 .hv2-madefor a:active {
	transform: translateY(1px);
}

.home-v2 .hv2-madefor a svg {
	width: 16px;
	height: 16px;
	flex: none;
}

.home-v2 .hv2-madefor__label {
	font-size: 15px;
	font-weight: 600;
	color: var(--hv2-meta);
	margin-right: 4px;
}

/* ================================================================
   Region 7: questions (accordion)
   ================================================================ */

.home-v2 .hv2-faq {
	margin-top: 32px;
	border-top: 1px solid var(--hv2-rule);
	max-width: 780px;
}

.home-v2 .hv2-faq__item {
	border-bottom: 1px solid var(--hv2-rule);
}

.home-v2 .hv2-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	text-align: left;
	padding: 18px 0;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.3px;
	line-height: 1.25;
	color: var(--hv2-ink);
}

.home-v2 .hv2-faq__q:hover {
	color: var(--hv2-accent);
}

.home-v2 .hv2-faq__q:focus-visible {
	outline-offset: -3px;
}

.home-v2 .hv2-faq__q:hover .hv2-faq__ic {
	background: var(--hv2-accent-soft);
}

.home-v2 .hv2-faq__q .hv2-faq__ic {
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--hv2-ground);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 200ms var(--hv2-ease), background-color 150ms var(--hv2-ease);
}

.home-v2 .hv2-faq__q .hv2-faq__ic svg {
	width: 12px;
	height: 12px;
}

.home-v2 .hv2-faq__q[aria-expanded="true"] .hv2-faq__ic {
	transform: rotate(45deg);
	background: var(--hv2-yellow);
}

.home-v2 .hv2-faq__a {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 200ms var(--hv2-ease);
}

.home-v2 .hv2-faq__a > div {
	overflow: hidden;
}

.home-v2 .hv2-faq__a.is-open {
	grid-template-rows: 1fr;
}

.home-v2 .hv2-faq__a p {
	padding-bottom: 20px;
	font-size: 17px;
	line-height: 1.5;
	color: var(--hv2-body);
	max-width: 36.5em; /* 62ch */
}

.home-v2 .hv2-faq__a p a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* The demoted comparison table inside the Google Ads FAQ item */
.home-v2 .hv2-cmp {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 24px;
	font-size: 15px;
}

.home-v2 .hv2-cmp th,
.home-v2 .hv2-cmp td {
	text-align: left;
	padding: 10px 8px 8px 0;
	border-bottom: 1px solid var(--hv2-rule);
	vertical-align: middle;
	color: var(--hv2-body);
}

.home-v2 .hv2-cmp th {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--hv2-meta);
	white-space: nowrap;
}

.home-v2 .hv2-cmp th:not(:first-child),
.home-v2 .hv2-cmp td:not(:first-child) {
	text-align: center;
	width: 88px;
	padding-right: 0;
}

.home-v2 .hv2-cmp svg {
	width: 20px;
	height: 20px;
	margin: 0 auto;
}

/* ================================================================
   Region 8: final CTA (the family's black band)
   ================================================================ */

.home-v2 .hv2-final {
	margin-top: var(--hv2-section);
	background: var(--hv2-black);
	color: var(--hv2-white);
	padding: 64px 0 72px;
	position: relative;
	overflow: hidden;
}

.home-v2 .hv2-final .hv2-shell {
	position: relative;
}

.home-v2 .hv2-final__title {
	font-size: clamp(30px, 2.4vw + 20px, 46px);
	line-height: 1.02;
	letter-spacing: -0.03em;
	font-weight: 600;
	color: var(--hv2-white);
	max-width: 9.8em; /* 16ch */
	text-wrap: balance;
}

.home-v2 .hv2-final .hv2-cta {
	margin-top: 28px;
}

.home-v2 .hv2-final .hv2-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.home-v2 .hv2-final .hv2-chip {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.22);
	color: var(--hv2-white);
}

.home-v2 .hv2-final .hv2-chip a {
	color: var(--hv2-white);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-underline-offset: 3px;
}

.home-v2 .hv2-final .hv2-chip a:hover {
	text-decoration-color: currentColor;
}

/* ================================================================
   Tablet and desktop
   ================================================================ */

@media (min-width: 640px) {
	.home-v2 .hv2-hero {
		padding: 40px 32px 44px;
	}

	.home-v2 .hv2-reviews {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-v2 .hv2-stories {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-v2 .hv2-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-v2 .hv2-rep__tiles {
		grid-template-columns: repeat(3, 1fr);
	}

	.home-v2 .hv2-place.is-grid .hv2-place__stage {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 900px) {
	.home-v2 .hv2-hero {
		padding: clamp(48px, 6vw, 96px) clamp(32px, 4vw, 64px);
	}

	.home-v2 .hv2-hero__grid {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		grid-template-rows: auto auto;
		column-gap: clamp(32px, 4vw, 64px);
		row-gap: 0;
		align-items: center;
	}

	.home-v2 .hv2-hero__copy {
		display: grid;
		gap: 22px;
		align-content: end;
		align-self: end;
		grid-column: 1;
		grid-row: 1;
		padding-bottom: 14px;
	}

	.home-v2 .hv2-hero__media {
		order: 0;
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
	}

	.home-v2 .hv2-hero__actions {
		gap: 16px;
		grid-column: 1;
		grid-row: 2;
		align-self: start;
		padding-top: 14px;
	}

	.home-v2 .hv2-loop {
		max-width: 760px;
		margin-left: auto;
	}

	.home-v2 .hv2-logos img {
		height: 44px;
	}

	.home-v2 .hv2-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	.home-v2 .hv2-step {
		padding: 24px 22px 22px;
	}

	.home-v2 .hv2-place {
		padding: 32px 32px 32px;
		display: grid;
		grid-template-columns: minmax(220px, 0.6fr) minmax(0, 1.4fr);
		column-gap: 40px;
		align-items: center;
	}

	.home-v2 .hv2-place__head {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		margin-bottom: 20px;
	}

	.home-v2 .hv2-place__title {
		font-size: 26px;
		letter-spacing: -0.5px;
	}

	.home-v2 .hv2-place__tabs {
		grid-column: 1;
		grid-row: 2;
		flex-direction: column;
		align-items: flex-start;
		align-self: start;
		gap: 10px;
		margin-bottom: 0;
	}

	.home-v2 .hv2-place__tab {
		font-size: 17px;
		padding: 9px 18px 8px;
		min-height: 44px;
	}

	.home-v2 .hv2-place__stage {
		grid-column: 2;
		grid-row: 1 / span 2;
		aspect-ratio: 16 / 9.6;
	}

	.home-v2 .hv2-place__frame {
		padding: 20px;
	}

	.home-v2 .hv2-place.is-grid {
		display: block;
	}

	.home-v2 .hv2-explainer__frame,
	.home-v2 .hv2-faq {
		max-width: 900px;
	}

	.home-v2 .hv2-explainer__frame {
		margin: 0 auto;
	}

	/* The success strip on desktop: a draggable, paused strip, no auto-scroll. */
	.home-v2 .hv2-stories {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
		scrollbar-width: none;
		cursor: grab;
	}

	.home-v2 .hv2-stories::-webkit-scrollbar {
		display: none;
	}

	.home-v2 .hv2-stories.is-dragging {
		cursor: grabbing;
		scroll-snap-type: none;
	}

	.home-v2 .hv2-story {
		flex: 0 0 calc((100% - 48px) / 4);
		scroll-snap-align: start;
	}

	.home-v2 .hv2-proof-cta {
		grid-template-columns: auto auto;
		align-items: center;
		justify-content: start;
		gap: 24px;
	}

	.home-v2 .hv2-tiles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
	}

	.home-v2 .hv2-tile {
		grid-template-columns: 1fr;
		gap: 16px;
		align-items: start;
		padding: 24px 22px 22px;
	}

	.home-v2 .hv2-tile svg {
		width: 64px;
		height: 64px;
	}

	.home-v2 .hv2-final {
		padding: 88px 0 96px;
	}

	.home-v2 .hv2-final__row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 48px;
	}

	.home-v2 .hv2-final .hv2-cta {
		margin-top: 0;
		min-width: 440px;
	}
}

@media (min-width: 1200px) {
	.home-v2 .hv2-hero__grid {
		grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	}
}

/* ================================================================
   Shared pieces scoped to the assigned variant (header, footer, chat)
   ================================================================ */

/* The header's h1 is a span in variant b (the hero headline is the h1 there). */
.site-header .site-branding .site-tagline {
	font-size: 12px;
	position: absolute;
	font-weight: 500;
	left: 52%;
	white-space: nowrap;
	transform: translateX(-50%);
	bottom: -20px;
	margin: 0;
	font-family: "Founders Grotesk", sans-serif;
	color: #000;
}

/* Footer menus as two accordions on phones (JS injects the buttons; this is the collapsed state). */
@media (max-width: 767px) {
	html.exp-home_v2-b .site-footer .hv2-fmenu {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		text-align: left;
		background: none;
		border: 0;
		border-top: 1px solid #e2e0dd;
		padding: 14px 0;
		font-family: "Founders Grotesk", sans-serif;
		font-size: 17px;
		font-weight: 600;
		color: #000;
		cursor: pointer;
	}

	html.exp-home_v2-b .site-footer .hv2-fmenu:focus-visible {
		outline: 3px solid #ffd600;
		outline-offset: 2px;
	}

	html.exp-home_v2-b .site-footer .hv2-fmenu::after {
		content: "+";
		font-size: 22px;
		line-height: 1;
		font-weight: 400;
	}

	html.exp-home_v2-b .site-footer .hv2-fmenu[aria-expanded="true"]::after {
		content: "\2013";
	}

	html.exp-home_v2-b .site-footer .hv2-fmenu + .hv2-fpanel[hidden] {
		display: none;
	}
}

/* ================================================================
   Reduced motion
   ================================================================ */

@media (prefers-reduced-motion: reduce) {
	.home-v2 *,
	.home-v2 *::before,
	.home-v2 *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.home-v2 .hv2-loop__video,
	.home-v2 .hv2-loop__pause {
		display: none;
	}

	.home-v2 .hv2-cta .hv2-cta__spin {
		animation: none;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.home-v2 .hv2-cta .hv2-cta__spin {
		animation: hv2spin 800ms linear infinite;
	}

	.home-v2 .hv2-rep__chart .hv2-line {
		stroke-dashoffset: 400;
		transition: stroke-dashoffset 1200ms var(--hv2-ease);
	}

	.home-v2 .hv2-rep__chart.is-in .hv2-line {
		stroke-dashoffset: 0;
	}

	.home-v2 .hv2-aud__caret {
		animation: hv2blink 1s steps(2, start) infinite;
	}

	.home-v2 .hv2-rep__live::before {
		animation: hv2pulse 2s ease-in-out infinite;
	}
}

@keyframes hv2pulse {
	50% {
		opacity: 0.35;
	}
}

@keyframes hv2spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes hv2blink {
	to {
		visibility: hidden;
	}
}
