/*!
 * OnlyaClick GBP Autopilot — product landing page (oac-gbp-landing).
 * One stylesheet, loaded only on the landing view. Every rule is scoped to the
 * page root (html.oacgbp-root / body.oacgbp-page / .oacgbp …).
 *
 * Breakpoints: ≥1180 desktop · 900–1179 compact · 600–899 tablet · <600 mobile.
 */

/* =========================================================================
   1. Tokens — the approved OnlyaClick palette (same as oac-seo-landing) plus
      the AI purple and risk red this product's UI needs.
   ====================================================================== */
.oacgbp-page,
.oacgbp {
	--oac-navy: #071B2E;
	--oac-navy-2: #0B2742;
	--oac-blue: #0866FF;
	--oac-blue-hover: #0057DC;
	--oac-blue-soft: #EAF2FF;
	--oac-cyan: #25A9F0;
	--oac-text: #102033;
	--oac-text-muted: #5B6978;
	--oac-bg: #FFFFFF;
	--oac-bg-soft: #F6F9FC;
	--oac-bg-blue: #F2F7FF;
	--oac-border: #DCE5EE;
	--oac-border-dark: #C7D3DF;
	--oac-success: #087F5B;
	--oac-success-bg: #ECF9F4;
	--oac-warning: #B76A00;
	--oac-warning-text: #8A5300;
	--oac-warning-bg: #FFF5E6;
	--oac-risk: #C0323B;
	--oac-risk-bg: #FDEEEF;
	--oac-ai: #6B4EE6;
	--oac-ai-bg: #F1EDFD;
	--oac-white: #FFFFFF;

	--oac-blue-text: var(--oac-blue-hover);
	--oac-on-navy: #B9C8D8;
	--oac-on-navy-muted: #8FA3B8;

	--oac-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--oac-radius: 18px;
	--oac-radius-md: 14px;
	--oac-radius-sm: 10px;
	--oac-shadow: 0 18px 60px rgba(7, 27, 46, .08);
	--oac-shadow-sm: 0 1px 2px rgba(7, 27, 46, .05), 0 8px 24px rgba(7, 27, 46, .06);
	--oac-shadow-float: 0 10px 32px rgba(7, 27, 46, .12);

	--oacgbp-gutter: 24px;
	--oacgbp-nav-h: 64px;
	--oacgbp-ease: cubic-bezier(.2, .8, .2, 1);
}

/* =========================================================================
   2. Document + reset (scoped)
   ====================================================================== */
html.oacgbp-root {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: 84px;
	background: #fff;
}

/* Only this nav pins on scroll: the oac-sh chrome above is sticky in theory
   but sits in a wrapper its own height, so it scrolls away on this page. */
html.oacgbp-root:has(.oacgbp--with-chrome) {
	scroll-padding-top: 84px;
}

@media (prefers-reduced-motion: no-preference) {
	html.oacgbp-root {
		scroll-behavior: smooth;
	}
}

body.oacgbp-page {
	margin: 0;
	background: #fff;
	color: var(--oac-text);
	font-family: var(--oac-font);
	font-size: 18px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	padding-bottom: var(--oacgbp-sticky-h, 0px);
	overflow-x: clip;
}

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

:where(.oacgbp) :where(h1, h2, h3, h4, p, ul, ol, li, figure, figcaption, blockquote, fieldset, legend, dl, dt, dd) {
	margin: 0;
	padding: 0;
}

:where(.oacgbp) :where(ul, ol)[role="list"] {
	list-style: none;
}

.oacgbp a {
	color: var(--oac-blue-text);
	text-decoration: none;
}

.oacgbp a:hover {
	text-decoration: underline;
}

.oacgbp img {
	max-width: 100%;
	height: auto;
	display: block;
}

.oacgbp-icon {
	width: 1.2em;
	height: 1.2em;
	flex: none;
	vertical-align: -.22em;
}

.oacgbp-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.oacgbp-skip {
	position: absolute;
	left: 12px;
	top: -60px;
	z-index: 200;
	background: var(--oac-navy);
	color: #fff;
	padding: 10px 18px;
	border-radius: 0 0 10px 10px;
	transition: top .2s var(--oacgbp-ease);
}

.oacgbp-skip:focus {
	top: 0;
}

.oacgbp :focus-visible {
	outline: 3px solid var(--oac-blue);
	outline-offset: 2px;
	border-radius: 4px;
}

/* =========================================================================
   3. Layout + type utilities
   ====================================================================== */
.oacgbp-container {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: var(--oacgbp-gutter);
	padding-right: var(--oacgbp-gutter);
}

.oacgbp-container--narrow {
	max-width: 860px;
}

.oacgbp-section {
	padding: 88px 0;
}

.oacgbp-section--soft {
	background: var(--oac-bg-blue);
}

.oacgbp-section--navy {
	background:
		radial-gradient(1000px 600px at 85% -10%, rgba(8, 102, 255, .22), transparent 60%),
		radial-gradient(800px 500px at 10% 110%, rgba(107, 78, 230, .18), transparent 55%),
		var(--oac-navy);
	color: var(--oac-on-navy);
}

.oacgbp-center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.oacgbp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--oac-blue-text);
	text-transform: uppercase;
	margin-bottom: 14px;
}

.oacgbp-eyebrow.oacgbp-center {
	display: flex;
	justify-content: center;
}

.oacgbp-eyebrow__icon {
	width: 1.15em;
	height: 1.15em;
}

.oacgbp-eyebrow--ai {
	color: #B9A5FF;
}

.oacgbp-h2 {
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.16;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--oac-navy);
	max-width: 880px;
}

.oacgbp-h2.oacgbp-center {
	margin-left: auto;
	margin-right: auto;
}

.oacgbp-h2--onnavy {
	color: #fff;
}

.oacgbp-h3 {
	font-size: clamp(24px, 3vw, 30px);
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -.015em;
	color: var(--oac-navy);
}

