/* ==========================================================================
   home-aiops.css — AI Ops homepage sections
   Added 2026-06-04: problem section, AIOS proof strip, three-tier offer cards.
   Conditionally enqueued on is_front_page() alongside home-hero.css.
   All rules are body.home-scoped where section specificity requires it.
   ========================================================================== */

/* ==========================================================================
   PROBLEM SECTION
   ========================================================================== */

/* Problem section: warm off-white full-bleed — visual break from white hero */
.home-problem {
  margin-inline: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--color-surface-alt);
  border-top: none;
}

/* Re-apply container padding since we're overriding site-shell */
.home-problem.site-shell {
  padding-inline: clamp(1.25rem, 4vw, 3rem);
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

.home-problem__inner {
  max-width: 52rem;
  margin-inline: auto;
}

.home-problem__inner h2 {
	font-size: clamp(1.5rem, 1rem + 2vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--color-text-strong);
	margin: 0 0 1.5rem;
	line-height: 1.35;
}

.home-problem__body p {
	font-size: clamp(1rem, 0.9rem + 0.3vw, 1.1rem);
	line-height: 1.7;
	color: var(--color-text-medium);
	margin: 0 0 1rem;
}

.home-problem__body p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   AIOS PROOF SECTION
   ========================================================================== */

.home-aios-proof {
	padding: clamp(3rem, 5vw, 5rem) 0;
	background: var(--color-accent-strong);
	/* Override site-shell's inline padding to get full bleed bg,
	   then re-apply padding inside the inner wrapper. */
	margin-inline: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* site-shell adds padding; we need full bleed here */
.home-aios-proof.site-shell {
	padding-inline: clamp(1rem, 4vw, 3rem);
}

.home-aios-proof__inner {
	max-width: var(--content-max-width, 72rem);
	margin-inline: auto;
}

/* Specificity bump: body.home .eyebrow (0,2,1) otherwise wins and
   paints navy-on-navy on the dark proof section. This selector
   (0,3,0) beats it cleanly regardless of source order. */
.home-aios-proof .home-aios-proof__inner .eyebrow {
	color: var(--color-gold);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 0.75rem;
}

/* The ::before bar inherits from body.home .eyebrow::before (background: --color-gold)
   but on dark navy that shade blends. Force white so it reads clearly. */
.home-aios-proof .home-aios-proof__inner .eyebrow::before {
	background: #ffffff;
}

.home-aios-proof__inner h2 {
	font-size: clamp(1.5rem, 1rem + 2vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #fff;
	margin: 0 0 1.25rem;
	line-height: 1.2;
}

.home-aios-proof__inner > p {
	font-size: clamp(1rem, 0.9rem + 0.3vw, 1.1rem);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.82);
	max-width: 52rem;
	margin: 0 0 2rem;
}

/* Stat strip */
.home-aios-proof__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 3vw, 2rem);
	margin: 0 0 2rem;
	padding: clamp(1.25rem, 2vw, 1.75rem) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

@media (max-width: 540px) {
	.home-aios-proof__stats {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
}

.home-aios-stat {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.home-aios-stat__number {
	font-size: clamp(2rem, 1.5rem + 2vw, 2.8rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--color-gold);
	line-height: 1;
}

.home-aios-stat__label {
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.4;
}

.home-aios-proof__link {
	display: inline-block;
	color: var(--color-gold);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	border-bottom: 1px solid rgba(226, 176, 74, 0.4);
	padding-bottom: 2px;
	transition: border-color 0.15s ease;
}

.home-aios-proof__link:hover,
.home-aios-proof__link:focus-visible {
	border-bottom-color: var(--color-gold);
}

/* ==========================================================================
   AIOS WORK-LOG ARTIFACT
   Sits between the stats strip and the case-study link in the dark proof
   section. Shows what "100% logged with billing attribution" actually looks
   like — real field names and format from the production schema.
   All child elements are aria-hidden; the parent carries the accessible label.
   ========================================================================== */

.aios-work-log {
	margin: clamp(1.25rem, 2vw, 1.75rem) 0 clamp(1rem, 2vw, 1.5rem);
	border: 1px solid rgba(255, 255, 255, 0.12);
	max-width: 28rem;
}

.aios-work-log__label {
	font-family: "Manrope", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
	padding: 0.5rem 0.85rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.04);
}

.aios-work-log__body {
	padding: 0.65rem 0;
	font-family: "SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace;
}

.aios-work-log__row {
	display: flex;
	align-items: baseline;
	padding: 0.22rem 0.85rem;
}

.aios-work-log__row:hover {
	background: rgba(255, 255, 255, 0.04);
}

.aios-work-log__key {
	font-size: 0.7rem;
	color: rgba(255, 255, 255, 0.42);
	min-width: 8.5rem;
	flex-shrink: 0;
	user-select: none;
}

.aios-work-log__val {
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.85);
}

.aios-work-log__val--num {
	color: var(--color-gold);
}

.aios-work-log__val--success {
	color: #4ade80;
}

@media (max-width: 540px) {
	.aios-work-log {
		max-width: 100%;
	}

	.aios-work-log__key {
		min-width: 7rem;
	}
}

/* ==========================================================================
   OFFER CARDS — engagement path (audit → build → operate)
   Visual doctrine: this is a sequence, not a comparison grid.
   Step numbers signal progression; connector lines signal continuity.
   Gold discipline: eyebrow labels use --color-muted (organizational),
   not --color-gold-text (reserved for proof/stat moments).
   ========================================================================== */

.home-offers {
	padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

/* Section label — small, not a headline */
.home-offers .section-heading h2 {
	font-size: clamp(0.7rem, 0.65rem + 0.2vw, 0.8rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-muted);
	font-family: "Manrope", sans-serif;
}

.home-offer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	align-items: start;
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	position: relative;
}

/* Step connector: horizontal rule spanning all three cards behind them */
.home-offer-grid::before {
	content: "";
	position: absolute;
	top: clamp(1.5rem, 2.5vw, 2rem);
	left: calc(clamp(1.5rem, 2.5vw, 2rem) + 1.1rem);
	right: calc(clamp(1.5rem, 2.5vw, 2rem) + 1.1rem);
	height: 1px;
	background: var(--color-border-strong);
	z-index: 0;
	pointer-events: none;
}

@media (max-width: 900px) {
	.home-offer-grid {
		grid-template-columns: 1fr;
		max-width: 36rem;
	}

	/* No horizontal connector on mobile (cards stack) */
	.home-offer-grid::before {
		display: none;
	}
}

/* Base card */
.home-offer-card {
	border: 1px solid var(--color-border);
	border-right: none;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	background: #fff;
	position: relative;
	z-index: 1;
}

.home-offer-card:last-child {
	border-right: 1px solid var(--color-border);
}

@media (max-width: 900px) {
	.home-offer-card,
	.home-offer-card:last-child {
		border: 1px solid var(--color-border);
		border-bottom: none;
	}

	.home-offer-card:last-child {
		border-bottom: 1px solid var(--color-border);
	}
}

/* Step number — large ghost text above card title */
.home-offer-card::before {
	content: attr(data-step);
	display: block;
	font-family: "Sora", sans-serif;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--color-border-strong);
	line-height: 1;
	margin-bottom: -0.4rem;
}

