/* ClickToVendor — Tailwind v4 site stylesheet.
 * Single source of truth for design tokens + custom CSS.
 *
 * Brand: deep architectural navy + a warm construction-orange accent.
 * Type:  Bricolage Grotesque (display) + Instrument Sans (body).
 * Fonts are loaded via <link> in template-parts/head.php.
 */

:root {
	/* ── Brand ─────────────────────────────────────────────── */
	--color-navy: #00296C;
	--color-navy-50:  #F4F5F8;
	--color-navy-100: #E1E6EE;
	--color-navy-200: #C0CADB;
	--color-navy-300: #97A8C3;
	--color-navy-400: #647DA5;
	--color-navy-500: #284A83;
	--color-navy-600: #183D7A;
	--color-navy-700: #173C79;
	--color-navy-800: #0A3172;
	--color-navy-900: #001E50;

	--color-orange: #FE7D05;
	--color-orange-50:  #FFF7EF;
	--color-orange-100: #FFE8D2;
	--color-orange-400: #FE9330;
	--color-orange-500: #FE7D05;
	--color-orange-600: #C05E04;
	--color-orange-700: #984B03;

	--color-amber: #FDAC01;
	--color-sky: #018FF7;

	/* ── Surfaces & ink ────────────────────────────────────── */
	--color-canvas: #F6F7FA;
	--color-paper: #FFFFFF;
	--color-ink: #00296C;
	--color-muted: #5B6572;
	--color-faint: #8A94A3;
	--color-line: #E3E8EE;
	--color-line-dark: #22457F;

	/* ── Type ──────────────────────────────────────────────── */
	--font-display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;
	--font-sans: "Instrument Sans", -apple-system, "Segoe UI", sans-serif;
	--font-mono: ui-monospace, "SF Mono", Menlo, monospace;

	--text-xs:   0.75rem;
	--text-sm:   0.8125rem;
	--text-base: 0.9375rem;
	--text-lg:   1.0625rem;
	--text-xl:   1.25rem;
	--text-2xl:  1.5rem;
	--text-3xl:  1.875rem;
	--text-4xl:  2.375rem;
	--text-5xl:  3rem;
	--text-6xl:  3.75rem;

	--radius-card: 14px;
	--radius-pill: 999px;
}

@layer base {
	html {
		scroll-behavior: smooth;
		-webkit-text-size-adjust: 100%;
	}

	body {
		font-family: var(--font-sans);
		font-size: var(--text-base);
		line-height: 1.65;
		color: var(--color-ink);
		background: var(--color-canvas);
		-webkit-font-smoothing: antialiased;
	}

	h1, h2, h3, h4 {
		font-family: var(--font-display);
		font-weight: 600;
		letter-spacing: -0.02em;
		line-height: 1.15;
		color: var(--color-navy);
		margin: 0;
	}

	a { color: inherit; text-decoration: none; }

	::selection {
		background: var(--color-orange);
		color: #fff;
	}

	:focus-visible {
		outline: 2px solid var(--color-orange);
		outline-offset: 2px;
		border-radius: 4px;
	}

	input, select, textarea, button {
		font-family: inherit;
		font-size: inherit;
	}
}

