/*
Theme Name: AirVenty Kadence Child
Theme URI: https://airventy.com/
Description: A focused editorial buyer-guide child theme for AirVenty. Requires the Kadence parent theme.
Author: AirVenty
Author URI: https://airventy.com/
Template: kadence
Version: 1.0.12
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: airventy
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--av-ink: #10212b;
	--av-ink-soft: #344852;
	--av-accent: #1f7282;
	--av-accent-dark: #155260;
	--av-accent-pale: #e7f4f5;
	--av-surface: #ffffff;
	--av-surface-muted: #f5f8f8;
	--av-line: #d9e4e6;
	--av-radius: 14px;
	--av-shadow: 0 14px 32px rgba(16, 33, 43, 0.08);
}

.airventy-shell {
	color: var(--av-ink);
}

.airventy-shell *,
.airventy-shell *::before,
.airventy-shell *::after {
	box-sizing: border-box;
}

.airventy-container {
	width: min(1180px, calc(100% - 40px));
	margin-inline: auto;
}

.airventy-eyebrow {
	margin: 0 0 12px;
	color: var(--av-accent-dark);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-transform: uppercase;
}

.airventy-kicker {
	margin: 0;
	color: var(--av-ink-soft);
	font-size: 0.98rem;
}

.airventy-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid var(--av-accent-dark);
	border-radius: 8px;
	background: var(--av-accent-dark);
	color: #fff;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.airventy-button:hover,
.airventy-button:focus-visible {
	border-color: var(--av-ink);
	background: var(--av-ink);
	color: #fff;
	transform: translateY(-1px);
}

.airventy-button--quiet {
	background: transparent;
	color: var(--av-accent-dark);
}

.airventy-button--quiet:hover,
.airventy-button--quiet:focus-visible {
	background: var(--av-accent-pale);
	color: var(--av-ink);
}

/* Homepage */
.airventy-home {
	overflow: hidden;
}

.airventy-home__hero {
	padding: clamp(56px, 7vw, 94px) 0 clamp(52px, 6vw, 82px);
	background: linear-gradient(135deg, #eef8f8 0%, #ffffff 58%, #edf5f6 100%);
}

.airventy-home__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
	gap: clamp(28px, 6vw, 80px);
	align-items: center;
}

.airventy-home__title {
	max-width: 820px;
	margin: 0;
	font-size: clamp(2.35rem, 4.65vw, 4.35rem);
	letter-spacing: -0.055em;
	line-height: 1.01;
}

.airventy-home__intro {
	max-width: 650px;
	margin: 24px 0 0;
	color: var(--av-ink-soft);
	font-size: clamp(1.04rem, 1.3vw, 1.23rem);
	line-height: 1.68;
}

.airventy-home__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.airventy-home__feature-image {
	overflow: hidden;
	min-height: 360px;
	border: 1px solid var(--av-line);
	border-radius: var(--av-radius);
	background: var(--av-surface-muted);
	box-shadow: var(--av-shadow);
}

.airventy-home__feature-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.airventy-home__text-fallback {
	padding: clamp(28px, 5vw, 52px);
	border-left: 4px solid var(--av-accent);
	background: var(--av-surface);
}

.airventy-home__text-fallback strong {
	display: block;
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	letter-spacing: -0.035em;
	line-height: 1.07;
}

.airventy-home__text-fallback p {
	margin: 16px 0 0;
	color: var(--av-ink-soft);
	line-height: 1.65;
}

.airventy-section {
	padding: clamp(56px, 8vw, 98px) 0;
}

.airventy-section--muted {
	background: var(--av-surface-muted);
}

.airventy-section__heading {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: end;
	margin-bottom: 30px;
}

.airventy-section__heading h2 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.85rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.airventy-section__heading p {
	max-width: 660px;
	margin: 12px 0 0;
	color: var(--av-ink-soft);
	line-height: 1.65;
}

.airventy-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

/* The ten primary product hubs intentionally form two complete rows on wide screens. */
.airventy-home .airventy-hub-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.airventy-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-height: 100%;
	border: 1px solid var(--av-line);
	border-radius: var(--av-radius);
	background: var(--av-surface);
	box-shadow: 0 7px 20px rgba(16, 33, 43, 0.045);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.airventy-card:hover {
	border-color: #b8d0d5;
	box-shadow: var(--av-shadow);
	transform: translateY(-2px);
}

.airventy-card__image {
	display: block;
	aspect-ratio: 16 / 10;
	background: #edf3f4;
}

.airventy-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.airventy-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px;
}

