/* =============================================================================
   AEVRION OPS — MAIN STYLESHEET
   Depends on tokens.css. Organised: base → a11y → layout → components →
   sections → insights → utilities → motion → responsive.
   ========================================================================== */

/* ---------- RESET / BASE ------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
[hidden] { display: none !important; }

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

body {
	font-family: var(--font-sans);
	font-size: var(--text-base);
	line-height: var(--leading-normal);
	color: var(--color-slate);
	background: var(--color-background);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img, picture, svg, video, canvas { max-width: 100%; height: auto; display: block; }

a { color: var(--color-accent); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--color-accent-hover); }

button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; }

ul, ol { list-style: none; padding: 0; }

:where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-display);
	color: var(--color-ink);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-tight);
}

strong, b { font-weight: var(--weight-semibold); color: var(--color-ink); }

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

:where([id]) { scroll-margin-top: 88px; }

/* Sticky-footer frame */
.ao-site { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.ao-main { flex: 1 0 auto; }

/* ---------- ACCESSIBILITY ------------------------------------------------ */
:focus-visible {
	outline: 2px solid var(--color-ring);
	outline-offset: 2px;
	border-radius: 3px;
}
:focus:not(:focus-visible) { outline: none; }

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

.ao-skip-link {
	position: absolute;
	left: 50%; top: -120px;
	transform: translateX(-50%);
	z-index: var(--z-modal);
	background: var(--color-ink);
	color: #fff;
	padding: 0.75rem 1.25rem;
	border-radius: var(--radius);
	box-shadow: var(--shadow-md);
	transition: top var(--transition);
}
.ao-skip-link:focus { top: 1rem; color: #fff; }

/* ---------- LAYOUT PRIMITIVES ------------------------------------------- */
.ao-container {
	width: 100%;
	max-width: calc(var(--container) + var(--gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.ao-section { padding-block: var(--section-y); }
.ao-section--muted { background: var(--color-muted); }
.ao-section--dark { background: var(--color-dark-bg); color: var(--color-dark-muted-fg); }
.ao-section--dark .ao-section__title { color: #fff; }
.ao-section--dark .ao-section__lead { color: var(--color-dark-muted-fg); }

.ao-section__head { max-width: 720px; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.ao-section__title { font-size: var(--text-4xl); color: var(--color-ink); }
.ao-section__lead {
	margin-top: var(--space-4);
	font-size: var(--text-lg);
	color: var(--color-muted-fg);
	line-height: var(--leading-normal);
	max-width: 62ch;
}

.ao-grid { display: grid; gap: clamp(1rem, 2.5vw, 1.5rem); }
.ao-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ao-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- SHARED BITS -------------------------------------------------- */
.ao-icon { display: inline-block; flex: none; vertical-align: middle; }

.ao-mono { font-family: var(--font-mono); }

.ao-eyebrow {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: 500;
	letter-spacing: var(--tracking-eyebrow);
	text-transform: uppercase;
	color: var(--color-accent);
	margin-bottom: var(--space-4);
}
.ao-eyebrow--on-dark { color: #EBB585; }

.ao-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 500;
	color: var(--color-accent);
}
.ao-link:hover { color: var(--color-accent-hover); }
.ao-link .ao-icon { transition: transform var(--transition); }
.ao-link:hover .ao-icon { transform: translateX(3px); }

/* ---------- BUTTONS ------------------------------------------------------ */
.ao-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--font-sans);
	font-weight: var(--weight-semibold);
	font-size: var(--text-base);
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	padding: 0.85rem 1.4rem;
	min-height: 48px;
	border: 1px solid transparent;
	border-radius: var(--radius);
	text-decoration: none;
	transition: background-color var(--transition), color var(--transition),
		border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.ao-btn .ao-icon { transition: transform var(--transition); }
.ao-btn:hover .ao-icon { transform: translateX(2px); }

.ao-btn--primary {
	background: var(--color-accent);
	color: var(--color-on-accent);
	box-shadow: var(--shadow-sm);
}
.ao-btn--primary:hover { background: var(--color-accent-hover); color: #fff; box-shadow: var(--shadow-md); }
.ao-btn--primary:active { transform: translateY(1px); }

.ao-btn--secondary { background: var(--color-ink); color: #fff; }
.ao-btn--secondary:hover { background: #1b2740; color: #fff; box-shadow: var(--shadow-sm); }

.ao-btn--ghost { background: transparent; color: var(--color-ink); border-color: var(--color-border-strong); }
.ao-btn--ghost:hover { background: var(--color-surface); border-color: var(--color-ink); color: var(--color-ink); box-shadow: var(--shadow-xs); }

.ao-btn--lg { padding: 1rem 1.75rem; min-height: 56px; font-size: var(--text-lg); }
.ao-btn--block { display: flex; width: 100%; }

.ao-btn[disabled], .ao-btn[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; box-shadow: none; }

.ao-section--dark .ao-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.28); }
.ao-section--dark .ao-btn--ghost:hover { background: rgba(255, 255, 255, 0.06); border-color: #fff; color: #fff; }

/* ---------- CARDS -------------------------------------------------------- */
.ao-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: clamp(1.5rem, 3vw, 2rem);
	box-shadow: var(--shadow-xs);
	transition: border-color var(--transition), box-shadow var(--transition);
}
.ao-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-sm); }
.ao-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: var(--color-accent-soft);
	color: var(--color-accent);
	margin-bottom: var(--space-5);
}
.ao-card__title { font-size: var(--text-xl); color: var(--color-ink); margin-bottom: var(--space-3); }
.ao-card__text { color: var(--color-muted-fg); }

/* ---------- HEADER / NAV ------------------------------------------------- */
.ao-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	background: var(--color-background);
	border-bottom: 1px solid transparent;
	transition: background var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.ao-header.is-scrolled {
	background: var(--color-surface);
	border-bottom-color: var(--color-border);
	box-shadow: var(--shadow-sm);
}
.ao-header__inner { display: flex; align-items: center; gap: var(--space-8); height: 72px; }

.ao-brand { margin-right: auto; display: flex; align-items: center; }
.ao-brand__link { display: inline-flex; align-items: center; }
.ao-brand__text {
	font-family: var(--font-display);
	font-weight: var(--weight-bold);
	font-size: var(--text-xl);
	color: var(--color-ink);
	letter-spacing: 0;
}
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 40px; width: auto; }

.ao-nav__list { display: flex; align-items: center; gap: var(--space-6); }
.ao-nav__link {
	position: relative;
	display: inline-block;
	padding: 0.5rem 0;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-slate);
}
.ao-nav__link:hover { color: var(--color-ink); }
.ao-nav__link::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -2px;
	height: 2px;
	background: var(--color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
}
.ao-nav__link:hover::after,
.ao-nav .current-menu-item > a::after,
.ao-nav__link[aria-current]::after { transform: scaleX(1); }
.ao-nav .current-menu-item > a,
.ao-nav__link[aria-current] { color: var(--color-ink); }

.ao-header__actions { display: flex; align-items: center; gap: var(--space-4); }

.ao-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: var(--color-surface);
	color: var(--color-ink);
}
.ao-nav-toggle__icon { display: inline-flex; }
.ao-nav-toggle__icon--close { display: none; }
.ao-nav-toggle[aria-expanded="true"] .ao-nav-toggle__icon--open { display: none; }
.ao-nav-toggle[aria-expanded="true"] .ao-nav-toggle__icon--close { display: inline-flex; }

.ao-mobile-nav {
	position: fixed;
	left: 0; right: 0; top: 72px;
	z-index: var(--z-overlay);
	background: var(--color-surface);
	border-top: 1px solid var(--color-border);
	box-shadow: var(--shadow-lg);
	padding: var(--space-6) 0 var(--space-8);
	max-height: calc(100dvh - 72px);
	overflow-y: auto;
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
	transition: opacity var(--transition), transform var(--transition);
}
.ao-mobile-nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
.ao-mobile-nav__list { display: flex; flex-direction: column; }
.ao-mobile-nav__list a {
	display: block;
	padding: 0.9rem 0;
	font-size: var(--text-lg);
	font-weight: 500;
	color: var(--color-ink);
	border-bottom: 1px solid var(--color-border);
}
.ao-mobile-nav__list a:hover { color: var(--color-accent); }
.ao-mobile-nav .ao-btn { margin-top: var(--space-6); }

/* ---------- HERO --------------------------------------------------------- */
.ao-hero { padding-block: clamp(3rem, 7vw, 5.5rem) clamp(3.5rem, 8vw, 7rem); overflow: hidden; }
.ao-hero__inner {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.ao-hero__title { font-size: var(--text-6xl); color: var(--color-ink); }
.ao-hero__subtitle {
	margin-top: var(--space-6);
	font-size: var(--text-xl);
	color: var(--color-slate);
	max-width: 46ch;
	line-height: var(--leading-normal);
}
.ao-hero__actions { margin-top: var(--space-8); display: flex; flex-wrap: wrap; gap: var(--space-4); }
.ao-hero__trust {
	margin-top: var(--space-8);
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--color-muted-fg);
	font-size: var(--text-sm);
}
.ao-hero__trust .ao-icon { color: var(--color-accent); }

.ao-hero__panel {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
	padding: var(--space-5) var(--space-6) var(--space-6);
}
.ao-hero__panel-head {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding-bottom: var(--space-4);
	margin-bottom: var(--space-2);
	border-bottom: 1px solid var(--color-border);
}
.ao-hero__panel-dots { display: inline-flex; gap: 5px; }
.ao-hero__panel-dots span { width: 9px; height: 9px; border-radius: 50%; background: var(--color-border-strong); }
.ao-hero__panel-dots span:first-child { background: #D9A689; }
.ao-hero__panel-head .ao-mono { font-size: var(--text-xs); color: var(--color-muted-fg); letter-spacing: 0.04em; }
.ao-hero__panel-list { display: flex; flex-direction: column; }
.ao-hero__panel-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--color-border);
}
.ao-hero__panel-list li:last-child { border-bottom: 0; }
.ao-hero__panel-label { color: var(--color-slate); font-size: var(--text-sm); font-weight: 500; }
.ao-hero__panel-status {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: 500;
	padding: 0.25rem 0.55rem;
	border-radius: var(--radius-sm);
}
.ao-hero__panel-status.is-run { color: var(--color-success); background: #E7F4EE; }
.ao-hero__panel-status.is-up { color: var(--color-accent); background: var(--color-accent-soft); }

/* ---------- PROOF / STATS ------------------------------------------------ */
.ao-proof {
	padding-block: clamp(2rem, 4vw, 3rem);
	background: var(--color-surface);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}
.ao-proof__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-8) var(--space-6); }
.ao-stat__value {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--weight-bold);
	color: var(--color-ink);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.ao-stat__label { margin-top: var(--space-3); color: var(--color-muted-fg); font-size: var(--text-sm); line-height: var(--leading-snug); }

/* ---------- PROBLEM ------------------------------------------------------ */
.ao-problem__inner {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}
.ao-problem__lead .ao-section__title { margin-bottom: var(--space-4); }
.ao-problem__lead .ao-link { margin-top: var(--space-6); }
.ao-problem__list { display: flex; flex-direction: column; gap: var(--space-3); }
.ao-problem__item {
	display: flex;
	gap: var(--space-4);
	align-items: flex-start;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: var(--space-4) var(--space-5);
	color: var(--color-slate);
}
.ao-problem__marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 28px; height: 28px;
	border-radius: 50%;
	background: #FBEAEA;
	color: var(--color-destructive);
	margin-top: 1px;
}

/* ---------- PROCESS (dark) ----------------------------------------------- */
.ao-process__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.ao-step {
	background: var(--color-dark-surface);
	border: 1px solid var(--color-dark-border);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
}
.ao-step__num { display: block; font-size: var(--text-sm); color: #EBB585; letter-spacing: 0.12em; margin-bottom: var(--space-5); }
.ao-step__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 12px;
	background: rgba(235, 181, 133, 0.12);
	color: #EBB585;
	margin-bottom: var(--space-4);
}
.ao-step__title { color: #fff; font-size: var(--text-xl); margin-bottom: var(--space-2); }
.ao-step__text { color: var(--color-dark-muted-fg); font-size: var(--text-sm); line-height: var(--leading-normal); }

/* ---------- WHY / PILLARS ------------------------------------------------ */
.ao-why__grid { gap: clamp(1.5rem, 3.5vw, 2.5rem) clamp(2rem, 4vw, 3rem); }
.ao-pillar { display: flex; gap: var(--space-5); align-items: flex-start; }
.ao-pillar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 52px; height: 52px;
	border-radius: 14px;
	background: var(--color-accent-soft);
	color: var(--color-accent);
}
.ao-pillar__title { font-size: var(--text-xl); color: var(--color-ink); margin-bottom: var(--space-2); }
.ao-pillar__text { color: var(--color-muted-fg); }

