/* Lemax GO – page sections below the fold. One block per part in lemax-go/parts/.
 * Above-the-fold blocks live in critical.css. */

/* =================================================================
 * Growth shouldn't feel like this (parts/journey.php)
 * ============================================================== */

.lgo-journey {
	position: relative;
	z-index: 11;
	background: var(--lgo-white);
}

.lgo-journey__outer {
	position: relative;
	z-index: 2;
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 72px) clamp(16px, 3vw, 32px) clamp(40px, 5vw, 64px);
}

.lgo-journey__card {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: clamp(34px, 5vw, 72px) clamp(20px, 4.5vw, 64px) clamp(40px, 5vw, 72px);
	background: var(--lgo-sky-50);
	border-radius: var(--lgo-radius);
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.06), 0 30px 80px rgba(0, 150, 220, 0.22);
}

.lgo-journey__head {
	max-width: 940px;
	margin: 0 auto 36px;
	text-align: center;
}

.lgo-journey__head .lgo-h2 {
	margin-bottom: 16px;
}

.lgo-journey__lead {
	font-weight: var(--lgo-bold);
	font-size: clamp(19px, 2vw, 22px);
	line-height: 1.3;
	letter-spacing: -0.01em;
	text-align: center;
	margin-bottom: 24px;
}

.lgo-tabs--spread {
	justify-content: space-between;
	gap: 18px;
	margin-bottom: clamp(32px, 4vw, 52px);
	scroll-snap-type: x proximity;
}

.lgo-tabs--spread .lgo-tabs__tab {
	display: flex;
	align-items: center;
	gap: 9px;
}

@media (max-width: 768px) {
	.lgo-tabs--spread {
		padding-right: 28px;
		-webkit-mask-image: linear-gradient(to right, #000 0%, #000 86%, rgba(0, 0, 0, 0) 100%);
		mask-image: linear-gradient(to right, #000 0%, #000 86%, rgba(0, 0, 0, 0) 100%);
	}

	.lgo-desk-only {
		display: none;
	}
}

.lgo-journey__panel {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}

.lgo-journey__panel[hidden] {
	display: none;
}

.lgo-journey__text {
	flex: 2.2 1 420px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.lgo-journey__pain {
	font-weight: var(--lgo-bold);
	font-size: clamp(22px, 2.4vw, 30px);
	letter-spacing: -0.02em;
	line-height: 1.22;
	margin-bottom: 20px;
}

.lgo-journey__solution {
	font-weight: var(--lgo-regular);
	font-size: clamp(17px, 1.6vw, 19px);
	line-height: 1.55;
	margin-bottom: 22px;
}

.lgo-journey__product {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 28px;
	font-size: 16px;
	line-height: 1.55;
}

.lgo-journey__product::before {
	content: "";
	flex: none;
	width: 3px;
	align-self: stretch;
	min-height: 18px;
	border-radius: 999px;
	background: var(--lgo-cyan);
}

.lgo-journey__switch {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 28px;
	padding-top: 22px;
	border-top: 1px solid #c4e9f9;
}

.lgo-journey__visual {
	position: relative;
	flex: 1 1 240px;
	max-width: 360px;
	aspect-ratio: 1 / 1;
	border-radius: var(--lgo-radius);
	display: flex;
}

/* =================================================================
 * Built for your business (parts/business-types.php)
 * ============================================================== */

.lgo-business__inner {
	padding-bottom: clamp(64px, 10vw, 136px);
}

.lgo-business__title {
	padding-top: clamp(32px, 4vw, 48px);
	margin-bottom: clamp(32px, 4vw, 44px);
	text-align: center;
}

.lgo-business__label {
	font-weight: var(--lgo-bold);
	font-size: 18px;
	text-align: center;
	margin-bottom: 18px;
}

.lgo-business__solutions {
	display: flex;
	justify-content: center;
	gap: clamp(28px, 5vw, 56px);
	width: max-content;
	max-width: 100%;
	margin: 0 auto clamp(44px, 6vw, 64px);
	border-bottom: 1px solid #c4e9f9;
}

.lgo .lgo-business__solution {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: none;
	white-space: nowrap;
	padding: 0 2px 15px;
	font-weight: var(--lgo-bold);
	font-size: 16.5px;
	color: var(--lgo-navy);
	box-shadow: inset 0 -3px 0 transparent;
	transition: color 0.18s, box-shadow 0.18s;
}

.lgo .lgo-business__solution:hover {
	color: var(--lgo-cyan);
	box-shadow: inset 0 -3px 0 var(--lgo-cyan);
}

.lgo-business__tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 18px;
}

.lgo .lgo-tile {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	min-height: 210px;
	background: var(--lgo-cyan);
	border-radius: var(--lgo-radius);
	padding: 28px 26px 26px;
	color: var(--lgo-white);
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.08), 0 18px 44px rgba(0, 150, 220, 0.24);
	transition: transform 0.16s, box-shadow 0.16s;
}

.lgo .lgo-tile:hover {
	color: var(--lgo-white);
	transform: translateY(-3px);
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.1), 0 26px 56px rgba(0, 150, 220, 0.32);
}

.lgo-tile__title {
	font-weight: var(--lgo-bold);
	font-size: 21px;
	line-height: 1.24;
	letter-spacing: -0.01em;
}

.lgo-tile__text {
	font-size: 16px;
	line-height: 1.5;
}

.lgo-tile__more {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.45);
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: var(--lgo-bold);
	font-size: var(--lgo-fs-ui);
}

.lgo-tile:hover .lgo-tile__more-label {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.lgo-tile:hover .lgo-arrow {
	transform: translateX(4px);
}

/* =================================================================
 * Is now the right time? (parts/right-time.php)
 * ============================================================== */

.lgo-right-time .lgo-container {
	padding-top: clamp(74px, 12vw, 160px);
	padding-bottom: clamp(74px, 12vw, 160px);
}

.lgo-right-time__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 1080px;
	margin: 0 auto;
}

.lgo-qcard {
	background: var(--lgo-white);
	color: var(--lgo-navy);
	border-radius: var(--lgo-radius);
	box-shadow: 0 2px 6px rgba(0, 90, 140, 0.08), 0 22px 50px rgba(0, 90, 140, 0.18);
}