.oacgbp-accent {
	background: linear-gradient(92deg, var(--oac-blue) 10%, var(--oac-cyan) 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.oacgbp-accent--light {
	background: linear-gradient(92deg, #7FB2FF 10%, #4ED0FF 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.oacgbp-intro {
	font-size: 19px;
	color: var(--oac-text-muted);
	max-width: 720px;
	margin-top: 16px;
}

.oacgbp-intro--onnavy {
	color: var(--oac-on-navy);
}

.oacgbp-body {
	color: var(--oac-text-muted);
	margin-top: 14px;
	max-width: 560px;
}

/* =========================================================================
   4. Buttons
   ====================================================================== */
.oacgbp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--oac-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	padding: 13px 24px;
	border-radius: 12px;
	border: 1.5px solid transparent;
	cursor: pointer;
	text-decoration: none !important;
	transition: background-color .18s var(--oacgbp-ease), color .18s var(--oacgbp-ease), border-color .18s var(--oacgbp-ease), transform .18s var(--oacgbp-ease), box-shadow .18s var(--oacgbp-ease);
}

.oacgbp-btn .oacgbp-icon {
	width: 1.1em;
	height: 1.1em;
}

.oacgbp-btn--primary {
	background: var(--oac-blue);
	color: #fff;
	box-shadow: 0 8px 22px rgba(8, 102, 255, .28);
}

.oacgbp-btn--primary:hover {
	background: var(--oac-blue-hover);
	transform: translateY(-1px);
}

.oacgbp-btn--ghost {
	background: #fff;
	color: var(--oac-navy);
	border-color: var(--oac-border-dark);
}

.oacgbp-btn--ghost:hover {
	border-color: var(--oac-blue);
	color: var(--oac-blue-text);
}

.oacgbp-btn--outline {
	background: transparent;
	color: var(--oac-blue-text);
	border-color: var(--oac-blue);
}

.oacgbp-btn--outline:hover {
	background: var(--oac-blue-soft);
}

.oacgbp-btn--light {
	background: #fff;
	color: var(--oac-navy);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

.oacgbp-btn--light:hover {
	transform: translateY(-1px);
}

.oacgbp-btn--ghost-light {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .45);
}

.oacgbp-btn--ghost-light:hover {
	border-color: #fff;
}

.oacgbp-btn--sm {
	font-size: 14.5px;
	padding: 9px 16px;
	border-radius: 10px;
}

.oacgbp-btn--lg {
	font-size: 17px;
	padding: 15px 28px;
	border-radius: 13px;
}

.oacgbp-btn--xl {
	font-size: 18px;
	padding: 17px 34px;
	border-radius: 14px;
}

.oacgbp-btn--block {
	width: 100%;
}

/* =========================================================================
   5. Badges · chips · dots · stars
   ====================================================================== */
.oacgbp-badge {
	display: inline-flex;
	align-items: center;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 3px 9px;
	border-radius: 999px;
	white-space: nowrap;
}

.oacgbp-badge--ok { background: var(--oac-success-bg); color: var(--oac-success); }
.oacgbp-badge--warn { background: var(--oac-warning-bg); color: var(--oac-warning-text); }
.oacgbp-badge--risk { background: var(--oac-risk-bg); color: var(--oac-risk); }
.oacgbp-badge--ai { background: var(--oac-ai-bg); color: var(--oac-ai); }
.oacgbp-badge--blue { background: var(--oac-blue-soft); color: var(--oac-blue-text); }
.oacgbp-badge--neutral { background: #EEF2F6; color: var(--oac-text-muted); }

.oacgbp-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--oac-border);
	background: #fff;
	color: var(--oac-text-muted);
}

.oacgbp-chip--ok { color: var(--oac-success); border-color: #BCE5D5; background: var(--oac-success-bg); }
.oacgbp-chip--warn { color: var(--oac-warning-text); border-color: #F1D9AE; background: var(--oac-warning-bg); }
.oacgbp-chip--plain { font-size: 14px; padding: 8px 16px; color: var(--oac-navy); }

.oacgbp-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	display: inline-block;
	flex: none;
}

.oacgbp-dot--ok { color: var(--oac-success); }

.oacgbp-stars {
	--stars: 5;
	display: inline-block;
	position: relative;
	width: 74px;
	height: 14px;
	background: repeating-linear-gradient(90deg, #D8E0E9 0 11px, transparent 11px 15px);
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 14" width="15" height="14"><path d="M7.5 .8l1.8 3.9 4.2.6-3 3 .7 4.2-3.7-2-3.7 2 .7-4.2-3-3 4.2-.6z"/></svg>') 0 0/15px 14px repeat-x;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 14" width="15" height="14"><path d="M7.5 .8l1.8 3.9 4.2.6-3 3 .7 4.2-3.7-2-3.7 2 .7-4.2-3-3 4.2-.6z"/></svg>') 0 0/15px 14px repeat-x;
	flex: none;
}

.oacgbp-stars::after {
	content: "";
	position: absolute;
	inset: 0;
	width: calc(var(--stars) / 5 * 100%);
	background: #F5A623;
}

/* Tones (icon wells) */
.oacgbp-tone-ok { color: var(--oac-success); background: var(--oac-success-bg); }
.oacgbp-tone-warn { color: var(--oac-warning); background: var(--oac-warning-bg); }
.oacgbp-tone-ai { color: var(--oac-ai); background: var(--oac-ai-bg); }
.oacgbp-tone-blue { color: var(--oac-blue); background: var(--oac-blue-soft); }
.oacgbp-tone-health { color: var(--oac-risk); background: var(--oac-risk-bg); }

.oacgbp-t-warn { color: var(--oac-warning); }
.oacgbp-t-ai { color: var(--oac-ai); }
.oacgbp-t-blue { color: var(--oac-blue); }

/* =========================================================================
   6. Product nav (sticky under the site chrome)
   ====================================================================== */
.oacgbp-nav {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color .2s var(--oacgbp-ease), box-shadow .2s var(--oacgbp-ease);
}

.oacgbp-nav.is-stuck {
	border-bottom-color: var(--oac-border);
	box-shadow: 0 6px 22px rgba(7, 27, 46, .06);
}

/* With the site chrome above, its "Schedule a Consult" and this nav's
   "Start Free" sit stacked on the right at the top of the page. The site
   header owns that moment: this nav's CTAs stay hidden until the page is
   scrolled (is-stuck) and the site header has moved off. Desktop only —
   mobile oac-sh hides its CTA, so there is nothing to clash with. */
.oacgbp-nav__actions {
	transition: opacity .25s var(--oacgbp-ease);
}

@media (min-width: 600px) {
	.oacgbp--with-chrome .oacgbp-nav:not(.is-stuck) .oacgbp-nav__actions {
		opacity: 0;
		pointer-events: none;
	}
}

.oacgbp-nav__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--oacgbp-gutter);
	height: var(--oacgbp-nav-h);
	display: flex;
	align-items: center;
	gap: 26px;
}

.oacgbp-nav__brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none !important;
	flex: none;
}

/* With the site chrome above (its own OnlyaClick logo), the product nav shows
   only the GBP Autopilot mark — no second logo. */
.oacgbp--with-chrome .oacgbp-nav__logo {
	display: none;
}

.oacgbp--with-chrome .oacgbp-nav__mark {
	font-size: 14px;
	padding: 6px 13px;
}

/* The approved logo PNG has the tagline baked into rows 74–86/96 — the nav
   shows the wordmark rows only (CSS crop of the same file). */
.oacgbp-nav__logo {
	display: block;
	width: 128px;
	aspect-ratio: 400 / 70;
	overflow: hidden;
}

.oacgbp-nav__logo img {
	width: 100%;
	height: auto;
}

.oacgbp-nav__mark {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--oac-blue-text);
	background: var(--oac-blue-soft);
	padding: 4px 10px;
	border-radius: 999px;
	white-space: nowrap;
}

.oacgbp-nav__links {
	display: flex;
	gap: 4px;
	margin: 0 auto;
}

.oacgbp-nav__link {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--oac-text);
	padding: 8px 12px;
	border-radius: 9px;
	text-decoration: none !important;
	white-space: nowrap;
}

.oacgbp-nav__link:hover {
	background: var(--oac-bg-soft);
	color: var(--oac-blue-text);
}

.oacgbp-nav__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: none;
	margin-left: auto;
}

.oacgbp-nav__signin {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--oac-text);
	text-decoration: none !important;
	white-space: nowrap;
}

.oacgbp-nav__signin:hover {
	color: var(--oac-blue-text);
}

/* =========================================================================
   7. Hero
   ====================================================================== */
.oacgbp-hero {
	position: relative;
	padding: 72px 0 96px;
	overflow: visible;
}

.oacgbp-hero__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(900px 480px at 78% 0%, rgba(8, 102, 255, .07), transparent 60%),
		linear-gradient(180deg, var(--oac-bg-blue), #fff 55%);
	pointer-events: none;
}

.oacgbp-hero__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--oacgbp-gutter);
	display: grid;
	grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
	gap: 48px;
	align-items: center;
}

.oacgbp-hero__title {
	font-size: clamp(38px, 4.6vw, 62px);
	line-height: 1.06;
	font-weight: 800;
	letter-spacing: -.025em;
	color: var(--oac-navy);
}

.oacgbp-hero__title span {
	display: block;
}

.oacgbp-hero__title-accent {
	background: linear-gradient(92deg, var(--oac-blue) 5%, var(--oac-cyan) 95%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding-bottom: .08em;
}

.oacgbp-hero__lead {
	margin-top: 22px;
	font-size: 19px;
	color: var(--oac-text-muted);
	max-width: 540px;
}

.oacgbp-hero__lead2 {
	margin-top: 12px;
	font-size: 17px;
	font-weight: 600;
	color: var(--oac-navy);
}

.oacgbp-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.oacgbp-hero__price {
	margin-top: 14px;
	font-size: 14.5px;
	color: var(--oac-text-muted);
}

.oacgbp-hero__trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 18px;
	margin-top: 26px;
	max-width: 520px;
}

.oacgbp-hero__trust li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--oac-text);
}

.oacgbp-hero__trust .oacgbp-icon {
	color: var(--oac-success);
	margin-top: 2px;
}

.oacgbp-hero__visual {
	position: relative;
	min-width: 0;
}

.oacgbp-hero__frame {
	width: 108%;
	max-width: none;
}

.oacgbp-hero__frame-note {
	margin-top: 14px;
	font-size: 12.5px;
	color: var(--oac-text-muted);
	text-align: right;
}

/* =========================================================================
   8. Browser frame + recreated product UI
   ====================================================================== */
.oacgbp-frame {
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow);
	overflow: hidden;
}

.oacgbp-frame--tilt { transform: rotate(.6deg); }
.oacgbp-frame--tilt-l { transform: rotate(-.6deg); }

.oacgbp-frame__bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	background: var(--oac-bg-soft);
	border-bottom: 1px solid var(--oac-border);
}