/* ---------- RESULTS / QUOTE ---------------------------------------------- */
.ao-result {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: clamp(1.5rem, 3vw, 2rem);
	box-shadow: var(--shadow-xs);
}
.ao-result__metric {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--weight-bold);
	color: var(--color-accent);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.ao-result__title { font-size: var(--text-lg); color: var(--color-ink); margin-top: var(--space-4); margin-bottom: var(--space-2); }
.ao-result__text { color: var(--color-muted-fg); }
.ao-result__tag { margin-top: var(--space-5); font-size: var(--text-xs); color: var(--color-muted-fg); letter-spacing: 0.05em; text-transform: uppercase; }

.ao-quote {
	margin-top: clamp(2rem, 4vw, 3rem);
	max-width: 820px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-accent);
	border-radius: var(--radius-lg);
	padding: clamp(1.75rem, 4vw, 2.5rem);
	box-shadow: var(--shadow-sm);
}
.ao-quote__mark { color: var(--color-accent); opacity: 0.55; margin-bottom: var(--space-3); }
.ao-quote__text { font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-snug); color: var(--color-ink); }
.ao-quote__cite { display: flex; flex-direction: column; margin-top: var(--space-5); }
.ao-quote__name { font-weight: var(--weight-semibold); color: var(--color-ink); }
.ao-quote__role { color: var(--color-muted-fg); font-size: var(--text-sm); }

/* ---------- AUDIENCE ----------------------------------------------------- */
.ao-audience__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-5); }
.ao-aud-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: var(--space-6) var(--space-5);
	transition: border-color var(--transition), box-shadow var(--transition);
}
.ao-aud-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-sm); }
.ao-aud-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 12px;
	background: var(--color-muted);
	color: var(--color-ink);
	margin-bottom: var(--space-4);
}
.ao-aud-card__title { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-ink); margin-bottom: var(--space-2); letter-spacing: 0; }
.ao-aud-card__text { color: var(--color-muted-fg); font-size: var(--text-sm); line-height: var(--leading-snug); }

/* ---------- PRICING ------------------------------------------------------ */
.ao-pricing__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); align-items: start; }
.ao-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: clamp(1.75rem, 3vw, 2.25rem);
	box-shadow: var(--shadow-xs);
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.ao-plan:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.ao-plan--featured { border-color: var(--color-ink); box-shadow: var(--shadow-md); }
.ao-plan__badge {
	position: absolute;
	top: -12px;
	left: clamp(1.75rem, 3vw, 2.25rem);
	background: var(--color-accent);
	color: #fff;
	font-size: var(--text-xs);
	font-weight: 600;
	padding: 0.3rem 0.7rem;
	border-radius: var(--radius-full);
	letter-spacing: 0.02em;
}
.ao-plan__name { font-size: var(--text-xl); color: var(--color-ink); margin-bottom: var(--space-3); }
.ao-plan__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.35rem; margin-bottom: var(--space-4); }
.ao-plan__from { font-size: var(--text-sm); color: var(--color-muted-fg); }
.ao-plan__amount {
	font-family: var(--font-display);
	font-size: var(--text-4xl);
	font-weight: var(--weight-bold);
	color: var(--color-ink);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.ao-plan__period { color: var(--color-muted-fg); font-size: var(--text-base); }
.ao-plan__for { color: var(--color-muted-fg); margin-bottom: var(--space-6); }
.ao-plan__features { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-8); }
.ao-plan__features li { display: flex; gap: 0.6rem; align-items: flex-start; color: var(--color-slate); }
.ao-plan__check { color: var(--color-accent); flex: none; margin-top: 1px; display: inline-flex; }
.ao-plan .ao-btn { margin-top: auto; }
.ao-pricing__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	color: var(--color-muted-fg);
	font-size: var(--text-sm);
	text-align: center;
}
.ao-pricing__note .ao-icon { color: var(--color-success); }

/* ---------- FAQ ---------------------------------------------------------- */
.ao-faq__inner { max-width: 820px; }
.ao-faq__list { border-top: 1px solid var(--color-border); }
.ao-faq__item { border-bottom: 1px solid var(--color-border); }
.ao-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-5) 0;
	cursor: pointer;
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	color: var(--color-ink);
	list-style: none;
}
.ao-faq__q::-webkit-details-marker { display: none; }
.ao-faq__chevron { color: var(--color-accent); flex: none; transition: transform var(--transition); }
.ao-faq__item[open] .ao-faq__chevron { transform: rotate(180deg); }
.ao-faq__a { padding: 0 0 var(--space-5); max-width: 66ch; }
.ao-faq__a p { color: var(--color-muted-fg); line-height: var(--leading-normal); }

/* ---------- CTA BAND ----------------------------------------------------- */
.ao-cta-band { background: var(--color-dark-bg); color: var(--color-dark-muted-fg); padding-block: clamp(3.5rem, 7vw, 6rem); text-align: center; }
.ao-cta-band__inner { max-width: 720px; margin-inline: auto; }
.ao-cta-band__title { font-size: var(--text-5xl); color: #fff; }
.ao-cta-band__text { margin-top: var(--space-5); font-size: var(--text-lg); color: var(--color-dark-muted-fg); }
.ao-cta-band__actions { margin-top: var(--space-8); display: flex; justify-content: center; }
.ao-cta-band__note { margin-top: var(--space-5); font-size: var(--text-sm); color: var(--color-dark-muted-fg); }

/* ---------- FOOTER ------------------------------------------------------- */
.ao-footer { background: var(--color-dark-bg); color: var(--color-dark-muted-fg); }
.ao-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem);
}
.ao-footer .ao-brand__text { color: #fff; }
.ao-footer__tagline { margin-top: var(--space-4); max-width: 36ch; font-size: var(--text-sm); line-height: var(--leading-normal); color: var(--color-dark-muted-fg); }
.ao-footer__social { display: flex; gap: var(--space-3); margin-top: var(--space-6); }
.ao-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 10px;
	border: 1px solid var(--color-dark-border);
	color: var(--color-dark-fg);
	transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.ao-footer__social-link:hover { background: var(--color-dark-surface); border-color: var(--color-accent); color: #fff; }
.ao-footer__heading {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--space-5);
}
.ao-footer__menu { display: flex; flex-direction: column; gap: var(--space-3); }
.ao-footer__link { color: var(--color-dark-muted-fg); font-size: var(--text-sm); }
.ao-footer__link:hover { color: #fff; }
.ao-footer__contact .ao-footer__email { display: inline-block; margin-bottom: var(--space-5); color: var(--color-dark-fg); }
.ao-footer__bar { border-top: 1px solid var(--color-dark-border); }
.ao-footer__bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	flex-wrap: wrap;
	padding-block: var(--space-6);
}
.ao-footer__copy { color: var(--color-dark-muted-fg); font-size: var(--text-sm); }
.ao-footer__legal { display: flex; gap: var(--space-5); flex-wrap: wrap; }
.ao-footer__legal a { color: var(--color-dark-muted-fg); font-size: var(--text-sm); }
.ao-footer__legal a:hover { color: #fff; }

/* ---------- INSIGHTS / PAGE / SINGLE ------------------------------------- */
.ao-blog, .ao-page, .ao-single { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.ao-page, .ao-single { max-width: var(--container-narrow); margin-inline: auto; }

.ao-page-header { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.ao-page-header__title { font-size: var(--text-5xl); color: var(--color-ink); }
.ao-page-header__desc { margin-top: var(--space-4); color: var(--color-muted-fg); }

.ao-single__meta { color: var(--color-muted-fg); font-size: var(--text-sm); letter-spacing: 0.03em; margin-bottom: var(--space-4); }
.ao-single__meta a { color: var(--color-muted-fg); }
.ao-single__meta a:hover { color: var(--color-accent); }
.ao-single__media, .ao-page__media { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.ao-single__footer { margin-top: var(--space-8); }

.ao-blog__layout { display: grid; gap: clamp(2rem, 4vw, 3.5rem); }
.ao-blog__layout.has-sidebar { grid-template-columns: minmax(0, 1fr) 300px; }
.ao-post-list { display: grid; gap: clamp(1.5rem, 3vw, 2rem); }
.ao-post-card {
	display: grid;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.ao-post-card:has(.ao-post-card__media) { grid-template-columns: 280px 1fr; }
.ao-post-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.ao-post-card__media { overflow: hidden; }
.ao-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ao-post-card__body { padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.ao-post-card__meta { color: var(--color-muted-fg); font-size: var(--text-xs); letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: var(--space-3); }
.ao-post-card__meta a { color: var(--color-muted-fg); }
.ao-post-card__meta a:hover { color: var(--color-accent); }
.ao-post-card__title { font-size: var(--text-2xl); margin-bottom: var(--space-3); }
.ao-post-card__title a { color: var(--color-ink); }
.ao-post-card__title a:hover { color: var(--color-accent); }
.ao-post-card__excerpt { color: var(--color-muted-fg); margin-bottom: var(--space-4); }

/* ---------- PROSE (post/page content) ------------------------------------ */
.ao-prose { color: var(--color-slate); font-size: var(--text-lg); line-height: var(--leading-relaxed); }
.ao-prose > * + * { margin-top: var(--space-6); }
.ao-prose h2 { font-size: var(--text-3xl); margin-top: var(--space-10); }
.ao-prose h3 { font-size: var(--text-2xl); margin-top: var(--space-8); }
.ao-prose h4 { font-size: var(--text-xl); margin-top: var(--space-6); }
.ao-prose a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 2px; }
.ao-prose a:hover { color: var(--color-accent-hover); }
.ao-prose ul, .ao-prose ol { padding-left: 1.3rem; }
.ao-prose ul { list-style: disc; }
.ao-prose ol { list-style: decimal; }
.ao-prose li + li { margin-top: var(--space-2); }
.ao-prose blockquote {
	border-left: 3px solid var(--color-accent);
	padding-left: var(--space-5);
	font-family: var(--font-display);
	font-size: var(--text-xl);
	color: var(--color-ink);
}
.ao-prose img { border-radius: var(--radius-lg); }
.ao-prose code { font-family: var(--font-mono); font-size: 0.9em; background: var(--color-muted); padding: 0.15em 0.4em; border-radius: var(--radius-sm); }
.ao-prose pre { background: var(--color-ink); color: #E2E8F0; padding: var(--space-5); border-radius: var(--radius-lg); overflow: auto; }
.ao-prose pre code { background: none; padding: 0; color: inherit; }

/* ---------- SIDEBAR / WIDGETS -------------------------------------------- */
.ao-sidebar .widget + .widget { margin-top: var(--space-8); }
.widget__title { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-ink); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--space-4); }
.ao-sidebar a { color: var(--color-slate); }
.ao-sidebar a:hover { color: var(--color-accent); }
.ao-sidebar ul { display: flex; flex-direction: column; gap: var(--space-2); }

/* ---------- FORMS -------------------------------------------------------- */
input[type="text"], input[type="email"], input[type="url"], input[type="search"],
input[type="password"], input[type="tel"], input[type="number"], textarea, select {
	width: 100%;
	font: inherit;
	color: var(--color-ink);
	background: var(--color-surface);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius);
	padding: 0.75rem 0.9rem;
	min-height: 48px;
	transition: border-color var(--transition), box-shadow var(--transition);
}
textarea { min-height: 130px; resize: vertical; }
input:focus, textarea:focus, select:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(180, 83, 9, 0.15);
}
::placeholder { color: var(--color-muted-fg); opacity: 1; }
label { font-size: var(--text-sm); font-weight: 500; color: var(--color-ink); }

.search-form { display: flex; gap: 0.5rem; }
.search-form .search-field { flex: 1; }
.search-form .search-submit {
	flex: none;
	background: var(--color-ink);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	padding: 0 1.1rem;
	min-height: 48px;
	font-weight: 600;
	transition: background var(--transition);
}
.search-form .search-submit:hover { background: var(--color-accent); }

/* ---------- COMMENTS ----------------------------------------------------- */
.ao-comments { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--color-border); }
.ao-comments__title { font-size: var(--text-2xl); color: var(--color-ink); margin-bottom: var(--space-6); }
.ao-comments__list, .ao-comments__list .children { display: flex; flex-direction: column; gap: var(--space-5); list-style: none; }
.ao-comments__list .children { margin-top: var(--space-5); padding-left: clamp(0.75rem, 3vw, 2rem); }
.comment-body { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); }
.comment-author { display: flex; align-items: center; gap: 0.6rem; font-weight: 600; color: var(--color-ink); }
.comment-author .avatar { border-radius: 50%; }
.comment-metadata, .comment-metadata a { font-size: var(--text-sm); color: var(--color-muted-fg); }
.comment-content { margin-top: var(--space-3); color: var(--color-slate); }
.reply { margin-top: var(--space-3); }
.comment-respond { margin-top: var(--space-8); }
.comment-reply-title { font-size: var(--text-xl); color: var(--color-ink); margin-bottom: var(--space-4); }
.comment-form p { margin-bottom: var(--space-4); }
.comment-form label { display: block; margin-bottom: var(--space-2); }
.form-submit .submit {
	background: var(--color-accent);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	padding: 0.85rem 1.5rem;
	min-height: 48px;
	font-weight: 600;
	transition: background var(--transition);
}
.form-submit .submit:hover { background: var(--color-accent-hover); }

/* ---------- PAGINATION / POST NAV ---------------------------------------- */
.pagination { margin-top: clamp(2rem, 4vw, 3rem); }
.pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px; height: 44px;
	padding: 0 0.5rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	color: var(--color-slate);
	font-size: var(--text-sm);
}
.pagination a.page-numbers:hover { border-color: var(--color-ink); color: var(--color-ink); }
.pagination .page-numbers.current { background: var(--color-ink); color: #fff; border-color: var(--color-ink); }

.post-navigation { margin-top: clamp(2rem, 4vw, 3rem); padding-top: var(--space-8); border-top: 1px solid var(--color-border); }
.post-navigation .nav-links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-4); }
.post-navigation a { color: var(--color-ink); font-family: var(--font-display); font-weight: 600; }
.post-navigation a:hover { color: var(--color-accent); }
.post-navigation .ao-mono { display: block; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-accent); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.25rem; font-weight: 500; }

