@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* ==========================================================================
   Theme isolation: neutralise the site's global heading/paragraph/list styles
   inside the AI page so it renders exactly like the standalone design.
   Placed BEFORE the page rules so every .ai-* class rule still wins.
   ========================================================================== */
.ai-page :where(h1,h2,h3,h4,h5,h6,p,li,small,span,a,strong,b,em,label,legend,button,div){
  font-family: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit;
  line-height: inherit; -webkit-text-fill-color: currentcolor; text-shadow: inherit;
}
.ai-page :where(h1,h2,h3,h4,h5,h6){ font-weight: 700; padding: 0; }
.ai-page :where(h1){ font-size: 2em; margin: .67em 0; }
.ai-page :where(h2){ font-size: 1.5em; margin: .83em 0; }
.ai-page :where(h3){ font-size: 1.17em; margin: 1em 0; }
.ai-page :where(h4){ font-size: 1em; margin: 1.33em 0; }
.ai-page :where(p){ font-size: 16px; margin: 1em 0; padding: 0; }
.ai-page :where(li){ margin: 0; padding: 0; font-size: inherit; }
.ai-page :where(small){ font-size: smaller; }
.ai-page :where(strong,b){ font-weight: bolder; }
.ai-page :where(legend){ display: block; max-width: none; }
/* ==========================================================================
   Strategy Booster — AI page styles
   All selectors are namespaced with `ai-` and scoped under .ai-page so they
   cannot collide with the existing website CSS.
   ========================================================================== */