.airventy-card__label {
	margin: 0 0 8px;
	color: var(--av-accent-dark);
	font-size: 0.77rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.airventy-card h3 {
	margin: 0;
	font-size: 1.14rem;
	letter-spacing: -0.025em;
	line-height: 1.25;
}

.airventy-card h3 a {
	color: inherit;
	text-decoration: none;
}

.airventy-card__body > p:not(.airventy-card__label) {
	margin: 12px 0 20px;
	color: var(--av-ink-soft);
	font-size: 0.92rem;
	line-height: 1.58;
}

.airventy-card__link {
	margin-top: auto;
	color: var(--av-accent-dark);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
}

.airventy-trust-panel {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: clamp(28px, 7vw, 100px);
	padding: clamp(32px, 6vw, 72px);
	border-radius: var(--av-radius);
	background: var(--av-ink);
	color: #fff;
}

.airventy-trust-panel .airventy-eyebrow {
	color: #a8dce1;
}

.airventy-trust-panel h2 {
	margin: 0;
	color: #f5fbfc;
	font-size: clamp(1.85rem, 3vw, 2.85rem);
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.airventy-trust-panel p {
	margin: 0;
	color: #d7e5e7;
	font-size: 1.05rem;
	line-height: 1.7;
}

.airventy-seasonal {
	padding: clamp(28px, 4vw, 46px);
	border: 1px solid var(--av-line);
	border-radius: var(--av-radius);
	background: #fff;
}

.airventy-seasonal h2 {
	margin: 0;
	font-size: clamp(1.55rem, 2.5vw, 2.25rem);
	letter-spacing: -0.035em;
}

.airventy-seasonal p {
	max-width: 740px;
	margin: 14px 0 0;
	color: var(--av-ink-soft);
	line-height: 1.65;
}

.airventy-seasonal .airventy-button {
	margin-top: 22px;
}

/* Hub page */
.airventy-hub__hero {
	padding: clamp(56px, 8vw, 98px) 0;
	background: var(--av-surface-muted);
}

.airventy-hub__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
	gap: clamp(26px, 6vw, 72px);
	align-items: center;
}

.airventy-hub__title,
.airventy-guide__title {
	margin: 0;
	font-size: clamp(2.2rem, 4.8vw, 4.2rem);
	letter-spacing: -0.05em;
	line-height: 1.04;
}

.airventy-hub__intro {
	max-width: 720px;
	margin: 22px 0 0;
	color: var(--av-ink-soft);
	font-size: clamp(1.02rem, 1.3vw, 1.18rem);
	line-height: 1.68;
}

.airventy-hub__image {
	overflow: hidden;
	min-height: 280px;
	border-radius: var(--av-radius);
	background: var(--av-surface);
	box-shadow: var(--av-shadow);
}

.airventy-hub__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.airventy-list-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.airventy-list-card {
	display: block;
	padding: 20px;
	border: 1px solid var(--av-line);
	border-radius: 12px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.airventy-list-card:hover {
	border-color: #9fc8cf;
	transform: translateY(-2px);
}

.airventy-list-card strong {
	display: block;
	font-size: 1.02rem;
	line-height: 1.3;
}

.airventy-list-card span {
	display: block;
	margin-top: 8px;
	color: var(--av-ink-soft);
	font-size: 0.9rem;
	line-height: 1.45;
}

.airventy-consider-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.airventy-consider-list li {
	position: relative;
	padding: 0 0 0 26px;
	color: var(--av-ink-soft);
	line-height: 1.6;
}

.airventy-consider-list li::before {
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--av-accent);
	content: '';
}

.airventy-guide-grid__hidden {
	display: none;
}

.airventy-guide-grid__toggle {
	display: inline-flex;
	margin-top: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--av-accent-dark);
	font: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	cursor: pointer;
}