.lgo-qcard__summary {
	padding: clamp(24px, 3vw, 36px) clamp(24px, 3.6vw, 48px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.lgo-qcard__head {
	display: block;
	min-width: 0;
}

.lgo-qcard__q {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
}

.lgo-qcard__icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	flex: none;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #e0f7ff;
}

.lgo-qcard__question {
	font-weight: var(--lgo-bold);
	font-size: var(--lgo-fs-ui);
	letter-spacing: 0.01em;
	color: var(--lgo-cyan);
}

.lgo-qcard__answer {
	display: block;
	font-weight: var(--lgo-bold);
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.22;
	letter-spacing: -0.02em;
}

.lgo-qcard__body {
	padding: 0 clamp(24px, 3.6vw, 48px) clamp(28px, 3.6vw, 40px);
	max-width: 820px;
	font-size: 16px;
	line-height: 1.65;
}

.lgo-qcard__body p + p {
	margin-top: 14px;
}

/* =================================================================
 * Live in 90 days (parts/live-in-90-days.php)
 * ============================================================== */

.lgo-l90__inner {
	position: relative;
	z-index: 2;
	padding-top: clamp(64px, 10vw, 136px);
	padding-bottom: clamp(64px, 10vw, 136px);
}

.lgo-l90__head {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 28px;
}

.lgo-l90__intro {
	flex: 1 1 320px;
	min-width: 0;
}

.lgo-l90__title {
	letter-spacing: -0.025em;
	line-height: 1.08;
	margin-bottom: 16px;
	max-width: 18ch;
}

.lgo-l90__intro .lgo-text-lg {
	max-width: 52ch;
}

/* Underlined tabs (also used by other tabbed sections) */
.lgo-tabs {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(18px, 2.6vw, 30px);
	flex: none;
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
	border-bottom: 1px solid #c4e9f9;
}

.lgo-tabs::-webkit-scrollbar {
	display: none;
}

.lgo-tabs__tab {
	appearance: none;
	background: none;
	border: 0;
	cursor: pointer;
	flex: none;
	white-space: nowrap;
	position: relative;
	padding: 0 2px 15px;
	font-weight: var(--lgo-bold);
	font-size: 16.5px;
	color: var(--lgo-navy);
	transition: color 0.18s;
}

.lgo-tabs__tab::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	border-radius: 3px;
	background: transparent;
	transition: background 0.18s;
}

.lgo-tabs__tab:hover,
.lgo-tabs__tab[aria-selected="true"] {
	color: var(--lgo-cyan);
}

.lgo-tabs__tab[aria-selected="true"]::after {
	background: var(--lgo-cyan);
}

.lgo-l90__card {
	background: var(--lgo-sky-50);
	border-radius: var(--lgo-radius);
	overflow: hidden;
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.06), 0 30px 80px rgba(0, 150, 220, 0.2);
}

.lgo-l90__panel {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.lgo-l90__panel[hidden] {
	display: none;
}

.lgo-l90__text {
	padding: clamp(32px, 4.5vw, 52px) clamp(22px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
}

.lgo-l90__text .lgo-eyebrow {
	font-size: clamp(13.5px, calc(14px + -0.5 * (100vw - 768px) / 512), 14px);
}

.lgo-l90__step {
	font-weight: var(--lgo-bold);
	font-size: clamp(24px, 3vw, 32px);
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.lgo-l90__facts {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 6px;
}

.lgo-l90__label {
	font-weight: var(--lgo-bold);
	font-size: clamp(13px, calc(14px + -1 * (100vw - 768px) / 512), 14px);
	letter-spacing: 0.04em;
	color: var(--lgo-cyan);
	margin-bottom: 4px;
}

.lgo-l90__fact {
	font-size: 16.5px;
	line-height: 1.6;
}

.lgo-l90__media {
	position: relative;
	min-height: clamp(220px, 36vw, 380px);
}

.lgo-l90__media picture,
.lgo-l90__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.lgo-l90__img {
	object-fit: cover;
	filter: saturate(0.8);
}

.lgo-l90__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(232, 248, 255, 0.28) 0%, rgba(0, 150, 210, 0.16) 100%);
}

.lgo-l90__more {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	margin-top: 32px;
	font-weight: var(--lgo-regular);
	font-size: 17px;
}

.lgo-l90__disclaimer {
	font-size: clamp(13px, calc(14px + -1 * (100vw - 768px) / 512), 14px);
	line-height: 1.6;
	margin-top: 28px;
}

/* =================================================================
 * One platform, two ways to buy (parts/two-ways-to-buy.php)
 * ============================================================== */

.lgo-two-ways {
	position: relative;
	z-index: 10;
	background: var(--lgo-white);
}

.lgo-two-ways__inner {
	max-width: 1080px;
	padding-top: clamp(64px, 9vw, 104px);
	padding-bottom: clamp(64px, 11vw, 144px);
}

.lgo-two-ways .lgo-section-head {
	max-width: 640px;
	margin-bottom: clamp(32px, 4vw, 48px);
}

.lgo-two-ways__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 20px;
}

.lgo-buy-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	background: var(--lgo-sky-50);
	border-radius: var(--lgo-radius);
	padding: clamp(28px, 3.6vw, 40px);
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.06), 0 24px 60px rgba(0, 150, 220, 0.16);
}

.lgo-buy-card--enterprise {
	background: var(--lgo-cyan);
	color: var(--lgo-white);
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.08), 0 24px 60px rgba(0, 150, 220, 0.24);
}

.lgo-buy-card__logo {
	height: 34px;
	width: auto;
}

.lgo-buy-card__text {
	font-weight: var(--lgo-regular);
	font-size: 18px;
	line-height: 1.5;
}

.lgo-buy-card__foot {
	margin-top: auto;
	align-self: stretch;
	padding-top: 18px;
	border-top: 1px solid #d5e3ee;
}

/* =================================================================
 * Closing Book a demo band (parts/cta-book.php)
 * ============================================================== */

.lgo-band.lgo-cta-book {
	z-index: 11;
}

.lgo-cta-book__inner {
	position: relative;
	z-index: 2;
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(64px, 10vw, 128px) var(--lgo-gutter);
	display: flex;
	flex-wrap: wrap;
	gap: clamp(48px, 6vw, 80px);
	align-items: center;
}

.lgo-cta-book__text {
	flex: 1.25 1 440px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: var(--lgo-white);
}

.lgo-cta-book__text .lgo-eyebrow {
	font-size: clamp(13.5px, calc(14px + -0.5 * (100vw - 768px) / 512), 14px);
	margin-bottom: 22px;
}

.lgo-cta-book__title {
	font-weight: var(--lgo-bold);
	font-size: clamp(28px, 3.6vw, 40px);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin-bottom: 18px;
	max-width: 20ch;
	text-wrap: balance;
}

.lgo-cta-book__lead {
	font-size: 17px;
	line-height: 1.6;
	max-width: 54ch;
	margin-bottom: 30px;
}

.lgo-cta-book__actions {
	margin-bottom: 18px;
	align-self: stretch;
}

.lgo-cta-book__note {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 768px) {
	.lgo-cta-book__text {
		align-items: stretch;
	}
}

.lgo-cta-book__visual {
	flex: 1 1 340px;
	min-width: 0;
	max-width: 440px;
	width: 100%;
	margin: 0 auto;
}

/* Illustration: reservations snapshot (parts/visuals/reservations.php) */
.lgo-snap {
	position: relative;
	padding: 0 0 10px;
}

.lgo-snap__back {
	position: absolute;
	inset: 10px 10px -10px 10px;
	background: #d6f2ff;
	border-radius: var(--lgo-radius);
	box-shadow: 0 20px 50px rgba(0, 90, 140, 0.18);
}

.lgo-snap__window {
	position: relative;
	background: var(--lgo-white);
	border-radius: var(--lgo-radius);
	overflow: hidden;
	color: var(--lgo-navy);
	box-shadow: 0 2px 6px rgba(0, 90, 140, 0.1), 0 30px 70px rgba(0, 80, 130, 0.3);
}