/* Featured card — primary engagement: accent left rule, not border-top */
.home-offer-card--featured {
	border-left: 3px solid var(--color-accent);
}

/* Eyebrow: organizational label — muted, not gold */
.home-offer-card__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-muted);
	margin: 0;
}

/* Featured eyebrow: accent, since it's the primary engagement */
.home-offer-card--featured .home-offer-card__eyebrow {
	color: var(--color-accent);
}

.home-offer-card h3 {
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.4rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--color-text-strong);
	margin: 0;
	line-height: 1.2;
}

.home-offer-card__price {
	font-size: clamp(1.3rem, 1rem + 1vw, 1.7rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--color-text);
	margin: 0;
	line-height: 1;
}

.home-offer-card__price abbr {
	font-size: 0.65em;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-muted);
	text-decoration: none;
}

.home-offer-card__timeline {
	font-size: 0.78rem;
	color: var(--color-muted);
	margin: 0;
}

.home-offer-card > p:not(.home-offer-card__eyebrow):not(.home-offer-card__price):not(.home-offer-card__timeline):not(.home-offer-card__note) {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--color-text-medium);
	margin: 0;
}

/* Deliverable list: clean rows, no bullets */
.home-offer-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--color-border);
	padding-top: 0.65rem;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.home-offer-card ul li {
	font-size: 0.84rem;
	line-height: 1.5;
	color: var(--color-text-medium);
	padding: 0.32rem 0;
	border-bottom: 1px solid var(--color-border);
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
}

.home-offer-card ul li:last-child {
	border-bottom: none;
}