/* ---------- TAGS / EMPTY / 404 ------------------------------------------- */
.ao-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ao-tags a { display: inline-block; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-slate); background: var(--color-muted); padding: 0.3rem 0.6rem; border-radius: var(--radius-full); }
.ao-tags a:hover { background: var(--color-accent-soft); color: var(--color-accent); }

.ao-empty { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(2rem, 4vw, 3rem); text-align: center; }
.ao-empty__title { font-size: var(--text-2xl); color: var(--color-ink); margin-bottom: var(--space-3); }
.ao-empty__text { color: var(--color-muted-fg); margin-bottom: var(--space-6); }
.ao-empty__search, .ao-404__search { max-width: 440px; margin-inline: auto; }

.ao-404 { text-align: center; }
.ao-404__inner { max-width: 640px; margin-inline: auto; }
.ao-404__actions { margin-top: var(--space-8); display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-4); }
.ao-404__search { margin-top: var(--space-8); }

/* ---------- REVEAL MOTION ------------------------------------------------ */
.ao-reveal { opacity: 0; transform: translateY(14px); transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out); }
.ao-reveal--in { opacity: 1; transform: none; }

/* ---------- RESPONSIVE --------------------------------------------------- */
@media (max-width: 1000px) {
	.ao-audience__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 960px) {
	.ao-nav, .ao-header__cta { display: none; }
	.ao-nav-toggle { display: inline-flex; }
}

@media (min-width: 961px) {
	.ao-mobile-nav { display: none !important; }
}

@media (max-width: 920px) {
	.ao-process__steps { grid-template-columns: repeat(2, 1fr); }
	.ao-pricing__grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
}