@media (min-width: 860px) {
	.lgo-snap {
		padding: 0 8px;
	}

	.lgo-snap__back {
		inset: 18px -10px -14px 14px;
		transform: rotate(-3deg);
	}

	.lgo-snap__window {
		transform: rotate(2deg);
	}
}

.lgo-snap__bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 14px;
	background: var(--lgo-cyan);
}

.lgo-snap__bar img {
	width: 18px;
	height: 18px;
	flex: none;
	object-fit: contain;
}

.lgo-snap__tabs {
	display: flex;
	gap: 2px;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
}

.lgo-snap__tabs span {
	font-weight: var(--lgo-bold);
	font-size: 10px;
	color: var(--lgo-white);
	padding: 3px 5px;
	border-radius: 999px;
}

.lgo-snap__tabs .is-active {
	background: rgba(255, 255, 255, 0.24);
}

.lgo-snap__avatar {
	margin-left: auto;
	flex: none;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: var(--lgo-white);
}

.lgo-snap__body {
	padding: 16px 20px 18px;
}

.lgo-snap__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 12px;
	font-weight: var(--lgo-bold);
	font-size: 14px;
}

.lgo-snap__head span + span {
	font-weight: var(--lgo-regular);
	font-size: 11px;
	color: #6b8296;
}

.lgo-snap__table {
	border: 1px solid #e3eef5;
	border-radius: 10px;
	overflow: hidden;
}

.lgo-snap__row {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	column-gap: 12px;
	row-gap: 7px;
	align-items: start;
	padding: 12px;
}

.lgo-snap__row + .lgo-snap__row {
	border-top: 1px solid #edf3f7;
}

.lgo-snap__ref {
	font-weight: var(--lgo-bold);
	font-size: 11px;
	line-height: 1.35;
	color: var(--lgo-link);
}

.lgo-snap__cell {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	min-width: 0;
}

.lgo-snap__title {
	font-weight: var(--lgo-bold);
	font-size: 13px;
	line-height: 1.35;
}

.lgo-snap__type {
	font-weight: var(--lgo-bold);
	font-size: 9.5px;
	color: #0077a8;
	background: var(--lgo-sky-150);
	border-radius: 999px;
	padding: 3px 8px;
	white-space: nowrap;
}

.lgo-snap__state {
	font-weight: var(--lgo-regular);
	font-size: 13.5px;
	line-height: 1.35;
}

.lgo-snap__progress {
	display: block;
	align-self: stretch;
	height: 5px;
	border-radius: 999px;
	background: var(--lgo-sky-150);
	overflow: hidden;
}

.lgo-snap__progress span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--lgo-cyan);
}

.lgo-snap__badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: var(--lgo-bold);
	font-size: 11.5px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #dff8ec;
	color: #0d8a5a;
	white-space: nowrap;
}

.lgo-snap__badge::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: currentColor;
}

/* HubSpot form (developer embed, inc/forms.php). HubSpot's rules read the
 * --hsf-* variables first, so most of the design is set here; the rules
 * below cover what the variables can't (chips, title, buttons). */
.lgo-hsform {
	--hsf-global__font-family: var(--lgo-font);
	--hsf-global__font-size: 15.5px;
	--hsf-global__color: var(--lgo-navy);
	--hsf-global__error-color: #c8243f;
	--hsf-background__padding: 0;
	--hsf-background__border-style: none;
	--hsf-row__vertical-spacing: 18px;
	--hsf-row__horizontal-spacing: 14px;
	--hsf-module__vertical-spacing: 7px;
	--hsf-richtext__color: var(--lgo-navy);
	--hsf-richtext__font-size: 15.5px;
	--hsf-field-label__color: var(--lgo-navy);
	--hsf-field-label__font-size: 14px;
	--hsf-field-label-requiredindicator__color: var(--lgo-cyan);
	--hsf-field-description__color: #5c7186;
	--hsf-field-description__font-size: 13px;
	--hsf-field-input__font-size: 15.5px;
	--hsf-field-input__color: var(--lgo-navy);
	--hsf-field-input__background-color: rgba(0, 185, 255, 0.06);
	--hsf-field-input__placeholder-color: #7f95a8;
	--hsf-field-input__border-color: rgba(0, 185, 255, 0.16);
	--hsf-field-input__border-width: 1.5px;
	--hsf-field-input__border-style: solid;
	--hsf-field-input__border-radius: var(--lgo-radius);
	--hsf-field-input__padding: 13px 14px;
	--hsf-field-textarea__font-size: 15px;
	--hsf-field-textarea__color: var(--lgo-navy);
	--hsf-field-textarea__background-color: rgba(0, 185, 255, 0.06);
	--hsf-field-textarea__placeholder-color: #7f95a8;
	--hsf-field-textarea__border-color: rgba(0, 185, 255, 0.16);
	--hsf-field-textarea__border-width: 1.5px;
	--hsf-field-textarea__border-style: solid;
	--hsf-field-textarea__border-radius: var(--lgo-radius);
	--hsf-field-textarea__padding: 13px 14px;
	--hsf-field-checkbox__background-color: var(--lgo-white);
	--hsf-field-checkbox__border-color: #9fdcf5;
	--hsf-field-checkbox__border-width: 1.5px;
	--hsf-field-checkbox__border-style: solid;
	--hsf-field-checkbox__color: var(--lgo-cyan);
	--hsf-field-dropdown-options__border-radius: var(--lgo-radius);
	--hsf-erroralert__color: #c8243f;
	--hsf-erroralert__font-size: 13px;
	--hsf-button__font-family: var(--lgo-font);
	--hsf-button__font-size: 16px;
	--hsf-button__font-weight: var(--lgo-bold);
	--hsf-button__color: var(--lgo-white);
	--hsf-button__background-color: var(--lgo-cyan);
	--hsf-button--hover__background-color: var(--lgo-cyan);
	--hsf-button--focus__background-color: var(--lgo-cyan);
	--hsf-button__border-radius: var(--lgo-radius-btn);
	--hsf-button__padding: 16px 24px;
	--hsf-button__box-shadow: 0 8px 20px rgba(0, 185, 255, 0.3);
	--hsf-navigationrow-buttons__justify-content: space-between;
	--hsf-navigationrow-buttons-single__justify-content: stretch;
}

.lgo .lgo-hsform .hsfc-FieldLabel {
	font-weight: var(--lgo-bold);
}

.lgo .lgo-hsform .hsfc-FieldLabel__RequiredIndicator {
	margin-left: 0.3em;
	font-size: 17px;
	line-height: 1;
}

/* Step indicator ("Step 1 of 2", text set in assets/js/lemax-go.js) */
.lgo .lgo-hsform .hsfc-ProgressBar {
	display: flex;
	align-items: center;
	gap: 12px;
}

.lgo .lgo-hsform .hsfc-ProgressBar__Text {
	flex: none;
	margin: 0;
	font-weight: var(--lgo-bold);
	font-size: 12.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #0077a8;
}