/* Money guide */
.airventy-guide__hero {
	padding: clamp(52px, 7vw, 90px) 0 clamp(36px, 5vw, 58px);
	background: linear-gradient(180deg, var(--av-surface-muted) 0%, #fff 100%);
}

.airventy-guide__wrap {
	width: min(900px, calc(100% - 40px));
	margin-inline: auto;
}

.airventy-guide__type {
	margin: 0 0 14px;
	color: var(--av-accent-dark);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.airventy-guide__image {
	width: min(1080px, calc(100% - 40px));
	margin: 0 auto;
	overflow: hidden;
	border-radius: var(--av-radius);
	background: var(--av-surface-muted);
}

.airventy-guide__image img {
	display: block;
	width: 100%;
	max-height: 600px;
	object-fit: cover;
}

.airventy-guide__content {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
	padding: clamp(32px, 5vw, 56px) 0 clamp(58px, 8vw, 98px);
}

.airventy-guide__content > *:first-child {
	margin-top: 0;
}

.airventy-guide__content p,
.airventy-guide__content li {
	font-size: 1.05rem;
	line-height: 1.75;
}

.airventy-guide__content h2 {
	margin-top: 2.35em;
	font-size: clamp(1.55rem, 2.5vw, 2.15rem);
	letter-spacing: -0.035em;
	line-height: 1.15;
}

.airventy-guide__content h3 {
	margin-top: 1.9em;
	font-size: clamp(1.22rem, 2vw, 1.56rem);
	letter-spacing: -0.025em;
	line-height: 1.22;
}

.airventy-affiliate-disclosure {
	margin: 28px 0 0;
	color: #587078;
	font-size: 0.84rem;
	line-height: 1.58;
}

.airventy-toc {
	margin: 24px 0 34px;
	border-top: 1px solid var(--av-line);
	border-bottom: 1px solid var(--av-line);
}

.airventy-toc__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 16px 0;
	border: 0;
	background: transparent;
	color: var(--av-ink);
	font: inherit;
	font-size: 0.92rem;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}

.airventy-toc__summary svg {
	flex: 0 0 auto;
	transition: transform 0.2s ease;
}

.airventy-toc.is-open .airventy-toc__summary svg {
	transform: rotate(180deg);
}

.airventy-toc__body {
	display: none;
	padding: 0 0 18px;
}

.airventy-toc.is-open .airventy-toc__body {
	display: block;
}

.airventy-toc ol {
	padding-left: 1.2em;
	margin: 0;
}

.airventy-toc li + li {
	margin-top: 8px;
}

.airventy-toc a {
	color: var(--av-accent-dark);
	font-size: 0.93rem;
	text-decoration: none;
}

.airventy-toc li.airventy-toc__level-3 {
	margin-left: 18px;
}

.airventy-related {
	margin-top: clamp(44px, 7vw, 72px);
	padding-top: clamp(32px, 5vw, 54px);
	border-top: 1px solid var(--av-line);
}

.airventy-related h2 {
	margin: 0 0 20px;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	letter-spacing: -0.03em;
}

.airventy-related ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.airventy-related a {
	display: block;
	padding: 15px 16px;
	border: 1px solid var(--av-line);
	border-radius: 10px;
	color: var(--av-ink);
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.airventy-related a:hover {
	border-color: #9fc8cf;
	color: var(--av-accent-dark);
}

/* Back to top — intentionally isolated from Kadence/footer controls. */
.airventy-back-to-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99;
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	background: var(--av-ink);
	color: #fff;
	opacity: 0;
	box-shadow: 0 8px 20px rgba(16, 33, 43, 0.18);
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.airventy-back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.airventy-back-to-top:hover,
.airventy-back-to-top:focus-visible {
	background: var(--av-accent-dark);
}

.airventy-back-to-top svg {
	display: block;
	width: 19px;
	height: 19px;
}

@media (max-width: 900px) {
	.airventy-home__hero-grid,
	.airventy-hub__hero-grid,
	.airventy-trust-panel {
		grid-template-columns: 1fr;
	}

	.airventy-card-grid,
	.airventy-list-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.airventy-home__feature-image {
		min-height: 280px;
	}
}

@media (max-width: 640px) {
	.airventy-container,
	.airventy-guide__wrap,
	.airventy-guide__image,
	.airventy-guide__content {
		width: min(100% - 28px, 1180px);
	}

	.airventy-home__hero {
		padding-top: 54px;
	}

	.airventy-home__title {
		font-size: clamp(2.2rem, 12vw, 3.3rem);
	}

	.airventy-card-grid,
	.airventy-list-cards,
	.airventy-consider-list,
	.airventy-related ul {
		grid-template-columns: 1fr;
	}

	.airventy-section__heading {
		display: block;
	}

	.airventy-home__actions .airventy-button {
		width: 100%;
	}

	.airventy-guide__title,
	.airventy-hub__title {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.airventy-guide__content p,
	.airventy-guide__content li {
		font-size: 1rem;
	}

	.airventy-back-to-top {
		right: 14px;
		bottom: 14px;
	}
}


/* AirVenty v1.0.1 homepage polish */
.page-template-page-airventy-home .content-area {
	margin-top: 0;
}

@media (max-width: 1180px) {
	.airventy-home .airventy-hub-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.airventy-container {
		width: min(100% - 40px, 620px);
	}

	.airventy-home__hero {
		padding: 64px 0 58px;
	}

	.airventy-home__hero-grid {
		gap: 34px;
	}

	.airventy-home__title {
		max-width: 11ch;
		font-size: clamp(2.72rem, 12.7vw, 3.45rem);
		line-height: 1.03;
	}

	.airventy-home__intro {
		margin-top: 22px;
		font-size: 1.05rem;
		line-height: 1.62;
	}

	.airventy-home__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 28px;
	}

	.airventy-home__actions .airventy-button {
		width: 100%;
		min-height: 58px;
		font-size: 1.03rem;
	}

	.airventy-home__text-fallback {
		padding: 34px 28px 36px;
	}

	.airventy-home__text-fallback strong {
		font-size: 1.75rem;
		line-height: 1.08;
	}

	.airventy-home__text-fallback p {
		font-size: 1.04rem;
		line-height: 1.62;
	}

	.airventy-section {
		padding: 58px 0;
	}

	.airventy-section__heading {
		align-items: flex-start;
		margin-bottom: 24px;
	}

	.airventy-section__heading h2 {
		font-size: 1.9rem;
	}

	.airventy-card-grid,
	.airventy-home .airventy-hub-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.airventy-card__body {
		padding: 20px;
	}

	.airventy-card h3 {
		font-size: 1.14rem;
	}

	.airventy-trust-panel {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 32px 26px;
	}

	.airventy-trust-panel h2 {
		font-size: 2rem;
	}
}


/* AirVenty v1.0.2 — desktop scale and editorial content polish.
 * Typography deliberately inherits the Instrument Sans / Newsreader choices
 * configured in Kadence Customizer, rather than loading duplicate fonts here.
 */
.page-template-page-airventy-home .airventy-container {
	width: min(1240px, calc(100% - 56px));
}

.page-template-page-airventy-home .airventy-home__hero {
	padding: clamp(52px, 5.8vw, 82px) 0 clamp(46px, 5vw, 70px);
}

.page-template-page-airventy-home .airventy-home__hero-grid {
	grid-template-columns: minmax(0, 1.12fr) minmax(350px, 0.88fr);
	gap: clamp(36px, 6vw, 92px);
}

.page-template-page-airventy-home .airventy-home__title {
	max-width: 10.5ch;
	font-size: clamp(3.2rem, 4.8vw, 4.8rem);
	line-height: 0.98;
}

.page-template-page-airventy-home .airventy-home__intro {
	max-width: 610px;
	font-size: clamp(1.06rem, 1.22vw, 1.22rem);
}

.page-template-page-airventy-home .airventy-home__text-fallback {
	padding: clamp(34px, 4.1vw, 58px);
}

.page-template-page-airventy-home .airventy-home__text-fallback strong {
	font-size: clamp(1.72rem, 2.65vw, 2.42rem);
}

.page-template-page-airventy-home .airventy-section {
	padding: clamp(48px, 6vw, 78px) 0;
}

.page-template-page-airventy-home .airventy-section__heading {
	margin-bottom: 26px;
}

.page-template-page-airventy-home .airventy-section__heading h2 {
	max-width: 760px;
	font-size: clamp(2rem, 3vw, 3rem);
}

.page-template-page-airventy-home .airventy-hub-grid {
	gap: 16px;
}

.page-template-page-airventy-home .airventy-hub-grid .airventy-card__body {
	padding: 22px 20px 20px;
}

.page-template-page-airventy-home .airventy-hub-grid .airventy-card__label {
	margin-bottom: 9px;
	font-size: 0.68rem;
	letter-spacing: 0.105em;
}

.page-template-page-airventy-home .airventy-hub-grid .airventy-card h3 {
	font-size: 1.02rem;
	line-height: 1.24;
}

.page-template-page-airventy-home .airventy-hub-grid .airventy-card__body > p:not(.airventy-card__label) {
	margin: 11px 0 18px;
	font-size: 0.88rem;
	line-height: 1.57;
}

.page-template-page-airventy-home .airventy-hub-grid .airventy-card__link {
	font-size: 0.84rem;
	line-height: 1.3;
}

.page-template-page-airventy-home .airventy-card-grid:not(.airventy-hub-grid) .airventy-card__body {
	padding: 24px;
}

.page-template-page-airventy-home .airventy-card-grid:not(.airventy-hub-grid) .airventy-card h3 {
	font-size: 1.22rem;
}

.page-template-page-airventy-home .airventy-card-grid:not(.airventy-hub-grid) .airventy-card__body > p:not(.airventy-card__label) {
	font-size: 0.96rem;
}

.page-template-page-airventy-home .airventy-trust-panel {
	gap: clamp(34px, 7vw, 112px);
	padding: clamp(36px, 5vw, 68px);
}

@media (max-width: 1280px) {
	.page-template-page-airventy-home .airventy-container {
		width: min(1180px, calc(100% - 48px));
	}
}

@media (max-width: 1180px) {
	.page-template-page-airventy-home .airventy-home__hero-grid {
		grid-template-columns: minmax(0, 1.06fr) minmax(310px, 0.94fr);
		gap: 44px;
	}

	.page-template-page-airventy-home .airventy-hub-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.page-template-page-airventy-home .airventy-hub-grid .airventy-card h3 {
		font-size: 1.08rem;
	}
}

@media (max-width: 900px) {
	.page-template-page-airventy-home .airventy-home__hero-grid {
		grid-template-columns: 1fr;
	}

	.page-template-page-airventy-home .airventy-home__title {
		max-width: 12ch;
	}
}

@media (max-width: 767px) {
	.page-template-page-airventy-home .airventy-container {
		width: min(100% - 40px, 620px);
	}

	.page-template-page-airventy-home .airventy-home__hero {
		padding: 56px 0 52px;
	}

	.page-template-page-airventy-home .airventy-home__title {
		max-width: 10.5ch;
		font-size: clamp(2.92rem, 12vw, 3.28rem);
		line-height: 1.02;
	}

	.page-template-page-airventy-home .airventy-section {
		padding: 54px 0;
	}

	.page-template-page-airventy-home .airventy-hub-grid .airventy-card__body,
	.page-template-page-airventy-home .airventy-card-grid:not(.airventy-hub-grid) .airventy-card__body {
		padding: 22px 20px;
	}

	.page-template-page-airventy-home .airventy-hub-grid .airventy-card h3,
	.page-template-page-airventy-home .airventy-card-grid:not(.airventy-hub-grid) .airventy-card h3 {
		font-size: 1.16rem;
	}
}

/* Version 1.0.3 — commercial hub landing pages */
.page-template-page-airventy-hub .site-content,
.page-template-page-airventy-hub .content-wrap {
	padding-top: 0;
}

.airventy-hub__hero {
	padding: clamp(60px, 8vw, 110px) 0;
	background: linear-gradient(135deg, #eaf7f8 0%, #fff 62%, #eff7f8 100%);
}

.airventy-hub__hero-grid {
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
	gap: clamp(34px, 7vw, 96px);
}

.airventy-hub__hero-grid--text-only {
	grid-template-columns: minmax(0, 800px);
}

.airventy-hub__hero-copy .airventy-button {
	margin-top: 30px;
}

.airventy-hub__image {
	min-height: 340px;
	border: 1px solid var(--av-line);
}

.airventy-hub__needs .airventy-section__heading,
.airventy-hub__guides .airventy-section__heading,
.airventy-hub__articles .airventy-section__heading {
	margin-bottom: 28px;
}

.airventy-hub__considerations-grid {
	display: grid;
	grid-template-columns: minmax(240px, 0.68fr) minmax(0, 1.32fr);
	gap: clamp(30px, 7vw, 110px);
	align-items: start;
}

.airventy-hub__considerations-grid h2 {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.7rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.airventy-hub__considerations-grid > div > p:last-child {
	margin: 16px 0 0;
	color: var(--av-ink-soft);
	font-size: 1.02rem;
	line-height: 1.65;
}

.airventy-list-card {
	position: relative;
	display: flex;
	min-height: 170px;
	flex-direction: column;
	padding: 24px;
	box-shadow: 0 7px 20px rgba(16, 33, 43, 0.04);
}

.airventy-list-card strong {
	font-size: 1.08rem;
	letter-spacing: -0.018em;
}

.airventy-list-card small {
	margin-top: auto;
	padding-top: 20px;
	color: var(--av-accent-dark);
	font-size: 0.86rem;
	font-weight: 700;
}

.airventy-list-cards--articles .airventy-list-card {
	min-height: 190px;
}

.airventy-hub__education {
	padding: clamp(64px, 9vw, 120px) 0;
	background: #fff;
}

.airventy-hub__education-wrap {
	width: min(900px, calc(100% - 40px));
	margin-inline: auto;
}

.airventy-hub__education-wrap > h2 {
	margin: 0;
	font-size: clamp(1.85rem, 3.4vw, 3rem);
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.airventy-hub__education-content {
	margin-top: 32px;
	color: var(--av-ink);
}

.airventy-hub__education-content > *:first-child {
	margin-top: 0;
}

.airventy-hub__education-content p,
.airventy-hub__education-content li {
	font-size: clamp(1.02rem, 1.15vw, 1.14rem);
	line-height: 1.76;
}

.airventy-hub__education-content h2,
.airventy-hub__education-content h3,
.airventy-hub__education-content h4 {
	margin-top: 2.15em;
	color: var(--av-ink);
	letter-spacing: -0.035em;
	line-height: 1.17;
}

.airventy-hub__education-content h2 {
	font-size: clamp(1.55rem, 2.5vw, 2.15rem);
}

.airventy-hub__education-content h3 {
	font-size: clamp(1.26rem, 2vw, 1.6rem);
}

.airventy-hub__education-content ul,
.airventy-hub__education-content ol {
	padding-left: 1.25em;
}

.airventy-hub__education-content a {
	color: var(--av-accent-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

@media (max-width: 1024px) {
	.airventy-hub__hero-grid,
	.airventy-hub__considerations-grid {
		grid-template-columns: 1fr;
	}

	.airventy-hub__image {
		min-height: 290px;
	}
}

@media (max-width: 767px) {
	.airventy-hub__hero {
		padding: 52px 0 58px;
	}

	.airventy-hub__title {
		font-size: clamp(2.35rem, 12vw, 3.35rem);
	}

	.airventy-hub__intro {
		font-size: 1.04rem;
	}

	.airventy-hub__hero-copy .airventy-button {
		display: flex;
		width: 100%;
	}

	.airventy-hub__image {
		min-height: 230px;
	}

	.airventy-hub__considerations-grid {
		gap: 30px;
	}

	.airventy-list-card,
	.airventy-list-cards--articles .airventy-list-card {
		min-height: 0;
	}

	.airventy-hub__education-wrap {
		width: min(100% - 40px, 900px);
	}

	.airventy-hub__education-content p,
	.airventy-hub__education-content li {
		font-size: 1rem;
		line-height: 1.72;
	}
}

/* AirVenty v1.0.4: automatic hub system + long-form hub reading polish */
.airventy-hub__hero-grid--text-only {
	grid-template-columns: minmax(0, 860px);
}

.airventy-hub__hero-copy .airventy-button {
	margin-top: 28px;
}

.airventy-hub__education {
	padding: clamp(56px, 8vw, 96px) 0 clamp(70px, 10vw, 124px);
	background: #f8faf9;
}

.airventy-hub__education-wrap {
	width: min(900px, calc(100% - 40px));
	margin-inline: auto;
}

.airventy-hub__education-wrap > h2 {
	max-width: 22ch;
	margin: 0;
	font-size: clamp(1.9rem, 3.1vw, 3rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
}

.airventy-hub__education-content {
	margin-top: 30px;
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid var(--av-line);
	border-radius: var(--av-radius);
	background: #fff;
	box-shadow: 0 10px 28px rgba(16, 33, 43, 0.045);
}

.airventy-hub__education-content > *:first-child { margin-top: 0; }
.airventy-hub__education-content > *:last-child { margin-bottom: 0; }

.airventy-hub__education-content p,
.airventy-hub__education-content li {
	font-size: 1.05rem;
	line-height: 1.76;
}

.airventy-hub__education-content h2,
.airventy-hub__education-content h3,
.airventy-hub__education-content h4 {
	color: var(--av-ink);
	letter-spacing: -0.03em;
}

.airventy-hub__education-content h2 {
	margin-top: 2.5em;
	font-size: clamp(1.5rem, 2.5vw, 2.1rem);
	line-height: 1.15;
}

.airventy-hub__education-content h3 {
	margin-top: 1.9em;
	font-size: clamp(1.22rem, 2vw, 1.52rem);
	line-height: 1.22;
}

.airventy-hub__education-content ul,
.airventy-hub__education-content ol {
	margin: 1.1em 0 1.45em;
	padding-left: 1.35em;
}

.airventy-hub__education-content li + li { margin-top: 0.48em; }

.airventy-list-card small {
	display: inline-block;
	margin-top: 18px;
	color: var(--av-accent-dark);
	font-size: 0.84rem;
	font-weight: 700;
}

@media (max-width: 767px) {
	.airventy-hub__education {
		padding: 56px 0 72px;
	}

	.airventy-hub__education-wrap {
		width: min(100% - 32px, 620px);
	}

	.airventy-hub__education-content {
		margin-top: 24px;
		padding: 24px 20px 28px;
		border-radius: 10px;
	}

	.airventy-hub__education-content p,
	.airventy-hub__education-content li {
		font-size: 1rem;
		line-height: 1.72;
	}

	.airventy-hub__education-content h2 { margin-top: 2.2em; }
	.airventy-hub__education-content h3 { margin-top: 1.75em; }
}

/* AirVenty v1.0.6 — hub spacing reset + blog, article, and archive system. */
.airventy-hub-active .site-content,
.airventy-hub-active .content-wrap,
.airventy-hub-active .site-main,
.airventy-article-active .site-content,
.airventy-archive-active .site-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Root hubs must begin directly beneath the Kadence header; no default page-title band. */
.airventy-hub-active .entry-hero,
.airventy-hub-active .page-header,
.airventy-hub-active .kadence-breadcrumb-container {
	display: none !important;
}

.airventy-archive__hero,
.airventy-article__hero {
	padding: clamp(60px, 8vw, 112px) 0 clamp(50px, 6vw, 78px);
	background: linear-gradient(135deg, #eaf7f8 0%, #ffffff 64%, #eff7f8 100%);
}

.airventy-archive__hero h1,
.airventy-article__hero h1 {
	max-width: 14ch;
	margin: 0;
	color: var(--av-ink);
	font-size: clamp(2.45rem, 5vw, 4.75rem);
	letter-spacing: -0.055em;
	line-height: 1.01;
}

.airventy-archive__hero p:not(.airventy-eyebrow) {
	max-width: 690px;
	margin: 22px 0 0;
	color: var(--av-ink-soft);
	font-size: clamp(1.04rem, 1.35vw, 1.2rem);
	line-height: 1.68;
}

.airventy-archive__list {
	padding: clamp(56px, 8vw, 96px) 0 clamp(72px, 10vw, 128px);
	background: var(--av-surface-muted);
}

.airventy-article-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.airventy-article-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--av-line);
	border-radius: var(--av-radius);
	background: var(--av-surface);
	box-shadow: 0 7px 20px rgba(16, 33, 43, 0.045);
}

.airventy-article-card__image {
	display: block;
	aspect-ratio: 16 / 9;
	background: #edf3f4;
}

.airventy-article-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.airventy-article-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
}

.airventy-article-card__title {
	margin: 0;
	font-size: 1.27rem;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.airventy-article-card__title a {
	color: var(--av-ink);
	text-decoration: none;
}

.airventy-article-card__title a:hover { color: var(--av-accent-dark); }

.airventy-article-card__excerpt {
	margin: 14px 0 22px;
	color: var(--av-ink-soft);
	font-size: 0.96rem;
	line-height: 1.6;
}

.airventy-article-card--featured {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
	margin-bottom: 20px;
}

.airventy-article-card--featured .airventy-article-card__image {
	min-height: 360px;
	aspect-ratio: auto;
}

.airventy-article-card--featured .airventy-article-card__body {
	justify-content: center;
	padding: clamp(30px, 5vw, 64px);
}

.airventy-article-card--featured .airventy-article-card__title {
	font-size: clamp(1.85rem, 3vw, 2.8rem);
	line-height: 1.08;
}

.airventy-article-card--featured .airventy-article-card__excerpt {
	font-size: 1.05rem;
	line-height: 1.68;
}

.airventy-archive__empty {
	padding: 32px;
	border: 1px solid var(--av-line);
	border-radius: var(--av-radius);
	background: #fff;
	color: var(--av-ink-soft);
}

.airventy-archive .navigation.pagination {
	margin-top: 38px;
}

.airventy-archive .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.airventy-archive .page-numbers {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--av-line);
	border-radius: 8px;
	background: #fff;
	color: var(--av-ink);
	font-weight: 700;
	text-decoration: none;
}

.airventy-archive .page-numbers.current,
.airventy-archive .page-numbers:hover { border-color: var(--av-accent-dark); background: var(--av-accent-dark); color: #fff; }

.airventy-article__wrap,
.airventy-article__content {
	width: min(860px, calc(100% - 40px));
	margin-inline: auto;
}

.airventy-article__hero h1 { max-width: 15ch; }

.airventy-article__meta {
	margin: 18px 0 0;
	color: #61767d;
	font-size: 0.94rem;
}

.airventy-article__image {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
	overflow: hidden;
	border-radius: var(--av-radius);
	background: var(--av-surface-muted);
}

.airventy-article__image img {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
}

.airventy-article__content {
	padding: clamp(36px, 6vw, 66px) 0 clamp(64px, 9vw, 116px);
}

.airventy-article__content > *:first-child { margin-top: 0; }
.airventy-article__content p,
.airventy-article__content li {
	font-size: clamp(1.04rem, 1.32vw, 1.16rem);
	line-height: 1.78;
}

.airventy-article__content h2,
.airventy-article__content h3,
.airventy-article__content h4 {
	color: var(--av-ink);
	letter-spacing: -0.035em;
	line-height: 1.16;
}

.airventy-article__content h2 { margin-top: 1.35em; margin-bottom: 0.55em; font-size: clamp(1.72rem, 3vw, 2.45rem); }
.airventy-article__content h3 { margin-top: 1.15em; margin-bottom: 0.45em; font-size: clamp(1.34rem, 2.2vw, 1.72rem); }
.airventy-article__content ul,
.airventy-article__content ol { padding-left: 1.35em; }
.airventy-article__content li + li { margin-top: 0.48em; }
.airventy-article__content a { color: var(--av-accent-dark); text-decoration-thickness: 1px; text-underline-offset: 0.15em; }

.airventy-article__related {
	padding: clamp(56px, 8vw, 96px) 0 clamp(70px, 10vw, 120px);
	background: var(--av-surface-muted);
}

.airventy-article-grid--related { margin-top: 0; }

@media (max-width: 900px) {
	.airventy-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.airventy-article-card--featured { grid-template-columns: 1fr; }
	.airventy-article-card--featured .airventy-article-card__image { min-height: 290px; aspect-ratio: 16 / 9; }
}

@media (max-width: 640px) {
	.airventy-archive__hero,
	.airventy-article__hero { padding: 52px 0 48px; }
	.airventy-archive__hero h1,
	.airventy-article__hero h1 { font-size: clamp(2.45rem, 12.2vw, 3.35rem); }
	.airventy-article-grid { grid-template-columns: 1fr; gap: 14px; }
	.airventy-article-card__body { padding: 22px 20px; }
	.airventy-article-card--featured .airventy-article-card__body { padding: 28px 22px 30px; }
	.airventy-article-card--featured .airventy-article-card__title { font-size: 1.86rem; }
	.airventy-article-card--featured .airventy-article-card__image { min-height: 220px; }
	.airventy-article__wrap,
	.airventy-article__content,
	.airventy-article__image { width: min(100% - 32px, 860px); }
	.airventy-article__content { padding-top: 34px; }
	.airventy-article__content p,
	.airventy-article__content li { font-size: 1.03rem; line-height: 1.75; }
	.airventy-article__content h2 { margin-top: 1.2em; margin-bottom: 0.55em; font-size: 1.72rem; }
}

/* AirVenty v1.0.7 — hub hero spacing correction and resilient article TOC. */
/* The issue was the oversized top padding inside the custom hub hero, not the header itself. */
.airventy-hub__hero {
	padding: clamp(48px, 5.2vw, 76px) 0 clamp(58px, 6vw, 88px);
}

/* Keep the disclosure/TOC control compact even when parent-theme SVG rules are present. */
.airventy-article__content .airventy-toc,
.airventy-guide__content .airventy-toc {
	clear: both;
	margin: 30px 0 40px;
	padding: 0;
	border: 1px solid var(--av-line);
	border-radius: 10px;
	background: var(--av-surface);
	overflow: hidden;
}

.airventy-article__content .airventy-toc__summary,
.airventy-guide__content .airventy-toc__summary {
	min-height: 54px;
	padding: 16px 18px;
	line-height: 1.25;
}

.airventy-article__content .airventy-toc__summary svg,
.airventy-guide__content .airventy-toc__summary svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	max-width: 18px !important;
	max-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle;
}

.airventy-article__content .airventy-toc__body,
.airventy-guide__content .airventy-toc__body {
	padding: 0 18px 18px;
}

.airventy-article__content .airventy-toc ol,
.airventy-guide__content .airventy-toc ol {
	margin: 0;
	padding-left: 1.15em;
}

@media (max-width: 767px) {
	.airventy-hub__hero {
		padding: 52px 0 58px;
	}

	.airventy-article__content .airventy-toc,
	.airventy-guide__content .airventy-toc {
		margin: 26px 0 34px;
	}
}

/* AirVenty v1.0.8 — remove Kadence article wrapper gap and rebuild the TOC icon without SVG inheritance. */
/* Kadence adds an outer content wrapper above custom single templates. Reset only our article route. */
.airventy-article-active .content-wrap,
.airventy-article-active .site-main,
.airventy-article-active #primary.content-area {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* The custom article hero should begin immediately after the header, with deliberate internal breathing room only. */
.airventy-article__hero {
	padding: clamp(64px, 5vw, 82px) 0 clamp(48px, 4.5vw, 68px);
}

/* Do not use an SVG here: broad Kadence SVG rules can stretch it into a page-sized chevron. */
.airventy-toc__icon {
	display: block !important;
	flex: 0 0 10px;
	width: 10px !important;
	height: 10px !important;
	margin: 0 3px 4px 0 !important;
	padding: 0 !important;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease, margin 0.2s ease;
}

.airventy-toc.is-open .airventy-toc__icon {
	margin: 4px 3px 0 0 !important;
	transform: rotate(225deg);
}

/* Defensive fallback: hide any legacy SVG arrow saved by old cached markup. */
.airventy-toc__summary svg {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

@media (max-width: 640px) {
	.airventy-article__hero {
		padding: 48px 0 42px;
	}
}


/* AirVenty v1.0.9 — unified header-to-template alignment and trust/legal pages. */
/* Kadence can place its page-content wrapper around custom templates. Remove only that
   wrapper spacing for our hub, archive, article, and trust/legal routes. */
.airventy-hub-active #main,
.airventy-hub-active .site-main,
.airventy-hub-active .content-wrap,
.airventy-hub-active .content-container,
.airventy-hub-active .site-container,
.airventy-article-active #main,
.airventy-article-active .site-main,
.airventy-article-active .content-wrap,
.airventy-article-active .content-container,
.airventy-article-active .site-container,
.airventy-archive-active #main,
.airventy-archive-active .site-main,
.airventy-archive-active .content-wrap,
.airventy-archive-active .content-container,
.airventy-archive-active .site-container,
.airventy-trust-active #main,
.airventy-trust-active .site-main,
.airventy-trust-active .content-wrap,
.airventy-trust-active .content-container,
.airventy-trust-active .site-container {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* The custom route itself owns all intentional space below the header. */
.airventy-hub-active .airventy-hub,
.airventy-article-active .airventy-article,
.airventy-archive-active .airventy-archive,
.airventy-trust-active .airventy-trust {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Slightly tighter desktop presentation without changing the visual language. */
.airventy-hub__hero {
	padding-top: clamp(40px, 4.15vw, 62px);
	padding-bottom: clamp(48px, 5vw, 74px);
}
.airventy-archive__hero {
	padding-top: clamp(48px, 5vw, 72px);
	padding-bottom: clamp(44px, 4.6vw, 66px);
}
.airventy-article__hero {
	padding-top: clamp(48px, 4.6vw, 70px);
	padding-bottom: clamp(42px, 4vw, 60px);
}

/* Trust and legal routes: simple, readable, deliberately non-promotional. */
.airventy-trust__hero {
	padding: clamp(52px, 6vw, 86px) 0 clamp(46px, 5vw, 70px);
	background: linear-gradient(135deg, #eaf7f8 0%, #ffffff 64%, #eff7f8 100%);
}
.airventy-trust__hero h1 {
	max-width: 14ch;
	margin: 0;
	color: var(--av-ink);
	font-size: clamp(2.35rem, 4.75vw, 4.35rem);
	letter-spacing: -0.055em;
	line-height: 1.03;
}
.airventy-trust__hero p:not(.airventy-eyebrow) {
	max-width: 700px;
	margin: 20px 0 0;
	color: var(--av-ink-soft);
	font-size: clamp(1.04rem, 1.28vw, 1.18rem);
	line-height: 1.7;
}
.airventy-trust__content {
	width: min(900px, calc(100% - 40px));
	margin: 0 auto;
	padding: clamp(46px, 6vw, 74px) 0 clamp(72px, 9vw, 112px);
}
.airventy-trust__content > *:first-child { margin-top: 0; }
.airventy-trust__content p,
.airventy-trust__content li {
	font-size: clamp(1.02rem, 1.24vw, 1.14rem);
	line-height: 1.78;
}
.airventy-trust__content h2,
.airventy-trust__content h3 {
	color: var(--av-ink);
	letter-spacing: -0.035em;
	line-height: 1.16;
}
.airventy-trust__content h2 {
	margin-top: 2.35em;
	font-size: clamp(1.72rem, 2.9vw, 2.35rem);
}
.airventy-trust__content h3 {
	margin-top: 1.9em;
	font-size: clamp(1.28rem, 2.1vw, 1.62rem);
}
.airventy-trust__content ul,
.airventy-trust__content ol { padding-left: 1.35em; }
.airventy-trust__content li + li { margin-top: 0.48em; }
.airventy-trust__content a { color: var(--av-accent-dark); text-underline-offset: 0.15em; }
.airventy-trust__notice {
	margin: 34px 0;
	padding: 20px 22px;
	border: 1px solid var(--av-line);
	border-left: 4px solid var(--av-accent);
	border-radius: 10px;
	background: var(--av-surface-muted);
	color: var(--av-ink-soft);
	font-size: 0.98rem;
	line-height: 1.65;
}

@media (max-width: 640px) {
	.airventy-hub__hero { padding: 42px 0 52px; }
	.airventy-archive__hero { padding: 46px 0 44px; }
	.airventy-article__hero { padding: 44px 0 40px; }
	.airventy-trust__hero { padding: 48px 0 44px; }
	.airventy-trust__content { width: min(100% - 32px, 900px); padding-top: 38px; }
	.airventy-trust__content p,
	.airventy-trust__content li { font-size: 1.02rem; line-height: 1.75; }
}


/* AirVenty v1.0.10 — legal-page heading rhythm and reading-time metadata. */
/* Keep legal pages compact: the title band already introduces the page, so the first heading
   must not inherit WordPress/Kadence's large default top margin. */
.airventy-trust__content > h2:first-child,
.airventy-trust__content > h3:first-child,
.airventy-trust__content > p + h2:first-child {
	margin-top: 0 !important;
}

.airventy-trust__content h2 {
	margin-top: 1.35em;
	margin-bottom: 0.55em;
}

.airventy-trust__content h3 {
	margin-top: 1.1em;
	margin-bottom: 0.45em;
}

/* Informational article meta intentionally shows reading time only; dates are suppressed in PHP. */
.airventy-article__meta {
	display: inline-flex;
	align-items: center;
	margin: 16px 0 0;
	font-family: var(--global-body-font-family, inherit);
	font-weight: 600;
	letter-spacing: 0.01em;
}

@media (max-width: 640px) {
	.airventy-trust__content h2 { margin-top: 1.25em; }
	.airventy-trust__content h3 { margin-top: 1.05em; }
}


/* AirVenty v1.0.11 — tighter informational article heading rhythm.
   The 2.45em article H2 gap was too large and created an unnecessary visual break. */
.airventy-article__content > h2:first-child,
.airventy-article__content > h3:first-child {
	margin-top: 0 !important;
}

@media (max-width: 640px) {
	.airventy-article__content h2 { margin-top: 1.2em; }
	.airventy-article__content h3 { margin-top: 1.05em; }
}