@media (max-width: 900px) {
	.ao-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.ao-hero__aside { order: 2; max-width: 460px; }
	.ao-problem__inner { grid-template-columns: 1fr; }
	.ao-blog__layout.has-sidebar { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
	.ao-proof__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
	.ao-grid--3 { grid-template-columns: 1fr; }
	.ao-audience__grid { grid-template-columns: repeat(2, 1fr); }
	.ao-post-card:has(.ao-post-card__media) { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.ao-grid--2 { grid-template-columns: 1fr; }
	.ao-process__steps { grid-template-columns: 1fr; }
	.ao-why__grid { grid-template-columns: 1fr; }
	.ao-header__inner { gap: var(--space-4); }
}

@media (max-width: 440px) {
	.ao-audience__grid { grid-template-columns: 1fr; }
	.ao-btn { width: 100%; }
	.ao-hero__actions .ao-btn, .ao-404__actions .ao-btn { width: 100%; }
}

/* ---------- REDUCED MOTION ----------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
	.ao-reveal { opacity: 1 !important; transform: none !important; }
}

/* =============================================================================
   STAGE 4A — HOMEPAGE UPGRADE
   Dark command-center hero + 3-pillar service architecture.
   Front-page-only behaviour is scoped via the `.ao-front` body class so inner
   pages are unaffected.
   ========================================================================== */

/* ---- Legacy safety marker for unfinished admin/customizer copy ---------- */
.ao-ph { color: var(--color-muted-fg); font-style: italic; font-weight: 400; font-variant-numeric: normal; letter-spacing: 0; }
.ao-section--dark .ao-ph,
.ao-dark-hero .ao-hero .ao-ph { color: var(--color-dark-muted-fg); }

/* ---- Front-page transparent header over the dark hero ------------------ */
.ao-dark-hero .ao-header:not(.is-scrolled) {
	background: var(--color-dark-bg);
	border-bottom-color: transparent;
	box-shadow: none;
}
.ao-dark-hero .ao-header:not(.is-scrolled) .ao-brand__text { color: #fff; }
.ao-dark-hero .ao-header:not(.is-scrolled) .ao-nav__link { color: rgba(255, 255, 255, 0.82); }
.ao-dark-hero .ao-header:not(.is-scrolled) .ao-nav__link:hover { color: #fff; }
.ao-dark-hero .ao-header:not(.is-scrolled) .ao-nav__link::after { background: #EBB585; }
.ao-dark-hero .ao-header:not(.is-scrolled) .ao-nav-toggle {
	color: #fff;
	background: transparent;
	border-color: rgba(255, 255, 255, 0.28);
}

/* ---- Dark command-center hero (front page only) ------------------------ */
.ao-dark-hero .ao-hero {
	background: var(--color-dark-bg);
	color: var(--color-dark-muted-fg);
	min-height: calc(100vh - 72px);
	min-height: calc(100svh - 72px);
	display: flex;
	align-items: center;
	padding-block: clamp(3rem, 7vw, 4.5rem);
}
.ao-dark-hero .ao-hero__inner { width: 100%; }
.ao-dark-hero .ao-hero .ao-eyebrow { color: #EBB585; }
.ao-dark-hero .ao-hero__title { color: #fff; font-size: clamp(2.75rem, 6.4vw, 4.75rem); line-height: 1.04; }
.ao-dark-hero .ao-hero__subtitle { color: var(--color-dark-fg); }
.ao-dark-hero .ao-hero__trust { color: var(--color-dark-muted-fg); }
.ao-dark-hero .ao-hero__trust .ao-icon { color: #EBB585; }
.ao-dark-hero .ao-hero .ao-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, 0.28); }
.ao-dark-hero .ao-hero .ao-btn--ghost:hover { background: rgba(255, 255, 255, 0.06); border-color: #fff; color: #fff; }

.ao-dark-hero .ao-hero__panel {
	background: var(--color-dark-surface);
	border-color: var(--color-dark-border);
	box-shadow: 0 24px 60px rgba(2, 6, 23, 0.5);
}
.ao-dark-hero .ao-hero__panel-head { border-bottom-color: var(--color-dark-border); }
.ao-dark-hero .ao-hero__panel-head .ao-mono { color: var(--color-dark-muted-fg); }
.ao-dark-hero .ao-hero__panel-dots span { background: var(--color-dark-border); }
.ao-dark-hero .ao-hero__panel-dots span:first-child { background: #D9A689; }
.ao-dark-hero .ao-hero__panel-list li { border-bottom-color: var(--color-dark-border); }
.ao-dark-hero .ao-hero__panel-label { color: var(--color-dark-fg); }
.ao-dark-hero .ao-hero__panel-status.is-run { color: #6EE7B7; background: rgba(16, 185, 129, 0.12); }
.ao-dark-hero .ao-hero__panel-status.is-up { color: #EBB585; background: rgba(235, 181, 133, 0.14); }

/* Kinetic headline reveal (CSS-only, once on load) */
@keyframes aoHeroReveal { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.ao-dark-hero .ao-hero__content > * { animation: aoHeroReveal 0.7s var(--ease-out) both; }
.ao-dark-hero .ao-hero__content > .ao-eyebrow { animation-delay: 0.02s; }
.ao-dark-hero .ao-hero__content > .ao-hero__title { animation-delay: 0.10s; }
.ao-dark-hero .ao-hero__content > .ao-hero__subtitle { animation-delay: 0.18s; }
.ao-dark-hero .ao-hero__content > .ao-hero__actions { animation-delay: 0.26s; }
.ao-dark-hero .ao-hero__content > .ao-hero__trust { animation-delay: 0.34s; }
.ao-dark-hero .ao-hero__aside { animation: aoHeroReveal 0.8s var(--ease-out) 0.32s both; }

/* Subtle "system online" pulse on the panel indicator */
@keyframes aoPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
.ao-dark-hero .ao-hero__panel-dots span:first-child { animation: aoPulse 2.6s ease-in-out infinite; }

/* ---- Services: 3-pillar editorial index -------------------------------- */
.ao-pillars__list { margin-top: clamp(1rem, 2vw, 2rem); }
.ao-pillar-row {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(1.25rem, 4vw, 3rem);
	padding: clamp(1.75rem, 3.5vw, 2.5rem) 0;
	border-top: 1px solid var(--color-border);
}
.ao-pillar-row:last-child { border-bottom: 1px solid var(--color-border); }
.ao-pillar-row__num {
	font-family: var(--font-mono);
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-accent);
	letter-spacing: 0.1em;
	padding-top: 0.4rem;
}
.ao-pillar-row__title { font-size: var(--text-3xl); color: var(--color-ink); }
.ao-pillar-row__lead { font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-accent); margin-top: 0.25rem; }
.ao-pillar-row__text { margin-top: var(--space-4); color: var(--color-muted-fg); max-width: 62ch; }
.ao-pillar-row__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: var(--space-5); }
.ao-pillar-row__tags li {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	color: var(--color-slate);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	padding: 0.35rem 0.65rem;
	border-radius: var(--radius-full);
}

/* ---- Stage 4A responsive ----------------------------------------------- */
@media (max-width: 900px) {
	.ao-dark-hero .ao-hero { min-height: 0; padding-block: clamp(2.5rem, 8vw, 4rem); }
	.ao-dark-hero .ao-hero__aside { max-width: 460px; }
}
@media (max-width: 600px) {
	.ao-pillar-row { grid-template-columns: 1fr; gap: var(--space-2); }
	.ao-pillar-row__num { padding-top: 0; }
}

/* ---- Stage 4A reduced-motion (kept LAST to win source order) ----------- */
@media (prefers-reduced-motion: reduce) {
	.ao-dark-hero .ao-hero__content > *,
	.ao-dark-hero .ao-hero__aside { animation: none !important; opacity: 1 !important; transform: none !important; }
	.ao-dark-hero .ao-hero__panel-dots span:first-child { animation: none !important; opacity: 1 !important; }
}

/* =============================================================================
   STAGE 4B — SERVICE PAGES (overview + 3 pillars + 3 sub-services)
   Reuses Stage 4A / homepage components. Service pages get the dark hero via
   the `.ao-dark-hero` body class (set in inc/setup.php).
   ========================================================================== */

/* Solo (content-only) hero — a dark band, not full viewport */
.ao-hero--solo .ao-hero__inner { grid-template-columns: 1fr; }
.ao-hero--solo .ao-hero__content { max-width: 820px; }
.ao-dark-hero .ao-hero--solo { min-height: 0; padding-block: clamp(3.5rem, 9vw, 6.5rem); }

/* Section notes (under "what we handle" / "who this is for" / "how it works") */
.ao-svc-note { margin-top: clamp(1.5rem, 3vw, 2rem); max-width: 72ch; color: var(--color-muted-fg); font-size: var(--text-sm); }
.ao-svc-note--on-dark { color: var(--color-dark-muted-fg); }

/* Outcomes checklist */
.ao-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) clamp(1.5rem, 4vw, 3rem); }
.ao-checklist li { display: flex; gap: 0.7rem; align-items: flex-start; color: var(--color-slate); font-size: var(--text-lg); line-height: var(--leading-snug); }
.ao-checklist__check { display: inline-flex; flex: none; margin-top: 2px; color: var(--color-accent); }
@media (max-width: 640px) { .ao-checklist { grid-template-columns: 1fr; } }

/* Overview pillar "Explore →" link */
.ao-pillar-row__more { margin-top: var(--space-5); }

/* Related links */
.ao-svc-related .ao-eyebrow { margin-bottom: var(--space-5); }
.ao-related__list { display: flex; flex-wrap: wrap; gap: var(--space-4) clamp(1.5rem, 4vw, 2.5rem); }
.ao-related__list .ao-link { font-size: var(--text-lg); }

/* =============================================================================
   STAGE 4C — INSIGHTS HUB
   Editorial posts hub. Dark hero via the .ao-dark-hero body class; reuses the
   card/section system. Topic filter is server-side category links (no JS).
   ========================================================================== */

.ao-insights__intro .ao-section__head { margin-bottom: var(--space-6); }
.ao-insights__links { color: var(--color-muted-fg); font-size: var(--text-sm); }
.ao-insights__links a { color: var(--color-accent); }
.ao-insights__links a:hover { color: var(--color-accent-hover); }

/* Topic filter chips */
.ao-insights__filters-wrap { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.ao-insights__filters { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ao-chip {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-slate);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	padding: 0.45rem 0.8rem;
	border-radius: var(--radius-full);
	transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.ao-chip:hover { border-color: var(--color-ink); color: var(--color-ink); }
.ao-chip.is-active { background: var(--color-ink); color: #fff; border-color: var(--color-ink); }

/* Article grid */
.ao-ins-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); }
.ao-ins-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.ao-ins-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.ao-ins-card__media { display: block; overflow: hidden; background: var(--color-muted); aspect-ratio: 16 / 10; }
.ao-ins-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ao-ins-card__body { display: flex; flex-direction: column; gap: var(--space-3); flex: 1; padding: clamp(1.1rem, 2.4vw, 1.5rem); }
.ao-ins-card__meta { color: var(--color-muted-fg); font-size: var(--text-xs); letter-spacing: 0.04em; text-transform: uppercase; }
.ao-ins-card__meta a { color: var(--color-muted-fg); }
.ao-ins-card__meta a:hover { color: var(--color-accent); }
.ao-ins-card__title { font-size: var(--text-xl); line-height: var(--leading-snug); }
.ao-ins-card__title a { color: var(--color-ink); }
.ao-ins-card__title a:hover { color: var(--color-accent); }
.ao-ins-card__excerpt { color: var(--color-muted-fg); font-size: var(--text-sm); }
.ao-ins-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 0.4rem; color: var(--color-accent); font-weight: 500; font-size: var(--text-sm); }

/* Featured (first) card — wide & horizontal on larger screens */
@media (min-width: 768px) {
	.ao-ins-card--featured { grid-column: 1 / -1; flex-direction: row; }
	.ao-ins-card--featured .ao-ins-card__media { flex: 0 0 52%; aspect-ratio: 16 / 9; }
	.ao-ins-card--featured .ao-ins-card__body { justify-content: center; padding: clamp(1.5rem, 4vw, 3rem); }
	.ao-ins-card--featured .ao-ins-card__title { font-size: var(--text-3xl); }
}
@media (max-width: 920px) { .ao-ins-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ao-ins-grid { grid-template-columns: 1fr; } }

/* =============================================================================
   STAGE 4D — STATIC PAGES (About/Founder, Contact, Thank You)
   Reuses Stage 4A–4C components. These pages get the dark hero via the
   .ao-dark-hero body class (set in inc/setup.php).
   ========================================================================== */

/* Card titles that are links (Thank-You "keep exploring" cards) */
.ao-card__title a { color: var(--color-ink); }
.ao-card__title a:hover { color: var(--color-accent); }

/* Founder authority (dark) */
.ao-founder__inner { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.ao-founder__photo {
	aspect-ratio: 4 / 5;
	display: flex; align-items: center; justify-content: center;
	border: 1px dashed var(--color-dark-border);
	border-radius: var(--radius-lg);
	background: var(--color-dark-surface);
	color: var(--color-dark-muted-fg);
	font-family: var(--font-mono);
	font-size: var(--text-sm);
}
.ao-founder .ao-section__title { color: #fff; }
.ao-founder__text { color: var(--color-dark-fg); margin-bottom: var(--space-4); max-width: 62ch; }
.ao-founder__text strong { color: #fff; }
.ao-founder__quote {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	line-height: var(--leading-snug);
	color: #fff;
	border-left: 3px solid var(--color-accent);
	padding-left: var(--space-5);
	margin: var(--space-6) 0 var(--space-2);
}
.ao-founder__cite { font-size: var(--text-sm); }
.ao-founder__actions { margin-top: var(--space-6); }
@media (max-width: 860px) {
	.ao-founder__inner { grid-template-columns: 1fr; }
	.ao-founder__media { max-width: 360px; }
}

/* About — trust list */
.ao-about__trust-list { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: clamp(2rem, 4vw, 3rem); }
.ao-about__trust-list li { display: flex; gap: var(--space-4); align-items: baseline; flex-wrap: wrap; color: var(--color-slate); }
.ao-about__trust-key { color: var(--color-muted-fg); text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--text-xs); min-width: 8rem; }

/* Contact — optional-form guidance */
.ao-contact__form-note {
	max-width: 70ch;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px dashed var(--color-border-strong);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
}
.ao-contact__form-actions { margin-top: var(--space-6); display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; }
.ao-contact__email { color: var(--color-muted-fg); font-size: var(--text-sm); }

/* =============================================================================
   HOMEPAGE OUTCOMES + PROOF NOTE (honest proof policy)
   Outcome cards reuse the .ao-result card shell; the proof note is a
   bordered statement card replacing the (unearned) testimonial.
   ========================================================================== */
.ao-outcome { display: flex; flex-direction: column; gap: var(--space-3); }
.ao-outcome__tag { color: var(--color-accent); font-size: var(--text-xs); letter-spacing: 0.06em; text-transform: uppercase; }
.ao-outcome__title { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--color-ink); line-height: var(--leading-snug); }
.ao-outcome__text { color: var(--color-muted-fg); }

.ao-proof-note {
	margin-top: clamp(2rem, 4vw, 3rem);
	max-width: 820px;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-accent);
	border-radius: var(--radius-lg);
	padding: clamp(1.75rem, 4vw, 2.5rem);
	box-shadow: var(--shadow-sm);
}
.ao-proof-note__title { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--color-ink); line-height: var(--leading-snug); }
.ao-proof-note__text { margin-top: var(--space-3); color: var(--color-muted-fg); max-width: 64ch; }
.ao-proof-note__cite { margin-top: var(--space-4); color: var(--color-muted-fg); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.08em; }

/* =============================================================================
   PREMIUM QA REFINEMENTS
   Focused layout upgrades for the service index, outcomes, engagement model,
   service details, About, Contact, and Insights cards.
   ========================================================================== */

.ao-pillars .ao-section__head { max-width: 860px; }
.ao-pillars__list {
	display: grid;
	gap: clamp(1rem, 2vw, 1.25rem);
}
.ao-pillar-row {
	position: relative;
	grid-template-columns: minmax(3.5rem, 0.14fr) minmax(0, 1fr);
	align-items: stretch;
	gap: clamp(1.25rem, 4vw, 3rem);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-xs);
	overflow: hidden;
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.ao-pillar-row::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--color-accent);
	opacity: 0;
	transition: opacity var(--transition);
}
.ao-pillar-row:hover,
.ao-pillar-row:focus-within {
	border-color: var(--color-border-strong);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
}
.ao-pillar-row:hover::before,
.ao-pillar-row:focus-within::before { opacity: 1; }
.ao-pillar-row:last-child { border-bottom: 1px solid var(--color-border); }
.ao-pillar-row__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-6);
}
.ao-pillar-row__top .ao-pillar-row__more {
	flex: none;
	margin-top: 0.45rem;
}
.ao-pillar-row__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding-top: 0;
	background: var(--color-accent-soft);
	border: 1px solid rgba(180, 83, 9, 0.18);
	border-radius: 50%;
}
.ao-pillar-row__text { max-width: 72ch; }
.ao-pillar-row__tags li {
	background: var(--color-muted);
	border-color: transparent;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.ao-pillar-row:hover .ao-pillar-row__tags li {
	background: #FFF8EF;
	border-color: rgba(180, 83, 9, 0.18);
	color: var(--color-ink);
}

.ao-svc-outcome .ao-result__metric {
	font-size: var(--text-2xl);
	line-height: var(--leading-snug);
	color: var(--color-ink);
}
.ao-svc-outcome .ao-result__text { margin-top: var(--space-4); }
.ao-proof-note--compact { max-width: 900px; }

.ao-outcome-ledger {
	display: grid;
	margin-top: clamp(1.5rem, 3vw, 2rem);
	background: var(--color-ink);
	color: var(--color-dark-fg);
	border: 1px solid var(--color-dark-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-md);
}
.ao-outcome-ledger__row {
	display: grid;
	grid-template-columns: minmax(7rem, 0.22fr) 1fr;
	gap: clamp(1rem, 3vw, 2rem);
	padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.25rem, 3vw, 1.75rem);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.ao-outcome-ledger__row:last-child { border-bottom: 0; }
.ao-outcome-ledger__label {
	color: #EBB585;
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.ao-outcome-ledger__text { color: var(--color-dark-fg); }

.ao-plan { min-height: 100%; }
.ao-plan__kicker {
	margin-bottom: var(--space-3);
	color: var(--color-accent);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.ao-plan__for {
	min-height: 3.2em;
	border-top: 1px solid var(--color-border);
	padding-top: var(--space-4);
}
.ao-plan--featured .ao-plan__kicker { color: var(--color-ink); }
.ao-pricing__note {
	align-items: flex-start;
	max-width: 840px;
	margin-inline: auto;
}

.ao-service .ao-card {
	position: relative;
	min-height: 100%;
}
.ao-service .ao-card::after {
	content: "";
	position: absolute;
	left: clamp(1.5rem, 3vw, 2rem);
	right: clamp(1.5rem, 3vw, 2rem);
	bottom: 0;
	height: 3px;
	background: var(--color-accent);
	opacity: 0;
	transition: opacity var(--transition);
}
.ao-service .ao-card:hover::after { opacity: 1; }
.ao-service .ao-section--dark .ao-step {
	background: rgba(255, 255, 255, 0.045);
}
.ao-svc-note {
	padding: var(--space-4) var(--space-5);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-accent);
	border-radius: var(--radius);
}
.ao-section--dark .ao-svc-note,
.ao-svc-note--on-dark {
	background: rgba(255, 255, 255, 0.045);
	border-color: var(--color-dark-border);
	border-left-color: #EBB585;
}

.ao-founder__signal {
	min-height: 100%;
	aspect-ratio: 4 / 5;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(1.5rem, 4vw, 2rem);
	border: 1px solid var(--color-dark-border);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
		var(--color-dark-surface);
	box-shadow: 0 20px 50px rgba(2, 6, 23, 0.35);
}
.ao-founder__signal-label {
	color: #EBB585;
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.ao-founder__signal-list {
	display: grid;
	gap: var(--space-3);
}
.ao-founder__signal-list li {
	padding: var(--space-4);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
	font-family: var(--font-display);
	font-size: var(--text-xl);
}
.ao-founder__statement {
	margin: var(--space-6) 0 0;
	padding-left: var(--space-5);
	border-left: 3px solid #EBB585;
	color: #fff;
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	line-height: var(--leading-snug);
}
.ao-about__trust-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
}
.ao-about__trust-card .ao-about__trust-key {
	display: inline-block;
	min-width: 0;
	margin-bottom: var(--space-4);
	color: var(--color-accent);
}

.ao-contact__support-panel {
	max-width: 760px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid var(--color-border);
	border-left: 3px solid var(--color-accent);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
	box-shadow: var(--shadow-xs);
}
.ao-contact__support-kicker {
	color: var(--color-accent);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--space-3);
}
.ao-contact__support-text { color: var(--color-slate); max-width: 68ch; }

.ao-ins-card__media--fallback {
	display: flex;
	align-items: flex-end;
	padding: var(--space-5);
	background:
		linear-gradient(135deg, rgba(180, 83, 9, 0.16), rgba(15, 23, 42, 0.92)),
		var(--color-ink);
}
.ao-ins-card__media--fallback span {
	color: #fff;
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

@media (max-width: 920px) {
	.ao-about__trust-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.ao-pillar-row__top { flex-direction: column; gap: var(--space-4); }
	.ao-pillar-row__more { margin-top: 0; }
	.ao-outcome-ledger__row { grid-template-columns: 1fr; gap: var(--space-2); }
}

/* =============================================================================
   CINEMATIC FULL THEME PASS
   Final premium layer: command-center scenes, editorial rhythm, refined cards,
   accessible motion, and stronger service/Insights/utility page polish.
   ========================================================================== */

.ao-main {
	background:
		linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(248, 250, 252, 1) 34rem),
		var(--color-background);
}

.ao-section {
	position: relative;
}

.ao-section--muted {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(238, 242, 247, 0.88)),
		var(--color-muted);
}

.ao-section--dark {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(180deg, #0B1120 0%, var(--color-dark-bg) 58%, #111B31 100%);
}

.ao-section--dark::before,
.ao-cta-band::before,
.ao-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		linear-gradient(var(--color-command-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--color-command-grid) 1px, transparent 1px),
		linear-gradient(90deg, transparent 0%, rgba(235, 181, 133, 0.1) 48%, transparent 76%);
	background-size: 72px 72px, 72px 72px, 100% 100%;
	opacity: 0.38;
}

.ao-section--dark > .ao-container,
.ao-cta-band > .ao-container,
.ao-footer > .ao-container {
	position: relative;
	z-index: 1;
}

.ao-section__head {
	position: relative;
}

.ao-section__head::after {
	content: "";
	display: block;
	width: 4.5rem;
	height: 2px;
	margin-top: var(--space-5);
	background: linear-gradient(90deg, var(--color-accent), rgba(180, 83, 9, 0));
}

.ao-section__head--left::after,
.ao-faq .ao-section__head::after {
	margin-inline: 0;
}