.lgo .lgo-hsform .hsfc-ProgressBar__Progress {
	flex: 1 1 0;
	min-width: 0;
	height: 6px;
	border-radius: 999px;
	background: rgba(0, 185, 255, 0.16);
	overflow: hidden;
}

.lgo .lgo-hsform .hsfc-ProgressBar__Progress > div {
	height: 100%;
	border-width: 0;
	border-radius: inherit;
	background: var(--lgo-cyan);
	transition: width 0.3s;
}

.lgo .lgo-hsform .hsfc-TextInput:focus,
.lgo .lgo-hsform .hsfc-TextareaInput:focus {
	border-color: var(--lgo-cyan);
	background-color: var(--lgo-white);
	outline: none;
}

.lgo .lgo-hsform .hsfc-TextInput[aria-invalid="true"],
.lgo .lgo-hsform .hsfc-TextareaInput[aria-invalid="true"] {
	border-color: #c8243f;
}

.lgo .lgo-hsform .hsfc-TextareaInput {
	min-height: 120px;
	resize: vertical;
}

/* Dropdown: HubSpot's own combobox (readonly input + options panel). The
 * panel would otherwise take the translucent input background. */
.lgo .lgo-hsform .hsfc-DropdownInput > .hsfc-TextInput {
	padding-right: 44px;
	text-overflow: ellipsis;
}

.lgo .lgo-hsform .hsfc-DropdownInput > .hsfc-TextInput[aria-expanded="true"] {
	border-color: var(--lgo-cyan);
	background-color: var(--lgo-white);
}

.lgo .lgo-hsform .hsfc-DropdownInput__Caret {
	padding: 0 18px;
}

.lgo .lgo-hsform .hsfc-DropdownInput__Caret > span {
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border: solid var(--lgo-navy);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	transition: transform 0.15s, margin 0.15s;
}

.lgo .lgo-hsform .hsfc-TextInput[aria-expanded="true"] ~ .hsfc-DropdownInput__Caret > span {
	margin-top: 4px;
	transform: rotate(-135deg);
}

.lgo .lgo-hsform .hsfc-DropdownOptions {
	margin-top: 6px;
	padding: 6px;
	background: var(--lgo-white);
	border: 1.5px solid rgba(0, 185, 255, 0.16);
	border-radius: var(--lgo-radius);
	box-shadow: 0 16px 40px rgba(2, 33, 66, 0.14);
}

.lgo .lgo-hsform .hsfc-DropdownOptions__Search {
	padding: 0 0 6px;
}

.lgo .lgo-hsform .hsfc-DropdownOptions__Search .hsfc-TextInput {
	padding: 9px 12px;
	font-size: 14px;
}

.lgo .lgo-hsform .hsfc-DropdownOptions__List__ListItem {
	min-height: 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: none;
	font-size: 15px;
	line-height: 1.35;
	transition: background 0.1s;
}

.lgo .lgo-hsform .hsfc-DropdownOptions__List__ListItem:hover,
.lgo .lgo-hsform .hsfc-DropdownOptions__List__ListItem:focus {
	filter: none;
	background: rgba(0, 185, 255, 0.1);
}

.lgo .lgo-hsform .hsfc-DropdownOptions__List__ListItem--selected {
	filter: none;
	background: rgba(0, 185, 255, 0.1);
	color: var(--lgo-link);
}

/* Rich text: a leading bold line in a step is the card title */
.lgo .lgo-hsform .hsfc-RichText {
	line-height: 1.55;
}

.lgo .lgo-hsform .hsfc-Step__Content > .hsfc-Row:first-child .hsfc-RichText p:first-child > strong:only-child {
	display: block;
	font-weight: var(--lgo-bold);
	font-size: clamp(22px, 2.4vw, 26px);
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin-bottom: 8px;
}

.lgo .lgo-hsform .hsfc-Step__Content > .hsfc-Row:first-child .hsfc-RichText {
	margin-bottom: 8px;
}

.lgo .lgo-hsform .hsfc-RichText p + p {
	margin-top: 8px;
}