/* Arrow marker replaces bullet — accent color, minimal weight */
.home-offer-card ul li::before {
	content: "→";
	font-size: 0.7rem;
	color: var(--color-accent);
	flex-shrink: 0;
	line-height: inherit;
}

.home-offer-card .button {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 0.65rem;
	padding-bottom: 0.65rem;
}

.home-offer-card__note {
	font-size: 0.78rem;
	color: var(--color-muted);
	font-style: italic;
	margin: 0;
}

/* ==========================================================================
   HERO SYSTEM VISUAL — AIOS routing panel (right column)
   ========================================================================== */

.hero-system-visual {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.aios-panel {
	width: 100%;
	max-width: 340px;
	background: var(--color-accent-strong);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-card, 6px);
	font-family: "SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace;
	font-size: 0.78rem;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(6, 15, 28, 0.28);
}

/* Header bar */
.aios-panel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.55rem 0.85rem;
	background: rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.aios-panel__title {
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.aios-panel__sep {
	color: rgba(255, 255, 255, 0.3);
	margin: 0 0.3rem;
}

.aios-panel__status {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: #4ade80;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aios-panel__dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #4ade80;
	flex-shrink: 0;
	animation: aios-pulse 2.4s ease-in-out infinite;
}

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

@keyframes aios-pulse {
	0%, 100% { opacity: 1; }
	50%       { opacity: 0.35; }
}

/* Flow diagram */
.aios-panel__flow {
	padding: 0.85rem 0.85rem 0.75rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.aios-flow__node {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	padding: 0.4rem 0.65rem;
}

.aios-flow__node-label {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.72rem;
}

.aios-flow__node--router {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(255, 255, 255, 0.15);
}

.aios-flow__node-title {
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.74rem;
	font-weight: 700;
}

.aios-flow__node-criteria {
	color: var(--color-gold);
	font-size: 0.68rem;
}

.aios-flow__connector {
	text-align: center;
	color: rgba(255, 255, 255, 0.25);
	font-size: 0.75rem;
	line-height: 1;
	margin: -0.1rem 0;
}

/* Branch lines are decorative only — hidden visually, keep accessible */
.aios-flow__branches {
	display: none;
}

.aios-flow__outputs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.35rem;
}

.aios-flow__output {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 4px;
	padding: 0.45rem 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	opacity: 0.72;
}

.aios-flow__output--active {
	background: rgba(226, 176, 74, 0.08);
	border-color: rgba(226, 176, 74, 0.35);
	opacity: 1;
}

.aios-flow__path {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.72rem;
	font-weight: 600;
}

.aios-flow__path--accent {
	color: var(--color-gold);
}

.aios-flow__cost {
	color: rgba(255, 255, 255, 0.38);
	font-size: 0.65rem;
}

.aios-flow__output--active .aios-flow__cost {
	color: rgba(255, 255, 255, 0.6);
}

/* Log entries */
.aios-panel__log {
	padding: 0.65rem 0.85rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	flex-direction: column;
	gap: 0.28rem;
}

.aios-log__entry {
	display: grid;
	grid-template-columns: 9rem 1fr;
	gap: 0.5rem;
	align-items: baseline;
}

.aios-log__key {
	color: rgba(255, 255, 255, 0.35);
	font-size: 0.68rem;
}

.aios-log__val {
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.7rem;
}

.aios-log__val--num {
	color: var(--color-gold);
}

.aios-log__val--success {
	color: #4ade80;
}

/* Footer stats */
.aios-panel__footer {
	padding: 0.65rem 0.85rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
}

.aios-panel__stat {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.aios-panel__stat strong {
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	font-family: "Sora", sans-serif;
	line-height: 1;
}

.aios-panel__stat span {
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.65rem;
	font-family: "Manrope", sans-serif;
	letter-spacing: 0.02em;
}

/* Hide the panel on very small screens where it can't fit alongside the hero copy */
@media (max-width: 680px) {
	.hero-system-visual {
		display: none;
	}
}

/* ==========================================================================
   HOMEPAGE SOCIAL PROOF — elevated presentation
   ========================================================================== */

/* Cleaner label — small, uppercase, gold-accented */
body.home .home-social-proof__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gold-text);
  text-align: center;
  margin-bottom: 0.85rem;
  max-width: var(--container);
  margin-inline: auto;
}

/* Constrain brands grid to container width so logos don't sprawl on wide viewports */
body.home .home-social-proof__brands {
  max-width: var(--container);
  margin-inline: auto;
}