@layer components {

	/* ── Layout ────────────────────────────────────────────── */
	.wrap {
		width: 100%;
		max-width: 1160px;
		margin: 0 auto;
		padding-left: 24px;
		padding-right: 24px;
	}

	.section {
		padding-top: 84px;
		padding-bottom: 84px;
	}

	@media (max-width: 768px) {
		.section { padding-top: 56px; padding-bottom: 56px; }
	}

	/* ── Small type accents ────────────────────────────────── */
	.eyebrow {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.13em;
		text-transform: uppercase;
		color: var(--color-orange-600);
	}

	.eyebrow::before {
		content: "";
		width: 22px;
		height: 2px;
		background: var(--color-orange);
		border-radius: 2px;
	}

	.eyebrow-light { color: var(--color-amber); }
	.eyebrow-light::before { background: var(--color-amber); }

	.pill {
		display: inline-block;
		padding: 4px 12px;
		border-radius: var(--radius-pill);
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.04em;
		background: var(--color-orange-50);
		color: var(--color-orange-700);
	}

	/* ── Buttons ───────────────────────────────────────────── */
	.btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		border: 0;
		cursor: pointer;
		font-family: var(--font-sans);
		font-weight: 600;
		font-size: 15px;
		line-height: 1;
		padding: 14px 24px;
		border-radius: 10px;
		transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
	}

	.btn-primary {
		background: var(--color-orange);
		color: #fff;
		box-shadow: 0 6px 18px -6px rgba(245, 130, 31, .65);
	}

	.btn-primary:hover {
		background: var(--color-orange-600);
		transform: translateY(-1px);
		box-shadow: 0 10px 26px -8px rgba(245, 130, 31, .75);
	}

	.btn-navy {
		background: var(--color-navy);
		color: #fff;
	}

	.btn-navy:hover {
		background: var(--color-navy-700);
		transform: translateY(-1px);
	}

	.btn-outline {
		background: transparent;
		color: var(--color-navy);
		box-shadow: inset 0 0 0 1.5px var(--color-line);
	}

	.btn-outline:hover {
		box-shadow: inset 0 0 0 1.5px var(--color-navy);
	}

	.btn-outline-light {
		background: transparent;
		color: #fff;
		box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.28);
	}

	.btn-outline-light:hover {
		background: rgba(255,255,255,.08);
		box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5);
	}

	.btn-block { width: 100%; }

	/* ── Cards ─────────────────────────────────────────────── */
	.card {
		background: var(--color-paper);
		border: 1px solid var(--color-line);
		border-radius: var(--radius-card);
		transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	}

	.card-hover:hover {
		transform: translateY(-3px);
		border-color: var(--color-orange-100);
		box-shadow: 0 18px 40px -22px rgba(15, 42, 77, .38);
	}

	/* ── Section heads ─────────────────────────────────────── */
	.section-head {
		max-width: 620px;
		margin: 0 auto 46px;
		text-align: center;
	}

	.section-head h2 {
		font-size: clamp(1.75rem, 3.2vw, 2.375rem);
		margin-top: 14px;
	}

	.section-head p {
		margin-top: 14px;
		color: var(--color-muted);
		font-size: 15px;
	}

	/* ── Forms ─────────────────────────────────────────────── */
	.field-label {
		display: block;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .01em;
		color: var(--color-muted);
		margin-bottom: 6px;
	}

	.field {
		width: 100%;
		padding: 12px 14px;
		border: 1px solid var(--color-line);
		border-radius: 10px;
		background: #FAFBFC;
		color: var(--color-ink);
		font-size: 14.5px;
		transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
	}

	.field::placeholder { color: #A9B2BF; }

	.field:focus {
		outline: none;
		background: #fff;
		border-color: var(--color-orange);
		box-shadow: 0 0 0 3px rgba(245, 130, 31, .14);
	}

	select.field {
		appearance: none;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B6572' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 12px center;
		padding-right: 34px;
	}

	textarea.field { resize: vertical; min-height: 96px; }

	.field-error {
		border-color: #DC2626;
		box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
	}

	/* ── Blueprint texture for dark bands ──────────────────── */
	.blueprint {
		position: relative;
		background-color: var(--color-navy);
		background-image:
			linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
			linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
		background-size: 56px 56px;
	}

	.blueprint-glow::after {
		content: "";
		position: absolute;
		inset: 0;
		pointer-events: none;
		background:
			radial-gradient(60% 70% at 85% 10%, rgba(245,130,31,.20), transparent 60%),
			radial-gradient(50% 60% at 0% 100%, rgba(30,136,229,.16), transparent 60%);
	}

	/* ── Prose (blog + legal pages) ────────────────────────── */
	.prose { color: #3B4552; font-size: 16.5px; line-height: 1.78; }
	.prose > * + * { margin-top: 1.15em; }
	.prose h2 { font-size: 1.6rem; margin-top: 2em; }
	.prose h3 { font-size: 1.25rem; margin-top: 1.6em; }
	.prose p { margin-bottom: 0; }
	.prose ul, .prose ol { padding-left: 1.35em; }
	.prose li + li { margin-top: .45em; }
	.prose ul { list-style: disc; }
	.prose ol { list-style: decimal; }
	.prose a { color: var(--color-orange-700); text-decoration: underline; text-underline-offset: 3px; }
	.prose img { border-radius: 12px; }
	.prose blockquote {
		border-left: 3px solid var(--color-orange);
		padding-left: 18px;
		font-size: 1.05em;
		color: var(--color-navy);
	}
	.prose code {
		background: var(--color-navy-50);
		padding: 2px 6px;
		border-radius: 5px;
		font-size: .9em;
		font-family: var(--font-mono);
	}

	/* ── Entrance animation ────────────────────────────────── */
	.rise {
		animation: ctv-rise .7s cubic-bezier(.16,.84,.44,1) both;
	}

	@keyframes ctv-rise {
		from { opacity: 0; transform: translateY(14px); }
		to   { opacity: 1; transform: none; }
	}

	@media (prefers-reduced-motion: reduce) {
		.rise { animation: none; }
		html { scroll-behavior: auto; }
		.card-hover:hover, .btn:hover { transform: none; }
	}

	/* ── Marquee for the city strip ────────────────────────── */
	.marquee {
		display: flex;
		gap: 14px;
		width: max-content;
		animation: ctv-marquee 34s linear infinite;
	}

	@keyframes ctv-marquee {
		from { transform: translateX(0); }
		to   { transform: translateX(-50%); }
	}

	@media (prefers-reduced-motion: reduce) {
		.marquee { animation: none; }
	}

	/* ═══ Accessibility helpers ════════════════════════════ */
	[x-cloak] { display: none !important; }

	.screen-reader-text {
		position: absolute !important;
		width: 1px; height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		white-space: nowrap;
	}

	.ctv-skip {
		position: absolute;
		left: -9999px;
		top: 0;
		z-index: 999;
		background: var(--color-navy);
		color: #fff;
		padding: 12px 20px;
		border-radius: 0 0 8px 0;
		font-weight: 600;
	}

	.ctv-skip:focus { left: 0; }

	.ctv-center { text-align: center; margin-top: 40px; }

	/* ═══ Utility bar ══════════════════════════════════════ */
	.ctv-utility {
		background: var(--color-navy-900);
		color: #A9BCD6;
		font-size: 12.5px;
	}

	.ctv-utility__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		height: 38px;
	}

	.ctv-utility__note,
	.ctv-utility__links a {
		display: inline-flex;
		align-items: center;
		gap: 7px;
	}

	.ctv-utility__note svg { color: var(--color-amber); }

	.ctv-utility__links {
		display: flex;
		gap: 22px;
	}

	.ctv-utility__links a { transition: color .15s ease; }
	.ctv-utility__links a:hover { color: #fff; }

	@media (max-width: 900px) {
		.ctv-utility__note { display: none; }
		.ctv-utility__inner { justify-content: center; }
	}

	/* ═══ Header ═══════════════════════════════════════════ */
	.ctv-header {
		position: sticky;
		top: 0;
		z-index: 60;
		background: rgba(255,255,255,.92);
		backdrop-filter: saturate(180%) blur(12px);
		border-bottom: 1px solid var(--color-line);
	}

	.ctv-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 28px;
		height: 70px;
	}

	.ctv-brand {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		flex-shrink: 0;
	}

	.ctv-brand img,
	.ctv-brand .custom-logo {
		height: 46px;
		width: auto;
		max-width: 250px;
		object-fit: contain;
	}

	.ctv-brand__logo { height: 44px !important; }

	.ctv-footer__lockup {
		display: inline-flex;
		align-items: center;
		gap: 11px;
		margin-bottom: 14px;
	}

	.ctv-footer__lockup img {
		height: 42px;
		width: auto;
		margin-bottom: 0;
	}

	@media (max-width: 560px) {
		.ctv-brand img,
		.ctv-brand .custom-logo { height: 38px; max-width: 200px; }
		.ctv-brand__logo { height: 36px !important; }
		.ctv-brand__tagline { display: none; }
	}

	.ctv-brand__mark {
		display: grid;
		place-items: center;
		width: 34px;
		height: 34px;
		border-radius: 9px;
		background: var(--color-navy);
		color: var(--color-amber);
		box-shadow: 0 4px 12px -4px rgba(15,42,77,.5);
	}

	.ctv-brand__text { display: flex; flex-direction: column; line-height: 1.1; }

	.ctv-brand__name {
		font-family: var(--font-display);
		font-weight: 700;
		font-size: 19px;
		letter-spacing: -0.025em;
		color: var(--color-navy);
	}

	.ctv-brand__name em { font-style: normal; color: var(--color-orange); }
	.ctv-brand__name--light { color: #fff; font-size: 21px; }

	.ctv-brand__tagline {
		font-size: 9.5px;
		font-weight: 600;
		letter-spacing: .18em;
		text-transform: uppercase;
		color: var(--color-faint);
		margin-top: 2px;
	}

	.ctv-menu {
		display: flex;
		align-items: center;
		gap: 26px;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.ctv-menu a {
		position: relative;
		font-size: 14.5px;
		font-weight: 500;
		color: #46505E;
		transition: color .15s ease;
	}

	.ctv-menu a::after {
		content: "";
		position: absolute;
		left: 0; right: 0; bottom: -7px;
		height: 2px;
		border-radius: 2px;
		background: var(--color-orange);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform .22s ease;
	}

	.ctv-menu a:hover { color: var(--color-navy); }
	.ctv-menu a:hover::after { transform: scaleX(1); }

	.ctv-menu .current-menu-item > a,
	.ctv-menu .current_page_item > a { color: var(--color-navy); font-weight: 600; }

	.ctv-header__actions {
		display: flex;
		align-items: center;
		gap: 14px;
		flex-shrink: 0;
	}

	.ctv-header__login {
		font-size: 14px;
		font-weight: 600;
		color: var(--color-navy);
	}

	.ctv-header__login:hover { color: var(--color-orange-600); }

	.ctv-header__cta { padding: 11px 20px; font-size: 14px; }

	.ctv-burger {
		display: none;
		background: none;
		border: 0;
		padding: 8px;
		margin-right: -8px;
		color: var(--color-navy);
		cursor: pointer;
		line-height: 0;
	}

	.ctv-header__call {
		display: none;
		place-items: center;
		width: 40px;
		height: 40px;
		border-radius: 10px;
		background: var(--color-orange-50);
		color: var(--color-orange-600);
	}

	.ctv-header__call:active { background: var(--color-orange-100); }

	.ctv-mobile {
		border-top: 1px solid var(--color-line);
		background: #fff;
		padding: 20px 0 26px;
	}

	.ctv-menu--mobile {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.ctv-menu--mobile li { border-bottom: 1px solid var(--color-line); }

	.ctv-menu--mobile a {
		display: block;
		padding: 14px 2px;
		font-size: 16px;
		font-weight: 500;
	}

	.ctv-menu--mobile a::after { display: none; }

	.ctv-mobile__actions {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.ctv-mobile__phone {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		font-weight: 600;
		color: var(--color-navy);
		padding-top: 6px;
	}

	@media (max-width: 1024px) {
		.ctv-nav, .ctv-header__login { display: none; }
		.ctv-burger { display: inline-flex; }
	}

	@media (max-width: 560px) {
		.ctv-header__cta { display: none; }
		.ctv-header__call { display: grid; }
		.ctv-header__inner { height: 62px; }
	}

	/* ═══ Hero ═════════════════════════════════════════════ */
	.ctv-hero {
		padding: 74px 0 0;
		overflow: hidden;
	}

	.ctv-hero__grid {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: 1.02fr .98fr;
		gap: 56px;
		align-items: start;
	}

	.ctv-hero__copy { padding-bottom: 84px; }

	.ctv-hero h1 {
		margin-top: 18px;
		font-size: clamp(2.25rem, 4.6vw, 3.5rem);
		font-weight: 600;
		line-height: 1.08;
		letter-spacing: -0.035em;
		color: #fff;
	}

	.ctv-hero h1 em {
		font-style: normal;
		color: var(--color-amber);
		position: relative;
	}

	.ctv-hero__sub {
		margin-top: 20px;
		max-width: 470px;
		font-size: 16.5px;
		line-height: 1.7;
		color: #BDCCE0;
	}

	.ctv-hero__points {
		list-style: none;
		margin: 26px 0 0;
		padding: 0;
		display: grid;
		gap: 11px;
	}

	.ctv-hero__points li {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 14.5px;
		color: #D6E1EE;
	}

	.ctv-hero__points svg {
		flex-shrink: 0;
		color: var(--color-amber);
		background: rgba(253,184,19,.14);
		border-radius: 50%;
		padding: 3px;
		width: 21px;
		height: 21px;
	}

	.ctv-hero__stats {
		display: flex;
		gap: 40px;
		margin-top: 36px;
		padding-top: 28px;
		border-top: 1px solid rgba(255,255,255,.14);
	}

	.ctv-hero__stats b {
		display: block;
		font-family: var(--font-display);
		font-size: 26px;
		font-weight: 600;
		color: #fff;
		letter-spacing: -0.02em;
	}

	.ctv-hero__stats span {
		font-size: 12.5px;
		color: #95A6C2;
	}

	.ctv-hero__form { margin-bottom: -70px; }

	@media (max-width: 980px) {
		.ctv-hero { padding-top: 52px; }
		.ctv-hero__grid { grid-template-columns: 1fr; gap: 36px; }
		.ctv-hero__copy { padding-bottom: 0; }
		.ctv-hero__sub { max-width: none; }
		.ctv-hero__stats { gap: 26px; }
		.ctv-hero__form { margin-bottom: -60px; }
	}

	@media (max-width: 420px) {
		.ctv-hero__stats { gap: 18px; }
		.ctv-hero__stats b { font-size: 21px; }
	}

	/* ═══ Lead form ════════════════════════════════════════ */
	.ctv-form {
		background: var(--color-paper);
		border-radius: 16px;
		padding: 26px;
		box-shadow: 0 30px 70px -30px rgba(6, 22, 43, .55), 0 0 0 1px rgba(255,255,255,.06);
	}

	.ctv-form--inline,
	.ctv-form--vendor {
		border: 1px solid var(--color-line);
		box-shadow: 0 20px 46px -32px rgba(15,42,77,.4);
	}

	.ctv-form__head h3 { font-size: 19px; }

	.ctv-form__head p {
		margin: 5px 0 20px;
		font-size: 13.5px;
		color: var(--color-muted);
	}

	.ctv-form__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		margin-bottom: 14px;
	}

	.ctv-form__field { margin-bottom: 16px; }

	.ctv-optional { font-weight: 400; color: var(--color-faint); }

	.ctv-form__note {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		margin: 12px 0 0;
		font-size: 11.5px;
		line-height: 1.5;
		color: var(--color-faint);
		text-align: center;
	}

	.ctv-form__note svg { flex-shrink: 0; }

	/* ── Country code prefix ───────────────────────────────── */
	.ctv-phone { position: relative; }

	.ctv-phone__cc {
		position: absolute;
		left: 14px;
		top: 50%;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		height: 22px;
		padding-right: 10px;
		border-right: 1px solid var(--color-line);
		font-size: 14.5px;
		font-weight: 500;
		color: var(--color-muted);
		pointer-events: none;
	}

	.ctv-phone input.field.ctv-phone__input {
		padding-left: 62px;
	}

	.ctv-phone__input:focus ~ .ctv-phone__cc,
	.ctv-phone:focus-within .ctv-phone__cc { color: var(--color-navy); }

	/* ── Consent ───────────────────────────────────────────── */
	.ctv-consent {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		margin: 4px 0 16px;
		padding: 13px 14px;
		border-radius: 10px;
		background: #FAFBFC;
		border: 1px solid var(--color-line);
		cursor: pointer;
		transition: border-color .16s ease, background-color .16s ease;
	}

	.ctv-consent:hover { border-color: var(--color-navy-200); }

	.ctv-consent input {
		flex-shrink: 0;
		width: 17px;
		height: 17px;
		margin-top: 1px;
		accent-color: var(--color-orange);
		cursor: pointer;
	}

	.ctv-consent span {
		font-size: 12.5px;
		line-height: 1.55;
		color: var(--color-muted);
	}

	.ctv-consent a {
		color: var(--color-orange-700);
		font-weight: 600;
		text-decoration: underline;
		text-underline-offset: 2px;
	}

	.ctv-consent:has(input:focus-visible) {
		border-color: var(--color-orange);
		box-shadow: 0 0 0 3px rgba(245, 130, 31, .14);
	}

	.ctv-hp {
		position: absolute;
		left: -9999px;
		width: 1px;
		height: 1px;
		overflow: hidden;
	}

	.ctv-flash {
		display: flex;
		gap: 12px;
		padding: 14px 16px;
		border-radius: 11px;
		margin-bottom: 20px;
	}

	.ctv-flash strong { display: block; font-size: 14.5px; }

	.ctv-flash p { margin: 3px 0 0; font-size: 13px; line-height: 1.55; }

	.ctv-flash p strong {
		display: inline;
		white-space: nowrap;
		font-family: var(--font-mono);
		font-size: 13.5px;
		letter-spacing: .02em;
	}

	.ctv-flash__icon { flex-shrink: 0; margin-top: 1px; }

	.ctv-flash--ok {
		background: #ECFDF3;
		color: #17603E;
		box-shadow: inset 0 0 0 1px #BBEBD0;
	}

	.ctv-flash--error {
		background: #FEF3F2;
		color: #9B2620;
		box-shadow: inset 0 0 0 1px #FBD5D2;
	}

	@media (max-width: 480px) {
		.ctv-form { padding: 20px; }
		.ctv-form__row { grid-template-columns: 1fr; }
	}

	/* ═══ Trust strip ══════════════════════════════════════ */
	.ctv-trust {
		background: var(--color-paper);
		border-bottom: 1px solid var(--color-line);
		padding: 96px 0 34px;
	}

	.ctv-trust__grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 26px;
	}

	.ctv-trust__item {
		display: flex;
		gap: 13px;
		align-items: flex-start;
	}

	.ctv-trust__icon {
		display: grid;
		place-items: center;
		flex-shrink: 0;
		width: 40px;
		height: 40px;
		border-radius: 11px;
		background: var(--color-orange-50);
		color: var(--color-orange-600);
	}

	.ctv-trust__item b {
		display: block;
		font-family: var(--font-display);
		font-size: 15px;
		font-weight: 600;
		letter-spacing: -0.01em;
	}

	.ctv-trust__item span {
		display: block;
		font-size: 13px;
		line-height: 1.55;
		color: var(--color-muted);
		margin-top: 3px;
	}

	@media (max-width: 980px) {
		.ctv-trust { padding-top: 88px; }
		.ctv-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
	}

	@media (max-width: 560px) {
		.ctv-trust__grid { grid-template-columns: 1fr; }
	}

	/* ═══ Categories ═══════════════════════════════════════ */
	.ctv-cats {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.ctv-cat {
		display: flex;
		flex-direction: column;
		padding: 26px 22px 22px;
		scroll-margin-top: 120px;
	}

	.ctv-cat__icon {
		display: grid;
		place-items: center;
		width: 46px;
		height: 46px;
		border-radius: 13px;
		background: linear-gradient(140deg, var(--color-navy), var(--color-navy-700));
		color: var(--color-amber);
		margin-bottom: 18px;
		transition: transform .22s ease;
	}

	.ctv-cat:hover .ctv-cat__icon { transform: rotate(-6deg) scale(1.05); }

	.ctv-cat h3 { font-size: 16px; }

	.ctv-cat p {
		margin: 6px 0 18px;
		font-size: 13px;
		color: var(--color-muted);
		flex-grow: 1;
	}

	.ctv-cat__link {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 13px;
		font-weight: 600;
		color: var(--color-orange-600);
	}

	.ctv-cat__link svg { transition: transform .2s ease; }
	.ctv-cat:hover .ctv-cat__link svg { transform: translateX(3px); }

	/* ── Waitlist card ─────────────────────────────────────── */
	.ctv-waitlist {
		padding: 30px;
		border-color: var(--color-amber);
		scroll-margin-top: 110px;
	}

	.ctv-waitlist__head { margin-bottom: 20px; }
	.ctv-waitlist__head h3 { font-size: 20px; margin-top: 12px; }

	.ctv-waitlist__head p {
		margin: 9px 0 0;
		font-size: 14.5px;
		color: var(--color-muted);
		max-width: 520px;
	}

	@media (max-width: 480px) {
		.ctv-waitlist { padding: 22px; }
	}

	/* ── Coming soon ───────────────────────────────────────── */
	.ctv-soon {
		display: inline-block;
		vertical-align: middle;
		margin-left: 6px;
		padding: 3px 9px;
		border-radius: var(--radius-pill);
		background: var(--color-amber);
		color: var(--color-navy-900);
		font-family: var(--font-sans);
		font-size: 10px;
		font-weight: 700;
		letter-spacing: .05em;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.ctv-cat--soon { background: #FBFCFD; }
	.ctv-cat--soon .ctv-cat__icon { background: linear-gradient(140deg, #647DA5, #97A8C3); }

	.ctv-cat__link--muted {
		color: var(--color-faint);
		font-weight: 500;
		font-style: italic;
	}

	/* ── Subcategory chips ─────────────────────────────────── */
	.ctv-cat__subs {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		margin: 0 0 18px;
		padding: 0;
	}

	.ctv-cat__subs li {
		padding: 4px 10px;
		border-radius: var(--radius-pill);
		background: var(--color-navy-50);
		color: #4A5666;
		font-size: 11.5px;
		font-weight: 500;
		line-height: 1.4;
		white-space: nowrap;
	}

	.ctv-cat:hover .ctv-cat__subs li {
		background: var(--color-orange-50);
		color: var(--color-orange-700);
	}

	.ctv-cat__subs--row { margin: 14px 0 0; }

	@media (max-width: 1040px) {
		.ctv-cats { grid-template-columns: repeat(3, 1fr); }
	}

	@media (max-width: 700px) {
		.ctv-cats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
		.ctv-cat { padding: 20px 18px; }
	}

	@media (max-width: 400px) {
		.ctv-cats { grid-template-columns: 1fr; }
	}

	/* ═══ Cities band ══════════════════════════════════════ */
	.ctv-cities { padding: 54px 0; overflow: hidden; }

	.ctv-cities__inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 40px;
		align-items: center;
	}

	.ctv-cities__copy h3 {
		color: #fff;
		font-size: 24px;
		margin-top: 12px;
	}

	.ctv-cities__copy p {
		margin: 10px 0 0;
		font-size: 14.5px;
		color: #A9BCD6;
		max-width: 420px;
	}

	.ctv-cities__marquee {
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
		mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	}

	.ctv-citypill {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		white-space: nowrap;
		padding: 9px 18px;
		border-radius: var(--radius-pill);
		border: 1px solid rgba(255,255,255,.16);
		background: rgba(255,255,255,.05);
		color: #D6E1EE;
		font-size: 13.5px;
		font-weight: 500;
	}

	.ctv-citypill svg { color: var(--color-amber); }

	.ctv-cities__list { display: none; }

	@media (max-width: 860px) {
		.ctv-cities__inner { grid-template-columns: 1fr; gap: 24px; }
		.ctv-cities__marquee { display: none; }
		.ctv-cities__list {
			display: flex;
			flex-wrap: wrap;
			gap: 8px;
			list-style: none;
			margin: 0;
			padding: 0;
		}
		.ctv-cities__list li {
			padding: 7px 15px;
			border-radius: var(--radius-pill);
			border: 1px solid rgba(255,255,255,.16);
			color: #D6E1EE;
			font-size: 13px;
		}
	}

	/* ═══ Steps ════════════════════════════════════════════ */
	.ctv-steps {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		counter-reset: step;
	}

	.ctv-step {
		position: relative;
		padding: 30px 26px;
		overflow: hidden;
	}

	.ctv-step__num {
		font-family: var(--font-display);
		font-size: 40px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: -0.04em;
		color: var(--color-navy-100);
		display: block;
		margin-bottom: 12px;
	}

	.ctv-step h3 { font-size: 17px; }

	.ctv-step p {
		margin: 9px 0 0;
		font-size: 14px;
		color: var(--color-muted);
	}

	@media (max-width: 860px) {
		.ctv-steps { grid-template-columns: 1fr; }
	}

	/* ═══ Vendor band ══════════════════════════════════════ */
	.ctv-vendorband { padding: 78px 0; }

	.ctv-vendorband__strip {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
		flex-wrap: wrap;
	}

	.ctv-vendorband__strip h2 {
		color: #fff;
		font-size: clamp(1.4rem, 2.6vw, 1.875rem);
		max-width: 480px;
		margin-top: 12px;
	}

	.ctv-vendorband__strip p {
		margin: 10px 0 0;
		color: #C1CBDB;
		font-size: 14.5px;
		max-width: 460px;
	}

	.ctv-vendorband__strip .btn { flex-shrink: 0; }

	@media (max-width: 700px) {
		.ctv-vendorband { padding: 56px 0; }
		.ctv-vendorband__strip { gap: 26px; }
		.ctv-vendorband__strip .btn { width: 100%; }
	}

	.ctv-vendorband__grid {
		position: relative;
		z-index: 1;
		display: grid;
		grid-template-columns: 1.1fr .9fr;
		gap: 56px;
		align-items: center;
	}

	.ctv-vendorband h2 {
		color: #fff;
		font-size: clamp(1.6rem, 3vw, 2.125rem);
		max-width: 440px;
		margin-top: 14px;
	}

	.ctv-vendorband p {
		margin: 14px 0 0;
		color: #C1CBDB;
		font-size: 15px;
		max-width: 440px;
	}

	.ctv-vendorband__points {
		list-style: none;
		margin: 22px 0 28px;
		padding: 0;
		display: grid;
		gap: 10px;
	}

	.ctv-vendorband__points li {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 14px;
		color: #D6E1EE;
	}

	.ctv-vendorband__points svg { color: var(--color-amber); flex-shrink: 0; }

	@media (max-width: 900px) {
		.ctv-vendorband__grid { grid-template-columns: 1fr; gap: 36px; }
		.ctv-vendorband h2, .ctv-vendorband p { max-width: none; }
	}

	/* ═══ Post cards ═══════════════════════════════════════ */
	.ctv-posts {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 22px;
	}

	.ctv-postcard { overflow: hidden; display: flex; flex-direction: column; }

	.ctv-postcard__media {
		position: relative;
		display: block;
		aspect-ratio: 16 / 10;
		background: linear-gradient(140deg, var(--color-navy-50), #DCE4EC);
		overflow: hidden;
	}

	.ctv-postcard__media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform .5s cubic-bezier(.2,.7,.3,1);
	}

	.ctv-postcard:hover .ctv-postcard__media img { transform: scale(1.045); }

	.ctv-postcard__placeholder {
		position: absolute;
		inset: 0;
		display: grid;
		place-items: center;
		color: var(--color-navy-200);
	}

	.ctv-postcard__tag {
		position: absolute;
		left: 12px;
		bottom: 12px;
		background: #fff;
		color: var(--color-orange-700);
		font-size: 11px;
		font-weight: 600;
		padding: 5px 11px;
		border-radius: var(--radius-pill);
		box-shadow: 0 3px 10px -3px rgba(15,42,77,.3);
	}

	.ctv-postcard__body { padding: 20px; display: flex; flex-direction: column; flex-grow: 1; }

	.ctv-postcard__body h3 { font-size: 16.5px; line-height: 1.35; }

	.ctv-postcard__body h3 a { transition: color .15s ease; }
	.ctv-postcard__body h3 a:hover { color: var(--color-orange-600); }

	.ctv-postcard__body p {
		margin: 9px 0 0;
		font-size: 13.5px;
		color: var(--color-muted);
		flex-grow: 1;
	}

	.ctv-postcard__meta {
		display: flex;
		align-items: center;
		gap: 7px;
		margin-top: 16px;
		font-size: 12px;
		color: var(--color-faint);
	}

	@media (max-width: 900px) {
		.ctv-posts { grid-template-columns: repeat(2, 1fr); }
	}

	@media (max-width: 620px) {
		.ctv-posts { grid-template-columns: 1fr; }
	}

	/* ═══ FAQ ══════════════════════════════════════════════ */
	.ctv-faq {
		max-width: 780px;
		margin: 0 auto;
		background: var(--color-paper);
		border: 1px solid var(--color-line);
		border-radius: var(--radius-card);
		overflow: hidden;
	}

	.ctv-faq__item + .ctv-faq__item { border-top: 1px solid var(--color-line); }

	.ctv-faq__item.is-open { background: #FCFDFE; }

	.ctv-faq__q {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		text-align: left;
		background: none;
		border: 0;
		cursor: pointer;
		padding: 20px 24px;
		font-family: var(--font-display);
		font-size: 16px;
		font-weight: 500;
		letter-spacing: -0.01em;
		color: var(--color-navy);
	}

	.ctv-faq__toggle {
		display: grid;
		place-items: center;
		flex-shrink: 0;
		width: 28px;
		height: 28px;
		border-radius: 50%;
		background: var(--color-navy-50);
		color: var(--color-navy);
		transition: background-color .2s ease, color .2s ease, transform .25s ease;
	}

	.ctv-faq__item.is-open .ctv-faq__toggle {
		background: var(--color-orange);
		color: #fff;
		transform: rotate(180deg);
	}

	.ctv-faq__a { padding: 0 24px 22px; }

	.ctv-faq__a p {
		margin: 0;
		max-width: 640px;
		font-size: 14.5px;
		line-height: 1.7;
		color: var(--color-muted);
	}

	@media (max-width: 560px) {
		.ctv-faq__q { padding: 17px 18px; font-size: 15px; }
		.ctv-faq__a { padding: 0 18px 18px; }
	}

	/* ═══ Closing CTA ══════════════════════════════════════ */
	.ctv-endcta { padding: 64px 0; }

	.ctv-endcta__inner {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
		flex-wrap: wrap;
	}

	.ctv-endcta h2 {
		color: #fff;
		font-size: clamp(1.5rem, 2.8vw, 2rem);
		margin-top: 12px;
		max-width: 520px;
	}

	.ctv-endcta p {
		margin: 10px 0 0;
		color: #A9BCD6;
		font-size: 14.5px;
		max-width: 480px;
	}

	.ctv-endcta__actions { display: flex; gap: 12px; flex-wrap: wrap; }

	/* ═══ Footer ═══════════════════════════════════════════ */
	.ctv-footer {
		background: var(--color-navy-900);
		color: #A9BCD6;
		padding: 58px 0 26px;
	}

	.ctv-footer__grid {
		display: grid;
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
		gap: 40px;
		padding-bottom: 36px;
	}

	.ctv-footer__brand img,
	.ctv-footer__brand .custom-logo,
	.ctv-footer__logo {
		height: 52px;
		width: auto;
		max-width: 270px;
		object-fit: contain;
		margin-bottom: 14px;
	}

	.ctv-footer__brand p {
		margin: 12px 0 0;
		font-size: 13.5px;
		line-height: 1.7;
		color: #8497B2;
		max-width: 320px;
	}

	.ctv-footer__contact {
		display: grid;
		gap: 9px;
		margin-top: 20px;
	}

	.ctv-footer__contact a,
	.ctv-footer__contact span {
		display: inline-flex;
		align-items: center;
		gap: 9px;
		font-size: 13.5px;
		color: #C3D2E4;
	}

	.ctv-footer__contact svg { color: var(--color-orange); flex-shrink: 0; }
	.ctv-footer__contact a:hover { color: #fff; }

	.ctv-footer__col h4 {
		font-family: var(--font-display);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: .07em;
		text-transform: uppercase;
		color: #fff;
		margin-bottom: 16px;
	}

	.ctv-footer__col a {
		display: block;
		font-size: 13.5px;
		color: #95A6C2;
		margin-bottom: 10px;
		transition: color .15s ease, transform .15s ease;
	}

	.ctv-footer__col a:hover { color: #fff; transform: translateX(2px); }

	.ctv-footer__cities {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		padding: 20px 0;
		border-top: 1px solid var(--color-line-dark);
		border-bottom: 1px solid var(--color-line-dark);
		font-size: 12.5px;
		color: #7E90AC;
	}

	.ctv-footer__cities em {
		font-style: normal;
		padding: 4px 12px;
		border-radius: var(--radius-pill);
		background: rgba(255,255,255,.05);
		color: #C1CBDB;
	}

	.ctv-footer__bottom {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 18px;
		flex-wrap: wrap;
		padding-top: 22px;
		font-size: 12.5px;
		color: #7E90AC;
	}

	.ctv-footer__bottom p { margin: 0; }

	.ctv-footer__legal { display: flex; gap: 20px; }
	.ctv-footer__legal a:hover { color: #fff; }

	@media (max-width: 920px) {
		.ctv-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
		.ctv-footer__brand { grid-column: 1 / -1; }
	}

	@media (max-width: 560px) {
		.ctv-footer__grid { grid-template-columns: 1fr; }
		.ctv-footer__bottom { justify-content: center; text-align: center; }
	}

	/* ═══ WhatsApp float ═══════════════════════════════════ */
	.ctv-wa {
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 70;
		display: grid;
		place-items: center;
		width: 54px;
		height: 54px;
		border-radius: 50%;
		background: #25D366;
		color: #fff;
		box-shadow: 0 10px 26px -8px rgba(37,211,102,.7);
		transition: transform .2s ease;
	}

	.ctv-wa:hover { transform: scale(1.07); }

	@media (max-width: 560px) {
		.ctv-wa { width: 48px; height: 48px; right: 14px; bottom: 14px; }
	}

	/* ═══ Inner page heads ═════════════════════════════════ */
	.ctv-pagehead {
		background: var(--color-paper);
		border-bottom: 1px solid var(--color-line);
		padding: 56px 0 48px;
	}

	.ctv-pagehead h1 {
		margin-top: 14px;
		font-size: clamp(1.9rem, 3.6vw, 2.75rem);
	}

	.ctv-pagehead p {
		margin: 14px 0 0;
		max-width: 620px;
		font-size: 16px;
		color: var(--color-muted);
	}

	.ctv-pagehead--dark {
		background: var(--color-navy);
		border-bottom: 0;
		padding: 66px 0 58px;
	}

	.ctv-pagehead--dark h1 { color: #fff; }
	.ctv-pagehead--dark p { color: #C1CBDB; }

	.ctv-crumbs {
		font-size: 12.5px;
		color: var(--color-faint);
		margin-bottom: 16px;
	}

	.ctv-crumbs a:hover { color: var(--color-orange-600); }

	/* ═══ Content shells ═══════════════════════════════════ */
	.ctv-narrow { max-width: 760px; margin: 0 auto; }

	.ctv-split {
		display: grid;
		grid-template-columns: 1.25fr .75fr;
		gap: 48px;
		align-items: start;
	}

	.ctv-sticky { position: sticky; top: 100px; }

	@media (max-width: 940px) {
		.ctv-split { grid-template-columns: 1fr; gap: 36px; }
		.ctv-sticky { position: static; }
	}

	.ctv-empty {
		text-align: center;
		padding: 56px 28px;
		color: var(--color-muted);
	}

	.ctv-empty svg { color: var(--color-navy-200); }
	.ctv-empty h3 { margin: 14px 0 8px; font-size: 20px; }
	.ctv-empty p { max-width: 420px; margin: 0 auto 22px; font-size: 14.5px; }

	/* ═══ Pagination ═══════════════════════════════════════ */
	.ctv-pagination { margin-top: 44px; }

	.ctv-pagination .nav-links {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 8px;
	}

	.ctv-pagination .page-numbers {
		display: grid;
		place-items: center;
		min-width: 40px;
		height: 40px;
		padding: 0 13px;
		border-radius: 9px;
		background: var(--color-paper);
		border: 1px solid var(--color-line);
		font-size: 14px;
		font-weight: 500;
		color: var(--color-muted);
		transition: all .16s ease;
	}

	.ctv-pagination .page-numbers:hover {
		border-color: var(--color-navy);
		color: var(--color-navy);
	}

	.ctv-pagination .page-numbers.current {
		background: var(--color-navy);
		border-color: var(--color-navy);
		color: #fff;
	}

	/* ═══ Feature list (inner pages) ═══════════════════════ */
	.ctv-features {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	.ctv-feature { padding: 26px 24px; }

	.ctv-feature__icon {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		border-radius: 12px;
		background: var(--color-orange-50);
		color: var(--color-orange-600);
		margin-bottom: 15px;
	}

	.ctv-feature h3 { font-size: 16.5px; }

	.ctv-feature p {
		margin: 8px 0 0;
		font-size: 14px;
		color: var(--color-muted);
	}

	@media (max-width: 900px) {
		.ctv-features { grid-template-columns: 1fr; }
	}

	/* ═══ Pricing cards ════════════════════════════════════ */
	.ctv-pricing {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		align-items: start;
	}

	.ctv-pricecard {
		position: relative;
		padding: 30px 26px;
		display: flex;
		flex-direction: column;
	}

	.ctv-pricecard--featured {
		border-color: var(--color-orange);
		box-shadow: 0 24px 50px -30px rgba(245,130,31,.55);
	}

	.ctv-pricecard__badge {
		position: absolute;
		top: -11px;
		left: 26px;
		background: var(--color-orange);
		color: #fff;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: .04em;
		padding: 4px 12px;
		border-radius: var(--radius-pill);
	}

	.ctv-pricecard h3 { font-size: 18px; }

	.ctv-pricecard__blurb {
		margin: 6px 0 18px;
		font-size: 13.5px;
		color: var(--color-muted);
	}

	.ctv-pricecard__price {
		font-family: var(--font-display);
		font-size: 38px;
		font-weight: 600;
		letter-spacing: -0.03em;
		line-height: 1;
		color: var(--color-navy);
	}

	.ctv-pricecard__leads {
		display: block;
		margin-top: 7px;
		font-size: 13px;
		color: var(--color-orange-600);
		font-weight: 600;
	}

	.ctv-pricecard ul {
		list-style: none;
		margin: 22px 0 26px;
		padding: 20px 0 0;
		border-top: 1px solid var(--color-line);
		display: grid;
		gap: 11px;
		flex-grow: 1;
	}

	.ctv-pricecard li {
		display: flex;
		gap: 10px;
		align-items: flex-start;
		font-size: 13.5px;
		color: var(--color-muted);
	}

	.ctv-pricecard li svg {
		flex-shrink: 0;
		margin-top: 3px;
		color: var(--color-orange);
	}

	@media (max-width: 900px) {
		.ctv-pricing { grid-template-columns: 1fr; }
	}

	/* ═══ Category detail rows ═════════════════════════════ */
	.ctv-catrow {
		display: grid;
		grid-template-columns: 60px 1fr auto;
		gap: 24px;
		align-items: center;
		padding: 28px;
		scroll-margin-top: 120px;
	}

	.ctv-catrow + .ctv-catrow { margin-top: 16px; }

	.ctv-catrow__icon {
		display: grid;
		place-items: center;
		width: 60px;
		height: 60px;
		border-radius: 16px;
		background: linear-gradient(140deg, var(--color-navy), var(--color-navy-700));
		color: var(--color-amber);
	}

	.ctv-catrow h3 { font-size: 19px; }

	.ctv-catrow p {
		margin: 7px 0 0;
		font-size: 14.5px;
		color: var(--color-muted);
		max-width: 620px;
	}

	@media (max-width: 780px) {
		.ctv-catrow { grid-template-columns: 1fr; gap: 16px; padding: 24px; }
		.ctv-catrow .btn { width: 100%; }
	}

	/* ═══ Status result ════════════════════════════════════ */
	.ctv-status { display: grid; gap: 14px; }

	.ctv-status__row {
		display: grid;
		grid-template-columns: 150px 1fr;
		gap: 16px;
		padding: 13px 0;
		border-bottom: 1px solid var(--color-line);
		font-size: 14.5px;
	}

	.ctv-status__row:last-child { border-bottom: 0; }

	.ctv-status__row dt { color: var(--color-muted); font-weight: 500; }
	.ctv-status__row dd { margin: 0; font-weight: 500; }

	.ctv-badge {
		display: inline-block;
		padding: 4px 12px;
		border-radius: var(--radius-pill);
		font-size: 12px;
		font-weight: 600;
		background: var(--color-orange-50);
		color: var(--color-orange-700);
	}

	@media (max-width: 560px) {
		.ctv-status__row { grid-template-columns: 1fr; gap: 3px; }
	}

	/* ═══ Single post extras ═══════════════════════════════ */
	.ctv-postmeta {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-top: 16px;
		font-size: 13px;
		color: var(--color-faint);
	}

	.ctv-post-hero,
	.ctv-page-thumb {
		margin: 0 0 32px;
		border-radius: var(--radius-card);
		overflow: hidden;
	}

	.ctv-post-hero img,
	.ctv-page-thumb img {
		display: block;
		width: 100%;
		height: auto;
	}

	.ctv-tags {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 34px;
		padding-top: 24px;
		border-top: 1px solid var(--color-line);
	}

	.ctv-tags a {
		padding: 5px 13px;
		border-radius: var(--radius-pill);
		background: var(--color-navy-50);
		color: var(--color-muted);
		font-size: 12.5px;
		font-weight: 500;
	}

	.ctv-tags a:hover { background: var(--color-orange-50); color: var(--color-orange-700); }

	/* ═══ Search form ══════════════════════════════════════ */
	.ctv-searchbar { margin-top: 22px; max-width: 460px; }

	.ctv-searchbar form,
	.search-form {
		display: flex;
		gap: 8px;
	}

	.search-form label { flex-grow: 1; }

	.search-field {
		width: 100%;
		padding: 12px 14px;
		border: 1px solid var(--color-line);
		border-radius: 10px;
		background: #fff;
		font-size: 14.5px;
		color: var(--color-ink);
	}

	.search-field:focus {
		outline: none;
		border-color: var(--color-orange);
		box-shadow: 0 0 0 3px rgba(245,130,31,.14);
	}

	.search-submit {
		border: 0;
		cursor: pointer;
		padding: 12px 22px;
		border-radius: 10px;
		background: var(--color-navy);
		color: #fff;
		font-weight: 600;
		font-size: 14.5px;
	}

	.search-submit:hover { background: var(--color-navy-700); }

	/* ═══ FAQ section background ═══════════════════════════ */
	.ctv-faq-section { background: var(--color-canvas); }

	a.ctv-feature { display: block; }
}