.lgo .lgo-hsform .hsfc-RichText a {
	font-weight: var(--lgo-regular);
	color: var(--lgo-link);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Multiple checkboxes → chips */
.lgo .lgo-hsform .hsfc-CheckboxFieldGroup__Options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lgo .lgo-hsform .hsfc-CheckboxFieldGroup__Options > div {
	margin: 0;
}

.lgo .lgo-hsform .hsfc-CheckboxFieldGroup__Options label {
	cursor: pointer;
	display: inline-flex;
	gap: 9px;
	font-weight: var(--lgo-regular);
	font-size: 14px;
	line-height: 1.3;
	padding: 9px 14px 9px 10px;
	border-radius: 999px;
	border: 1.5px solid rgba(0, 185, 255, 0.16);
	background: rgba(0, 185, 255, 0.06);
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.lgo .lgo-hsform .hsfc-CheckboxFieldGroup__Options label:has(input:checked) {
	background: var(--lgo-cyan);
	border-color: var(--lgo-cyan);
	color: var(--lgo-white);
}

.lgo .lgo-hsform .hsfc-CheckboxInput {
	flex: none;
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	padding: 0;
	margin: 0;
	border-radius: 5px;
}

.lgo .lgo-hsform .hsfc-CheckboxFieldGroup__Options .hsfc-CheckboxInput:checked {
	border-color: var(--lgo-white);
}

/* Consent */
.lgo .lgo-hsform .hsfc-DataPrivacyField .hsfc-RichText,
.lgo .lgo-hsform .hsfc-DataPrivacyField .hsfc-FieldLabel {
	font-weight: var(--lgo-light);
	font-size: 13.5px;
	line-height: 1.55;
}

.lgo .lgo-hsform .hsfc-CheckboxField .hsfc-FieldLabel {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	cursor: pointer;
}

/* Buttons: Next / Submit primary, Previous as a text link */
.lgo .lgo-hsform .hsfc-NavigationRow__Buttons {
	flex-direction: row;
	flex-wrap: wrap;
}

.lgo .lgo-hsform .hsfc-NavigationRow__Buttons > * {
	width: auto;
	flex: 1 1 auto;
}

.lgo .lgo-hsform .hsfc-NavigationRow__Buttons:not(:has(> :only-child)) > .hsfc-Button:first-child {
	flex: 0 0 auto;
	background: none;
	box-shadow: none;
	color: #5c7186;
	font-weight: var(--lgo-regular);
	font-size: 15px;
	padding: 10px 0;
}

.lgo .lgo-hsform .hsfc-NavigationRow__Buttons:not(:has(> :only-child)) > .hsfc-Button:first-child:hover {
	color: var(--lgo-navy);
	transform: none;
}

.lgo .lgo-hsform .hsfc-NavigationRow__Buttons:not(:has(> :only-child)) > .hsfc-Button:last-child {
	flex: 0 1 auto;
	padding: 15px 30px;
}

/* Create → Report stages (parts/stage-line.php) */
.lgo-stages__inner {
	max-width: 1120px;
	padding-top: clamp(56px, 7vw, 80px);
	padding-bottom: clamp(64px, 11vw, 144px);
}

.lgo-stages__title {
	max-width: 760px;
	margin: 0 auto clamp(32px, 4vw, 48px);
	text-align: center;
	text-wrap: balance;
}

.lgo-stages__list {
	max-width: 1000px;
	margin: 0 auto;
}

.lgo-stage {
	position: relative;
	display: flex;
	gap: clamp(16px, 2.6vw, 32px);
	padding-bottom: clamp(40px, calc(40px + 16 * (100vw - 768px) / 512), 56px);
}

.lgo-stage:last-child {
	padding-bottom: 0;
}

.lgo-stage__node {
	position: relative;
	z-index: 1;
	flex: none;
	width: clamp(32px, 4vw, 44px);
	height: clamp(32px, 4vw, 44px);
	border-radius: 999px;
	background: var(--lgo-white);
	border: 2px solid var(--lgo-cyan);
	color: var(--lgo-cyan);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.45s ease, color 0.45s ease;
}

.lgo-stage.is-on .lgo-stage__node {
	background: var(--lgo-cyan);
	color: var(--lgo-white);
}

.lgo-stage__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 14px clamp(24px, 4.4vw, 56px);
	padding-top: 4px;
}

.lgo-stage__q {
	flex: 1 1 300px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lgo-stage__label {
	font-weight: var(--lgo-bold);
	font-size: 14px;
	letter-spacing: 0.01em;
	color: var(--lgo-cyan);
}

.lgo-stage__pain {
	font-weight: var(--lgo-bold);
	font-size: clamp(20px, 2.1vw, 24px);
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.lgo-stage__a {
	flex: 1.22 1 340px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

@media (min-width: 860px) {
	.lgo-stage__a {
		padding-top: 27px;
	}
}

.lgo-stage__solution {
	font-weight: var(--lgo-regular);
	font-size: clamp(16.5px, 1.5vw, 18px);
	line-height: 1.55;
}

.lgo-stage__product {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: var(--lgo-fs-ui);
	line-height: 1.55;
	color: #3b566c;
}

.lgo-stage__product::before {
	content: "";
	flex: none;
	width: 3px;
	align-self: stretch;
	min-height: 18px;
	border-radius: 999px;
	background: var(--lgo-cyan);
}

/* "Live in 90 days, timed around your season" band (parts/live-in-90-band.php) */
.lgo-timeline__inner {
	position: relative;
	z-index: 2;
	max-width: 1120px;
	padding-top: clamp(74px, 13vw, 168px);
	padding-bottom: clamp(74px, 13vw, 168px);
	color: var(--lgo-white);
}

.lgo-timeline__head {
	margin-bottom: clamp(40px, 5vw, 60px);
	gap: 14px;
}

.lgo-timeline__head .lgo-h2 {
	color: var(--lgo-white);
	text-wrap: balance;
	margin: 0;
}

.lgo-timeline__intro {
	font-size: clamp(17px, 1.8vw, 19px);
	line-height: 1.6;
}

.lgo-timeline__track {
	position: relative;
}

.lgo-timeline__steps {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	row-gap: 28px;
}

.lgo-timeline__rail {
	display: none;
	position: absolute;
	left: 10%;
	right: 10%;
	top: 27px;
	height: 1.5px;
	background: rgba(255, 255, 255, 0.35);
}

.lgo-timeline__fill {
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.85);
	transform-origin: 0 50%;
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.lgo-timeline.lgo-anim .lgo-timeline__fill {
	transform: scaleX(0);
}

.lgo-timeline.lgo-anim.is-filled .lgo-timeline__fill {
	transform: scaleX(1);
}

.lgo-timeline__step {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

/* Vertical connector between steps (narrow layout) */
.lgo-timeline__step:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 20px;
	top: 40px;
	bottom: -28px;
	width: 1.5px;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, 0.7);
}

.lgo-timeline__node {
	position: relative;
	z-index: 1;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lgo-white);
	color: var(--lgo-cyan);
	box-shadow: 0 10px 24px rgba(0, 90, 140, 0.25);
}

.lgo-timeline__step--first .lgo-timeline__node {
	background: var(--lgo-cyan);
	color: var(--lgo-white);
	border: 2px solid var(--lgo-white);
	box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.28), 0 0 34px rgba(255, 255, 255, 0.55);
}

.lgo-timeline__text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding-top: 8px;
}

.lgo-timeline__label {
	font-weight: var(--lgo-regular);
	font-size: clamp(13px, calc(14px + -1 * (100vw - 768px) / 512), 14px);
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.8);
}

.lgo-timeline__title {
	font-weight: var(--lgo-bold);
	font-size: clamp(18px, 1.7vw, 20px);
	line-height: 1.25;
	text-wrap: balance;
}

.lgo-timeline__desc {
	font-weight: var(--lgo-regular);
	font-size: var(--lgo-fs-ui);
	line-height: 1.5;
	max-width: 24ch;
	text-wrap: pretty;
}

@media (min-width: 860px) {
	.lgo-timeline__steps {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 20px;
	}

	.lgo-timeline__rail {
		display: block;
	}

	.lgo-timeline__step {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
	}

	.lgo-timeline__step:not(:last-child)::after {
		display: none;
	}

	.lgo-timeline__node {
		width: 56px;
		height: 56px;
	}

	.lgo-timeline__text {
		align-items: center;
		padding-top: 0;
	}

	.lgo-timeline__title {
		min-height: 2.5em;
	}
}

.lgo-timeline__foot {
	margin-top: clamp(44px, 5.5vw, 64px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
	text-align: center;
}

.lgo-timeline__more {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px 10px;
	font-size: 16px;
}

.lgo-timeline__disclaimer {
	font-size: clamp(13px, calc(14px + -1 * (100vw - 768px) / 512), 14px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.7);
	max-width: 1060px;
}

/* Feature cards on blue (parts/feature-cards.php) */
.lgo-features__inner {
	position: relative;
	z-index: 2;
	max-width: 1120px;
	padding-top: clamp(74px, 13vw, 168px);
	padding-bottom: clamp(74px, 13vw, 168px);
}

.lgo-features__title {
	max-width: 700px;
	margin: 0 auto clamp(36px, 4.5vw, 52px);
	text-align: center;
	text-wrap: balance;
	color: var(--lgo-white);
}

.lgo-features__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 20px;
}

.lgo-feature {
	display: grid;
	grid-row: span 3;
	grid-template-rows: subgrid;
	row-gap: 12px;
	align-items: start;
	background: var(--lgo-white);
	color: var(--lgo-navy);
	border-radius: var(--lgo-radius);
	padding: clamp(26px, 3.2vw, 34px);
	box-shadow: 0 2px 6px rgba(0, 90, 140, 0.08), 0 24px 60px rgba(0, 90, 140, 0.22);
}

.lgo-feature__bar {
	display: block;
	width: 28px;
	height: 3px;
	border-radius: 999px;
	background: var(--lgo-cyan);
}

.lgo-feature__title {
	font-weight: var(--lgo-bold);
	font-size: 20px;
	line-height: 1.25;
}