.oacgbp-frame__dots {
	display: inline-flex;
	gap: 5px;
}

.oacgbp-frame__dots i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #D6DEE7;
}

.oacgbp-frame__url {
	font-size: 12px;
	color: var(--oac-text-muted);
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: 999px;
	padding: 3px 14px;
	flex: 1;
	max-width: 260px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
}

.oacgbp-frame__body {
	padding: 18px;
	font-size: 13.5px;
	line-height: 1.45;
}

.oacgbp-oc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.oacgbp-oc__title {
	display: block;
	font-weight: 700;
	font-size: 15.5px;
	color: var(--oac-navy);
	letter-spacing: -.01em;
}

.oacgbp-oc__biz {
	display: block;
	font-size: 12px;
	color: var(--oac-text-muted);
}

.oacgbp-oc__kpis {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-bottom: 14px;
}

.oacgbp-oc__kpi {
	background: var(--oac-bg-soft);
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	padding: 10px 8px;
	display: grid;
	justify-items: center;
	gap: 4px;
	text-align: center;
}

.oacgbp-oc__kpi-num {
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.oacgbp-oc__kpi-label {
	font-size: 10.5px;
	font-weight: 600;
	color: var(--oac-text-muted);
	text-transform: uppercase;
	letter-spacing: .05em;
}

.oacgbp-oc__kpi-ring {
	--val: 70;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background:
		radial-gradient(closest-side, var(--oac-bg-soft) 72%, transparent 73% 100%),
		conic-gradient(currentColor calc(var(--val) * 1%), #E1E8F0 0);
	display: grid;
	place-items: center;
}

.oacgbp-oc__kpi-ring--warn { color: var(--oac-warning); }

.oacgbp-oc__kpi-ring b {
	font-size: 14px;
	color: var(--oac-navy);
}

.oacgbp-oc__queue {
	display: grid;
	gap: 8px;
}

.oacgbp-oc__row {
	display: flex;
	align-items: center;
	gap: 11px;
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	padding: 10px 12px;
}

.oacgbp-oc__row-icon {
	width: 32px;
	height: 32px;
	border-radius: 9px;
	display: grid;
	place-items: center;
	flex: none;
}

.oacgbp-oc__row-icon .oacgbp-icon {
	width: 17px;
	height: 17px;
}

.oacgbp-oc__row-main {
	flex: 1;
	min-width: 0;
}

.oacgbp-oc__row-main b {
	display: block;
	font-size: 13px;
	color: var(--oac-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.oacgbp-oc__row-main small {
	display: block;
	font-size: 11.5px;
	color: var(--oac-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.oacgbp-oc__row-btn {
	font-size: 12px;
	font-weight: 700;
	color: var(--oac-blue-text);
	background: var(--oac-blue-soft);
	border-radius: 8px;
	padding: 6px 11px;
	white-space: nowrap;
	flex: none;
}

/* Overview (command center) */
.oacgbp-ov__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.oacgbp-ov__grid {
	display: grid;
	grid-template-columns: 54fr 46fr;
	gap: 16px;
}

.oacgbp-ov__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--oac-text-muted);
	margin-bottom: 8px;
}

.oacgbp-ov__card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	padding: 10px 12px;
	background: #fff;
}

.oacgbp-ov__card + .oacgbp-ov__card {
	margin-top: 8px;
}

.oacgbp-ov__biz b {
	display: block;
	font-size: 13px;
	color: var(--oac-navy);
}

.oacgbp-ov__biz small {
	display: block;
	font-size: 11.5px;
	color: var(--oac-text-muted);
}

.oacgbp-ov__score {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 14px;
	font-weight: 800;
	flex: none;
}

.oacgbp-ov__task {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	padding: 10px 12px;
	background: var(--oac-bg-soft);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--oac-navy);
}

.oacgbp-ov__task + .oacgbp-ov__task {
	margin-top: 8px;
}

.oacgbp-ov__task .oacgbp-icon {
	width: 16px;
	height: 16px;
	color: var(--oac-blue);
}

.oacgbp-ov__task span {
	flex: 1;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.oacgbp-ov__go {
	font-style: normal;
	color: var(--oac-blue);
	font-weight: 800;
}

/* Review inbox */
.oacgbp-inbox__list {
	display: grid;
	gap: 10px;
}

.oacgbp-inbox__item {
	display: flex;
	gap: 12px;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	padding: 12px 14px;
	background: #fff;
}

.oacgbp-inbox__avatar {
	--hue: 210;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: hsl(var(--hue), 65%, 92%);
	color: hsl(var(--hue), 55%, 35%);
	font-size: 13px;
	font-weight: 700;
	display: grid;
	place-items: center;
	flex: none;
}

.oacgbp-inbox__main {
	flex: 1;
	min-width: 0;
	display: grid;
	gap: 5px;
}

.oacgbp-inbox__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.oacgbp-inbox__meta b {
	font-size: 13.5px;
	color: var(--oac-navy);
}

.oacgbp-inbox__meta small {
	font-size: 11.5px;
	color: var(--oac-text-muted);
}

.oacgbp-inbox__text {
	font-size: 12.5px;
	color: var(--oac-text-muted);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}

.oacgbp-inbox__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Cadence (posts) */
.oacgbp-cadence__progress {
	display: flex;
	align-items: center;
	gap: 16px;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	background: var(--oac-bg-soft);
	padding: 12px 14px;
	margin-bottom: 12px;
}

.oacgbp-cadence__count b {
	display: block;
	font-size: 20px;
	font-weight: 800;
	color: var(--oac-navy);
	white-space: nowrap;
}

.oacgbp-cadence__count small {
	font-size: 11px;
	color: var(--oac-text-muted);
	white-space: nowrap;
}

.oacgbp-cadence__bar {
	flex: 1;
	height: 9px;
	border-radius: 999px;
	background: #E1E8F0;
	overflow: hidden;
}

.oacgbp-cadence__bar i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--oac-blue), var(--oac-cyan));
	transition: width 1.1s var(--oacgbp-ease) .2s;
}

.oacgbp-cadence__rows {
	display: grid;
	gap: 8px;
}

.oacgbp-cadence__media {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.oacgbp-cadence__tile {
	--hue: 210;
	width: 52px;
	height: 40px;
	border-radius: 8px;
	background: linear-gradient(135deg, hsl(var(--hue), 55%, 88%), hsl(var(--hue), 45%, 76%));
	font-style: normal;
}

.oacgbp-cadence__tile--add {
	background: #fff;
	border: 1.5px dashed var(--oac-border-dark);
	color: var(--oac-text-muted);
	display: grid;
	place-items: center;
	font-weight: 700;
}

/* Location mapping */
.oacgbp-map__rows {
	display: grid;
	gap: 8px;
}

.oacgbp-map__row {
	display: flex;
	align-items: center;
	gap: 11px;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-sm);
	padding: 10px 12px;
	background: #fff;
}

.oacgbp-map__row .oacgbp-icon {
	width: 17px;
	height: 17px;
	color: var(--oac-blue);
	flex: none;
}

.oacgbp-map__row span:not(.oacgbp-badge) {
	flex: 1;
	min-width: 0;
}

.oacgbp-map__row b {
	display: block;
	font-size: 13px;
	color: var(--oac-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.oacgbp-map__row small {
	display: block;
	font-size: 11.5px;
	color: var(--oac-text-muted);
}

/* =========================================================================
   9. Floating hero cards
   ====================================================================== */
.oacgbp-float {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 11px;
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow-float);
	padding: 12px 16px;
	max-width: 250px;
	z-index: 2;
}

.oacgbp-float__icon {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	display: grid;
	place-items: center;
	flex: none;
}

.oacgbp-float__icon .oacgbp-icon {
	width: 20px;
	height: 20px;
}

.oacgbp-float__body b {
	display: block;
	font-size: 13.5px;
	color: var(--oac-navy);
	line-height: 1.3;
}

.oacgbp-float__body small {
	display: block;
	font-size: 11.5px;
	color: var(--oac-text-muted);
	line-height: 1.35;
}

.oacgbp-float__stat {
	color: var(--oac-blue-text);
}

.oacgbp-float--1 { top: -26px; right: -14px; }
.oacgbp-float--2 { top: 26%; left: -34px; }
.oacgbp-float--3 { bottom: 22%; left: -46px; }
.oacgbp-float--4 { bottom: -22px; right: 6%; }

@media (prefers-reduced-motion: no-preference) {
	.oacgbp-float {
		animation: oacgbp-drift 7s ease-in-out infinite;
	}

	.oacgbp-float--2 { animation-delay: 1.6s; }
	.oacgbp-float--3 { animation-delay: 3.1s; }
	.oacgbp-float--4 { animation-delay: 4.4s; }

	@keyframes oacgbp-drift {
		0%, 100% { translate: 0 0; }
		50% { translate: 0 -7px; }
	}
}

/* =========================================================================
   10. Reveal animation (JS adds .is-in; no-JS shows everything)
   ====================================================================== */
@media (prefers-reduced-motion: no-preference) {
	html.js .oacgbp [data-oacgbp-reveal] {
		opacity: 0;
		transform: translateY(15px);
		transition: opacity .55s var(--oacgbp-ease), transform .55s var(--oacgbp-ease);
		transition-delay: var(--oacgbp-delay, 0s);
	}

	html.js .oacgbp [data-oacgbp-reveal].is-in {
		opacity: 1;
		transform: none;
	}
}

/* =========================================================================
   11. "This is different" (§6)
   ====================================================================== */
.oacgbp-different__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	margin-top: 44px;
	align-items: start;
}