.ao-section--dark .ao-section__head::after {
	background: linear-gradient(90deg, #EBB585, rgba(235, 181, 133, 0));
}

/* Hero scene */
.ao-dark-hero .ao-hero {
	position: relative;
	isolation: isolate;
	background:
		linear-gradient(135deg, #08111F 0%, #101A2F 48%, #0B1120 100%),
		var(--color-dark-bg);
}

.ao-dark-hero .ao-hero::before,
.ao-dark-hero .ao-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.ao-dark-hero .ao-hero::before {
	background-image:
		linear-gradient(var(--color-command-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--color-command-grid) 1px, transparent 1px);
	background-size: 76px 76px;
	opacity: 0.5;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
	animation: aoGridDrift 18s linear infinite;
}

.ao-dark-hero .ao-hero::after {
	background:
		linear-gradient(90deg, transparent 0%, rgba(235, 181, 133, 0.18) 15%, transparent 34%),
		linear-gradient(180deg, rgba(235, 181, 133, 0.1), transparent 36%),
		linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.1), transparent);
	background-size: 140% 100%, 100% 100%, 100% 100%;
	opacity: 0.72;
	animation: aoSignalSweep 11s var(--ease-in-out) infinite alternate;
}

.ao-dark-hero .ao-hero__inner {
	position: relative;
	z-index: 1;
}

.ao-dark-hero .ao-hero__content {
	max-width: 760px;
}

.ao-dark-hero .ao-hero__title {
	text-wrap: balance;
}

.ao-dark-hero .ao-hero__subtitle,
.ao-section__lead,
.ao-cta-band__text {
	text-wrap: pretty;
}

.ao-dark-hero .ao-hero__trust {
	max-width: 54ch;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(235, 181, 133, 0.18);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.035);
}

.ao-dark-hero .ao-hero__panel {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025)),
		var(--color-command-panel);
	border-color: rgba(235, 181, 133, 0.16);
	box-shadow: var(--shadow-dark-panel);
}

.ao-dark-hero .ao-hero__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.12) 1px, transparent 1px);
	background-size: 42px 42px;
	opacity: 0.22;
}

.ao-hero__panel-head,
.ao-hero__panel-list {
	position: relative;
}

.ao-dark-hero .ao-hero__panel-list li {
	position: relative;
	margin-inline: calc(var(--space-2) * -1);
	padding: 0.9rem var(--space-2);
	border-radius: var(--radius);
	transition: background var(--transition), border-color var(--transition), transform var(--transition);
}

.ao-dark-hero .ao-hero__panel-list li:hover {
	background: rgba(255, 255, 255, 0.045);
	transform: translateX(3px);
}

.ao-hero__panel-label {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.ao-hero__panel-label::before {
	content: "";
	width: 0.46rem;
	height: 0.46rem;
	border-radius: 50%;
	background: var(--color-accent);
	box-shadow: 0 0 0 4px rgba(180, 83, 9, 0.1);
}

@keyframes aoGridDrift {
	from { background-position: 0 0; }
	to { background-position: 76px 76px; }
}

@keyframes aoSignalSweep {
	from { background-position: 0 0, 0 0, 0 0; }
	to { background-position: 28% 0, 0 0, 0 0; }
}

/* Buttons and focus */
.ao-btn {
	position: relative;
	overflow: hidden;
}

.ao-btn--primary {
	background: linear-gradient(180deg, #C56816, var(--color-accent));
	box-shadow: 0 10px 24px rgba(180, 83, 9, 0.18);
}

.ao-btn--primary:hover {
	box-shadow: 0 16px 34px rgba(180, 83, 9, 0.24);
	transform: translateY(-1px);
}

.ao-btn--secondary,
.search-form .search-submit {
	background: linear-gradient(180deg, #17233B, var(--color-ink));
}

.ao-btn--ghost:hover,
.ao-nav-toggle:hover,
.pagination a.page-numbers:hover {
	transform: translateY(-1px);
}

.ao-btn:focus-visible,
.ao-link:focus-visible,
.ao-footer__link:focus-visible,
.ao-footer__social-link:focus-visible,
.ao-chip:focus-visible,
.ao-faq__q:focus-visible {
	outline: 2px solid #EBB585;
	outline-offset: 3px;
}

/* Header and mobile nav */
.ao-dark-hero .ao-header:not(.is-scrolled) {
	background: rgba(11, 17, 32, 0.9);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.ao-header.is-scrolled {
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

.ao-nav__list {
	gap: clamp(1rem, 2.4vw, 1.5rem);
}

.ao-nav__link {
	border-radius: var(--radius-sm);
}

.ao-mobile-nav {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98)),
		var(--color-surface);
}

.ao-mobile-nav__list a {
	border-radius: var(--radius-sm);
	padding-inline: var(--space-3);
}

.ao-mobile-nav__list a:hover,
.ao-mobile-nav__list a:focus-visible {
	background: var(--color-accent-soft);
}

/* Proof strip and honest statements */
.ao-proof {
	background:
		linear-gradient(180deg, #FFFFFF, #F8FAFC),
		var(--color-surface);
}

.ao-proof__grid {
	gap: var(--space-4);
}

.ao-stat {
	position: relative;
	min-height: 100%;
	padding: clamp(1.1rem, 2.5vw, 1.45rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: var(--shadow-xs);
}

.ao-stat::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: var(--color-accent);
	opacity: 0.72;
}

.ao-stat__value {
	font-size: var(--text-2xl);
}

/* Premium cards and service architecture */
.ao-card,
.ao-result,
.ao-aud-card,
.ao-plan,
.ao-post-card,
.ao-ins-card,
.ao-empty,
.ao-faq__item,
.ao-contact__support-panel {
	box-shadow: var(--shadow-xs);
}

.ao-card,
.ao-result,
.ao-aud-card,
.ao-plan,
.ao-post-card,
.ao-ins-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.82)),
		var(--color-surface);
}

.ao-card:hover,
.ao-card:focus-within,
.ao-result:hover,
.ao-result:focus-within,
.ao-aud-card:hover,
.ao-aud-card:focus-within,
.ao-plan:hover,
.ao-plan:focus-within,
.ao-post-card:hover,
.ao-post-card:focus-within,
.ao-ins-card:hover,
.ao-ins-card:focus-within {
	border-color: rgba(180, 83, 9, 0.34);
	box-shadow: var(--shadow-cinematic);
}

.ao-card__title,
.ao-pillar__title,
.ao-result__metric,
.ao-outcome__title,
.ao-plan__name,
.ao-post-card__title,
.ao-ins-card__title {
	text-wrap: balance;
}

.ao-pillar-row {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.86)),
		var(--color-surface);
}

.ao-pillar-row__num {
	position: relative;
	box-shadow: inset 0 0 0 6px rgba(251, 239, 226, 0.62);
}

.ao-pillar-row__title {
	text-wrap: balance;
}

.ao-pillar-row__tags li,
.ao-tags a,
.ao-chip {
	min-height: 34px;
	align-items: center;
}

.ao-pillar-row__tags li {
	display: inline-flex;
}

.ao-service .ao-card {
	min-height: 100%;
}

.ao-service .ao-section:nth-of-type(even) .ao-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(251, 239, 226, 0.2)),
		var(--color-surface);
}

.ao-svc-note {
	border-left-width: 4px;
	box-shadow: var(--shadow-xs);
}

.ao-checklist {
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.74);
}

.ao-checklist li {
	position: relative;
	padding-block: 0.25rem;
}

.ao-checklist__check {
	color: var(--color-success);
}

/* Problem, process, outcomes */
.ao-problem__item {
	position: relative;
	box-shadow: var(--shadow-xs);
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.ao-problem__item:hover {
	border-color: rgba(180, 83, 9, 0.28);
	box-shadow: var(--shadow-md);
	transform: translateY(-1px);
}

.ao-process__steps {
	position: relative;
}

@media (min-width: 921px) {
	.ao-process__steps::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 2.25rem;
		height: 1px;
		background: linear-gradient(90deg, rgba(235, 181, 133, 0), rgba(235, 181, 133, 0.48), rgba(235, 181, 133, 0));
	}
}

.ao-step {
	position: relative;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
		var(--color-command-panel-strong);
	box-shadow: 0 18px 44px rgba(2, 6, 23, 0.22);
	transition: border-color var(--transition), transform var(--transition), background var(--transition);
}

.ao-step:hover,
.ao-step:focus-within {
	border-color: rgba(235, 181, 133, 0.32);
	transform: translateY(-2px);
}

.ao-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin-bottom: var(--space-5);
	border: 1px solid rgba(235, 181, 133, 0.38);
	border-radius: 50%;
	background: rgba(235, 181, 133, 0.08);
}

.ao-outcome {
	position: relative;
	overflow: hidden;
}

.ao-outcome::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--color-accent), rgba(180, 83, 9, 0));
}

.ao-outcome-ledger {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)),
		var(--color-ink);
	box-shadow: var(--shadow-dark-panel);
}

.ao-proof-note {
	position: relative;
	overflow: hidden;
}

.ao-proof-note::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--color-accent);
}

/* Engagements and FAQ */
.ao-plan--featured {
	background:
		linear-gradient(180deg, rgba(251, 239, 226, 0.72), rgba(255, 255, 255, 0.98)),
		var(--color-surface);
	border-color: rgba(180, 83, 9, 0.5);
}

.ao-plan__amount {
	font-size: var(--text-3xl);
}

.ao-pricing__note {
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.68);
}

.ao-faq__list {
	display: grid;
	gap: var(--space-3);
	border-top: 0;
}

.ao-faq__item {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.82);
	overflow: hidden;
	transition: border-color var(--transition), box-shadow var(--transition);
}

.ao-faq__item[open],
.ao-faq__item:hover {
	border-color: rgba(180, 83, 9, 0.32);
	box-shadow: var(--shadow-sm);
}

.ao-faq__q {
	padding: var(--space-5);
}

.ao-faq__a {
	padding: 0 var(--space-5) var(--space-5);
}

/* Cinematic final CTA */
.ao-cta-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(135deg, #08111F 0%, #111B31 55%, #0B1120 100%),
		var(--color-dark-bg);
}

.ao-cta-band::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: min(720px, 80vw);
	height: 1px;
	transform: translateX(-50%);
	background: linear-gradient(90deg, transparent, var(--color-brass-line), transparent);
}

.ao-cta-band__inner {
	padding: clamp(1rem, 3vw, 2rem);
}

.ao-cta-band__title {
	text-wrap: balance;
}

.ao-cta-band__note {
	display: inline-flex;
	justify-content: center;
	max-width: 100%;
	padding: 0.55rem 0.85rem;
	border: 1px solid rgba(235, 181, 133, 0.2);
	border-radius: var(--radius-full);
	background: rgba(255, 255, 255, 0.04);
	color: var(--color-dark-fg);
}

/* Footer */
.ao-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(180deg, #0B1120, #0F172A),
		var(--color-dark-bg);
}

.ao-footer__grid {
	align-items: start;
}

.ao-footer__heading {
	color: #EBB585;
}

.ao-footer__menu a,
.ao-footer__link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 30px;
}

.ao-footer__menu a {
	position: relative;
}

.ao-footer__menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
	opacity: 0.65;
}

.ao-footer__menu a:hover::after,
.ao-footer__menu a:focus-visible::after {
	transform: scaleX(1);
}

.ao-footer__contact .ao-footer__email {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: var(--space-5);
	color: var(--color-dark-fg);
}

.ao-footer__email .ao-icon {
	color: #EBB585;
}

.ao-footer__cta {
	margin-top: var(--space-1);
}

.ao-footer__social-link {
	background: rgba(255, 255, 255, 0.04);
}

/* Insights, articles, archives, search */
.ao-insights__intro {
	background:
		linear-gradient(180deg, #FFFFFF, #F8FAFC),
		var(--color-surface);
}

.ao-insights__links {
	max-width: 860px;
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
}

.ao-ins-card__media,
.ao-post-card__media,
.ao-single__media {
	position: relative;
}

.ao-ins-card__media::after,
.ao-post-card__media::after,
.ao-single__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.ao-ins-card__more {
	color: var(--color-accent);
}

.ao-ins-card:hover .ao-ins-card__more .ao-icon,
.ao-post-card:hover .ao-link .ao-icon {
	transform: translateX(3px);
}

.ao-blog,
.ao-single {
	padding-block: clamp(3rem, 7vw, 5.5rem);
}

.ao-page-header {
	position: relative;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.86)),
		var(--color-surface);
	box-shadow: var(--shadow-xs);
}

.ao-page-header::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--color-accent);
	border-radius: var(--radius-lg) 0 0 var(--radius-lg);
}

.ao-single .ao-page-header {
	max-width: 920px;
	margin-inline: auto;
}

.ao-single {
	max-width: 960px;
}

.ao-article {
	max-width: min(860px, 100%);
	margin-inline: auto;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
		var(--color-surface);
	color: var(--color-slate);
	box-shadow: var(--shadow-xs);
}