.lgo-feature__text {
	font-size: 16px;
	line-height: 1.6;
}

/* Business tiles section (parts/business-tiles.php) */
.lgo-tiles-section__inner {
	max-width: 1120px;
	padding-top: clamp(64px, 11vw, 136px);
	padding-bottom: clamp(48px, 6vw, 72px);
}

.lgo-tiles-section__title {
	text-align: center;
	text-wrap: balance;
	margin-bottom: clamp(32px, 4vw, 44px);
}

/* Two ways to buy spacing variants */
.lgo-two-ways--compact .lgo-two-ways__inner {
	padding-top: clamp(48px, 6vw, 72px);
	padding-bottom: clamp(74px, 13vw, 160px);
}

.lgo-two-ways--overlap {
	margin-top: var(--lgo-overlap);
	border-radius: var(--lgo-radius) var(--lgo-radius) 0 0;
}

.lgo-two-ways--overlap .lgo-two-ways__inner {
	padding-top: clamp(64px, 11vw, 128px);
	padding-bottom: clamp(74px, 13vw, 160px);
}

/* Business types without the overlap (Product page) */
.lgo-business--flat {
	border-radius: 0;
}

.lgo-business--flat .lgo-business__inner {
	padding-top: clamp(24px, 3vw, 40px);
	padding-bottom: clamp(40px, 5vw, 56px);
}

/* Module anchor bar (sticky under the site nav while the modules scroll) */
.lgo-modbar {
	position: sticky;
	top: var(--lgo-nav-h);
	z-index: 50;
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid #c4e9f9;
}

.admin-bar .lgo-modbar {
	top: calc(var(--lgo-nav-h) + 32px);
}

@media (max-width: 782px) {
	.admin-bar .lgo-modbar {
		top: calc(var(--lgo-nav-h) + 46px);
	}
}

@media (max-width: 600px) {
	.admin-bar .lgo-modbar {
		top: var(--lgo-nav-h);
	}
}

.lgo-modbar__inner {
	max-width: 1160px;
	margin: 0 auto;
	padding: 18px var(--lgo-gutter) 0;
	display: flex;
	justify-content: center;
	gap: clamp(20px, 4.4vw, 56px);
	overflow-x: auto;
	scrollbar-width: none;
}

.lgo-modbar__inner::-webkit-scrollbar {
	display: none;
}

.lgo .lgo-modbar__link {
	flex: none;
	white-space: nowrap;
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 0 2px 15px;
	font-weight: var(--lgo-bold);
	font-size: 16.5px;
	color: var(--lgo-navy);
	transition: color 0.18s;
}

.lgo .lgo-modbar__link:hover,
.lgo .lgo-modbar__link.is-active {
	color: var(--lgo-cyan);
}

.lgo-modbar__link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	border-radius: 3px;
	background: transparent;
	transition: background 0.18s;
}

.lgo-modbar__link.is-active::after {
	background: var(--lgo-cyan);
}

@media (max-width: 768px) {
	.lgo-modbar__inner {
		gap: 0;
		justify-content: space-between;
	}

	.lgo .lgo-modbar__link {
		font-size: 15px;
	}

	.lgo-modbar__icon {
		display: none;
	}
}

/* Modules (#create … #report) */
.lgo-module {
	position: relative;
	background: var(--lgo-white);
	/* Added to the page's scroll-padding (nav height + 16px): room for the module bar. */
	scroll-margin-top: 56px;
}

.lgo-module--tint {
	background: linear-gradient(170deg, #ffffff 0%, #f4fbff 40%, #e6f6fe 100%);
}

.lgo-module--last {
	z-index: 10;
	margin-bottom: var(--lgo-overlap);
	border-radius: 0 0 var(--lgo-radius) var(--lgo-radius);
	overflow: hidden;
}

.lgo-module__inner {
	max-width: 1160px;
	margin: 0 auto;
	padding: clamp(64px, 8vw, 104px) var(--lgo-gutter);
	display: flex;
	flex-wrap: wrap;
	gap: clamp(36px, 4.6vw, 56px);
	align-items: center;
}

.lgo-module--reverse .lgo-module__inner {
	flex-direction: row-reverse;
}

.lgo-module--last .lgo-module__inner {
	padding-bottom: clamp(64px, 11vw, 140px);
}

.lgo-module__text {
	flex: 1.35 1 440px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.lgo-module__eyebrow {
	margin-bottom: 18px;
}

.lgo-module__pain {
	display: flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	margin-bottom: 22px;
	padding: 12px 18px;
	border-radius: var(--lgo-radius);
	background: radial-gradient(260px 160px at 110% 120%, rgba(0, 185, 255, 0.32) 0%, rgba(0, 185, 255, 0) 72%), linear-gradient(170deg, #ffffff 0%, #f1faff 45%, #dff3fd 100%);
	box-shadow: inset 0 0 0 1px #cfeeff;
	font-weight: var(--lgo-bold);
	font-size: clamp(15.5px, calc(16px + -0.5 * (100vw - 768px) / 512), 16px);
	line-height: 1.4;
}

@media (min-width: 1180px) {
	.lgo-module__pain {
		white-space: nowrap;
	}
}

.lgo-module__title {
	max-width: 22ch;
	margin-bottom: 16px;
	text-wrap: balance;
}

.lgo-module__lead {
	font-size: clamp(17px, 1.7vw, 19px);
	line-height: 1.6;
	max-width: 52ch;
	margin-bottom: 30px;
}

.lgo-module__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 30px;
}

.lgo-module__list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.lgo-module__list .lgo-icon {
	flex: none;
	margin-top: 3px;
}

.lgo-module__list p {
	font-size: 16px;
	line-height: 1.55;
}

.lgo-module__list strong,
.lgo-ai-card strong {
	font-weight: var(--lgo-bold);
}

.lgo-module__changes {
	align-self: stretch;
	background: var(--lgo-sky-100);
	border-radius: var(--lgo-radius);
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lgo-module__changes span {
	font-weight: var(--lgo-bold);
	font-size: clamp(12.5px, calc(14px + -1.5 * (100vw - 768px) / 512), 14px);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #0077a8;
}

.lgo-module__changes p {
	font-weight: var(--lgo-regular);
	font-size: 16.5px;
	line-height: 1.5;
}

.lgo-module__changes-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 8px;
	padding: 0;
	list-style: none;
}

.lgo-module__changes-list li {
	position: relative;
	padding-left: 18px;
	font-size: 15.5px;
	line-height: 1.5;
}

.lgo-module__changes-list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.62em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--lgo-cyan);
}

.lgo-module__visual {
	flex: 1 1 380px;
	min-width: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
}

@media (max-width: 768px) {
	.lgo-module__title,
	.lgo-module__lead {
		max-width: none;
	}
}

/* AI on blue (parts/product-extras.php) */
.lgo-ai__inner {
	position: relative;
	z-index: 2;
	max-width: 1120px;
	padding-top: clamp(74px, 13vw, 168px);
	padding-bottom: clamp(74px, 13vw, 168px);
	color: var(--lgo-white);
}