.oacgbp-different__col {
	border-radius: var(--oac-radius);
	padding: 30px 30px 26px;
}

.oacgbp-different__col--muted {
	background: #fff;
	border: 1px solid var(--oac-border);
	color: var(--oac-text-muted);
}

.oacgbp-different__col--live {
	background: #fff;
	border: 1.5px solid var(--oac-blue);
	box-shadow: var(--oac-shadow);
}

.oacgbp-different__head {
	font-size: 17px;
	font-weight: 700;
	color: var(--oac-navy);
	margin-bottom: 18px;
}

.oacgbp-different__col--muted .oacgbp-different__head {
	color: var(--oac-text-muted);
}

.oacgbp-different__list {
	display: grid;
	gap: 12px;
}

.oacgbp-different__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15.5px;
}

.oacgbp-different__list .oacgbp-icon {
	color: #A6B4C2;
}

.oacgbp-different__chain {
	display: grid;
	gap: 0;
	counter-reset: none;
}

.oacgbp-different__chain li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--oac-navy);
	padding: 9px 0;
	position: relative;
}

.oacgbp-different__chain li + li::before {
	content: "";
	position: absolute;
	left: 13px;
	top: -8px;
	height: 16px;
	width: 2px;
	background: var(--oac-blue-soft);
}

.oacgbp-different__chain-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--oac-blue-soft);
	color: var(--oac-blue-text);
	font-size: 13px;
	font-weight: 700;
	display: grid;
	place-items: center;
	flex: none;
}

.oacgbp-different__end {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--oac-border);
	font-size: 15px;
	font-weight: 600;
}

.oacgbp-different__end--muted { color: var(--oac-text-muted); }
.oacgbp-different__end--live { color: var(--oac-success); }

/* =========================================================================
   12. Command center (§7)
   ====================================================================== */
.oacgbp-command__toggle {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 34px 0 26px;
}

.oacgbp-toggle {
	font-family: var(--oac-font);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--oac-text-muted);
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: 999px;
	padding: 9px 20px;
	cursor: pointer;
	transition: all .18s var(--oacgbp-ease);
}

.oacgbp-toggle.is-active {
	background: var(--oac-navy);
	border-color: var(--oac-navy);
	color: #fff;
}

.oacgbp-command__stage {
	position: relative;
	max-width: 920px;
	margin: 0 auto;
}

.oacgbp-spot {
	position: absolute;
	z-index: 3;
}

.oacgbp-spot--1 { top: 21%; left: 4%; }
.oacgbp-spot--2 { top: 34%; left: 47%; }
.oacgbp-spot--3 { top: 21%; right: 5%; }
.oacgbp-spot--4 { bottom: 9%; right: 8%; }

.oacgbp-spot__dot {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 2px solid #fff;
	background: var(--oac-blue);
	box-shadow: 0 0 0 4px rgba(8, 102, 255, .25);
	cursor: pointer;
	padding: 0;
}

@media (prefers-reduced-motion: no-preference) {
	.oacgbp-spot__dot {
		animation: oacgbp-pulse 2.4s var(--oacgbp-ease) 1;
	}

	@keyframes oacgbp-pulse {
		0% { box-shadow: 0 0 0 4px rgba(8, 102, 255, .35); }
		55% { box-shadow: 0 0 0 12px rgba(8, 102, 255, 0); }
		100% { box-shadow: 0 0 0 4px rgba(8, 102, 255, .25); }
	}
}

.oacgbp-spot__pop {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	width: 240px;
	background: var(--oac-navy);
	color: #fff;
	border-radius: var(--oac-radius-sm);
	padding: 13px 15px;
	box-shadow: var(--oac-shadow-float);
	z-index: 5;
}

.oacgbp-spot__pop b {
	display: block;
	font-size: 13.5px;
	margin-bottom: 4px;
}

.oacgbp-spot__pop p {
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--oac-on-navy);
}

.oacgbp-spot--3 .oacgbp-spot__pop,
.oacgbp-spot--4 .oacgbp-spot__pop {
	left: auto;
	right: -8px;
	transform: none;
}

.oacgbp-command__callouts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 18px;
}

.oacgbp-command__callout {
	background: var(--oac-blue-soft);
	border: 1px solid #CBDEFF;
	border-radius: var(--oac-radius-sm);
	padding: 14px 16px;
}

.oacgbp-command__callout b {
	display: block;
	font-size: 13.5px;
	color: var(--oac-navy);
	margin-bottom: 4px;
}

.oacgbp-command__callout p {
	font-size: 12.5px;
	color: var(--oac-text-muted);
	line-height: 1.5;
}

.oacgbp-command__stage.is-doing .oacgbp-spot {
	display: none;
}

/* =========================================================================
   13. Autopilot loop (§8)
   ====================================================================== */
.oacgbp-loop__track {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 12px;
	margin-top: 48px;
	position: relative;
}

.oacgbp-loop__track::before {
	content: "";
	position: absolute;
	top: 26px;
	left: 6%;
	right: 6%;
	height: 2px;
	background: linear-gradient(90deg, var(--oac-blue-soft), var(--oac-blue), var(--oac-blue-soft));
	z-index: 0;
}

.oacgbp-loop__step {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 0 4px;
}

.oacgbp-loop__icon {
	width: 52px;
	height: 52px;
	margin: 0 auto;
	border-radius: 16px;
	background: #fff;
	border: 1.5px solid var(--oac-border);
	box-shadow: var(--oac-shadow-sm);
	display: grid;
	place-items: center;
	color: var(--oac-blue);
}

.oacgbp-loop__num {
	display: inline-block;
	margin-top: 12px;
	font-size: 11px;
	font-weight: 700;
	color: var(--oac-blue-text);
	background: var(--oac-blue-soft);
	width: 20px;
	height: 20px;
	line-height: 20px;
	border-radius: 50%;
}

.oacgbp-loop__name {
	display: block;
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: .06em;
	color: var(--oac-navy);
	margin-top: 6px;
}

.oacgbp-loop__text {
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--oac-text-muted);
	margin-top: 6px;
}

.oacgbp-loop__back {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 26px;
	font-size: 13px;
	font-weight: 600;
	color: var(--oac-blue-text);
}

.oacgbp-loop__outro {
	margin-top: 22px;
	font-size: 19px;
	font-weight: 600;
	color: var(--oac-navy);
}

/* =========================================================================
   14. Split sections + mini cards (§9, §11, §16)
   ====================================================================== */
.oacgbp-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}

.oacgbp-split__cta {
	margin-top: 26px;
}

.oacgbp-opt__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 24px;
}

.oacgbp-mini-card {
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	padding: 16px;
	box-shadow: var(--oac-shadow-sm);
}

.oacgbp-mini-card__icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--oac-blue-soft);
	color: var(--oac-blue);
	display: grid;
	place-items: center;
	margin-bottom: 10px;
}

.oacgbp-mini-card__icon .oacgbp-icon {
	width: 19px;
	height: 19px;
}

.oacgbp-mini-card b {
	display: block;
	font-size: 15px;
	color: var(--oac-navy);
	line-height: 1.3;
}

.oacgbp-mini-card p {
	font-size: 13.5px;
	color: var(--oac-text-muted);
	line-height: 1.5;
	margin-top: 4px;
}