.ao-single .ao-article,
.ao-single .ao-prose,
.single-post .ao-article,
.single-post .ao-prose {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

.ao-single .ao-article.ao-reveal {
	transition: none;
}

.ao-prose > p:first-child {
	font-size: var(--text-xl);
	color: var(--color-slate);
}

.ao-prose figure,
.ao-prose table {
	margin-block: var(--space-8);
}

.ao-prose figcaption,
.ao-prose caption {
	margin-top: var(--space-2);
	color: var(--color-muted-fg);
	font-size: var(--text-sm);
	line-height: var(--leading-snug);
}

.ao-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--text-base);
}

.ao-prose th,
.ao-prose td {
	padding: 0.85rem 1rem;
	border: 1px solid var(--color-border);
	text-align: left;
	vertical-align: top;
}

.ao-prose th {
	background: var(--color-muted);
	color: var(--color-ink);
	font-weight: var(--weight-semibold);
}

.post-navigation a {
	display: block;
	max-width: 26rem;
	padding: var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
	box-shadow: var(--shadow-xs);
}

.post-navigation a:hover,
.post-navigation a:focus-visible {
	border-color: rgba(180, 83, 9, 0.32);
	box-shadow: var(--shadow-sm);
}

.pagination .page-numbers {
	background: var(--color-surface);
}

.pagination .page-numbers.current {
	background: linear-gradient(180deg, #17233B, var(--color-ink));
}

.ao-empty {
	position: relative;
	overflow: hidden;
}

.ao-empty::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--color-accent);
}

/* About, contact, thank-you, 404 */
.ao-founder__inner {
	display: grid;
	grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: center;
}

.ao-founder__signal {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025)),
		var(--color-command-panel);
}

.ao-founder__signal-list li {
	position: relative;
	overflow: hidden;
}

.ao-founder__signal-list li::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, #EBB585, transparent);
}

.ao-founder__text {
	color: var(--color-dark-fg);
	font-size: var(--text-lg);
	line-height: var(--leading-normal);
}

.ao-founder__text + .ao-founder__text {
	margin-top: var(--space-4);
}

.ao-founder__text strong {
	color: #fff;
}

.ao-founder__actions {
	margin-top: var(--space-6);
}

.ao-contact__support-panel {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 239, 226, 0.28)),
		var(--color-surface);
	box-shadow: var(--shadow-sm);
}

.ao-contact__form-actions .ao-btn {
	flex: none;
}

.ao-thanks .ao-checklist,
.ao-contact .ao-checklist {
	max-width: 960px;
}

.ao-404 {
	min-height: calc(100vh - 72px);
	display: flex;
	align-items: center;
	background:
		linear-gradient(135deg, #08111F 0%, #111B31 55%, #0B1120 100%),
		var(--color-dark-bg);
	color: var(--color-dark-muted-fg);
}

.ao-404::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(var(--color-command-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--color-command-grid) 1px, transparent 1px);
	background-size: 72px 72px;
	opacity: 0.32;
}

.ao-404__inner {
	position: relative;
	z-index: 1;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.ao-404 .ao-eyebrow {
	color: #EBB585;
}

.ao-404 .ao-section__title {
	color: #fff;
}

.ao-404 .ao-section__lead {
	color: var(--color-dark-fg);
}

.ao-404 .ao-btn--ghost {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.28);
}

.ao-404 .ao-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	border-color: #fff;
}

.ao-404 .search-form {
	padding: var(--space-3);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.06);
}

/* Forms and embedded form surfaces */
.ao-contact__form form,
.ao-prose form,
.wp-block-search,
.search-form {
	max-width: 720px;
}

.ao-contact__form input,
.ao-contact__form textarea,
.ao-contact__form select {
	background: #fff;
}

input[type="text"]:hover,
input[type="email"]:hover,
input[type="url"]:hover,
input[type="search"]:hover,
input[type="password"]:hover,
input[type="tel"]:hover,
input[type="number"]:hover,
textarea:hover,
select:hover {
	border-color: rgba(180, 83, 9, 0.38);
}

/* Progressive reveal */
.ao-js .ao-reveal {
	will-change: opacity, transform;
}

.ao-reveal--in {
	will-change: auto;
}

/* Responsive polish */
@media (max-width: 1080px) {
	.ao-footer__grid {
		grid-template-columns: 1.2fr 1fr 1fr;
	}

	.ao-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 920px) {
	.ao-founder__inner {
		grid-template-columns: 1fr;
	}

	.ao-founder__signal {
		aspect-ratio: auto;
	}

	.ao-process__steps::before {
		display: none;
	}
}

@media (max-width: 760px) {
	.ao-proof__grid,
	.ao-grid--2,
	.ao-grid--3 {
		grid-template-columns: 1fr;
	}

	.ao-page-header,
	.ao-article,
	.ao-checklist {
		padding: var(--space-5);
	}

	.ao-post-card,
	.ao-ins-card--featured {
		grid-template-columns: 1fr;
	}

	.ao-footer__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.ao-dark-hero .ao-hero__trust,
	.ao-hero__panel-list li,
	.ao-outcome-ledger__row {
		align-items: flex-start;
	}

	.ao-hero__panel-list li {
		flex-direction: column;
		gap: var(--space-2);
	}

	.ao-cta-band__note {
		border-radius: var(--radius);
	}

	.search-form {
		flex-direction: column;
	}

	.search-form .search-submit {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ao-dark-hero .ao-hero::before,
	.ao-dark-hero .ao-hero::after {
		animation: none !important;
	}

	.ao-btn:hover,
	.ao-card:hover,
	.ao-result:hover,
	.ao-aud-card:hover,
	.ao-plan:hover,
	.ao-post-card:hover,
	.ao-ins-card:hover,
	.ao-problem__item:hover,
	.ao-step:hover {
		transform: none !important;
	}
}

/* =============================================================================
   LOCAL LOTTIE INTEGRATION
   Decorative local animations with stable fallback frames and reduced-motion
   safety. Containers are pointer-transparent and never carry critical content.
   ========================================================================== */

.ao-lottie {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	min-height: 220px;
	aspect-ratio: 16 / 10;
	border: 1px solid rgba(235, 181, 133, 0.18);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02)),
		var(--color-command-panel);
	box-shadow: var(--shadow-dark-panel);
	pointer-events: none;
}

.ao-lottie__canvas,
.ao-lottie__fallback {
	position: absolute;
	inset: 0;
}

.ao-lottie__canvas {
	z-index: 2;
	opacity: 0;
	transition: opacity 420ms var(--ease-out);
}

.ao-lottie__canvas svg {
	width: 100% !important;
	height: 100% !important;
	display: block;
}

.ao-lottie--ready .ao-lottie__canvas {
	opacity: 1;
}

.ao-lottie__fallback {
	z-index: 1;
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.13) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.13) 1px, transparent 1px),
		linear-gradient(135deg, rgba(235, 181, 133, 0.16), rgba(15, 23, 42, 0.1));
	background-size: 42px 42px, 42px 42px, 100% 100%;
	opacity: 0.86;
}

.ao-lottie__fallback span {
	position: absolute;
	left: 10%;
	right: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(235, 181, 133, 0.72), transparent);
	opacity: 0.66;
}

.ao-lottie__fallback span:nth-child(1) { top: 28%; }
.ao-lottie__fallback span:nth-child(2) { top: 52%; transform: scaleX(0.72); }
.ao-lottie__fallback span:nth-child(3) { top: 74%; transform: scaleX(0.48); }

.ao-lottie--ready .ao-lottie__fallback {
	opacity: 0.28;
}

.ao-lottie--fallback .ao-lottie__fallback,
.ao-lottie--reduced .ao-lottie__fallback {
	opacity: 1;
}

.ao-lottie--fallback .ao-lottie__canvas,
.ao-lottie--reduced .ao-lottie__canvas {
	display: none;
}

.ao-hero__visual {
	position: relative;
	min-height: clamp(420px, 52vw, 560px);
	display: grid;
	align-items: center;
}

.ao-hero__visual .ao-lottie--hero {
	position: absolute;
	inset: -8% -7%;
	z-index: 0;
	min-height: 0;
	height: auto;
	opacity: 0.68;
}

.ao-hero__visual .ao-hero__panel {
	position: relative;
	z-index: 2;
	max-width: 520px;
	margin-inline: auto;
}

.ao-pillars__visual,
.ao-process__visual {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.ao-pillars__visual {
	max-width: 920px;
}

.ao-process__visual {
	max-width: 860px;
}

.ao-lottie--section,
.ao-lottie--process {
	min-height: 180px;
	aspect-ratio: 21 / 7;
}

.ao-section--muted .ao-lottie--section {
	background:
		linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(22, 32, 58, 0.92)),
		var(--color-ink);
}

.ao-hero--with-visual .ao-hero__inner {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
}

.ao-hero--with-visual .ao-hero__content {
	max-width: 760px;
}

.ao-hero__aside--lottie {
	position: relative;
}

.ao-lottie--service {
	min-height: clamp(260px, 34vw, 410px);
	aspect-ratio: 4 / 3;
}

.ao-lottie--service::after,
.ao-lottie--hero::after,
.ao-lottie--section::after,
.ao-lottie--process::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

@media (max-width: 900px) {
	.ao-hero--with-visual .ao-hero__inner {
		grid-template-columns: 1fr;
	}

	.ao-hero__visual {
		min-height: 360px;
	}

	.ao-hero__aside--lottie {
		max-width: 520px;
	}
}

@media (max-width: 600px) {
	.ao-hero__visual {
		min-height: 320px;
	}

	.ao-hero__visual .ao-lottie--hero {
		inset: -4%;
	}

	.ao-lottie--section,
	.ao-lottie--process {
		min-height: 150px;
		aspect-ratio: 16 / 8;
	}

	.ao-lottie--service {
		min-height: 220px;
		aspect-ratio: 16 / 11;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ao-lottie__canvas {
		display: none !important;
	}

	.ao-lottie__fallback {
		opacity: 1 !important;
	}
}

/* =============================================================================
   LOTTIE VISIBILITY UPGRADE
   Turns existing local animations into visible cinematic modules without adding
   new assets or changing the content model.
   ========================================================================== */

.ao-lottie-frame {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	padding: clamp(0.85rem, 1.8vw, 1.1rem);
	border: 1px solid rgba(235, 181, 133, 0.32);
	border-radius: var(--radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025)),
		linear-gradient(135deg, rgba(22, 32, 58, 0.96), rgba(8, 17, 31, 0.98));
	box-shadow:
		0 30px 90px rgba(2, 6, 23, 0.42),
		0 0 0 1px rgba(255, 255, 255, 0.045) inset;
}

.ao-lottie-frame::before,
.ao-lottie-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.ao-lottie-frame::before {
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.14) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.14) 1px, transparent 1px);
	background-size: 48px 48px;
	opacity: 0.38;
}

.ao-lottie-frame::after {
	border-radius: inherit;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.11),
		inset 0 -1px 0 rgba(235, 181, 133, 0.13);
}

.ao-lottie-frame__head {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	min-height: 2.4rem;
	margin-bottom: clamp(0.7rem, 1.6vw, 1rem);
	padding: 0.35rem 0.4rem 0.75rem;
	border-bottom: 1px solid rgba(235, 181, 133, 0.18);
}

.ao-lottie-frame__label,
.ao-lottie-frame__status {
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.ao-lottie-frame__label {
	color: #EBB585;
}

.ao-lottie-frame__status {
	color: rgba(241, 245, 249, 0.72);
}

.ao-lottie-frame .ao-lottie {
	position: relative;
	z-index: 1;
	min-height: 260px;
	border-color: rgba(235, 181, 133, 0.2);
	border-radius: calc(var(--radius-xl) - 5px);
	background:
		linear-gradient(180deg, rgba(15, 23, 42, 0.28), rgba(15, 23, 42, 0.04)),
		rgba(8, 17, 31, 0.58);
	box-shadow: none;
}

.ao-lottie-frame .ao-lottie__canvas {
	z-index: 2;
	opacity: 0;
	filter: saturate(1.14) contrast(1.08) brightness(1.08);
}

.ao-lottie-frame .ao-lottie--ready .ao-lottie__canvas {
	opacity: 1;
}

.ao-lottie-frame .ao-lottie__canvas svg {
	width: 100% !important;
	height: 100% !important;
	transform: scale(1.025);
	transform-origin: 50% 50%;
}

.ao-lottie-frame .ao-lottie__fallback {
	z-index: 1;
	opacity: 0.88;
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.18) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.18) 1px, transparent 1px),
		linear-gradient(115deg, rgba(235, 181, 133, 0.22), rgba(15, 23, 42, 0.06) 62%);
}

.ao-lottie-frame .ao-lottie--ready .ao-lottie__fallback {
	opacity: 0.12;
}

.ao-lottie-frame .ao-lottie--fallback .ao-lottie__fallback,
.ao-lottie-frame .ao-lottie--reduced .ao-lottie__fallback {
	opacity: 1;
}

/* Hero: foreground command-center module */
.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__inner {
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.88fr);
	align-items: center;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__aside {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
}