.lgo-ai__head {
	max-width: 720px;
	margin-bottom: clamp(40px, 5vw, 56px);
}

.lgo-ai__head .lgo-eyebrow {
	margin-bottom: 20px;
}

.lgo-ai__head .lgo-h2 {
	color: var(--lgo-white);
}

.lgo-ai__intro {
	font-size: clamp(17px, 1.8vw, 19px);
	line-height: 1.6;
}

.lgo-ai__cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}

.lgo-ai-card {
	flex: 1 1 300px;
	max-width: 356px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--lgo-white);
	color: var(--lgo-navy);
	border-radius: var(--lgo-radius);
	padding: clamp(24px, 3vw, 30px);
	box-shadow: 0 2px 6px rgba(0, 90, 140, 0.1), 0 24px 50px rgba(0, 80, 130, 0.22);
}

.lgo-ai-card .lgo-bar {
	margin-bottom: 6px;
}

.lgo-ai-card__title {
	font-weight: var(--lgo-bold);
	font-size: 19px;
	line-height: 1.3;
}

.lgo-ai-card__text,
.lgo-int-card__text,
.lgo-sup-card__text {
	font-size: clamp(15.5px, calc(16px + -0.5 * (100vw - 768px) / 512), 16px);
	line-height: 1.55;
}

.lgo-ai__outro {
	font-weight: var(--lgo-regular);
	font-size: clamp(18px, 1.9vw, 21px);
	line-height: 1.5;
	text-align: center;
	max-width: 46ch;
	margin: clamp(40px, 5vw, 56px) auto 0;
	text-wrap: balance;
}

/* Integrations */
.lgo-integrations {
	overflow: visible;
}

.lgo-integrations__inner {
	max-width: 1120px;
	padding-top: clamp(64px, 11vw, 136px);
	padding-bottom: clamp(64px, 8vw, 96px);
}

.lgo-integrations__title,
.lgo-support__title {
	text-align: center;
	margin-bottom: clamp(36px, 4.5vw, 52px);
}

.lgo-integrations__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 18px;
}

.lgo-int-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--lgo-white);
	border: 1px solid #d5e3ee;
	border-radius: var(--lgo-radius);
	padding: 26px 26px 24px;
}

.lgo-int-card__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	min-height: 30px;
}

.lgo-int-card__name {
	font-weight: var(--lgo-bold);
	font-size: 21px;
	letter-spacing: -0.01em;
}

.lgo-int-card__star {
	color: var(--lgo-cyan);
}

.lgo-int-card__text {
	padding-top: 14px;
	border-top: 1px solid var(--lgo-sky-150);
}

.lgo-integrations__footnote {
	margin-top: 16px;
	font-size: clamp(13px, calc(14px + -1 * (100vw - 768px) / 512), 14px);
	line-height: 1.6;
	color: #5c7186;
}

.lgo-integrations__footnote span {
	font-weight: var(--lgo-bold);
	color: var(--lgo-cyan);
}

.lgo-integrations__more {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px 12px;
	margin-top: clamp(28px, 3.5vw, 40px);
	font-size: 16px;
	text-align: center;
}

/* Support */
.lgo-support__inner {
	max-width: 1120px;
	padding-top: clamp(64px, 8vw, 104px);
	padding-bottom: clamp(64px, 8vw, 104px);
}

.lgo-support__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 18px;
}

.lgo-sup-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--lgo-white);
	border-radius: var(--lgo-radius);
	padding: 28px 26px;
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.06), 0 18px 44px rgba(0, 150, 220, 0.12);
}

.lgo-sup-card__title {
	font-weight: var(--lgo-bold);
	font-size: 19px;
}

.lgo-sup-card__text {
	line-height: 1.6;
}

.lgo .lgo-sup-card__text a:not(.lgo-tier-badge) {
	font-weight: var(--lgo-bold);
	color: var(--lgo-navy);
}

.lgo .lgo-sup-card__text a:not(.lgo-tier-badge):hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Live in 90 days note */
.lgo-switch {
	position: relative;
	background: var(--lgo-white);
}

.lgo-switch__inner {
	max-width: 1120px;
	padding-top: clamp(64px, 8vw, 104px);
	padding-bottom: clamp(40px, 5vw, 56px);
}

.lgo-switch__row {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(24px, 4vw, 64px);
	align-items: flex-start;
}

.lgo-switch__head {
	flex: 1 1 360px;
	min-width: 0;
}

.lgo-switch__title {
	max-width: 16ch;
	text-wrap: balance;
}

.lgo-switch__body {
	flex: 1.2 1 400px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 22px;
}

.lgo-switch__body p {
	font-size: clamp(17px, 1.8vw, 19px);
	line-height: 1.6;
}

.lgo-switch__note {
	margin-top: clamp(36px, 4.5vw, 52px);
	padding-top: 18px;
	border-top: 1px solid #c4e9f9;
	font-size: clamp(13px, calc(14px + -1 * (100vw - 768px) / 512), 14px);
	line-height: 1.6;
}

@media (max-width: 768px) {
	.lgo-switch__title {
		max-width: none;
	}
}

/* Heading on a blue band (parts/band-heading.php) */
.lgo-band-heading__inner {
	position: relative;
	z-index: 2;
	max-width: 820px;
	padding-top: clamp(120px, 13vw, 170px);
	padding-bottom: clamp(104px, 11vw, 150px);
	text-align: center;
	color: var(--lgo-white);
}

.lgo-band-heading .lgo-h2 {
	color: var(--lgo-white);
	margin-bottom: 16px;
}

.lgo-band-heading p {
	font-size: 17px;
	line-height: 1.6;
}

/* Info tooltip (lgo_tip()) */
.lgo-tip {
	position: relative;
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: calc(0.32em - 8px);
	margin-left: 6px;
	line-height: 0;
	white-space: normal;
}

.lgo-tip__btn {
	display: block;
	width: 16px;
	height: 16px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #6b8296;
	cursor: pointer;
}

.lgo-tip__btn:hover,
.lgo-tip.is-open .lgo-tip__btn {
	color: var(--lgo-navy);
}

.lgo-tip__box {
	display: none;
	position: absolute;
	z-index: 80;
	bottom: calc(100% + 10px);
	left: -12px;
	width: max-content;
	max-width: min(320px, calc(100vw - 48px));
	padding: 12px 14px;
	border-radius: var(--lgo-radius);
	background: var(--lgo-white);
	box-shadow: 0 2px 6px rgba(3, 26, 44, 0.08), 0 14px 34px rgba(3, 26, 44, 0.18);
	font-weight: var(--lgo-regular);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: normal;
	text-align: left;
	text-transform: none;
	color: var(--lgo-navy);
}

.lgo-tip__box::after {
	content: "";
	position: absolute;
	left: var(--lgo-tip-arrow, 16px);
	bottom: -6px;
	width: 12px;
	height: 12px;
	background: var(--lgo-white);
	transform: rotate(45deg);
	box-shadow: 3px 3px 6px rgba(3, 26, 44, 0.06);
}

.lgo-tip.is-open .lgo-tip__box {
	display: block;
}