/* =========================================================================
   15. Reviews (§10)
   ====================================================================== */
.oacgbp-reviews__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	max-width: 760px;
	margin: 40px auto 26px;
}

.oacgbp-stat {
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow-sm);
	padding: 22px 16px;
	text-align: center;
}

.oacgbp-stat__value {
	display: block;
	font-size: clamp(30px, 3.4vw, 40px);
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--oac-blue-text);
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
}

.oacgbp-stat__label {
	display: block;
	margin-top: 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--oac-text-muted);
}

.oacgbp-reviews__frame {
	max-width: 860px;
	margin: 0 auto;
}

.oacgbp-feature-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 34px;
}

/* =========================================================================
   16. Posts (§11)
   ====================================================================== */
.oacgbp-split--reverse .oacgbp-split__visual { order: 0; }
.oacgbp-split--reverse .oacgbp-split__copy { order: 1; }

.oacgbp-posts__emphasis {
	margin-top: 24px;
	font-size: 17px;
	font-weight: 600;
	color: var(--oac-navy);
}

/* =========================================================================
   17. AI section (§12)
   ====================================================================== */
.oacgbp-ai__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 46px;
	align-items: stretch;
}

.oacgbp-ai__card {
	background: rgba(255, 255, 255, .045);
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: var(--oac-radius);
	padding: 24px 22px;
	display: flex;
	flex-direction: column;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.oacgbp-ai__card-title {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	letter-spacing: -.01em;
}

.oacgbp-ai__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}

.oacgbp-ai__data {
	display: grid;
	gap: 7px;
	margin-top: 16px;
}

.oacgbp-ai__data li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	background: rgba(255, 255, 255, .05);
	border-radius: 9px;
	padding: 8px 12px;
	font-size: 13.5px;
	color: var(--oac-on-navy);
}

.oacgbp-ai__data b {
	color: #fff;
	font-variant-numeric: tabular-nums;
}

.oacgbp-ai__note {
	margin-top: 10px;
	font-size: 13px;
	font-style: italic;
	color: var(--oac-on-navy-muted);
}

.oacgbp-ai__action-label {
	margin-top: 16px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	color: #B9A5FF;
}

.oacgbp-ai__action {
	margin-top: 6px;
	font-size: 14.5px;
	line-height: 1.55;
	color: #E7EEF6;
	flex: 1;
}

.oacgbp-ai__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.oacgbp-ai__btn {
	font-size: 12.5px;
	font-weight: 700;
	padding: 8px 14px;
	border-radius: 9px;
	color: var(--oac-on-navy);
	border: 1px solid rgba(255, 255, 255, .22);
}

.oacgbp-ai__btn--primary {
	background: var(--oac-blue);
	border-color: var(--oac-blue);
	color: #fff;
}

.oacgbp-ai__outro {
	margin-top: 36px;
	font-size: 18px;
	font-weight: 600;
	color: #fff;
}

/* =========================================================================
   18. Profile Health (§13)
   ====================================================================== */
.oacgbp-health__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	margin-top: 44px;
}

.oacgbp-health__score-wrap {
	text-align: center;
}

.oacgbp-health__score {
	position: relative;
	width: 220px;
	height: 220px;
	margin: 0 auto;
}

.oacgbp-health__ring {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.oacgbp-health__ring circle {
	fill: none;
	stroke-width: 10;
	stroke-linecap: round;
}

.oacgbp-health__ring-track {
	stroke: #E7EDF4;
}

.oacgbp-health__ring-fill {
	stroke: var(--oac-warning);
	stroke-dasharray: 326.7;
	stroke-dashoffset: 326.7;
	transition: stroke-dashoffset 1.4s var(--oacgbp-ease) .15s;
}

.oacgbp-health__num {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-size: 58px;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--oac-navy);
	font-variant-numeric: tabular-nums;
}

.oacgbp-health__status {
	margin-top: 14px;
	font-size: 17px;
	font-weight: 700;
	color: var(--oac-warning-text);
}

.oacgbp-health__bands {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 16px;
	max-width: 400px;
	margin: 22px auto 0;
	text-align: left;
}

.oacgbp-health__band {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	color: var(--oac-text-muted);
}

.oacgbp-health__band b {
	color: var(--oac-navy);
	font-variant-numeric: tabular-nums;
}

.oacgbp-health__band i {
	width: 12px;
	height: 12px;
	border-radius: 4px;
	flex: none;
}

.oacgbp-health__band--ok i { background: var(--oac-success); }
.oacgbp-health__band--blue i { background: var(--oac-blue); }
.oacgbp-health__band--warn i { background: #E8A33D; }
.oacgbp-health__band--risk i { background: var(--oac-risk); }

.oacgbp-health__punch {
	font-size: 22px;
	line-height: 1.4;
	color: var(--oac-text-muted);
}

.oacgbp-health__punch b {
	color: var(--oac-navy);
	font-size: 24px;
}

.oacgbp-health__loss-card {
	margin-top: 22px;
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow-sm);
	padding: 20px 22px;
}

.oacgbp-health__loss-label {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--oac-text-muted);
	margin-bottom: 12px;
}

.oacgbp-health__loss-card ul {
	display: grid;
	gap: 10px;
}

.oacgbp-health__loss-card li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 14.5px;
	color: var(--oac-text);
	border-bottom: 1px dashed var(--oac-border);
	padding-bottom: 10px;
}

.oacgbp-health__loss-card li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.oacgbp-health__loss-card li b {
	color: var(--oac-risk);
	font-variant-numeric: tabular-nums;
	flex: none;
}

.oacgbp-health__loss-fix {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--oac-border);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--oac-ai);
}

.oacgbp-health__disclaimer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
	font-size: 13.5px;
	color: var(--oac-text-muted);
	max-width: 640px;
}

.oacgbp-health__disclaimer .oacgbp-icon {
	flex: none;
	color: var(--oac-blue);
}

/* =========================================================================
   19. Safety (§14)
   ====================================================================== */
.oacgbp-safety__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: 44px;
}

.oacgbp-safety__panel {
	border-radius: var(--oac-radius);
	padding: 28px 28px 24px;
	background: #fff;
	box-shadow: var(--oac-shadow-sm);
}

.oacgbp-safety__panel--auto { border: 1.5px solid #BCE5D5; }
.oacgbp-safety__panel--appr { border: 1.5px solid #C9DCFB; }

.oacgbp-safety__head {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	margin-bottom: 16px;
}

.oacgbp-safety__panel--auto .oacgbp-safety__head { color: var(--oac-success); }
.oacgbp-safety__panel--appr .oacgbp-safety__head { color: var(--oac-blue-text); }

.oacgbp-safety__panel ul {
	display: grid;
	gap: 11px;
}

.oacgbp-safety__panel li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	color: var(--oac-text);
}

.oacgbp-safety__panel--auto li .oacgbp-icon { color: var(--oac-success); margin-top: 2px; }
.oacgbp-safety__panel--appr li .oacgbp-icon { color: var(--oac-blue); margin-top: 2px; }

.oacgbp-safety__bottom {
	margin-top: 34px;
	font-size: 17px;
	color: var(--oac-text-muted);
}

.oacgbp-safety__bottom b {
	color: var(--oac-navy);
	font-size: 19px;
}

/* =========================================================================
   20. Human setup (§15)
   ====================================================================== */
.oacgbp-human__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 900px;
	margin: 44px auto 0;
}

.oacgbp-human__step {
	position: relative;
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius);
	box-shadow: var(--oac-shadow-sm);
	padding: 30px 22px 26px;
	text-align: center;
}

.oacgbp-human__num {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--oac-blue);
	color: #fff;
	font-weight: 700;
	display: grid;
	place-items: center;
	box-shadow: 0 6px 14px rgba(8, 102, 255, .3);
}

.oacgbp-human__icon {
	width: 46px;
	height: 46px;
	margin: 4px auto 12px;
	border-radius: 14px;
	background: var(--oac-blue-soft);
	color: var(--oac-blue);
	display: grid;
	place-items: center;
}

.oacgbp-human__step b {
	font-size: 16.5px;
	color: var(--oac-navy);
}

.oacgbp-human__callout {
	margin-top: 36px;
	font-size: clamp(20px, 2.4vw, 26px);
	font-weight: 700;
	color: var(--oac-navy);
	letter-spacing: -.01em;
}

.oacgbp-human .oacgbp-center:last-child {
	margin-top: 22px;
}