.ai-page {
  --ai-ink: #0b0b0d;
  --ai-ink-2: #17171b;
  --ai-ink-3: #232329;
  --ai-text: #16161a;
  --ai-muted: #6b6b75;
  --ai-muted-d: #a3a3ae;
  --ai-line: #e7e7ea;
  --ai-line-d: rgba(255, 255, 255, .1);
  --ai-paper: #ffffff;
  --ai-soft: #f5f5f3;
  --ai-gold: #ffbd00;
  --ai-gold-d: #e6a900;
  --ai-gold-soft: #fff4cc;
  --ai-violet: #7c5cff;
  --ai-mint: #2fd6a3;
  --ai-radius: 20px;
  --ai-max: 1180px;
  --ai-shadow: 0 24px 60px -20px rgba(11, 11, 13, .22);
  --ai-font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;

  font-family: var(--ai-font);
  color: var(--ai-text);
  background: var(--ai-paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

.ai-page *, .ai-page *::before, .ai-page *::after { box-sizing: border-box; }
.ai-page h1, .ai-page h2, .ai-page h3, .ai-page p, .ai-page ul { margin-top: 0; }
.ai-page a { color: inherit; text-decoration: none; }
.ai-page button { font: inherit; cursor: pointer; color: inherit; }
.ai-page :focus-visible { outline: 3px solid var(--ai-gold); outline-offset: 3px; border-radius: 6px; }

.ai-wrap { width: min(var(--ai-max), calc(100% - 48px)); margin-inline: auto; }
.ai-section { padding: clamp(72px, 9vw, 120px) 0; position: relative; }
.ai-section--soft { background: var(--ai-soft); }
.ai-section--dark { background: var(--ai-ink); color: #fff; }

/* ---------- Type ---------- */
.ai-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ai-muted); margin-bottom: 18px;
}
.ai-eyebrow::before {
  content: ''; width: 22px; height: 2px; background: var(--ai-gold); border-radius: 2px;
}
.ai-section--dark .ai-eyebrow, .ai-hero .ai-eyebrow { color: var(--ai-gold); }

.ai-h1 {
  font-size: clamp(2.6rem, 6vw, 5.3rem); line-height: 1; letter-spacing: -.055em;
  font-weight: 800; margin-bottom: 26px;
}
.ai-h2 {
  font-size: clamp(1.9rem, 3.6vw, 3.2rem); line-height: 1.08; letter-spacing: -.045em;
  font-weight: 800; max-width: 800px; margin-bottom: 18px;
}
.ai-h3 { font-size: 1.1rem; letter-spacing: -.02em; font-weight: 750; line-height: 1.25; margin-bottom: 8px; }
.ai-lead { font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.75; color: var(--ai-muted); max-width: 660px; }
.ai-section--dark .ai-lead, .ai-hero .ai-lead { color: var(--ai-muted-d); }
.ai-center { text-align: center; }
.ai-center .ai-h2, .ai-center .ai-lead { margin-inline: auto; }
.ai-grad {
  background: linear-gradient(100deg, var(--ai-gold) 10%, #ffe08a 55%, var(--ai-gold) 95%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ai-note { font-size: .78rem; color: var(--ai-muted); }

/* ---------- Buttons ---------- */
.ai-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 15px 26px; border-radius: 12px; border: 1.5px solid transparent;
  font-weight: 800; font-size: .92rem; transition: transform .2s, background .2s, border-color .2s, box-shadow .2s;
}
.ai-btn--primary { background: var(--ai-gold); color: #000; box-shadow: 0 10px 28px -8px rgba(255, 189, 0, .55); }
.ai-btn--primary:hover { background: #ffc933; transform: translateY(-2px); }
.ai-btn--ghost { border-color: rgba(255, 255, 255, .28); color: #fff; background: rgba(255, 255, 255, .04); }
.ai-btn--ghost:hover { border-color: var(--ai-gold); background: rgba(255, 189, 0, .1); }
.ai-btn--dark { background: var(--ai-ink); color: #fff; }
.ai-btn--dark:hover { background: var(--ai-ink-3); transform: translateY(-2px); }
.ai-btn--block { width: 100%; }
.ai-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

/* ---------- Hero ---------- */
.ai-hero {
  background: var(--ai-ink); color: #fff; position: relative; isolation: isolate;
  padding: clamp(72px, 9vw, 130px) 0 0; overflow: hidden;
}
.ai-hero::before { /* grid */
  content: ''; position: absolute; inset: 0; z-index: -2;
  background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 80% 70% at 60% 30%, #000 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 60% 30%, #000 20%, transparent 75%);
}
.ai-hero__glow {
  position: absolute; z-index: -1; border-radius: 50%; filter: blur(90px); pointer-events: none;
  animation: ai-float 14s ease-in-out infinite;
}
.ai-hero__glow--a { width: 520px; height: 520px; background: rgba(255, 189, 0, .11); top: -140px; right: -100px; }
.ai-hero__glow--b { width: 420px; height: 420px; background: rgba(124, 92, 255, .22); bottom: 40px; left: -140px; animation-delay: -6s; }
@keyframes ai-float { 50% { transform: translate(-30px, 30px) scale(1.08); } }

.ai-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.ai-pill {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 10px; border-radius: 99px;
  background: rgba(255, 255, 255, .07); border: 1px solid var(--ai-line-d);
  font-size: .76rem; font-weight: 650; color: #e8e8ee; margin-bottom: 28px;
}
.ai-pill b { background: var(--ai-gold); color: #000; border-radius: 99px; padding: 3px 9px; font-size: .66rem; letter-spacing: .08em; }
.ai-hero .ai-lead { max-width: 560px; }

.ai-trust { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 36px; font-size: .78rem; font-weight: 650; color: var(--ai-muted-d); }
.ai-trust span { display: inline-flex; align-items: center; gap: 8px; }
.ai-trust i { width: 7px; height: 7px; border-radius: 50%; background: var(--ai-mint); box-shadow: 0 0 0 4px rgba(47, 214, 163, .18); }

/* Console (hero visual) */
.ai-console {
  position: relative; background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03));
  border: 1px solid var(--ai-line-d); border-radius: 24px; padding: 20px;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8);
}
.ai-console__bar { display: flex; align-items: center; gap: 7px; padding-bottom: 16px; border-bottom: 1px solid var(--ai-line-d); }
.ai-console__bar i { width: 10px; height: 10px; border-radius: 50%; background: #3a3a42; }
.ai-console__bar i:first-child { background: var(--ai-gold); }
.ai-console__bar span { margin-left: auto; font-size: .68rem; font-weight: 700; color: var(--ai-mint); letter-spacing: .08em; }
.ai-console__body { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding-top: 20px; align-items: center; }
.ai-ring { position: relative; width: 150px; height: 150px; }
.ai-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.ai-ring circle { fill: none; stroke-width: 10; stroke-linecap: round; }
.ai-ring .ai-ring__track { stroke: rgba(255, 255, 255, .1); }
.ai-ring .ai-ring__fill { stroke: var(--ai-gold); stroke-dasharray: 327; stroke-dashoffset: 327; transition: stroke-dashoffset 1.8s cubic-bezier(.2, .8, .2, 1); }
.ai-ring__val { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.ai-ring__val strong { font-size: 2.2rem; font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.ai-ring__val small { font-size: .65rem; color: var(--ai-muted-d); font-weight: 600; }
.ai-meters { display: grid; gap: 14px; }
.ai-meter label { display: flex; justify-content: space-between; font-size: .72rem; font-weight: 650; color: #d4d4dc; margin-bottom: 6px; }
.ai-meter__track { height: 7px; border-radius: 9px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.ai-meter__fill { display: block; height: 100%; width: 0; border-radius: 9px; background: linear-gradient(90deg, var(--ai-gold), #ffe08a); transition: width 1.6s cubic-bezier(.2, .8, .2, 1) .2s; }
.ai-meter:nth-child(2) .ai-meter__fill { background: linear-gradient(90deg, var(--ai-violet), #a994ff); }
.ai-meter:nth-child(3) .ai-meter__fill { background: linear-gradient(90deg, var(--ai-mint), #8bf0cf); }
.ai-console__feed {
  margin-top: 20px; background: rgba(0, 0, 0, .35); border: 1px solid var(--ai-line-d); border-radius: 14px;
  padding: 14px 16px; font-size: .78rem; min-height: 96px; font-weight: 500; color: #d8d8e0;
}
.ai-console__feed small { display: block; color: var(--ai-gold); font-weight: 800; letter-spacing: .12em; font-size: .62rem; margin-bottom: 6px; text-transform: uppercase; }
.ai-caret::after { content: '▍'; color: var(--ai-gold); animation: ai-blink 1s steps(1) infinite; margin-left: 2px; }
@keyframes ai-blink { 50% { opacity: 0; } }
.ai-chips { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.ai-chips span { font-size: .66rem; font-weight: 700; padding: 6px 12px; border-radius: 99px; background: rgba(255, 255, 255, .07); border: 1px solid var(--ai-line-d); color: #d8d8e0; }
.ai-badge-float {
  position: absolute; right: -18px; top: -22px; background: var(--ai-gold); color: #000; border-radius: 14px;
  padding: 11px 15px; font-size: .72rem; font-weight: 800; box-shadow: 0 18px 36px -10px rgba(255, 189, 0, .6);
  animation: ai-bob 5s ease-in-out infinite;
}
.ai-badge-float small { display: block; font-weight: 600; opacity: .75; }
@keyframes ai-bob { 50% { transform: translateY(-8px); } }

/* Stats strip */
.ai-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(56px, 7vw, 90px); border-top: 1px solid var(--ai-line-d); }
.ai-stat { padding: 28px 24px 30px 0; }
.ai-stat + .ai-stat { padding-left: 24px; border-left: 1px solid var(--ai-line-d); }
.ai-stat strong { display: block; font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 800; letter-spacing: -.04em; color: #fff; }
.ai-stat span { font-size: .76rem; color: var(--ai-muted-d); font-weight: 500; }
.ai-footnote { font-size: .7rem; color: #7b7b86; padding-bottom: 22px; margin: 0; }

/* ---------- Marquee ---------- */
.ai-marquee { background: var(--ai-gold); color: #000; overflow: hidden; padding: 15px 0; border-block: 1px solid #000; }
.ai-marquee__track { display: flex; width: max-content; gap: 44px; animation: ai-scroll 38s linear infinite; }
.ai-marquee:hover .ai-marquee__track { animation-play-state: paused; }
.ai-marquee__track span { font-weight: 800; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; display: inline-flex; gap: 44px; align-items: center; }
.ai-marquee__track span::after { content: '✦'; font-size: .8rem; }
@keyframes ai-scroll { to { transform: translateX(-50%); } }

/* ---------- Problem ---------- */
.ai-problem { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 48px; }
.ai-card {
  background: #fff; border: 1px solid var(--ai-line); border-radius: var(--ai-radius); padding: 28px;
  transition: transform .25s, box-shadow .25s, border-color .25s; position: relative; overflow: hidden;
}
.ai-card:hover { transform: translateY(-5px); box-shadow: var(--ai-shadow); border-color: var(--ai-gold); }
.ai-problem .ai-card { grid-column: span 2; }
.ai-problem .ai-card:nth-child(4), .ai-problem .ai-card:nth-child(5) { grid-column: span 3; }
.ai-card__num { position: absolute; right: 22px; top: 16px; font-size: 3rem; font-weight: 800; letter-spacing: -.06em; color: var(--ai-soft); line-height: 1; transition: color .25s; }
.ai-card:hover .ai-card__num { color: var(--ai-gold-soft); }
.ai-icon {
  width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 22px;
  background: var(--ai-ink); color: var(--ai-gold);
}
.ai-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ai-card p { font-size: .9rem; color: var(--ai-muted); margin: 0; }
.ai-callout {
  margin-top: 40px; padding: 26px 30px; border-radius: var(--ai-radius); background: var(--ai-ink); color: #fff;
  font-size: clamp(1rem, 1.5vw, 1.2rem); font-weight: 650; line-height: 1.55; border-left: 6px solid var(--ai-gold);
}
.ai-callout em { font-style: normal; color: var(--ai-gold); }

/* ---------- Solution ---------- */
.ai-solution { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.ai-engine {
  background: var(--ai-ink); border-radius: 28px; padding: 34px; color: #fff; position: relative; overflow: hidden;
}
.ai-engine::before {
  content: ''; position: absolute; width: 360px; height: 360px; right: -120px; top: -120px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 189, 0, .35), transparent 65%);
}
.ai-engine__label { position: relative; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--ai-gold); }
.ai-engine h3 { position: relative; font-size: 1.7rem; letter-spacing: -.03em; line-height: 1.2; margin: 12px 0 28px; max-width: 360px; }
.ai-engine__steps { position: relative; display: grid; gap: 10px; list-style: none; padding: 0; margin: 0; }
.ai-engine__steps li {
  display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px;
  background: rgba(255, 255, 255, .06); border: 1px solid var(--ai-line-d); font-weight: 650; font-size: .9rem;
  transition: background .25s, transform .25s;
}
.ai-engine__steps li:hover { background: rgba(255, 189, 0, .12); transform: translateX(6px); }
.ai-engine__steps b { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--ai-gold); color: #000; font-size: .76rem; flex: none; }
.ai-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px; }
.ai-pillar { padding: 26px; border-radius: 18px; border: 1px solid var(--ai-line); background: #fff; }
.ai-pillar .ai-icon { width: 42px; height: 42px; border-radius: 12px; margin-bottom: 16px; }
.ai-pillar p { margin: 0; font-size: .88rem; color: var(--ai-muted); }

/* ---------- Lifecycle (interactive) ---------- */
.ai-life { margin-top: 52px; display: grid; grid-template-columns: 340px 1fr; gap: 28px; }
.ai-tabs { display: grid; gap: 10px; align-content: start; }
.ai-tab {
  display: flex; align-items: center; gap: 14px; text-align: left; padding: 16px 18px; border-radius: 16px;
  background: rgba(255, 255, 255, .04); border: 1px solid var(--ai-line-d); color: #cfcfd8; font-weight: 700; font-size: .95rem;
  transition: background .25s, border-color .25s, color .25s;
}
.ai-tab b { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; font-size: .8rem; background: rgba(255, 255, 255, .08); flex: none; transition: .25s; }
.ai-tab:hover { border-color: rgba(255, 189, 0, .5); }
.ai-tab[aria-selected="true"] { background: var(--ai-gold); color: #000; border-color: var(--ai-gold); }
.ai-tab[aria-selected="true"] b { background: #000; color: var(--ai-gold); }
.ai-panel {
  background: linear-gradient(160deg, var(--ai-ink-3), var(--ai-ink-2)); border: 1px solid var(--ai-line-d); border-radius: 26px;
  padding: clamp(26px, 4vw, 46px); min-height: 340px; display: flex; flex-direction: column;
}
.ai-panel[hidden] { display: none; }
.ai-panel__step { font-size: .72rem; font-weight: 800; letter-spacing: .16em; color: var(--ai-gold); text-transform: uppercase; }
.ai-panel h3 { font-size: clamp(1.6rem, 2.6vw, 2.3rem); letter-spacing: -.04em; margin: 10px 0 14px; }
.ai-panel p { color: var(--ai-muted-d); max-width: 520px; margin-bottom: 24px; }
.ai-panel__out { margin-top: auto; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 14px; background: rgba(47, 214, 163, .1); border: 1px solid rgba(47, 214, 163, .3); font-size: .85rem; font-weight: 700; color: #bff5e3; width: fit-content; }
.ai-panel__out small { color: var(--ai-mint); letter-spacing: .12em; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.ai-progress { height: 3px; background: rgba(255, 255, 255, .08); border-radius: 3px; margin-top: 22px; overflow: hidden; }
.ai-progress i { display: block; height: 100%; background: var(--ai-gold); width: 0; }
.ai-progress.is-run i { animation: ai-fill 6s linear forwards; }
@keyframes ai-fill { to { width: 100%; } }

/* ---------- Capabilities (bento) ---------- */
.ai-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 48px; }
.ai-tile {
  border-radius: 24px; padding: 32px; position: relative; overflow: hidden; min-height: 280px; display: flex; flex-direction: column;
  border: 1px solid var(--ai-line); background: #fff; transition: transform .3s, box-shadow .3s;
}
.ai-tile:hover { transform: translateY(-5px); box-shadow: var(--ai-shadow); }
.ai-tile:nth-child(1) { grid-column: span 4; background: var(--ai-ink); color: #fff; border-color: var(--ai-ink); }
.ai-tile:nth-child(2) { grid-column: span 2; background: var(--ai-gold); border-color: var(--ai-gold); }
.ai-tile:nth-child(3) { grid-column: span 2; background: var(--ai-soft); }
.ai-tile:nth-child(4) { grid-column: span 4; background: linear-gradient(135deg, #1a1530, #0b0b0d); color: #fff; border-color: #1a1530; }
.ai-tile__no { font-size: .72rem; font-weight: 800; letter-spacing: .16em; opacity: .6; margin-bottom: 18px; }
.ai-tile h3 { font-size: clamp(1.3rem, 2vw, 1.75rem); letter-spacing: -.035em; margin-bottom: 10px; max-width: 420px; }
.ai-tile p { font-size: .92rem; max-width: 460px; opacity: .8; }
.ai-tile ul { list-style: none; padding: 0; margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ai-tile li { font-size: .68rem; font-weight: 700; padding: 6px 12px; border-radius: 99px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .15); }
.ai-tile:nth-child(2) li, .ai-tile:nth-child(3) li { background: rgba(0, 0, 0, .07); border-color: rgba(0, 0, 0, .12); }
.ai-tile__art { position: absolute; right: -20px; top: -20px; width: 180px; height: 180px; opacity: .14; }
.ai-tile__art svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 1.2; }

/* ---------- Audience ---------- */
.ai-aud { margin-top: 44px; display: grid; grid-template-columns: 320px 1fr; gap: 28px; align-items: stretch; }
.ai-aud__tabs { display: grid; gap: 10px; align-content: start; }
.ai-aud__tab {
  text-align: left; padding: 18px 20px; border-radius: 16px; background: #fff; border: 1.5px solid var(--ai-line);
  transition: .25s; display: block; width: 100%;
}
.ai-aud__tab strong { display: block; font-size: .98rem; letter-spacing: -.02em; }
.ai-aud__tab small { color: var(--ai-muted); font-size: .72rem; font-weight: 600; }
.ai-aud__tab:hover { border-color: var(--ai-gold); }
.ai-aud__tab[aria-selected="true"] { background: var(--ai-ink); color: #fff; border-color: var(--ai-ink); }
.ai-aud__tab[aria-selected="true"] small { color: var(--ai-gold); }
.ai-aud__card { background: #fff; border: 1px solid var(--ai-line); border-radius: 26px; padding: clamp(26px, 4vw, 44px); box-shadow: var(--ai-shadow); }
.ai-aud__card[hidden] { display: none; }
.ai-tag { display: inline-block; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; padding: 6px 12px; border-radius: 99px; background: var(--ai-gold-soft); margin-bottom: 14px; }
.ai-tag--alt { background: var(--ai-soft); color: var(--ai-muted); }
.ai-meta { font-size: .78rem; color: var(--ai-muted); font-weight: 600; margin-bottom: 14px; }
.ai-aud__card h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.04em; margin-bottom: 18px; }
.ai-quote { font-size: 1.15rem; font-weight: 700; line-height: 1.45; padding: 18px 22px; border-radius: 16px; background: var(--ai-ink); color: #fff; margin: 0 0 20px; position: relative; }
.ai-quote::before { content: '“'; position: absolute; left: 14px; top: -14px; font-size: 3.5rem; color: var(--ai-gold); line-height: 1; }
.ai-aud__card > p { color: var(--ai-muted); }
.ai-need { margin-top: 22px; padding: 18px 20px; border-radius: 14px; background: var(--ai-soft); font-size: .9rem; }
.ai-need b { display: block; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 6px; color: var(--ai-gold-d); }

/* ---------- Compare ---------- */
.ai-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 48px; }
.ai-col { border-radius: 24px; padding: 34px; }
.ai-col--old { background: var(--ai-soft); border: 1px dashed #c9c9cf; }
.ai-col--new { background: var(--ai-ink); color: #fff; box-shadow: var(--ai-shadow); position: relative; }
.ai-col--new::after { content: 'Recommended'; position: absolute; right: 22px; top: -12px; background: var(--ai-gold); color: #000; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: 99px; }
.ai-col h3 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 20px; }
.ai-col--old h3 { color: var(--ai-muted); }
.ai-col--new h3 { color: var(--ai-gold); }
.ai-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.ai-col li { display: flex; gap: 14px; align-items: flex-start; font-weight: 650; font-size: .95rem; }
.ai-col li::before { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; }
.ai-col--old li { color: #55555e; }
.ai-col--old li::before { content: '✕'; background: #e0e0e4; color: #77777f; }
.ai-col--new li::before { content: '✓'; background: var(--ai-gold); color: #000; }

.ai-human { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; margin-top: clamp(70px, 8vw, 110px); }
.ai-orbit { aspect-ratio: 1; max-width: 460px; width: 100%; margin-inline: auto; border-radius: 50%; position: relative; display: grid; place-items: center; background: radial-gradient(circle, rgba(255, 189, 0, .15), transparent 65%); }
.ai-orbit__ring { position: absolute; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, .22); }
.ai-orbit__ring--1 { inset: 12%; animation: ai-spin 40s linear infinite; }
.ai-orbit__ring--2 { inset: 0; animation: ai-spin 60s linear infinite reverse; }
@keyframes ai-spin { to { transform: rotate(360deg); } }
.ai-orbit__core { width: 28%; aspect-ratio: 1; border-radius: 28%; background: var(--ai-gold); color: #000; display: grid; place-items: center; font-weight: 800; font-size: 2.6rem; box-shadow: 0 0 60px rgba(255, 189, 0, .5); }
.ai-orbit__tag { position: absolute; padding: 10px 16px; border-radius: 12px; background: rgba(255, 255, 255, .1); border: 1px solid var(--ai-line-d); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); font-size: .76rem; font-weight: 700; color: #fff; }
.ai-orbit__tag:nth-of-type(1) { top: 6%; left: 50%; transform: translateX(-50%); }
.ai-orbit__tag:nth-of-type(2) { bottom: 18%; right: 0; }
.ai-orbit__tag:nth-of-type(3) { bottom: 18%; left: 0; }

/* ---------- Proof + Knowledge ---------- */
.ai-proof { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px; }
.ai-proof div { padding: 28px; border-radius: 20px; background: #fff; border: 1px solid var(--ai-line); }
.ai-proof strong { display: block; font-size: clamp(1.5rem, 2.6vw, 2.2rem); letter-spacing: -.05em; font-weight: 800; margin-bottom: 4px; }
.ai-proof span { font-size: .82rem; color: var(--ai-muted); font-weight: 500; }
.ai-proof div:first-child { background: var(--ai-ink); color: #fff; border-color: var(--ai-ink); }
.ai-proof div:first-child strong { color: var(--ai-gold); }
.ai-proof div:first-child span { color: var(--ai-muted-d); }

.ai-know { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.ai-checks { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 14px; }
.ai-checks li { display: flex; gap: 14px; font-weight: 600; font-size: .95rem; }
.ai-checks li::before { content: '✓'; flex: none; width: 26px; height: 26px; border-radius: 8px; background: var(--ai-gold); color: #000; font-weight: 800; display: grid; place-items: center; font-size: .78rem; }
.ai-vault { background: var(--ai-ink); border-radius: 28px; padding: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; position: relative; }
.ai-doc { background: rgba(255, 255, 255, .06); border: 1px solid var(--ai-line-d); border-radius: 16px; padding: 18px; color: #fff; transition: transform .25s, border-color .25s; }
.ai-doc:hover { transform: translateY(-4px); border-color: var(--ai-gold); }
.ai-doc b { display: block; font-size: .82rem; margin-bottom: 14px; }
.ai-doc i { display: block; height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .14); margin: 8px 0; }
.ai-hub { grid-column: 1 / -1; text-align: center; padding: 18px; border-radius: 16px; background: var(--ai-gold); color: #000; font-weight: 800; font-size: .9rem; letter-spacing: .02em; }

/* ---------- Outcomes ---------- */
.ai-outcomes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px; }
.ai-outcomes .ai-card { padding: 28px 26px; }

/* ---------- FAQ ---------- */
.ai-faq { max-width: 860px; margin: 48px auto 0; display: grid; gap: 12px; }
.ai-faq__item { border: 1px solid var(--ai-line); border-radius: 18px; background: #fff; transition: border-color .25s, box-shadow .25s; }
.ai-faq__item.is-open { border-color: var(--ai-gold); box-shadow: var(--ai-shadow); }
.ai-faq__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 18px; text-align: left; padding: 22px 26px; background: none; border: 0; font-weight: 750; font-size: 1rem; letter-spacing: -.01em; }
.ai-faq__q span { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--ai-soft); display: grid; place-items: center; font-size: 1.2rem; transition: .3s; }
.ai-faq__item.is-open .ai-faq__q span { background: var(--ai-gold); transform: rotate(45deg); }
.ai-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.ai-faq__item.is-open .ai-faq__a { grid-template-rows: 1fr; }
.ai-faq__a > div { overflow: hidden; }
.ai-faq__a p { padding: 0 26px 24px; margin: 0; color: var(--ai-muted); font-size: .92rem; max-width: 740px; }

/* ---------- Final CTA ---------- */
.ai-final { background: var(--ai-ink); color: #fff; text-align: center; padding: clamp(80px, 10vw, 130px) 0; position: relative; overflow: hidden; isolation: isolate; }
.ai-final::before { content: ''; position: absolute; inset: auto 0 -40% 0; height: 90%; z-index: -1; background: radial-gradient(ellipse at 50% 100%, rgba(255, 189, 0, .35), transparent 65%); }
.ai-final .ai-h2 { margin-inline: auto; }
.ai-final .ai-lead { margin-inline: auto; color: var(--ai-muted-d); }
.ai-final .ai-actions { justify-content: center; }
.ai-final__tag { margin-top: 30px; font-size: .78rem; font-weight: 700; letter-spacing: .06em; color: var(--ai-gold); }

/* ---------- Sticky mobile CTA ---------- */
.ai-sticky { display: none; }

/* ---------- Modal ---------- */
.ai-modal { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(8, 8, 12, .7); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ai-modal.is-open { display: flex; }
.ai-modal__box { width: min(580px, 100%); max-height: 92vh; overflow: auto; background: #fff; color: var(--ai-text); border-radius: 26px; padding: 32px; box-shadow: 0 40px 100px rgba(0, 0, 0, .4); animation: ai-pop .35s cubic-bezier(.2, .9, .3, 1.2); }
@keyframes ai-pop { from { opacity: 0; transform: translateY(20px) scale(.96); } }
.ai-modal__head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.ai-modal__head h3 { font-size: 1.5rem; letter-spacing: -.035em; margin: 0; }
.ai-close { flex: none; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--ai-soft); font-size: 1.3rem; line-height: 1; }
.ai-close:hover { background: var(--ai-gold); }
.ai-field { margin: 22px 0; border: 0; padding: 0; }
.ai-field legend { font-weight: 750; font-size: .88rem; margin-bottom: 10px; padding: 0; }
.ai-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.ai-choice { padding: 10px 16px; border-radius: 99px; background: #fff; border: 1.5px solid var(--ai-line); font-size: .82rem; font-weight: 650; transition: .2s; }
.ai-choice:hover { border-color: var(--ai-gold); }
.ai-choice[aria-pressed="true"] { background: var(--ai-ink); color: #fff; border-color: var(--ai-ink); }
.ai-result { display: none; margin-top: 20px; padding: 18px; border-radius: 16px; background: var(--ai-gold-soft); border: 1px solid var(--ai-gold); font-size: .9rem; }
.ai-result.is-show { display: block; }

/* ---------- Reveal on scroll ---------- */
.ai-js .ai-reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--ai-d, 0s); }
.ai-js .ai-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .ai-hero__grid, .ai-solution, .ai-human, .ai-know { grid-template-columns: 1fr; }
  .ai-console { max-width: 600px; }
  .ai-life, .ai-aud { grid-template-columns: 1fr; }
  .ai-tabs, .ai-aud__tabs { grid-auto-flow: column; grid-auto-columns: minmax(200px, 1fr); overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; }
  .ai-tab, .ai-aud__tab { scroll-snap-align: start; }
  .ai-problem { grid-template-columns: repeat(2, 1fr); }
  .ai-problem .ai-card, .ai-problem .ai-card:nth-child(4), .ai-problem .ai-card:nth-child(5) { grid-column: auto; }
  .ai-problem .ai-card:last-child { grid-column: 1 / -1; }
  .ai-proof, .ai-outcomes { grid-template-columns: repeat(2, 1fr); }
  .ai-bento { grid-template-columns: 1fr 1fr; }
  .ai-tile:nth-child(n) { grid-column: auto; }
  .ai-tile:nth-child(1), .ai-tile:nth-child(4) { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .ai-wrap { width: calc(100% - 34px); }
  .ai-stats { grid-template-columns: 1fr 1fr; }
  .ai-stat:nth-child(3) { padding-left: 0; border-left: 0; }
  .ai-stat:nth-child(n+3) { border-top: 1px solid var(--ai-line-d); }
  .ai-console__body { grid-template-columns: 1fr; justify-items: center; }
  .ai-meters { width: 100%; }
  .ai-badge-float { right: 8px; top: -26px; }
  .ai-problem, .ai-pillars, .ai-compare, .ai-bento, .ai-outcomes { grid-template-columns: 1fr; }
  .ai-problem .ai-card:last-child { grid-column: auto; }
  .ai-tile:nth-child(n) { grid-column: auto; min-height: 0; }
  .ai-proof { grid-template-columns: 1fr 1fr; }
  .ai-actions { flex-direction: column; }
  .ai-actions .ai-btn { width: 100%; }
  .ai-vault { grid-template-columns: 1fr; }
  .ai-modal__box { padding: 24px 20px; }
  .ai-sticky { display: block; position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(11, 11, 13, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--ai-line-d); }
  .ai-final { padding-bottom: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  .ai-page *, .ai-page *::before, .ai-page *::after { animation: none !important; transition: none !important; }
  .ai-js .ai-reveal { opacity: 1; transform: none; }
}

/* ==========================================================================
   Polish layer v2
   ========================================================================== */

/* Scroll progress */
.ai-scrollbar { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 999; pointer-events: none; }
.ai-scrollbar i { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: 0 50%; background: linear-gradient(90deg, var(--ai-gold), #fff3b8, var(--ai-violet)); }

/* Film grain + violet haze on dark surfaces for depth */
.ai-hero::after, .ai-section--dark::after, .ai-final::after {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ai-section--dark { isolation: isolate; overflow: hidden; }
.ai-section--dark::before {
  content: ''; position: absolute; z-index: -1; width: 640px; height: 640px; border-radius: 50%; right: -240px; top: -200px;
  background: radial-gradient(circle, rgba(124, 92, 255, .22), transparent 65%); pointer-events: none;
}
/* Section rhythm: white → warm tint → dark, alternating. Tint is clearly distinct from white. */
.ai-section--soft {
  background: linear-gradient(180deg, #fbf3dc 0%, #f7ecc9 100%);
  border-block: 1px solid rgba(255, 189, 0, .28);
}
.ai-section--soft .ai-eyebrow { color: #6b5a1f; }
.ai-section--soft .ai-card, .ai-section--soft .ai-pillar { border-color: rgba(11, 11, 13, .08); }
.ai-section--soft .ai-aud__tab { border-color: rgba(11, 11, 13, .1); }
.ai-section--soft .ai-faq__item { border-color: rgba(11, 11, 13, .1); }

/* Cursor-reactive spotlight on cards */
.ai-card, .ai-tile, .ai-pillar, .ai-proof div { --mx: 50%; --my: 50%; position: relative; overflow: hidden; }
.ai-card::after, .ai-tile::after, .ai-pillar::after, .ai-proof div::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .3s;
  background: radial-gradient(360px circle at var(--mx) var(--my), rgba(255, 189, 0, .16), transparent 60%);
}
.ai-card:hover::after, .ai-tile:hover::after, .ai-pillar:hover::after, .ai-proof div:hover::after { opacity: 1; }
.ai-pillar, .ai-proof div { transition: transform .25s, box-shadow .25s, border-color .25s; }
.ai-pillar:hover, .ai-proof div:hover { transform: translateY(-4px); box-shadow: var(--ai-shadow); border-color: var(--ai-gold); }

/* Hero console: 3D tilt + moving sheen */
.ai-tiltwrap { perspective: 1200px; }
.ai-console { transform-style: preserve-3d; transition: transform .25s ease-out; will-change: transform; }
.ai-console::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(420px circle at var(--mx, 70%) var(--my, 0%), rgba(255, 255, 255, .12), transparent 55%);
}
.ai-console__feed { transform: translateZ(24px); }

/* Headline underline sweep */
.ai-h1 .ai-grad { position: relative; display: inline-block; }
.ai-h1 .ai-grad::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -.06em; height: .08em; border-radius: 6px;
  background: linear-gradient(90deg, var(--ai-gold), transparent); transform: scaleX(0); transform-origin: 0 50%;
  animation: ai-sweep 1.2s .6s cubic-bezier(.2, .8, .2, 1) forwards;
}
@keyframes ai-sweep { to { transform: scaleX(1); } }

/* Problem cards: gold underline + icon flip */
.ai-problem .ai-card::before { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--ai-gold); transition: width .4s ease; }
.ai-problem .ai-card:hover::before { width: 100%; }
.ai-icon { transition: transform .3s, background .3s, color .3s; }
.ai-card:hover .ai-icon, .ai-pillar:hover .ai-icon { transform: rotate(-6deg) scale(1.08); background: var(--ai-gold); color: #000; }

/* Callout shimmer */
.ai-callout { position: relative; overflow: hidden; }
.ai-callout::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255, 189, 0, .12) 50%, transparent 65%); transform: translateX(-100%); animation: ai-shine 6s ease-in-out infinite; }
@keyframes ai-shine { 60%, 100% { transform: translateX(100%); } }

/* Engine list: connecting line */
.ai-engine__steps::before { content: ''; position: absolute; left: 30px; top: 28px; bottom: 28px; width: 1px; background: linear-gradient(var(--ai-gold), transparent); opacity: .45; }
.ai-engine__steps li { position: relative; }

/* Lifecycle: glowing active tab, ghost numeral, panel entrance */
.ai-tab[aria-selected="true"] { box-shadow: 0 14px 34px -10px rgba(255, 189, 0, .55); }
.ai-panel { position: relative; overflow: hidden; }
.ai-panel::after { content: attr(data-n); position: absolute; right: 18px; bottom: -34px; font-size: clamp(8rem, 16vw, 13rem); font-weight: 800; letter-spacing: -.08em; color: rgba(255, 255, 255, .04); line-height: 1; pointer-events: none; }
.ai-panel:not([hidden]) { animation: ai-panelin .5s ease both; }
@keyframes ai-panelin { from { opacity: 0; transform: translateY(14px); } }

/* Bento mini-visuals */
.ai-spark { position: absolute; right: 26px; top: 28px; width: 120px; height: 44px; overflow: visible; }
.ai-spark path { fill: none; stroke: #000; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 400; stroke-dashoffset: 400; transition: stroke-dashoffset 1.6s ease .3s; }
.ai-tile.is-in .ai-spark path { stroke-dashoffset: 0; }
.ai-mini { position: absolute; right: 28px; top: 26px; height: 46px; display: flex; align-items: flex-end; gap: 5px; }
.ai-mini i { width: 9px; height: 0; border-radius: 3px 3px 1px 1px; background: var(--ai-ink); transition: height 1s cubic-bezier(.2, .8, .2, 1) .3s; }
.ai-tile.is-in .ai-mini i { height: var(--h); }
.ai-mini i:nth-child(4) { background: var(--ai-gold-d); }
.ai-tile:nth-child(1) { background-image: radial-gradient(circle at 100% 0, rgba(255, 189, 0, .22), transparent 55%); }
.ai-tile__art { transition: transform .8s ease, opacity .4s; }
.ai-tile:hover .ai-tile__art { transform: rotate(18deg) scale(1.1); opacity: .22; }

/* Audience: lifted active tab + gold-topped card */
.ai-aud__tab[aria-selected="true"] { box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5); transform: translateX(6px); }
.ai-aud__card { border-top: 5px solid var(--ai-gold); }
.ai-aud__card:not([hidden]) { animation: ai-panelin .45s ease both; }

/* Compare: gradient border on the winning column */
.ai-col--new { background: linear-gradient(var(--ai-ink), var(--ai-ink)) padding-box, linear-gradient(135deg, var(--ai-gold), var(--ai-violet), var(--ai-mint)) border-box; border: 1.5px solid transparent; }
.ai-col li { transition: transform .25s; }
.ai-col li:hover { transform: translateX(6px); }

/* Orbit: glowing satellites + floating labels */
.ai-orbit__ring--1::before, .ai-orbit__ring--2::before { content: ''; position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--ai-gold); top: -6px; left: 50%; box-shadow: 0 0 18px var(--ai-gold); }
.ai-orbit__ring--2::before { background: var(--ai-mint); box-shadow: 0 0 18px var(--ai-mint); }
.ai-orbit__tag:nth-of-type(1) { animation: ai-bob 6s ease-in-out infinite; }

/* Knowledge vault: scanning lines */
.ai-vault { background: radial-gradient(circle at 50% 0, #1d1d24, var(--ai-ink) 70%); box-shadow: var(--ai-shadow); }
.ai-doc i { position: relative; overflow: hidden; }
.ai-doc i::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 189, 0, .5), transparent); transform: translateX(-100%); animation: ai-scan 3.5s ease-in-out infinite; }
.ai-doc:nth-child(2) i::after { animation-delay: .5s; }
.ai-doc:nth-child(3) i::after { animation-delay: 1s; }
.ai-doc:nth-child(4) i::after { animation-delay: 1.5s; }
@keyframes ai-scan { 50%, 100% { transform: translateX(100%); } }

/* FAQ hover */
.ai-faq__item:hover { border-color: #d6d6dc; }
.ai-faq__q:hover span { background: var(--ai-gold-soft); }

/* Final CTA: pulsing button + concentric rings */
.ai-final .ai-btn--primary { animation: ai-pulse 2.8s ease-out infinite; }
@keyframes ai-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 189, 0, .5); } 70%, 100% { box-shadow: 0 0 0 22px rgba(255, 189, 0, 0); } }
.ai-final .ai-wrap { position: relative; }
.ai-final .ai-wrap::before { content: ''; position: absolute; left: 50%; top: 50%; width: 760px; height: 760px; max-width: 150vw; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(255, 189, 0, .12); box-shadow: 0 0 0 90px rgba(255, 189, 0, .025), 0 0 0 180px rgba(255, 189, 0, .015); pointer-events: none; z-index: -1; }

/* Button arrow nudge */
.ai-btn span[aria-hidden] { transition: transform .2s; display: inline-block; }
.ai-btn:hover span[aria-hidden] { transform: translateX(4px); }

/* ==========================================================================
   Polish layer v3 — typography, depth, rhythm
   ========================================================================== */
.ai-page ::selection { background: var(--ai-gold); color: #000; }
.ai-h1, .ai-h2, .ai-h3 { text-wrap: balance; }
.ai-lead, .ai-card p, .ai-tile p, .ai-faq__a p { text-wrap: pretty; }
.ai-h2 { font-size: clamp(1.95rem, 3.8vw, 3.4rem); letter-spacing: -.05em; }
.ai-lead { font-weight: 500; }

/* Eyebrow as a refined chip */
.ai-eyebrow { padding: 7px 14px 7px 12px; border-radius: 99px; background: rgba(11, 11, 13, .05); border: 1px solid rgba(11, 11, 13, .07); }
.ai-eyebrow::before { width: 7px; height: 7px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(255, 189, 0, .25); }
.ai-section--dark .ai-eyebrow, .ai-final .ai-eyebrow, .ai-hero .ai-eyebrow { background: rgba(255, 255, 255, .06); border-color: var(--ai-line-d); }
.ai-section--soft .ai-eyebrow { background: rgba(255, 189, 0, .2); border-color: rgba(255, 189, 0, .4); }

/* Highlighter accent words in headings */
.ai-mark { background: linear-gradient(transparent 64%, rgba(255, 189, 0, .55) 64%, rgba(255, 189, 0, .55) 92%, transparent 92%); padding: 0 .08em; margin: 0 -.08em; border-radius: 3px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ai-section--dark .ai-mark { background: linear-gradient(transparent 64%, rgba(255, 189, 0, .4) 64%, rgba(255, 189, 0, .4) 92%, transparent 92%); }

/* Layered, softer shadows + hairline top light on cards */
.ai-page { --ai-shadow: 0 1px 2px rgba(11, 11, 13, .05), 0 12px 24px -8px rgba(11, 11, 13, .12), 0 36px 70px -24px rgba(11, 11, 13, .22); }
.ai-card { border-radius: 22px; box-shadow: 0 1px 0 #fff inset, 0 1px 2px rgba(11, 11, 13, .04); }
.ai-card h3, .ai-pillar h3 { font-size: 1.15rem; }

/* Buttons: sheen sweep + gradient gold */
.ai-btn { position: relative; overflow: hidden; letter-spacing: -.005em; }
.ai-btn--primary { background: linear-gradient(180deg, #ffcb33, var(--ai-gold)); }
.ai-btn--primary::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, .55) 50%, transparent 60%); transform: translateX(-120%); transition: transform .7s; }
.ai-btn--primary:hover::after { transform: translateX(120%); }

/* Hero: second floating chip + richer console glass */
.ai-gap-float { position: absolute; left: -26px; bottom: 74px; z-index: 2; transform: translateZ(60px); background: #fff; color: #000; border-radius: 16px; padding: 12px 16px 12px 12px; display: grid; grid-template-columns: auto 1fr; column-gap: 11px; align-items: center; font-size: .74rem; font-weight: 800; box-shadow: 0 24px 44px -12px rgba(0, 0, 0, .55); animation: ai-bob 6.5s ease-in-out infinite -2s; }
.ai-gap-float b { grid-row: span 2; width: 34px; height: 34px; border-radius: 10px; background: var(--ai-ink); color: var(--ai-gold); display: grid; place-items: center; font-size: 1rem; }
.ai-gap-float small { font-weight: 600; color: #6b6b75; font-size: .64rem; }
.ai-console { border-top-color: rgba(255, 255, 255, .22); }
.ai-hero .ai-h1 { text-shadow: 0 2px 40px rgba(0, 0, 0, .35); }
.ai-stat strong { background: linear-gradient(180deg, #fff, #cfcfd8); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Marquee: edge fades and bolder presence */
.ai-marquee { padding: 17px 0; background: linear-gradient(90deg, #ffbd00, #ffd04d 50%, #ffbd00); }

/* Section tops: fine gold hairline for rhythm */
.ai-section:not(.ai-section--dark):not(.ai-section--soft)::before { content: ''; position: absolute; top: 0; left: 50%; width: min(var(--ai-max), calc(100% - 48px)); transform: translateX(-50%); height: 1px; background: linear-gradient(90deg, transparent, rgba(11, 11, 13, .12), transparent); }

/* Lifecycle: vertical connector between stage tabs */
.ai-tabs { position: relative; }
@media (min-width: 1001px) {
  .ai-tabs::before { content: ''; position: absolute; left: 34px; top: 40px; bottom: 40px; width: 2px; background: linear-gradient(var(--ai-gold), rgba(255, 189, 0, .1)); opacity: .35; }
  .ai-tab { position: relative; }
  .ai-tab b { position: relative; z-index: 1; }
}

/* Bento: refined type inside tiles */
.ai-tile h3 { font-size: clamp(1.4rem, 2.1vw, 1.9rem); line-height: 1.15; }
.ai-tile__no { display: inline-flex; width: fit-content; padding: 5px 11px; border-radius: 99px; border: 1px solid currentColor; opacity: .55; }

/* Proof numbers: larger, tighter */
.ai-proof strong { font-size: clamp(1.7rem, 3vw, 2.5rem); }

/* Orbit tags: gold dot */
.ai-orbit__tag::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ai-gold); margin-right: 8px; vertical-align: 1px; }

/* Final CTA: microcopy chips */
.ai-final__tag { display: inline-block; padding: 8px 18px; border-radius: 99px; border: 1px solid rgba(255, 189, 0, .35); background: rgba(255, 189, 0, .08); }

/* Spacing: slightly more generous headline→content gap */
.ai-bento, .ai-problem, .ai-proof, .ai-outcomes, .ai-aud, .ai-compare, .ai-life, .ai-faq { margin-top: clamp(40px, 5vw, 60px); }

@media (max-width: 700px) {
  .ai-gap-float { left: 8px; bottom: 120px; }
  .ai-eyebrow { font-size: .66rem; }
}
@media (max-width: 1000px) { .ai-aud__tab[aria-selected="true"] { transform: none; } }

/* ==========================================================================
   Polish layer v4 — mouse-reactive underline, gradients, softer tint, lower sections
   ========================================================================== */

/* 0. Underline that follows the pointer (driven by --mk / --mh from JS) */
.ai-mark { --mk: 50%; --mh: 1; background: none !important; position: relative; z-index: 0; }
.ai-mark::before {
  content: ''; position: absolute; z-index: -1; left: 0; right: 0; bottom: .05em; height: calc(.3em * var(--mh)); border-radius: 4px;
  background: radial-gradient(130px 160% at var(--mk) 50%, #ffd45c 0, rgba(255, 189, 0, 0) 72%), rgba(255, 189, 0, .42);
}
.ai-section--dark .ai-mark::before { background: radial-gradient(130px 160% at var(--mk) 50%, #ffd45c 0, rgba(255, 189, 0, 0) 72%), rgba(255, 189, 0, .32); }
.ai-h1 .ai-grad { --mk: 0%; --mh: 1; }
.ai-h1 .ai-grad::after {
  height: calc(.08em * var(--mh)); bottom: -.06em;
  background: radial-gradient(150px 400% at var(--mk) 50%, #fff3b8, rgba(255, 243, 184, 0) 70%), linear-gradient(90deg, var(--ai-gold), rgba(255, 189, 0, .2));
}

/* 5. Much lighter, softer warm tint */
.ai-section--soft { background: linear-gradient(180deg, #fffcf3 0%, #fdf8e6 100%); border-block: 1px solid rgba(255, 189, 0, .16); }
.ai-section--soft .ai-eyebrow { background: rgba(255, 189, 0, .12); border-color: rgba(255, 189, 0, .28); color: #6b5a1f; }

/* 1 & 4. Subtle gradient on boxes from the start */
.ai-card, .ai-pillar, .ai-proof div:not(:first-child) {
  background-image: radial-gradient(circle at 100% 0, rgba(255, 189, 0, .11), transparent 52%), linear-gradient(155deg, #ffffff 0%, #fffaee 100%);
}
.ai-pillar { background-image: radial-gradient(circle at 0 0, rgba(255, 189, 0, .14), transparent 55%), linear-gradient(160deg, #ffffff 0%, #fff6dc 100%); border-top: 3px solid var(--ai-gold); border-color: rgba(255, 189, 0, .28); border-top-color: var(--ai-gold); }
.ai-col--old { background-image: linear-gradient(160deg, #f7f7f5, #ecece8); }

/* 1. Problem boxes: equal, narrower widths (3 + 2 centred) */
.ai-problem { grid-template-columns: repeat(6, 1fr); }
.ai-problem .ai-card, .ai-problem .ai-card:nth-child(4), .ai-problem .ai-card:nth-child(5) { grid-column: span 2; }
.ai-problem .ai-card:nth-child(4) { grid-column: 2 / span 2; }
.ai-problem .ai-card:nth-child(5) { grid-column: 4 / span 2; }
.ai-problem .ai-card { padding: 30px 28px 32px; }

/* 2. Breathing room around the callout and the section below it */
.ai-callout { margin-top: clamp(64px, 8vw, 104px); }
#ai-problem { padding-bottom: clamp(48px, 5.5vw, 75px); }
#ai-solution { padding-top: clamp(88px, 10vw, 130px); }
.ai-pillars { margin-top: clamp(56px, 7vw, 84px); }

/* 3. Clear, high-contrast secondary button (works on dark and light) */
.ai-btn--dark {
  background: linear-gradient(180deg, #1c1c22, #0b0b0d); color: #fff; border: 1.5px solid var(--ai-gold);
  box-shadow: 0 0 0 4px rgba(255, 189, 0, .14), 0 14px 30px -10px rgba(255, 189, 0, .5); padding: 15px 14px 15px 28px;
}
.ai-btn--dark span[aria-hidden] { width: 30px; height: 30px; border-radius: 50%; background: var(--ai-gold); color: #000; display: inline-grid; place-items: center; font-weight: 800; }
.ai-btn--dark:hover { background: var(--ai-gold); color: #000; transform: translateY(-2px); box-shadow: 0 0 0 6px rgba(255, 189, 0, .22), 0 18px 34px -10px rgba(255, 189, 0, .6); }
.ai-btn--dark:hover span[aria-hidden] { background: #000; color: var(--ai-gold); }

/* 6. Lower sections */
#ai-about { padding-bottom: clamp(60px, 7vw, 90px); }
.ai-proof { gap: 18px; }
.ai-proof div { padding: 32px 28px; border-radius: 22px; }
.ai-proof div:first-child { background-image: radial-gradient(circle at 100% 0, rgba(255, 189, 0, .25), transparent 55%), linear-gradient(155deg, #1c1c22, #0b0b0d); }
.ai-proof strong { background: linear-gradient(180deg, #0b0b0d, #4a4a55); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ai-proof div:first-child strong { background: linear-gradient(180deg, #ffd45c, #ffbd00); -webkit-background-clip: text; background-clip: text; }

.ai-know { gap: clamp(40px, 7vw, 100px); }
.ai-checks li { padding: 14px 18px; border-radius: 14px; background: rgba(255, 255, 255, .8); border: 1px solid rgba(255, 189, 0, .22); box-shadow: 0 6px 16px -10px rgba(11, 11, 13, .15); transition: transform .25s; }
.ai-checks li:hover { transform: translateX(6px); }
.ai-checks { gap: 10px; }

.ai-outcomes { gap: 18px; counter-reset: ai-out; }
.ai-outcomes .ai-card { counter-increment: ai-out; padding: 32px 28px; border-radius: 22px; }
.ai-outcomes .ai-card::before { content: '0' counter(ai-out); position: absolute; right: 22px; top: 18px; font-size: 2.6rem; font-weight: 800; letter-spacing: -.06em; color: rgba(255, 189, 0, .28); line-height: 1; }

.ai-faq { gap: 14px; }
.ai-faq__item { background-image: linear-gradient(160deg, #ffffff, #fffaee); border-radius: 20px; }
.ai-faq__q { padding: 24px 28px; }
.ai-faq__a p { padding: 0 28px 26px; }
.ai-faq__more { max-width: 860px; margin: 36px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 28px; border-radius: 20px; background: var(--ai-ink); color: #fff; }
.ai-faq__more p { margin: 0; font-weight: 650; }
.ai-faq__more p small { display: block; color: var(--ai-muted-d); font-weight: 500; margin-top: 2px; }

.ai-final { padding: clamp(96px, 12vw, 160px) 0; }
.ai-final .ai-h2 { font-size: clamp(2.1rem, 4.6vw, 4rem); max-width: 900px; }
.ai-final__points { list-style: none; padding: 0; margin: 34px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; font-size: .82rem; font-weight: 650; color: #d4d4dc; }
.ai-final__points li::before { content: '✓'; color: var(--ai-gold); font-weight: 800; margin-right: 8px; }

@media (max-width: 1000px) {
  .ai-problem .ai-card, .ai-problem .ai-card:nth-child(4), .ai-problem .ai-card:nth-child(5) { grid-column: auto; }
  .ai-problem .ai-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .ai-problem .ai-card:last-child { grid-column: auto; }
  .ai-faq__more { flex-direction: column; align-items: stretch; text-align: center; }
}
@media (max-width: 700px) { .ai-spark, .ai-mini { display: none; } }
@media (hover: none) { .ai-console { transform: none !important; } }

/* Fix: button label colours must beat `.ai-page a { color: inherit }` */
.ai-page .ai-btn--dark { color: #fff; }
.ai-page .ai-btn--dark:hover { color: #000; }
.ai-page .ai-btn--primary { color: #000; }
.ai-page .ai-btn--ghost { color: #fff; }
.ai-page .ai-btn--dark span[aria-hidden] { color: #000; }
.ai-page .ai-btn--dark:hover span[aria-hidden] { color: var(--ai-gold); }

/* Fix: margin-top on <p>/<ul> was being zeroed by `.ai-page p, .ai-page ul { margin-top: 0 }` */
.ai-page .ai-callout { margin-top: clamp(32px, 4vw, 52px); }
.ai-page .ai-final__tag { margin-top: 30px; }
.ai-page .ai-final__points { margin-top: 34px; }
.ai-page .ai-checks { margin-top: 28px; }
.ai-page .ai-tile ul { margin-top: auto; }
.ai-page .ai-faq__more p { margin: 0; }

/* ==========================================================================
   Hero background motion — light streaks travel along the grid lines,
   soft rounded shapes drift. Subtle by design.
   ========================================================================== */
.ai-hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 55% 35%, #000 25%, transparent 80%);
  mask-image: radial-gradient(ellipse 90% 80% at 55% 35%, #000 25%, transparent 80%); }

/* Streaks: aligned to the 56px grid so they appear to run along the lines */
.ai-streak { position: absolute; display: block; opacity: 0; will-change: transform; }
.ai-streak--h { height: 1px; width: 260px; left: 0; background: linear-gradient(90deg, transparent, rgba(255, 189, 0, .85), transparent); animation: ai-run-x 14s linear infinite; }
.ai-streak--v { width: 1px; height: 260px; top: 0; background: linear-gradient(180deg, transparent, rgba(255, 189, 0, .75), transparent); animation: ai-run-y 18s linear infinite; }
.ai-s1 { top: 168px; animation-delay: -2s; }
.ai-s2 { top: 392px; animation-duration: 19s; animation-delay: -9s; background: linear-gradient(90deg, transparent, rgba(124, 92, 255, .9), transparent); }
.ai-s3 { top: 616px; animation-duration: 16s; animation-delay: -5s; }
.ai-s4 { left: 280px; animation-delay: -4s; }
.ai-s5 { left: 784px; animation-duration: 22s; animation-delay: -12s; background: linear-gradient(180deg, transparent, rgba(47, 214, 163, .75), transparent); }
.ai-s6 { left: 1176px; animation-duration: 20s; animation-delay: -7s; }
@keyframes ai-run-x { 0% { transform: translateX(-280px); opacity: 0; } 8%, 88% { opacity: 1; } 100% { transform: translateX(110vw); opacity: 0; } }
@keyframes ai-run-y { 0% { transform: translateY(-280px); opacity: 0; } 8%, 88% { opacity: 1; } 100% { transform: translateY(130vh); opacity: 0; } }

/* Rounded shapes */
.ai-shape { position: absolute; display: block; will-change: transform; }
.ai-shape--ring2 { width: 300px; height: 300px; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, .14); bottom: 8%; right: 4%; animation: ai-drift-b 26s ease-in-out infinite, ai-spin 80s linear infinite; }
.ai-shape--dot { width: 14px; height: 14px; border-radius: 50%; background: var(--ai-gold); box-shadow: 0 0 24px 6px rgba(255, 189, 0, .4); top: 30%; left: 46%; animation: ai-drift-b 16s ease-in-out infinite; }
.ai-shape--dot2 { width: 9px; height: 9px; border-radius: 50%; background: var(--ai-violet); box-shadow: 0 0 20px 5px rgba(124, 92, 255, .5); bottom: 26%; left: 22%; animation: ai-drift-a 18s ease-in-out infinite -6s; }
.ai-shape--sq { width: 110px; height: 110px; border-radius: 32px; border: 1px solid rgba(255, 255, 255, .18); top: 58%; left: 40%; animation: ai-drift-a 24s ease-in-out infinite -10s, ai-spin 70s linear infinite reverse; }
@keyframes ai-drift-a { 0%, 100% { translate: 0 0; } 50% { translate: 36px -30px; } }
@keyframes ai-drift-b { 0%, 100% { translate: 0 0; } 50% { translate: -40px 28px; } }

@media (max-width: 700px) {
  .ai-s3, .ai-s6, .ai-shape--sq, .ai-shape--ring2 { display: none; }
  .ai-s4 { left: 112px; } .ai-s5 { left: 280px; }
}

/* Fix: highlight underline must follow wrapped lines (per-line background, not one absolute block) */
.ai-page .ai-mark { position: static; z-index: auto; padding: 0 .08em; margin: 0 -.08em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone; border-radius: 3px;
  background-image: radial-gradient(130px 100% at var(--mk) 50%, #ffd45c 0, rgba(255, 189, 0, 0) 72%), linear-gradient(rgba(255, 189, 0, .42), rgba(255, 189, 0, .42)) !important;
  background-repeat: no-repeat !important;
  background-size: 100% calc(.3em * var(--mh)) !important;
  background-position: 0 90% !important; }
.ai-page .ai-mark::before { display: none; }
.ai-page .ai-section--dark .ai-mark { background-image: radial-gradient(130px 100% at var(--mk) 50%, #ffd45c 0, rgba(255, 189, 0, 0) 72%), linear-gradient(rgba(255, 189, 0, .32), rgba(255, 189, 0, .32)) !important; }


/* ==========================================================================
   Inner-page banner (theme hides .inside_banner on pages by default; show it
   on this page only, full width, using the banner images set in the admin).
   The artwork has dead space at the top (and floor at the bottom), so it is
   cropped with CSS only - the uploaded images stay untouched and replaceable.
   ========================================================================== */
html body .inside_banner { display: block !important; position: relative; margin: 0; overflow: hidden;
  background: #131314; padding-top: clamp(84px, 7.6vw, 110px); }
.inside_banner .inner_image_dekstop,
.inside_banner .inner_image_mob { width: 100%; height: auto; max-width: 100%; }
.inside_banner .inner_image_dekstop { /* crop ~22% top, ~8% bottom; fade the cut edge into the page */
  margin-top: -11.7%; margin-bottom: -4.3%;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 clamp(40px, 4.5vw, 70px));
  mask-image: linear-gradient(180deg, transparent 0, #000 clamp(40px, 4.5vw, 70px)); }
.inside_banner .inside_banner_mid_box:empty,
.inside_banner .insider_text_box:empty { display: none; }
@media screen and (max-width: 900px) {
  html body .inside_banner { background: #171818; padding-top: 96px; }
  .inside_banner .inner_image_mob { margin-bottom: -6.5%; }
}

.ai-page .ai-hero { padding-top: clamp(48px, 5vw, 76px); border-top: 4px solid var(--ai-gold); }
.ai-page .ai-hero--indigo { background: radial-gradient(ellipse 70% 80% at 78% 18%, #4a35b8 0%, #251a72 42%, #150f45 100%); }
.ai-page .ai-hero--indigo .ai-hero__glow--b { background: rgba(124,92,255,.35); }
.ai-page .ai-hero--teal { background: radial-gradient(ellipse 70% 80% at 78% 18%, #12707a 0%, #0a3f4a 45%, #062a33 100%); }
.ai-page .ai-hero--teal .ai-hero__glow--b { background: rgba(47,214,163,.22); }
/* Softer, muted tones: lower-saturation backgrounds, calmer glows, brighter body copy */
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-hero__glow--a { background: rgba(255,189,0,.07); }
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-hero__glow--b { background: rgba(255,255,255,.05); }
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-lead,
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-trust,
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-stat span { color: #c9ced8; }
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-footnote { color: #98a0ae; }
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-grad { background: linear-gradient(100deg, #f2c75c 10%, #ffe3a0 55%, #f2c75c 95%); -webkit-background-clip: text; background-clip: text; }
.ai-page .ai-hero:is(.ai-hero--slate,.ai-hero--sage,.ai-hero--mocha,.ai-hero--navy) .ai-console { background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); }
.ai-page .ai-hero--slate { background: linear-gradient(180deg, #2a3342 0%, #232b39 60%, #1d2430 100%); }
.ai-page .ai-hero--navy  { background: linear-gradient(180deg, #1f2d47 0%, #19243a 60%, #141d30 100%); }
.ai-page .ai-hero--sage  { background: linear-gradient(180deg, #2b3a37 0%, #243230 60%, #1e2a28 100%); }
.ai-page .ai-hero--mocha { background: linear-gradient(180deg, #3a3330 0%, #302a27 60%, #28231f 100%); }.ai-page .ai-hero--amber { background: linear-gradient(160deg, #ffc61a 0%, #ffb300 60%, #f5a300 100%); }
.ai-page .ai-hero--amber .ai-grad { background: none; -webkit-text-fill-color: #fff; color: #fff; text-shadow: 0 3px 0 rgba(11,11,13,.18); }
.ai-page .ai-hero--amber .ai-lead, .ai-page .ai-hero--amber .ai-trust, .ai-page .ai-hero--amber .ai-stat span, .ai-page .ai-hero--amber .ai-footnote { color: #2a2200; }
.ai-page .ai-hero--amber .ai-btn--primary { background: var(--ai-ink); color: #fff; }
.ai-page .ai-hero--amber .ai-hero__glow--a { background: rgba(255,255,255,.35); }
/* ==========================================================================
   Hero background variants (set the class on <section class="ai-hero ..."> in the editor):
   ai-hero--duo (default), ai-hero--slate, ai-hero--navy, ai-hero--sage, ai-hero--mocha, ai-hero--indigo, ai-hero--teal, ai-hero--amber, ai-hero--light.
   ========================================================================== */
.ai-page .ai-hero--light { background: linear-gradient(180deg, #f6f3e8 0%, #fffaf0 55%, #ffffff 100%); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) { color: var(--ai-ink); }
.ai-page .ai-hero::before { background-image: linear-gradient(rgba(11,11,13,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(11,11,13,.06) 1px, transparent 1px); }
.ai-page .ai-hero::after { opacity: .12; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-h1 { color: var(--ai-ink); text-shadow: none; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-grad { background: linear-gradient(100deg, #e6a900 10%, #ffbd00 55%, #e6a900 95%); -webkit-background-clip: text; background-clip: text; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-lead { color: #4a4a55; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-pill { background: #fff; border-color: rgba(11,11,13,.12); color: var(--ai-ink); box-shadow: 0 6px 18px rgba(11,11,13,.06); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-btn--ghost { color: var(--ai-ink); border-color: rgba(11,11,13,.28); background: rgba(11,11,13,.03); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-btn--ghost:hover { border-color: var(--ai-gold-d); background: rgba(255,189,0,.18); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-trust { color: #4a4a55; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-stats { border-top-color: rgba(11,11,13,.14); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-stat + .ai-stat { border-left-color: rgba(11,11,13,.14); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-stat strong { color: var(--ai-ink); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-stat span { color: #5a5a66; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-footnote { color: #77777f; }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-hero__glow--a { background: rgba(255,189,0,.22); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-hero__glow--b { background: rgba(124,92,255,.10); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-shape--ring2, .ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-shape--sq { border-color: rgba(11,11,13,.16); }
.ai-page .ai-hero:is(.ai-hero--light,.ai-hero--amber,.ai-hero--duo) .ai-console { background: linear-gradient(160deg, #1d1d23 0%, #0e0e11 100%); color: #fff; box-shadow: 0 30px 70px rgba(11,11,13,.28), 0 0 0 1px rgba(11,11,13,.08); }
/* ---- ai-hero--duo: soft grey-ivory -> soft yellow gradient, dark dashboard card, navy stats strip ---- */
.ai-page .ai-hero.ai-hero--duo { background: radial-gradient(ellipse 60% 40% at 88% 100%, rgba(180,140,55,.14) 0%, rgba(180,140,55,0) 70%),
  linear-gradient(180deg, #f6f2e9 0%, #eee6d3 45%, #e2d4b2 100%); }
.ai-page .ai-hero.ai-hero--duo::before { background-image: linear-gradient(rgba(60,52,30,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(60,52,30,.06) 1px, transparent 1px); }
.ai-page .ai-hero.ai-hero--duo .ai-hero__glow--a { background: rgba(214,170,70,.10); right: 2%; }
.ai-page .ai-hero.ai-hero--duo .ai-hero__glow--b { background: rgba(255,255,255,.45); left: auto; right: 22%; bottom: 0; }
.ai-page .ai-hero.ai-hero--duo .ai-grad { background: linear-gradient(100deg, #b87d00 5%, #f0a800 55%, #b87d00 95%); -webkit-background-clip: text; background-clip: text; }
.ai-page .ai-hero.ai-hero--duo .ai-lead, .ai-page .ai-hero.ai-hero--duo .ai-trust { color: #45443f; }
.ai-page .ai-hero.ai-hero--duo .ai-pill { border-color: rgba(60,52,30,.16); }
.ai-page .ai-hero.ai-hero--duo .ai-btn--primary { background: var(--ai-gold); color: #0b0b0d; }
.ai-page .ai-hero.ai-hero--duo .ai-console { background: linear-gradient(160deg, #2b2e36 0%, #16181d 100%); border: 1px solid rgba(255,255,255,.12); color: #fff; box-shadow: 0 30px 70px rgba(40,34,10,.30); }
.ai-page .ai-hero.ai-hero--duo .ai-stats { background: linear-gradient(120deg, #26324a 0%, #182238 100%); border: 0; border-radius: 18px; padding: 0 28px; box-shadow: 0 18px 40px rgba(24,34,56,.28); border-top: 3px solid var(--ai-gold); }
.ai-page .ai-hero.ai-hero--duo .ai-stat strong { color: #fff; }
.ai-page .ai-hero.ai-hero--duo .ai-stat span { color: #b9c4da; }
.ai-page .ai-hero.ai-hero--duo .ai-stat + .ai-stat { border-left-color: rgba(255,255,255,.14); }
.ai-page .ai-hero.ai-hero--duo .ai-footnote { color: #77746b; padding-top: 16px; }
@media screen and (max-width: 900px) {
  .ai-page .ai-hero.ai-hero--duo { background: radial-gradient(ellipse 60% 40% at 88% 100%, rgba(180,140,55,.14) 0%, rgba(180,140,55,0) 70%),
  linear-gradient(180deg, #f6f2e9 0%, #eee6d3 45%, #e2d4b2 100%); }
  .ai-page .ai-hero.ai-hero--duo .ai-stats { padding: 0 18px; }
}

/* ---- Same grey-ivory / soft-yellow gradient reused on the light sections ---- */
.ai-page .ai-section:not(.ai-section--dark):not(.ai-section--soft) { background: linear-gradient(180deg, #ffffff 0%, #f9f5ea 100%); }
.ai-page .ai-section--soft { background: radial-gradient(ellipse 60% 40% at 88% 100%, rgba(180,140,55,.14) 0%, rgba(180,140,55,0) 70%),
  linear-gradient(180deg, #f6f2e9 0%, #eee6d3 45%, #e2d4b2 100%); }
/* ==========================================================================
   Spacing system - one rhythm for the whole page
   section padding | header->content & block->block | card-grid gap | split gap
   ========================================================================== */
.ai-page { --ai-sp-section: clamp(72px, 8vw, 112px); --ai-sp-block: clamp(40px, 5vw, 60px); --ai-sp-grid: 20px; --ai-sp-split: clamp(40px, 6vw, 80px); }
.ai-page .ai-section, .ai-page #ai-problem, .ai-page #ai-solution, .ai-page #ai-about { padding-top: var(--ai-sp-section); padding-bottom: var(--ai-sp-section); }
.ai-page .ai-final { padding-top: clamp(88px, 10vw, 128px); padding-bottom: clamp(88px, 10vw, 128px); }
.ai-page .ai-problem, .ai-page .ai-pillars, .ai-page .ai-life, .ai-page .ai-bento, .ai-page .ai-aud, .ai-page .ai-compare,
.ai-page .ai-human, .ai-page .ai-proof, .ai-page .ai-outcomes, .ai-page .ai-faq, .ai-page .ai-callout { margin-top: var(--ai-sp-block); }
.ai-page .ai-faq__more { margin-top: 40px; }
.ai-page .ai-problem, .ai-page .ai-pillars, .ai-page .ai-bento, .ai-page .ai-compare, .ai-page .ai-proof, .ai-page .ai-outcomes { gap: var(--ai-sp-grid); }
.ai-page .ai-life, .ai-page .ai-aud { gap: 24px; }
.ai-page .ai-solution, .ai-page .ai-know, .ai-page .ai-human { gap: var(--ai-sp-split); }
.ai-page .ai-actions { margin-top: 32px; }
.ai-page .ai-trust { margin-top: 32px; }
.ai-page .ai-final__points { margin-top: 32px; }
.ai-page .ai-final__tag { margin-top: 32px; }

/* ==========================================================================
   Problem boxes: stronger highlight + subtle line-art illustrations
   ========================================================================== */
.ai-page .ai-problem .ai-card {
  border-color: rgba(20,20,25,.09);
  box-shadow: 0 14px 30px rgba(20,20,25,.10), 0 2px 6px rgba(20,20,25,.05), inset 0 1px 0 rgba(255,255,255,.7);
  background-repeat: no-repeat;
  background-position: 0 0, right -26px bottom -30px;
  background-size: 100% 4px, 150px 150px;
}
.ai-page .ai-problem .ai-card:nth-child(1) { background-image: linear-gradient(#ffbd00,#ffbd00), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23b8860b' stroke-opacity='.24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='100' cy='100' r='62'/%3E%3Ccircle cx='100' cy='100' r='42'/%3E%3Ccircle cx='100' cy='100' r='20'/%3E%3Cpath d='M100 24v26M100 150v26M24 100h26M150 100h26'/%3E%3C/svg%3E"); background-color: #eeeeec; }
.ai-page .ai-problem .ai-card:nth-child(2) { background-image: linear-gradient(#ffbd00,#ffbd00), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23b8860b' stroke-opacity='.24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='50' cy='52' r='11'/%3E%3Ccircle cx='128' cy='46' r='11'/%3E%3Ccircle cx='96' cy='124' r='11'/%3E%3Cpath d='M60 58l26 56M118 54l-14 58M61 50l56-3' stroke-dasharray='4 5'/%3E%3C/svg%3E"); background-color: #eeeeec; }
.ai-page .ai-problem .ai-card:nth-child(3) { background-image: linear-gradient(#ffbd00,#ffbd00), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23b8860b' stroke-opacity='.24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M100 34a38 38 0 0 0-22 69c5 4 8 9 8 15h28c0-6 3-11 8-15a38 38 0 0 0-22-69z'/%3E%3Cpath d='M88 130h24M92 142h16'/%3E%3Cpath d='M100 8v10M42 30l7 7M158 30l-7 7M24 80h10M166 80h-10'/%3E%3C/svg%3E"); background-color: #eeeeec; }
.ai-page .ai-problem .ai-card:nth-child(4) { background-image: linear-gradient(#ffbd00,#ffbd00), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23b8860b' stroke-opacity='.24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 140h130'/%3E%3Cpath d='M38 140V96h18v44M70 140V70h18v70M102 140V108h18v32'/%3E%3Cpath d='M30 70l36-24 30 14 40-36' stroke-dasharray='4 5'/%3E%3C/svg%3E"); background-color: #eeeeec; }
.ai-page .ai-problem .ai-card:nth-child(5) { background-image: linear-gradient(#ffbd00,#ffbd00), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160' fill='none' stroke='%23b8860b' stroke-opacity='.24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M80 22 148 138H12z'/%3E%3Cpath d='M80 56 124 130H36z'/%3E%3Cpath d='M80 80v28M80 120v2'/%3E%3C/svg%3E"); background-color: #eeeeec; }
.ai-page .ai-problem .ai-card:hover { transform: translateY(-6px); border-color: var(--ai-gold); box-shadow: 0 26px 50px rgba(110,80,10,.20), 0 0 0 1px rgba(255,189,0,.55); }
.ai-page .ai-problem .ai-card .ai-icon { box-shadow: 0 0 0 6px rgba(255,189,0,.20), 0 10px 22px rgba(11,11,13,.22); }
.ai-page .ai-problem .ai-card__num { color: rgba(184,134,11,.30); font-size: 2.9rem; }

/* 4th section: halve the gap under the Diagnose / Strategise / Optimise boxes */
.ai-page #ai-solution { padding-bottom: calc(var(--ai-sp-section) / 2); }

/* ==========================================================================
   Flat colour pass: one solid background for all light sections (the hero's
   top colour), light-grey boxes, no yellow gradients. Dark sections unchanged.
   ========================================================================== */
.ai-page { --ai-flat-bg: #f6f2e9; --ai-box-grey: #eeeeec; }
.ai-page .ai-hero.ai-hero--duo, .ai-page .ai-section:not(.ai-section--dark):not(.ai-section--soft), .ai-page .ai-section.ai-section--soft { background: var(--ai-flat-bg); }
.ai-page .ai-section--soft { border-block-color: rgba(20,20,25,.06); }
.ai-page .ai-hero.ai-hero--duo .ai-hero__glow { display: none; }
.ai-page .ai-hero.ai-hero--duo .ai-grad { background: none; -webkit-text-fill-color: #c58a00; color: #c58a00; }
.ai-page .ai-hero.ai-hero--duo .ai-console { background: #23262d; }
.ai-page .ai-hero.ai-hero--duo .ai-stats { background: #1f2a40; }
.ai-page .ai-marquee { background: #ffbd00; }
/* light-grey boxes */
.ai-page .ai-pillar, .ai-page .ai-faq__item, .ai-page .ai-proof div:not(:first-child),
.ai-page .ai-section:not(.ai-section--dark) .ai-card:not(.ai-problem .ai-card) { background-image: none; background-color: var(--ai-box-grey); border-color: rgba(20,20,25,.09); }
.ai-page .ai-pillar { border-top-color: var(--ai-gold); }
.ai-page .ai-tile:nth-child(1) { background-image: none; }
.ai-page .ai-card::after, .ai-page .ai-tile::after, .ai-page .ai-pillar::after, .ai-page .ai-proof div::after { background: radial-gradient(360px circle at var(--mx) var(--my), rgba(20,20,25,.05), transparent 60%); }

/* ==========================================================================
   Mobile / tablet fixes
   ========================================================================== */
@media screen and (max-width: 900px) {
  .inside_banner .inner_image_dekstop { display: none; }
  .inside_banner .inner_image_mob { display: block; }
  .ai-page .ai-problem { grid-template-columns: 1fr 1fr; }
  .ai-page .ai-problem .ai-card, .ai-page .ai-problem .ai-card:nth-child(4), .ai-page .ai-problem .ai-card:nth-child(5) { grid-column: auto; }
  .ai-page .ai-problem .ai-card:nth-child(5) { grid-column: 1 / -1; }
}
@media screen and (max-width: 600px) {
  .ai-page .ai-problem { grid-template-columns: 1fr; }
  .ai-page .ai-problem .ai-card:nth-child(5) { grid-column: auto; }
  .ai-page .ai-proof div { padding: 24px 18px; }
  .ai-page .ai-proof strong { font-size: clamp(1.2rem, 5.4vw, 1.55rem); overflow-wrap: anywhere; }
}

.ai-page .ai-tile > svg, .ai-page svg.ai-spark { overflow: visible; }