.ao-hero__visual {
	position: relative;
	display: grid;
	align-items: stretch;
	gap: clamp(1rem, 2vw, 1.35rem);
	min-height: 0;
}

.ao-lottie-frame--hero {
	min-height: clamp(420px, 44vw, 580px);
	padding: clamp(1rem, 2vw, 1.3rem);
	border-color: rgba(235, 181, 133, 0.42);
	box-shadow:
		0 34px 110px rgba(2, 6, 23, 0.55),
		0 0 34px rgba(235, 181, 133, 0.12),
		0 0 0 1px rgba(255, 255, 255, 0.055) inset;
}

.ao-hero__visual .ao-lottie--hero {
	position: relative;
	inset: auto;
	z-index: 1;
	min-height: clamp(330px, 35vw, 470px);
	height: auto;
	aspect-ratio: 16 / 12;
	opacity: 1;
}

.ao-hero__visual .ao-hero__panel {
	position: relative;
	z-index: 2;
	max-width: none;
	margin-inline: 0;
	padding: clamp(1rem, 2vw, 1.35rem);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025)),
		rgba(22, 32, 58, 0.78);
	backdrop-filter: blur(16px);
}

.ao-hero__visual .ao-hero__panel-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem 0.8rem;
}

.ao-hero__visual .ao-hero__panel-list li {
	margin-inline: 0;
	padding: 0.65rem 0;
}

.ao-hero__visual .ao-hero__panel-list li:last-child {
	grid-column: 1 / -1;
}

/* Homepage operating layer */
.ao-pillars__visual {
	max-width: 1080px;
	margin: clamp(2rem, 4vw, 3rem) auto clamp(1.5rem, 3vw, 2.25rem);
}

.ao-lottie-frame--section {
	padding: clamp(0.9rem, 1.8vw, 1.15rem);
}

.ao-lottie-frame--section .ao-lottie--section {
	min-height: clamp(230px, 25vw, 330px);
	aspect-ratio: 21 / 8;
}

.ao-pillars__visual + .ao-pillars__list {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.ao-pillar-row__tags {
	position: relative;
}

.ao-pillar-row:nth-child(3) .ao-pillar-row__tags {
	padding-top: 0.85rem;
	border-top: 1px solid rgba(180, 83, 9, 0.16);
}

.ao-pillar-row:nth-child(3) .ao-pillar-row__tags li {
	background:
		linear-gradient(180deg, rgba(255, 248, 239, 0.96), rgba(255, 255, 255, 0.92)),
		var(--color-surface);
	border-color: rgba(180, 83, 9, 0.18);
}

/* Process delivery pipeline */
.ao-process__visual {
	max-width: 980px;
	margin: clamp(2rem, 4vw, 3rem) auto clamp(1.5rem, 3vw, 2.35rem);
}

.ao-lottie-frame--process {
	border-color: rgba(235, 181, 133, 0.36);
}

.ao-lottie-frame--process .ao-lottie--process {
	min-height: clamp(220px, 23vw, 310px);
	aspect-ratio: 21 / 8;
}

.ao-process__visual + .ao-process__steps {
	margin-top: 0;
}

/* Service page hero visual modules */
.ao-hero--solo.ao-hero--with-visual .ao-hero__inner {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.56fr);
	align-items: center;
}

.ao-hero__aside--lottie {
	width: 100%;
}

.ao-lottie-frame--service {
	max-width: 520px;
	margin-inline: auto;
	padding: clamp(0.85rem, 1.6vw, 1.05rem);
}

.ao-lottie-frame--service .ao-lottie--service {
	min-height: clamp(260px, 28vw, 380px);
	aspect-ratio: 4 / 3;
}

@media (max-width: 1040px) {
	.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__inner,
	.ao-hero--solo.ao-hero--with-visual .ao-hero__inner {
		grid-template-columns: 1fr;
	}

	.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__content,
	.ao-hero--solo.ao-hero--with-visual .ao-hero__content {
		max-width: 820px;
	}

	.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__aside,
	.ao-hero__aside--lottie {
		max-width: 720px;
		justify-self: center;
	}
}

@media (max-width: 760px) {
	.ao-lottie-frame {
		border-radius: var(--radius-lg);
	}

	.ao-lottie-frame__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.35rem;
	}

	.ao-lottie-frame__status {
		white-space: normal;
	}

	.ao-lottie-frame--hero {
		min-height: 0;
	}

	.ao-hero__visual .ao-lottie--hero,
	.ao-lottie-frame--service .ao-lottie--service {
		min-height: 260px;
		aspect-ratio: 16 / 11;
	}

	.ao-lottie-frame--section .ao-lottie--section,
	.ao-lottie-frame--process .ao-lottie--process {
		min-height: 190px;
		aspect-ratio: 16 / 9;
	}

	.ao-hero__visual .ao-hero__panel-list {
		grid-template-columns: 1fr;
	}

	.ao-hero__visual .ao-hero__panel-list li:last-child {
		grid-column: auto;
	}
}

@media (max-width: 520px) {
	.ao-pillars__visual,
	.ao-process__visual {
		margin-inline: calc(var(--gutter) * -0.15);
	}

	.ao-lottie-frame--section .ao-lottie--section,
	.ao-lottie-frame--process .ao-lottie--process {
		min-height: 170px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ao-lottie-frame .ao-lottie__canvas {
		display: none !important;
		opacity: 0 !important;
	}

	.ao-lottie-frame .ao-lottie__fallback {
		opacity: 1 !important;
	}
}

/* =============================================================================
   CINEMATIC VIDEO SYSTEM
   Local WebM/MP4 visual modules with Lottie/static fallback. Decorative only,
   pointer-transparent, and sized to avoid layout shift.
   ========================================================================== */

.ao-cinematic {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	padding: clamp(0.55rem, 1.2vw, 0.8rem);
	border: 1px solid rgba(235, 181, 133, 0.34);
	border-radius: var(--radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.025)),
		linear-gradient(135deg, rgba(22, 32, 58, 0.98), rgba(8, 17, 31, 0.98));
	box-shadow:
		0 34px 100px rgba(2, 6, 23, 0.46),
		0 0 38px rgba(235, 181, 133, 0.11),
		0 0 0 1px rgba(255, 255, 255, 0.055) inset;
	pointer-events: none;
}

.ao-cinematic::before,
.ao-cinematic::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.ao-cinematic::before {
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.14) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.14) 1px, transparent 1px),
		linear-gradient(110deg, transparent 0%, rgba(235, 181, 133, 0.1) 45%, transparent 72%);
	background-size: 52px 52px, 52px 52px, 100% 100%;
	opacity: 0.34;
}

.ao-cinematic::after {
	border-radius: inherit;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.12),
		inset 0 -1px 0 rgba(235, 181, 133, 0.16);
}

.ao-cinematic__head {
	position: absolute;
	top: clamp(1rem, 2vw, 1.25rem);
	left: clamp(1rem, 2vw, 1.25rem);
	z-index: 4;
	display: inline-flex;
	align-items: center;
	max-width: calc(100% - 2rem);
	padding: 0.42rem 0.62rem;
	border: 1px solid rgba(235, 181, 133, 0.24);
	border-radius: var(--radius-full);
	background: rgba(8, 17, 31, 0.62);
	box-shadow: 0 10px 30px rgba(2, 6, 23, 0.22);
	backdrop-filter: blur(14px);
}

.ao-cinematic__label {
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
	color: #EBB585;
}

.ao-cinematic__stage {
	position: relative;
	z-index: 1;
	overflow: hidden;
	width: 100%;
	min-height: 260px;
	aspect-ratio: 16 / 10;
	border: 1px solid rgba(235, 181, 133, 0.19);
	border-radius: calc(var(--radius-xl) - 5px);
	background:
		linear-gradient(180deg, rgba(15, 23, 42, 0.28), rgba(15, 23, 42, 0.04)),
		rgba(8, 17, 31, 0.72);
}

.ao-cinematic__stage::before,
.ao-cinematic__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
}

.ao-cinematic__stage::before {
	background:
		radial-gradient(circle at 74% 26%, rgba(235, 181, 133, 0.17), transparent 34%),
		linear-gradient(90deg, rgba(8, 17, 31, 0.42), transparent 20%, transparent 76%, rgba(8, 17, 31, 0.56)),
		linear-gradient(180deg, rgba(8, 17, 31, 0.44), transparent 24%, transparent 72%, rgba(8, 17, 31, 0.48));
}

.ao-cinematic__stage::after {
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.065),
		inset 0 0 46px rgba(2, 6, 23, 0.5),
		inset 0 0 90px rgba(8, 17, 31, 0.72);
}

.ao-cinematic__video,
.ao-cinematic__static,
.ao-cinematic__lottie {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.ao-cinematic__video {
	z-index: 2;
	display: block;
	object-fit: cover;
	opacity: 0;
	filter: saturate(1.1) contrast(1.08) brightness(1.03);
	transition: opacity 420ms var(--ease-out);
	pointer-events: none;
}

.ao-cinematic__static {
	z-index: 1;
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.18) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.18) 1px, transparent 1px),
		radial-gradient(circle at 72% 28%, rgba(235, 181, 133, 0.24), transparent 35%),
		linear-gradient(135deg, rgba(235, 181, 133, 0.14), rgba(15, 23, 42, 0.06) 60%);
	background-size: 46px 46px, 46px 46px, 100% 100%, 100% 100%;
	opacity: 0.88;
	transition: opacity 320ms var(--ease-out);
}

.ao-cinematic__static span {
	position: absolute;
	left: 9%;
	right: 9%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(235, 181, 133, 0.76), transparent);
	opacity: 0.62;
}

.ao-cinematic__static span:nth-child(1) { top: 28%; }
.ao-cinematic__static span:nth-child(2) { top: 52%; transform: scaleX(0.74); }
.ao-cinematic__static span:nth-child(3) { top: 74%; transform: scaleX(0.5); }

.ao-cinematic__lottie {
	z-index: 2;
	opacity: 0;
	visibility: hidden;
	transition: opacity 320ms var(--ease-out), visibility 320ms var(--ease-out);
}

.ao-cinematic__lottie .ao-lottie {
	width: 100%;
	height: 100%;
	min-height: 100%;
	aspect-ratio: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ao-cinematic--video-ready .ao-cinematic__video {
	opacity: 1;
}

.ao-cinematic--video-ready .ao-cinematic__static {
	opacity: 0;
	visibility: hidden;
}

.ao-cinematic--video-ready .ao-cinematic__lottie {
	display: none;
	opacity: 0;
	visibility: hidden;
}

.ao-cinematic--fallback .ao-cinematic__video {
	opacity: 0;
	visibility: hidden;
}

.ao-cinematic--fallback .ao-cinematic__lottie,
.ao-cinematic--no-video .ao-cinematic__lottie {
	opacity: 1;
	visibility: visible;
}

.ao-cinematic--fallback .ao-cinematic__static,
.ao-cinematic--no-video .ao-cinematic__static {
	opacity: 0.2;
}

/* Homepage hero command-center scene */
.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__inner {
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.88fr);
	align-items: center;
	gap: clamp(2.5rem, 5vw, 5rem);
}

.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__aside {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
}

.ao-hero__visual {
	position: relative;
	display: grid;
	align-items: stretch;
	gap: 0;
	min-height: 0;
}

.ao-cinematic--hero {
	min-height: 0;
	border-color: rgba(235, 181, 133, 0.44);
	box-shadow:
		0 38px 120px rgba(2, 6, 23, 0.58),
		0 0 42px rgba(235, 181, 133, 0.14),
		0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.ao-cinematic--hero .ao-cinematic__stage {
	min-height: clamp(380px, 38vw, 540px);
	aspect-ratio: 16 / 11;
}

.ao-hero__visual .ao-hero__panel {
	position: absolute;
	z-index: 5;
	right: clamp(1.1rem, 2.4vw, 1.6rem);
	bottom: clamp(1.1rem, 2.4vw, 1.6rem);
	width: min(78%, 500px);
	margin: 0;
	padding: clamp(1rem, 2vw, 1.35rem);
	border-radius: var(--radius-lg);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.028)),
		rgba(22, 32, 58, 0.86);
	backdrop-filter: blur(16px);
}

.ao-hero__visual .ao-hero__panel-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem 0.8rem;
}

.ao-hero__visual .ao-hero__panel-list li {
	margin-inline: 0;
	padding: 0.65rem 0;
}

.ao-hero__visual .ao-hero__panel-list li:last-child {
	grid-column: 1 / -1;
}

/* Homepage service and process cinematic bands */
.ao-pillars__visual {
	max-width: 1120px;
	margin: clamp(2rem, 4vw, 3rem) auto clamp(1.5rem, 3vw, 2.25rem);
}

.ao-process__visual {
	max-width: 980px;
	margin: clamp(2rem, 4vw, 3rem) auto clamp(1.5rem, 3vw, 2.35rem);
}

.ao-cinematic--section .ao-cinematic__stage {
	min-height: clamp(210px, 22vw, 300px);
	max-height: 320px;
	aspect-ratio: 21 / 7;
}