/* =========================================================================
   21. Locations (§16)
   ====================================================================== */
.oacgbp-locations__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

/* =========================================================================
   22. Feature grid (§17) + mini vignettes
   ====================================================================== */
.oacgbp-grid__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 44px;
}

.oacgbp-grid__card {
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow-sm);
	padding: 20px 18px;
	display: flex;
	flex-direction: column;
}

.oacgbp-grid__card b {
	display: block;
	font-size: 15.5px;
	color: var(--oac-navy);
	line-height: 1.3;
}

.oacgbp-grid__card p {
	font-size: 13.5px;
	color: var(--oac-text-muted);
	line-height: 1.5;
	margin-top: 5px;
	flex: 1;
}

.oacgbp-grid__mini {
	display: block;
	margin-top: 14px;
}

.oacgbp-gm {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--oac-bg-soft);
	border: 1px solid var(--oac-border);
	border-radius: 10px;
	padding: 9px 11px;
	font-size: 12px;
	color: var(--oac-text-muted);
	min-height: 44px;
}

.oacgbp-gm b {
	font-size: 12.5px !important;
	color: var(--oac-navy);
	white-space: nowrap;
}

.oacgbp-gm small {
	font-size: 11px;
	white-space: nowrap;
}

.oacgbp-gm--monitor { justify-content: flex-start; }
.oacgbp-gm--rec, .oacgbp-gm--review, .oacgbp-gm--health, .oacgbp-gm--approve { justify-content: space-between; }

.oacgbp-gm__bar {
	flex: 1;
	height: 7px;
	border-radius: 999px;
	background: #E1E8F0;
	overflow: hidden;
}

.oacgbp-gm__bar i {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--oac-blue), var(--oac-cyan));
	border-radius: inherit;
}

.oacgbp-gm__tile {
	--hue: 210;
	width: 30px;
	height: 24px;
	border-radius: 6px;
	background: linear-gradient(135deg, hsl(var(--hue), 55%, 88%), hsl(var(--hue), 45%, 76%));
	font-style: normal;
}

.oacgbp-gm__tile--add {
	background: #fff;
	border: 1.5px dashed var(--oac-border-dark);
	display: grid;
	place-items: center;
	font-weight: 700;
	color: var(--oac-text-muted);
}

.oacgbp-gm__score {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--oac-warning-bg);
	color: var(--oac-warning-text);
	display: grid;
	place-items: center;
	font-size: 12px !important;
}

.oacgbp-gm__btns {
	display: inline-flex;
	gap: 6px;
	font-style: normal;
}

.oacgbp-gm__btns i {
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 7px;
}

.oacgbp-gm__btns i:first-child { background: var(--oac-blue); color: #fff; }
.oacgbp-gm__btns i:last-child { background: #EEF2F6; color: var(--oac-text-muted); }

.oacgbp-gm--history {
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}

/* =========================================================================
   23. Day timeline (§18)
   ====================================================================== */
.oacgbp-day__timeline {
	max-width: 680px;
	margin: 44px auto 0;
	display: grid;
	gap: 0;
	position: relative;
}

.oacgbp-day__timeline::before {
	content: "";
	position: absolute;
	left: 109px;
	top: 14px;
	bottom: 14px;
	width: 2px;
	background: var(--oac-border);
}

.oacgbp-day__event {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	position: relative;
	padding: 16px 0;
}

.oacgbp-day__time {
	width: 74px;
	flex: none;
	text-align: right;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--oac-navy);
	font-variant-numeric: tabular-nums;
	padding-top: 8px;
}

.oacgbp-day__icon {
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--oac-blue);
	color: var(--oac-blue);
	display: grid;
	place-items: center;
	position: relative;
	z-index: 1;
}

.oacgbp-day__icon .oacgbp-icon {
	width: 17px;
	height: 17px;
}

.oacgbp-day__steps {
	flex: 1;
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow-sm);
	padding: 14px 18px;
	display: grid;
	gap: 6px;
}

.oacgbp-day__steps li {
	font-size: 14.5px;
	color: var(--oac-text-muted);
	display: flex;
	align-items: center;
	gap: 9px;
}

.oacgbp-day__steps li::before {
	content: "↓";
	color: var(--oac-blue);
	font-weight: 700;
	flex: none;
}

.oacgbp-day__steps li:first-child {
	color: var(--oac-navy);
	font-weight: 600;
}

.oacgbp-day__steps li:first-child::before {
	content: "•";
}

.oacgbp-day__steps .oacgbp-day__step-last {
	color: var(--oac-success);
	font-weight: 600;
}

.oacgbp-day__outro {
	margin-top: 34px;
	font-size: 21px;
	color: var(--oac-navy);
}

.oacgbp-day__note {
	margin-top: 8px;
	font-size: 12.5px;
	color: var(--oac-text-muted);
}

.oacgbp-day .oacgbp-center:last-child {
	margin-top: 24px;
}

/* =========================================================================
   24. System flow (§19)
   ====================================================================== */
.oacgbp-system__flow {
	display: grid;
	grid-template-columns: 1fr auto 1.25fr auto 1fr;
	gap: 18px;
	align-items: stretch;
	margin-top: 46px;
}

.oacgbp-system__col {
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius);
	box-shadow: var(--oac-shadow-sm);
	padding: 26px 22px;
	text-align: center;
}

.oacgbp-system__col--core {
	border: 1.5px solid var(--oac-blue);
	box-shadow: var(--oac-shadow);
}

.oacgbp-system__icon {
	width: 44px;
	height: 44px;
	margin: 0 auto 10px;
	border-radius: 13px;
	background: var(--oac-blue-soft);
	color: var(--oac-blue);
	display: grid;
	place-items: center;
}

.oacgbp-system__head {
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--oac-navy);
	margin-bottom: 12px;
}

.oacgbp-system__col ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
}

.oacgbp-system__col li {
	font-size: 13px;
	font-weight: 600;
	color: var(--oac-text-muted);
	background: var(--oac-bg-soft);
	border: 1px solid var(--oac-border);
	border-radius: 999px;
	padding: 5px 12px;
}

.oacgbp-system__col--core li {
	background: var(--oac-blue-soft);
	border-color: #CBDEFF;
	color: var(--oac-blue-text);
}

.oacgbp-system__arrow {
	align-self: center;
	color: var(--oac-blue);
}

/* =========================================================================
   25. Manual anchor + pricing (§21 + §20)
   ====================================================================== */
.oacgbp-manual {
	max-width: 780px;
	margin: 0 auto 72px;
	background: var(--oac-bg-blue);
	border: 1px solid #D8E6FA;
	border-radius: var(--oac-radius);
	padding: 38px 38px 32px;
}

.oacgbp-manual__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11px 26px;
	margin-top: 24px;
}

.oacgbp-manual__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	color: var(--oac-text);
}

.oacgbp-manual__list .oacgbp-icon {
	color: var(--oac-text-muted);
	flex: none;
}

.oacgbp-manual__outro {
	margin-top: 26px;
	font-size: 18px;
	color: var(--oac-text-muted);
}

.oacgbp-manual__outro b {
	color: var(--oac-navy);
	font-size: 22px;
	display: inline-block;
	margin-left: 6px;
}

.oacgbp-pricing__cards {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 24px;
	max-width: 940px;
	margin: 46px auto 0;
	align-items: start;
}

.oacgbp-price-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius);
	padding: 36px 34px 30px;
	box-shadow: var(--oac-shadow-sm);
}

.oacgbp-price-card--primary {
	border: 2px solid var(--oac-blue);
	box-shadow: var(--oac-shadow);
}

.oacgbp-price-card__badge {
	position: absolute;
	top: -14px;
	left: 34px;
	background: var(--oac-blue);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .07em;
	padding: 5px 14px;
	border-radius: 999px;
	box-shadow: 0 6px 14px rgba(8, 102, 255, .3);
}

.oacgbp-price-card__name {
	font-size: 20px;
	font-weight: 700;
	color: var(--oac-navy);
	letter-spacing: -.01em;
}

.oacgbp-price-card__first {
	margin-top: 20px;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .1em;
	color: var(--oac-blue-text);
}

.oacgbp-price-card__price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-top: 2px;
}

.oacgbp-price-card__strike {
	font-size: 22px;
	color: var(--oac-text-muted);
	text-decoration-thickness: 2px;
}

.oacgbp-price-card__price b {
	font-size: 68px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--oac-navy);
}