/* Comparison table (parts/capability-table.php) */
.lgo-cap {
	overflow: visible;
	scroll-margin-top: 60px;
}

.lgo-cap__inner {
	max-width: 1080px;
	padding-top: clamp(72px, 9vw, 104px);
	padding-bottom: clamp(48px, 6vw, 72px);
}

.lgo-cap__switch {
	display: none;
}

.lgo-cap__table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

.lgo-cap__col-feature {
	width: 44%;
}

.lgo-cap__table thead th {
	padding: 0 6px 16px;
	font-weight: var(--lgo-bold);
	font-size: 14.5px;
	text-align: center;
}

.lgo-cap__table thead th:first-child {
	padding-left: 18px;
	text-align: left;
}

.lgo-cap__group th {
	padding: 14px 0 0;
	text-align: left;
}

.lgo-cap__group span {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 12px 18px;
	border-radius: 10px;
	background: var(--lgo-sky-100);
	font-weight: var(--lgo-bold);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lgo-cap__group span::before {
	content: "";
	flex: none;
	width: 3px;
	height: 14px;
	border-radius: 999px;
	background: var(--lgo-cyan);
}

.lgo-cap__feature,
.lgo-cap__t {
	padding: 13px 6px;
	border-bottom: 1.5px solid #eef9ff;
	vertical-align: middle;
}

.lgo-cap__feature {
	padding-left: 18px;
	padding-right: 18px;
	text-align: left;
	font-weight: var(--lgo-light);
	font-size: 15.5px;
	line-height: 1.45;
}

.lgo-cap__table td.lgo-cap__t {
	text-align: center;
	font-weight: var(--lgo-regular);
	line-height: 1.4;
}

.lgo-cap__yes,
.lgo-cap__no {
	font-size: 17px;
	color: var(--lgo-cyan);
}

.lgo-cap__no {
	color: #b9d7e8;
}

.lgo-cap__text {
	font-size: 15px;
}

.lgo-cap__text--long {
	font-size: 13.5px;
}

.lgo-cap__star {
	font-weight: var(--lgo-bold);
	color: var(--lgo-cyan);
	margin-left: 1px;
}

.lgo-cap__footnote {
	padding: 20px 18px 0;
	font-size: 13px;
	line-height: 1.6;
	color: #5c7186;
}

.lgo-cap__footnote span {
	font-weight: var(--lgo-bold);
	color: var(--lgo-cyan);
}

/* One package at a time on phones */
@media (max-width: 768px) {
	.lgo-cap__switch {
		position: sticky;
		top: var(--lgo-nav-h);
		z-index: 30;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px;
		padding: 4px;
		margin: -10px 0 12px;
		border-radius: 999px;
		background: var(--lgo-sky-100);
		box-shadow: 0 0 0 10px var(--lgo-white);
	}

	.admin-bar .lgo-cap__switch {
		top: calc(var(--lgo-nav-h) + 46px);
	}

	.lgo-cap__switch-btn {
		cursor: pointer;
		border: 0;
		border-radius: 999px;
		min-height: 44px;
		padding: 10px 6px;
		font-weight: var(--lgo-bold);
		font-size: 15px;
		background: transparent;
		color: var(--lgo-navy);
		transition: background 0.15s, color 0.15s;
	}

	.lgo-cap__switch-btn[aria-checked="true"] {
		background: var(--lgo-cyan);
		color: var(--lgo-white);
		box-shadow: 0 4px 12px rgba(0, 185, 255, 0.3);
	}

	.lgo-cap__table thead {
		display: none;
	}

	/* Hidden package columns must not keep their share of the width. */
	.lgo-cap__table {
		table-layout: auto;
	}

	.lgo-cap__table col {
		width: auto;
	}

	.lgo-cap__feature {
		width: 60%;
	}

	.lgo-cap__feature {
		padding: 13px 4px;
	}

	[data-tier="0"] .lgo-cap__t:not(.lgo-cap__t--0),
	[data-tier="1"] .lgo-cap__t:not(.lgo-cap__t--1),
	[data-tier="2"] .lgo-cap__t:not(.lgo-cap__t--2) {
		display: none;
	}
}

@media (max-width: 600px) {
	.admin-bar .lgo-cap__switch {
		top: var(--lgo-nav-h);
	}
}

/* Add-ons (parts/addons.php) */
.lgo-addons__inner {
	max-width: 1080px;
	padding-top: clamp(48px, 6vw, 72px);
	padding-bottom: clamp(104px, 11vw, 144px);
}

.lgo-addons__head {
	max-width: 640px;
	margin-bottom: clamp(32px, 4vw, 48px);
}

.lgo-addons__head .lgo-h2 {
	text-wrap: balance;
}

.lgo-addons__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}

.lgo-addon {
	flex: 1 1 230px;
	max-width: calc(25% - 15px);
	min-width: min(100%, 230px);
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--lgo-sky-50);
	border-radius: var(--lgo-radius);
	padding: clamp(24px, 3vw, 30px);
	box-shadow: 0 2px 6px rgba(0, 120, 180, 0.06), 0 24px 60px rgba(0, 150, 220, 0.12);
}

@media (max-width: 560px) {
	.lgo-addon {
		max-width: none;
	}
}

.lgo-addon__title {
	font-weight: var(--lgo-bold);
	font-size: 19px;
	line-height: 1.3;
}

.lgo-addon__text {
	font-size: 15.5px;
	line-height: 1.55;
}

.lgo-addons__note {
	text-align: center;
	margin-top: 28px;
	font-size: 14px;
	line-height: 1.6;
}

.lgo-addons__disclaimer {
	text-align: center;
	font-size: 13px;
	line-height: 1.6;
	max-width: 80ch;
	margin: clamp(40px, 5vw, 56px) auto 0;
	padding-top: 24px;
	border-top: 1.5px solid #ccf1ff;
	scroll-margin-top: 120px;
}

/* Centred closing band (parts/cta-closing.php) */
.lgo-closing__inner {
	position: relative;
	z-index: 2;
	max-width: 760px;
	padding-top: clamp(120px, 13vw, 170px);
	padding-bottom: clamp(80px, 9vw, 112px);
	text-align: center;
	color: var(--lgo-white);
}

.lgo-closing__title {
	font-weight: var(--lgo-bold);
	font-size: clamp(28px, 3.6vw, 38px);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 auto 16px;
}

.lgo-closing__text {
	font-size: 17px;
	line-height: 1.6;
	max-width: 56ch;
	margin: 0 auto;
}

.lgo .lgo-closing__btn {
	display: inline-flex;
	padding: 16px 40px;
	margin-top: 30px;
}

@media (max-width: 768px) {
	.lgo .lgo-closing__btn {
		display: flex;
		width: 100%;
	}
}

.lgo-closing__actions {
	margin-top: 30px;
}

.lgo .lgo-closing__actions .lgo-closing__btn {
	margin-top: 0;
}

.lgo-closing__more {
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px 10px;
	font-size: 15.5px;
}

.lgo-closing__more .lgo-link {
	font-size: 15.5px;
}