.ao-cinematic--process .ao-cinematic__stage {
	min-height: clamp(190px, 20vw, 280px);
	max-height: 300px;
	aspect-ratio: 21 / 7;
}

.ao-pillars__visual + .ao-pillars__list,
.ao-process__visual + .ao-process__steps {
	margin-top: 0;
}

.ao-pillar-row:nth-child(3) .ao-pillar-row__tags {
	padding-top: 0.85rem;
	border-top: 1px solid rgba(180, 83, 9, 0.16);
}

.ao-pillar-row:nth-child(3) .ao-pillar-row__tags li {
	background:
		linear-gradient(180deg, rgba(255, 248, 239, 0.96), rgba(255, 255, 255, 0.92)),
		var(--color-surface);
	border-color: rgba(180, 83, 9, 0.18);
}

/* Service page hero media */
.ao-hero--solo.ao-hero--with-visual .ao-hero__inner {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.56fr);
	align-items: center;
}

.ao-hero__aside--lottie {
	width: 100%;
}

.ao-cinematic--service {
	max-width: 460px;
	margin-inline: auto;
	padding: clamp(0.85rem, 1.6vw, 1.05rem);
}

.ao-cinematic--service .ao-cinematic__stage {
	min-height: clamp(220px, 24vw, 320px);
	max-height: 340px;
	aspect-ratio: 4 / 3;
}

@media (max-width: 1040px) {
	.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__inner,
	.ao-hero--solo.ao-hero--with-visual .ao-hero__inner {
		grid-template-columns: 1fr;
	}

	.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__content,
	.ao-hero--solo.ao-hero--with-visual .ao-hero__content {
		max-width: 820px;
	}

	.ao-dark-hero .ao-hero:not(.ao-hero--solo) .ao-hero__aside,
	.ao-hero__aside--lottie {
		max-width: 720px;
		justify-self: center;
	}
}

@media (max-width: 760px) {
	.ao-cinematic {
		border-radius: var(--radius-lg);
	}

	.ao-cinematic__head {
		top: 0.9rem;
		left: 0.9rem;
	}

	.ao-cinematic--hero .ao-cinematic__stage,
	.ao-cinematic--service .ao-cinematic__stage {
		min-height: 260px;
		aspect-ratio: 16 / 11;
	}

	.ao-cinematic--section .ao-cinematic__stage,
	.ao-cinematic--process .ao-cinematic__stage {
		min-height: 190px;
		aspect-ratio: 16 / 9;
	}

	.ao-hero__visual .ao-hero__panel {
		position: relative;
		right: auto;
		bottom: auto;
		width: 100%;
		margin-top: var(--space-4);
	}

	.ao-hero__visual .ao-hero__panel-list {
		grid-template-columns: 1fr;
	}

	.ao-hero__visual .ao-hero__panel-list li:last-child {
		grid-column: auto;
	}
}

@media (max-width: 520px) {
	.ao-pillars__visual,
	.ao-process__visual {
		margin-inline: calc(var(--gutter) * -0.15);
	}

	.ao-cinematic--section .ao-cinematic__stage,
	.ao-cinematic--process .ao-cinematic__stage {
		min-height: 170px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ao-cinematic__video,
	.ao-cinematic__lottie {
		display: none !important;
		opacity: 0 !important;
	}

	.ao-cinematic__static {
		opacity: 1 !important;
	}
}

/* =============================================================================
   CSS CINEMATIC SIGNAL SYSTEM
   Pure HTML/CSS command-center visuals replacing visible video and Lottie media.
   ========================================================================== */

.ao-signal-visual {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	min-height: 260px;
	border: 1px solid rgba(235, 181, 133, 0.24);
	border-radius: var(--radius-xl);
	background:
		radial-gradient(circle at 78% 18%, rgba(235, 181, 133, 0.18), transparent 34%),
		linear-gradient(145deg, rgba(22, 32, 58, 0.95), rgba(8, 17, 31, 0.98));
	box-shadow:
		0 34px 100px rgba(2, 6, 23, 0.48),
		0 0 0 1px rgba(255, 255, 255, 0.055) inset;
	pointer-events: none;
}

.ao-signal-visual::before,
.ao-signal-visual::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ao-signal-visual::before {
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(8, 17, 31, 0.62), transparent 22%, transparent 72%, rgba(8, 17, 31, 0.68)),
		linear-gradient(180deg, rgba(8, 17, 31, 0.5), transparent 32%, rgba(8, 17, 31, 0.62));
}

.ao-signal-visual::after {
	z-index: 5;
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.06),
		inset 0 0 58px rgba(2, 6, 23, 0.52),
		inset 0 0 110px rgba(8, 17, 31, 0.64);
}

.ao-signal-grid {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image:
		linear-gradient(rgba(148, 163, 184, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, 0.12) 1px, transparent 1px);
	background-size: 48px 48px;
	opacity: 0.52;
	animation: aoSignalGridDrift 22s linear infinite;
}

.ao-orbit-field {
	position: absolute;
	inset: 8%;
	z-index: 2;
	border-radius: 50%;
	border: 1px solid rgba(235, 181, 133, 0.12);
	opacity: 0.8;
	animation: aoOrbitFloat 16s linear infinite;
}

.ao-orbit-field span {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(235, 181, 133, 0.16);
}

.ao-orbit-field span:nth-child(1) { inset: 10%; }
.ao-orbit-field span:nth-child(2) { inset: 24%; }
.ao-orbit-field span:nth-child(3) {
	top: 18%;
	right: 24%;
	width: 10px;
	height: 10px;
	background: #EBB585;
	box-shadow: 0 0 24px rgba(235, 181, 133, 0.72);
}

.ao-signal-lines,
.ao-flow-line {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.ao-signal-line,
.ao-flow-line span {
	position: absolute;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(235, 181, 133, 0.78), transparent);
	box-shadow: 0 0 22px rgba(235, 181, 133, 0.2);
	opacity: 0.74;
	animation: aoSignalSweep 7s var(--ease-in-out) infinite alternate;
}

.ao-signal-line--one {
	top: 28%;
	left: 8%;
	right: 16%;
}

.ao-signal-line--two {
	top: 52%;
	left: 18%;
	right: 8%;
	animation-delay: 1.1s;
}

.ao-signal-line--three {
	top: 72%;
	left: 10%;
	right: 28%;
	animation-delay: 2s;
}

.ao-flow-line span:nth-child(1) { top: 35%; left: 8%; right: 8%; }
.ao-flow-line span:nth-child(2) { top: 52%; left: 13%; right: 13%; animation-delay: 1.2s; }
.ao-flow-line span:nth-child(3) { top: 69%; left: 20%; right: 20%; animation-delay: 2.2s; }

.ao-signal-nodes {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.ao-signal-node,
.ao-pulse-dot,
.ao-cinema-rail__dot {
	display: inline-flex;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #EBB585;
	box-shadow: 0 0 0 5px rgba(235, 181, 133, 0.12), 0 0 26px rgba(235, 181, 133, 0.56);
	animation: aoSignalPulse 2.9s var(--ease-in-out) infinite;
}

.ao-signal-nodes .ao-signal-node {
	position: absolute;
}

.ao-signal-nodes .ao-signal-node:nth-child(1) { top: 28%; left: 18%; }
.ao-signal-nodes .ao-signal-node:nth-child(2) { top: 52%; right: 22%; animation-delay: 0.7s; }
.ao-signal-nodes .ao-signal-node:nth-child(3) { bottom: 22%; left: 34%; animation-delay: 1.4s; }
.ao-signal-nodes .ao-signal-node:nth-child(4) { top: 18%; right: 18%; animation-delay: 2.1s; }

.ao-signal-visual--hero {
	min-height: clamp(420px, 43vw, 580px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1.2rem, 2.6vw, 2rem);
}

.ao-signal-visual--hero .ao-hero__panel {
	position: relative;
	z-index: 6;
	right: auto;
	bottom: auto;
	width: min(100%, 560px);
	margin: 0;
	backdrop-filter: blur(16px);
}

.ao-signal-visual--pillars {
	min-height: clamp(170px, 18vw, 240px);
	max-width: 1040px;
	margin: clamp(2rem, 4vw, 3rem) auto clamp(1.5rem, 3vw, 2.25rem);
}

.ao-signal-visual--pillars .ao-signal-nodes .ao-signal-node:nth-child(1) { top: 50%; left: 18%; }
.ao-signal-visual--pillars .ao-signal-nodes .ao-signal-node:nth-child(2) { top: 50%; left: 50%; }
.ao-signal-visual--pillars .ao-signal-nodes .ao-signal-node:nth-child(3) { top: 50%; right: 18%; }

.ao-cinema-rail {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-4);
	align-items: center;
	max-width: 980px;
	min-height: clamp(120px, 14vw, 170px);
	margin: clamp(2rem, 4vw, 3rem) auto clamp(1.5rem, 3vw, 2.35rem);
	padding: clamp(1.25rem, 3vw, 2rem);
	overflow: hidden;
	border: 1px solid rgba(235, 181, 133, 0.22);
	border-radius: var(--radius-xl);
	background:
		radial-gradient(circle at 12% 20%, rgba(235, 181, 133, 0.16), transparent 30%),
		linear-gradient(145deg, rgba(22, 32, 58, 0.78), rgba(8, 17, 31, 0.92));
	box-shadow: 0 24px 80px rgba(2, 6, 23, 0.36), inset 0 0 0 1px rgba(255, 255, 255, 0.055);
}

.ao-cinema-rail__line {
	position: absolute;
	left: 10%;
	right: 10%;
	top: 50%;
	height: 1px;
	background: linear-gradient(90deg, rgba(235, 181, 133, 0.12), rgba(235, 181, 133, 0.72), rgba(235, 181, 133, 0.12));
	box-shadow: 0 0 28px rgba(235, 181, 133, 0.16);
}

.ao-cinema-rail__line::after {
	content: "";
	position: absolute;
	inset: -1px auto -1px 0;
	width: 26%;
	background: linear-gradient(90deg, transparent, #EBB585, transparent);
	animation: aoRailProgress 5.4s var(--ease-in-out) infinite;
}

.ao-cinema-rail__node {
	position: relative;
	z-index: 2;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	color: #EBB585;
	font-size: var(--text-xs);
}

.ao-cinema-rail__dot {
	width: 12px;
	height: 12px;
}

.ao-command-card--mini {
	position: absolute;
	z-index: 4;
	left: 50%;
	top: 50%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.8rem;
	width: min(54%, 220px);
	padding: 1.25rem;
	border: 1px solid rgba(235, 181, 133, 0.22);
	border-radius: var(--radius-lg);
	background: rgba(8, 17, 31, 0.5);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.055);
	transform: translate(-50%, -50%);
	backdrop-filter: blur(14px);
}

.ao-signal-visual--service {
	min-height: clamp(220px, 24vw, 320px);
	max-width: 460px;
	margin-inline: auto;
}

.ao-hero__aside--signal {
	width: 100%;
}

.ao-proof {
	background:
		linear-gradient(90deg, rgba(235, 181, 133, 0.06), rgba(255, 255, 255, 0.98), rgba(235, 181, 133, 0.05)),
		var(--color-surface);
}

@keyframes aoSignalGridDrift {
	from { background-position: 0 0, 0 0; }
	to { background-position: 48px 48px, 48px 48px; }
}

@keyframes aoOrbitFloat {
	from { transform: rotate(0deg) scale(1); }
	to { transform: rotate(360deg) scale(1.02); }
}

@keyframes aoSignalSweep {
	from { opacity: 0.35; transform: translateX(-3%); }
	to { opacity: 0.92; transform: translateX(3%); }
}

@keyframes aoSignalPulse {
	0%, 100% { opacity: 0.72; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.18); }
}

@keyframes aoRailProgress {
	0% { transform: translateX(-30%); opacity: 0.18; }
	50% { opacity: 0.92; }
	100% { transform: translateX(420%); opacity: 0.18; }
}

@media (max-width: 1040px) {
	.ao-hero--with-visual .ao-hero__inner {
		grid-template-columns: 1fr;
	}

	.ao-hero__aside--signal {
		max-width: 720px;
		justify-self: center;
	}
}

@media (max-width: 760px) {
	.ao-signal-visual--hero,
	.ao-signal-visual--service {
		min-height: 300px;
	}

	.ao-cinema-rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-height: 190px;
	}

	.ao-cinema-rail__line {
		left: 18%;
		right: 18%;
	}
}

@media (max-width: 520px) {
	.ao-signal-visual {
		border-radius: var(--radius-lg);
	}

	.ao-signal-visual--pillars {
		min-height: 150px;
		margin-inline: calc(var(--gutter) * -0.15);
	}

	.ao-command-card--mini {
		width: 64%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ao-signal-grid,
	.ao-orbit-field,
	.ao-signal-line,
	.ao-flow-line span,
	.ao-signal-node,
	.ao-pulse-dot,
	.ao-cinema-rail__dot,
	.ao-cinema-rail__line::after {
		animation: none !important;
		transform: none !important;
	}
}