.oacgbp-price-card__price span {
	font-size: 15px;
	color: var(--oac-text-muted);
}

.oacgbp-price-card__then {
	margin-top: 10px;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--oac-text);
}

.oacgbp-price-card__sub {
	font-size: 13.5px;
	color: var(--oac-text-muted);
	margin-top: 3px;
}

.oacgbp-price-card__features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px 16px;
	margin: 22px 0 26px;
}

.oacgbp-price-card__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	color: var(--oac-text);
}

.oacgbp-price-card__features .oacgbp-icon {
	color: var(--oac-success);
	width: 1.05em;
	height: 1.05em;
	margin-top: 3px;
}

.oacgbp-price-card__zero {
	text-align: center;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--oac-success);
}

.oacgbp-price-card__micro {
	text-align: center;
	margin-top: 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--oac-navy);
	background: var(--oac-success-bg);
	border-radius: 10px;
	padding: 9px 12px;
}

.oacgbp-price-card--walk {
	background: var(--oac-bg-soft);
}

.oacgbp-price-card__kicker {
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--oac-text-muted);
	margin-bottom: 10px;
}

.oacgbp-price-card__text {
	font-size: 15px;
	color: var(--oac-text-muted);
	margin: 12px 0 24px;
}

/* =========================================================================
   26. Risk reversal (§22)
   ====================================================================== */
.oacgbp-risk__title {
	font-size: clamp(36px, 5vw, 54px);
}

.oacgbp-risk__badge {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	margin: 34px auto 0;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 22px;
	padding: 26px 54px;
}

.oacgbp-risk__badge-label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	color: var(--oac-on-navy);
}

.oacgbp-risk__badge-price {
	font-size: 76px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.03em;
	color: #fff;
}

.oacgbp-risk__keep {
	margin: 22px 0 26px;
	font-size: 18px;
	color: var(--oac-on-navy);
}

.oacgbp-risk__under {
	margin-top: 16px;
	font-size: 14px;
	color: var(--oac-on-navy-muted);
}

/* =========================================================================
   27. FAQ (§23)
   ====================================================================== */
.oacgbp-faq__list {
	margin-top: 40px;
	display: grid;
	gap: 12px;
}

.oacgbp-faq__item {
	background: #fff;
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	box-shadow: var(--oac-shadow-sm);
	overflow: hidden;
}

.oacgbp-faq__item[open] {
	border-color: var(--oac-border-dark);
}

.oacgbp-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	list-style: none;
	cursor: pointer;
	padding: 18px 22px;
	font-size: 16.5px;
	font-weight: 600;
	color: var(--oac-navy);
}

.oacgbp-faq__q::-webkit-details-marker {
	display: none;
}

.oacgbp-faq__chev {
	flex: none;
	color: var(--oac-text-muted);
	transition: transform .25s var(--oacgbp-ease);
}

.oacgbp-faq__item[open] .oacgbp-faq__chev {
	transform: rotate(180deg);
}

.oacgbp-faq__a {
	padding: 0 22px 20px;
}

.oacgbp-faq__a p {
	font-size: 15.5px;
	color: var(--oac-text-muted);
	max-width: 700px;
}

/* =========================================================================
   28. Final CTA (§24)
   ====================================================================== */
.oacgbp-final {
	background: linear-gradient(115deg, var(--oac-blue-hover) 0%, var(--oac-blue) 45%, #0B8EE8 100%);
	color: #fff;
}

.oacgbp-final .oacgbp-intro--onnavy {
	color: rgba(255, 255, 255, .85);
}

.oacgbp-final__ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 30px;
}

.oacgbp-final__meta {
	margin-top: 18px;
	font-size: 14px;
	color: rgba(255, 255, 255, .82);
}

/* =========================================================================
   29. Footer
   ====================================================================== */
.oacgbp-footer {
	background: var(--oac-navy);
	color: var(--oac-on-navy);
	padding: 52px 0 40px;
}

.oacgbp-footer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	flex-wrap: wrap;
}

.oacgbp-footer__brand img {
	width: 190px;
	filter: brightness(0) invert(1);
	opacity: .92;
}

.oacgbp-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
}

.oacgbp-footer__nav a {
	color: var(--oac-on-navy);
	font-size: 14.5px;
	font-weight: 500;
}

.oacgbp-footer__nav a:hover {
	color: #fff;
}

.oacgbp-footer__company {
	margin-top: 30px;
	font-size: 13.5px;
	color: var(--oac-on-navy-muted);
}

.oacgbp-footer__company a {
	color: var(--oac-on-navy);
}

.oacgbp-footer__disclaimer {
	margin-top: 14px;
	font-size: 12px;
	line-height: 1.6;
	color: var(--oac-on-navy-muted);
	max-width: 860px;
}

/* =========================================================================
   30. Mobile sticky CTA (§30)
   ====================================================================== */
.oacgbp-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	padding: 9px 14px calc(9px + env(safe-area-inset-bottom, 0px));
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-top: 1px solid var(--oac-border);
	display: none;
}

.oacgbp-sticky .oacgbp-btn {
	padding-top: 11px;
	padding-bottom: 11px;
}

/* =========================================================================
   31. Signup dialog (§25–§26)
   ====================================================================== */
.oacgbp-dialog {
	border: 0;
	border-radius: var(--oac-radius);
	padding: 0;
	width: min(520px, calc(100vw - 32px));
	max-height: min(760px, calc(100vh - 40px));
	box-shadow: 0 30px 90px rgba(7, 27, 46, .35);
	color: var(--oac-text);
	font-family: var(--oac-font);
}

.oacgbp-dialog::backdrop {
	background: rgba(7, 27, 46, .55);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.oacgbp-dialog__inner {
	padding: 22px 28px 26px;
}

.oacgbp-dialog__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	min-height: 32px;
}

.oacgbp-dialog__progress {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--oac-blue-text);
	text-transform: uppercase;
	margin: 0;
}

.oacgbp-dialog__close {
	background: var(--oac-bg-soft);
	border: 1px solid var(--oac-border);
	border-radius: 9px;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	cursor: pointer;
	color: var(--oac-text-muted);
	padding: 0;
	flex: none;
	margin-left: auto;
}

.oacgbp-dialog__close:hover {
	color: var(--oac-navy);
}

.oacgbp-dialog__title {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.015em;
	color: var(--oac-navy);
	margin-bottom: 6px;
}

.oacgbp-dialog__intro {
	font-size: 14.5px;
	color: var(--oac-text-muted);
	margin-bottom: 16px;
}

.oacgbp-hp {
	position: absolute !important;
	left: -9999px;
	top: -9999px;
}

.oacgbp-field {
	margin-bottom: 14px;
}

.oacgbp-field label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--oac-navy);
	margin-bottom: 5px;
}

.oacgbp-field input {
	width: 100%;
	font-family: var(--oac-font);
	font-size: 15.5px;
	color: var(--oac-text);
	background: #fff;
	border: 1.5px solid var(--oac-border-dark);
	border-radius: 10px;
	padding: 11px 13px;
	box-sizing: border-box;
	transition: border-color .15s var(--oacgbp-ease), box-shadow .15s var(--oacgbp-ease);
}

.oacgbp-field input:focus {
	outline: none;
	border-color: var(--oac-blue);
	box-shadow: 0 0 0 3px rgba(8, 102, 255, .15);
}

.oacgbp-field input.is-invalid {
	border-color: var(--oac-risk);
}

.oacgbp-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.oacgbp-step > .oacgbp-btn {
	margin-top: 6px;
}

.oacgbp-dialog__skip,
.oacgbp-dialog__back {
	display: block;
	width: 100%;
	background: none;
	border: 0;
	font-family: var(--oac-font);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--oac-text-muted);
	cursor: pointer;
	padding: 10px 0 0;
	text-align: center;
}

.oacgbp-dialog__skip:hover,
.oacgbp-dialog__back:hover {
	color: var(--oac-blue-text);
	text-decoration: underline;
}

.oacgbp-dialog__summary {
	display: grid;
	gap: 10px;
	background: var(--oac-bg-soft);
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	padding: 18px 20px;
	margin: 14px 0 16px;
}

.oacgbp-dialog__summary > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.oacgbp-dialog__summary dt {
	font-size: 14.5px;
	color: var(--oac-text-muted);
}

.oacgbp-dialog__summary dd {
	font-size: 15.5px;
	font-weight: 700;
	color: var(--oac-navy);
}