/* Logo strip: warm bg, full-bleed. Padding from main.css body.home rule preserved — only bg and width overridden */
body.home .home-social-proof {
  background: var(--color-surface-alt);
  margin-inline: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-bottom: none;
}

/* Re-apply horizontal padding inside the full-bleed section */
body.home .home-social-proof.site-shell {
  padding-inline: clamp(1.5rem, 4vw, 3rem);
}

body.home .home-social-proof__brands li {
  background: transparent;
  border: none;
  padding: 0.5rem 0.75rem;
  min-height: 3.5rem;
}

/* Slightly more visible — subtle not washed out */
body.home .home-social-proof__brands img {
  filter: saturate(0.0) contrast(1.2) opacity(0.65);
  transition: filter 0.2s ease;
}

body.home .home-social-proof__brands li:hover img {
  filter: saturate(0.15) contrast(1.1) opacity(0.85);
}

/* ==========================================================================
   CASE STUDY GRID — featured first card
   First case study: top gold border + elevated shadow to signal featured
   ========================================================================== */

body.home .card-grid .content-card:first-child {
  border-top: 3px solid var(--color-gold);
  box-shadow: 0 6px 28px rgba(18, 52, 86, 0.10);
}

/* ==========================================================================
   SECTION RHYTHM — alternating backgrounds
   Handled in main.css via body.home main > section.section-wrap:nth-of-type(even)::before
   using the inset: 0 calc(50% - 50vw) full-bleed pseudo-element pattern.
   No duplicate rule here — the main.css approach is more reliable.
   ========================================================================== */

/* ==========================================================================
   HOME OFFERS SECTION — tighter, more editorial
   ========================================================================== */

/* Upgrade section label to look more intentional */
.home-offers .section-heading h2 {
  font-family: 'Manrope', sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-gold-text);
}

/* Featured offer card: accent left-border upgrade */
.home-offer-card--featured {
  border-left: 3px solid var(--color-gold);
  box-shadow: 0 4px 20px rgba(18, 52, 86, 0.08);
}

/* ==========================================================================
   HOME AIOS PROOF SECTION — upgraded stats
   ========================================================================== */

/* Bigger stat numbers — the "50+" should dominate */
.home-aios-stat__number {
  font-size: clamp(2.5rem, 2rem + 3vw, 3.5rem);
  font-family: 'Instrument Serif', serif;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: var(--color-gold);
  line-height: 1;
}

/* Section heading on dark: larger, more commanding */
.home-aios-proof__inner h2 {
  font-size: clamp(1.75rem, 1.25rem + 2.5vw, 2.8rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}

/* ==========================================================================
   HOME PROBLEM SECTION — upgraded heading
   ========================================================================== */

.home-problem__inner h2 {
  font-size: clamp(1.8rem, 1.2rem + 2.5vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: var(--color-text-strong);
  margin: 0 0 1.75rem;
  line-height: 1.1;
}

/* ==========================================================================
   VERTICAL GATEWAY — four practice area cards
   2x2 grid on desktop, single column on mobile.
   Each card is a full <a> element — entire surface is clickable.
   ========================================================================== */

.home-verticals {
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.home-verticals .section-heading {
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.home-verticals .section-heading h2 {
  font-size: clamp(1.4rem, 1rem + 1.8vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--color-text-strong);
  margin: 0;
  line-height: 1.15;
}

.home-vertical-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--color-border);
}

.home-vertical-card {
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}

.home-vertical-card:hover,
.home-vertical-card:focus-visible {
  background: var(--color-accent-soft);
  outline: none;
}

.home-vertical-card:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: -2px;
}

/* Remove right border on even cards (right column) */
.home-vertical-card:nth-child(even) {
  border-right: none;
}

/* Remove bottom border on last two cards (bottom row) */
.home-vertical-card:nth-child(n+3) {
  border-bottom: none;
}

.home-vertical-card__eyebrow {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-gold-text);
  margin: 0;
}

.home-vertical-card h3 {
  font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.25rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--color-text-strong);
  margin: 0;
  line-height: 1.2;
}

.home-vertical-card__desc {
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--color-text-medium);
  margin: 0;
  flex: 1;
}

.home-vertical-card__link {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-accent);
  margin: 0.25rem 0 0;
  letter-spacing: -0.005em;
}

@media (max-width: 680px) {
  .home-vertical-grid {
    grid-template-columns: 1fr;
  }

  .home-vertical-card {
    border-right: none;
    border-bottom: 1px solid var(--color-border);
  }

  .home-vertical-card:last-child {
    border-bottom: none;
  }
}