.oacgbp-dialog__zero {
	color: var(--oac-success) !important;
	font-size: 19px !important;
}

.oacgbp-dialog__reassure {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 14px;
	font-weight: 600;
	color: var(--oac-navy);
	background: var(--oac-success-bg);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 10px;
}

.oacgbp-dialog__reassure .oacgbp-icon {
	color: var(--oac-success);
	flex: none;
	margin-top: 2px;
}

.oacgbp-dialog__nocard {
	text-align: center;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--oac-success);
	margin-bottom: 12px;
}

.oacgbp-dialog__party {
	text-align: center;
	margin: 8px 0 4px;
}

.oacgbp-dialog__party .oacgbp-icon {
	width: 52px;
	height: 52px;
	color: var(--oac-success);
}

.oacgbp-dialog__progress-done {
	font-size: 13px;
	font-weight: 700;
	color: var(--oac-blue-text);
	margin-bottom: 14px;
}

.oacgbp-dialog__checklist {
	display: grid;
	gap: 10px;
	background: var(--oac-bg-soft);
	border: 1px solid var(--oac-border);
	border-radius: var(--oac-radius-md);
	padding: 16px 18px;
	margin-bottom: 16px;
}

.oacgbp-dialog__checklist li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	color: var(--oac-text-muted);
}

.oacgbp-dialog__checklist li.is-done {
	color: var(--oac-navy);
	font-weight: 600;
}

.oacgbp-dialog__checklist li.is-done .oacgbp-icon { color: var(--oac-success); }
.oacgbp-dialog__checklist li .oacgbp-icon { color: var(--oac-border-dark); flex: none; }

.oacgbp-dialog__error {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--oac-risk);
	background: var(--oac-risk-bg);
	border-radius: 10px;
	padding: 10px 14px;
}

.oacgbp-dialog__privacy {
	margin-top: 14px;
	font-size: 12px;
	color: var(--oac-text-muted);
	text-align: center;
}

.oacgbp-step--done {
	padding-top: 6px;
}

/* =========================================================================
   32. Responsive
   ====================================================================== */
@media (max-width: 1179px) {
	/* Six links + brand + CTAs need ~1120px; below that the section links go
	   and the nav keeps brand + Sign In + Start Free. */
	.oacgbp-nav__links {
		display: none;
	}

	.oacgbp-hero__frame {
		width: 100%;
	}

	.oacgbp-float--2 { left: -12px; }
	.oacgbp-float--3 { left: -14px; }

	.oacgbp-loop__track {
		grid-template-columns: repeat(4, 1fr);
		gap: 22px 12px;
	}

	.oacgbp-loop__track::before {
		display: none;
	}

	.oacgbp-grid__cards {
		grid-template-columns: repeat(3, 1fr);
	}

	.oacgbp-system__flow {
		grid-template-columns: 1fr;
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}

	.oacgbp-system__arrow {
		transform: rotate(90deg);
		justify-self: center;
	}
}

@media (max-width: 899px) {
	.oacgbp-section {
		padding: 68px 0;
	}

	.oacgbp-hero {
		padding: 44px 0 64px;
	}

	.oacgbp-hero__inner {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.oacgbp-hero__visual {
		max-width: 640px;
		margin: 0 auto;
		width: 100%;
	}

	.oacgbp-different__grid,
	.oacgbp-split,
	.oacgbp-safety__grid,
	.oacgbp-health__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.oacgbp-split__visual {
		max-width: 560px;
		margin: 0 auto;
		width: 100%;
	}

	.oacgbp-split--reverse .oacgbp-split__visual { order: 1; }
	.oacgbp-split--reverse .oacgbp-split__copy { order: 0; }

	.oacgbp-ai__cards {
		grid-template-columns: 1fr;
		max-width: 520px;
		margin-left: auto;
		margin-right: auto;
	}

	.oacgbp-human__steps {
		grid-template-columns: 1fr;
		max-width: 420px;
		gap: 26px;
	}

	.oacgbp-grid__cards {
		grid-template-columns: 1fr 1fr;
	}

	.oacgbp-feature-row {
		grid-template-columns: 1fr 1fr;
	}

	.oacgbp-command__callouts {
		grid-template-columns: 1fr 1fr;
	}

	.oacgbp-pricing__cards {
		grid-template-columns: 1fr;
		max-width: 560px;
	}

	.oacgbp-day__timeline::before {
		left: 18px;
	}

	.oacgbp-day__event {
		flex-wrap: wrap;
		padding-left: 0;
	}

	.oacgbp-day__time {
		order: 1;
		width: auto;
		text-align: left;
		padding-top: 9px;
	}

	.oacgbp-day__icon {
		order: 0;
	}

	.oacgbp-day__steps {
		order: 2;
		width: 100%;
		margin-left: 58px;
	}
}

@media (max-width: 599px) {
	body.oacgbp-page {
		font-size: 17px;
	}

	.oacgbp-container,
	.oacgbp-nav__inner,
	.oacgbp-hero__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.oacgbp-section {
		padding: 56px 0;
	}

	.oacgbp-nav__inner {
		gap: 10px;
	}

	.oacgbp-nav__logo {
		width: 96px;
	}

	.oacgbp-nav__mark {
		font-size: 11px;
		padding: 3px 8px;
	}

	.oacgbp-nav__actions {
		gap: 8px;
	}

	.oacgbp-nav__actions .oacgbp-btn--sm {
		padding: 8px 12px;
		font-size: 13.5px;
	}

	.oacgbp-nav__signin {
		display: none;
	}

	.oacgbp-hero__title {
		font-size: clamp(38px, 11vw, 44px);
	}

	.oacgbp-hero__ctas .oacgbp-btn {
		width: 100%;
	}

	.oacgbp-hero__trust {
		grid-template-columns: 1fr;
	}

	/* Floating cards become a grid under the frame. */
	.oacgbp-hero__visual {
		display: flex;
		flex-direction: column;
	}

	.oacgbp-hero__frame {
		order: 0;
	}

	.oacgbp-float {
		position: static;
		max-width: none;
		animation: none;
	}

	.oacgbp-hero__visual .oacgbp-float {
		order: 1;
		margin-top: 10px;
	}

	.oacgbp-hero__frame-note {
		order: 2;
		text-align: center;
	}

	.oacgbp-oc__kpis {
		grid-template-columns: repeat(2, 1fr);
	}

	.oacgbp-ov__grid {
		grid-template-columns: 1fr;
	}

	.oacgbp-loop__track {
		grid-template-columns: 1fr;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
	}

	.oacgbp-opt__cards,
	.oacgbp-feature-row,
	.oacgbp-grid__cards,
	.oacgbp-command__callouts {
		grid-template-columns: 1fr;
	}

	.oacgbp-reviews__stats {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.oacgbp-manual {
		padding: 26px 20px;
	}

	.oacgbp-manual__list {
		grid-template-columns: 1fr;
	}

	.oacgbp-price-card {
		padding: 30px 22px 24px;
	}

	.oacgbp-price-card__features {
		grid-template-columns: 1fr;
	}

	.oacgbp-price-card__price b {
		font-size: 56px;
	}

	.oacgbp-risk__badge {
		padding: 20px 38px;
	}

	.oacgbp-risk__badge-price {
		font-size: 60px;
	}

	.oacgbp-field-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.oacgbp-dialog__inner {
		padding: 18px 18px 22px;
	}

	.oacgbp-footer__top {
		flex-direction: column;
		align-items: flex-start;
	}

	/* The sticky CTA is enabled by JS (data-visible) on mobile only. */
	.oacgbp-sticky[data-visible] {
		display: block;
	}

	.oacgbp-spot--2 {
		display: none; /* center dot overlaps stacked columns on phones */
	}
}

@media (min-width: 600px) {
	.oacgbp-sticky {
		display: none !important;
	}
}

/* =========================================================================
   33. Reduced motion
   ====================================================================== */
@media (prefers-reduced-motion: reduce) {
	.oacgbp *,
	.oacgbp *::before,
	.oacgbp *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}

	.oacgbp-health__ring-fill {
		transition: none;
	}

	.oacgbp-cadence__bar i {
		transition: none;
		width: var(--target, 100%);
	}
}

/* =========================================================================
   34. Print (keep it sane)
   ====================================================================== */
@media print {
	.oacgbp-nav,
	.oacgbp-sticky,
	.oacgbp-dialog {
		display: none !important;
	}
}
