/*
 * Public marketing site — marketing page components (AGENCY-OWNED).
 *
 * ONE of three ownership-scoped stylesheets split out of the former single
 * public.css (PRO-4814). All three are linked, in this order, by
 * marketing/base_public.html:
 *
 *     public-chrome.css   site chrome + design tokens   PROKURIO
 *     public-prose.css    blog article typography       PROKURIO
 *     public-pages.css    marketing page components     AGENCY
 *
 * The split exists so the external marketing agency can own the page
 * components without being able to alter the blog or the site chrome. Keep the
 * boundary honest: a rule belongs to the file that owns the thing it styles,
 * not to the file it is most convenient to add it to.
 *
 * THIS FILE IS AGENCY-OWNED. It is the only stylesheet the marketing agency
 * authors; it is synced in from the marketing-site repo by pull request and never
 * edited directly here.
 *
 * Contents: the marketing page components — hero, feature blocks, pricing
 * tables, testimonial, compliance list, people, CTA band, the FX live-product
 * embed, the newsletter signup, and the whole "Prokurio AI" redesigned home
 * (logo-free hero grid, scenario panel, mini-charts, icon chips, marquee,
 * numbered steps, stat tiles, closing CTA).
 *
 * Colour resolves through var(--aif-*) tokens defined in public-chrome.css. Do
 * not add a :root block or raw hex here.
 */

/* ── Fonts ─────────────────────────────────────────────────────── */

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-300.8d91ec1ca2d8.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-regular.9212f6f9860f.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-500.a09f2fccfee3.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-600.72993dddf88a.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-700.25b0e113ca7c.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-800.af4d371a1027.woff2") format("woff2");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/poppins-v24-latin-900.5426bf50c845.woff2") format("woff2");
}

body {
  --pw-font-sans:
    "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.pw-page-hero__lede {
  font-size: 1.25rem;
  color: var(--aif-text-muted);
  max-width: 48ch;
  margin-bottom: 1.8em;
}

/* Keep marketing headlines consistent across page-specific components. */
#main h1,
#main h2,
#main h3 {
  font-weight: 900;
}

#main .pw-forecast-faq__card h3 {
  font-weight: 800;
}

/* ── Hero ──────────────────────────────────────────────────────── */

.pw-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--aif-accent-chip);
  color: var(--aif-accent);
  font-weight: 600;
  font-size: 0.85rem;
  margin-bottom: 20px;
}

.pw-hero__title {
  max-width: 16ch;
}


.pw-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.pw-trusted {
  margin-top: 40px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--aif-text-dim);
}

/* ── Feature blocks ────────────────────────────────────────────── */
.pw-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}

.pw-subgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 20px;
  margin-top: 8px;
}


.pw-card__icon {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--aif-accent-chip);
  color: var(--aif-accent);
  font-size: 1.15rem;
  margin-bottom: 14px;
}


/* ── Pricing ───────────────────────────────────────────────────── */
.pw-price-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.pw-plan {
  display: flex;
  flex-direction: column;
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-lg);
  padding: 28px;
  box-shadow: var(--pw-shadow-sm);
}

.pw-plan--featured {
  border-color: var(--aif-accent);
  box-shadow: 0 0 0 3px var(--aif-accent-glow);
}

.pw-plan__flag {
  align-self: flex-start;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aif-on-accent);
  background: var(--aif-accent);
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 14px;
}

.pw-plan__name {
  font-size: 1.3rem;
  margin-bottom: 4px;
}

.pw-plan__price {
  font-size: 2rem;
  font-weight: 800;
  color: var(--aif-text);
  margin-bottom: 4px;
}

.pw-plan__price span {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--aif-text-dim);
}

.pw-plan__desc {
  color: var(--aif-text-muted);
  font-size: 0.95rem;
}

.pw-plan__list {
  list-style: none;
  padding: 0;
  margin: 18px 0 24px;
  display: grid;
  gap: 10px;
}

.pw-plan__list li {
  position: relative;
  padding-left: 26px;
  color: var(--aif-text-muted);
  font-size: 0.94rem;
}

.pw-plan__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 14px;
  height: 8px;
  border-left: 2px solid var(--aif-green);
  border-bottom: 2px solid var(--aif-green);
  transform: rotate(-45deg);
}

.pw-plan__cta {
  margin-top: auto;
}

.pw-price-band {
  margin-top: 12px;
}

.pw-price-band__title {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid var(--aif-border);
  padding-top: 40px;
  margin-top: 24px;
}

/* ── Testimonial ───────────────────────────────────────────────── */
.pw-quote {
  max-width: 62ch;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
}

.pw-quote__cite {
  margin-top: 20px;
  font-size: 1rem;
  color: var(--aif-grey-blue);
}

.pw-quote__cite strong {
  color: var(--aif-on-accent);
}

/* ── Compliance / list ─────────────────────────────────────────── */
.pw-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.pw-checklist li {
  position: relative;
  padding-left: 28px;
  color: var(--aif-text-muted);
}

.pw-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 15px;
  height: 9px;
  border-left: 2px solid var(--aif-accent);
  border-bottom: 2px solid var(--aif-accent);
  transform: rotate(-45deg);
}

.pw-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.pw-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: var(--aif-radius-sm);
  background: var(--aif-accent-chip);
  color: var(--aif-accent);
  font-weight: 600;
  font-size: 0.9rem;
}

/* ── People ────────────────────────────────────────────────────── */
.pw-people {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 28px;
}

.pw-person {
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius);
  padding: 20px;
}

.pw-person__name {
  font-weight: 700;
}

.pw-person__role {
  color: var(--aif-text-dim);
  font-size: 0.9rem;
}

/* ── CTA band ──────────────────────────────────────────────────── */
.pw-cta {
  text-align: center;
}

.pw-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
}

/* ── FX widget (live product embed) ────────────────────────────── */
.pw-fx {
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-lg);
  padding: 24px;
  box-shadow: var(--pw-shadow);
  max-width: 520px;
}

.pw-fx__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: end;
}

.pw-fx__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pw-fx__field label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--aif-text-muted);
}

.pw-fx__field input,
.pw-fx__field select {
  font: inherit;
  padding: 10px 12px;
  border: 1px solid var(--aif-border-light);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-surface);
  color: var(--aif-text);
  width: 100%;
}

.pw-fx__field input:focus,
.pw-fx__field select:focus {
  outline: none;
  border-color: var(--aif-accent);
  box-shadow: 0 0 0 3px var(--aif-accent-glow);
}

.pw-fx__swap {
  align-self: end;
  height: 42px;
  width: 42px;
  border-radius: var(--aif-radius-sm);
  border: 1px solid var(--aif-border-light);
  background: var(--aif-surface);
  color: var(--aif-text-muted);
  cursor: pointer;
  font-size: 1.1rem;
}

.pw-fx__swap:hover {
  background: var(--aif-surface-hover);
}

.pw-fx__result {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--aif-border);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aif-text);
  min-height: 1.5em;
}

.pw-fx__meta {
  font-size: 0.8rem;
  color: var(--aif-text-dim);
  margin-top: 6px;
}

.pw-fx__meta--error {
  color: var(--aif-rose);
}

/* ── Newsletter (Mailchimp) ────────────────────────────────────── */
.pw-newsletter {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 460px;
}

.pw-newsletter input[type="email"] {
  flex: 1 1 220px;
  font: inherit;
  padding: 10px 14px;
  border: 1px solid var(--aif-border-light);
  border-radius: var(--aif-radius-sm);
}


/* ── Redesigned home (PRO-4010) — "Prokurio AI" concept ────────── */
/* Reusable component patterns (scenario panel, mini-charts, icon chips,
   marquee, steps, stats, CTA band) so later pages can reuse them. */
/* ── Hero (two-column: copy + assistant panel) ─────────────────── */
.pw-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center;
}

/* Let the longer redesigned headline fill its hero column (the 16ch cap on the
   shared .pw-hero__title is for the single-column heroes on other pages). */
.pw-hero__grid .pw-hero__title {
  max-width: 20ch;
  text-wrap: balance;
}

.pw-hero__grid .pw-page-hero__lede {
  max-width: 42ch;
}

.pw-hero__badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aif-teal);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--aif-teal) 25%, transparent);
}

.pw-hero__note {
  margin-top: 18px;
  margin-bottom: 0;
  font-size: 0.85rem;
  color: var(--aif-text-dim);
}

/* ── Assistant "scenario planner" panel (provisional illustration) ─ */
.pw-assist {
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-lg);
  box-shadow: var(--pw-shadow-lg);
  overflow: hidden;
}

.pw-assist__top {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--aif-border);
  background: var(--aif-surface-2);
}

.pw-assist__dots {
  display: flex;
  gap: 5px;
}

.pw-assist__dots i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--aif-border-light);
  display: block;
}

.pw-assist__title {
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--aif-text-muted);
}

.pw-assist__tag {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--aif-teal-deep);
}

.pw-assist__body {
  padding: 18px 18px 20px;
}

.pw-sp__ctx {
  font-size: 0.86rem;
  color: var(--aif-text-muted);
  margin-bottom: 10px;
}

.pw-sp__ctx b {
  color: var(--aif-text);
}

.pw-sp__chart {
  width: 100%;
  height: auto;
  display: block;
  margin: 4px 0 14px;
}

.pw-sp__chart .pw-sp__grid {
  stroke: var(--aif-border);
  stroke-width: 1;
}

.pw-sp__chart polyline {
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Draw-in animation only when JS is confirmed running (see home.js) — the
   lines render as normal solid strokes otherwise. Requires pathLength="1"
   on the <polyline> so a dasharray/dashoffset of 1 maps to "whole path"
   regardless of the path's actual on-screen length. */
.pw-js .pw-sp__chart polyline {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.1s ease;
}

.pw-js .pw-sp__chart polyline.is-drawn {
  stroke-dashoffset: 0;
}

.pw-sp__rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pw-sp__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-sm);
  font-size: 0.9rem;
}

/* Reveal animation only when JS is confirmed running (see home.js) — with
   JS disabled/blocked, rows render visible by default instead of being
   permanently stuck at opacity: 0. */
.pw-js .pw-sp__row {
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.pw-sp__row.is-shown {
  opacity: 1;
  transform: none;
}

.pw-sp__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex: 0 0 auto;
}

.pw-sp__dot--base {
  background: var(--aif-accent);
}

.pw-sp__dot--prune {
  background: var(--aif-teal);
}

.pw-sp__dot--cons {
  background: var(--aif-green);
}

.pw-sp__name {
  flex: 1;
  color: var(--aif-text);
}

.pw-sp__val {
  font-family: var(--pw-mono);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--aif-text);
}

.pw-sp__delta {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
}

.pw-sp__delta--neutral {
  background: var(--aif-surface-2);
  color: var(--aif-text-muted);
}

.pw-sp__delta--good {
  background: color-mix(in srgb, var(--aif-green) 16%, transparent);
  color: var(--aif-green);
}

.pw-sp__insight {
  margin-top: 14px;
  display: flex;
  gap: 9px;
  align-items: flex-start;
  font-size: 0.86rem;
  color: var(--aif-text);
  background: var(--aif-accent-soft);
  border: 1px solid color-mix(in srgb, var(--aif-accent) 15%, transparent);
  border-radius: var(--aif-radius-sm);
  padding: 10px 11px;
}

/* Reveal animation only when JS is confirmed running (see home.js) — with
   JS disabled/blocked, the insight callout renders visible by default
   instead of being permanently stuck at opacity: 0. */
.pw-js .pw-sp__insight {
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.pw-sp__insight.is-shown {
  opacity: 1;
  transform: none;
}

.pw-sp__spark {
  color: var(--aif-accent);
  font-weight: 800;
  line-height: 1.4;
}

/* ── Grid helpers for the home sections ────────────────────────── */


/* Icon chip variants (sanctioned multi-hue accents; deep glyph on light tint) */
.pw-card__icon svg {
  width: 26px;
  height: 26px;
}

.pw-card__icon--accent {
  background: var(--aif-accent-soft);
  color: var(--aif-accent);
}

.pw-card__icon--teal {
  background: color-mix(in srgb, var(--aif-teal) 18%, transparent);
  color: var(--aif-teal-deep);
}

.pw-card__icon--gold {
  background: color-mix(in srgb, var(--aif-gold) 30%, transparent);
  color: var(--aif-gold-deep);
}

.pw-card__icon--sky {
  background: color-mix(in srgb, var(--aif-sky) 16%, transparent);
  color: var(--aif-brand-steel);
}

/* Firms / companies audience cards */
.pw-card--audience {
  padding: 28px;
}

.pw-card__list {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.pw-card__list li {
  display: flex;
  gap: 9px;
  font-size: 0.95rem;
  color: var(--aif-text-muted);
}

.pw-card__list li::before {
  content: "→";
  color: var(--aif-accent);
  font-weight: 700;
}

.pw-mini-wrap {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--aif-border);
}

.pw-mini {
  width: 100%;
  height: auto;
  display: block;
}

/* ── How it works — numbered steps ─────────────────────────────── */
.pw-steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  counter-reset: pw-step;
}

.pw-step {
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius);
  padding: 22px;
}

.pw-step__n {
  counter-increment: pw-step;
  font-family: var(--pw-mono);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--aif-accent);
  letter-spacing: 0.05em;
}

.pw-step__n::before {
  content: "0" counter(pw-step);
}

.pw-step h3 {
  font-size: 1.02rem;
  margin: 8px 0 6px;
}

.pw-step p {
  font-size: 0.9rem;
  color: var(--aif-text-muted);
  margin: 0;
}

/* ── Outcomes — stat tiles ─────────────────────────────────────── */
.pw-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}

.pw-stat {
  text-align: center;
  padding: 26px 16px;
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-lg);
}

.pw-stat__big {
  font-size: clamp(2.4rem, 5vw, 3.2rem);
  font-weight: 800;
  color: var(--aif-accent);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.pw-stat__lbl {
  margin-top: 8px;
  font-weight: 650;
  color: var(--aif-text);
}

.pw-stat__sub {
  font-size: 0.85rem;
  color: var(--aif-text-muted);
  margin-top: 3px;
}

.pw-footnote {
  text-align: center;
  margin: 20px 0 0;
  font-size: 0.82rem;
  color: var(--aif-text-muted);
}

/* ── Trust — logo marquee ──────────────────────────────────────── */
.pw-trust {
  background: var(--aif-surface);
  border-top: 1px solid var(--aif-border);
  border-bottom: 1px solid var(--aif-border);
}

.pw-marquee {
  overflow: hidden;
  margin-top: 28px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.pw-marquee__track {
  display: flex;
  gap: 3rem;
  width: max-content;
  align-items: center;
  animation: pw-marquee 30s linear infinite;
}

.pw-marquee__logo {
  white-space: nowrap;
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
  color: var(--aif-text-muted);
  opacity: 0.72;
}

@keyframes pw-marquee {
  to {
    transform: translateX(-50%);
  }
}

/* ── Closing CTA band ──────────────────────────────────────────── */
.pw-band {
  background: linear-gradient(135deg, var(--aif-brand-navy), var(--aif-accent));
  border-radius: var(--aif-radius-lg);
  padding: clamp(38px, 6vw, 64px);
  text-align: center;
  color: var(--aif-on-accent);
  box-shadow: var(--pw-shadow-lg);
}

.pw-band h2 {
  color: var(--aif-on-accent);
}

.pw-band p {
  color: rgba(255, 255, 255, 0.85);
  margin: 14px auto 0;
  max-width: 46ch;
}

.pw-band .pw-btn--primary {
  background: var(--aif-on-accent);
  color: var(--aif-accent);
  margin-top: 26px;
}

.pw-band .pw-btn--primary:hover {
  background: var(--aif-surface-hover);
  color: var(--aif-accent);
}

/* Motion opt-out — everything settles into its final state, no animation. */
@media (prefers-reduced-motion: reduce) {
  .pw-js .pw-sp__row,
  .pw-sp__row,
  .pw-js .pw-sp__insight,
  .pw-sp__insight {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .pw-js .pw-sp__chart polyline,
  .pw-sp__chart polyline {
    stroke-dashoffset: 0;
    transition: none;
  }

  .pw-marquee__track {
    animation: none;
    transform: none;
  }
}


/* ── Responsive ────────────────────────────────────────────────── */
@media (min-width: 720px) {
  .pw-stats {
    grid-template-columns: repeat(3, 1fr);
  }

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

@media (min-width: 940px) {
  .pw-hero__grid {
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(32px, 5vw, 64px);
  }

  .pw-steps {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 860px) {
  .pw-feature--split {
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: center;
  }

  .pw-feature--split.pw-feature--reverse .pw-feature__media {
    order: -1;
  }
}

@media (max-width: 520px) {
  .pw-fx__row {
    grid-template-columns: 1fr;
  }

  .pw-fx__swap {
    justify-self: center;
    transform: rotate(90deg);
  }
}

/* ═════════════════════════════════════════════════════════════════════
   SITE HEADER AND FOOTER — yours.

   These rules style templates/marketing/components/_site_header.html and
   _site_footer.html, which every public page now includes. They started as an
   exact copy of the old shared nav and footer rules, so nothing looks different
   today. Restyle them freely: they live here and nowhere else.

   One rule to keep: no :root block in this file. Theme-dependent rules use
   html[data-theme="dark"] / html[data-theme="light"], as the logo swap does.
   ═════════════════════════════════════════════════════════════════════ */

/* ── Top navigation ────────────────────────────────────────────── */
.pw-nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 50;
  background: transparent;
  border-bottom: 1px solid transparent;
  padding-top: clamp(16px, 3vw, 40px);
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, padding .25s ease;
}

.pw-nav.is-scrolled {
  background: var(--aif-surface);
  border-bottom-color: var(--aif-border);
  padding-top: 0;
  box-shadow: var(--pw-shadow-sm);
  backdrop-filter: blur(18px) saturate(130%);
}

/* At the top the header overlays the dark hero rather than occupying a white
   row above it. Scrolling restores the normal theme-aware chrome colours. */
.pw-nav:not(.is-scrolled) .pw-nav__links > .pw-nav__item > a,
.pw-nav:not(.is-scrolled) .pw-nav__menu-btn {
  color: rgba(255, 255, 255, .8);
}

.pw-nav:not(.is-scrolled) .pw-nav__links > .pw-nav__item > a:hover,
.pw-nav:not(.is-scrolled) .pw-nav__menu-btn:hover,
.pw-nav:not(.is-scrolled) .pw-nav__menu-btn[aria-expanded="true"] {
  background: rgba(255, 255, 255, .07);
  color: var(--aif-on-accent);
}

.pw-nav:not(.is-scrolled) .pw-nav__utility a {
  color: rgba(207, 215, 220, .7);
}

.pw-nav:not(.is-scrolled) .pw-nav__toggle {
  border-color: rgba(255, 255, 255, .2);
  color: var(--aif-on-accent);
}

.pw-nav__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 68px;
}

.pw-nav__brand {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 1.3rem;
  color: var(--aif-ink);
  letter-spacing: -0.01em;
}

.pw-nav__brand:hover {
  text-decoration: none;
}

.pw-nav__mark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--aif-accent);
  color: var(--aif-on-accent);
  font-weight: 800;
  font-size: 1.1rem;
}

.pw-nav__links {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  list-style: none;
  padding: 0;
}

.pw-nav__links a {
  display: inline-block;
  padding: 8px 12px;
  border-radius: var(--aif-radius-sm);
  color: var(--aif-text-muted);
  font-weight: 500;
  font-size: 0.95rem;
}

.pw-nav__links a:hover {
  background: var(--aif-surface-hover);
  color: var(--aif-text);
  text-decoration: none;
}

.pw-nav__links a[aria-current="page"] {
  color: var(--aif-accent);
  background: var(--aif-accent-soft);
}

.pw-nav__cta {
  margin-left: 8px;
}

/* Sitemap mega menus */
.pw-nav__mega {
  gap: 1.25rem;
}

.pw-nav__mega-intro {
  padding: 1.35rem;
  border-radius: var(--aif-radius-sm);
  background: var(--aif-ink);
  color: var(--aif-grey-blue);
}

.pw-nav__mega-intro strong { display: block; color: var(--aif-on-accent); font-size: 1.15rem; line-height: 1.3; }
.pw-nav__mega-intro p { margin: .6rem 0 1rem; font-size: .86rem; }
.pw-nav__mega-intro a { padding: 0; color: var(--aif-gold); font-weight: 700; }
.pw-nav__mega-group > span { display: block; margin: .25rem .65rem .6rem; color: var(--aif-brand-steel); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pw-nav__mega-group a { padding: .55rem .65rem; }
.pw-nav__mega-group strong, .pw-nav__mega-group small { display: block; }
.pw-nav__mega-group small { margin-top: .1rem; color: var(--aif-text-muted); font-size: .72rem; font-weight: 400; }

/* ── Nav dropdown ───────────────────────────────────── */
/* "Resources" is the one grouped nav item (Blog + Help Centre). It is a real
 * <button aria-expanded aria-controls> rather than a hover target: a hover-only
 * menu is unreachable by keyboard and unusable on touch, and the blog was
 * previously unreachable from the site at all.
 *
 * THREE STATES, ONE MECHANISM. The panel is shown by:
 *   * `:focus-within` — the no-JS keyboard fallback. Tabbing to the button (or
 *     into the panel) reveals it, so the links are reachable even if nav.js
 *     never runs.
 *   * `aria-expanded="true"` — the JS state, once nav.js has stamped
 *     `.pw-nav--js` on the header. From that point aria-expanded is the SOLE
 *     source of truth and the focus-within rule is switched off, because
 *     Escape-to-close returns focus to the button and focus-within would
 *     otherwise hold the panel open against the user's request.
 * The layout differs per breakpoint (floating panel on desktop, indented block
 * inside the existing burger panel on mobile) but the state machine does not —
 * there is no second toggle system on mobile.
 */
.pw-nav__item--menu {
  position: relative;
}

.pw-nav__menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: inherit;
  font-weight: 500;
  font-size: 0.95rem;
  line-height: inherit;
  padding: 8px 12px;
  border: 0;
  border-radius: var(--aif-radius-sm);
  background: none;
  color: var(--aif-text-muted);
  cursor: pointer;
}

.pw-nav__menu-btn:hover {
  background: var(--aif-surface-hover);
  color: var(--aif-text);
}

.pw-nav__menu-btn:focus-visible {
  outline: 2px solid var(--aif-accent);
  outline-offset: 2px;
}

/* The section is "current" for both of its children (blog + help centre). */
.pw-nav__menu-btn[aria-current] {
  color: var(--aif-accent);
  background: var(--aif-accent-soft);
}

.pw-nav__chev {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentcolor;
  transition: transform 0.15s ease;
}

.pw-nav__menu-btn[aria-expanded="true"] .pw-nav__chev {
  transform: rotate(180deg);
}

.pw-nav__menu {
  list-style: none;
  margin: 0;
  display: none;
}

/* Submenu links are full-width rows, not the inline pills the top row uses. */
.pw-nav__menu a {
  display: block;
}

.pw-nav__item--menu:focus-within .pw-nav__menu {
  display: block;
}

/* JS present → aria-expanded alone decides. Order matters: this pair must
   follow the focus-within rule so the closed state can win. */
.pw-nav--js .pw-nav__item--menu:focus-within .pw-nav__menu {
  display: none;
}

.pw-nav--js .pw-nav__menu-btn[aria-expanded="true"] + .pw-nav__menu {
  display: block;
}

.pw-nav__toggle {
  display: none;
  margin-left: auto;
  background: none;
  border: 1px solid var(--aif-border-light);
  border-radius: var(--aif-radius-sm);
  padding: 8px 10px;
  cursor: pointer;
  color: var(--aif-text);
  font-size: 1.1rem;
  line-height: 1;
}

/* ── Footer ────────────────────────────────────────────────────── */
.pw-footer {
  background: var(--aif-ink);
  color: var(--aif-grey-blue);
  padding-block: 56px 32px;
}

.pw-footer a {
  color: var(--aif-grey-blue);
}

.pw-footer a:hover {
  color: var(--aif-on-accent);
}

.pw-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 32px;
}

.pw-footer__brand .pw-nav__brand {
  color: var(--aif-on-accent);
}

.pw-footer__tag {
  margin-top: 12px;
  font-size: 0.92rem;
  max-width: 34ch;
}

.pw-footer__col h4 {
  color: var(--aif-gold);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
}

.pw-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
  font-size: 0.92rem;
}

.pw-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.85rem;
}

.pw-footer__legal {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

/* ── Brand logo theme-swap, login link, desktop submenu ────────── */
/* These style the shared nav and footer, not the home page. */
.pw-nav__logo {
  display: block;
  width: auto;
  height: 48px;
  max-width: min(215px, 32vw);
  transform-origin: left center;
  transition: transform .25s ease;
}

.pw-nav.is-scrolled .pw-nav__logo {
  transform: scale(.88);
}

.pw-nav__logo--on-light {
  display: none;
}

.pw-nav.is-scrolled .pw-nav__logo--on-dark {
  display: none;
}

.pw-nav.is-scrolled .pw-nav__logo--on-light {
  display: block;
}

@media (prefers-color-scheme: dark) {
  .pw-nav.is-scrolled .pw-nav__logo--on-dark {
    display: block;
  }

  .pw-nav.is-scrolled .pw-nav__logo--on-light {
    display: none;
  }
}

html[data-theme="dark"] .pw-nav.is-scrolled .pw-nav__logo--on-dark {
  display: block;
}

html[data-theme="dark"] .pw-nav.is-scrolled .pw-nav__logo--on-light {
  display: none;
}

html[data-theme="light"] .pw-nav.is-scrolled .pw-nav__logo--on-dark {
  display: none;
}

html[data-theme="light"] .pw-nav.is-scrolled .pw-nav__logo--on-light {
  display: block;
}

.pw-footer__logo {
  height: 34px;
  width: auto;
  display: block;
}

/* Show the dark-ink mark on a light background; swap to the light-blue mark
   when the surface is dark. The footer is a dark band in both themes, so its
   logo is always the light-blue mark (handled in markup, no swap class). */
.pw-nav__logo--dark {
  display: none;
}

@media (prefers-color-scheme: dark) {
  .pw-nav__logo--light {
    display: none;
  }

  .pw-nav__logo--dark {
    display: block;
  }
}

html[data-theme="dark"] .pw-nav__logo--light {
  display: none;
}

html[data-theme="dark"] .pw-nav__logo--dark {
  display: block;
}

html[data-theme="light"] .pw-nav__logo--light {
  display: block;
}

html[data-theme="light"] .pw-nav__logo--dark {
  display: none;
}

/* "Log in" divider link in the nav */
.pw-nav__login {
  color: var(--aif-text) !important;
  font-weight: 600;
}

@media (min-width: 821px) {
  .pw-nav__login {
    margin-left: 6px;
    padding-left: 16px;
    border-left: 1px solid var(--aif-border);
    border-radius: 0;
  }

  /* Desktop: the submenu floats under its button. */
  .pw-nav__menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 60;
    min-width: 208px;
    padding: 6px;
    background: var(--aif-surface);
    border: 1px solid var(--aif-border);
    border-radius: var(--aif-radius);
    box-shadow: var(--pw-shadow);
  }

  .pw-nav__item--mega { position: static; }
  .pw-nav__mega {
    top: 62px;
    left: 50%;
    width: min(980px, calc(100vw - 2rem));
    min-width: 0;
    transform: translateX(-50%);
    grid-template-columns: 1.05fr 1.35fr 1.15fr;
    padding: .85rem;
  }
  .pw-nav--js .pw-nav__menu-btn[aria-expanded="true"] + .pw-nav__mega,
  .pw-nav__item--mega:focus-within .pw-nav__mega { display: grid; }
  .pw-nav--js .pw-nav__item--mega:focus-within .pw-nav__mega { display: none; }
  .pw-nav--js .pw-nav__menu-btn[aria-expanded="true"] + .pw-nav__mega { display: grid; }
  .pw-nav__mega--audience { width: min(680px, calc(100vw - 2rem)); grid-template-columns: 1fr 1.2fr; }
  .pw-nav__mega--resources { width: min(720px, calc(100vw - 2rem)); grid-template-columns: repeat(3, 1fr); }
}

/* ── Responsive: mobile nav + footer ───────────────────────────── */
@media (max-width: 820px) {
  .pw-nav__links {
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    background: var(--aif-surface);
    border-bottom: 1px solid var(--aif-border);
    padding: 12px var(--pw-gutter) 18px;
  }

  .pw-nav__links.is-open {
    display: flex;
  }

  .pw-nav__toggle {
    display: inline-block;
  }

  .pw-nav__cta {
    margin-left: 0;
  }

  /* Mobile: the submenu is an indented block INSIDE the burger panel — the
     same #pw-primary-nav the toggle already opens, not a second overlay. */
  .pw-nav__menu-btn {
    width: 100%;
    justify-content: space-between;
  }

  .pw-nav__menu {
    margin: 2px 0 6px 12px;
    padding: 0 0 0 12px;
    border-left: 2px solid var(--aif-border);
  }

  .pw-nav__mega { padding: .5rem; }
  .pw-nav__mega-intro { display: none; }
  .pw-nav__mega-group + .pw-nav__mega-group { margin-top: .75rem; }

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

/* ── Reference-aligned mega navigation ──────────────────────────
   Mirrors the layout and interaction treatment of the approved
   insivia.app/prokurio reference while retaining this site's routes/tokens. */
body::before {
  position: fixed;
  z-index: 45;
  inset: 0;
  visibility: hidden;
  background: rgba(0, 12, 27, .12);
  /* Blur behind the overlay without changing the containing block of pinned sections. */
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  opacity: 0;
  content: "";
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
}

body.pw-mega-menu-open::before {
  visibility: visible;
  opacity: 1;
}

.pw-nav {
  z-index: 50;
}

.pw-nav__inner {
  position: relative;
  min-height: 88px;
}

.pw-nav__panel {
  display: flex;
  align-self: stretch;
  align-items: center;
  gap: clamp(1rem, 2vw, 2rem);
  margin-left: auto;
}

.pw-nav__links {
  align-self: center;
  margin: 0;
}

.pw-nav__actions {
  position: relative;
  display: flex;
  align-self: stretch;
  align-items: center;
  gap: .8rem;
}

.pw-nav__brand,
.pw-nav__links > .pw-nav__item > a,
.pw-nav__menu-btn,
.pw-nav__primary-cta {
  transform: translateY(12px);
  transition: transform .25s ease;
}

.pw-nav.is-scrolled .pw-nav__brand,
.pw-nav.is-scrolled .pw-nav__links > .pw-nav__item > a,
.pw-nav.is-scrolled .pw-nav__menu-btn,
.pw-nav.is-scrolled .pw-nav__primary-cta {
  transform: translateY(0);
}

.pw-nav__utility {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: .9rem;
  max-height: 36px;
  padding: 8px 0 4px;
  overflow: hidden;
  opacity: 1;
  transition: max-height .2s ease, padding .2s ease, opacity .15s ease, transform .2s ease;
}

.pw-nav.is-scrolled .pw-nav__utility {
  max-height: 0;
  padding: 0;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}

.pw-nav__utility a {
  position: relative;
  padding: 0;
  color: var(--aif-text-dim);
  font-size: .72rem;
  font-weight: 400;
}

.pw-nav__utility a + a::before {
  position: absolute;
  top: 50%;
  left: -.5rem;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: var(--aif-text-dim);
  content: "";
}

.pw-nav__primary-cta {
  min-height: 44px;
  padding: .75rem 1.1rem;
  border-radius: 4px;
  font-size: .82rem;
  white-space: nowrap;
}

.pw-nav__primary-cta > span,
.pw-resource-cta .pw-btn > span {
  width: 9px;
  height: 9px;
  border-top: 1px solid currentcolor;
  border-right: 1px solid currentcolor;
  transform: rotate(45deg);
  transition: transform .25s ease;
}

.pw-nav__primary-cta:hover > span,
.pw-resource-cta .pw-btn:hover > span {
  transform: translateX(3px) rotate(45deg);
}

.pw-nav__mega {
  color: var(--aif-on-accent);
}

.pw-nav__mega-label {
  display: block;
  margin: 0 0 1rem;
  color: var(--aif-gold);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pw-nav__capabilities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem .6rem;
}

.pw-nav__capabilities a {
  display: grid;
  gap: .3rem;
  padding: .85rem;
  border-radius: 5px;
  color: inherit;
  transition: background .25s ease, transform .25s ease;
}

.pw-nav__capabilities a:hover {
  background: rgba(255, 255, 255, .07);
  color: inherit;
  text-decoration: none;
  transform: translateX(3px);
}

.pw-nav__capabilities strong {
  color: var(--aif-on-accent);
  font-size: .98rem;
}

.pw-nav__capabilities small {
  color: var(--aif-grey-blue);
  font-size: .83rem;
  font-weight: 300;
  line-height: 1.55;
}

.pw-nav__mega--platform .pw-nav__capabilities small {
  color: #92a2ac;
  font-size: .93rem;
  font-weight: 500;
}

.pw-nav__mega--platform .pw-nav__mega-side .pw-nav__mega-label {
  margin: 0 0 .5rem;
}

.pw-nav__mega--platform .pw-nav__mega-side a + .pw-nav__mega-label {
  margin-top: 30px;
}

.pw-nav__mega-side {
  border-left: 1px solid rgba(255, 255, 255, .12);
  padding-left: 2rem;
}

.pw-nav__mega-side a,
.pw-nav__resource-column a {
  display: block;
  padding: .52rem .6rem;
  border-radius: 4px;
  color: var(--aif-grey-blue);
  font-size: .88rem;
  transition: background .2s ease, color .2s ease;
}

.pw-nav__mega-side a:hover,
.pw-nav__resource-column a:hover {
  background: rgba(255, 255, 255, .07);
  color: var(--aif-on-accent);
  text-decoration: none;
}

.pw-nav__audience-card,
.pw-nav__resource-cta {
  display: flex !important;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 6px;
  color: inherit !important;
  padding: 1.5rem !important;
  text-decoration: none;
}

.pw-nav__audience-card {
  min-height: 270px;
  transition: transform .3s ease, border-color .3s ease;
}

.pw-nav__audience-card--law { background: linear-gradient(145deg, rgba(18, 80, 155, .55), rgba(0, 29, 58, .45)); }
.pw-nav__audience-card--corporate { background: linear-gradient(145deg, rgba(56, 131, 206, .38), rgba(0, 29, 58, .52)); }
.pw-nav__audience-card:hover { border-color: rgba(49, 208, 205, .42); text-decoration: none; transform: translateY(-3px); }
.pw-nav__audience-card small,
.pw-nav__resource-cta small { color: var(--aif-gold); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pw-nav__audience-card strong,
.pw-nav__resource-cta strong { margin-top: .75rem; color: var(--aif-on-accent); font-size: 1.25rem; line-height: 1.35; }
.pw-nav__audience-card > span { margin-top: .75rem; color: var(--aif-grey-blue); font-size: .82rem; font-weight: 300; line-height: 1.6; }
.pw-nav__audience-card b,
.pw-nav__resource-cta > span { margin-top: auto; color: var(--aif-on-accent); font-size: .82rem; }
.pw-nav__audience-card i,
.pw-nav__resource-cta i { margin-left: .4rem; color: var(--aif-teal); font-size: 1.2rem; font-style: normal; }

.pw-nav__resource-column + .pw-nav__resource-column {
  border-left: 1px solid rgba(255, 255, 255, .1);
  padding-left: 1.2rem;
}

.pw-nav__resource-cta {
  min-height: 220px;
  border-color: rgba(232, 86, 38, .36);
  background: linear-gradient(145deg, rgba(232, 86, 38, .22), rgba(18, 80, 155, .2));
}

@media (min-width: 1101px) {
  .pw-nav__menu {
    top: calc(100% + 1.25rem);
    right: var(--pw-gutter);
    left: auto;
    display: grid !important;
    visibility: hidden;
    width: min(1180px, calc(100vw - (var(--pw-gutter) * 2)));
    padding: clamp(1.5rem, 2.5vw, 2.5rem);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 7px;
    background: radial-gradient(circle at 88% 0%, rgba(56, 131, 206, .1), transparent 34%), rgba(0, 12, 27, .99);
    opacity: 0;
    box-shadow: 0 32px 80px rgba(0, 5, 14, .48);
    transform: translateY(10px);
    transition: opacity .25s ease, transform .3s ease, visibility .3s ease;
    pointer-events: none;
    backdrop-filter: blur(20px) saturate(130%);
  }

  .pw-nav__menu-btn[aria-expanded="true"] + .pw-nav__menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .pw-nav__mega--platform { width: min(1420px, calc(100vw - (var(--pw-gutter) * 2))); grid-template-columns: minmax(0, 3fr) minmax(330px, .82fr); gap: clamp(2rem, 3vw, 3.25rem); }
  .pw-nav__mega--platform .pw-nav__capabilities a { padding-right: 25%; }
  .pw-nav__mega--platform .pw-nav__capabilities a:nth-child(2) { padding-right: 15%; }
  .pw-nav__mega--audience { width: min(780px, calc(100vw - (var(--pw-gutter) * 2))); grid-template-columns: minmax(0, 1.45fr) minmax(240px, .8fr); gap: 1rem; }
  .pw-nav__mega--resources { grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(220px, 1.15fr); gap: 1.4rem; }
}

@media (max-width: 1100px) {
  .pw-nav__inner { min-height: 72px; }
  .pw-nav__brand { align-self: center; }
  .pw-nav__logo { height: 42px; }
  .pw-nav__brand,
  .pw-nav__links > .pw-nav__item > a,
  .pw-nav__menu-btn,
  .pw-nav__primary-cta { transform: none; }

  .pw-nav__toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    padding: 0;
  }

  .pw-nav__toggle span { display: block; width: 20px; height: 1.5px; background: currentcolor; transition: transform .3s ease, opacity .3s ease; }
  .pw-nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .pw-nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .pw-nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  .pw-nav__panel {
    position: absolute;
    top: calc(100% + .75rem);
    right: var(--pw-gutter);
    display: none;
    width: min(440px, calc(100vw - 2rem));
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 7px;
    background: rgba(0, 20, 42, .99);
    padding: 1rem;
    box-shadow: 0 28px 70px rgba(0, 5, 14, .48);
  }

  .pw-nav__panel.is-open { display: flex; }
  .pw-nav__links { display: flex; position: static; flex-direction: column; align-items: stretch; gap: 2px; padding: 0; background: none; border: 0; }
  .pw-nav__links a,
  .pw-nav__menu-btn { color: var(--aif-grey-blue); }
  .pw-nav__menu-btn { padding: .85rem; }
  .pw-nav__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .pw-nav__utility { position: static; justify-content: center; }
  .pw-nav__primary-cta { justify-content: center; }
  .pw-nav__menu { position: static; display: none; visibility: visible; width: 100%; margin: .4rem 0 0; padding: 1rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 7px; background: rgba(0, 12, 27, .72); opacity: 1; box-shadow: none; transform: none; }
  .pw-nav--js .pw-nav__menu-btn[aria-expanded="true"] + .pw-nav__menu { display: grid; }
  .pw-nav__mega--platform,
  .pw-nav__mega--audience,
  .pw-nav__mega--resources,
  .pw-nav__capabilities { grid-template-columns: 1fr; }
  .pw-nav__mega-side,
  .pw-nav__resource-column + .pw-nav__resource-column { border-top: 1px solid rgba(255, 255, 255, .1); border-left: 0; padding-top: 1rem; padding-left: 0; }
  .pw-nav__audience-card { min-height: 220px; }
  .pw-nav__resource-cta { min-height: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  .pw-nav,
  .pw-nav__utility,
  .pw-nav__brand,
  .pw-nav__links > .pw-nav__item > a,
  .pw-nav__menu-btn,
  .pw-nav__primary-cta,
  .pw-nav__logo,
  .pw-nav__menu,
  .pw-nav__audience-card,
  .pw-nav__capabilities a,
  body::before { transition: none; }
}

/* ── Sitemap interior pages ───────────────────────────────────── */
.pw-detail-hero { position: relative; overflow: hidden; padding-block: clamp(64px, 9vw, 112px); background: var(--aif-ink); color: var(--aif-on-accent); }
.pw-detail-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 25%, var(--aif-accent-glow), transparent 34%), linear-gradient(135deg, transparent 45%, rgba(255,255,255,.035) 45% 46%, transparent 46%); pointer-events: none; }
.pw-detail-hero--gold::before { background: radial-gradient(circle at 75% 25%, rgba(227,184,52,.22), transparent 34%); }
.pw-detail-hero--teal::before { background: radial-gradient(circle at 75% 25%, rgba(14,143,140,.25), transparent 34%); }
.pw-detail-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.pw-detail-hero__copy h1 { color: var(--aif-on-accent); font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1.02; letter-spacing: -.045em; }
.pw-detail-hero__copy > p { max-width: 38rem; margin: 1.4rem 0 2rem; color: var(--aif-grey-blue); font-size: 1.16rem; }
.pw-detail-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem; }
.pw-detail-link { color: var(--aif-on-accent); font-weight: 700; }
.pw-detail-visual { overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 18px; background: rgba(255,255,255,.08); box-shadow: 0 30px 90px rgba(0,0,0,.3); transform: perspective(900px) rotateY(-3deg) rotateX(2deg); backdrop-filter: blur(12px); }
.pw-detail-visual__bar { display: flex; align-items: center; gap: .4rem; padding: .8rem 1rem; border-bottom: 1px solid rgba(255,255,255,.12); color: var(--aif-grey-blue); font-size: .72rem; }
.pw-detail-visual__bar i { width: 7px; height: 7px; border-radius: 50%; background: var(--aif-brand-steel); }
.pw-detail-visual__bar span { margin-left: auto; }
.pw-detail-visual__canvas { display: grid; grid-template-columns: 1fr 1.45fr; gap: 1rem; min-height: 330px; padding: 1.4rem; }
.pw-detail-visual__metric, .pw-detail-visual__answer { padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(0,0,0,.12); }
.pw-detail-visual__metric small, .pw-detail-visual__metric span { display: block; color: var(--aif-grey-blue); }
.pw-detail-visual__metric strong { display: block; margin: .35rem 0; color: var(--aif-on-accent); font-size: 2rem; }
.pw-detail-visual__chart { display: flex; align-items: end; gap: .55rem; padding: 1.3rem; border-radius: 10px; background: rgba(255,255,255,.06); }
.pw-detail-visual__chart i { flex: 1; height: 32%; border-radius: 4px 4px 0 0; background: var(--aif-accent); }
.pw-detail-visual__chart i:nth-child(2) { height: 48%; }.pw-detail-visual__chart i:nth-child(3) { height: 41%; }.pw-detail-visual__chart i:nth-child(4) { height: 67%; }.pw-detail-visual__chart i:nth-child(5) { height: 73%; }.pw-detail-visual__chart i:nth-child(6) { height: 92%; background: var(--aif-gold); }
.pw-detail-visual__answer { grid-column: 1 / -1; display: flex; align-items: center; gap: .8rem; color: var(--aif-on-accent); }
.pw-detail-visual__answer b { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--aif-teal-deep); }
.pw-detail-intro { max-width: 760px; margin-bottom: 3rem; }
.pw-detail-intro > p { color: var(--aif-text-muted); font-size: 1.1rem; }
.pw-detail-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.pw-detail-cards article { min-height: 250px; padding: 2rem; border: 1px solid var(--aif-border); border-radius: var(--aif-radius); background: var(--aif-surface); box-shadow: var(--pw-shadow); }
.pw-detail-cards article > span { display: inline-block; margin-bottom: 2.5rem; color: var(--aif-brand-steel); font-weight: 800; }
.pw-detail-cards article p { color: var(--aif-text-muted); }
.pw-detail-outcome { padding-block: clamp(55px, 8vw, 90px); background: var(--aif-ink); color: var(--aif-grey-blue); }
.pw-detail-outcome__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; }
.pw-detail-outcome h2 { color: var(--aif-on-accent); max-width: 15ch; }
.pw-detail-outcome p { max-width: 50ch; font-size: 1.1rem; }
.pw-detail-steps { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; }
.pw-detail-steps ol { list-style: none; margin: 0; padding: 0; }
.pw-detail-steps li { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid var(--aif-border); color: var(--aif-text-muted); }
.pw-detail-steps li b { color: var(--aif-brand-steel); }.pw-detail-steps li strong { display: block; margin-bottom: .2rem; color: var(--aif-text); }
@media (max-width: 900px) { .pw-detail-hero__grid { grid-template-columns: 1fr; }.pw-detail-visual { max-width: 650px; }.pw-detail-cards { grid-template-columns: 1fr 1fr; }.pw-detail-outcome__inner, .pw-detail-steps { grid-template-columns: 1fr; gap: 2rem; } }
@media (max-width: 600px) { .pw-detail-visual__canvas { grid-template-columns: 1fr; min-height: 280px; }.pw-detail-visual__chart { min-height: 150px; }.pw-detail-visual__answer { grid-column: auto; }.pw-detail-cards { grid-template-columns: 1fr; } }

@media (max-width: 520px) {
  .pw-footer__grid {
    grid-template-columns: 1fr;
  }
}

/* ── Homepage redesign (see HOMEPAGE-REDESIGN-PLAN.md) ──────────── */
/* Module 1: hero. Centered dark hero + a 6-item scene list driving an
   auto-rotating product showcase built from the "screens" partials in
   templates/marketing/components/screens/. Reusable component patterns (the
   .pw-app-window chassis, mini-charts) so later modules/pages share them. */

.pw-hero--dark {
  position: relative;
  overflow: hidden;
  background: var(--aif-ink);
  color: var(--aif-on-accent);
  text-align: center;
  padding-block: clamp(56px, 9vw, 104px);
}

.pw-hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: var(--aif-ink);
  pointer-events: none;
}

/* Bottom fade: blends the dark hero into the page surface below it
   (--aif-surface — white in light mode, near-navy in dark). Targets the
   page background, not the proof card's pinned white (.pw-proof), because
   the card sits inset with a margin gap of page background above it — fading
   to white would land the fade back on dark surface before the white card
   starts, in dark mode. Sits above the video/media layer (z-index 0) but
   below the copy content (z-index 2). */
.pw-hero--dark::after {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: clamp(6rem, 16vw, 12rem);
  background: linear-gradient(to bottom, transparent, var(--aif-surface));
  content: "";
  pointer-events: none;
}

.pw-hero__media::after,
.pw-launch-atmosphere__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, var(--aif-ink) 0%, rgba(0, 29, 58, 0.15) 20%, rgba(0, 29, 58, 0.22) 68%, var(--aif-ink) 100%),
    linear-gradient(to right, rgba(0, 29, 58, 0.12), rgba(0, 29, 58, 0.25));
  content: "";
}

.pw-hero__video,
.pw-launch-background-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
  filter: grayscale(1) sepia(1) saturate(5) hue-rotate(165deg) brightness(0.92) contrast(1.1);
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 72%, transparent 100%);
}

.pw-hero > .pw-container,
.pw-detail-hero > .pw-container {
  position: relative;
  z-index: 2;
  padding-top: clamp(7rem, 10vw, 9rem);
}

@media (prefers-reduced-motion: reduce) {
  .pw-hero__media {
    display: none;
  }

  .pw-hero__cta {
    transition: none;
  }
}

.pw-hero--dark .pw-hero__title {
  max-width: none;
  text-wrap: balance;
  margin-inline: auto;
  font-size: clamp(2.5rem, 4.35vw, 5.1rem);
  font-weight: 900;
  line-height: 1.27;
}

.pw-hero__copy {
  width: min(100%, 70rem);
  margin-inline: auto;
}

.pw-hero--dark .pw-page-hero__lede {
  max-width: none;
  margin: 16px auto 0;
  color: var(--aif-grey-blue);
  font-size: clamp(1.1rem, 1.55vw, 1.55rem);
  font-weight: 500;
  line-height: 1.6;
}

.pw-hero__cta {
  position: relative;
  z-index: 2;
  display: inline-flex;
  min-width: 15.5rem;
  min-height: 2.688rem;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  margin-top: 32px;
  padding: 0.9em 1.8em;
  border-radius: var(--aif-radius-sm);
  background: var(--aif-orange);
  color: var(--aif-on-accent);
  font-weight: 700;
  font-size: 1.05rem;
  text-decoration: none;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.pw-hero__cta:hover {
  background: color-mix(in srgb, var(--aif-orange) 85%, white);
  transform: translateY(-2px);
  text-decoration: none;
  color: var(--aif-on-accent);
}

.pw-hero__cta:focus-visible {
  outline: 3px solid var(--aif-on-accent);
  outline-offset: 4px;
}

/* ── Scene list + product showcase stage ────────────────────────── */
.pw-scenes {
  position: relative;
  display: grid;
  grid-template-areas:
    "labels"
    "stage";
  grid-template-rows: auto minmax(0, 570px);
  width: min(98%, 82rem);
  margin: clamp(24px, 3vw, 40px) auto 0;
  isolation: isolate;
  text-align: left;
}

.pw-scenes::before {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 5, 14, 0.32) 0%, rgba(0, 5, 14, 0.18) 36%, transparent 68%);
  filter: blur(18px);
  content: "";
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.pw-scenes__nav {
  grid-area: labels;
  width: min(100%, 76rem);
  justify-self: center;
  padding: 0 0 0.8rem;
}

.pw-scene-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pw-scene-list__item {
  position: relative;
  width: 100%;
  min-height: 62px;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.3);
  font: inherit;
  font-size: clamp(0.72rem, 0.88vw, 0.84rem);
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
  padding: 0.7rem 1.65rem 0.7rem 0.35rem;
}

button.pw-scene-list__item {
  cursor: pointer;
  transition: color 0.16s ease;
}

/* Vertical divider between items — sits at the right edge of every item
   except the last, matching the reference's row layout (was a left-edge
   active-state accent bar in the old vertical-list version). */
.pw-scene-list__item::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.15rem;
  width: 1.25rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-50%);
}

.pw-scene-list__item:last-child::before {
  display: none;
}

button.pw-scene-list__item:hover,
button.pw-scene-list__item:focus-visible,
.pw-scene-list__item.is-active {
  color: var(--aif-on-accent);
}

button.pw-scene-list__item:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}

.pw-scene-list__item--static {
  color: rgba(255, 255, 255, 0.3);
  cursor: default;
}

.pw-scenes__stage {
  grid-area: stage;
  position: relative;
  min-width: 0;
  width: min(100%, 76rem);
  justify-self: center;
  overflow: visible;
}

.pw-scene {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.42s ease,
    visibility 0.42s;
}

.pw-scene.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

/* Freeze any looping CSS animation on an inactive scene, so switching back
   restarts it from the beginning rather than resuming mid-loop. */
.pw-scene:not(.is-active),
.pw-scene:not(.is-active) * {
  animation-play-state: paused !important;
}

/* ── Shared "app window" chassis — every screen graphic in
   components/screens/ and the later intelligence-explorer visual reuse this. */
.pw-app-window {
  position: absolute;
  inset: clamp(16px, 3vw, 36px);
  overflow: hidden;
  border: 1px solid var(--aif-border-light);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-surface);
  color: var(--aif-text);
  box-shadow: 0 20px 50px rgba(0, 12, 28, 0.32);
  font-size: 12px;
}

.pw-app-window__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid var(--aif-border);
  background: color-mix(in srgb, var(--aif-surface) 88%, transparent);
  color: var(--aif-text-muted);
  font-size: 10px;
  font-weight: 600;
}

.pw-app-window__dots {
  display: flex;
  gap: 4px;
}

.pw-app-window__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--aif-grey-blue);
}

.pw-app-window__dots i:first-child {
  background: var(--aif-orange);
}

.pw-app-window__title {
  text-align: center;
}

.pw-app-window__status {
  justify-self: end;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--aif-surface-2);
  color: var(--aif-text-muted);
  font-size: 9px;
}

.pw-app-window__status--ready {
  background: color-mix(in srgb, var(--aif-teal) 16%, transparent);
  color: var(--aif-teal-deep);
}

.pw-eyebrow--sm {
  font-size: 0.62rem;
  margin-bottom: 0.4em;
}

/* ── Forecast scene: request card + resulting dashboard ─────────── */
.pw-app-window--request,
.pw-app-window--forecast {
  animation-duration: 12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  opacity: 0;
}

.pw-app-window--request {
  animation-name: pw-request-scene;
}

.pw-app-window--forecast {
  animation-name: pw-forecast-scene;
}

.pw-request-card {
  padding: clamp(16px, 3vw, 28px);
}

.pw-request-card h3,
.pw-forecast-dash__head h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
}

.pw-request-card p {
  margin: 0 0 16px;
  color: var(--aif-text-muted);
  font-size: 0.85rem;
}

.pw-country-field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--aif-border-light);
  border-radius: var(--aif-radius-sm);
  color: var(--aif-text-muted);
  font-size: 0.8rem;
}

.pw-country-field__value {
  margin-left: auto;
  color: var(--aif-text);
}

.pw-country-menu {
  display: grid;
  gap: 2px;
  margin-top: 8px;
  padding: 6px;
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-surface-2);
}

.pw-country-menu span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 4px;
  color: var(--aif-text);
  font-size: 0.78rem;
}

.pw-country-menu i {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 16px;
  border-radius: 3px;
  background: var(--aif-surface);
  border: 1px solid var(--aif-border);
  font-style: normal;
  font-size: 0.62rem;
  color: var(--aif-text-dim);
}

.pw-country-menu b {
  margin-left: auto;
  color: var(--aif-teal-deep);
}

.pw-selected-countries {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.pw-selected-countries span {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--aif-accent-chip);
  color: var(--aif-accent);
  font-size: 0.72rem;
  font-weight: 600;
}

.pw-forecast-btn {
  display: block;
  width: 100%;
  margin-top: 18px;
  padding: 0.7em;
  border: 0;
  border-radius: var(--aif-radius-sm);
  background: var(--aif-ink);
  color: var(--aif-on-accent);
  font: inherit;
  font-weight: 600;
  cursor: default;
}

.pw-forecast-dash {
  padding: clamp(16px, 3vw, 28px);
}

.pw-forecast-dash__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.pw-forecast-dash__badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--aif-surface-2);
  color: var(--aif-text-muted);
  font-size: 0.7rem;
  font-weight: 700;
}

.pw-metric-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 16px;
}

.pw-metric-card {
  padding: 12px;
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-surface-2);
}

.pw-metric-card span {
  display: block;
  color: var(--aif-text-muted);
  font-size: 0.7rem;
}

.pw-metric-card strong {
  display: block;
  margin: 4px 0 2px;
  color: var(--aif-text);
  font-size: 1.1rem;
}

.pw-metric-card small {
  color: var(--aif-text-dim);
  font-size: 0.68rem;
}

.pw-forecast-visuals {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 10px;
}

.pw-forecast-chart {
  padding: 12px;
  border: 1px solid var(--aif-border);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-surface-2);
}

.pw-forecast-chart__title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  color: var(--aif-text-muted);
  font-size: 0.68rem;
}

.pw-bar-chart {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 70px;
}

.pw-bar-chart div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  height: 100%;
  justify-content: flex-end;
}

.pw-bar-chart span {
  display: block;
  width: 100%;
  height: var(--pw-bar);
  border-radius: 2px 2px 0 0;
  background: var(--aif-accent);
}

.pw-bar-chart div:nth-child(4) span,
.pw-bar-chart div:nth-child(5) span {
  background: var(--aif-teal);
}

.pw-bar-chart small {
  color: var(--aif-text-dim);
  font-size: 0.62rem;
}

.pw-country-share {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pw-country-share__donut {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: conic-gradient(
    var(--aif-accent) 0 48%,
    var(--aif-teal) 48% 80%,
    var(--aif-gold) 80% 100%
  );
}

.pw-country-share__donut span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--aif-surface-2);
  color: var(--aif-text-muted);
  font-size: 0.55rem;
  text-align: center;
}

.pw-country-share__donut strong {
  color: var(--aif-text);
  font-size: 0.85rem;
}

.pw-country-share__legend {
  display: grid;
  gap: 6px;
  font-size: 0.72rem;
  color: var(--aif-text-muted);
}

.pw-country-share__legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pw-country-share__legend b {
  margin-left: auto;
  color: var(--aif-text);
}

.pw-dot--us {
  background: var(--aif-accent);
}

.pw-dot--ep {
  background: var(--aif-teal);
}

.pw-dot--jp {
  background: var(--aif-gold);
}

.pw-dot--us,
.pw-dot--ep,
.pw-dot--jp,
.pw-dot--original,
.pw-dot--scenario {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
}

.pw-dot--original {
  background: var(--aif-accent);
}

.pw-dot--scenario {
  background: var(--aif-teal);
}

@keyframes pw-request-scene {
  0%,
  4% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  42%,
  46% {
    opacity: 0;
    transform: translateY(-10px) scale(0.98);
  }
  96%,
  100% {
    opacity: 0;
  }
}

@keyframes pw-forecast-scene {
  0%,
  42% {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  50%,
  92% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  100% {
    opacity: 0;
  }
}

/* ── What-if scene: scenario mini-charts + assistant chat ───────── */
.pw-app-window--whatif {
  display: block;
  padding: clamp(16px, 3vw, 24px);
  padding-top: 44px;
}

.pw-whatif-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(175px, 0.9fr);
  height: 100%;
  overflow: hidden;
}

.pw-scenario-panel {
  position: relative;
  min-width: 0;
  border-right: 1px solid var(--aif-border);
  background: linear-gradient(var(--aif-surface-2) 1px, transparent 1px), var(--aif-surface);
  background-size: 100% 25%;
  padding: clamp(14px, 2vw, 22px);
}

.pw-scenario-head {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.pw-scenario-head h3 {
  margin: 3px 0 0;
  color: var(--aif-ink);
  font-size: clamp(12px, 1.3vw, 16px);
}

.pw-scenario-legend {
  display: flex;
  gap: 8px;
  color: var(--aif-text-muted);
  font-size: 0.6rem;
}

.pw-scenario-legend span {
  display: flex;
  align-items: center;
  gap: 3px;
}

.pw-scenario-legend i {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background: var(--aif-border-light);
}

.pw-scenario-legend .pw-dot--scenario {
  background: var(--aif-sky);
}

/* Each chart absolutely fills the same area and cycles opacity/position on
   a shared 24s loop (see the whatif-japan/germany/china keyframes below) —
   only one is visible at a time, matching the reference exactly. */
.pw-scenario-chart {
  position: absolute;
  top: 68px;
  right: clamp(14px, 2vw, 22px);
  bottom: 16px;
  left: clamp(14px, 2vw, 22px);
  display: grid;
  grid-template-rows: 1fr auto;
  opacity: 0;
  transform: translateY(7px);
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.pw-scenario-chart--japan {
  animation-name: pw-whatif-japan;
}

.pw-scenario-chart--germany {
  animation-name: pw-whatif-germany;
}

.pw-scenario-chart--china {
  animation-name: pw-whatif-china;
}

.pw-scenario-chart > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 9px 0 0;
  color: var(--aif-text-muted);
  font-size: 0.62rem;
}

.pw-scenario-chart > p strong {
  color: var(--aif-accent);
  font-size: 0.68rem;
}

.pw-scenario-line-chart {
  display: grid;
  min-height: 0;
  grid-template-rows: 1fr 18px;
  overflow: hidden;
  border-bottom: 1px solid var(--aif-border-light);
}

.pw-scenario-line-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.pw-chart-grid {
  stroke: var(--aif-border);
  stroke-width: 1;
  fill: none;
}

.pw-chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: pw-whatif-line-draw 24s -12s ease-in-out infinite;
}

.pw-chart-line--original {
  stroke: var(--aif-border-light);
  stroke-width: 4;
}

.pw-chart-line--scenario {
  stroke: var(--aif-sky);
}

.pw-chart-line--delayed {
  stroke: var(--aif-teal);
}

.pw-chart-points {
  fill: var(--aif-sky);
  opacity: 0;
  animation: pw-whatif-chart-detail 24s -12s ease-in-out infinite;
}

.pw-chart-delay-area {
  fill: url(#pw-china-area);
  opacity: 0;
  animation: pw-whatif-chart-detail 24s -12s ease-in-out infinite;
}

.pw-chart-delay-marker {
  fill: none;
  stroke: var(--aif-orange);
  stroke-dasharray: 4 5;
  stroke-width: 2;
  opacity: 0;
  animation: pw-whatif-chart-detail 24s -12s ease-in-out infinite;
}

.pw-scenario-line-chart text {
  fill: var(--aif-orange);
  font-size: 10px;
  font-weight: 700;
  opacity: 0;
  animation: pw-whatif-chart-detail 24s -12s ease-in-out infinite;
}

.pw-scenario-years {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  color: var(--aif-text-muted);
  font-size: 0.6rem;
  text-align: center;
}

.pw-scenario-bars {
  display: flex;
  min-height: 0;
  gap: clamp(8px, 1.8vw, 20px);
  align-items: end;
  border-bottom: 1px solid var(--aif-border-light);
  padding: 5px 6% 0;
}

.pw-scenario-bars > div {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: 1fr 18px;
  align-items: end;
  justify-items: center;
}

.pw-scenario-bars i {
  position: relative;
  display: flex;
  width: min(74%, 38px);
  height: 100%;
  align-items: end;
  gap: 3px;
  font-style: normal;
}

.pw-scenario-bars i::before,
.pw-scenario-bars i::after {
  content: "";
  width: calc(50% - 1.5px);
  border-radius: 3px 3px 0 0;
  transform: scaleY(0);
  transform-origin: bottom;
  animation: pw-whatif-bars 24s -12s ease-out infinite;
}

.pw-scenario-bars i::before {
  height: var(--pw-original);
  background: var(--aif-border-light);
}

.pw-scenario-bars i::after {
  height: var(--pw-scenario);
  background: linear-gradient(to top, var(--aif-accent), var(--aif-sky));
}

.pw-scenario-bars small {
  align-self: center;
  color: var(--aif-text-muted);
  font-size: 0.6rem;
}

.pw-assistant-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  background: var(--aif-surface-2);
  padding: clamp(13px, 1.7vw, 18px);
}

.pw-assistant-head {
  display: flex;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid var(--aif-border);
  padding-bottom: 10px;
}

.pw-assistant-spark {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 7px;
  background: var(--aif-accent);
  color: var(--aif-gold);
  font-size: 12px;
}

.pw-assistant-head strong {
  display: block;
  color: var(--aif-ink);
  font-size: 0.72rem;
}

.pw-assistant-head small {
  color: var(--aif-text-muted);
  font-size: 0.62rem;
}

.pw-chat-stage {
  position: relative;
  min-height: 0;
}

.pw-chat-exchange {
  position: absolute;
  inset: 12px 0 5px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  opacity: 0;
  transform: translateY(6px);
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.pw-chat-exchange--japan {
  animation-name: pw-whatif-japan;
}

.pw-chat-exchange--germany {
  animation-name: pw-whatif-germany;
}

.pw-chat-exchange--china {
  animation-name: pw-whatif-china;
}

.pw-chat-q {
  align-self: end;
  max-width: 92%;
  margin: 0;
  border-radius: 8px 8px 2px 8px;
  background: var(--aif-ink);
  color: var(--aif-on-accent);
  font-size: clamp(0.6rem, 0.8vw, 0.7rem);
  line-height: 1.45;
  padding: 8px 9px;
  opacity: 0;
  transform: translateY(5px) scale(0.98);
}

.pw-chat-exchange--japan .pw-chat-q {
  animation: pw-question-in-japan 24s -12s ease-in-out infinite;
}

.pw-chat-exchange--germany .pw-chat-q {
  animation: pw-question-in-germany 24s -12s ease-in-out infinite;
}

.pw-chat-exchange--china .pw-chat-q {
  animation: pw-question-in-china 24s -12s ease-in-out infinite;
}

.pw-chat-a {
  border: 1px solid var(--aif-border);
  border-radius: 2px 8px 8px 8px;
  background: var(--aif-surface);
  color: var(--aif-text-muted);
  font-size: clamp(0.6rem, 0.8vw, 0.7rem);
  line-height: 1.55;
  padding: 9px 10px;
  clip-path: inset(0 0 100% 0);
  opacity: 0;
}

.pw-chat-exchange--japan .pw-chat-a {
  animation: pw-answer-stream-japan 24s -12s steps(8, end) infinite;
}

.pw-chat-exchange--germany .pw-chat-a {
  animation: pw-answer-stream-germany 24s -12s steps(8, end) infinite;
}

.pw-chat-exchange--china .pw-chat-a {
  animation: pw-answer-stream-china 24s -12s steps(8, end) infinite;
}

.pw-chat-a strong {
  color: var(--aif-accent);
}

.pw-chat-a span {
  display: block;
  margin-top: 5px;
  color: var(--aif-teal-deep);
  font-size: 0.6rem;
}

.pw-assistant-input {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
  border: 1px solid var(--aif-border-light);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-surface);
  color: var(--aif-text-dim);
  font-size: 0.68rem;
  padding: 5px 5px 5px 9px;
  overflow: hidden;
}

.pw-assistant-input b {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 4px;
  background: var(--aif-orange);
  color: var(--aif-on-accent);
}

.pw-assistant-input__placeholder,
.pw-typed-prompt {
  position: absolute;
  right: 34px;
  left: 9px;
  overflow: hidden;
  white-space: nowrap;
}

.pw-assistant-input__placeholder {
  animation: pw-prompt-placeholder 24s -12s linear infinite;
}

.pw-typed-prompt {
  color: var(--aif-text);
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  font-size: clamp(0.55rem, 0.72vw, 0.65rem);
  font-weight: 500;
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: steps(32, end);
  animation-iteration-count: infinite;
}

.pw-typed-prompt--japan {
  animation-name: pw-prompt-type-japan;
}

.pw-typed-prompt--germany {
  animation-name: pw-prompt-type-germany;
}

.pw-typed-prompt--china {
  animation-name: pw-prompt-type-china;
}

@keyframes pw-whatif-japan {
  0%, 4%, 31%, 100% { opacity: 0; transform: translateY(6px); }
  8%, 27% { opacity: 1; transform: translateY(0); }
}

@keyframes pw-whatif-germany {
  0%, 30%, 36%, 63%, 100% { opacity: 0; transform: translateY(6px); }
  40%, 59% { opacity: 1; transform: translateY(0); }
}

@keyframes pw-whatif-china {
  0%, 62%, 69%, 94%, 100% { opacity: 0; transform: translateY(6px); }
  73%, 90% { opacity: 1; transform: translateY(0); }
}

@keyframes pw-whatif-bars {
  0%, 5%, 33%, 38%, 65%, 71%, 96%, 100% { transform: scaleY(0); }
  11%, 28%, 44%, 60%, 77%, 91% { transform: scaleY(1); }
}

@keyframes pw-whatif-line-draw {
  0%, 10%, 32%, 75%, 96%, 100% { stroke-dashoffset: 520; }
  16%, 29%, 82%, 92% { stroke-dashoffset: 0; }
}

@keyframes pw-whatif-chart-detail {
  0%, 15%, 31%, 80%, 95%, 100% { opacity: 0; }
  18%, 29%, 84%, 92% { opacity: 1; }
}

@keyframes pw-prompt-placeholder {
  0%, 1%, 9%, 32%, 41%, 64%, 73%, 100% { opacity: 1; }
  2%, 8%, 33%, 40%, 65%, 72% { opacity: 0; }
}

@keyframes pw-prompt-type-japan {
  0%, 1%, 9%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  2% { opacity: 1; clip-path: inset(0 100% 0 0); }
  7% { opacity: 1; clip-path: inset(0 0 0 0); }
  8% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes pw-prompt-type-germany {
  0%, 32%, 42%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  33% { opacity: 1; clip-path: inset(0 100% 0 0); }
  39% { opacity: 1; clip-path: inset(0 0 0 0); }
  40% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes pw-prompt-type-china {
  0%, 64%, 74%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  65% { opacity: 1; clip-path: inset(0 100% 0 0); }
  71% { opacity: 1; clip-path: inset(0 0 0 0); }
  72% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes pw-question-in-japan {
  0%, 8%, 30%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  10%, 27% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pw-answer-stream-japan {
  0%, 12%, 30%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  14% { opacity: 1; clip-path: inset(0 0 100% 0); }
  23%, 27% { opacity: 1; clip-path: inset(0); }
}

@keyframes pw-question-in-germany {
  0%, 39%, 63%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  41%, 60% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pw-answer-stream-germany {
  0%, 44%, 63%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  46% { opacity: 1; clip-path: inset(0 0 100% 0); }
  55%, 60% { opacity: 1; clip-path: inset(0); }
}

@keyframes pw-question-in-china {
  0%, 71%, 95%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  73%, 92% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pw-answer-stream-china {
  0%, 76%, 95%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  78% { opacity: 1; clip-path: inset(0 0 100% 0); }
  87%, 92% { opacity: 1; clip-path: inset(0); }
}

/* Own-AI scene reveal — a single 16s sequential choreography (question,
   then the tool-call pill, then the streamed answer, then the chart fades
   up, then its bars grow) rather than 3 branching variants like what-if. */
@keyframes pw-own-ai-question-in {
  0%, 12%, 96%, 100% { opacity: 0; transform: translateY(5px); }
  17%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes pw-own-ai-answer-in {
  0%, 25%, 96%, 100% { opacity: 0; }
  30%, 92% { opacity: 1; }
}

@keyframes pw-own-ai-tool-in {
  0%, 25%, 96%, 100% { opacity: 0; transform: translateY(4px); }
  30%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes pw-own-ai-stream-in {
  0%, 36%, 96%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  39% { opacity: 1; clip-path: inset(0 100% 0 0); }
  58%, 92% { opacity: 1; clip-path: inset(0); }
}

@keyframes pw-own-ai-chart-in {
  0%, 57%, 96%, 100% { opacity: 0; transform: translateY(7px); }
  63%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes pw-own-ai-bars-in {
  0%, 61%, 96%, 100% { transform: scaleY(0); }
  70%, 92% { transform: scaleY(1); }
}

@keyframes pw-own-ai-pulse {
  50% { opacity: 0.35; transform: scale(0.72); }
}

/* ── "Ask in your own AI" scene ──────────────────────────────────── */
.pw-app-window--own-ai {
  display: grid;
  grid-template-columns: 150px 1fr;
  padding-top: 36px;
  background: var(--aif-surface);
}

.pw-own-ai-side {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 12px;
  border-right: 1px solid var(--aif-border);
  background: var(--aif-surface-2);
  color: var(--aif-text-muted);
}

.pw-own-ai-brand {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--aif-text);
  font-size: 0.78rem;
  font-weight: 650;
}

.pw-own-ai-brand span {
  color: var(--aif-lavender);
}

.pw-own-ai-side button {
  margin: 4px 0;
  padding: 8px;
  border: 1px solid var(--aif-border-light);
  border-radius: 6px;
  background: var(--aif-surface);
  color: var(--aif-text-muted);
  font: inherit;
  font-size: 0.72rem;
  text-align: left;
  cursor: default;
}

.pw-own-ai-side > small {
  color: var(--aif-text-dim);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pw-own-ai-side p {
  margin: 0;
  padding: 7px;
  border-radius: 5px;
  font-size: 0.72rem;
}

.pw-own-ai-side p.is-current {
  background: var(--aif-accent-soft);
  color: var(--aif-accent);
  font-weight: 700;
}

.pw-own-ai-connection {
  display: grid;
  grid-template-columns: 26px 1fr 6px;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding: 8px;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 18%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--aif-surface) 82%, transparent);
}

.pw-own-ai-connection b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 5px;
  background: var(--aif-accent);
  color: var(--aif-on-accent);
  font-style: normal;
}

.pw-own-ai-connection strong,
.pw-own-ai-connection small {
  display: block;
}

.pw-own-ai-connection strong {
  color: var(--aif-text);
  font-size: 0.72rem;
}

.pw-own-ai-connection small {
  color: var(--aif-text-dim);
  font-size: 0.6rem;
}

.pw-own-ai-connection i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--aif-teal);
}

.pw-own-ai-chat {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  background: var(--aif-surface);
}

.pw-own-ai-chat > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
  border-bottom: 1px solid var(--aif-border);
}

.pw-own-ai-chat > header strong {
  display: block;
  color: var(--aif-text);
  font-size: 0.78rem;
}

.pw-own-ai-chat > header small {
  color: var(--aif-text-dim);
  font-size: 0.62rem;
}

.pw-own-ai-chat > header em {
  padding: 4px 8px;
  border: 1px solid var(--aif-border-light);
  border-radius: 999px;
  color: var(--aif-text-muted);
  font-size: 0.6rem;
  font-style: normal;
}

.pw-own-ai-body {
  overflow: hidden;
  padding: 14px clamp(14px, 2.5vw, 24px);
}

.pw-own-ai-question {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  opacity: 0;
  animation: pw-own-ai-question-in 16s ease-in-out infinite;
}

.pw-own-ai-question small {
  padding-top: 8px;
  color: var(--aif-text-dim);
  font-size: 0.6rem;
  font-weight: 800;
}

.pw-own-ai-question p {
  max-width: 78%;
  margin: 0;
  padding: 9px 12px;
  border-radius: 9px 9px 2px 9px;
  background: var(--aif-surface-2);
  color: var(--aif-text);
  font-size: 0.76rem;
  line-height: 1.4;
}

.pw-own-ai-answer {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  margin-top: 12px;
}

.pw-own-ai-avatar {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: var(--aif-lavender);
  color: var(--aif-on-accent);
  font-size: 0.76rem;
  opacity: 0;
  animation: pw-own-ai-answer-in 16s ease-in-out infinite;
}

.pw-own-ai-tool {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 16%, transparent);
  border-radius: 6px;
  background: var(--aif-accent-soft);
  color: var(--aif-text-muted);
  font-size: 0.62rem;
  opacity: 0;
  animation: pw-own-ai-tool-in 16s ease-in-out infinite;
}

.pw-own-ai-tool b {
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border-radius: 4px;
  background: var(--aif-accent);
  color: var(--aif-on-accent);
  font-style: normal;
  font-size: 0.56rem;
}

.pw-own-ai-tool i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--aif-teal);
  animation: pw-own-ai-pulse 1s ease-in-out infinite;
}

.pw-own-ai-stream {
  max-width: 96%;
  margin: 8px 0;
  color: var(--aif-text-muted);
  font-size: 0.76rem;
  line-height: 1.45;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  animation: pw-own-ai-stream-in 16s steps(16, end) infinite;
}

.pw-own-ai-stream strong {
  color: var(--aif-accent);
}

.pw-own-ai-chart {
  max-width: 390px;
  padding: 9px 11px 7px;
  border: 1px solid var(--aif-border);
  border-radius: 7px;
  background: var(--aif-surface-2);
  opacity: 0;
  transform: translateY(7px);
  animation: pw-own-ai-chart-in 16s ease-in-out infinite;
}

.pw-own-ai-chart header {
  display: flex;
  justify-content: space-between;
}

.pw-own-ai-chart header small,
.pw-own-ai-chart header strong {
  display: block;
}

.pw-own-ai-chart header small {
  color: var(--aif-text-dim);
  font-size: 0.58rem;
  text-transform: uppercase;
}

.pw-own-ai-chart header strong {
  color: var(--aif-text);
  font-size: 0.76rem;
}

.pw-own-ai-chart header em {
  color: var(--aif-text-dim);
  font-size: 0.56rem;
  font-style: normal;
}

.pw-own-ai-bars {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  height: 70px;
  margin-top: 5px;
  border-bottom: 1px solid var(--aif-border);
}

.pw-own-ai-bars > i {
  position: relative;
  width: 12px;
  height: var(--pw-h);
  border-radius: 2px 2px 0 0;
  background: var(--aif-sky);
  font-style: normal;
  transform: scaleY(0);
  transform-origin: bottom;
  animation: pw-own-ai-bars-in 16s ease-out infinite;
}

.pw-own-ai-bars > i b {
  position: absolute;
  right: -8px;
  bottom: 0;
  width: 6px;
  height: 78%;
  border-radius: 2px 2px 0 0;
  background: var(--aif-teal);
}

.pw-own-ai-chart footer {
  display: flex;
  gap: 10px;
  padding-top: 6px;
  color: var(--aif-text-dim);
  font-size: 0.58rem;
}

.pw-own-ai-chart footer span:first-child {
  color: var(--aif-sky);
}

.pw-own-ai-chart footer span:nth-child(2) {
  color: var(--aif-teal-deep);
}

.pw-own-ai-chart footer strong {
  margin-left: auto;
  color: var(--aif-teal-deep);
}

.pw-own-ai-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 4px 15px 10px;
  padding: 0 7px 0 12px;
  border: 1px solid var(--aif-border-light);
  border-radius: 8px;
  color: var(--aif-text-dim);
  font-size: 0.72rem;
}

.pw-own-ai-input b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: var(--aif-ink);
  color: var(--aif-on-accent);
  font-style: normal;
}

/* ── Reduced motion: settle every looping animation on its final frame ─ */
@media (prefers-reduced-motion: reduce) {
  .pw-app-window--request,
  .pw-app-window--forecast,
  .pw-scene {
    animation: none !important;
    transition: none !important;
  }

  /* What-if scene: the cycling opacity/clip-path/typewriter animations
     would otherwise freeze at whatever opacity:0 moment the animation was
     interrupted at, hiding content permanently. Disable the loop and show
     the FIRST scenario (Japan) fully settled instead — same "legible with
     no motion" guarantee as everywhere else in this redesign. */
  .pw-scenario-chart,
  .pw-chat-exchange,
  .pw-chat-q,
  .pw-chat-a,
  .pw-chart-line,
  .pw-chart-points,
  .pw-chart-delay-area,
  .pw-chart-delay-marker,
  .pw-scenario-line-chart text,
  .pw-scenario-bars i::before,
  .pw-scenario-bars i::after,
  .pw-typed-prompt,
  .pw-assistant-input__placeholder {
    animation: none !important;
  }

  .pw-scenario-chart--japan,
  .pw-chat-exchange--japan {
    opacity: 1;
    transform: none;
  }

  .pw-scenario-chart--germany,
  .pw-scenario-chart--china,
  .pw-chat-exchange--germany,
  .pw-chat-exchange--china {
    display: none;
  }

  .pw-chat-exchange--japan .pw-chat-q {
    opacity: 1;
    transform: none;
  }

  .pw-chat-exchange--japan .pw-chat-a {
    opacity: 1;
    clip-path: none;
  }

  .pw-chart-line--scenario,
  .pw-chart-points {
    stroke-dashoffset: 0;
    opacity: 1;
  }

  .pw-scenario-bars i::before,
  .pw-scenario-bars i::after {
    transform: scaleY(1);
  }

  .pw-typed-prompt {
    display: none;
  }

  .pw-assistant-input__placeholder {
    opacity: 1;
  }

  /* Own-AI scene: same idea — settle on the fully-revealed final frame
     instead of freezing mid-reveal. */
  .pw-own-ai-question,
  .pw-own-ai-avatar,
  .pw-own-ai-tool,
  .pw-own-ai-tool i,
  .pw-own-ai-stream,
  .pw-own-ai-chart,
  .pw-own-ai-bars > i {
    animation: none !important;
    opacity: 1;
    transform: none;
    clip-path: none;
  }
}

/* ── Dark-glass reskin — the 3 hero app-window mockups ────────────────
   Matches the reference's ACTIVE styling exactly: .product-showcase--platform
   doesn't just move the scene-list into a row (see .pw-scenes above) — it
   also reskins every mockup screen from light dashboard cards to dark
   translucent glass with light text, cascading through every inner element
   (metric cards, charts, sidebars, chat bubbles). This hero is always the
   dark variant, so these overrides just replace the light-mode rules above
   rather than gating behind an extra class. */

.pw-app-window {
  inset: 0.15rem 0.35rem 0.35rem;
  border: 0;
  background: rgba(0, 18, 38, 0.3);
  color: rgba(231, 239, 244, 0.88);
  box-shadow:
    0 40px 100px rgba(0, 5, 14, 0.58),
    0 14px 34px rgba(0, 5, 14, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(15px) saturate(110%);
  -webkit-backdrop-filter: blur(15px) saturate(110%);
}

.pw-app-window__bar {
  border-color: rgba(207, 215, 220, 0.13);
  background: rgba(0, 18, 38, 0.2);
  color: rgba(231, 239, 244, 0.68);
}

.pw-app-window__dots i:not(:first-child) {
  background: rgba(207, 215, 220, 0.44);
}

.pw-app-window__status {
  background: rgba(56, 131, 206, 0.16);
  color: rgba(178, 214, 248, 0.86);
}

.pw-app-window__status--ready {
  background: rgba(49, 208, 205, 0.14);
  color: rgba(126, 232, 228, 0.88);
}

/* Forecast scene */
.pw-request-card,
.pw-country-menu,
.pw-assistant-panel,
.pw-own-ai-chat {
  color: rgba(231, 239, 244, 0.84);
}

.pw-request-card h3,
.pw-forecast-dash__head h3,
.pw-scenario-head h3,
.pw-assistant-head strong,
.pw-metric-card strong,
.pw-forecast-chart__title span,
.pw-own-ai-brand,
.pw-own-ai-chat strong,
.pw-own-ai-chart strong {
  color: var(--aif-on-accent);
}

.pw-request-card p,
.pw-country-field,
.pw-metric-card span,
.pw-metric-card small,
.pw-scenario-legend,
.pw-own-ai-side,
.pw-own-ai-stream,
.pw-own-ai-question p {
  color: rgba(207, 215, 220, 0.7);
}

.pw-country-field,
.pw-country-menu,
.pw-assistant-input,
.pw-own-ai-input,
.pw-own-ai-question p {
  border-color: rgba(207, 215, 220, 0.16);
  background: rgba(0, 18, 38, 0.17);
}

.pw-country-menu span {
  border-color: rgba(207, 215, 220, 0.1);
  color: rgba(231, 239, 244, 0.78);
}

.pw-forecast-dash {
  background: rgba(0, 18, 38, 0.1);
}

.pw-country-share__donut span {
  background: rgba(0, 24, 49, 0.92);
}

.pw-country-share__donut span,
.pw-country-share__legend span,
.pw-forecast-chart small,
.pw-scenario-years,
.pw-scenario-chart > p,
.pw-assistant-head small,
.pw-own-ai-input {
  color: rgba(207, 215, 220, 0.62);
}

.pw-country-share__donut strong,
.pw-country-share__legend b,
.pw-scenario-chart > p strong {
  color: rgba(231, 239, 244, 0.9);
}

.pw-bar-chart,
.pw-assistant-head,
.pw-scenario-bars,
.pw-own-ai-bars,
.pw-own-ai-chat > header,
.pw-own-ai-side,
.pw-own-ai-connection {
  border-color: rgba(207, 215, 220, 0.12);
}

.pw-scenario-chart {
  border-color: rgba(207, 215, 220, 0.12);
  background: rgba(0, 18, 38, 0.12);
}

.pw-own-ai-side {
  background: rgba(0, 18, 38, 0.18);
}

.pw-metric-card,
.pw-forecast-chart,
.pw-assistant-panel,
.pw-own-ai-chat,
.pw-own-ai-chart,
.pw-own-ai-connection {
  border-color: rgba(207, 215, 220, 0.13);
  background-color: rgba(0, 18, 38, 0.17);
}

.pw-request-card,
.pw-metric-card,
.pw-forecast-chart,
.pw-country-menu,
.pw-assistant-panel,
.pw-own-ai-chat,
.pw-own-ai-chart {
  box-shadow: 0 10px 28px rgba(0, 5, 14, 0.18);
}

.pw-scenario-legend i,
.pw-scenario-bars i::before {
  background: rgba(207, 215, 220, 0.34);
}

.pw-chart-grid {
  stroke: rgba(207, 215, 220, 0.16);
}

.pw-chart-line--original {
  stroke: rgba(207, 215, 220, 0.56);
}

.pw-selected-countries span {
  border-color: rgba(56, 131, 206, 0.38);
  background: rgba(56, 131, 206, 0.17);
  color: rgba(178, 214, 248, 0.92);
}

.pw-chat-a,
.pw-own-ai-tool {
  border-color: rgba(49, 208, 205, 0.18);
  background: rgba(49, 208, 205, 0.07);
  color: rgba(231, 239, 244, 0.8);
}

.pw-chat-a strong,
.pw-chat-a span,
.pw-typed-prompt {
  color: rgba(126, 190, 248, 0.92);
}

.pw-chart-points {
  fill: rgba(178, 214, 248, 0.9);
}

/* ── Narrow screens ──────────────────────────────────────────────── */
@media (max-width: 900px) {
  .pw-scenes {
    width: 94%;
  }

  .pw-whatif-layout,
  .pw-app-window--own-ai {
    grid-template-columns: 1fr;
  }

  .pw-own-ai-side {
    display: none;
  }
}

@media (max-width: 600px) {
  .pw-scenes {
    height: 650px;
    grid-template-rows: auto 480px;
    overflow: hidden;
  }

  .pw-scenes__nav {
    padding: 0.75rem;
  }

  .pw-scene-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.2rem;
  }

  .pw-scene-list__item {
    min-height: 0;
    padding: 0.65rem 0.5rem 0.65rem 1.8rem;
    text-align: left;
  }

  .pw-scene-list__item::before {
    right: auto;
    left: 0;
    width: 1.3rem;
  }

  .pw-scenes__stage {
    overflow: hidden;
  }

  .pw-app-window {
    inset: 0.5rem;
  }
}

/* ── Homepage redesign: Module 2 — proof section ────────────────────
   Sits directly under the hero (see components/_proof.html). Headline +
   supporting copy + "trusted by" logo row, matching .proof-section at
   https://insivia.app/prokurio/home.html, layered on the existing --aif-*
   tokens (--aif-ink for the reference's --color-navy, --aif-orange for its
   --color-orange) rather than new hex values. */

.pw-proof {
  width: 94%;
  max-width: var(--aif-width-wide);
  margin: 3vw auto clamp(5rem, 8vw, 9rem);
  padding: clamp(4rem, 7vw, 8rem) clamp(3rem, 7vw, 7rem);
  border: 1px solid #e2e4ea;
  border-radius: var(--aif-radius);
  /* Pinned light, not --aif-surface: the logo marks are light-background JPG/PNG
     files (mix-blend-mode: multiply below), so this card stays a white/light
     surface in dark mode too rather than going near-black and losing them. */
  background: #ffffff;
  color: var(--aif-ink);
  box-shadow: 0 18px 70px rgba(0, 8, 21, 0.12);
}

/* The card supplies its own inset; avoid adding the shared container gutter. */
.pw-proof > .pw-container {
  max-width: none;
  padding-inline: 0;
}

.pw-proof__copy {
  width: 100%;
}

.pw-proof h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(3rem, 5.75vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.pw-proof__line {
  display: block;
  color: var(--aif-ink);
}

.pw-proof__line--accent {
  color: var(--aif-orange);
}

.pw-proof h2 .pw-reveal-word {
  display: inline-block;
  will-change: filter, opacity, transform;
}

/* Same block-heading-line treatment as .pw-proof__line, but theme-aware
   (--aif-text rather than the fixed --aif-ink) — for sections that sit
   directly on a plain .pw-section rather than .pw-proof's permanently
   white-pinned card. See components/_cost_horizon.html. */
.pw-horizon__line {
  display: block;
  color: var(--aif-text);
}

.pw-horizon__line.pw-proof__line--accent {
  color: var(--aif-orange);
}

/* Forecasting lifecycle horizon. The typography follows the shared proof
   section while the rail mirrors the minimal timeline on the reference page. */
.pw-cost-horizon-section {
  position: relative;
  z-index: 2;
  width: 94%;
  max-width: none;
  margin: 3vw auto clamp(5rem, 8vw, 9rem);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 6px;
  background:
    radial-gradient(circle at 88% 12%, rgba(56, 131, 206, 0.08), transparent 34%),
    linear-gradient(145deg, #fff 0%, #fbfcfd 58%, #f4f7f9 100%);
  color: var(--aif-ink);
  padding: clamp(4rem, 7vw, 8rem) clamp(3rem, 7vw, 7rem);
  box-shadow: inset 0 1px 0 #fff, 0 18px 70px rgba(0, 8, 21, 0.12);
}

.pw-cost-horizon-section > .pw-container {
  max-width: none;
  padding-inline: 0;
}

.pw-cost-horizon-section .pw-horizon__line {
  color: var(--aif-ink);
}

.pw-cost-horizon-section .pw-horizon__line.pw-proof__line--accent {
  color: var(--aif-orange);
}

.pw-cost-horizon-section__copy h2 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(3rem, 5.75vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.03;
}

.pw-cost-horizon-section__copy p {
  max-width: 76rem;
  margin: clamp(2rem, 4vw, 3rem) 0 0;
  color: #526276;
  font-size: clamp(1rem, 1.6vw, 1.5rem);
  line-height: 1.65;
}

.pw-cost-horizon {
  margin-top: clamp(3rem, 6vw, 5.5rem);
}

.pw-cost-horizon__viewport {
  overflow-x: auto;
  outline: none;
  scrollbar-color: var(--aif-grey-blue) transparent;
  scrollbar-width: thin;
}

.pw-cost-horizon__viewport:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--aif-teal);
  outline-offset: 6px;
}

.pw-cost-horizon__track {
  position: relative;
  display: grid;
  min-width: 1040px;
  min-height: 220px;
  grid-template-columns: repeat(6, minmax(155px, 1fr));
  margin: 0;
  padding: 2.5rem 0 1rem;
  list-style: none;
}

.pw-cost-horizon__line {
  position: absolute;
  top: 111px;
  right: 0;
  left: 0;
  height: 2px;
  overflow: hidden;
  background: #cbd8df;
}

.pw-cost-horizon__line i {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--aif-accent), var(--aif-teal) 64%, var(--aif-orange));
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 560ms cubic-bezier(0.16, 1, 0.3, 1);
}

.pw-cost-horizon.is-enhanced .pw-cost-horizon__line i {
  transform: scaleX(0);
}

.pw-cost-horizon__event {
  position: relative;
  z-index: 2;
  display: grid;
  min-width: 0;
  grid-template-rows: 63px 34px auto;
  justify-items: start;
  opacity: 1;
  transition: opacity 420ms ease;
}

.pw-cost-horizon.is-enhanced .pw-cost-horizon__event {
  opacity: 0.24;
}

.pw-cost-horizon.is-enhanced .pw-cost-horizon__event.is-passed {
  opacity: 0.62;
}

.pw-cost-horizon.is-enhanced .pw-cost-horizon__event.is-active {
  opacity: 1;
}

.pw-cost-horizon__event > span {
  align-self: end;
  margin-bottom: 1rem;
  color: #4f6371;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pw-cost-horizon__event > i {
  display: block;
  width: 15px;
  height: 15px;
  margin-left: -1px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--aif-accent);
  box-shadow: 0 0 0 1px var(--aif-accent), 0 0 0 7px color-mix(in srgb, var(--aif-accent) 8%, transparent);
  transform: scale(0.72);
  transition: background 420ms ease, box-shadow 420ms ease, transform 420ms ease;
}

.pw-cost-horizon__event.is-passed > i {
  transform: scale(0.82);
}

.pw-cost-horizon__event.is-active > i {
  background: var(--aif-teal);
  box-shadow: 0 0 0 1px var(--aif-teal), 0 0 0 10px color-mix(in srgb, var(--aif-teal) 13%, transparent);
  transform: scale(1.18);
}

.pw-cost-horizon__event.is-future.is-active > i {
  background: var(--aif-orange);
  box-shadow: 0 0 0 1px var(--aif-orange), 0 0 0 10px color-mix(in srgb, var(--aif-orange) 12%, transparent);
}

.pw-cost-horizon__event > strong {
  display: block;
  max-width: 15ch;
  padding: 1.1rem 1rem 0 0;
  color: var(--aif-ink);
  font-size: clamp(0.78rem, 1vw, 1rem);
  letter-spacing: -0.015em;
  line-height: 1.25;
}

/* Use one connected chronology as soon as six horizontal stages no longer fit. */
@media (max-width: 1320px) {
  .pw-cost-horizon__viewport { overflow: visible; }
  .pw-cost-horizon__track { min-width: 0; min-height: 0; }
  .pw-cost-horizon__line { display: none; }
  .pw-cost-horizon__event::before {
    position: absolute;
    z-index: -1;
    background: var(--aif-border-light);
    content: "";
  }
}

@media (max-width: 800px) {
  .pw-cost-horizon-section {
    margin-top: 2rem;
    margin-bottom: 5rem;
    padding: 4rem 1.5rem;
  }
}

/* A vertical rail keeps years, dots, and labels connected without scrolling. */
@media (max-width: 1320px) {
  .pw-cost-horizon__track {
    grid-template-columns: 4.5rem 2rem minmax(0, 1fr);
    gap: 0.75rem 0;
    padding: 0;
  }

  .pw-cost-horizon__event {
    min-height: 76px;
    grid-column: 1 / -1;
    grid-template-columns: 4.5rem 2rem minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
  }

  .pw-cost-horizon__event::before {
    top: 50%;
    left: calc(4.5rem + 7px);
    width: 2px;
    height: calc(100% + 0.75rem);
  }

  .pw-cost-horizon__event:nth-child(4)::before {
    display: block;
  }

  .pw-cost-horizon__event:last-child::before {
    display: none;
  }

  .pw-cost-horizon__event > span {
    align-self: center;
    justify-self: end;
    margin: 0;
    padding-right: 0.75rem;
    text-align: right;
  }

  .pw-cost-horizon__event > i {
    align-self: center;
    justify-self: start;
    margin-left: 0;
  }

  .pw-cost-horizon__event > strong {
    align-self: center;
    max-width: none;
    padding: 0 0 0 0.75rem;
    font-size: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pw-cost-horizon.is-enhanced .pw-cost-horizon__line i {
    transform: scaleX(1);
  }

  .pw-cost-horizon.is-enhanced .pw-cost-horizon__event {
    opacity: 1;
  }

  .pw-cost-horizon__event > i {
    transition: none;
  }
}

/* Forecasting intelligence story */
.pw-forecast-story {
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 8%, rgba(89, 67, 174, 0.1), transparent 25%),
    radial-gradient(circle at 16% 30%, rgba(18, 80, 155, 0.3), transparent 34%),
    var(--aif-ink);
  color: var(--aif-on-accent);
  padding: clamp(6rem, 11vw, 11rem) 0 0;
}

.pw-forecast-story__intro {
  position: relative;
  min-height: clamp(650px, 75vw, 940px);
  text-align: center;
}

.pw-forecast-story__intro h2 {
  max-width: 15ch;
  margin: 0 auto;
  font-size: clamp(3rem, 5.75vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.04;
}

.pw-forecast-story__intro h2 span {
  color: var(--aif-orange);
}

.pw-forecast-story__intro > p {
  max-width: 760px;
  margin: 2rem auto 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.7;
}

.pw-forecast-orbit {
  position: relative;
  width: min(78vw, 670px);
  aspect-ratio: 1;
  margin: clamp(3rem, 7vw, 6rem) auto 0;
}

.pw-forecast-orbit::before {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(49, 208, 205, 0.13), transparent 68%);
  filter: blur(20px);
  content: "";
}

.pw-forecast-orbit__core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 128px;
  height: 128px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 34px rgba(49, 208, 205, 0.12), 0 0 70px rgba(232, 86, 38, 0.06);
  transform: translate(-50%, -50%);
}

.pw-forecast-orbit__core::before,
.pw-forecast-orbit__core::after {
  position: absolute;
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.pw-forecast-orbit__core::before {
  z-index: 0;
  inset: -3px;
  background: conic-gradient(from 0deg, transparent 0 12%, var(--aif-teal) 23%, transparent 35% 48%, var(--aif-gold) 58%, transparent 69% 78%, var(--aif-orange) 90%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: pw-story-core-think 5.5s linear infinite;
}

.pw-forecast-orbit__core::after {
  z-index: -1;
  inset: -10px;
  background: conic-gradient(from 120deg, transparent 0 18%, rgba(49, 208, 205, 0.52) 27%, transparent 38% 55%, rgba(242, 189, 56, 0.38) 65%, transparent 75% 86%, rgba(232, 86, 38, 0.48) 94%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  filter: blur(8px);
  opacity: 0.55;
  animation: pw-story-core-think 8s linear infinite reverse;
}

.pw-forecast-orbit__core small {
  position: relative;
  z-index: 1;
  color: #001d3a;
  font-size: clamp(0.62rem, 1.2vw, 0.9rem);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.pw-forecast-orbit__ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(141, 178, 232, 0.2);
  border-radius: 50%;
  z-index: 5;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.pw-forecast-orbit__ring--outer { --pw-orbit-duration: 56s; width: 100%; height: 100%; animation: pw-story-orbit var(--pw-orbit-duration) linear infinite; }
.pw-forecast-orbit__ring--middle { --pw-orbit-duration: 43s; width: 72%; height: 72%; animation: pw-story-orbit var(--pw-orbit-duration) linear reverse infinite; }
.pw-forecast-orbit__ring--inner { --pw-orbit-duration: 35s; width: 48%; height: 48%; animation: pw-story-orbit var(--pw-orbit-duration) linear infinite; }

.pw-forecast-orbit__ring b {
  position: absolute;
  z-index: 10;
  top: var(--pw-tag-top);
  left: var(--pw-tag-left);
  width: max-content;
  max-width: 210px;
  font-style: normal;
  pointer-events: auto;
  transform-origin: 0 0;
  animation: pw-story-orbit-counter var(--pw-orbit-duration) linear infinite;
}

.pw-forecast-orbit__ring b::before {
  position: absolute;
  z-index: 2;
  top: -3px;
  left: -3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aif-teal);
  box-shadow: 0 0 12px rgba(49, 208, 205, 0.72);
  content: "";
  transition: transform 0.3s ease;
}

.pw-forecast-orbit__ring--middle b {
  animation-direction: reverse;
}

.pw-forecast-orbit__ring b > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: max-content;
  max-width: 210px;
  border: 1px solid rgba(141, 178, 232, 0.2);
  border-radius: 999px;
  background: rgba(0, 18, 38, 0.62);
  color: rgba(255, 255, 255, 0.76);
  padding: 0.55rem 0.8rem;
  font-size: clamp(0.58rem, 1vw, 0.72rem);
  white-space: nowrap;
  box-shadow: 0 10px 30px rgba(0, 5, 14, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  backdrop-filter: blur(14px) saturate(130%);
  transform: translate(8px, -50%);
  transform-origin: left center;
  transition: background 0.3s ease, box-shadow 0.45s ease, color 0.3s ease, transform 0.45s ease;
}

.pw-forecast-orbit__ring--outer b:nth-child(2)::before,
.pw-forecast-orbit__ring--inner b:nth-child(2)::before {
  background: var(--aif-orange);
  box-shadow: 0 0 12px rgba(232, 86, 38, 0.72);
}

.pw-forecast-orbit__ring--middle b:nth-child(2)::before {
  background: #8db2e8;
  box-shadow: 0 0 12px rgba(141, 178, 232, 0.68);
}

.pw-forecast-orbit__ring:has(b:hover) { z-index: 12; }
.pw-forecast-orbit__ring b:hover { z-index: 20; }
.pw-forecast-orbit__ring b:hover::before { transform: scale(1.45); }
.pw-forecast-orbit__ring b:hover > span {
  background: rgba(0, 18, 38, 0.92);
  box-shadow: 0 16px 42px rgba(0, 5, 14, 0.42), 0 0 24px rgba(49, 208, 205, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.09);
  color: #fff;
  transform: translate(8px, -50%) scale(1.18);
}
.pw-forecast-orbit__ring:has(b:hover),
.pw-forecast-orbit__ring:has(b:hover) b { animation-play-state: paused; }

@keyframes pw-story-orbit {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes pw-story-orbit-counter {
  to { transform: rotate(-360deg); }
}

@keyframes pw-story-core-think {
  to { transform: rotate(360deg); }
}

/* Keep tabbed stories aligned with the reference's fluid page grid. */
.pi-story > .pw-container {
  max-width: none;
  padding-inline: 0;
}

.pw-forecast-story__intro,
.pw-forecast-story__stage,
.pi-story__stage {
  width: 100%;
  max-width: none;
  padding-inline: clamp(1.5rem, 7vw, 9.3rem);
}

.pw-forecast-story__stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto;
  column-gap: clamp(3rem, 5vw, 6rem);
  row-gap: 30px;
  align-items: start;
  min-height: 760px;
  padding-block: clamp(5rem, 8vw, 8rem);
}

.pw-forecast-story__nav {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 2.25vw, 2.75rem);
}

.pw-forecast-story__nav button,
.pi-story__tabs button {
  position: relative;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  padding: 0.4rem 0;
  font: inherit;
  font-size: clamp(0.58rem, 0.75vw, 0.72rem);
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-align: left;
  text-transform: uppercase;
  transition: color 0.25s ease;
}

.pw-forecast-story__nav button::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0;
  height: 1px;
  background: var(--aif-teal);
  content: "";
  transition: width 0.25s ease;
}

.pw-forecast-story__nav button.is-active { color: #fff; }
.pw-forecast-story__nav button.is-active::after { width: 0; }
.pw-forecast-story__nav button:focus-visible { outline: 2px solid var(--aif-teal); outline-offset: 4px; }

.pw-forecast-story__copy {
  display: grid;
  align-items: start;
  position: relative;
  grid-column: 1;
  min-height: clamp(560px, 67vh, 650px);
}

.pw-forecast-story__visual {
  grid-column: 2;
  margin-top: 2rem;
  align-self: start;
  min-width: 0;
}

.pw-forecast-chapter {
  padding: 2rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* Shared editorial chapters: Forecasting, Scenarios, and Portfolio. */
.pw-forecast-chapter h3,
.pi-chapter h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.5rem, 4vw, 5rem);
  font-weight: 750;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.pw-forecast-chapter h3 span,
.pi-chapter h3 span {
  display: block;
  margin-top: 0.14em;
  color: #8db2e8;
}

.pw-forecast-chapter > p,
.pi-chapter > p {
  max-width: 620px;
  margin: 1.6rem 0 0;
  color: rgb(255 255 255 / 60%);
  font-size: clamp(0.95rem, 1.12vw, 1.12rem);
  font-weight: 400;
  line-height: 1.75;
}

.pw-forecast-chapter ul,
.pi-chapter ul {
  display: grid;
  gap: 0.65rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}

.pw-forecast-chapter li,
.pi-chapter li {
  border-left: 2px solid rgb(49 208 205 / 60%);
  background: rgb(255 255 255 / 4%);
  color: rgb(255 255 255 / 72%);
  padding: 0.72rem 0.9rem;
  font-size: calc(0.72rem + 2px);
  font-weight: 400;
  line-height: normal;
}

.pw-forecast-story.is-enhanced .pw-forecast-chapter {
  position: relative;
  grid-area: 1 / 1;
  visibility: hidden;
  border: 0;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.35s ease, transform 0.45s ease, visibility 0.45s;
}

.pw-forecast-story.is-enhanced .pw-forecast-chapter.is-active {
  visibility: visible;
  opacity: 1;
  transform: none;
}

.pw-forecast-story.is-enhanced .pw-forecast-chapter:not(.is-active),
.pw-forecast-story.is-enhanced .pw-story-screen:not(.is-active) {
  visibility: hidden !important;
  pointer-events: none;
}

.pw-story-window {
  position: relative;
  height: min(590px, 61vh);
  min-height: 480px;
  overflow: hidden;
  border: 1px solid rgba(141, 178, 232, 0.22);
  border-radius: 9px;
  background: #001b35;
  color: #fff;
  box-shadow: 0 42px 100px rgba(0, 5, 14, 0.76), -24px 28px 90px rgba(18, 80, 155, 0.18), 0 0 70px rgba(49, 208, 205, 0.07);
}

.pw-story-window__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 52px;
  border-bottom: 1px solid rgba(93, 151, 211, 0.18);
  background: rgba(0, 24, 48, 0.94);
  color: rgba(255, 255, 255, 0.45);
  padding: 0.8rem 1rem;
  font-size: 0.68rem;
}

.pw-story-window__bar > span { display: flex; gap: 0.3rem; }
.pw-story-window__bar i { width: 7px; height: 7px; border-radius: 50%; background: #b9c5cc; }
.pw-story-window__bar i:first-child { background: var(--aif-orange); }
.pw-story-window__bar b { color: rgba(255, 255, 255, 0.7); }
.pw-story-window__bar em { justify-self: end; color: rgba(255, 255, 255, 0.45); font-style: normal; }

.pw-story-screen { overflow: hidden; background: linear-gradient(145deg, #001b35, #002645 70%, #00182f); color: #fff; padding: clamp(1.5rem, 3vw, 2.5rem); }
.pw-forecast-story.is-enhanced .pw-story-screen { position: absolute; inset: 41px 0 0; visibility: hidden; opacity: 0; transform: translateY(12px); transition: opacity 0.35s ease, transform 0.45s ease, visibility 0.45s; }
.pw-forecast-story.is-enhanced .pw-story-screen.is-active { visibility: visible; opacity: 1; transform: none; }
.pw-story-screen__heading small { color: #3883ce; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.pw-story-screen h4 { margin: 0.5rem 0 1.5rem; font-size: clamp(1.5rem, 2.3vw, 2.4rem); letter-spacing: -0.04em; }

.pw-story-search,
.pw-story-found header,
.pw-story-found > div,
.pw-story-metrics span,
.pw-story-rules span,
.pw-story-scale span,
.pw-story-question,
.pw-story-answer {
  border: 1px solid rgba(93, 151, 211, 0.2);
  border-radius: 6px;
  background: rgba(4, 36, 67, 0.78);
  color: rgba(255, 255, 255, 0.82);
  padding: 1rem;
}

.pw-story-search { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; margin-top: 2rem; padding: 0.55rem; }
.pw-story-search span { color: rgba(255, 255, 255, 0.55); padding-left: 0.65rem; font-size: 0.75rem; }
.pw-story-search b { border-radius: 3px; background: var(--aif-accent); color: #fff; padding: 0.75rem 1rem; font-size: 0.65rem; }
.pw-story-found { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 1.2rem; border: 1px solid rgba(93, 151, 211, 0.18); background: rgba(93, 151, 211, 0.18); }
.pw-story-found header { grid-column: 1 / -1; display: flex; justify-content: space-between; border-radius: 0; padding: 0.85rem 1rem; font-size: 0.68rem; }
.pw-story-found header strong { color: var(--aif-teal); }
.pw-story-found > div { display: grid; gap: 0.35rem; border: 0; border-radius: 0; }
.pw-story-found small { color: rgba(255, 255, 255, 0.46); font-size: 0.58rem; text-transform: uppercase; }
.pw-story-found b { font-size: 0.72rem; }
.pw-story-status { display: grid; grid-template-columns: auto 1fr auto; gap: 0.7rem; align-items: center; margin-top: 1.2rem; color: rgba(255, 255, 255, 0.46); font-size: 0.62rem; }
.pw-story-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--aif-teal); box-shadow: 0 0 10px rgba(49, 208, 205, 0.55); }
.pw-story-status b { color: var(--aif-teal); }
.pw-story-metrics,
.pw-story-scale { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; }
.pw-story-metrics,
.pw-story-scale { margin-top: 1.8rem; }
.pw-story-metrics small,
.pw-story-rules small,
.pw-story-scale small { display: block; color: #71828e; font-size: 0.6rem; }
.pw-story-metrics strong,
.pw-story-scale strong { display: block; margin-top: 0.4rem; font-size: clamp(1rem, 1.6vw, 1.4rem); }
.pw-story-cost-list { display: grid; gap: 0.65rem; margin-top: 1rem; }
.pw-story-cost-list p { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 0.7rem; margin: 0; overflow: hidden; border: 1px solid rgba(93, 151, 211, 0.18); background: rgba(3, 29, 56, 0.88); padding: 0.75rem 0.9rem 1rem; }
.pw-story-cost-list p > span { display: grid; gap: 0.2rem; }
.pw-story-cost-list b,
.pw-story-cost-list strong { font-size: 0.68rem; }
.pw-story-cost-list small { color: rgba(255, 255, 255, 0.48); font-size: 0.55rem; }
.pw-story-cost-list i { position: absolute; bottom: 0; left: 0; width: var(--pw-story-w); height: 3px; background: linear-gradient(90deg, var(--aif-accent), var(--aif-teal)); }
.pw-story-profile { display: grid; grid-template-columns: 1fr 2fr auto; gap: 1rem; align-items: center; margin-top: 1.8rem; border: 1px solid rgba(93, 151, 211, 0.2); background: rgba(4, 36, 67, 0.78); padding: 1rem; font-size: 0.7rem; }
.pw-story-profile span { color: rgba(255, 255, 255, 0.46); font-size: 0.58rem; text-transform: uppercase; }
.pw-story-profile b { color: var(--aif-teal); }
.pw-story-rules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; margin-top: 1rem; }
.pw-story-rules strong { display: block; margin-top: 0.45rem; }
.pw-story-rules em,
.pw-story-scale em { display: block; margin-top: 0.3rem; color: rgba(255, 255, 255, 0.46); font-size: 0.56rem; font-style: normal; }
.pw-story-toggles { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.2rem; color: rgba(255, 255, 255, 0.48); font-size: 0.62rem; }
.pw-story-toggles span { display: flex; align-items: center; gap: 0.45rem; }
.pw-story-toggles i { width: 22px; height: 12px; border-radius: 999px; background: var(--aif-teal); box-shadow: inset -10px 0 0 #087c7b; }
.pw-story-scale .is-featured { border-color: rgba(49, 208, 205, 0.48); background: rgba(9, 49, 82, 0.92); }
.pw-story-portfolio { margin-top: 1rem; border: 1px solid rgba(93, 151, 211, 0.18); background: rgba(4, 36, 67, 0.78); padding: 1rem; }
.pw-story-portfolio header,
.pw-story-portfolio footer { display: flex; justify-content: space-between; color: rgba(255, 255, 255, 0.48); font-size: 0.58rem; }
.pw-story-chart { display: flex; align-items: end; gap: 8%; height: 145px; margin-top: 0; padding: 1rem 4% 0; border-bottom: 1px solid rgba(93, 151, 211, 0.18); }
.pw-story-chart i { width: 16%; border-radius: 3px 3px 0 0; background: linear-gradient(#31d0cd, #12509b); }
.pw-story-chart i:nth-child(1) { height: 42%; }.pw-story-chart i:nth-child(2) { height: 58%; }.pw-story-chart i:nth-child(3) { height: 51%; }.pw-story-chart i:nth-child(4) { height: 76%; }.pw-story-chart i:nth-child(5) { height: 88%; }
.pw-story-portfolio footer { padding: 0.6rem 3% 0; }
.pw-story-screen--connected { display: grid; grid-template-columns: 150px 1fr; padding: 0; }
.pw-story-ai-sidebar { display: flex; flex-direction: column; gap: 0.8rem; border-right: 1px solid rgba(93, 151, 211, 0.18); background: rgba(2, 27, 52, 0.92); padding: 1.5rem 1rem; color: rgba(255, 255, 255, 0.72); font-size: 0.65rem; }
.pw-story-ai-sidebar > small { margin-top: auto; color: rgba(255, 255, 255, 0.46); font-size: 0.5rem; letter-spacing: 0.12em; }
.pw-story-ai-sidebar p { display: grid; grid-template-columns: 26px 1fr; gap: 0.5rem; margin: 0; border: 1px solid rgba(93, 151, 211, 0.2); background: rgba(4, 36, 67, 0.78); padding: 0.6rem; }
.pw-story-ai-sidebar p i { grid-row: 1 / 3; display: grid; width: 26px; height: 26px; place-items: center; background: var(--aif-accent); color: #fff; font-style: normal; }
.pw-story-ai-sidebar p em { color: rgba(255, 255, 255, 0.46); font-size: 0.52rem; font-style: normal; }
.pw-story-ai-chat { display: grid; grid-template-rows: auto auto 1fr auto; padding: 1.5rem; }
.pw-story-ai-chat > header { display: flex; justify-content: space-between; border-bottom: 1px solid rgba(93, 151, 211, 0.18); padding-bottom: 1rem; font-size: 0.65rem; }
.pw-story-ai-chat > header span { display: grid; gap: 0.25rem; }
.pw-story-ai-chat > header small,
.pw-story-ai-chat > header em { color: rgba(255, 255, 255, 0.46); font-size: 0.53rem; font-style: normal; }
.pw-story-question { justify-self: end; max-width: 78%; margin-top: 1.25rem; background: rgba(74, 112, 151, 0.32); color: rgba(255, 255, 255, 0.76); font-size: 0.67rem; line-height: 1.5; }
.pw-story-answer { align-self: start; margin-top: 1.15rem; border: 0; border-left: 2px solid var(--aif-teal); border-radius: 0; background: transparent; padding: 0.25rem 0 0.25rem 1rem; font-size: 0.68rem; }
.pw-story-answer > small { color: #087c7b; font-weight: 700; }
.pw-story-answer span { display: flex; justify-content: space-between; padding: 0.45rem 0; border-top: 1px solid #d5e0e6; }
.pw-story-answer a { display: inline-block; margin-top: 0.85rem; color: #8db2e8; font-weight: 700; text-decoration: none; }
.pw-story-ai-chat > footer { border: 1px solid rgba(93, 151, 211, 0.2); background: rgba(4, 36, 67, 0.78); color: rgba(255, 255, 255, 0.46); padding: 0.75rem; font-size: 0.62rem; }
.pw-story-ai-chat > footer b { float: right; color: #8db2e8; }

.pw-forecast-story__stage > .pw-forecast-story__cta {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 3rem 0 0;
}

@media (min-width: 981px) {
  .pw-forecast-story__intro {
    min-height: clamp(620px, 60vw, 820px);
    text-align: left;
  }

  .pw-forecast-story__intro h2 {
    position: relative;
    z-index: 3;
    width: 52%;
    max-width: none;
    margin: 0;
  }

  .pw-forecast-story__intro > p {
    position: relative;
    z-index: 3;
    width: 48%;
    max-width: 55vw;
    margin: 2.75rem 0 0;
  }

  .pw-forecast-orbit {
    position: absolute;
    z-index: 1;
    top: clamp(-12rem, -9vw, -7rem);
    right: clamp(-180px, -7vw, -70px);
    width: clamp(620px, 54vw, 900px);
    margin: 0;
  }
}

@media (max-width: 980px) {
  .pw-forecast-story__stage { grid-template-columns: 1fr; min-height: 0; }
  .pw-forecast-story__copy,
  .pw-forecast-story__visual { grid-column: 1; }
  .pw-forecast-story__nav { flex-wrap: nowrap; overflow-x: auto; }
  .pw-forecast-story__nav button { flex: 0 0 130px; }
  .pw-forecast-story__nav button::after { display: none; }
  .pw-forecast-story__copy { min-height: 460px; }
  .pw-forecast-story__visual { max-width: 720px; width: 100%; }
}

@media (max-width: 600px) {
  .pw-forecast-story__intro { min-height: 610px; }
  .pw-forecast-orbit { width: 94vw; margin-left: 50%; transform: translateX(-50%); }
  .pw-forecast-orbit__ring b > span { font-size: 0.52rem; }
  .pw-forecast-story__copy { min-height: 560px; }
  .pw-story-window { height: auto; min-height: 480px; }
  .pw-story-metrics,
  .pw-story-scale { grid-template-columns: 1fr; }
  .pw-story-screen--connected { grid-template-columns: 1fr; }
  .pw-story-ai-sidebar { display: none; }
  .pw-forecast-story__cta { align-items: flex-start; flex-direction: column; }
  .pw-forecast-story__cta a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .pw-forecast-orbit__ring,
  .pw-forecast-orbit__ring b,
  .pw-forecast-orbit__core::before,
  .pw-forecast-orbit__core::after { animation: none; }
  .pw-forecast-chapter,
  .pw-story-screen { transition: none !important; }
}

/* Forecasting FAQ mosaic */
.pw-forecast-faq {
  background: var(--aif-ink);
  padding: clamp(6rem, 10vw, 10rem) 0;
}

/* Match the Insivia reference page gutters at every viewport width. */
.pw-forecast-faq > .pw-container,
.pw-law-firms-page .lf-workflow-band > .pw-container {
  max-width: none;
  padding-inline: clamp(1.5rem, 7vw, 9.3rem);
}

.pw-forecast-faq h2 {
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: rgba(255, 255, 255, 0.64);
  font-size: clamp(0.78rem, 1vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pw-forecast-faq__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.4vw, 1.4rem);
}

.pw-forecast-faq__card {
  position: relative;
  min-width: 0;
  overflow-wrap: anywhere;
  min-height: clamp(310px, 28vw, 430px);
  grid-column: span 2;
  overflow: hidden;
  border-radius: 7px;
  background:
    radial-gradient(circle at 92% 8%, rgba(141, 178, 232, 0.22), transparent 34%),
    linear-gradient(145deg, #fff 22%, #f3f7fb 100%);
  color: var(--aif-ink);
  padding: clamp(2rem, 3.25vw, 3.75rem);
  box-shadow: 0 22px 60px rgba(0, 5, 14, 0.2);
}

.pw-forecast-faq__card::before,
.pw-forecast-faq__card::after {
  position: absolute;
  border: 1px solid rgba(56, 131, 206, 0.1);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.pw-forecast-faq__card::before {
  right: -14%;
  bottom: -45%;
  width: 58%;
  aspect-ratio: 1;
}

.pw-forecast-faq__card::after {
  right: 8%;
  bottom: -31%;
  width: 34%;
  aspect-ratio: 1;
  box-shadow: 0 0 70px rgba(49, 208, 205, 0.09);
}

.pw-forecast-faq__card:nth-child(2n) {
  background:
    radial-gradient(circle at 10% 100%, rgba(232, 86, 38, 0.1), transparent 35%),
    radial-gradient(circle at 88% 12%, rgba(49, 208, 205, 0.16), transparent 32%),
    #f8fafc;
}

.pw-forecast-faq__card:nth-child(3n)::before {
  top: -35%;
  right: -8%;
  bottom: auto;
}

.pw-forecast-faq__card--wide {
  grid-column: span 3;
}

.pw-forecast-faq__card > span {
  position: relative;
  z-index: 1;
  color: #3883ce;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.pw-forecast-faq__card h3 {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: clamp(1.5rem, 3vw, 2.75rem) 0 0;
  color: var(--aif-ink);
  font-size: clamp(1.8rem, 2.5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
}

.pw-forecast-faq__card p {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 1.4rem 0 0;
  color: #5f7184;
  font-size: clamp(0.95rem, 1.15vw, 1.12rem);
  line-height: 1.65;
}

@media (max-width: 900px) {
  .pw-forecast-faq__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw-forecast-faq__card,
  .pw-forecast-faq__card--wide { grid-column: span 1; }
}

@media (max-width: 600px) {
  .pw-forecast-faq__grid { grid-template-columns: minmax(0, 1fr); }
  .pw-forecast-faq__card { min-height: 0; }
}

.pw-proof__lower {
  margin-top: clamp(2.5rem, 4vw, 2rem);
}

.pw-proof__description {
  max-width: none;
  margin: 0 0 50px;
  color: #526276;
  font-size: clamp(1rem, 1.6vw, 1.5rem);
  line-height: 1.65;
}

.pw-proof__logos {
  width: 100%;
}

.pw-proof__logos > p {
  margin: 0 0 1.2rem;
  color: #7a8796;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Carousel: same technique as .pw-marquee/.pw-marquee__track above — the
   track holds the logo set twice back to back and animates translateX(-50%)
   on an infinite loop, so the seam between the two copies is invisible. */
.pw-proof-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.pw-proof-marquee__track {
  display: flex;
  width: max-content;
  animation: pw-proof-marquee 26s linear infinite;
}

.pw-proof-logos {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}

.pw-proof-logo {
  flex-shrink: 0;
  width: clamp(140px, 12vw, 200px);
  padding-right: clamp(1.25rem, 3vw, 3rem);
}

.pw-proof-logo img {
  display: block;
  width: 100%;
  height: 64px;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: multiply;
}

/* Text-only fallback for the 2 names with no real logo mark (Trexo Global,
   IP Tiles) — sized/aligned to sit in the same row as the image logos. */
.pw-proof-logo--text {
  display: flex;
  align-items: center;
  height: 64px;
  color: var(--aif-text-muted);
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}

@keyframes pw-proof-marquee {
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pw-proof-marquee__track {
    animation: none;
    transform: none;
  }
}

@media (max-width: 900px) {
  .pw-proof {
    padding: 4rem 1.5rem;
  }

  .pw-proof h2 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
    line-height: 1.02;
  }
}

/* ── Homepage redesign: Module 3 — old-workflow ("problem") section ─
   Sits directly under proof (see components/_old-workflow.html). Headline
   (lead + reveal lines) + one line of copy + a "compare" link, alongside an
   autoplaying horse-and-buggy video on the right, matching .old-workflow at
   https://insivia.app/prokurio/home.html. */

.pw-old-workflow {
  width: 94%;
  max-width: var(--aif-width-wide);
  margin: 0 auto clamp(5rem, 8vw, 9rem);
  display: grid;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  align-items: center;
  gap: 0;
  padding-block: clamp(2.5rem, 5vw, 5rem);
}

.pw-home-workflow-band > .pw-container {
  max-width: none;
  padding-inline: clamp(1.5rem, 7vw, 9.3rem);
}

.pw-home-workflow-band .pw-old-workflow {
  width: 100%;
  max-width: none;
}

.pw-old-workflow__copy {
  position: relative;
  z-index: 2;
  max-width: none;
}

/* 180% of the copy column's own width — deliberately wider than its
   column so the headline visually overflows rightward, over the video,
   matching the reference exactly. z-index puts it above the media (which
   has no z-index of its own, so sits at the stacking default below). */
.pw-old-workflow__copy h2 {
  position: relative;
  z-index: 2;
  width: 180%;
  max-width: none;
  margin: 0;
  font-size: clamp(2.1rem, 3.6vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.18;
  color: var(--aif-on-accent);
  text-shadow: 0 3px 24px rgba(0, 18, 38, 0.42);
}

.pw-old-workflow__lead {
  display: block;
}

.pw-old-workflow__phrase {
  color: var(--aif-gold);
}

.pw-old-workflow__reveal {
  display: block;
  color: var(--aif-on-accent);
}

.pw-old-workflow__copy p {
  max-width: 34rem;
  margin: 1.5rem 0 0;
  color: color-mix(in srgb, var(--aif-grey-blue) 82%, transparent);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.65;
}

.pw-old-workflow__link {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  margin-top: 1.75rem;
  color: var(--aif-on-accent);
  font-weight: 600;
  text-decoration: none;
  transition:
    color 0.16s ease,
    gap 0.16s ease;
}

.pw-old-workflow__link span:last-child {
  color: var(--aif-teal);
  font-size: 1.4rem;
  line-height: 0.8;
  transition: transform 0.2s ease;
}

.pw-old-workflow__link:hover {
  gap: 0.6em;
  color: var(--aif-gold);
  text-decoration: none;
}

.pw-old-workflow__link:focus-visible {
  outline: 2px solid var(--aif-on-accent);
  outline-offset: 5px;
}

/* Media sits to the right of, and partly beneath, the headline (the
   headline column is intentionally narrower than its text needs so the
   media visually starts under it) — matches the reference's layout, not
   guessed. */
.pw-old-workflow__media {
  position: relative;
  width: 100%;
  height: clamp(280px, 25vw, 360px);
  justify-self: end;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: var(--aif-radius-sm);
  background: var(--aif-ink);
  box-shadow: 0 24px 70px rgba(0, 5, 14, 0.18);
}

.pw-old-workflow__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 29, 58, 0.58), rgba(0, 29, 58, 0.2) 42%, rgba(0, 29, 58, 0.3)),
    color-mix(in srgb, var(--aif-accent) 22%, transparent);
  mix-blend-mode: color;
  content: "";
  pointer-events: none;
}

.pw-old-workflow__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.58;
  filter: grayscale(1) sepia(0.25) saturate(1.8) hue-rotate(165deg) contrast(1.05) brightness(0.66);
}

/* Scroll-triggered entrance states and sequencing are set by the GSAP
   timeline in home.js. Keeping them out of CSS means content remains visible
   if JavaScript or a vendor asset is unavailable. */

@media (prefers-reduced-motion: reduce) {
  .pw-old-workflow__media {
    display: none;
  }

}

@media (max-width: 900px) {
  .pw-old-workflow {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }

  /* Reference only resets this at 600px (a single-column phone layout
     already has no video beside the headline to overflow onto at that
     width) — reset here instead, one breakpoint earlier, since our own
     900px collapse already stacks the grid to one column and 180% would
     just overflow the viewport with nothing to show for it. */
  .pw-old-workflow__copy h2 {
    width: auto;
  }

  .pw-old-workflow__copy p {
    margin-inline: auto;
  }

  .pw-old-workflow__media {
    justify-self: stretch;
    aspect-ratio: 16 / 10;
    height: auto;
  }
}

/* ── Homepage redesign: Module 4 — answer section ────────────────────
   Sits directly under old-workflow (see components/_answer.html,
   _answer-card.html). Centered headline + subtext, then a 12-column
   masonry grid of 5 cards, matching .answer-section at
   https://insivia.app/prokurio/home.html. Card reveal-on-scroll uses the
   matching GSAP/ScrollTrigger timeline in home.js. Each card's internal chart motion
   (morph/orbit/timeline/report-wireframe) is a plain CSS infinite loop,
   same as the reference — no JS needed for those. */

.pw-answer {
  width: 94%;
  max-width: var(--aif-width-wide);
  margin: 0 auto clamp(6rem, 10vw, 11rem);
  padding-top: clamp(2rem, 4vw, 4rem);
}

.pw-answer__header {
  max-width: 1280px;
  margin: 0 auto clamp(3.5rem, 6vw, 6rem);
  text-align: center;
}

.pw-answer__header h2 {
  margin: 0;
  color: var(--aif-on-accent);
  font-size: clamp(1.9rem, 3.7vw, 4rem);
  font-weight: 900;
  line-height: 1.15;
  text-wrap: balance;
}

.pw-answer__line {
  display: block;
}

.pw-answer__phrase {
  color: var(--aif-orange);
}

.pw-answer__header p {
  max-width: none;
  margin: clamp(1.4rem, 2.5vw, 2rem) 0 0;
  color: color-mix(in srgb, var(--aif-grey-blue) 82%, transparent);
  font-size: clamp(0.9rem, 1.55vw, 1.65rem);
  font-weight: 300;
}

.pw-answer-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.4vw, 1.25rem);
}

.pw-answer-card {
  position: relative;
  display: grid;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--aif-on-accent) 78%, transparent);
  border-radius: 6px;
  background:
    radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--aif-sky) 10%, transparent), transparent 35%),
    linear-gradient(145deg, #ffffff, #f3f6f8);
  color: var(--aif-ink);
  box-shadow: 0 22px 60px rgba(0, 8, 21, 0.18);
}

.pw-answer-card--wide {
  grid-column: span 7;
  min-height: 400px;
  grid-template-columns: minmax(0, 0.9fr) minmax(180px, 1.1fr);
}

.pw-answer-card--medium {
  grid-column: span 5;
  min-height: 400px;
  grid-template-rows: auto 1fr;
}

.pw-answer-card--third {
  grid-column: span 4;
  min-height: 350px;
  grid-template-rows: auto 1fr;
}

.pw-answer-card:nth-child(3),
.pw-answer-card:nth-child(5) {
  grid-template-rows: 1fr auto;
}

.pw-answer-card:nth-child(3) .pw-answer-card__visual,
.pw-answer-card:nth-child(5) .pw-answer-card__visual {
  grid-row: 1;
}

.pw-answer-card:nth-child(3) .pw-answer-card__copy,
.pw-answer-card:nth-child(5) .pw-answer-card__copy {
  grid-row: 2;
}

.pw-answer-card__copy {
  position: relative;
  z-index: 1;
  padding: clamp(1.5rem, 3vw, 2.75rem);
}

.pw-answer-card__number {
  display: block;
  margin-bottom: 1rem;
  color: var(--aif-sky);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.pw-answer-card h3 {
  margin: 0;
  color: var(--aif-ink);
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.pw-answer-card p {
  margin: 0.9rem 0 0;
  color: #526276;
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.6;
}

.pw-answer-card__visual {
  position: relative;
  min-height: 145px;
  margin: clamp(1rem, 2vw, 1.75rem);
  overflow: hidden;
  border: 1px dashed color-mix(in srgb, var(--aif-accent) 13%, transparent);
  border-radius: 5px;
  background:
    linear-gradient(color-mix(in srgb, var(--aif-accent) 4%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--aif-accent) 4%, transparent) 1px, transparent 1px),
    color-mix(in srgb, var(--aif-accent) 2%, transparent);
  background-size: 28px 28px;
}

.pw-answer-card__visual::before,
.pw-answer-card__visual::after,
.pw-answer-card__visual > span {
  position: absolute;
  border-radius: 50%;
  content: "";
}

.pw-answer-card__visual::before {
  width: 46%;
  aspect-ratio: 1;
  top: 12%;
  right: 10%;
  background: color-mix(in srgb, var(--aif-sky) 9%, transparent);
}

.pw-answer-card__visual::after {
  width: 28%;
  aspect-ratio: 1;
  right: 38%;
  bottom: 7%;
  background: color-mix(in srgb, var(--aif-teal) 8%, transparent);
}

.pw-answer-card__visual > span {
  width: 18%;
  aspect-ratio: 1;
  right: 14%;
  bottom: 9%;
  background: color-mix(in srgb, var(--aif-orange) 8%, transparent);
}

/* ── Card 3 visual: report wireframe ─────────────────────────────── */

.pw-answer-card__visual--report {
  min-height: 205px;
  margin: -2rem -2.75rem 0 0.75rem;
  overflow: visible;
  border: 0;
  background: none;
}

.pw-answer-card__visual--report::before,
.pw-answer-card__visual--report::after {
  display: none;
}

.pw-report-wireframe {
  position: absolute;
  top: -12%;
  right: -5%;
  width: 116%;
  min-width: 390px;
  height: 255px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 13%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, #f8fbfd 56%, transparent);
  box-shadow: 0 18px 50px color-mix(in srgb, var(--aif-accent) 6%, transparent);
  opacity: 0.72;
  transform: rotate(-1.5deg);
  animation: pw-report-wireframe-float 9s ease-in-out infinite;
}

.pw-report-wireframe__top {
  display: flex;
  height: 31px;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--aif-accent) 9%, transparent);
  background: color-mix(in srgb, var(--aif-accent) 2%, transparent);
}

.pw-report-wireframe__top i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--aif-accent) 16%, transparent);
}

.pw-report-wireframe__top span {
  width: 26%;
  height: 5px;
  margin-left: 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--aif-accent) 11%, transparent);
}

.pw-report-wireframe__title {
  padding: 15px 18px 9px;
}

.pw-report-wireframe__title span,
.pw-report-wireframe__title small {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--aif-accent) 15%, transparent);
}

.pw-report-wireframe__title span {
  width: 38%;
}

.pw-report-wireframe__title small {
  width: 56%;
  height: 4px;
  margin-top: 7px;
  opacity: 0.55;
}

.pw-report-wireframe__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 0 18px 11px;
}

.pw-report-wireframe__metrics i {
  height: 36px;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 10%, transparent);
  border-radius: 4px;
  background:
    linear-gradient(color-mix(in srgb, var(--aif-sky) 13%, transparent), color-mix(in srgb, var(--aif-sky) 13%, transparent)) 9px 9px / 42% 5px no-repeat,
    linear-gradient(color-mix(in srgb, var(--aif-accent) 8%, transparent), color-mix(in srgb, var(--aif-accent) 8%, transparent)) 9px 21px / 66% 4px no-repeat;
}

.pw-report-wireframe__body {
  display: grid;
  grid-template-columns: 1.65fr 0.8fr;
  gap: 9px;
  padding: 0 18px;
}

.pw-report-wireframe__chart,
.pw-report-wireframe__notes {
  height: 105px;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 9%, transparent);
  border-radius: 4px;
  background:
    repeating-linear-gradient(to bottom, transparent 0 24px, color-mix(in srgb, var(--aif-accent) 4%, transparent) 25px),
    rgba(255, 255, 255, 0.22);
}

.pw-report-wireframe__chart {
  display: flex;
  align-items: end;
  justify-content: space-around;
  padding: 12px 14px 0;
}

.pw-report-wireframe__chart span {
  width: 9%;
  height: var(--bar);
  border-radius: 2px 2px 0 0;
  background: linear-gradient(to top, color-mix(in srgb, var(--aif-accent) 24%, transparent), color-mix(in srgb, var(--aif-sky) 20%, transparent));
  transform-origin: bottom;
  animation: pw-report-wireframe-bars 9s ease-in-out infinite;
}

.pw-report-wireframe__notes {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 15px 12px;
}

.pw-report-wireframe__notes i {
  height: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--aif-accent) 10%, transparent);
}

.pw-report-wireframe__notes i:nth-child(2) {
  width: 76%;
}

.pw-report-wireframe__notes i:nth-child(3) {
  width: 88%;
}

.pw-report-wireframe__notes i:nth-child(4) {
  width: 58%;
}

@keyframes pw-report-wireframe-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(-1.5deg);
  }
  50% {
    transform: translate3d(-5px, 4px, 0) rotate(-0.8deg);
  }
}

@keyframes pw-report-wireframe-bars {
  0%,
  18% {
    transform: scaleY(0.32);
    opacity: 0.35;
  }
  38%,
  82% {
    transform: scaleY(1);
    opacity: 1;
  }
  100% {
    transform: scaleY(0.72);
    opacity: 0.7;
  }
}

/* ── Card 4 visual: intelligence orbit ───────────────────────────── */

.pw-answer-card__visual--orbit {
  min-height: 175px;
  margin: 0;
  overflow: visible;
  border: 0;
  background: none;
}

.pw-answer-card__visual--orbit::before,
.pw-answer-card__visual--orbit::after {
  display: none;
}

.pw-intelligence-orbit {
  position: absolute;
  right: 50%;
  bottom: -175px;
  width: 330px;
  height: 330px;
  margin-right: -165px;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 20%, transparent);
  border-radius: 50%;
  animation: pw-intelligence-orbit-spin 30s linear infinite;
}

.pw-intelligence-orbit::before,
.pw-intelligence-orbit::after {
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 17%, transparent);
  border-radius: 50%;
  content: "";
}

.pw-intelligence-orbit::before {
  inset: 28px;
}

.pw-intelligence-orbit::after {
  inset: 58px;
}

.pw-intelligence-orbit__core {
  position: absolute;
  inset: 74px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--aif-sky) 24%, transparent);
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 45px color-mix(in srgb, var(--aif-accent) 9%, transparent);
}

.pw-intelligence-orbit__core span {
  color: #001d3a;
  font-size: 2rem;
  font-weight: 900;
  transform: rotate(0deg);
  animation: pw-intelligence-orbit-counterspin 30s linear infinite;
}

.pw-intelligence-orbit__node {
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  border: 1px solid color-mix(in srgb, var(--aif-accent) 28%, transparent);
  border-radius: 50%;
  background: #edf4f8;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--aif-accent) 14%, transparent);
}

.pw-intelligence-orbit__node::after {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--aif-sky) 42%, transparent);
  content: "";
}

.pw-intelligence-orbit__node--one {
  top: 8px;
  left: 156px;
  animation: pw-intelligence-node-glow 4.7s -1.1s ease-in-out infinite;
}

.pw-intelligence-orbit__node--two {
  top: 54px;
  right: 42px;
  width: 14px;
  height: 14px;
  animation: pw-intelligence-node-glow 6.1s -3.8s ease-in-out infinite;
}

.pw-intelligence-orbit__node--three {
  top: 142px;
  right: -5px;
  width: 21px;
  height: 21px;
  animation: pw-intelligence-node-glow 5.3s -2.2s ease-in-out infinite;
}

.pw-intelligence-orbit__node--four {
  top: 72px;
  left: 24px;
  width: 12px;
  height: 12px;
  animation: pw-intelligence-node-glow 7.2s -0.6s ease-in-out infinite;
}

.pw-intelligence-orbit__node--five {
  top: 172px;
  left: -7px;
  width: 16px;
  height: 16px;
  animation: pw-intelligence-node-glow 4.2s -3.1s ease-in-out infinite;
}

.pw-intelligence-orbit__node--six {
  top: 24px;
  left: 78px;
  width: 10px;
  height: 10px;
  animation: pw-intelligence-node-glow 5.8s -4.5s ease-in-out infinite;
}

.pw-intelligence-orbit__node--two::after,
.pw-intelligence-orbit__node--five::after {
  background: color-mix(in srgb, var(--aif-teal) 46%, transparent);
}

.pw-intelligence-orbit__node--three::after,
.pw-intelligence-orbit__node--six::after {
  background: color-mix(in srgb, var(--aif-orange) 38%, transparent);
}

@keyframes pw-intelligence-orbit-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pw-intelligence-orbit-counterspin {
  to {
    transform: rotate(-360deg);
  }
}

@keyframes pw-intelligence-node-glow {
  0%,
  58%,
  100% {
    border-color: color-mix(in srgb, var(--aif-accent) 24%, transparent);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--aif-accent) 12%, transparent);
    opacity: 0.76;
  }
  66%,
  78% {
    border-color: color-mix(in srgb, var(--aif-teal) 55%, transparent);
    box-shadow:
      0 0 0 6px color-mix(in srgb, var(--aif-teal) 8%, transparent),
      0 5px 18px color-mix(in srgb, var(--aif-accent) 16%, transparent);
    opacity: 1;
  }
}

/* ── Card 5 visual: confidence timeline ──────────────────────────── */

.pw-answer-card__visual--timeline {
  min-height: 205px;
  margin: -1.5rem -2.5rem 0 0.8rem;
  overflow: visible;
  border: 0;
  background: none;
  -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
  mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

.pw-answer-card__visual--timeline::before,
.pw-answer-card__visual--timeline::after {
  display: none;
}

.pw-confidence-timeline {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.pw-confidence-timeline__track {
  position: absolute;
  top: 52%;
  left: 0;
  display: flex;
  width: 185%;
  align-items: center;
  justify-content: space-around;
  border-top: 2px solid color-mix(in srgb, var(--aif-accent) 11%, transparent);
  animation: pw-confidence-timeline-forward 20s linear infinite;
}

.pw-confidence-timeline__track::after {
  position: absolute;
  top: -7px;
  right: -2px;
  width: 12px;
  height: 12px;
  border-top: 2px solid color-mix(in srgb, var(--aif-accent) 14%, transparent);
  border-right: 2px solid color-mix(in srgb, var(--aif-accent) 14%, transparent);
  content: "";
  transform: rotate(45deg);
}

.pw-confidence-timeline__track span {
  position: relative;
  width: 12.5%;
  height: 1px;
  text-align: center;
}

.pw-confidence-timeline__track i {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid color-mix(in srgb, var(--aif-sky) 20%, transparent);
  border-radius: 50%;
  background: #f5f8fa;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--aif-sky) 4%, transparent);
  transform: translateX(-50%);
}

.pw-confidence-timeline__track small {
  position: absolute;
  top: 16px;
  left: 50%;
  color: color-mix(in srgb, var(--aif-accent) 30%, transparent);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
}

.pw-confidence-timeline__track span:nth-child(even) small {
  top: -34px;
}

.pw-confidence-timeline__track .is-decision i {
  border-color: color-mix(in srgb, var(--aif-teal) 35%, transparent);
  background: color-mix(in srgb, var(--aif-teal) 14%, transparent);
  animation: pw-confidence-decision-pulse 5.4s ease-in-out infinite;
}

.pw-confidence-timeline__track .is-decision:nth-child(6) i {
  border-color: color-mix(in srgb, var(--aif-orange) 28%, transparent);
  background: color-mix(in srgb, var(--aif-orange) 10%, transparent);
  animation-delay: -2.8s;
}

@keyframes pw-confidence-timeline-forward {
  from {
    transform: translateX(2%);
  }
  to {
    transform: translateX(-43%);
  }
}

@keyframes pw-confidence-decision-pulse {
  0%,
  60%,
  100% {
    box-shadow: 0 0 0 4px transparent;
    transform: translateX(-50%) scale(0.88);
  }
  72%,
  84% {
    box-shadow: 0 0 0 9px color-mix(in srgb, var(--aif-teal) 8%, transparent);
    transform: translateX(-50%) scale(1.12);
  }
}

/* ── Card 1 visual: globe ─────────────────────────────────────────── */

.pw-answer-card__visual--globe::before,
.pw-answer-card__visual--globe::after {
  display: none;
}

.pw-answer-card__visual--globe {
  position: absolute;
  z-index: 0;
  right: -12%;
  bottom: -24%;
  width: 80%;
  height: 110%;
  min-height: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(135deg, transparent 3%, black 43%);
  mask-image: linear-gradient(135deg, transparent 3%, black 43%);
}

.pw-answer-card__visual--globe svg {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.58;
  mix-blend-mode: multiply;
}

/* ── Card 2 visual: morph charts (bars → line → donuts, cross-fading) ── */

.pw-answer-card__visual--morph::before,
.pw-answer-card__visual--morph::after {
  display: none;
}

.pw-answer-card__visual--morph {
  position: absolute;
  inset: 34% -14% -20% 27%;
  display: grid;
  min-height: 0;
  place-items: center;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 28%);
  mask-image: linear-gradient(to right, transparent 0%, black 28%);
}

.pw-morph-chart {
  position: absolute;
  opacity: 0;
}

.pw-morph-chart--bars {
  display: flex;
  width: 112%;
  height: 42%;
  align-items: end;
  justify-content: space-around;
  gap: clamp(14px, 2.5vw, 28px);
  border-bottom: 1px solid color-mix(in srgb, var(--aif-accent) 15%, transparent);
  animation: pw-morph-bars 9s ease-in-out infinite;
}

.pw-morph-chart--bars i {
  width: clamp(24px, 4vw, 48px);
  height: var(--height);
  border-radius: 4px 4px 0 0;
  background: linear-gradient(to top, color-mix(in srgb, var(--aif-accent) 58%, transparent), color-mix(in srgb, var(--aif-sky) 50%, transparent));
  transform-origin: bottom;
}

.pw-morph-chart--line {
  width: 118%;
  height: 72%;
  overflow: visible;
  animation: pw-morph-line 9s ease-in-out infinite;
}

.pw-morph-chart--line path {
  fill: none;
  stroke: color-mix(in srgb, var(--aif-sky) 68%, transparent);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.pw-morph-chart--line circle {
  fill: #f8fafb;
  stroke: color-mix(in srgb, var(--aif-teal) 72%, transparent);
  stroke-width: 4;
}

.pw-morph-chart--donuts {
  left: -16%;
  bottom: -24%;
  width: 118%;
  height: 112%;
  animation: pw-morph-donut 9s ease-in-out infinite;
}

.pw-morph-chart--donuts i {
  position: absolute;
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(
    color-mix(in srgb, var(--aif-accent) 62%, transparent) 0 42%,
    color-mix(in srgb, var(--aif-sky) 52%, transparent) 42% 72%,
    color-mix(in srgb, var(--aif-teal) 55%, transparent) 72% 89%,
    color-mix(in srgb, var(--aif-gold) 58%, transparent) 89% 100%
  );
}

.pw-morph-chart--donuts i::after {
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #f5f8fa;
  content: "";
}

.pw-morph-chart--donuts i:nth-child(1) {
  left: -2%;
  bottom: -12%;
  width: clamp(170px, 22vw, 260px);
}

.pw-morph-chart--donuts i:nth-child(2) {
  top: 7%;
  left: 42%;
  width: clamp(115px, 15vw, 175px);
  background: conic-gradient(
    color-mix(in srgb, var(--aif-teal) 52%, transparent) 0 34%,
    color-mix(in srgb, var(--aif-accent) 58%, transparent) 34% 78%,
    color-mix(in srgb, var(--aif-orange) 45%, transparent) 78% 100%
  );
}

.pw-morph-chart--donuts i:nth-child(3) {
  left: 34%;
  bottom: 3%;
  width: clamp(82px, 10vw, 125px);
  background: conic-gradient(
    color-mix(in srgb, var(--aif-sky) 52%, transparent) 0 58%,
    color-mix(in srgb, var(--aif-gold) 55%, transparent) 58% 82%,
    color-mix(in srgb, var(--aif-accent) 52%, transparent) 82% 100%
  );
}

.pw-morph-chart--donuts i:nth-child(4) {
  top: 16%;
  left: 68%;
  width: clamp(58px, 7vw, 88px);
  background: conic-gradient(
    color-mix(in srgb, var(--aif-orange) 42%, transparent) 0 28%,
    color-mix(in srgb, var(--aif-teal) 52%, transparent) 28% 70%,
    color-mix(in srgb, var(--aif-sky) 48%, transparent) 70% 100%
  );
}

@keyframes pw-morph-bars {
  0%,
  4% {
    opacity: 0;
    transform: scaleX(0.78);
  }
  10%,
  27% {
    opacity: 0.72;
    transform: scaleX(1);
  }
  34%,
  100% {
    opacity: 0;
    transform: scaleX(1.08);
  }
}

@keyframes pw-morph-line {
  0%,
  28%,
  100% {
    opacity: 0;
    transform: scale(0.9);
  }
  37%,
  59% {
    opacity: 0.72;
    transform: scale(1);
  }
  66% {
    opacity: 0;
    transform: scale(1.06);
  }
}

@keyframes pw-morph-donut {
  0%,
  60%,
  100% {
    opacity: 0;
    transform: scale(0.76) rotate(-28deg);
  }
  70%,
  91% {
    opacity: 0.7;
    transform: scale(1) rotate(0);
  }
  97% {
    opacity: 0;
    transform: scale(1.06) rotate(8deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pw-answer-card {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .pw-report-wireframe,
  .pw-report-wireframe__chart span,
  .pw-intelligence-orbit,
  .pw-intelligence-orbit__core span,
  .pw-intelligence-orbit__node,
  .pw-confidence-timeline__track,
  .pw-confidence-timeline__track .is-decision i,
  .pw-morph-chart--bars,
  .pw-morph-chart--line,
  .pw-morph-chart--donuts {
    animation: none;
  }

  .pw-morph-chart--bars {
    opacity: 0.72;
  }
}

@media (max-width: 900px) {
  .pw-answer-card--wide,
  .pw-answer-card--medium,
  .pw-answer-card--third {
    grid-column: span 6;
    min-height: 380px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .pw-answer-card:last-child {
    grid-column: 4 / span 6;
  }
}

@media (max-width: 600px) {
  .pw-answer {
    margin-bottom: 6rem;
  }

  .pw-answer__header h2 {
    font-size: clamp(2.1rem, 9vw, 3rem);
  }

  .pw-answer__line {
    white-space: normal;
  }

  .pw-answer-card--wide,
  .pw-answer-card--medium,
  .pw-answer-card--third,
  .pw-answer-card:last-child {
    grid-column: 1 / -1;
    min-height: 360px;
  }
}

/* ── Homepage redesign: Module 5 — CTA bar ───────────────────────────
   Sits directly under the answer grid (see components/_cta_bar.html). A
   slim band — one line of copy, one full-height orange button — matching
   .cta-bar at https://insivia.app/prokurio/home.html. Distinct from the
   page's existing large closing .pw-band (headline + copy + centered
   button) further down. */

.pw-cta-bar {
  display: grid;
  width: 94%;
  max-width: var(--aif-width-wide);
  min-height: 120px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 32%);
  align-items: stretch;
  margin: 0 auto clamp(5rem, 8vw, 9rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--aif-on-accent) 7%, transparent);
  border-radius: 6px;
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--aif-accent) 12%, transparent), transparent 42%),
    var(--aif-ink);
  box-shadow: 0 24px 70px rgba(0, 5, 14, 0.28);
}

.pw-cta-bar > p {
  align-self: center;
  margin: 0;
  color: var(--aif-on-accent);
  font-size: clamp(1.2rem, 1.8vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.12;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  white-space: nowrap;
}

.pw-cta-bar > a {
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--aif-orange);
  color: var(--aif-on-accent);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 700;
  padding: 1.5rem clamp(1.5rem, 3vw, 2.75rem);
  text-decoration: none;
  transition:
    background-color 180ms ease,
    padding-right 180ms ease;
}

.pw-cta-bar__chevron {
  font-size: clamp(3.5rem, 6vw, 6rem);
  font-weight: 300;
  line-height: 0.65;
}

.pw-cta-bar > a:hover {
  background: color-mix(in srgb, var(--aif-orange) 85%, white);
  padding-right: clamp(1.2rem, 2.6vw, 2.35rem);
  color: var(--aif-on-accent);
  text-decoration: none;
}

.pw-cta-bar > a:focus-visible {
  outline: 3px solid var(--aif-on-accent);
  outline-offset: -7px;
}

@media (max-width: 900px) {
  .pw-cta-bar {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 38%);
  }
}

@media (max-width: 600px) {
  .pw-cta-bar {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .pw-cta-bar > p {
    padding: 2.25rem 1.5rem;
    white-space: normal;
  }

  .pw-cta-bar > a {
    min-height: 76px;
  }
}

/* ── Homepage redesign: Module 6 — intelligence explorer ─────────────
   Sits directly under the CTA bar (see components/_intelligence_explorer.html).
   A 6-tab vertical list + a detail stage (eyebrow, headline, copy, CTA, and
   a tilted app-window visual with metrics/bar chart/floating callout),
   matching .intelligence-explorer at https://insivia.app/prokurio/home.html.
   Tab switching is initIntelligenceExplorer() in home.js; badge colour
   variants below are a simplified token-based version of the reference's
   bespoke per-tab gradient glow, reusing the same color-mix() tint pattern
   as .pw-card__icon--*. */

.pw-intelligence {
  width: min(94%, var(--aif-width-wide));
  margin: 0 auto clamp(7rem, 11vw, 11rem);
}

.pw-intel-explorer {
  display: grid;
  min-height: 600px;
  grid-template-columns: minmax(260px, 27%) minmax(0, 1fr);
  border-top: 1px solid color-mix(in srgb, var(--aif-on-accent) 16%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--aif-on-accent) 16%, transparent);
}

.pw-intel-tabs {
  display: flex;
  flex-direction: column;
  border-right: 1px solid color-mix(in srgb, var(--aif-on-accent) 16%, transparent);
}

.pw-intel-tabs button {
  position: relative;
  display: grid;
  flex: 1;
  align-items: center;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.9rem;
  width: 100%;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--aif-on-accent) 10%, transparent);
  background: transparent;
  color: color-mix(in srgb, var(--aif-grey-blue) 62%, transparent);
  padding: 1.25rem 1.5rem;
  font: inherit;
  font-size: clamp(0.82rem, 1vw, 1rem);
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    padding-left 0.3s ease;
}

.pw-intel-tabs button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1px;
  width: 3px;
  background: var(--aif-orange);
  content: "";
  opacity: 0;
  transform: scaleY(0.25);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.pw-intel-tabs button:last-child {
  border-bottom: 0;
}

.pw-intel-tabs__badge {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--aif-sky) 42%, transparent);
  border-radius: 4px;
  background: color-mix(in srgb, var(--aif-sky) 16%, transparent);
  color: var(--aif-sky);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.pw-intel-tabs__badge .pw-icon {
  width: 1.4rem;
  height: 1.4rem;
}

.pw-intel-tabs button:nth-child(2) .pw-intel-tabs__badge {
  border-color: color-mix(in srgb, var(--aif-teal) 45%, transparent);
  background: color-mix(in srgb, var(--aif-teal) 16%, transparent);
  color: var(--aif-teal);
}

.pw-intel-tabs button:nth-child(3) .pw-intel-tabs__badge {
  border-color: color-mix(in srgb, var(--aif-gold) 40%, transparent);
  background: color-mix(in srgb, var(--aif-gold) 16%, transparent);
  color: var(--aif-gold);
}

.pw-intel-tabs button:nth-child(4) .pw-intel-tabs__badge {
  border-color: color-mix(in srgb, var(--aif-orange) 40%, transparent);
  background: color-mix(in srgb, var(--aif-orange) 16%, transparent);
  color: var(--aif-orange);
}

.pw-intel-tabs button:nth-child(5) .pw-intel-tabs__badge {
  border-color: color-mix(in srgb, var(--aif-grey-blue) 40%, transparent);
  background: color-mix(in srgb, var(--aif-grey-blue) 16%, transparent);
  color: var(--aif-grey-blue);
}

.pw-intel-tabs button:nth-child(6) .pw-intel-tabs__badge {
  border-color: color-mix(in srgb, var(--aif-on-accent) 32%, transparent);
  background: color-mix(in srgb, var(--aif-on-accent) 10%, transparent);
  color: var(--aif-on-accent);
}

.pw-intel-tabs button:hover .pw-intel-tabs__badge {
  color: var(--aif-on-accent);
  transform: scale(1.06);
}

.pw-intel-tabs button.is-active .pw-intel-tabs__badge {
  transform: scale(1.06);
}

.pw-intel-tabs button:hover,
.pw-intel-tabs button.is-active {
  background: color-mix(in srgb, var(--aif-on-accent) 5%, transparent);
  color: var(--aif-on-accent);
  padding-left: 1.8rem;
}

.pw-intel-tabs button.is-active::before {
  opacity: 1;
  transform: scaleY(1);
}

.pw-intel-tabs button:focus-visible {
  z-index: 1;
  outline: 2px solid var(--aif-teal);
  outline-offset: -3px;
}

.pw-intel-stage {
  position: relative;
  display: grid;
  min-width: 0;
  overflow: hidden;
  grid-template-rows: auto 1fr;
  padding: clamp(2rem, 4.5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem) 0;
}

.pw-intel-stage__copy {
  position: relative;
  z-index: 2;
  max-width: 780px;
}

.pw-intel-stage__eyebrow {
  color: var(--aif-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.pw-intel-stage h3 {
  max-width: 760px;
  margin: 0.8rem 0 0;
  color: var(--aif-on-accent);
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.pw-intel-stage__copy p {
  max-width: none;
  margin: 1rem 0 0;
  color: color-mix(in srgb, var(--aif-grey-blue) 75%, transparent);
  font-size: clamp(0.95rem, 1.25vw, 1.15rem);
  font-weight: 300;
}

.pw-intel-stage__copy a {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.4rem;
  color: var(--aif-on-accent);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.pw-intel-stage__copy a span:last-child {
  color: var(--aif-teal);
  font-size: 1.8rem;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.pw-intel-stage__copy a:hover span:last-child {
  transform: translateX(5px);
}

.pw-intel-visual {
  position: relative;
  min-height: 330px;
  margin-top: 2.5rem;
}

.pw-intel-window {
  position: absolute;
  top: 0;
  right: -5%;
  bottom: -3rem;
  left: 5%;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--aif-on-accent) 18%, transparent);
  border-radius: 10px 10px 0 0;
  background: linear-gradient(145deg, #f9fbfc, #eaf0f4);
  color: var(--aif-ink);
  box-shadow: 0 30px 80px rgba(0, 8, 21, 0.36);
  transform: perspective(1200px) rotateX(2deg) rotateY(-3deg);
  transform-origin: bottom right;
}

.pw-intel-window__toolbar {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  height: 42px;
  border-bottom: 1px solid var(--aif-border);
  background: #ffffff;
  padding: 0 1rem;
}

.pw-intel-window__toolbar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aif-grey-blue);
}

.pw-intel-window__toolbar span {
  margin-left: 0.5rem;
  color: var(--aif-text-muted);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 600;
}

.pw-intel-window__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  padding: 1.2rem;
}

.pw-intel-window__metrics div {
  display: grid;
  gap: 0.3rem;
  border: 1px solid var(--aif-border);
  border-radius: 6px;
  background: color-mix(in srgb, #ffffff 84%, transparent);
  padding: 0.8rem;
}

.pw-intel-window small {
  color: var(--aif-text-muted);
  font-size: 0.58rem;
}

.pw-intel-window__metrics strong {
  color: var(--aif-accent);
  font-size: clamp(0.9rem, 1.5vw, 1.25rem);
}

.pw-intel-window__chart {
  position: absolute;
  right: 5%;
  bottom: 0;
  left: 4%;
  display: flex;
  align-items: end;
  gap: 4%;
  height: 48%;
  border-bottom: 1px solid var(--aif-border-light);
  background: repeating-linear-gradient(to bottom, transparent 0 32px, color-mix(in srgb, var(--aif-accent) 7%, transparent) 33px);
  padding: 0 5%;
}

.pw-intel-window__chart span {
  width: 10%;
  height: var(--value);
  border-radius: 3px 3px 0 0;
  background: linear-gradient(to top, var(--aif-accent), var(--aif-sky));
  transition: height 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.pw-intel-window__float {
  position: absolute;
  top: 42%;
  right: 5%;
  display: grid;
  gap: 0.25rem;
  min-width: 180px;
  border: 1px solid color-mix(in srgb, var(--aif-teal) 42%, transparent);
  border-radius: 7px;
  background: color-mix(in srgb, #ffffff 94%, transparent);
  padding: 0.85rem 1rem;
  box-shadow: 0 14px 35px rgba(0, 29, 58, 0.14);
}

.pw-intel-window__float strong {
  color: var(--aif-accent);
  font-size: 0.9rem;
}

.pw-intel-window__float span {
  color: var(--aif-text-muted);
  font-size: 0.58rem;
}

.pw-scenario-plans {
  position: absolute;
  inset: 62px 1.2rem 1rem;
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.pw-intel-explorer[data-feature="scenario"] .pw-intel-window__metrics,
.pw-intel-explorer[data-feature="scenario"] .pw-intel-window__chart,
.pw-intel-explorer[data-feature="scenario"] .pw-intel-window__float {
  display: none;
}

.pw-intel-explorer[data-feature="scenario"] .pw-scenario-plans {
  display: grid;
}

.pw-scenario-plans article {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-rows: auto auto auto 1fr auto;
  overflow: hidden;
  border: 1px solid var(--aif-border);
  border-radius: 7px;
  background: color-mix(in srgb, #ffffff 88%, transparent);
  padding: clamp(0.7rem, 1.2vw, 1rem);
  box-shadow: 0 10px 24px rgba(0, 29, 58, 0.07);
}

.pw-scenario-plans article.is-recommended {
  border-color: color-mix(in srgb, var(--aif-teal) 55%, transparent);
  background: linear-gradient(160deg, color-mix(in srgb, #ffffff 98%, transparent), color-mix(in srgb, var(--aif-teal) 7%, transparent));
  transform: translateY(-7px);
  box-shadow: 0 16px 34px rgba(0, 60, 90, 0.12);
}

.pw-scenario-plans header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.pw-scenario-plans header span {
  color: var(--aif-accent);
  font-size: 0.72rem;
  font-weight: 800;
}

.pw-scenario-plans header small {
  padding: 0.22rem 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--aif-accent) 7%, transparent);
  font-size: 0.48rem;
  white-space: nowrap;
}

.pw-scenario-plans .is-recommended header small {
  background: color-mix(in srgb, var(--aif-teal) 14%, transparent);
  color: var(--aif-teal-deep);
}

.pw-scenario-plans article > strong {
  margin-top: 0.65rem;
  color: var(--aif-ink);
  font-size: clamp(1rem, 1.7vw, 1.45rem);
}

.pw-scenario-plans article > p {
  min-height: 2.5em;
  margin: 0.28rem 0 0;
  color: var(--aif-text-muted);
  font-size: clamp(0.48rem, 0.68vw, 0.62rem);
  line-height: 1.4;
}

.pw-scenario-plans__bars {
  display: flex;
  height: 92px;
  align-items: end;
  justify-content: space-around;
  gap: 7%;
  margin-top: 0.55rem;
  border-bottom: 1px solid var(--aif-border-light);
  background: repeating-linear-gradient(to bottom, transparent 0 29px, color-mix(in srgb, var(--aif-accent) 5%, transparent) 30px);
  padding: 0 5%;
}

.pw-scenario-plans__bars i {
  width: 12%;
  height: var(--h);
  border-radius: 2px 2px 0 0;
  background: color-mix(in srgb, var(--aif-sky) 45%, transparent);
  transform-origin: bottom;
  animation: pw-scenario-plans-bars-in 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pw-scenario-plans .is-recommended .pw-scenario-plans__bars i {
  background: linear-gradient(to top, var(--aif-accent), var(--aif-teal));
}

.pw-scenario-plans article:nth-child(3) .pw-scenario-plans__bars i {
  background: color-mix(in srgb, var(--aif-orange) 42%, transparent);
}

.pw-scenario-plans footer {
  margin-top: 0.6rem;
  color: var(--aif-text-muted);
  font-size: 0.58rem;
  font-weight: 700;
}

.pw-scenario-plans .is-recommended footer {
  color: var(--aif-teal-deep);
}

@keyframes pw-scenario-plans-bars-in {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pw-scenario-plans__bars i {
    animation: none;
  }
}

@media (max-width: 900px) {
  .pw-intel-explorer {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .pw-intel-tabs {
    display: grid;
    overflow-x: auto;
    grid-template-columns: repeat(6, minmax(190px, 1fr));
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--aif-on-accent) 16%, transparent);
    scrollbar-width: thin;
  }

  .pw-intel-tabs button {
    min-height: 76px;
    border-right: 1px solid color-mix(in srgb, var(--aif-on-accent) 10%, transparent);
    border-bottom: 0;
  }

  .pw-intel-tabs button::before {
    top: auto;
    right: 0;
    bottom: -1px;
    left: auto;
    width: auto;
    height: 3px;
    transform: scaleX(0.25);
  }

  .pw-intel-tabs button.is-active::before {
    transform: scaleX(1);
  }

  .pw-intel-stage {
    min-height: 600px;
  }
}

@media (max-width: 600px) {
  .pw-intelligence {
    width: calc(100% - 2rem);
  }

  .pw-intel-stage {
    min-height: 580px;
    padding: 2.25rem 0.5rem 0;
  }

  .pw-intel-stage__copy {
    padding: 0 0.75rem;
  }

  .pw-intel-stage h3 {
    font-size: 2rem;
  }

  .pw-intel-window {
    right: -12%;
    left: 2%;
  }

  .pw-intel-window__metrics {
    gap: 0.4rem;
    padding: 0.75rem;
  }

  .pw-intel-window__float {
    right: 3%;
    min-width: 150px;
  }
}

/* ── Forecasting Intelligence page: hero tab switcher ────────────────
   Sits inside .pw-hero--dark on templates/marketing/pages/forecasting-intelligence.html
   (see components/_forecast_hero.html). Two columns on desktop: the tab
   inline story + changing headline on the left,
   the visual bleeding off the right edge of the viewport on the right —
   matching the intent of .hero-story + .product-showcase at
   https://insivia.app/prokurio/forecasting.html, styled with the same
   restrained editorial tab treatment from the reference hero.

   Tab switching: initHeroTabs() in js/pages/forecasting-intelligence.js —
   same click/keyboard pattern as initIntelligenceExplorer() in home.js,
   with timed rotation paused for hover/focus and reduced motion. */

.pw-hero-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3rem);
  align-items: center;
  overflow: hidden;
  text-align: left;
}

.pw-platform-hero {
  min-height: calc(100svh - 72px);
  background:
    radial-gradient(circle at 30% 34%, rgba(47, 112, 212, 0.34), transparent 38%),
    radial-gradient(circle at 54% 64%, rgba(89, 67, 174, 0.25), transparent 42%),
    radial-gradient(circle at 18% 88%, rgba(89, 67, 174, 0.2), transparent 35%),
    #001d3a;
  padding-block: clamp(2rem, 5vh, 4.5rem);
}

.pw-platform-hero::after {
  height: clamp(4rem, 10vw, 8rem);
}

:is(.pw-hero, .pw-detail-hero, .pw-mcp-hero, .spend-hero, .security-hero) > .pw-container {
  width: min(100% - 2rem, 1500px);
  max-width: 1500px;
  padding-inline: var(--pw-gutter);
}

/* Grid items default to min-width: auto (their content's intrinsic
   width), not 0 — without this, .pw-hero-tabs__panels' absolutely
   positioned .pw-app-window content can hold its own grid track open
   wider than the viewport even at the single-column mobile layout,
   overflowing the page horizontally. */
.pw-hero-split > * {
  min-width: 0;
}

.pw-hero-split .pw-hero__title,
.pw-hero-split .pw-page-hero__lede {
  margin-inline: 0;
  text-align: left;
}

.pw-hero-split .pw-hero__cta {
  margin-top: 28px;
}

.pw-hero-tabs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.12em;
  margin-bottom: clamp(2rem, 2.5vw, 2.75rem);
  color: rgba(255, 255, 255, 0.25);
  font-size: clamp(0.72rem, 0.82vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pw-hero-tabs__list button {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  transition: color 0.45s ease;
}

.pw-hero-tabs__list button:hover {
  color: rgba(255, 255, 255, 0.68);
}

.pw-hero-tabs__list button.is-active {
  color: #fff;
}

.pw-hero-tabs__list button:focus-visible {
  outline: 2px solid var(--aif-teal);
  outline-offset: 2px;
}

.pw-hero-tab-scene {
  display: none;
}

.pw-hero-tab-scene.is-active {
  display: block;
}

.pw-hero-tab-scene__visual {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  margin-top: 2rem;
}

.pw-platform-hero__story {
  transition: opacity 0.22s ease, transform 0.38s ease;
}

.pw-platform-hero__story.is-changing {
  opacity: 0;
  transform: translateY(12px);
}

/* Scenario Intelligence: reference-matched proof race and orbiting choices. */
.pw-scenario-proof {
  position: relative;
  z-index: 2;
  width: 94%;
  margin: 3vw auto clamp(5rem, 8vw, 9rem);
  padding: clamp(4rem, 7vw, 8rem) clamp(3rem, 7vw, 7rem);
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 6px;
  background: linear-gradient(145deg, #fff 0%, #fbfcfd 58%, #f4f7f9 100%);
  color: var(--aif-ink);
  box-shadow: inset 0 1px 0 #fff, 0 18px 70px rgb(0 8 21 / 12%);
}
.pw-scenario-proof > .pw-container { width: 100%; max-width: none; padding: 0; }
.pw-scenario-proof h2 { margin: 0; font-size: clamp(3rem, 5.75vw, 5.5rem); font-weight: 900; line-height: 1.1; letter-spacing: -.025em; }
.pw-scenario-proof h2 span { display: block; color: #001d3a; }
.pw-scenario-proof h2 span:last-child { color: #e85626; }
.pw-scenario-proof__lower { margin-top: clamp(2.5rem, 4vw, 4rem); }
.pw-scenario-proof__lower > p { max-width: 76rem; margin: 0 0 50px; color: #526276; font-size: clamp(1rem, 1.6vw, 2.5rem); line-height: 1.65; }
.pw-question-race { display: grid; grid-template-columns: minmax(320px, 1.35fr) minmax(180px, .55fr) minmax(380px, 1.25fr); align-items: stretch; border-block: 1px solid #d6e0e6; }
.pw-question-race > div { display: grid; align-content: center; min-width: 0; min-height: 150px; padding: clamp(1.5rem, 2.5vw, 2.5rem); }
.pw-question-race small { display: block; margin-bottom: .7rem; color: #536675; font-size: calc(.65rem + 3px); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pw-question-race__prompt { padding-left: 0 !important; }
.pw-question-race__prompt p { margin: 0; color: #001d3a; font-size: clamp(1.15rem, 1.85vw, 1.7rem); font-weight: 650; line-height: 1.25; letter-spacing: -.03em; transition: opacity .3s ease, transform .3s ease; }
.pw-question-race__answer,
.pw-question-race__steps { border-left: 1px solid #d6e0e6; }
.pw-question-race__answer strong { color: #087c7b; font-size: clamp(1.15rem, 1.8vw, 1.55rem); opacity: 0; transform: translateX(-8px); transition: opacity .45s ease, transform .45s ease; }
.pw-question-race__answer strong.is-visible { opacity: 1; transform: none; }
.pw-question-race__steps { display: flex !important; flex-wrap: wrap; align-content: center; gap: .42rem; }
.pw-question-race__steps small { flex-basis: 100%; }
.pw-question-race__steps span { position: relative; padding-right: .9rem; color: #536675; font-size: clamp(.76rem, .82vw, .9rem); line-height: 1.35; opacity: .58; transition: color .4s ease, opacity .4s ease, transform .4s ease; }
.pw-question-race__steps span:not(:last-child)::after { position: absolute; top: 50%; right: .15rem; color: #82919b; content: "→"; transform: translateY(-50%); }
.pw-question-race__steps span.is-complete { opacity: .82; }
.pw-question-race__steps span.is-active { color: #001d3a; font-weight: 700; opacity: 1; transform: translateY(-2px); }

.pw-scenario-page .pw-forecast-story__intro { min-height: clamp(560px, 50vw, 640px); overflow: hidden; }
.pw-scenario-page .pw-forecast-story__nav { margin-top: 2rem; }
.pw-decision-loop { position: absolute; z-index: 1; top: 35px; right: -3vw; width: 51vw; height: clamp(440px, 42vw, 600px); pointer-events: none; }
.pw-decision-loop svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pw-decision-loop__ring { fill: none; stroke: url(#pw-decision-gradient); stroke-width: 2.2; opacity: .72; }
.pw-decision-loop__seed { fill: #31d0cd; stroke: rgb(255 255 255 / 72%); stroke-width: 2; }
.pw-decision-loop__scenario { opacity: 0; transform-box: fill-box; transform-origin: center; }
.pw-decision-loop__scenario > circle { fill: #001d3a; stroke: #31d0cd; stroke-width: 2.5; }
.pw-decision-loop__scenario rect { fill: rgb(18 59 112 / 88%); stroke: rgb(141 178 232 / 20%); }
.pw-decision-loop__scenario text { fill: rgb(255 255 255 / 92%); font-size: 12px; font-weight: 650; }

@media (max-width: 980px) {
  .pw-scenario-page .pw-forecast-story__intro { min-height: 0; padding-bottom: clamp(4rem, 8vw, 6rem); }
  .pw-scenario-page .pw-forecast-story__nav { margin-top: 0; }
  .pw-question-race { grid-template-columns: 1fr 1fr; }
  .pw-question-race__prompt { grid-column: 1 / -1; min-height: 130px !important; padding-right: 0 !important; border-bottom: 1px solid #d6e0e6; }
  .pw-question-race__answer { border-left: 0; }
  .pw-decision-loop { position: relative; top: auto; right: auto; width: 760px; height: 540px; margin: 1rem auto 0; transform: translateX(-100px); }
}
@media (max-width: 680px) {
  .pw-scenario-proof { width: calc(100% - 1.5rem); padding: 3.5rem 1.35rem; }
  .pw-question-race { grid-template-columns: 1fr; }
  .pw-question-race > div { grid-column: 1; min-height: 120px; padding: 1.35rem 0 !important; border-left: 0; }
  .pw-question-race__answer,
  .pw-question-race__steps { border-top: 1px solid #d6e0e6; }
  .pw-decision-loop { width: 680px; height: 480px; transform: translateX(-180px); }
}
@media (prefers-reduced-motion: reduce) {
  .pw-decision-loop__scenario { opacity: 1; }
}

/* Keep the final line of shared marketing copy from becoming an isolated word.
   Zero-specificity selectors let intentional component and display-headline
   wrapping continue to override this baseline. */
:where(p, li, blockquote, figcaption, dd) { text-wrap: pretty; }
:where(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }

/* MCP Access */
.pw-mcp-page { --mcp-navy:#001d3a; --mcp-deep:#00162d; --mcp-blue:#8db2e8; --mcp-cyan:#31d0cd; --mcp-orange:#e85626; }
.pw-mcp-hero { position:relative; overflow:hidden; min-height:calc(100svh - 72px); padding:clamp(10rem,15vw,14rem) 0 clamp(6rem,9vw,9rem); background:radial-gradient(circle at 30% 34%,rgba(47,112,212,.34),transparent 38%),radial-gradient(circle at 54% 64%,rgba(89,67,174,.25),transparent 42%),radial-gradient(circle at 18% 88%,rgba(89,67,174,.2),transparent 35%),#001d3a; color:#fff; }
.pw-mcp-hero__grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:clamp(3rem,6vw,7rem); align-items:center; }
.pw-mcp-hero__copy h1 { max-width:11ch; margin:0; font-size:clamp(3.4rem,5vw,6rem); line-height:.98; letter-spacing:-.055em; }
.pw-mcp-hero__copy h1 span { display:block; }.pw-mcp-hero__copy h1 span:last-child{color:var(--mcp-blue)}
.pw-mcp-hero__copy>p { max-width:700px; margin:1.7rem 0 2rem; color:rgb(255 255 255 / 66%); font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.75; }
.pw-mcp-hero__copy>a,.pw-mcp-stream>a { display:inline-flex; justify-content:space-between; gap:3rem; align-items:center; padding:1rem 1.2rem; background:#fff; color:var(--mcp-navy); font-size:.78rem; font-weight:800; text-decoration:none; }
.pw-mcp-chat { overflow:hidden; border:1px solid rgb(141 178 232 / 20%); border-radius:8px; background:rgb(0 20 41 / 75%); box-shadow:0 35px 100px rgb(0 5 14 / 30%); backdrop-filter:blur(18px); }
.pw-mcp-chat__bar,.pw-mcp-action__bar { display:flex; gap:7px; align-items:center; min-height:52px; padding:0 1.1rem; border-bottom:1px solid rgb(141 178 232 / 18%); }.pw-mcp-chat__bar i,.pw-mcp-action__bar i{width:7px;height:7px;border-radius:50%;background:#e85626}.pw-mcp-chat__bar i:nth-child(2),.pw-mcp-action__bar i:nth-child(2){background:#e7bc45}.pw-mcp-chat__bar i:nth-child(3),.pw-mcp-action__bar i:nth-child(3){background:#31d0cd}.pw-mcp-chat__bar b,.pw-mcp-action__bar b{margin-left:.5rem;font-size:.72rem}.pw-mcp-chat__bar small,.pw-mcp-action__bar small{margin-left:auto;color:var(--mcp-cyan);font-size:.62rem;text-transform:uppercase}
.pw-mcp-chat__body{padding:1.5rem}.pw-mcp-chat__prompt{width:82%;margin-left:auto;padding:1rem 1.2rem;border:1px solid rgb(141 178 232 / 18%);border-radius:12px 12px 3px 12px;background:#102e50}.pw-mcp-chat small,.pw-mcp-action small{color:var(--mcp-blue);font-size:.6rem;font-weight:800;letter-spacing:.12em}.pw-mcp-chat__prompt p{margin:.45rem 0 0;line-height:1.55}.pw-mcp-chat__answer{position:relative;min-height:290px;margin-top:1.2rem;padding:1.5rem;border:1px solid rgb(49 208 205 / 24%);border-radius:5px;background:linear-gradient(135deg,rgb(8 124 123 / 12%),rgb(18 80 155 / 8%))}.pw-mcp-chat__answer h2{margin:.6rem 0 0;font-size:clamp(2.2rem,3vw,3.5rem)}.pw-mcp-chat__answer p{color:rgb(255 255 255 / 55%);font-size:.8rem}.pw-mcp-chat__answer ul{position:absolute;right:1.5rem;bottom:1.5rem;margin:0;padding:0;list-style:none}.pw-mcp-chat__answer li{padding:.3rem;color:rgb(255 255 255 / 65%);font-size:.72rem}.pw-mcp-chat__answer li::before{margin-right:.5rem;color:var(--mcp-cyan);content:"✓"}.pw-mcp-chat__chart{position:absolute;bottom:1.5rem;left:1.5rem;display:flex;width:42%;height:100px;gap:10px;align-items:end;border-bottom:1px solid rgb(141 178 232 / 20%)}.pw-mcp-chat__chart i{flex:1;height:var(--h,68%);background:linear-gradient(var(--mcp-cyan),#12509b);animation:pw-mcp-bars 4.5s ease-in-out infinite;transform-origin:bottom}.pw-mcp-chat__chart i:nth-child(2){--h:92%;animation-delay:.15s}.pw-mcp-chat__chart i:nth-child(3){--h:55%;animation-delay:.3s}.pw-mcp-chat__input{padding:1rem 0 0;color:rgb(255 255 255 / 42%);font-size:.74rem}.pw-mcp-chat__input span{float:right;color:var(--mcp-cyan)}
@keyframes pw-mcp-bars{0%,12%,100%{transform:scaleY(.08);opacity:.35}30%,90%{transform:scaleY(1);opacity:1}}
.pw-mcp-shift{position:relative;z-index:2;width:94%;margin:3vw auto clamp(5rem,8vw,9rem);padding:clamp(4rem,7vw,8rem) clamp(3rem,7vw,7rem);border:1px solid rgb(255 255 255 / 72%);border-radius:6px;background:linear-gradient(145deg,#fff 0%,#fbfcfd 58%,#f4f7f9 100%);color:var(--mcp-navy);box-shadow:inset 0 1px 0 #fff,0 18px 70px rgb(0 8 21 / 12%)}
.pw-mcp-shift>.pw-container{width:100%;max-width:none;padding:0}.pw-mcp-shift__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(430px,1fr);gap:clamp(3rem,6vw,7rem);align-items:center}.pw-mcp-shift h2,.pw-mcp-outcomes h2,.pw-mcp-stream h2{margin:0;font-size:clamp(2.7rem,4.6vw,5.25rem);line-height:.99;letter-spacing:-.055em}.pw-mcp-shift h2{font-size:clamp(2.7rem,4.35vw,4.8rem);line-height:1.04}.pw-mcp-shift h2 em,.pw-mcp-outcomes h2 em,.pw-mcp-stream h2 em{display:block;color:var(--mcp-orange);font-style:normal}.pw-mcp-shift h2 em{margin-top:.22em}.pw-mcp-shift__grid>div>p{max-width:37rem;margin:clamp(1.8rem,3vw,3rem) 0 0;color:#526276;font-size:clamp(.95rem,1.15vw,1.15rem);line-height:1.75}.pw-mcp-shift__list{border-bottom:1px solid #d4dee6}.pw-mcp-shift__list header,.pw-mcp-shift__list p{display:grid;grid-template-columns:1fr 1.22fr}.pw-mcp-shift__list header{padding:0 0 .9rem;color:#7a8997;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.pw-mcp-shift__list header span:last-child{padding-left:clamp(1.5rem,2.5vw,2.5rem)}.pw-mcp-shift__list p{position:relative;min-height:104px;align-items:stretch;margin:0;border-top:1px solid #d4dee6;color:#566a7b;font-size:clamp(.92rem,1.15vw,1.08rem)}.pw-mcp-shift__list p>span,.pw-mcp-shift__list p>strong{display:flex;gap:.8rem;align-items:center;min-width:0}.pw-mcp-shift__list p>span{padding-right:1.25rem;font-weight:400}.pw-mcp-shift__list p>span i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#9babba}.pw-mcp-shift__list p>strong{gap:clamp(.85rem,1.5vw,1.4rem);padding-left:clamp(1.5rem,2.5vw,2.5rem);border-left:1px solid #d4dee6;color:#087c7b;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.3}.pw-mcp-shift__list p>strong i{color:var(--mcp-orange);font-size:1.35rem;font-style:normal;font-weight:400}
.pw-mcp-shift h2 { color: #001d3a; font-weight: 900; letter-spacing: -0.025em; }
.pw-mcp-shift h2 em { color: #e85626; font-weight: 900; }
.pw-mcp-outcomes{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:radial-gradient(circle at 84% 28%,rgb(89 67 174 / 11%),transparent 34%),linear-gradient(145deg,#071f3b,#021225);color:#fff}.pw-mcp-outcomes__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:clamp(3rem,7vw,8rem);align-items:center}.pw-mcp-outcomes__copy>span,.pw-mcp-stream header>span{display:block;margin-bottom:1.15rem;color:var(--mcp-cyan);font-size:.72rem;font-weight:800;letter-spacing:.18em}.pw-mcp-outcomes h2 em,.pw-mcp-stream h2 em{color:var(--mcp-blue)}.pw-mcp-outcomes__copy>p{color:rgb(255 255 255 / 65%);line-height:1.75}.pw-mcp-outcome-cards{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:2.6rem}.pw-mcp-outcome-cards article{min-height:178px;padding:1.45rem;border:1px solid rgb(141 178 232 / 16%);border-radius:5px;background:linear-gradient(145deg,rgb(15 52 89 / 72%),rgb(2 24 47 / 88%))}.pw-mcp-outcome-cards i{color:var(--mcp-cyan);font-size:.62rem;font-style:normal;font-weight:800}.pw-mcp-outcome-cards h3{margin:.65rem 0 .55rem}.pw-mcp-outcome-cards p{margin:0;color:rgb(255 255 255 / 52%);font-size:.76rem;line-height:1.62}
.pw-api-outcomes h2 em{color:var(--mcp-orange)}
.pw-api-outcomes .pw-mcp-outcomes__copy>p{margin:2.75rem 0 0;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.7}
.pw-onboarding-outcomes h2 em{color:var(--mcp-orange)}
.pw-onboarding-outcomes .pw-mcp-outcomes__copy>p{margin:2.75rem 0 0;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.7}
@media(max-width:980px){.pw-api-outcomes .pw-mcp-outcomes__copy>p,.pw-onboarding-outcomes .pw-mcp-outcomes__copy>p{margin-top:2rem}}
.pw-mcp-action{overflow:hidden;border:1px solid rgb(141 178 232 / 23%);border-radius:10px;background:#06182c;box-shadow:0 45px 100px rgb(0 4 14 / 52%)}.pw-mcp-action__body{min-height:570px;padding:1.65rem}.pw-mcp-action__prompt{width:82%;margin-left:auto;padding:1rem 1.15rem;border-radius:12px 12px 3px 12px;background:#102e50}.pw-mcp-action__prompt p{margin:.4rem 0 0}.pw-mcp-action__working{margin:1.1rem 0;color:rgb(255 255 255 / 55%);font-size:.67rem}.pw-mcp-action__result{padding:1.25rem;border-radius:7px;background:linear-gradient(155deg,#fff,#edf4f8);color:var(--mcp-navy);animation:pw-mcp-result 12s ease infinite}.pw-mcp-action__result header,.pw-mcp-action__total{display:flex;justify-content:space-between}.pw-mcp-action__result header span{display:grid}.pw-mcp-action__result header em{padding:.35rem .65rem;border-radius:99px;background:#e4eef7;color:#3473a1;font-size:.58rem;font-style:normal}.pw-mcp-action__total{align-items:end;margin:1.25rem 0 1rem;padding-bottom:1rem;border-bottom:1px solid #dbe5ec}.pw-mcp-action__total strong{font-size:2.15rem}.pw-mcp-action__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.pw-mcp-action__metrics span{display:grid;gap:.25rem;padding:.65rem;background:#eaf1f6}.pw-mcp-action__bars p{position:relative;display:grid;grid-template-columns:1fr auto;margin:.7rem 0;padding-bottom:.45rem;color:#5c6d7e;font-size:.64rem}.pw-mcp-action__bars i{position:absolute;bottom:0;left:0;width:var(--w);height:2px;background:#3473a1}.pw-mcp-action__approval{display:flex;gap:.7rem;align-items:center;margin-top:1rem;font-size:.62rem}.pw-mcp-action__approval p{margin:0 auto 0 0;color:rgb(255 255 255 / 55%)}.pw-mcp-action__approval p b{display:block;color:#fff}.pw-mcp-action__approval span,.pw-mcp-action__approval>strong{padding:.65rem}.pw-mcp-action__approval span{border:1px solid rgb(141 178 232 / 22%)}.pw-mcp-action__approval>strong{background:var(--mcp-orange)}.pw-mcp-action footer{padding:1rem 1.65rem;border-top:1px solid rgb(141 178 232 / 13%);color:rgb(255 255 255 / 55%);font-size:.66rem}@keyframes pw-mcp-result{0%,20%,100%{opacity:.35;transform:translateY(10px)}30%,90%{opacity:1;transform:none}}
.pw-mcp-destinations{padding:clamp(5rem,8vw,8rem) 0;background:var(--mcp-deep);color:#fff}.pw-mcp-destination{display:none;grid-template-columns:1fr .8fr;gap:clamp(4rem,10vw,12rem);align-items:center;min-height:540px;padding:5rem 0}.pw-mcp-destination.is-active{display:grid}.pw-mcp-destination small{color:#68b9ec;font-weight:800;letter-spacing:.12em}.pw-mcp-destination h2{margin:1rem 0;font-size:clamp(2.8rem,4.5vw,5.5rem);line-height:.98;letter-spacing:-.05em}.pw-mcp-destination h2 span{display:block;color:var(--mcp-blue)}.pw-mcp-destination p{color:rgb(255 255 255 / 55%);line-height:1.7}.pw-mcp-destination ul{margin:0;padding:0;border-top:1px solid rgb(141 178 232 / 20%);list-style:none}.pw-mcp-destination li{padding:1.35rem 0;border-bottom:1px solid rgb(141 178 232 / 20%);color:rgb(255 255 255 / 65%)}.pw-mcp-destination li::before{margin-right:.7rem;color:var(--mcp-cyan);content:"○"}.pw-mcp-destination li strong{color:#fff}
.pw-mcp-stream{overflow:hidden;padding:clamp(6rem,9vw,9rem) 0;background:linear-gradient(145deg,#071f3b,#021225);color:#fff;text-align:center}.pw-mcp-stream header{width:min(980px,calc(100% - 3rem));margin:0 auto 4rem}.pw-mcp-stream header p{max-width:720px;margin:1.7rem auto;color:rgb(255 255 255 / 62%);line-height:1.75}.pw-mcp-marquee{display:flex;margin:.8rem 0;transform:rotate(-2deg)}.pw-mcp-marquee>div{display:flex;width:max-content;gap:1rem;animation:pw-mcp-marquee 34s linear infinite}.pw-mcp-marquee span{display:flex;min-width:205px;gap:.7rem;align-items:center;padding:1.15rem 1.35rem;border:1px solid rgb(141 178 232 / 16%);background:linear-gradient(145deg,rgb(18 54 91 / 88%),rgb(5 27 51 / 94%));text-align:left}.pw-mcp-marquee i{display:grid;width:2.3rem;height:2.3rem;place-items:center;border-radius:50%;background:#123b70;color:var(--mcp-cyan);font-style:normal}.pw-mcp-marquee--reverse>div{animation-direction:reverse;animation-duration:40s}.pw-mcp-stream>a{margin-top:4rem;background:var(--mcp-orange);color:#fff}@keyframes pw-mcp-marquee{to{transform:translateX(-50%)}}
.pw-mcp-marquee img { width: 2.65rem; height: 2.65rem; flex: 0 0 auto; border-radius: 5px; background: rgb(255 255 255 / 92%); object-fit: contain; padding: .32rem; }
.pw-mcp-destinations { padding: 0; }
.pw-mcp-destinations__pin { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto min(560px, 52vh) auto; column-gap: clamp(3rem, 5vw, 6rem); row-gap: 3rem; align-items: start; align-content: start; min-height: 100vh; padding-block: clamp(5rem, 9vh, 8rem); }
.pw-mcp-destinations__nav { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: clamp(1.25rem, 2.25vw, 2.75rem); border: 0; }
.pw-mcp-destinations__nav button { position: relative; min-width: 0; padding: 0; border: 0; background: transparent; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem, .75vw, .72rem); font-weight: 750; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; cursor: pointer; transition: color 280ms ease; }
.pw-mcp-destinations__nav button.is-active { color: #fff; }
.pw-mcp-destinations__nav button:focus-visible { outline: 2px solid var(--mcp-cyan); outline-offset: 4px; }
.pw-mcp-destinations__copy { position: relative; display: grid; align-items: center; min-height: min(560px, 52vh); }
#pw-mcp-stream-title,
.pw-mcp-destinations__copy h2 { font-weight: 900; }
.pw-mcp-destination { position: relative; grid-area: 1 / 1; display: none; min-height: 0; padding: 2rem 0; }
.pw-mcp-destination.is-active { display: block; }
.pw-mcp-destination small { color: var(--mcp-cyan); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pw-mcp-destination h2 { margin: 1rem 0; font-size: clamp(2.5rem, 4vw, 5rem); line-height: .98; letter-spacing: -.05em; }
.pw-mcp-destination h2 span { display: block; color: var(--mcp-blue); }
.pw-mcp-destination p { max-width: 650px; color: rgb(255 255 255 / 55%); line-height: 1.7; }
.pw-mcp-destinations__visual { position: relative; min-width: 0; min-height: min(560px, 52vh); }
.pw-mcp-destination-points { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr; align-content: center; gap: .5rem; margin: 0; padding: 0; visibility: hidden; opacity: 0; list-style: none; transform: translateX(40px); }
.pw-mcp-destination-points.is-active { visibility: visible; opacity: 1; transform: none; }
.pw-mcp-destination-points li { display: grid; grid-template-columns: minmax(175px, .72fr) minmax(0, 1.28fr); gap: clamp(1.25rem, 2vw, 2.5rem); align-items: baseline; padding: clamp(1.25rem, 2.5vh, 2.75rem) clamp(1.35rem, 1.7vw, 1.75rem); border-radius: 4px; background: radial-gradient(circle at 18% 0%, rgb(18 80 155 / 12%), transparent 42%), #000814; color: rgb(255 255 255 / 78%); font-size: clamp(.98rem, 1.08vw, 1.12rem); line-height: 1.45; }
.pw-mcp-destination-points li::before { content: none; }
.pw-mcp-destination-points strong { color: var(--mcp-orange); font-size: clamp(1.15rem, 1.38vw, 1.4rem); font-weight: 900; line-height: 1.22; }
.pw-mcp-destination-points span { display: block; color: rgb(255 255 255 / 62%); line-height: 1.55; }
.pw-mcp-destination-quotes { grid-column: 1 / -1; display: grid; min-width: 0; }
.pw-mcp-destination-quotes figure { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2rem, 5vw, 6rem); align-items: center; min-width: 0; margin: 0; padding: clamp(1.35rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem); border-radius: 4px; background: linear-gradient(145deg, #fff, #f2f6f8); color: #001d3a; box-shadow: 0 24px 60px rgb(0 5 14 / 22%); visibility: hidden; opacity: 0; transform: translateY(18px); }
.pw-mcp-destination-quotes figure.is-active { visibility: visible; opacity: 1; transform: none; }
.pw-mcp-destination-quotes blockquote { max-width: 1080px; margin: 0; font-size: clamp(1.08rem, 1.42vw, 1.48rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.48; }
.pw-mcp-destination-quotes blockquote strong { color: #12509b; font-weight: 750; }
.pw-mcp-destination-quotes figcaption { max-width: 210px; color: #66778a; font-size: .72rem; font-weight: 700; letter-spacing: .09em; line-height: 1.45; text-align: right; text-transform: uppercase; }
@media (max-width: 1200px) {
  .pw-mcp-destinations__pin { display: block; min-height: 0; padding-block: 2rem 6rem; }
  .pw-mcp-destinations__nav, .pw-mcp-destinations__visual, .pw-mcp-destination-quotes { display: none; }
  .pw-mcp-destinations__copy { display: block; min-height: 0; }
  .pw-mcp-destination, .pw-mcp-destination.is-active { position: relative; display: block; visibility: visible; opacity: 1; padding: 3rem 0; border-top: 1px solid rgb(255 255 255 / 12%); transform: none; }
}
.pw-mcp-page .pw-forecast-faq{margin-top:0}

/* Continuous section boundaries for the dark platform narratives. Inset white
   cards remain cards; the full-width canvas behind and between them carries
   the transition so OS theme surfaces never create an accidental hard band. */
.pw-forecasting-page,
.pw-scenario-page,
.pw-portfolio-page,
.pw-mcp-page {
  background:
    radial-gradient(circle at 18% 28%, rgb(47 112 212 / 34%), transparent 38%),
    radial-gradient(circle at 72% 58%, rgb(89 67 174 / 25%), transparent 42%),
    radial-gradient(circle at 24% 88%, rgb(89 67 174 / 20%), transparent 35%),
    var(--aif-ink);
}

.pw-forecasting-page .pw-platform-hero::after,
.pw-scenario-page .pw-platform-hero::after {
  background: linear-gradient(to bottom, transparent, rgb(0 29 58 / 92%));
}

.pw-forecasting-page .pw-forecast-story,
.pw-scenario-page .pw-forecast-story {
  background:
    linear-gradient(to bottom, var(--aif-ink) 0%, transparent 12%, transparent 88%, var(--aif-ink) 100%),
    radial-gradient(circle at 78% 8%, rgb(89 67 174 / 10%), transparent 25%),
    radial-gradient(circle at 16% 30%, rgb(18 80 155 / 30%), transparent 34%),
    var(--aif-ink);
}

.pw-forecasting-page .pw-forecast-faq,
.pw-scenario-page .pw-forecast-faq {
  background: linear-gradient(to bottom, transparent 0, var(--aif-ink) clamp(5rem, 8vw, 8rem));
}

.pw-mcp-hero::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: clamp(4rem, 10vw, 8rem);
  background: linear-gradient(to bottom, transparent, rgb(0 29 58 / 92%));
  content: "";
  pointer-events: none;
}

.pw-mcp-outcomes {
  background:
    linear-gradient(to bottom, var(--mcp-navy) 0%, transparent 14%, transparent 86%, var(--mcp-deep) 100%),
    radial-gradient(circle at 84% 28%, rgb(89 67 174 / 11%), transparent 34%),
    linear-gradient(145deg, #071f3b, #021225);
}

.pw-mcp-stream {
  background:
    linear-gradient(to bottom, var(--mcp-deep) 0%, transparent 16%, transparent 84%, var(--aif-ink) 100%),
    linear-gradient(145deg, #071f3b, #021225);
}
@media(max-width:1050px){.pw-mcp-hero__grid,.pw-mcp-shift__grid,.pw-mcp-outcomes__grid{grid-template-columns:1fr}.pw-mcp-chat,.pw-mcp-action{width:min(700px,100%)}.pw-mcp-destination{grid-template-columns:1fr;gap:2rem}.pw-mcp-hero{padding-top:9rem}.pw-mcp-shift__grid>div:first-child{max-width:52rem}}
@media(max-width:680px){.pw-mcp-hero__grid{grid-template-columns:1fr}.pw-mcp-shift{width:calc(100% - 1.5rem);padding:3.5rem 1.35rem}.pw-mcp-outcome-cards{grid-template-columns:1fr}.pw-mcp-shift__list header,.pw-mcp-shift__list p{grid-template-columns:.92fr 1.08fr}.pw-mcp-shift__list p{min-height:122px}.pw-mcp-shift__list header span:last-child,.pw-mcp-shift__list p>strong{padding-left:1rem}.pw-mcp-destination{min-height:650px}.pw-mcp-action__metrics{grid-template-columns:1fr}.pw-mcp-action__approval{align-items:stretch;flex-direction:column}.pw-mcp-marquee span{min-width:175px}}
@media(prefers-reduced-motion:reduce){.pw-mcp-chat__chart i,.pw-mcp-action__result,.pw-mcp-marquee>div{animation:none}.pw-mcp-marquee{overflow-x:auto}}

:is(.pw-platform-hero, .pw-hero--editorial) .pw-hero__title {
  font-size: clamp(3rem, 5.1vw, 6.35rem);
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.pw-platform-hero .pw-hero__title > span {
  display: block;
}

.pw-platform-hero .pw-hero__title > span + span {
  margin-top: 0.22em;
  color: #8db2e8;
}

:is(.pw-platform-hero, .pw-hero--editorial) .pw-page-hero__lede {
  margin-top: 1.65rem;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 400;
  line-height: 1.7;
}

.pw-platform-hero .pw-hero__cta {
  justify-content: space-between;
  gap: 2.25rem;
  min-height: 0;
  border-radius: 4px;
  background: #fff;
  color: #001d3a;
  padding: 1rem 1.15rem;
  font-size: 0.8rem;
}

.pw-platform-hero .pw-hero__cta:hover {
  background: #eef7fa;
  color: #001d3a;
}

.pw-hero-tab-scene__visual .pw-app-window {
  position: absolute;
  inset: 0;
}

/* The "Fast" tab reuses _hero-forecast-screen.html, which pairs a request
   card with the resulting dashboard in an auto-cycling cross-fade — built
   for the homepage's auto-rotating showcase (see .pw-app-window--request/
   --forecast above). A hero tab a visitor clicked to inspect isn't a
   passive loop, so it shows the completed forecast dashboard, statically,
   rather than looping through the empty picker first. */
.pw-hero-tab-scene__visual .pw-app-window--request {
  display: none;
}

.pw-hero-tab-scene__visual .pw-app-window--forecast {
  animation: none;
  opacity: 1;
  transform: none;
}

@media (min-width: 940px) {
  .pw-hero-split {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    min-height: clamp(480px, 62vh, 620px);
    overflow: visible;
  }

  /* Bleeds the visual past the right edge of its own grid column and past
     .pw-container's padding — same technique as .pw-intel-window elsewhere
     on this page (right: -5% off its column) rather than a true
     viewport-edge break-out, which would mean escaping .pw-container
     entirely (a one-off pattern the rest of the site doesn't use).
     .pw-hero-split's own overflow: hidden clips this at the container's
     edge, so it never widens the page itself. */
  .pw-hero-tab-scene__visual {
    position: absolute;
    top: 0;
    right: calc((100vw - min(100vw - 2rem, 1500px)) / -2);
    bottom: 0;
    left: 0;
    width: auto;
    min-height: clamp(480px, 62vh, 620px);
    margin-top: 0;
    transform: none;
  }

  .pw-hero-tabs__panels .pw-hero-tab-scene {
    position: relative;
    min-height: clamp(480px, 62vh, 620px);
  }
}

@media (max-width: 939px) {
  .pw-platform-hero {
    min-height: 0;
  }

  .pw-platform-hero .pw-hero__title {
    max-width: 12ch;
  }

  .pw-hero-tab-scene__visual {
    min-height: 430px;
  }
}

@media (max-width: 520px) {
  :is(.pw-hero, .pw-detail-hero, .pw-mcp-hero, .spend-hero, .security-hero) > .pw-container {
    width: min(100% - 1.5rem, 1500px);
  }

  .pw-platform-hero .pw-hero__cta {
    width: 100%;
  }

  .pw-hero-tab-scene__visual {
    width: 660px;
    min-height: 360px;
    transform: translateX(-1%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pw-platform-hero__story {
    transition: none;
  }
}

/* ── Forecasting Intelligence page: "Trustworthy" tab visual ─────────
   See components/screens/_hero-trust-screen.html. A validation-strategy
   cost breakdown (per-category cost bar list) beside a checklist of what
   the forecast was verified against, matching .trust-dashboard at
   https://insivia.app/prokurio/forecasting.html. */

.pw-app-window--trust {
  padding: 1rem;
  overflow-y: auto;
}

.pw-trust-dash__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.pw-trust-dash__head h3 {
  margin: 0.3rem 0 0;
  font-size: 0.98rem;
}

.pw-trust-dash__total {
  color: var(--aif-accent);
  font-size: 1.05rem;
  text-align: right;
}

.pw-trust-dash__total small {
  display: block;
  color: var(--aif-text-muted);
  font-size: 0.6rem;
  font-weight: 400;
}

.pw-trust-dash__body {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.pw-trust-costs {
  display: grid;
  gap: 0.6rem;
}

.pw-trust-costs span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.2rem 0.6rem;
  align-items: center;
}

.pw-trust-costs b {
  font-size: 0.72rem;
  font-weight: 600;
}

.pw-trust-costs em {
  color: var(--aif-text-muted);
  font-size: 0.72rem;
  font-style: normal;
  text-align: right;
}

.pw-trust-costs i {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  border-radius: 999px;
  background: var(--aif-border);
  overflow: hidden;
}

.pw-trust-costs i::before {
  display: block;
  width: var(--pw-w);
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(to right, var(--aif-accent), var(--aif-sky));
  content: "";
}

.pw-trust-sources {
  border-left: 1px solid var(--aif-border);
  padding-left: 1rem;
}

.pw-trust-sources > small {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--aif-text-muted);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pw-trust-sources p {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0 0 0.55rem;
}

.pw-trust-sources p i {
  color: var(--aif-teal-deep);
  font-size: 0.7rem;
}

.pw-trust-sources p span {
  display: block;
}

.pw-trust-sources p b {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
}

.pw-trust-sources p em {
  display: block;
  color: var(--aif-text-muted);
  font-size: 0.62rem;
  font-style: normal;
}

@media (max-width: 600px) {
  .pw-trust-dash__body {
    grid-template-columns: 1fr;
  }

  .pw-trust-sources {
    border-left: 0;
    border-top: 1px solid var(--aif-border);
    padding-left: 0;
    padding-top: 1rem;
  }
}

/* ── Homepage redesign: Module 7 — audience split + testimonial ──────
   Sits directly under the intelligence explorer (see
   components/_audience_split.html, _testimonial_card.html). Two full-bleed
   panels (For Law Firms / For Corporate IP Teams) with a rotating
   testimonial card floating across their bottom edge, matching
   .audience-section at https://insivia.app/prokurio/home.html.

   Panel background photography is served from static/marketing/img/
   using paths relative to this stylesheet.

   Testimonial card position: matches the reference's peek/overlap exactly
   (decided together) — .pw-testimonial rests mostly below the panels'
   bottom edge (translateY(calc(100% - 48px))) with only a ~48px strip
   visible, revealed further only via the GSAP scroll-triggered clip-path/
   opacity timeline in home.js — never a "slide fully into view". The
   large margin-bottom on .pw-audience exists to reserve room below the
   panels for this overlap. */

.pw-audience {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(18rem, 24vw, 26rem);
}

/* GSAP owns the temporary panel and testimonial reveal states. Their base CSS
   stays at the final state for no-JS and reduced-motion visitors. */

.pw-audience-split {
  display: grid;
  min-height: 650px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0, 5, 14, 0.3);
}

.pw-audience-panel {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background-position: center;
  background-size: cover;
  padding: clamp(3rem, 6vw, 6rem);
  transition: filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.pw-audience-panel__content {
  position: relative;
  z-index: 1;
  max-width: 520px;
  padding-bottom: 4rem;
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.pw-audience-split[data-audience="law"] .pw-audience-panel--corporate,
.pw-audience-split[data-audience="corporate"] .pw-audience-panel--firms {
  filter: brightness(0.58) saturate(0.72);
}

.pw-audience-split[data-audience="law"] .pw-audience-panel--corporate .pw-audience-panel__content,
.pw-audience-split[data-audience="corporate"] .pw-audience-panel--firms .pw-audience-panel__content {
  opacity: 0.42;
}

.pw-audience-panel:focus-visible {
  outline: 2px solid var(--aif-teal);
  outline-offset: -4px;
}

.pw-audience-panel::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
}

.pw-audience-panel--firms {
  background-image: url("../img/law-firms.781cd174bdc0.jpg");
}

.pw-audience-panel--firms::before {
  background:
    linear-gradient(120deg, rgba(0, 14, 31, 0.94), rgba(0, 29, 58, 0.7)),
    rgba(0, 29, 58, 0.42);
}

.pw-audience-panel--corporate {
  background-image: url("../img/corporate-ip.d7bdb307a1f0.jpg");
}

.pw-audience-panel--corporate::before {
  background:
    linear-gradient(120deg, rgba(2, 25, 49, 0.82), rgba(0, 10, 24, 0.91)),
    color-mix(in srgb, var(--aif-accent) 24%, transparent);
}

.pw-audience-panel__content > span {
  display: block;
  margin-bottom: 1.25rem;
  color: var(--aif-gold);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.pw-audience-panel h2 {
  margin: 0;
  color: var(--aif-on-accent);
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  font-weight: 900;
  line-height: 1.1;
}

.pw-audience-panel p {
  max-width: none;
  margin: 1.5rem 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: clamp(0.95rem, 1.15vw, 1.1rem);
  font-weight: 300;
  line-height: 1.7;
}

.pw-audience-panel__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.65rem;
  color: var(--aif-on-accent);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.pw-audience-panel__link span:last-child {
  color: var(--aif-teal);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.pw-audience-panel__link:hover span:last-child,
.pw-audience-panel__link:focus-visible span:last-child {
  transform: translateX(5px);
}

.pw-audience-panel__link:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--aif-teal);
  outline-offset: 5px;
}

.pw-testimonial {
  position: absolute;
  z-index: 3;
  right: 12%;
  bottom: 0;
  left: 12%;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 6px;
  background:
    radial-gradient(circle at 94% 8%, color-mix(in srgb, var(--aif-sky) 10%, transparent), transparent 36%),
    linear-gradient(145deg, #ffffff, #f3f6f8);
  color: var(--aif-ink);
  padding: clamp(1.75rem, 3vw, 3rem);
  box-shadow: 0 30px 80px rgba(0, 5, 14, 0.34);
  transform: translateY(calc(100% - 48px));
}

.pw-testimonial blockquote {
  max-width: 980px;
  margin: 0;
  font-size: clamp(1.05rem, 1.45vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.55;
}

.pw-testimonial__quote {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 5rem);
}

.pw-testimonial__logo {
  width: clamp(130px, 13vw, 185px);
  height: auto;
  mix-blend-mode: multiply;
}

.pw-testimonial__logo[hidden] {
  display: none;
}

.pw-testimonial blockquote strong {
  color: var(--aif-accent);
  font-weight: 700;
}

.pw-testimonial__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.5rem;
}

.pw-testimonial figcaption {
  display: grid;
  gap: 0.2rem;
}

.pw-testimonial figcaption strong {
  font-size: 0.95rem;
}

.pw-testimonial figcaption span {
  color: var(--aif-text-muted);
  font-size: 0.8rem;
}

.pw-testimonial-dots {
  display: flex;
  gap: 0.55rem;
}

.pw-testimonial-dots button {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 50%;
  background: var(--aif-grey-blue);
  cursor: pointer;
  padding: 0;
}

.pw-testimonial-dots button.is-active {
  width: 24px;
  border-radius: 999px;
  background: var(--aif-orange);
}

.pw-testimonial-dots button:focus-visible {
  outline: 2px solid var(--aif-accent);
  outline-offset: 3px;
}

/* No reduced-motion override for .pw-testimonial's position: the
   translateY peek is a static layout choice (matches the reference exactly,
   decided together), not an animation — the card's full content (quote,
   attribution, dots) is always in the DOM and unclipped, just positioned so
   only its top strip sits above the panels' bottom edge until the GSAP
   scroll-triggered clip-path/opacity reveal runs. Nothing is ever
   content-hidden by CSS alone. */

@media (max-width: 900px) {
  .pw-audience-split {
    min-height: 760px;
  }

  .pw-audience-panel {
    padding: 3rem 2rem 7rem;
  }
}

@media (max-width: 600px) {
  .pw-audience {
    margin-bottom: 27rem;
  }

  .pw-audience-split {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .pw-audience-panel {
    min-height: 480px;
    padding: 3rem 1.5rem 8rem;
  }

  .pw-testimonial {
    right: 1rem;
    left: 1rem;
    padding: 2rem 1.5rem;
    transform: translateY(calc(100% - 32px));
  }

  .pw-testimonial blockquote {
    font-size: 1.1rem;
  }

  .pw-testimonial__quote {
    align-items: start;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .pw-testimonial__logo {
    width: 130px;
  }
}

/* ── Homepage redesign: Module 8 — foundation ─────────────────────────
   Sits directly under audience split (see components/_foundation.html). A
   2x2 grid: a tall MCP & Integrations card (3 looping marquee rows of real
   tool logos, alternating direction/speed) spanning both rows on the left,
   Security (compliance badges) and IP Expertise stacked on the right —
   matching .foundation-section at https://insivia.app/prokurio/home.html. */

.pw-foundation {
  display: grid;
  width: min(94%, var(--aif-width-wide));
  min-height: 650px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.25vw, 1.25rem);
  margin: 0 auto clamp(7rem, 11vw, 11rem);
}

.pw-foundation-card {
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid color-mix(in srgb, var(--aif-on-accent) 13%, transparent);
  border-radius: 7px;
  padding: clamp(2rem, 3vw, 3.2rem);
  isolation: isolate;
  box-shadow: 0 28px 70px rgba(0, 8, 21, 0.25);
}

.pw-foundation-card::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.07), transparent 42%);
  content: "";
  pointer-events: none;
}

.pw-foundation-card--integrations {
  grid-row: 1 / span 2;
  justify-content: flex-start;
  background:
    radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--aif-teal) 9%, transparent), transparent 32%),
    radial-gradient(circle at 5% 0%, color-mix(in srgb, var(--aif-accent) 24%, transparent), transparent 42%),
    var(--aif-ink);
}

.pw-foundation-card--security {
  justify-content: center;
  background:
    radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--aif-teal-deep) 45%, transparent), transparent 32%),
    linear-gradient(165deg, #1e7d7b 0%, #078a89 58%, #06383c 145%);
}

.pw-foundation-card--expertise {
  justify-content: center;
  background:
    radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--aif-sky) 45%, transparent), transparent 32%),
    linear-gradient(165deg, var(--aif-sky) 0%, var(--aif-accent) 58%, var(--aif-ink) 145%);
}

.pw-foundation-card--security h2,
.pw-foundation-card--expertise h2 {
  max-width: 620px;
}

.pw-foundation-card__copy {
  position: relative;
  z-index: 2;
}

.pw-foundation-card__eyebrow {
  display: block;
  margin-bottom: 1rem;
  color: var(--aif-grey-blue);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.pw-foundation-card--expertise h2,
.pw-foundation-card--expertise p,
.pw-foundation-card--expertise a {
  color: var(--aif-on-accent);
}

.pw-foundation-card--expertise p {
  opacity: 0.76;
}

.pw-foundation-card h2 {
  margin: 0;
  color: var(--aif-on-accent);
  font-size: clamp(1.7rem, 2.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.pw-foundation-card:not(.pw-foundation-card--integrations) h2 {
  font-size: clamp(1.55rem, 1.9vw, 2.2rem);
}

.pw-foundation-card p {
  max-width: none;
  margin: 1.1rem 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(0.88rem, 1vw, 1rem);
  font-weight: 300;
  line-height: 1.65;
}

.pw-foundation-card a {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.5rem;
  color: var(--aif-on-accent);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

.pw-foundation-card a span:last-child {
  color: var(--aif-on-accent);
  font-size: 1.75rem;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.pw-foundation-card a:hover span:last-child,
.pw-foundation-card a:focus-visible span:last-child {
  transform: translateX(5px);
}

.pw-security-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
}

.pw-security-badge {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--aif-grey-blue) 24%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--aif-ink) 24%, transparent);
  padding: 0.45rem 0.7rem 0.45rem 0.45rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
}

.pw-security-badge__mark {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: transparent;
}

.pw-security-badge__mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pw-security-badge > span:last-child {
  display: grid;
  min-width: 0;
  line-height: 1.15;
}

.pw-security-badge strong {
  overflow: hidden;
  color: var(--aif-on-accent);
  font-size: clamp(0.68rem, 0.85vw, 0.82rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pw-security-badge small {
  margin-top: 0.18rem;
  color: color-mix(in srgb, var(--aif-grey-blue) 72%, transparent);
  font-size: 0.62rem;
  font-style: italic;
}

.pw-integration-marquee {
  position: relative;
  z-index: 2;
  overflow: hidden;
  width: calc(100% + clamp(4rem, 6vw, 6.4rem));
  margin: 0.65rem -3.2rem 0;
  padding: 0.35rem 0;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.pw-foundation-card--integrations .pw-foundation-card__copy + .pw-integration-marquee {
  margin-top: auto;
}

.pw-integration-marquee__track {
  display: flex;
  width: max-content;
  animation: pw-integration-marquee 38s linear infinite;
}

/* The 3 rows alternate direction and speed: row 1 forward/38s (above), row
   2 reverse/46s, row 3 forward-but-slower/54s — matches the reference. */
.pw-integration-marquee--reverse .pw-integration-marquee__track {
  animation: pw-integration-marquee-reverse 46s linear infinite;
}

.pw-integration-marquee--slow .pw-integration-marquee__track {
  animation-duration: 54s;
}

.pw-integration-marquee__group {
  display: flex;
  flex-shrink: 0;
  gap: 0.85rem;
  padding-right: 0.85rem;
}

.pw-integration-marquee__group span {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.65rem;
  min-width: max-content;
  border: 1px solid color-mix(in srgb, var(--aif-grey-blue) 16%, transparent);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.78);
  padding: 1rem 1.25rem;
  font-size: 0.96rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
}

.pw-integration-marquee__group img {
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.92);
  object-fit: contain;
  padding: 0.32rem;
}

@keyframes pw-integration-marquee {
  to {
    transform: translateX(-50%);
  }
}

@keyframes pw-integration-marquee-reverse {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pw-integration-marquee__track {
    animation: none;
  }
}

@media (max-width: 900px) {
  .pw-foundation {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pw-foundation-card {
    min-height: 520px;
  }

  .pw-foundation-card--integrations {
    grid-column: 1 / -1;
    min-height: 620px;
  }
}

@media (max-width: 600px) {
  .pw-security-badges {
    grid-template-columns: 1fr;
  }

  .pw-security-badge strong {
    font-size: 0.8rem;
  }

  .pw-foundation {
    width: calc(100% - 2rem);
    grid-template-columns: 1fr;
  }

  .pw-foundation-card,
  .pw-foundation-card--integrations {
    min-height: 540px;
    grid-column: auto;
  }
}

/* Manage Your Spend page */
.pw-spend-page{background:#001d3a}.pw-spend-page h1,.pw-spend-page h2,.pw-spend-page h3{text-wrap:balance}.spend-kicker{display:block;color:#159f9a;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.spend-hero{position:relative;overflow:hidden;min-height:calc(100svh - 72px);padding:clamp(7rem,11vw,10rem) 0 3rem;background:radial-gradient(circle at 72% 42%,rgb(47 112 212/34%),transparent 31%),radial-gradient(circle at 18% 75%,rgb(89 67 174/18%),transparent 28%),#001d3a;color:#fff}.spend-hero__stage{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:clamp(3rem,6vw,7rem);align-items:center}.spend-hero__copy{display:grid}.spend-hero__message{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none}.spend-hero__message.is-active{visibility:visible;opacity:1;pointer-events:auto}.spend-hero__message h1,.spend-hero__message h2{max-width:790px;margin:0;font-size:clamp(3rem,5.1vw,6.2rem);line-height:.97;letter-spacing:-.045em}.spend-hero__message h1 span,.spend-hero__message h2 span{display:block;color:#8db2e8}.spend-hero__message p{max-width:650px;margin:1.7rem 0 0;color:rgb(255 255 255/65%);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7}.spend-button{grid-area:2/1;display:inline-flex;gap:1.4rem;align-items:center;justify-self:start;margin-top:2.2rem;padding:1rem 1.35rem;border-radius:3px;background:#fff;color:#001d3a;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.spend-button:hover{background:var(--aif-orange);color:#fff}
.spend-warning{padding:clamp(7rem,12vw,13rem) 0;background:#f7f9fb;color:#001d3a}.spend-warning h2,.spend-connected h2,.spend-capabilities>.pw-container>header h2{font-weight:900;margin:1.2rem 0 1.7rem;font-size:clamp(2.8rem,5vw,5.8rem);line-height:1;letter-spacing:-.045em}.spend-warning h2 span,.spend-connected h2 span,.spend-capabilities>.pw-container>header h2 span{display:block;color:#12509b}.spend-warning header p,.spend-connected header>p{max-width:700px;color:#596a7c;font-size:1.08rem;line-height:1.75}.spend-timeline{margin-top:clamp(4rem,8vw,7rem)}.spend-timeline__track{height:4px;background:#dce4eb}.spend-timeline__track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#159f9a,#e49a35,#d45d4c);transform-origin:left}.spend-timeline ol{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}.spend-timeline li{position:relative;padding:1.5rem 1rem 0 0}.spend-timeline li:before{position:absolute;top:-8px;left:0;width:14px;height:14px;border:3px solid #f7f9fb;border-radius:50%;background:#159f9a;content:""}.spend-timeline li:nth-child(3):before{background:#e49a35}.spend-timeline li:nth-child(n+4):before{background:#d45d4c}.spend-timeline li span{display:block;color:#9ba8b4;font-size:.65rem;font-weight:800}.spend-timeline li strong{display:block;margin:.5rem 0;font-size:clamp(.9rem,1.15vw,1.1rem)}.spend-timeline li small{color:#778797}
.spend-connected{padding:clamp(7rem,11vw,12rem) 0;background:radial-gradient(circle at 70% 48%,rgb(47 112 212/26%),transparent 34%),#001d3a;color:#fff}.spend-connected>.pw-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,5vw,6rem);align-items:center}.spend-connected header{min-width:0}.spend-connected h2{margin-bottom:0;font-size:clamp(2.5rem,4vw,5rem)}.spend-connected h2 span{color:#8db2e8}.spend-connected header>p{color:rgb(255 255 255/57%)}.spend-connected__flow{display:grid;grid-template-columns:minmax(0,1fr) clamp(1.5rem,2.5vw,3rem) minmax(0,1fr);align-items:stretch;min-width:0}.spend-connected__inputs{display:grid;gap:.7rem}.spend-connected__inputs article{display:flex;gap:.75rem;align-items:center;padding:1.25rem 1rem;border:1px solid rgb(255 255 255/12%);border-radius:4px;background:rgb(0 8 20/45%)}.spend-connected__inputs span{color:#5fd3ce;font-size:.7rem}.spend-connected__lines{display:grid;padding-block:2.25rem}.spend-connected__lines i{border-top:1px solid rgb(95 211 206/45%);transform-origin:left}.spend-connected__result{display:flex;min-width:0;padding:clamp(1rem,1.5vw,1.75rem);border:1px solid rgb(95 211 206/40%);border-radius:4px;background:linear-gradient(145deg,rgb(18 80 155/50%),rgb(0 8 20/70%));flex-direction:column;justify-content:center}.spend-connected__result small{color:#5fd3ce;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.spend-connected__result>strong{max-width:420px;margin:1rem 0 2rem;font-size:clamp(1.5rem,2vw,2.4rem);line-height:1.05}.spend-connected__result div{display:flex;gap:.5rem;flex-wrap:wrap}.spend-connected__result span{padding:.5rem .75rem;border:1px solid rgb(255 255 255/15%);border-radius:2rem;color:rgb(255 255 255/64%);font-size:.68rem;text-transform:uppercase}
.spend-capabilities{padding:clamp(7rem,10vw,11rem) 0 0;background:#fff;color:#001d3a}.spend-capabilities>.pw-container>header{max-width:900px;margin-bottom:clamp(5rem,9vw,9rem)}.spend-capability{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(3rem,8vw,9rem);align-items:center;min-height:820px;padding-block:clamp(5rem,8vw,8rem);border-top:1px solid #dce4eb}.spend-capability--reverse .spend-capability__copy{order:2}.spend-capability__copy>small{color:#159f9a;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.spend-capability h3{margin:1.25rem 0 1.6rem;font-size:clamp(2.5rem,4vw,4.8rem);line-height:1;letter-spacing:-.04em}.spend-capability h3 span{display:block;color:#12509b}.spend-capability__copy>p{color:#596a7c;line-height:1.75}.spend-capability ul{display:grid;gap:.75rem;margin:2rem 0;padding:0;list-style:none}.spend-capability li{display:flex;gap:.8rem;align-items:center;color:#34495d}.spend-capability li:before{width:7px;height:7px;border-radius:50%;background:var(--aif-orange);content:"";flex:0 0 auto}.spend-capability__outcome{display:block;margin:2rem 0;color:#087c7b;font-size:1.12rem}.spend-capability__copy a{color:#12509b;font-size:.75rem;font-weight:800;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.spend-capability__copy a b{color:var(--aif-orange);font-size:1.1rem}.spend-capability__visual{padding:clamp(1.5rem,4vw,4rem);border-radius:5px;background:radial-gradient(circle at 70% 25%,rgb(47 112 212/32%),transparent 36%),#001d3a}.spend-mini{min-height:420px;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgb(255 255 255/14%);border-radius:5px;background:rgb(0 8 20/72%);color:#fff;box-shadow:0 30px 80px rgb(0 8 20/30%)}.spend-mini header{display:flex;gap:.7rem;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid rgb(255 255 255/10%);font-size:.75rem;text-transform:uppercase}.spend-mini header i{width:8px;height:8px;border-radius:50%;background:#5fd3ce}.spend-mini header span{flex:1}.spend-mini header b{color:var(--aif-orange)}.spend-bars{display:flex;gap:1rem;align-items:end;height:260px;padding-top:2rem}.spend-bars i{width:100%;height:var(--bar);border-radius:3px 3px 0 0;background:linear-gradient(#5fd3ce,#12509b);transform-origin:bottom}.spend-mini--plan footer{display:flex;justify-content:space-between;color:rgb(255 255 255/42%);font-size:.65rem}.spend-gauge{display:grid;place-items:center;width:235px;margin:2.5rem auto;border-radius:50%;background:conic-gradient(#5fd3ce 0 69%,rgb(255 255 255/8%) 69%);aspect-ratio:1}.spend-gauge:before{grid-area:1/1;width:76%;border-radius:50%;background:#000814;content:"";aspect-ratio:1}.spend-gauge div{z-index:1;grid-area:1/1;text-align:center}.spend-gauge strong{display:block;font-size:2.8rem}.spend-gauge small{color:rgb(255 255 255/45%)}.spend-mini--actual footer{display:flex;justify-content:space-around;color:rgb(255 255 255/48%)}.spend-mini--actual footer b{display:block;margin-top:.35rem;color:#fff;font-size:1.2rem}.spend-mini ol{display:grid;gap:1.35rem;margin:2.5rem 0 0;padding:0;list-style:none}.spend-mini--drivers li{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center;color:rgb(255 255 255/65%)}.spend-mini--drivers li i{grid-column:1/-1;display:block;width:var(--driver);height:7px;border-radius:1rem;background:linear-gradient(90deg,#12509b,var(--aif-orange));transform-origin:left}.spend-mini--drivers li b{color:#fff}.spend-mini--invoice li{display:grid;grid-template-columns:30px 1fr auto;align-items:center;padding:1rem;border-radius:3px;background:rgb(255 255 255/5%)}.spend-mini--invoice li i{display:grid;place-items:center;width:22px;border-radius:50%;background:#087c7b;font-style:normal;aspect-ratio:1}.spend-mini--invoice li b{color:#5fd3ce;font-size:.72rem}.spend-mini--invoice li.is-flagged{border:1px solid rgb(228 154 53/35%)}.spend-mini--invoice li.is-flagged i{background:var(--aif-orange)}.spend-mini--invoice li.is-flagged b{color:var(--aif-orange)}.spend-mini--scenario>div{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;align-items:center;margin-top:3rem}.spend-mini--scenario>div small{color:rgb(255 255 255/45%)}.spend-mini--scenario>div strong{font-size:2.4rem}.spend-mini--scenario>div span{grid-column:1/-1;color:#5fd3ce;font-size:1.8rem}.spend-mini--scenario footer{display:flex;justify-content:space-between;margin-top:3rem;padding:1.4rem;border-radius:3px;background:rgb(95 211 206/10%)}.spend-mini--scenario footer b{color:#5fd3ce;font-size:1.4rem}.pw-spend-page .pw-forecast-faq{margin:0;padding-top:clamp(7rem,11vw,11rem);background:#001d3a}.pw-spend-page .pw-forecast-faq__link{display:inline-flex;gap:.5rem;margin-top:1rem;color:#12509b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
@media(max-width:900px){.spend-hero__stage,.spend-connected>.pw-container,.spend-capability{grid-template-columns:1fr}.spend-hero__visual{width:min(620px,100%)}.spend-connected__flow{grid-template-columns:1fr 60px 1fr}.spend-capability{min-height:0}.spend-capability--reverse .spend-capability__copy{order:0}}@media(max-width:650px){.spend-hero__message h1,.spend-hero__message h2{font-size:clamp(2.65rem,13vw,4.3rem)}.spend-timeline ol{grid-template-columns:1fr}.spend-timeline__track{display:none}.spend-timeline li{padding:1rem 0 1rem 2rem;border-left:3px solid #dce4eb}.spend-timeline li:before{top:1.3rem;left:-8px}.spend-connected__flow{grid-template-columns:1fr}.spend-connected__lines{display:none}.spend-connected__result{margin-top:1rem}.spend-capability__visual{padding:1rem}.spend-mini{min-height:360px;padding:1.25rem}.spend-gauge{width:200px}}@media(prefers-reduced-motion:reduce){.spend-timeline__track i,.spend-connected__lines i,.spend-bars i,.spend-mini--drivers li i{transform:none!important}}
.spend-hero__tabs { display:flex; flex-wrap:wrap; gap:.12em; align-items:baseline; margin-bottom:clamp(2rem,2.5vw,2.75rem); color:rgb(255 255 255 / 25%); font-size:clamp(.72rem,.82vw,.88rem); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.spend-hero { padding-top:clamp(9rem,14vw,13rem); background:radial-gradient(circle at 18% 28%,rgb(47 112 212 / 34%),transparent 38%),radial-gradient(circle at 72% 58%,rgb(89 67 174 / 25%),transparent 42%),radial-gradient(circle at 24% 88%,rgb(89 67 174 / 20%),transparent 35%),#001d3a; }
.spend-hero::after { position:absolute; z-index:0; right:0; bottom:0; left:0; height:clamp(6rem,16vw,12rem); background:linear-gradient(to bottom,transparent,#001d3a); content:""; pointer-events:none; }
.spend-hero>.pw-container { position:relative; z-index:1; }
.spend-warning { width:94%; margin:clamp(5rem,8vw,9rem) auto; padding:clamp(5rem,8vw,9rem) clamp(2rem,6vw,7rem); border:1px solid rgb(255 255 255 / 72%); border-radius:6px; background:linear-gradient(145deg,#fff 0%,#fbfcfd 58%,#f4f7f9 100%); box-shadow:inset 0 1px 0 #fff,0 18px 70px rgb(0 8 21 / 18%); }
.spend-warning>.pw-container { width:100%; max-width:none; padding:0; }
.spend-warning,.spend-warning h2,.spend-warning strong { color:#001d3a; }
.spend-warning h2 span { color:var(--aif-orange); }
.spend-warning header p,.spend-warning small { color:#596a7c; }
.spend-warning .spend-kicker { color:#087c7b; }
.spend-connected { background:linear-gradient(to bottom,#001d3a 0%,transparent 14%,transparent 78%,#001d3a 100%),radial-gradient(circle at 70% 48%,rgb(47 112 212 / 26%),transparent 34%),radial-gradient(circle at 16% 82%,rgb(89 67 174 / 13%),transparent 30%),#001d3a; }
.spend-connected h2 span { color:var(--aif-orange); }
.spend-connected header>p { margin:2.75rem 0 0; color:rgb(255 255 255 / 68%); font-size:clamp(1rem,1.35vw,1.25rem); line-height:1.7; }
.spend-connected__flow { position:relative; grid-template-columns:minmax(0,1fr) clamp(2.5rem,4vw,4.5rem) minmax(0,1.12fr); align-items:center; }
.spend-connected__inputs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.spend-connected__inputs>small { grid-column:1/-1; margin-bottom:.2rem; color:rgb(255 255 255 / 38%); font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.spend-connected__inputs article { position:relative; min-height:88px; padding:1rem; overflow:hidden; background:linear-gradient(145deg,rgb(255 255 255 / 7%),rgb(0 8 20 / 58%)); box-shadow:0 14px 30px rgb(0 8 20 / 18%); }
.spend-connected__inputs article::after { position:absolute; right:-18px; bottom:-24px; width:62px; border:1px solid rgb(95 211 206 / 16%); border-radius:50%; content:""; aspect-ratio:1; }
.spend-connected__inputs article span { display:grid; place-items:center; width:25px; border:1px solid rgb(95 211 206 / 32%); border-radius:50%; aspect-ratio:1; }
.spend-connected__lines { gap:0; padding-block:4.1rem 2.1rem; }
.spend-connected__lines i { position:relative; border-color:rgb(95 211 206 / 40%); }
.spend-connected__lines i::after { position:absolute; top:-3px; right:-1px; width:6px; border-radius:50%; background:#5fd3ce; box-shadow:0 0 14px rgb(95 211 206 / 80%); content:""; aspect-ratio:1; }
.spend-connected__result { position:relative; min-height:285px; overflow:hidden; border-color:rgb(95 211 206 / 48%); background:radial-gradient(circle at 82% 18%,rgb(95 211 206 / 17%),transparent 31%),linear-gradient(145deg,rgb(18 80 155 / 62%),rgb(0 8 20 / 78%)); box-shadow:0 24px 60px rgb(0 8 20 / 34%),inset 0 1px 0 rgb(255 255 255 / 8%); }
.spend-connected__mark { display:flex!important; gap:5px!important; align-items:end; height:34px; margin-top:1.15rem; }
.spend-connected__mark i { display:block; width:7px; height:var(--source-height,100%); border-radius:5px 5px 1px 1px; background:linear-gradient(#5fd3ce,#2f70d4); transform-origin:bottom; }
.spend-connected__mark i:nth-child(1) { height:48%; }
.spend-connected__mark i:nth-child(2) { height:74%; }
.spend-connected__mark i:nth-child(3) { height:100%; }
.spend-connected__result>strong { margin:.85rem 0 1.5rem; }
.spend-connected__signals { display:flex!important; }
.spend-connected__result em { display:block; margin-top:1.5rem; color:#5fd3ce; font-size:.7rem; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:650px){.spend-connected__inputs{grid-template-columns:1fr}.spend-connected__inputs>small{grid-column:auto}.spend-connected__result{min-height:250px}.spend-connected__lines{display:none}}
.spend-capabilities { background:linear-gradient(to bottom,#001d3a 0%,transparent 12%,transparent 88%,#001d3a 100%),radial-gradient(circle at 82% 16%,rgb(47 112 212 / 24%),transparent 32%),radial-gradient(circle at 18% 58%,rgb(89 67 174 / 18%),transparent 38%),radial-gradient(circle at 76% 88%,rgb(89 67 174 / 14%),transparent 30%),#001d3a; color:#fff; }
.pw-spend-page .pw-forecast-faq { background:linear-gradient(to bottom,#001d3a 0%,rgb(0 29 58 / 35%) 14%,transparent 34%),radial-gradient(circle at 22% 34%,rgb(47 112 212 / 20%),transparent 34%),radial-gradient(circle at 78% 72%,rgb(89 67 174 / 14%),transparent 38%),#001d3a; }
.pw-spend-page .pw-forecast-faq__card:nth-child(7) { grid-column:span 2; }
.pw-spend-page .pw-forecast-faq__card:nth-child(8) { grid-column:span 3; }
.pw-spend-page .pw-forecast-faq__card:nth-child(9) { grid-column:span 3; }
.pw-spend-page .pw-forecast-faq__card:nth-child(10) { grid-column:span 2; }
.spend-capabilities>.pw-container>header h2,.spend-capability h3 { color:#fff; }
.spend-capabilities>.pw-container>header h2 span,.spend-capability h3 span { color:#8db2e8; }
.spend-capability { border-top-color:rgb(255 255 255 / 13%); }
.spend-capability__copy>p { color:rgb(255 255 255 / 60%); }
.spend-capability li { color:rgb(255 255 255 / 72%); }
.spend-capability__outcome { color:#5fd3ce; }
.spend-capability__copy a { color:#fff; }
.spend-capability__visual { background:transparent; }
.spend-hero__tabs button { padding:0; border:0; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; text-transform:uppercase; cursor:pointer; transition:color 220ms ease; }
.spend-hero__tabs button:last-of-type { margin-left:.3em; }
.spend-hero__tabs button:hover,.spend-hero__tabs button:focus-visible,.spend-hero__tabs button.is-active { color:#fff; }
.spend-hero__tabs button:focus-visible { border-radius:2px; outline:2px solid #5fd3ce; outline-offset:5px; }
.spend-hero:not(.is-enhanced) .spend-hero__copy { display:block; }
.spend-hero:not(.is-enhanced) .spend-hero__message { visibility:visible; margin-bottom:3rem; opacity:1; pointer-events:auto; }
.spend-hero__visual { display:grid; min-width:0; }
.spend-hero__scene { grid-area:1/1; visibility:hidden; opacity:0; }
.spend-hero__scene.is-active { visibility:visible; opacity:1; }
.spend-hero__scene.is-active { z-index:2; }
.spend-hero__scene.is-leaving { z-index:1; visibility:visible; opacity:1; }
.spend-hero-window { --spend-screen-pad:clamp(1.5rem,3vw,2.5rem); min-height:500px; overflow:hidden; border:1px solid rgb(255 255 255 / 14%); border-radius:6px; background:linear-gradient(145deg,rgb(18 80 155 / 30%),rgb(0 8 20 / 88%)); box-shadow:0 30px 80px rgb(0 8 20 / 35%); }
.spend-hero-summary { display:grid; grid-template-columns:1.3fr .7fr; gap:1rem; margin:2rem 0; }.spend-hero-summary span,.spend-hero-quarters span{padding:1rem;border-radius:3px;background:rgb(255 255 255 / 5%)}
.spend-hero-summary,.spend-hero-chart,.spend-hero-total,.spend-hero-progress,.spend-hero-quarters,.spend-hero-drivers,.spend-hero-scenario,.spend-hero-impact{margin-right:var(--spend-screen-pad);margin-left:var(--spend-screen-pad)}.spend-hero-window--plan footer{padding-right:var(--spend-screen-pad);padding-left:var(--spend-screen-pad)}
.spend-hero-summary small,.spend-hero-total small,.spend-hero-quarters small,.spend-hero-scenario small,.spend-hero-impact small{display:block;color:rgb(255 255 255 / 43%);font-size:.65rem;text-transform:uppercase}.spend-hero-summary strong{display:block;margin-top:.45rem;font-size:1.5rem}
.spend-hero-chart{display:flex;gap:.8rem;align-items:end;height:220px}.spend-hero-chart i{width:100%;height:var(--value);border-radius:3px 3px 0 0;background:linear-gradient(#5fd3ce,#12509b);transform-origin:bottom}.spend-hero-window--plan footer{display:flex;justify-content:space-around;color:rgb(255 255 255 / 38%);font-size:.65rem}
.spend-hero-total{margin:3.5rem 0 2rem;text-align:center}.spend-hero-total strong{display:block;margin:.5rem 0;font-size:clamp(3rem,5vw,4.6rem)}.spend-hero-total span{color:#5fd3ce;font-size:.75rem}.spend-hero-progress{height:12px;margin:2rem 0 3rem;overflow:hidden;border-radius:2rem;background:rgb(255 255 255 / 8%)}.spend-hero-progress i{display:block;width:69%;height:100%;background:linear-gradient(90deg,#12509b,#5fd3ce);transform-origin:left}.spend-hero-quarters{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.spend-hero-quarters b{display:block;margin-top:.4rem}
.spend-hero-drivers{display:grid;gap:1rem;margin-top:2rem}.spend-hero-drivers p{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;margin:0;padding:.9rem 1rem;border-radius:3px;background:rgb(255 255 255 / 4%)}.spend-hero-drivers span b,.spend-hero-drivers span small{display:block}.spend-hero-drivers span small{margin-top:.25rem;color:rgb(255 255 255 / 38%);font-size:.65rem}.spend-hero-drivers p>strong{color:#fff}.spend-hero-drivers p>i{grid-column:1/-1;width:var(--value);height:6px;border-radius:1rem;background:linear-gradient(90deg,#12509b,var(--aif-orange));transform-origin:left}
.spend-hero-scenario{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:4rem 0 2.5rem}.spend-hero-scenario>span{padding:1.5rem;border:1px solid rgb(255 255 255 / 10%);border-radius:4px;background:rgb(255 255 255 / 4%)}.spend-hero-scenario>span.is-active{border-color:rgb(95 211 206 / 38%);background:rgb(95 211 206 / 8%)}.spend-hero-scenario strong{display:block;margin:.55rem 0;font-size:clamp(1.7rem,3vw,2.5rem)}.spend-hero-scenario em{color:rgb(255 255 255 / 42%);font-size:.68rem;font-style:normal}.spend-hero-scenario>b{color:#5fd3ce;font-size:1.5rem}.spend-hero-impact{padding:1.4rem;border-radius:4px;background:rgb(95 211 206 / 9%)}.spend-hero-impact strong{display:block;margin:.4rem 0;color:#5fd3ce;font-size:2rem}.spend-hero-impact span{color:rgb(255 255 255 / 55%);font-size:.72rem}
@media(max-width:650px){.spend-hero{padding-top:9rem}.spend-warning{width:calc(100% - 1.5rem);margin:3.5rem auto;padding:4rem 1.35rem}.spend-hero-window{--spend-screen-pad:1.2rem;min-height:430px}.spend-hero-scenario{grid-template-columns:1fr;margin-top:2rem}.spend-hero-scenario>b{transform:rotate(90deg);text-align:center}}
@media(max-width:900px){.pw-spend-page .pw-forecast-faq__card:nth-child(7),.pw-spend-page .pw-forecast-faq__card:nth-child(8),.pw-spend-page .pw-forecast-faq__card:nth-child(9),.pw-spend-page .pw-forecast-faq__card:nth-child(10){grid-column:span 1}}
@media(prefers-reduced-motion:reduce){.spend-hero.is-enhanced .spend-hero__message{display:none;visibility:hidden;margin-bottom:0;opacity:0;pointer-events:none}.spend-hero.is-enhanced .spend-hero__message.is-active{display:block;visibility:visible;opacity:1;pointer-events:auto}.spend-hero__scene{display:none}.spend-hero__scene.is-active{display:block}}

/* PORTFOLIO INTELLIGENCE */
.pw-portfolio-page .pw-platform-hero::after{background:linear-gradient(to bottom,transparent,rgb(0 29 58/92%))}
.pw-portfolio-page h1,.pw-portfolio-page h2,.pw-portfolio-page h3{text-wrap:balance}
.pi-screen{background:#06182c}
.pi-screen__labels{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem}
.pi-screen__labels span{padding:1rem;border:1px solid rgb(141 178 232/20%);color:#fff;font-size:.75rem}
.pi-screen__bars{display:flex;height:230px;gap:1rem;align-items:end;padding:1rem 2rem 2rem}
.pi-screen__bars i{width:100%;height:38%;background:linear-gradient(var(--aif-teal),var(--aif-accent))}
.pi-screen__bars i:nth-child(2){height:65%}
.pi-screen__bars i:nth-child(3){height:48%}
.pi-screen__bars i:nth-child(4){height:82%}
.pi-screen__bars i:nth-child(5){height:68%}
.pi-screen__bars i:nth-child(6){height:92%}
.pi-insight-section .pw-cost-horizon-section__copy h2{max-width:18ch}
.pi-insight-race{margin-top:clamp(3rem,6vw,5rem)}
.pi-insight-race__headers,.pi-insight-race__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr)}
.pi-insight-race__headers span{padding:0 1.6rem .85rem;color:#536675;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pi-insight-race__headers span:first-child{padding-left:0}
.pi-insight-race__stage{position:relative}
.pi-insight-race__row{min-height:170px}
.pi-insight-race__row>div{display:grid;position:relative;align-content:center;min-width:0;padding:clamp(1.5rem,2.5vw,2.5rem)}
.pi-insight-race__row>div:first-child{padding-left:0}
.pi-insight-race__row>div+div{border-left:1px solid #d6e0e6}
.pi-insight-race__row small{display:none;margin-bottom:.65rem;color:#536675;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.pi-insight-race__before span{color:#536675;font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.35}
.pi-insight-race__prokurio::before,.pi-insight-race__outcome::before{position:absolute;top:50%;left:-.65rem;display:grid;width:1.3rem;height:1.3rem;place-items:center;border-radius:50%;background:#fff;color:var(--aif-orange);font-size:1.05rem;content:"→";transform:translateY(-50%)}
.pi-insight-race__prokurio strong,.pi-insight-race__outcome strong{font-size:clamp(1.1rem,1.65vw,1.5rem);line-height:1.3;transition:opacity .5s ease,transform .5s ease}
.pi-insight-race__prokurio strong{color:#087c7b}
.pi-insight-race__outcome{background:linear-gradient(90deg,rgb(49 208 205/5%),transparent)}
.pi-insight-race__outcome strong{color:#001d3a}
.pi-insight-race__progress{display:flex;gap:.55rem;justify-content:center;padding:1rem 0 0}
.pi-insight-race__progress i{width:2.25rem;height:3px;background:#c8d2d9;transition:background-color .3s ease,transform .3s ease}
.pi-insight-race__progress i.is-active{background:var(--aif-orange);transform:scaleX(1.12)}
.pi-insight-race.is-enhanced .pi-insight-race__row{position:absolute;inset:0;visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease,visibility 0s linear .45s}
.pi-insight-race.is-enhanced .pi-insight-race__row.is-active{position:relative;visibility:visible;opacity:1;transform:none;transition-delay:0s}
.pi-insight-race.is-enhanced .pi-insight-race__prokurio strong,.pi-insight-race.is-enhanced .pi-insight-race__outcome strong{opacity:0;transform:translateX(-10px)}
.pi-insight-race.is-enhanced .pi-insight-race__prokurio.is-revealed strong,.pi-insight-race.is-enhanced .pi-insight-race__outcome.is-revealed strong{opacity:1;transform:none}
.pi-review{padding-block:clamp(5rem,9vw,9rem);background:linear-gradient(to bottom,transparent,var(--aif-ink) 85%)}
.pi-review__layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(36rem,1.14fr);gap:clamp(3rem,6vw,7rem);align-items:center}
.pi-story h2{margin:0;font-size:clamp(3rem,5vw,5.5rem);line-height:1}
.pi-review h2{margin:0;color:#fff;font-size:clamp(3rem,5.75vw,5.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.1}
.pi-story h2 span{display:block;color:var(--aif-orange)}
.pi-review h2 span{display:block;color:#8db2e8}
.pi-review__copy p{max-width:42rem;color:rgb(255 255 255 / 65%);line-height:1.7}
.pi-review__copy p:first-of-type{margin-top:2rem}
.pi-review-graphic{position:relative;margin:0;padding:clamp(1.25rem,2.5vw,2rem);overflow:hidden;border:1px solid rgb(141 178 232/18%);border-radius:1rem;background:linear-gradient(145deg,#071b30 0%,#041321 100%);box-shadow:0 28px 70px rgb(0 29 58/24%);color:#fff}
.pi-review-graphic>*{position:relative}
.pi-review-graphic__eyebrow,.pi-review-graphic__assignment>span{font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.pi-review-graphic__cards{display:grid;grid-template-columns:repeat(12,1fr);gap:.3rem;margin-top:.65rem}
.pi-review-graphic__cards i,.pi-review-graphic__mini-cards i{display:block;aspect-ratio:.72;border:1px solid rgb(141 178 232/20%);border-radius:2px;background:linear-gradient(135deg,#17344c 65%,#0d283f 65%);box-shadow:0 2px 7px rgb(0 0 0/24%)}
.pi-review-graphic__criteria{display:flex;position:relative;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:1.3rem auto;padding:1rem;border-block:1px solid rgb(141 178 232/16%)}
.pi-review-graphic__criteria::before{position:absolute;top:-.75rem;left:50%;color:var(--aif-orange);font-size:1.2rem;content:"↓"}
.pi-review-graphic__criteria span{padding:.35rem .55rem;border:1px solid rgb(141 178 232/18%);border-radius:99px;background:#112d45;color:#dce9f3;font-size:.62rem;font-weight:750;box-shadow:0 2px 8px rgb(0 0 0/18%)}
.pi-review-graphic__criteria .pi-review-graphic__filter-icon{display:grid;width:1.8rem;padding:.32rem;flex:0 0 auto;place-items:center;border-color:rgb(101 212 199/36%);background:#0b3438;color:#65d4c7}
.pi-review-graphic__filter-icon svg{display:block;width:100%;height:auto}
.pi-review-graphic__criteria .is-selected{border-color:var(--aif-orange);background:#3a271e;color:#fff;box-shadow:inset 0 0 0 1px rgb(232 126 60/18%),0 3px 10px rgb(0 0 0/22%)}
.pi-review-graphic__criteria .is-selected::before{display:inline-block;width:.85rem;height:.85rem;margin-right:.3rem;border-radius:50%;background:var(--aif-orange);color:#071b30;font-size:.58rem;line-height:.85rem;text-align:center;content:"✓"}
.pi-review-graphic__criteria .is-selected b{margin-left:.25rem;color:#f3a06d;font-size:.56rem}
.pi-review-graphic__filter-result{display:flex;flex:1 0 100%;align-items:center;justify-content:center;gap:.5rem;margin-top:.35rem;color:#fff;font-size:.68rem}
.pi-review-graphic__filter-result small{color:#8da8bb;text-decoration:line-through}
.pi-review-graphic__filter-result small::after{margin-left:.5rem;color:var(--aif-orange);text-decoration:none;content:"→"}
.pi-review-graphic__filter-result b{color:#65d4c7;font-size:.78rem}
.pi-review-graphic__split{display:grid;grid-template-columns:1.6fr 1fr;gap:.65rem}
.pi-review-graphic__outcome{position:relative;min-height:7rem;padding:1rem;border:1px solid rgb(141 178 232/14%);border-radius:.5rem;background:#0d263c;box-shadow:0 8px 24px rgb(0 0 0/22%)}
.pi-review-graphic__outcome>span{color:#afc7d9;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.pi-review-graphic__outcome>strong{display:block;margin-top:.15rem;font-size:1.65rem}
.pi-review-graphic__outcome--maintain{border-top:3px solid var(--aif-teal)}
.pi-review-graphic__outcome--review{border-top:3px solid var(--aif-orange)}
.pi-review-graphic__mini-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;max-width:9rem;margin-top:.45rem}
.pi-review-graphic__candidate{position:absolute;right:.7rem;bottom:.7rem;left:.7rem;padding:.5rem;border:1px solid rgb(232 126 60/45%);border-radius:.3rem;background:#30231f}
.pi-review-graphic__candidate b,.pi-review-graphic__candidate small{display:block;font-size:.58rem}
.pi-review-graphic__candidate small{margin-top:.2rem;color:#f3a06d;font-weight:750}
.pi-review-graphic__assignment{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;margin-top:.65rem;padding:.7rem 1rem;border:1px solid rgb(141 178 232/16%);border-radius:.5rem;background:#102d45;color:#fff}
.pi-review-graphic__assignment div{display:flex}
.pi-review-graphic__assignment i{display:grid;width:1.75rem;aspect-ratio:1;margin-left:-.25rem;place-items:center;border:2px solid #102d45;border-radius:50%;background:var(--aif-teal);color:#031a20;font-size:.52rem;font-style:normal;font-weight:850}
.pi-review-graphic__assignment small{text-align:right;color:rgb(255 255 255/67%);font-size:.62rem}
.pi-review-graphic__decisions{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:.45rem;margin-top:.65rem}
.pi-review-graphic__decision,.pi-review-graphic__outlook{padding:.65rem .75rem;border:1px solid rgb(141 178 232/14%);border-radius:.4rem;background:#0d263c;color:#eaf2f8;font-size:.65rem;font-weight:800}
.pi-review-graphic__decision b{float:right}
.pi-review-graphic__decision--keep{border-left:3px solid var(--aif-teal)}
.pi-review-graphic__decision--prune{border-left:3px solid var(--aif-orange)}
.pi-review-graphic__outlook{border-color:rgb(56 190 174/30%);background:#0b3438}
.pi-review-graphic__outlook small,.pi-review-graphic__outlook b{display:block}
.pi-review-graphic__outlook b{margin-top:.15rem;color:#65d4c7;font-size:1rem}
.pi-review-graphic figcaption{display:grid;grid-template-columns:repeat(5,1fr);gap:.2rem;margin-top:1.15rem;color:#afc7d9;font-size:.54rem;font-weight:800;text-align:center}
.pi-review-graphic figcaption span{position:relative;padding-top:.55rem;border-top:2px solid rgb(141 178 232/18%)}
.pi-review-graphic figcaption span:not(:last-child)::after{position:absolute;top:-.48rem;right:-.18rem;color:var(--aif-orange);font-size:.8rem;content:"›"}
.pi-story{overflow:hidden;padding-block:clamp(6rem,10vw,10rem) 0}
.pi-story__header{max-width:78rem;margin-inline:auto;text-align:center}
.pi-story__header h2{max-width:15ch;margin-inline:auto}
.pi-story__stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:clamp(3rem,5vw,6rem);row-gap:2rem;align-items:start;min-height:48rem;padding-block:clamp(4rem,7vw,7rem)}
.pi-story__tabs{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:clamp(1rem,2vw,2.5rem);align-items:center}
.pi-story__tabs button.is-active{color:#fff}
.pi-story__tabs button:focus-visible{outline:2px solid var(--aif-teal);outline-offset:4px}
.pi-story__copy{display:grid;align-items:start;position:relative;grid-column:1;min-height:clamp(39rem,68vh,45rem)}
.pi-chapter{padding:2rem 0;border-top:1px solid rgb(255 255 255/12%)}
.pi-story.is-enhanced .pi-chapter{position:relative;grid-area:1/1;visibility:hidden;border:0;opacity:0;transform:translateY(18px);transition:opacity .35s ease,transform .45s ease,visibility .45s}
.pi-story.is-enhanced .pi-chapter.is-active{visibility:visible;opacity:1;transform:none}
.pi-story.is-enhanced .pi-chapter:not(.is-active),.pi-story.is-enhanced .pi-story-screen:not(.is-active){visibility:hidden!important;pointer-events:none}
.pi-story__visual{grid-column:2;margin-top:2rem;align-self:start;min-width:0}
.pi-story-window{position:relative;min-height:34rem;overflow:hidden;border:1px solid rgb(141 178 232/22%);border-radius:9px;background:#06182c;box-shadow:0 38px 90px rgb(0 5 14/65%)}
.pi-story-window__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:3.25rem;padding:.8rem 1rem;border-bottom:1px solid rgb(93 151 211/18%);background:#081c31;color:rgb(255 255 255/45%);font-size:.68rem}
.pi-story-window__bar>span{display:flex;gap:.3rem}
.pi-story-window__bar i{width:7px;height:7px;border-radius:50%;background:#718597}
.pi-story-window__bar i:first-child{background:var(--aif-orange)}
.pi-story-window__bar b{color:rgb(255 255 255/72%)}
.pi-story-window__bar em{justify-self:end;font-style:normal}
.pi-story-screen{min-height:calc(34rem - 3.25rem);padding:clamp(1.5rem,3vw,2.5rem);background:linear-gradient(145deg,#071b30,#0a2943);color:#fff}
.pi-story.is-enhanced .pi-story-screen{position:absolute;inset:3.25rem 0 0;visibility:hidden;opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .45s ease,visibility .45s}
.pi-story.is-enhanced .pi-story-screen.is-active{visibility:visible;opacity:1;transform:none}
.pi-story-screen header small{color:#8db2e8;font-size:.6rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.pi-story-screen h4{margin:.45rem 0 1.5rem;font-size:clamp(1.5rem,2.3vw,2.4rem);letter-spacing:-.035em}
.pi-ui-summary,.pi-ui-scenarios,.pi-ui-review{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}
.pi-ui-summary span,.pi-ui-scenarios span,.pi-ui-review span{padding:1rem;border:1px solid rgb(141 178 232/16%);border-radius:6px;background:#0d2b45}
.pi-ui-summary small,.pi-ui-summary b,.pi-ui-scenarios small,.pi-ui-scenarios strong,.pi-ui-scenarios em,.pi-ui-review small,.pi-ui-review strong{display:block}
.pi-ui-summary small,.pi-ui-scenarios small,.pi-ui-review small{color:rgb(255 255 255/55%);font-size:.58rem}
.pi-ui-summary b,.pi-ui-scenarios strong,.pi-ui-review strong{margin-top:.35rem;font-size:1.35rem}
.pi-ui-connections,.pi-ui-review-list{display:grid;gap:.55rem;margin-top:1rem}
.pi-ui-connections p,.pi-ui-review-list p{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;margin:0;padding:.8rem;border:1px solid rgb(141 178 232/14%);border-radius:6px;background:#0b253d}
.pi-ui-connections i,.pi-ui-review-list i{display:grid;width:2rem;aspect-ratio:1;place-items:center;border-radius:50%;background:#123b55;color:var(--aif-teal);font-size:.58rem;font-style:normal;font-weight:800}
.pi-ui-connections span b,.pi-ui-connections span small,.pi-ui-review-list span b,.pi-ui-review-list span small{display:block}
.pi-ui-connections small,.pi-ui-review-list small{margin-top:.15rem;color:rgb(255 255 255/45%);font-size:.58rem}
.pi-ui-connections em,.pi-ui-review-list em{color:#65d4c7;font-size:.58rem;font-style:normal;font-weight:800;text-transform:uppercase}
.pi-ui-total{display:grid;grid-template-columns:1fr auto;align-items:end;padding:1rem;border-left:3px solid var(--aif-teal);background:#0d2b45}
.pi-ui-total small,.pi-ui-total strong{display:block}
.pi-ui-total strong{margin-top:.3rem;font-size:2rem}
.pi-ui-total span{grid-column:2;grid-row:1/3;color:#8da8bb;font-size:.65rem}
.pi-ui-chart{display:flex;height:10rem;gap:1rem;align-items:end;margin-top:1.2rem;padding-inline:1rem;border-bottom:1px solid rgb(141 178 232/18%)}
.pi-ui-chart i{width:100%;height:var(--pi-h);background:linear-gradient(var(--aif-teal),#12509b)}
.pi-ui-years{display:grid;grid-template-columns:repeat(5,1fr);padding:.45rem 1rem;color:#8da8bb;font-size:.56rem;text-align:center}
.pi-ui-alert{display:grid;grid-template-columns:1fr auto;margin-top:.8rem;padding:.8rem;border:1px solid rgb(232 126 60/32%);border-radius:6px;background:#30231f}
.pi-ui-alert span{grid-column:1;color:rgb(255 255 255/52%);font-size:.6rem}
.pi-ui-alert em{grid-column:2;grid-row:1/3;align-self:center;color:#f3a06d;font-size:.6rem;font-style:normal;font-weight:800}
.pi-ui-breadcrumb{display:flex;gap:.6rem;align-items:center;padding:.75rem 1rem;border-radius:6px;background:#0d2b45;color:#8db2e8;font-size:.7rem}
.pi-ui-breakdown{display:grid;gap:.75rem;margin-top:1rem}
.pi-ui-breakdown p{display:grid;position:relative;grid-template-columns:1fr auto;margin:0;padding:.8rem 0;border-bottom:1px solid rgb(141 178 232/12%)}
.pi-ui-breakdown span b,.pi-ui-breakdown span small{display:block}
.pi-ui-breakdown span small{color:#8da8bb;font-size:.58rem}
.pi-ui-breakdown p>i{position:absolute;bottom:-1px;left:0;width:var(--pi-w);height:2px;background:var(--aif-teal)}
.pi-ui-scenarios{grid-template-columns:repeat(2,1fr)}
.pi-ui-scenarios span.is-active{border-color:var(--aif-teal);background:#0b3438}
.pi-ui-scenarios em{margin-top:.35rem;color:#8da8bb;font-size:.6rem;font-style:normal}
.pi-ui-impact{margin-top:1rem;padding:1.25rem;border-left:3px solid var(--aif-orange);background:#0d2b45}
.pi-ui-impact small,.pi-ui-impact strong,.pi-ui-impact span{display:block}
.pi-ui-impact strong{margin:.35rem 0;color:#f3a06d;font-size:2rem}
.pi-ui-impact span{color:#8da8bb;font-size:.65rem}
.pi-ui-timeline{display:flex;gap:.5rem;margin-top:2rem}
.pi-ui-timeline i{width:100%;height:.35rem;border-radius:99px;background:#12509b}
.pi-ui-timeline i:nth-child(n+4){background:var(--aif-teal)}
.pi-ui-review{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center}
.pi-ui-review>b{color:var(--aif-orange)}
.pi-ui-review-list em{color:#65d4c7}
.pi-ui-review-list p:nth-child(2) em{color:#f3a06d}
.pi-story__cta{position:relative;z-index:2;grid-column:1/-1;margin-top:1rem}
@media(max-width:1100px){.pi-review__layout{grid-template-columns:1fr}
.pi-review__copy{max-width:48rem}
.pi-review-graphic{width:min(100%,46rem);margin-inline:auto}
}
@media(max-width:760px){.pi-insight-race__headers{display:none}
.pi-insight-race__row{grid-template-columns:1fr;min-height:0}
.pi-insight-race__row>div{min-height:110px;padding:1.35rem 0}
.pi-insight-race__row>div+div{border-top:1px solid #d6e0e6;border-left:0}
.pi-insight-race__row small{display:block}
.pi-insight-race__prokurio::before,.pi-insight-race__outcome::before{top:-.65rem;left:calc(100% - 1.3rem);transform:rotate(90deg)}
.pi-insight-race__outcome{background:linear-gradient(180deg,rgb(49 208 205/5%),transparent)}
}
@media(max-width:980px){.pi-story__stage{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:0}
.pi-story__tabs,.pi-story__copy,.pi-story__visual,.pi-story__cta{grid-column:1}
.pi-story__copy{min-height:40rem}
.pi-story__visual{grid-row:3}
.pi-story-window{min-height:31rem}
.pi-story-screen{min-height:calc(31rem - 3.25rem)}
.pi-story__cta{grid-row:4}
}
@media(max-width:600px){.pi-review-graphic__cards{grid-template-columns:repeat(6,1fr)}
.pi-review-graphic__cards i:nth-child(n+7){display:none}
.pi-review-graphic__criteria{justify-content:flex-start}
.pi-review-graphic__split{grid-template-columns:1.35fr 1fr}
.pi-review-graphic__assignment{grid-template-columns:1fr auto}
.pi-review-graphic__assignment small{display:none}
.pi-review-graphic__decisions{grid-template-columns:1fr 1fr}
.pi-review-graphic__outlook{grid-column:1/-1}
.pi-review-graphic figcaption{grid-template-columns:1fr;gap:0;text-align:left}
.pi-review-graphic figcaption span{padding:.35rem 0 .35rem 1rem;border-top:0;border-left:2px solid rgb(141 178 232/18%)}
.pi-review-graphic figcaption span:not(:last-child)::after{top:auto;right:auto;bottom:-.45rem;left:-.3rem;content:"↓"}
.pi-story__tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}
.pi-story__copy{min-height:43rem}
.pi-story-window{min-height:32rem}
.pi-story-screen{min-height:calc(32rem - 3.25rem);padding:1.25rem}
.pi-ui-summary{grid-template-columns:1fr}
.pi-ui-summary span{display:flex;align-items:center;justify-content:space-between}
.pi-ui-summary b{margin-top:0}
.pi-ui-chart{height:8rem;gap:.5rem}
.pi-ui-review{gap:.3rem}
.pi-ui-review span{padding:.65rem .4rem}
.pi-ui-review>b{font-size:.7rem}
.pi-story__cta{align-items:flex-start;flex-direction:column}
.pi-story__cta a{width:100%}
}
@media(prefers-reduced-motion:reduce){.pi-chapter,.pi-story-screen{transition:none!important}
}

/* LAW FIRMS */
.pw-law-firms-page{background:radial-gradient(circle at 18% 28%,rgba(47,112,212,.34),transparent 38%),radial-gradient(circle at 72% 58%,rgba(89,67,174,.25),transparent 42%),radial-gradient(circle at 24% 88%,rgba(89,67,174,.2),transparent 35%),#001d3a}.pw-law-firms-page h1,.pw-law-firms-page h2,.pw-law-firms-page h3{text-wrap:balance}.lf-hero{min-height:calc(100svh - 72px);isolation:isolate}.lf-hero::before{position:absolute;z-index:-1;inset:-15% -8%;background:radial-gradient(circle at 23% 35%,rgba(47,112,212,.22),transparent 31%),radial-gradient(circle at 76% 58%,rgba(89,67,174,.2),transparent 34%),radial-gradient(circle at 48% 88%,rgba(89,67,174,.14),transparent 28%);content:"";animation:lf-ambient-drift 18s ease-in-out infinite alternate;pointer-events:none}.lf-hero::after{height:clamp(4rem,10vw,8rem);background:linear-gradient(to bottom,transparent,rgba(0,29,58,.92))}.lf-hero .pw-hero-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,3vw,3.5rem)}.lf-hero .pw-hero__title{max-width:760px;margin:0;font-size:clamp(3rem,4.55vw,5.5rem)}.lf-hero .pw-page-hero__lede{max-width:690px}.lf-hero__visual,.lf-hero__visual .pw-hero-tab-scene__visual{min-height:clamp(480px,42vw,590px);margin-top:0}.lf-hero__visual{perspective:1200px}.lf-hero__visual .pw-app-window--whatif{position:absolute;inset:0;transform-origin:center}.lf-hero__visual .pw-assistant-spark{animation:lf-spark-pulse 2.8s ease-in-out infinite}.lf-hero__visual .pw-app-window__status--ready{animation:lf-status-breathe 2.4s ease-in-out infinite}@keyframes lf-ambient-drift{to{transform:translate3d(2.5%,-1.5%,0) scale(1.04)}}@keyframes lf-spark-pulse{50%{box-shadow:0 0 0 6px rgba(232,86,38,.13);transform:scale(1.06)}}@keyframes lf-status-breathe{50%{box-shadow:0 0 0 4px rgba(89,67,174,.12)}}
.lf-value{position:relative;z-index:1;width:94%;margin:clamp(5rem,8vw,9rem) auto;padding:clamp(4rem,7vw,8rem) clamp(2rem,6vw,7rem);border:1px solid rgba(255,255,255,.72);border-radius:6px;background:linear-gradient(145deg,#fff,#fbfcfd 58%,#f4f7f9);box-shadow:inset 0 1px #fff,0 18px 70px rgba(0,8,21,.12)}.lf-value::before{position:absolute;z-index:-1;top:clamp(-9rem,-8vw,-5rem);bottom:clamp(-9rem,-8vw,-5rem);left:50%;width:100vw;background:linear-gradient(to bottom,#001d3a 0%,rgba(0,29,58,.78) 48%,transparent 100%);content:"";transform:translateX(-50%);pointer-events:none}.lf-value>.pw-container{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,1fr);gap:clamp(2rem,4vw,5rem);align-items:center;width:100%;max-width:none;padding:0}.lf-value h2{font-weight:900;margin:0;color:#001d3a;font-size:clamp(2.6rem,4.3vw,4.8rem);line-height:1.04;letter-spacing:-.03em}.lf-value h2 span{display:block}.lf-value h2 span+span{margin-top:.2em;color:var(--aif-orange)}.lf-value__intro p{max-width:38rem;margin:2rem 0 0;color:#526276;line-height:1.75}.lf-compare{border-bottom:1px solid #d4dee6}.lf-compare__labels,.lf-compare__row{display:grid;grid-template-columns:1fr 1.25fr}.lf-compare__labels{padding-bottom:.9rem;color:#7a8997;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lf-compare__labels span:last-child,.lf-compare__row>div:last-child{padding-left:clamp(1rem,2vw,2.25rem)}.lf-compare__row{min-height:100px;border-top:1px solid #d4dee6}.lf-compare__row>div{display:flex;gap:.8rem;align-items:center}.lf-compare__row>div:first-child{padding-right:1rem;color:#566a7b}.lf-compare__row>div:first-child i{width:8px;height:8px;flex:none;border-radius:50%;background:#9babba}.lf-compare__row>div:last-child{border-left:1px solid #d4dee6}.lf-compare__row>div:last-child i{color:var(--aif-orange);font-size:1.35rem;font-style:normal}.lf-compare__row strong{color:#087c7b;font-size:clamp(1rem,1.3vw,1.25rem)}.lf-compare.is-enhanced .lf-compare__row>div{opacity:0;transform:translateX(-18px);transition:opacity .5s ease,transform .65s cubic-bezier(.22,1,.36,1)}.lf-compare.is-enhanced .lf-compare__row>div:last-child{transition-delay:.18s}.lf-compare.is-enhanced .lf-compare__row.is-resolved>div{opacity:1;transform:none}
.lf-advantages{position:relative;padding:clamp(5rem,8vw,9rem) 3%;overflow:hidden;background:#001d3a;color:#fff}.lf-advantages::before{position:absolute;inset:0;background-image:linear-gradient(rgba(141,178,232,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(141,178,232,.04) 1px,transparent 1px);background-size:72px 72px;content:"";pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent)}.lf-advantages>.pw-container{position:relative;z-index:1}.lf-advantages header{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:3rem;align-items:end;margin-bottom:clamp(2rem,4vw,4rem)}.lf-advantages header>small{grid-column:1/-1;margin-bottom:-1.75rem;color:var(--aif-gold);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lf-advantages header h2{margin:0;color:#fff;font-size:clamp(3rem,5.4vw,5.8rem);font-weight:900;letter-spacing:-.045em;line-height:.98}.lf-advantages header p{max-width:650px;margin:0 0 .35rem;color:rgba(255,255,255,.62);font-size:1.12rem;line-height:1.75}.lf-advantage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.lf-advantage-card{position:relative;display:flex;min-height:265px;flex-direction:column;align-items:flex-start;overflow:hidden;border:1px solid rgba(141,178,232,.17);border-radius:6px;background:linear-gradient(150deg,rgba(15,52,89,.88),rgba(2,24,47,.96));color:#fff;padding:2rem 4.25rem 2rem 2rem;font:inherit;text-align:left;cursor:pointer;transition:background .38s ease,border-color .38s ease,color .38s ease,transform .3s ease,box-shadow .38s ease}.lf-advantage-card::after{position:absolute;right:-25%;bottom:-45%;width:80%;height:70%;border-radius:50%;background:var(--aif-teal);content:"";filter:blur(65px);opacity:.07;pointer-events:none;transition:opacity .38s ease}.lf-advantage-card:hover{border-color:rgba(141,178,232,.42);transform:translateY(-3px)}.lf-advantage-card:focus-visible{outline:2px solid var(--aif-teal);outline-offset:3px}.lf-advantage-card>i{position:absolute;z-index:2;top:2rem;right:2rem;width:22px;height:22px;border:1.5px solid rgba(141,178,232,.62);border-radius:50%;font-style:normal;transition:background .3s ease,border-color .3s ease}.lf-advantage-card>i::after{position:absolute;top:3px;left:7px;width:5px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;content:"";opacity:0;transform:rotate(45deg) scale(.5);transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1)}.lf-advantage-card small{margin-top:0;color:#8db2e8;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lf-advantage-card h3{max-width:310px;margin:.7rem 0 .9rem;font-size:clamp(1.45rem,2.1vw,2rem);letter-spacing:-.035em;line-height:1.08}.lf-advantage-card p{margin:0;color:rgba(255,255,255,.55);font-size:.78rem;line-height:1.65;transition:color .38s ease}.lf-advantage-card[aria-pressed=true]{border-color:rgba(255,255,255,.8);background:linear-gradient(145deg,#fff,#eaf2f8);color:#001d3a;box-shadow:0 20px 55px rgba(0,4,14,.24);transform:translateY(-4px)}.lf-advantage-card[aria-pressed=true]::after{opacity:.15}.lf-advantage-card[aria-pressed=true]>i{border-color:var(--aif-orange);background:var(--aif-orange)}.lf-advantage-card[aria-pressed=true]>i::after{opacity:1;transform:rotate(45deg) scale(1)}.lf-advantage-card[aria-pressed=true] small{color:#3473a1}.lf-advantage-card[aria-pressed=true] p{color:#5b6d7e}.lf-advantage-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,30%);align-items:stretch;min-height:120px;margin:1rem 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:radial-gradient(circle at 18% 0%,rgba(18,80,155,.12),transparent 42%),#000814;box-shadow:0 24px 70px rgba(0,5,14,.28)}.lf-advantage-cta p{align-self:center;max-width:800px;margin:0;padding:clamp(1.5rem,3vw,2.75rem);color:#fff;font-size:clamp(1.1rem,1.7vw,1.45rem);font-weight:600;line-height:1.45;transition:opacity .18s ease,transform .18s ease}.lf-advantage-cta p.is-changing{opacity:0;transform:translateY(5px)}.lf-advantage-cta a{display:flex;min-height:100%;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--aif-orange);color:#fff;padding:1.5rem clamp(1.5rem,3vw,2.75rem);font-size:clamp(1rem,1.4vw,1.25rem);font-weight:700;text-decoration:none;transition:background-color .18s ease,padding-right .18s ease}.lf-advantage-cta a span{font-size:clamp(3.5rem,6vw,6rem);font-weight:300;line-height:.65}.lf-advantage-cta a:hover{background:#d94d20;padding-right:clamp(1.2rem,2.6vw,2.35rem)}.lf-advantage-cta a:focus-visible{outline:3px solid #fff;outline-offset:-7px}
.lf-roles{overflow:hidden;background:#001d3a;color:#fff}.lf-roles>.pw-container{min-height:100vh;padding-block:clamp(5rem,9vh,8rem)}.lf-role-tabs{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,3vw,3.5rem);margin-bottom:clamp(4rem,7vh,6rem)}.lf-role-tabs button{padding:0;border:0;background:transparent;color:rgba(255,255,255,.3);font:inherit;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.lf-role-tabs button:hover,.lf-role-tabs button:focus-visible,.lf-role-tabs button.is-active{color:#fff}.lf-role-tabs button:focus-visible{outline:2px solid var(--aif-teal);outline-offset:5px}.lf-role-stage{display:grid;min-height:min(700px,72vh)}.lf-role-stage article{grid-area:1/1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(430px,auto) auto;column-gap:clamp(3rem,5vw,6rem);row-gap:clamp(2.5rem,5vh,4rem);align-items:center;visibility:hidden;opacity:0;pointer-events:none}.lf-role-stage article.is-active{visibility:visible;opacity:1;pointer-events:auto}.lf-role-copy small{color:var(--aif-teal);font-weight:750;letter-spacing:.09em;text-transform:uppercase}.lf-role-copy h2{font-weight:900;margin:1.2rem 0;font-size:clamp(2.5rem,4vw,4.8rem);line-height:.99;letter-spacing:-.04em}.lf-role-copy h2 span{color:#8db2e8}.lf-role-copy p{max-width:590px;color:rgba(255,255,255,.58);line-height:1.7}.lf-role-stage ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.lf-role-stage li{display:grid;grid-template-columns:minmax(170px,.72fr) minmax(0,1.28fr);gap:1.5rem;align-items:baseline;padding:clamp(1.2rem,2.4vh,2.3rem) 1.5rem;border-radius:4px;background:#000814}.lf-role-stage li strong{font-weight:900;color:#ffac85;font-size:clamp(1.05rem,1.35vw,1.35rem)}.lf-role-stage li span{color:rgba(255,255,255,.62);line-height:1.5}.lf-role-stage blockquote{grid-column:1/-1;margin:0;padding:clamp(1.3rem,2vw,2rem) clamp(1.5rem,3vw,3rem);border-radius:4px;background:linear-gradient(145deg,#fff,#f2f6f8);color:#001d3a;box-shadow:0 24px 60px rgba(0,5,14,.22);font-size:clamp(1.08rem,1.42vw,1.48rem);line-height:1.48}.lf-role-stage blockquote strong{color:#12509b}
.pw-law-firms-page .pw-old-workflow{margin-block:clamp(5rem,8vw,9rem);background:transparent}.pw-law-firms-page .pw-old-workflow__media{background:transparent}.pw-law-firms-page .pw-old-workflow__reveal{color:var(--aif-teal)}.pw-law-firms-page .pw-forecast-faq{position:relative}.pw-law-firms-page .pw-forecast-faq::before{position:absolute;inset:clamp(-9rem,-8vw,-5rem) 0 auto;height:clamp(5rem,8vw,9rem);background:linear-gradient(to bottom,transparent,var(--aif-ink));content:"";pointer-events:none}
@media(max-width:1100px){.lf-hero .pw-hero-split{grid-template-columns:1fr}.lf-hero__visual{width:min(900px,100%)}.lf-value>.pw-container{grid-template-columns:1fr}.lf-advantages header{grid-template-columns:1fr;gap:1.5rem}.lf-advantages header>small{margin-bottom:0}.lf-advantage-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.lf-hero{padding-top:7rem}.lf-hero__visual,.lf-hero__visual .pw-hero-tab-scene__visual{min-height:500px}.lf-role-tabs{display:none}.lf-roles>.pw-container{min-height:0;padding-block:3rem 6rem}.lf-role-stage{display:block;min-height:0}.lf-role-stage article,.lf-role-stage article.is-active{display:block;visibility:visible;padding:3rem 0;border-top:1px solid rgba(255,255,255,.12);opacity:1;pointer-events:auto;transform:none!important}.lf-role-stage ul,.lf-role-stage blockquote{margin-top:2rem}.lf-advantage-cta{grid-template-columns:1fr}.lf-advantage-cta a{min-height:76px}}@media(max-width:600px){.lf-hero__visual,.lf-hero__visual .pw-hero-tab-scene__visual{min-height:440px}.lf-value{width:calc(100% - 1.5rem);padding:3.5rem 1.35rem}.lf-compare__labels,.lf-compare__row{grid-template-columns:.9fr 1.1fr}.lf-compare__row{min-height:120px}.lf-advantages{padding-inline:1.5rem}.lf-advantage-grid{grid-template-columns:1fr}.lf-advantage-card{min-height:245px}.lf-role-stage li{grid-template-columns:1fr;gap:.45rem}}@media(prefers-reduced-motion:reduce){.lf-hero::before,.lf-hero__visual .pw-assistant-spark,.lf-hero__visual .pw-app-window__status--ready{animation:none}.lf-compare.is-enhanced .lf-compare__row>div,.lf-advantage-card,.lf-advantage-cta p{transition:none}.lf-compare.is-enhanced .lf-compare__row>div{opacity:1;transform:none}}
.lf-advantages::before{display:none}.lf-advantage-grid{grid-auto-rows:1fr;align-items:stretch}.lf-advantage-card{height:100%}.lf-advantage-card[aria-pressed=true] h3{color:#001d3a}.lf-advantage-cta{position:relative;z-index:2;clear:both;grid-template-columns:minmax(0,1fr) minmax(180px,20%);margin-top:2rem}.lf-advantage-cta p{white-space:normal;text-wrap:balance}.lf-advantage-cta p.is-two-selected{white-space:normal;text-wrap:balance}@media(max-width:800px){.lf-advantage-cta{grid-template-columns:1fr}.lf-advantage-cta p{white-space:normal;text-wrap:balance}}
.lf-value-band{padding-block:clamp(5rem,8vw,9rem);background:linear-gradient(to bottom,#001d3a 0%,rgba(0,29,58,.72) 20%,transparent 50%,rgba(0,29,58,.72) 80%,#001d3a 100%)}.lf-value-band .lf-value{margin-block:0}.lf-value::before{display:none}.lf-workflow-band{padding-block:clamp(5rem,8vw,9rem);background:linear-gradient(to bottom,#001d3a 0%,rgba(0,29,58,.68) 18%,transparent 42%,transparent 66%,rgba(0,29,58,.72) 84%,#001d3a 100%)}.pw-law-firms-page .lf-workflow-band .pw-old-workflow{margin-block:0}.pw-law-firms-page .pw-forecast-faq::before{display:none}

/* CORPORATE IP */
.pw-corporate-ip-page h1,
.pw-corporate-ip-page h2,
.pw-corporate-ip-page h3 { text-wrap: balance; }

.pw-corporate-ip-page {
  background:
    radial-gradient(circle at 18% 28%, rgb(47 112 212 / 34%), transparent 38%),
    radial-gradient(circle at 72% 58%, rgb(89 67 174 / 25%), transparent 42%),
    radial-gradient(circle at 24% 88%, rgb(89 67 174 / 20%), transparent 35%),
    #001d3a;
}

.cp-hero { min-height: calc(100svh - 72px); }
.cp-hero::after { height: clamp(4rem, 10vw, 8rem); background: linear-gradient(to bottom, transparent, rgb(0 29 58 / 92%)); }
.cp-hero .pw-hero-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 3vw, 3.5rem); }
.cp-hero .pw-hero__title { max-width: 760px; margin: 0; font-size: clamp(3rem, 4.55vw, 5.5rem); }
.cp-hero .pw-hero__title > span + span { color: #8db2e8; }
.cp-hero .pw-page-hero__lede { max-width: 690px; }
.cp-hero__visual,
.cp-hero__visual .pw-hero-tab-scene__visual { min-height: clamp(480px, 42vw, 590px); margin-top: 0; }
.cp-hero__visual .pw-app-window--whatif { position: absolute; inset: 0; }

.pw-corporate-ip-page .lf-advantages header.lf-advantages__intro { display: block; margin-bottom: 2.25rem; }
.pw-corporate-ip-page .lf-advantages__copy { display: block; }
.pw-corporate-ip-page .lf-advantages .lf-advantages__copy h2 { width: 100%; max-width: none; }
.pw-corporate-ip-page .lf-advantage-card { min-height: 0; padding: 1.6rem 4.25rem 1.6rem 2rem; }
.pw-corporate-ip-page .lf-advantage-card > i { top: 1.6rem; }
.pw-corporate-ip-page .lf-advantage-card h3 { margin-bottom: .65rem; }

.pw-corporate-ip-page .pw-forecast-faq__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.pw-corporate-ip-page .pw-forecast-faq__card { min-height: clamp(300px, 22vw, 360px); }
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(1) { grid-column: span 7; }
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(2) { grid-column: span 5; }
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(3),
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(4),
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(5) { grid-column: span 4; }
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(6),
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(7) { grid-column: span 6; }
.pw-corporate-ip-page .pw-forecast-faq__card:nth-child(n+8) { grid-column: span 4; }

@media (max-width: 1100px) {
  .pw-corporate-ip-page .pw-forecast-faq__card:nth-child(n) { grid-column: span 6; }
}

@media (max-width: 650px) {
  .pw-corporate-ip-page .pw-forecast-faq__card:nth-child(n) { grid-column: 1 / -1; min-height: 0; }
}

.cp-intro-band { padding-block: clamp(5rem, 8vw, 9rem); background: linear-gradient(to bottom, #001d3a 0%, rgb(0 29 58 / 72%) 20%, transparent 50%, rgb(0 29 58 / 72%) 80%, #001d3a 100%); }
.cp-intro { width: 94%; margin: 0 auto; padding: clamp(4rem, 7vw, 8rem) clamp(2rem, 6vw, 7rem); border: 1px solid rgb(255 255 255 / 72%); border-radius: 6px; background: linear-gradient(145deg, #fff 0%, #fbfcfd 58%, #f4f7f9 100%); box-shadow: inset 0 1px 0 #fff, 0 18px 70px rgb(0 8 21 / 12%); }
.cp-intro > .pw-container { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(430px, 1fr); gap: clamp(2rem, 3vw, 4rem); align-items: center; width: 100%; max-width: none; padding: 0; }
.cp-intro h2 { font-weight: 900; margin: 0; color: #001d3a; font-size: clamp(2.7rem, 4.35vw, 4.8rem); line-height: 1.04; letter-spacing: -.025em; }
.cp-intro h2 span { display: block; }
.cp-intro h2 span + span { margin-top: .22em; color: var(--aif-orange); }
.cp-intro__copy p { max-width: 37rem; margin: clamp(1.8rem, 3vw, 3rem) 0 0; color: #526276; font-size: clamp(.95rem, 1.15vw, 1.15rem); line-height: 1.75; }
.cp-compare { border-bottom: 1px solid #d4dee6; }
.cp-compare__labels,
.cp-compare__row { display: grid; grid-template-columns: 1fr 1.22fr; }
.cp-compare__labels { padding-bottom: .9rem; color: #7a8997; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cp-compare__labels span:last-child { padding-left: clamp(1.5rem, 2.5vw, 2.5rem); }
.cp-compare__row { position: relative; min-height: 104px; border-top: 1px solid #d4dee6; }
.cp-compare__row > div { display: flex; align-items: center; min-width: 0; }
.cp-compare__row > div:first-child { gap: .8rem; padding-right: 1.25rem; color: #566a7b; font-size: clamp(.92rem, 1.15vw, 1.08rem); }
.cp-compare__row > div:first-child i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #9babba; }
.cp-compare__row > div:last-child { gap: clamp(.85rem, 1.5vw, 1.4rem); padding-left: clamp(1.5rem, 2.5vw, 2.5rem); border-left: 1px solid #d4dee6; }
.cp-compare__row > div:last-child i { color: var(--aif-orange); font-size: 1.35rem; font-style: normal; }
.cp-compare__row strong { color: #087c7b; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.3; }
.cp-compare.is-enhanced .cp-compare__row > div:first-child { opacity: 0; transform: translateX(-18px); transition: opacity .5s ease, transform .6s cubic-bezier(.22, 1, .36, 1); }
.cp-compare.is-enhanced .cp-compare__row > div:last-child { opacity: 0; transform: translateX(-14px); transition: opacity .55s ease .2s, transform .65s cubic-bezier(.22, 1, .36, 1) .2s; }
.cp-compare.is-enhanced .cp-compare__row.is-resolved > div { opacity: 1; transform: none; }

.cp-roles { overflow: hidden; padding: 0; background: #001d3a; color: #fff; }
.cp-roles > .pw-container { display: block; min-height: 100vh; padding-block: clamp(5rem, 9vh, 8rem); }
.cp-role-tabs { display: none; flex-wrap: wrap; gap: clamp(1.25rem, 2.25vw, 2.75rem); margin-bottom: clamp(4rem, 7vh, 6.5rem); }
.cp-roles.is-enhanced .cp-role-tabs { display: flex; }
.cp-role-tabs button { position: relative; padding: 0; border: 0; background: transparent; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem, .75vw, .72rem); font-weight: 750; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; cursor: pointer; transition: color 280ms ease; }
.cp-role-tabs button:hover,
.cp-role-tabs button:focus-visible,
.cp-role-tabs button.is-active { color: #fff; }
.cp-role-tabs button:focus-visible { outline: 2px solid var(--aif-teal); outline-offset: 4px; }
.cp-role-stage { display: block; }
.cp-role-stage article { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(430px, auto) auto; column-gap: clamp(3rem, 5vw, 6rem); row-gap: clamp(3rem, 6vh, 5rem); align-items: center; padding-block: 2rem; }
.cp-roles.is-enhanced .cp-role-stage { display: grid; min-height: min(680px, 70vh); }
.cp-roles.is-enhanced .cp-role-stage article { grid-area: 1 / 1; padding: 0; visibility: hidden; opacity: 0; pointer-events: none; }
.cp-roles.is-enhanced .cp-role-stage article.is-active { visibility: visible; opacity: 1; pointer-events: auto; }
.cp-role-copy small { color: var(--aif-teal); font-size: .68rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.cp-role-copy h2 { font-weight: 900; margin: 1.2rem 0; font-size: clamp(2.5rem, 4vw, 5rem); line-height: .98; letter-spacing: -.04em; }
.cp-role-copy h2 span { color: #8db2e8; }
.cp-role-copy p { max-width: 590px; color: rgb(255 255 255 / 58%); line-height: 1.7; }
.cp-role-stage ul { display: grid; align-content: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.cp-role-stage li { display: grid; grid-template-columns: minmax(175px, .72fr) minmax(0, 1.28fr); gap: clamp(1.25rem, 2vw, 2.5rem); align-items: baseline; padding: clamp(1.25rem, 2.5vh, 2.75rem) clamp(1.35rem, 1.7vw, 1.75rem); border-radius: 4px; background: radial-gradient(circle at 18% 0%, rgb(18 80 155 / 12%), transparent 42%), #000814; color: rgb(255 255 255 / 78%); }
.cp-role-stage li strong { color: #f47745; font-weight: 900; font-size: clamp(1.15rem, 1.38vw, 1.4rem); line-height: 1.22; }
.cp-role-stage li span { color: rgb(255 255 255 / 62%); line-height: 1.55; }
.cp-role-stage blockquote { grid-column: 1 / -1; margin: 0; padding: clamp(1.35rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem); border-radius: 4px; background: linear-gradient(145deg, #fff, #f2f6f8); color: #001d3a; box-shadow: 0 24px 60px rgb(0 5 14 / 22%); font-size: clamp(1.08rem, 1.42vw, 1.48rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.48; }
.cp-role-stage blockquote strong { color: #12509b; }
.pw-corporate-ip-page .pw-intelligence {
  width: 100%;
  margin: 0;
  padding: 0 3% clamp(7rem, 11vw, 11rem);
  background:
    linear-gradient(to bottom, #001d3a 0%, transparent 14%, transparent 84%, #001d3a 100%),
    radial-gradient(circle at 30% 34%, rgba(47, 112, 212, 0.34), transparent 38%),
    radial-gradient(circle at 54% 64%, rgba(89, 67, 174, 0.25), transparent 42%),
    radial-gradient(circle at 18% 88%, rgba(89, 67, 174, 0.2), transparent 35%),
    #001d3a;
}
.pw-corporate-ip-page .pw-intelligence .pw-intel-explorer {
  width: min(100%, var(--aif-width-wide));
  margin-inline: auto;
}

@media (max-width: 1100px) {
  .cp-hero .pw-hero-split { grid-template-columns: 1fr; }
  .cp-hero__visual { width: min(900px, 100%); }
  .cp-intro > .pw-container { grid-template-columns: 1fr; }
  .cp-intro__copy { max-width: 52rem; }
  .cp-role-stage article { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .cp-hero { padding-top: 7rem; }
  .cp-hero__visual,
  .cp-hero__visual .pw-hero-tab-scene__visual { min-height: 500px; }
  .cp-roles > .pw-container { min-height: 0; padding-block: 2rem 6rem; }
  .cp-roles.is-enhanced .cp-role-tabs { display: none; }
  .cp-roles.is-enhanced .cp-role-stage { display: block; min-height: 0; }
  .cp-role-stage article,
  .cp-roles.is-enhanced .cp-role-stage article,
  .cp-roles.is-enhanced .cp-role-stage article.is-active { display: block; visibility: visible; padding: 3rem 0; border-top: 1px solid rgb(255 255 255 / 12%); opacity: 1; pointer-events: auto; transform: none !important; }
  .cp-role-stage ul,
  .cp-role-stage blockquote { margin-top: 2rem; }
}

@media (max-width: 600px) {
  .cp-hero__visual,
  .cp-hero__visual .pw-hero-tab-scene__visual { min-height: 440px; }
  .cp-intro { width: calc(100% - 1.5rem); padding: 3.5rem 1.35rem; }
  .cp-compare__labels,
  .cp-compare__row { grid-template-columns: .92fr 1.08fr; }
  .cp-compare__row { min-height: 122px; }
  .cp-compare__labels span:last-child,
  .cp-compare__row > div:last-child { padding-left: 1rem; }
  .cp-role-stage li { grid-template-columns: 1fr; gap: .45rem; }
}

@media (prefers-reduced-motion: reduce) {
  .cp-compare.is-enhanced .cp-compare__row > div { opacity: 1; transform: none; transition: none; }
}

/* SECURITY DATA PROTECTION */
.pw-security-page{--security-navy:#001d3a;--security-blue:#12509b;--security-teal:#31d0cd;--security-line:#d7e1e8;background:var(--security-navy)}
.pw-security-page h1,.pw-security-page h2,.pw-security-page h3{text-wrap:balance}
.security-kicker{display:block;margin-bottom:1rem;color:#68b9ec;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.security-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 30% 34%,rgb(47 112 212/34%),transparent 38%),radial-gradient(circle at 54% 64%,rgb(89 67 174/25%),transparent 42%),radial-gradient(circle at 18% 88%,rgb(89 67 174/20%),transparent 35%),#001d3a;color:#fff}
.security-hero::after{position:absolute;z-index:1;inset:auto 0 0;height:clamp(10rem,20vw,18rem);background:linear-gradient(to bottom,rgb(3 27 52/0),#031b34 92%);content:"";pointer-events:none}
.security-hero__grid{display:grid;position:relative;z-index:2;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(3rem,5vw,6rem);align-items:center;min-height:850px;padding-top:clamp(9rem,12vw,11rem);padding-bottom:clamp(5rem,8vw,8rem)}
.security-hero__copy{align-self:center}
.security-hero__copy h1{max-width:11ch;margin:0;font-size:clamp(3.2rem,5.4vw,6rem);line-height:.96;letter-spacing:-.055em}
.security-hero__copy h1 span{display:block;color:#8db2e8}
.security-hero__copy p{max-width:42rem;margin:2rem 0;color:rgb(255 255 255/66%);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.7}
.security-button{display:inline-flex;gap:2.5rem;align-items:center;padding:1rem 1.25rem;border-radius:3px;font-size:.78rem;font-weight:750;text-decoration:none}.security-button--light{background:#fff;color:var(--security-navy)}
.security-summary{width:100%;padding:clamp(2rem,3.4vw,3.5rem);border:1px solid rgb(141 178 232/24%);border-radius:6px;background:rgb(0 24 48/78%);box-shadow:0 32px 90px rgb(0 5 14/30%);backdrop-filter:blur(16px)}
.security-summary h2{margin:1rem 0 2rem;font-size:clamp(1.8rem,2.7vw,3rem);line-height:1.08}.security-summary ul{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:0;list-style:none}.security-summary li{display:grid;grid-template-columns:auto 1fr;gap:.75rem}.security-summary li>i{display:grid;width:1.75rem;aspect-ratio:1;place-items:center;border-radius:50%;background:rgb(49 208 205/16%);color:var(--security-teal);font-style:normal}.security-summary strong,.security-summary small{display:block}.security-summary strong{font-size:.78rem}.security-summary small{margin-top:.25rem;color:rgb(255 255 255/48%);font-size:.65rem;line-height:1.45}.security-summary__badges{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:2rem}.security-summary__badges span{padding:.75rem;border:1px solid rgb(141 178 232/28%);border-radius:3px;font-size:.7rem;font-weight:800;text-align:center}
.security-verification,.security-controls{padding-block:clamp(6rem,9vw,9rem);background:#031b34;color:#fff}.security-verification header,.security-safeguards header,.security-controls header,.security-lifecycle header{margin-bottom:clamp(2.5rem,5vw,4.5rem)}.security-verification h2,.security-safeguards h2,.security-controls h2,.security-transparency h2,.security-lifecycle h2{max-width:28ch;margin:0;font-size:clamp(2.5rem,4.5vw,5rem);line-height:1;letter-spacing:-.05em}.security-verification__grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgb(141 178 232/20%)}.security-verification article{padding:clamp(2rem,3vw,3rem);border-right:1px solid rgb(141 178 232/20%)}.security-verification article:last-child{border:0}.security-verification small{color:rgb(141 178 232/64%);font-weight:700}.security-verification h3{margin:2.5rem 0 .75rem;font-size:clamp(1.2rem,1.6vw,1.55rem)}.security-verification p,.security-controls p{margin:0;color:rgb(255 255 255/58%);line-height:1.65}
.security-safeguards,.security-lifecycle{padding-block:clamp(6rem,9vw,9rem);background:#f2f6f8;color:var(--security-navy)}.security-safeguards h2,.security-safeguards h3,.security-lifecycle h2,.security-lifecycle h3{color:var(--security-navy)}.security-safeguards .security-kicker,.security-transparency .security-kicker,.security-lifecycle .security-kicker{color:var(--security-blue)}.security-safeguards header{display:grid;grid-template-columns:1fr minmax(18rem,.45fr);gap:1rem 5rem;align-items:end}.security-safeguards header>.security-kicker{grid-column:1/-1}.security-safeguards header p{margin:0;color:#526779;line-height:1.65}.security-safeguards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #c6d3dc;background:#c6d3dc}.security-safeguards article{min-height:260px;padding:clamp(1.75rem,3vw,3rem);background:#fff}.security-safeguards article>span{color:#61798b;font-size:.7rem;font-weight:700}.security-safeguards h3{margin:3rem 0 .75rem;font-size:clamp(1.25rem,1.7vw,1.65rem)}.security-safeguards article p{margin:0;color:#526779;line-height:1.65}
.security-controls{background:var(--security-navy)}.security-controls__tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgb(255 255 255/16%)}.security-controls__tabs button{padding:1.25rem 1rem;border:0;border-bottom:3px solid transparent;background:transparent;color:rgb(255 255 255/42%);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;text-align:left;transition:border-color .28s ease,color .28s ease,background-color .28s ease}.security-controls__tabs button:hover{background:rgb(255 255 255/3%);color:rgb(255 255 255/72%)}.security-controls__tabs button.is-active{border-color:var(--security-teal);background:rgb(49 208 205/4%);color:#fff}.security-controls__tabs button:focus-visible{outline:2px solid var(--security-teal);outline-offset:4px}.security-controls__panels{min-height:390px}.security-controls__panels article{grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,3vw,4rem);align-items:center;padding:clamp(3rem,5vw,5rem) 0 0}.security-controls__panels article.is-active{display:grid}.security-controls__panels article[hidden]{display:none}.security-controls__panels article>div{display:flex;flex-direction:column;gap:2rem}.security-controls__panels small{color:#68b9ec;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.security-controls__panels h3{max-width:16ch;margin:0;font-size:clamp(2rem,3.3vw,3.8rem);line-height:1.02}.security-controls__panels article>div>p{max-width:50ch}.security-controls__panels ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:0;padding:0;list-style:none}.security-controls__panels li{padding:1rem 1.1rem;border-left:2px solid var(--security-teal);background:rgb(255 255 255/5%);color:rgb(255 255 255/78%)}
.security-controls__panels #security-panel-organization h3{max-width:none;font-size:clamp(2rem,3vw,3.35rem)}
.security-transparency{padding-block:clamp(6rem,9vw,9rem);background:#fff;color:var(--security-navy)}.security-transparency h2{color:var(--security-navy)}.security-transparency__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,9vw,10rem);align-items:center}.security-transparency p{max-width:43rem;margin:1.5rem 0 2rem;color:#526779;line-height:1.7}.security-transparency a{display:inline-flex;gap:.8rem;align-items:center;color:#0d478a;font-weight:750;text-decoration:none}.security-transparency a:hover{text-decoration:underline}.security-transparency a:focus-visible{outline:2px solid var(--security-blue);outline-offset:5px}.security-transparency a b{color:#c8471e;font-size:1.5rem}.security-transparency ul{margin:0;padding:0;border-top:1px solid #c6d3dc;list-style:none}.security-transparency li{position:relative;padding:1.1rem 0 1.1rem 2rem;border-bottom:1px solid #c6d3dc;color:#334d61}.security-transparency li::before{position:absolute;left:0;color:#066968;content:"✓";font-weight:800}
.security-lifecycle ol{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;border-top:1px solid #9fb3c1;list-style:none}.security-lifecycle li{position:relative;padding:2.5rem 2rem 0 0}.security-lifecycle li::before{position:absolute;top:-6px;left:0;width:11px;height:11px;border:3px solid #f2f6f8;border-radius:50%;background:var(--security-blue);box-shadow:0 0 0 1px var(--security-blue);content:""}.security-lifecycle li>span{color:#61798b;font-size:.7rem;font-weight:700}.security-lifecycle h3{margin:1.4rem 0 .65rem;font-size:1.4rem}.security-lifecycle p{max-width:18rem;margin:0;color:#526779;line-height:1.6}
.security-review{padding:clamp(4rem,7vw,7rem) 0;background:var(--security-navy);color:#fff}.security-review>.pw-container{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;padding-block:clamp(2.5rem,4vw,4rem);border-block:1px solid rgb(141 178 232/28%)}.security-review small{color:#68b9ec;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.security-review h2{margin:.8rem 0 .55rem;font-size:clamp(1.8rem,3vw,3.4rem)}.security-review p{margin:0;color:rgb(255 255 255/56%)}.security-review>div>div:last-child{display:flex;gap:.8rem}.security-review a{padding:1rem 1.35rem;border:1px solid rgb(255 255 255/32%);border-radius:3px;color:#fff;font-size:.78rem;font-weight:700;text-decoration:none}.security-review a:first-child{border-color:#fff;background:#fff;color:var(--security-navy)}
.pw-security-page .pw-forecast-faq{background:var(--security-navy)}.pw-security-page .pw-forecast-faq h2{color:rgb(255 255 255/64%)}.pw-security-page .pw-forecast-faq__card{border:1px solid #d7e1e8}.pw-security-page .pw-forecast-faq a{color:#0d478a}.pw-security-page .pw-forecast-faq a:focus-visible{outline:2px solid var(--security-blue);outline-offset:3px}
@media(max-width:1050px){.security-hero__grid{grid-template-columns:1fr;padding-top:10rem}.security-hero__copy{max-width:48rem}.security-summary ul{grid-template-columns:1fr}.security-safeguards header,.security-controls__panels article,.security-transparency__grid,.security-review>.pw-container{grid-template-columns:1fr}.security-review>div>div:last-child{flex-wrap:wrap}}
@media(max-width:780px){.security-verification__grid,.security-safeguards__grid{grid-template-columns:1fr}.security-verification article{border-right:0;border-bottom:1px solid rgb(141 178 232/20%)}.security-controls__tabs{grid-template-columns:repeat(2,1fr)}.security-lifecycle ol{grid-template-columns:repeat(2,1fr);gap:3rem 0}}
@media(max-width:560px){.security-hero__grid{padding-top:8rem}.security-hero__copy h1{font-size:clamp(2.8rem,14vw,4.3rem)}.security-summary__badges,.security-controls__tabs,.security-controls__panels ul,.security-lifecycle ol{grid-template-columns:1fr}.security-review>div>div:last-child{display:grid}.security-review a{text-align:center}}
@media(prefers-reduced-motion:reduce){.pw-security-page *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Full-width editorial sections share the Insivia page grid. Inset feature
   cards keep their own internal padding. */
:is(.pi-review, .spend-connected, .spend-capabilities,
    .lf-advantages, .lf-roles, .cp-roles,
    .pw-mcp-outcomes, .pw-mcp-destinations,
    .security-verification, .security-safeguards, .security-controls,
    .security-transparency, .security-lifecycle, .security-review) > .pw-container {
  width: 100%;
  max-width: none;
  padding-inline: clamp(1.5rem, 7vw, 9.3rem);
}

/* A single canvas spans these adjoining sections; opaque section backgrounds
   previously hid the gradient and created seams around the inset cards. */
:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page, .pw-mcp-page) main {
  background: var(--pw-hero-background);
}
:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page) .pw-platform-hero,
.pw-forecasting-page .pw-forecast-story,
.pw-scenario-page .pw-forecast-story,
.pw-portfolio-page .pi-review,
.pw-portfolio-page .pi-story,
.pw-mcp-page .pw-mcp-hero,
.pw-mcp-page .pw-mcp-outcomes,
.pw-mcp-page .pw-mcp-destinations { background: transparent; }
:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page) .pw-platform-hero::after,
.pw-mcp-page .pw-mcp-hero::after { background: none; }

.pw-motion-paused,
.pw-motion-paused::before,
.pw-motion-paused::after,
.pw-motion-paused *,
.pw-motion-paused *::before,
.pw-motion-paused *::after { animation-play-state: paused !important; }

/* Spend steps share the editorial tab layout, bullets, and CTA. */
/* Keep the CTA close to the content instead of reserving a tall empty copy area. */
.spend-story .pi-story__stage { min-height: 0; align-content: start; row-gap: 1.5rem; }
.spend-story .pi-story__copy { min-height: 0; }
.spend-story .pi-chapter h3 { font-size: clamp(2.25rem,3.4vw,4.25rem); text-wrap: wrap; }
.spend-story .pi-story__tabs button { color: rgb(255 255 255 / 70%); }
.spend-story .pi-story__tabs button.is-active { color: #fff; }
.spend-story .pi-story__cta { margin-top: 0; }
.spend-story__visual { display: grid; }
.spend-story-screen { min-width: 0; }
.spend-story.is-enhanced .spend-story-screen { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity .35s ease, visibility .35s ease; }
.spend-story.is-enhanced .spend-story-screen.is-active { visibility: visible; opacity: 1; }
.spend-story.is-enhanced .spend-story-screen:not(.is-active) { visibility: hidden !important; pointer-events: none; }
@media(prefers-reduced-motion:reduce){.spend-story-screen{transition:none!important}}

/* Match the shared app-window chrome while retaining each Spend graphic. */
.spend-story-screen.pi-story-window { display: flex; flex-direction: column; min-height: 0; }
.spend-story-screen .pi-story-window__bar { flex-shrink: 0; }
.spend-story-screen .spend-mini { flex: 1; border: 0; border-radius: 0; background: linear-gradient(145deg,#071b30,#0a2943); box-shadow: none; }

/* Scenario comparison: pair the plans and make the financial impact explicit. */
.spend-story-screen .spend-mini--scenario { display: flex; flex-direction: column; justify-content: center; gap: 2rem; }
.spend-story-screen .spend-scenario-comparison { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 1rem; margin: 0; align-items: center; }
.spend-scenario-plan { min-width: 0; padding: clamp(1rem,1.5vw,1.5rem); border: 1px solid rgb(141 178 232 / 20%); border-radius: 6px; background: rgb(0 8 20 / 24%); }
.spend-scenario-plan--adjusted { border-color: rgb(95 211 206 / 45%); background: rgb(95 211 206 / 7%); }
.spend-scenario-plan small { display: block; }
.spend-story-screen .spend-scenario-plan strong { display: block; margin: .85rem 0 1.25rem; font-size: clamp(1.6rem,2.4vw,2.7rem); letter-spacing: -.04em; }
.spend-scenario-plan--adjusted strong { color: #5fd3ce; }
.spend-scenario-bar { height: 6px; overflow: hidden; border-radius: 3px; background: rgb(141 178 232 / 12%); }
.spend-scenario-bar i { display: block; width: 100%; height: 100%; background: #8db2e8; }
.spend-scenario-plan--adjusted .spend-scenario-bar i { width: 90.1%; background: #5fd3ce; }
.spend-story-screen .spend-scenario-comparison > .spend-scenario-arrow { grid-column: auto; }
.spend-story-screen .spend-scenario-impact { align-items: center; gap: 1rem; margin: 0; border: 1px solid rgb(95 211 206 / 20%); }
.spend-scenario-impact small { display: block; margin-top: .5rem; color: rgb(255 255 255 / 50%); font-size: .7rem; }
.spend-scenario-impact > div { text-align: right; }
.spend-story-screen .spend-scenario-impact b { font-size: clamp(1.6rem,2.2vw,2.4rem); }
@media(max-width:600px){
  .spend-story-screen .spend-scenario-comparison { grid-template-columns: minmax(0,1fr); }
  .spend-story-screen .spend-scenario-arrow { justify-self: center; transform: rotate(90deg); }
  .spend-story-screen .spend-scenario-impact { align-items: flex-start; flex-direction: column; }
  .spend-scenario-impact > div { text-align: left; }
}

/* Law firm advantages: copy beside the shared concentric intelligence graphic. */
.lf-advantages header.lf-advantages__intro { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(2rem,5vw,6rem); }
.lf-advantages__copy > small { display: block; margin-bottom: 1.5rem; color: var(--aif-gold); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lf-advantages .lf-advantages__copy h2 { font-size: clamp(2.5rem,4.3vw,4.8rem); }
.lf-advantages .lf-advantages__copy p { margin: 1.75rem 0 0; }
.lf-advantages__visual { min-width: 0; padding: 2rem 0; }
.lf-advantages .lf-advantages__orbit { position: relative; inset: auto; width: min(72%,440px); margin: 0 auto; aspect-ratio: 1; }
.lf-advantages__orbit .pw-forecast-orbit__core { width: clamp(76px,8vw,112px); height: clamp(76px,8vw,112px); }
.lf-advantages__orbit .pw-forecast-orbit__core small { color: #001d3a; font-size: clamp(.55rem,.8vw,.75rem); }
.lf-advantages__orbit .pw-forecast-orbit__ring b > span { text-transform: uppercase; font-weight: 750; letter-spacing: .06em; }
@media(max-width:900px){.lf-advantages header.lf-advantages__intro{grid-template-columns:1fr}.lf-advantages__visual{padding-block:3rem}.lf-advantages .lf-advantages__orbit{width:min(70%,400px)}}
@media(prefers-reduced-motion:reduce){.lf-advantages__orbit .pw-forecast-orbit__ring,.lf-advantages__orbit .pw-forecast-orbit__ring b,.lf-advantages__orbit .pw-forecast-orbit__core::before,.lf-advantages__orbit .pw-forecast-orbit__core::after{animation:none}}

.lf-advantages__orbit .pw-forecast-orbit__ring b > span { transform: translate(-50%,-50%); transform-origin: center; }
.lf-advantages__orbit .pw-forecast-orbit__ring b:hover > span { transform: translate(-50%,-50%) scale(1.08); }

/* Oversized orbit extends beyond the page edge; the section clips horizontal overflow. */
@media(min-width:901px){
  .lf-advantages__visual { position: relative; min-height: clamp(560px,52vw,820px); padding: 0; }
  .lf-advantages .lf-advantages__orbit { position: absolute; top: 50%; left: 0; right: auto; width: clamp(720px,64vw,1100px); max-width: none; margin: 0; transform: translateY(-50%); }
  .lf-advantages__orbit .pw-forecast-orbit__core { width: 144px; height: 144px; }
  .lf-advantages__orbit .pw-forecast-orbit__core small { font-size: .85rem; }
  .lf-advantages__orbit .pw-forecast-orbit__ring b > span { padding: .7rem 1rem; font-size: .8rem; }
}

/* Keep orbit markers beside their labels and the animation behind the cards. */
.lf-advantages > .pw-container { isolation: isolate; }
.lf-advantages__visual { z-index: 0; }
.lf-advantages__copy { position: relative; z-index: 1; }
.lf-advantages .lf-advantage-grid,
.lf-advantages .lf-advantage-cta { position: relative; z-index: 2; }
.lf-advantages__orbit .pw-forecast-orbit__ring b::before { display: none; }
.lf-advantages__orbit .pw-forecast-orbit__ring b > span::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--aif-teal); box-shadow: 0 0 12px rgb(49 208 205 / 72%); }
.lf-advantages__orbit .pw-forecast-orbit__ring--outer b:nth-child(2) > span::before,
.lf-advantages__orbit .pw-forecast-orbit__ring--inner b:nth-child(2) > span::before { background: var(--aif-orange); box-shadow: 0 0 12px rgb(232 86 38 / 72%); }
.lf-advantages__orbit .pw-forecast-orbit__ring--middle b:nth-child(2) > span::before { background: #8db2e8; box-shadow: 0 0 12px rgb(141 178 232 / 68%); }

/* Anchor each orbit badge by its dot rather than its label width. */
.lf-advantages__orbit .pw-forecast-orbit__ring b > span { transform: translate(calc(-1rem - 4.5px),-50%); transform-origin: calc(1rem + 4.5px) center; }
.lf-advantages__orbit .pw-forecast-orbit__ring b:hover > span { transform: translate(calc(-1rem - 4.5px),-50%) scale(1.08); }
.lf-advantages .lf-advantage-card[aria-pressed="false"] { background: linear-gradient(150deg,rgb(15 52 89 / 48%),rgb(2 24 47 / 58%)); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
@media(min-width:901px){
  .lf-advantages__visual { min-height: clamp(380px,30vw,500px); }
  .lf-advantages header.lf-advantages__intro { margin-bottom: clamp(2rem,3vw,3rem); }
}
@media(max-width:900px){
  .lf-advantages__orbit .pw-forecast-orbit__ring b > span { transform: translate(calc(-.8rem - 4.5px),-50%); transform-origin: calc(.8rem + 4.5px) center; }
  .lf-advantages__orbit .pw-forecast-orbit__ring b:hover > span { transform: translate(calc(-.8rem - 4.5px),-50%) scale(1.08); }
}

/* Let the orbit cross the preceding gradient blend without a top crop. */
.lf-advantages { z-index: 2; overflow-x: clip; overflow-y: visible; }

/* Keep the value card above the orbit crossing the section blend. */
.pw-law-firms-page .lf-value { z-index: 3; }

/* Shared pinned-tab rhythm: 88px navigation plus 32px clearance, 48px content gaps. */
.pw-forecast-story__stage,
.pi-story__stage,
.pw-mcp-destinations__pin,
.lf-roles > .pw-container,
.cp-roles > .pw-container {
  --pw-tabbed-top: 120px;
  --pw-tabbed-gap: 3rem;
}
@media(min-width:981px){
  .pw-forecast-story__stage, .pi-story__stage, .spend-story .pi-story__stage { padding-top: var(--pw-tabbed-top); row-gap: var(--pw-tabbed-gap); }
  .pw-forecast-story__stage > .pw-forecast-story__cta, .pi-story__cta, .spend-story .pi-story__cta { margin-top: 0; }
}
@media(min-width:1201px){
  .pw-mcp-destinations__pin { padding-top: var(--pw-tabbed-top); grid-template-rows: auto auto auto; row-gap: var(--pw-tabbed-gap); }
  .pw-mcp-destinations__copy { min-height: 0; }
  .pw-mcp-destinations__visual { display: grid; min-height: 0; }
  .pw-mcp-destination-points { position: relative; inset: auto; grid-area: 1 / 1; }
}
@media(min-width:801px){
  .lf-roles > .pw-container, .cp-roles > .pw-container { padding-top: var(--pw-tabbed-top); }
  .lf-role-tabs, .cp-role-tabs { margin-bottom: var(--pw-tabbed-gap); }
  .lf-role-stage article, .cp-role-stage article { row-gap: var(--pw-tabbed-gap); }
}

/* Meet the stream's dark top edge with a gradual fade from the shared page background. */
.pw-mcp-page .pw-mcp-destinations {
  background: linear-gradient(to bottom, transparent calc(100% - clamp(8rem,16vw,16rem)), var(--mcp-deep) 100%);
}

/* Group content in DOM order; overlay matching groups only on desktop. */
.pw-mcp-destination-group { display: contents; }
@media(min-width:1201px){
  .pw-mcp-destination-group > .pw-mcp-destinations__copy { grid-column: 1; grid-row: 2; }
  .pw-mcp-destination-group > .pw-mcp-destinations__visual { grid-column: 2; grid-row: 2; }
  .pw-mcp-destination-group > .pw-mcp-destination-quotes { grid-column: 1 / -1; grid-row: 3; }
}
/* Preserve all destination content in reading order on smaller screens. */
@media(max-width:1200px){
  .pw-mcp-destinations__pin { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: none; gap: 1.5rem; }
  .pw-mcp-destinations__nav { display: none; }
  .pw-mcp-destination-group { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .pw-mcp-destinations__copy, .pw-mcp-destinations__visual, .pw-mcp-destination-quotes { display: contents; }
  .pw-mcp-destination, .pw-mcp-destination.is-active { grid-area: auto; grid-column: 1; min-height: 0; visibility: visible !important; opacity: 1 !important; transform: none !important; }
  .pw-mcp-destination-points, .pw-mcp-destination-quotes figure { position: relative; inset: auto; grid-area: auto; grid-column: 1; visibility: visible !important; opacity: 1 !important; transform: none !important; }
}
@media(max-width:600px){
  .pw-mcp-destination-points li, .pw-mcp-destination-quotes figure { grid-template-columns: minmax(0,1fr); gap: .65rem; }
  .pw-mcp-destination-quotes figcaption { max-width: none; text-align: left; }
}

/* Inline animation styles must never expose an inactive panel during fast scrubbing. */
.pw-forecast-story.is-enhanced .pw-forecast-chapter:not(.is-active),
.pw-forecast-story.is-enhanced .pw-story-screen:not(.is-active),
.pi-story.is-enhanced .pi-chapter:not(.is-active),
.pi-story.is-enhanced .pi-story-screen:not(.is-active),
.spend-story.is-enhanced .spend-story-screen:not(.is-active) { opacity: 0 !important; pointer-events: none; }
@media(min-width:801px){
  .cp-roles.is-enhanced .cp-role-stage article:not(.is-active),
  .lf-role-stage article:not(.is-active) { opacity: 0 !important; visibility: hidden !important; pointer-events: none; }
}
@media(min-width:1201px){
  .pw-mcp-destination:not(.is-active),
  .pw-mcp-destination-points:not(.is-active),
  .pw-mcp-destination-quotes figure:not(.is-active) { opacity: 0 !important; visibility: hidden !important; pointer-events: none; }
}

/* Keep the introduction beside the heading and the cards close below. */
.lf-advantages header.lf-advantages__intro {
  grid-template-rows: auto auto;
  gap: 1.5rem clamp(2rem, 5vw, 6rem);
  margin-bottom: 2rem;
}
.lf-advantages__copy { display: contents; }
.lf-advantages__copy > small { grid-column: 1; margin-bottom: 0; }
.lf-advantages .lf-advantages__copy h2 { grid-column: 1; grid-row: 2; }
.lf-advantages .lf-advantages__copy p { grid-column: 1; grid-row: 3; margin: 0; }
.lf-advantages header .lf-advantages__description {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  margin: 0;
  color: #fff;
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1.75;
  text-wrap: balance;
  transition: opacity .18s ease, transform .18s ease;
}
.lf-advantages :is([data-lf-advantage-message], [data-cp-advantage-message]).is-changing { opacity: 0; transform: translateY(5px); }
@media (max-width: 900px) {
  .lf-advantages header .lf-advantages__description { grid-column: 1; grid-row: 3; }
}
@media (prefers-reduced-motion: reduce) {
  .lf-advantages header .lf-advantages__description { transition: none; }
}

/* Align the law-firm workflow band with the page content grid. */
.pw-law-firms-page .lf-workflow-band .pw-old-workflow { width: 100%; max-width: none; }

/* Cover fractional-pixel seams at the pinned roles section boundary. */
.pw-law-firms-page .lf-workflow-band {
  position: relative;
  margin-top: -1px;
}

/* Fees & Costs page, adapted from the September 28 wireframe. */
.fees-costs-page .fees-reference { --color-navy: #001d3a; --color-white: #ffffff; --color-orange: #e85626; --color-orange-hover: #fa6a3a; --page-gutter: clamp(1.5rem, 7vw, 9.3rem); color: var(--color-white); background: var(--color-navy); font-family: Poppins, Arial, sans-serif; }
/* Fees & Costs and Head of IP: shared runs are emitted once, with
   page-specific runs kept in the same cascade order for each scope. */
@scope (.head-of-ip-reference) {
:scope { --color-navy:#001d3a; --color-white:#fff; --color-orange:#e85626; --color-orange-hover:#fa6a3a; --page-gutter:clamp(1.5rem,7vw,9.3rem); display:block; color:#fff; background:#001d3a; font-family:Poppins,Arial,sans-serif; }
}

@scope (.fees-reference, .head-of-ip-reference) {
:is(.fees-reference, .head-of-ip-reference) * {
  box-sizing: border-box;
}

.hero > :not(.site-header),
:is(.fees-reference, .head-of-ip-reference) main > :not(.hero) {
  transition: filter 0.25s ease;
}

.page-loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 1rem;
  background: #00172e;
  opacity: 1;
  transition: opacity 0.55s ease, visibility 0.55s ease;
}

.page-loader.is-loaded {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.page-loader__brand {
  color: var(--color-white);
  font-size: clamp(1.5rem, 2.3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.035em;
}

.page-loader__track {
  width: 100%;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(255 255 255 / 12%);
}

.page-loader__track span {
  display: block;
  width: 45%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3883ce, #31d0cd);
  animation: page-loader-sweep 1.05s ease-in-out infinite;
}

@keyframes page-loader-sweep {
  from {
    transform: translateX(-115%);
  }

  to {
    transform: translateX(255%);
  }
}

#smooth-wrapper {
  overflow: hidden;
}

#smooth-content {
  width: 100%;
  overflow: visible;
}

:is(.fees-reference, .head-of-ip-reference) main {
  padding-bottom: 0;
}

.hero {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100svh;
  overflow: hidden;
  background: var(--color-navy);
  padding: 1.55rem var(--page-gutter) clamp(3rem, 9vh, 6.7rem);
}

.hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: var(--color-navy);
  pointer-events: none;
}

.hero__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      var(--color-navy) 0%,
      rgb(0 29 58 / 15%) 20%,
      rgb(0 29 58 / 22%) 68%,
      var(--color-navy) 100%
    ),
    linear-gradient(to right, rgb(0 29 58 / 12%), rgb(0 29 58 / 25%));
  content: "";
}

.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
  filter: grayscale(1) sepia(1) saturate(5) hue-rotate(165deg) brightness(0.92)
    contrast(1.1);
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 18%,
    black 72%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 18%,
    black 72%,
    transparent 100%
  );
}

.site-header {
  position: relative;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 88px;
}

.primary-nav {
  display: flex;
  align-items: flex-end;
  align-self: stretch;
  gap: clamp(1.2rem, 2.3vw, 2.4rem);
}

.primary-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 0.8vw, 0.8rem);
  margin: 0;
  padding: 0;
  list-style: none;
  align-self: flex-end;
}

.nav-item {
  position: static;
}

.nav-item__trigger,
.nav-item__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgb(255 255 255 / 78%);
  padding: 0.7rem 0.75rem;
  font: inherit;
  font-size: 0.98rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.25s ease, background 0.25s ease;
}

.nav-item:hover .nav-item__trigger,
.nav-item__trigger[aria-expanded="true"],
.nav-item__link:hover {
  background: rgb(255 255 255 / 7%);
  color: var(--color-white);
}

.nav-item__trigger:focus-visible,
.nav-item__link:focus-visible,
.primary-nav__cta:focus-visible {
  outline: 2px solid #31d0cd;
  outline-offset: 3px;
}

.primary-nav__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 44px;
  border-radius: 4px;
  background: #12509b;
  color: var(--color-white);
  padding: 0.75rem 1.1rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.25s ease, transform 0.25s ease;
}

.primary-nav__cta:hover {
  background: #3883ce;
  transform: translateY(-1px);
}

.primary-nav__actions {
  display: grid;
  align-self: stretch;
  align-content: space-between;
  justify-items: end;
  gap: 0.9rem;
}

.utility-nav {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.utility-nav a {
  position: relative;
  color: rgb(207 215 220 / 62%);
  font-size: 0.8rem;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.2s ease;
}

.utility-nav a + a::before {
  position: absolute;
  top: 50%;
  left: -0.48rem;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgb(207 215 220 / 42%);
  content: "";
}

.utility-nav a:hover {
  color: var(--color-white);
}

.primary-nav__chevron {
  width: 10px;
  height: 10px;
  border-top: 1.25px solid currentColor;
  border-right: 1.25px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.primary-nav__cta:hover .primary-nav__chevron {
  transform: translateX(3px) rotate(45deg);
}

.nav-toggle {
  display: none;
}

.mega-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 1rem);
  right: 0;
  display: grid;
  visibility: hidden;
  width: min(1180px, calc(100vw - (var(--page-gutter) * 2)));
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 7px;
  background:
    radial-gradient(circle at 88% 0%, rgb(56 131 206 / 10%), transparent 34%),
    rgb(0 12 27 / 99%);
  opacity: 0;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  box-shadow: 0 32px 80px rgb(0 5 14 / 48%);
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
  backdrop-filter: blur(20px) saturate(130%);
}

.nav-item.is-open .mega-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.mega-menu--platform {
  width: min(1420px, calc(100vw - (var(--page-gutter) * 2)));
  grid-template-columns: minmax(0, 3fr) minmax(230px, 0.72fr);
  gap: clamp(2rem, 3vw, 3.25rem);
}

.mega-menu__label {
  margin: 0 0 1rem;
  color: #ffcc72;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mega-links--capabilities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 0.6rem;
}

.mega-links--capabilities a {
  display: grid;
  gap: 0.3rem;
  border-radius: 5px;
  color: inherit;
  padding: 0.85rem;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
}

.mega-links--capabilities a:hover {
  background: rgb(255 255 255 / 7%);
  transform: translateX(3px);
}

.mega-links--capabilities strong {
  color: var(--color-white);
  font-size: 0.98rem;
}

.mega-links--capabilities span {
  color: rgb(207 215 220 / 66%);
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.6;
}

.mega-menu__utility,
.mega-menu__roles {
  border-left: 1px solid rgb(255 255 255 / 12%);
  padding-left: 2rem;
}

.mega-menu__utility a,
.mega-menu__roles a,
.resource-menu-column a {
  display: block;
  border-radius: 4px;
  color: rgb(255 255 255 / 74%);
  padding: 0.52rem 0.6rem;
  font-size: 0.88rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.mega-menu__utility a:hover,
.mega-menu__roles a:hover,
.resource-menu-column a:hover {
  background: rgb(255 255 255 / 7%);
  color: var(--color-white);
}

.mega-menu--audience {
  width: min(780px, calc(100vw - (var(--page-gutter) * 2)));
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.8fr);
  gap: 1rem;
}

.audience-menu-card {
  display: flex;
  min-height: 270px;
  flex-direction: column;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 6px;
  color: inherit;
  padding: 1.5rem;
  text-decoration: none;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.audience-menu-card--law {
  background: linear-gradient(145deg, rgb(18 80 155 / 55%), rgb(0 29 58 / 45%));
}

.audience-menu-card--corporate {
  background: linear-gradient(145deg, rgb(56 131 206 / 38%), rgb(0 29 58 / 52%));
}

.audience-menu-card:hover {
  border-color: rgb(49 208 205 / 42%);
  transform: translateY(-3px);
}

.audience-menu-card small,
.resource-menu-cta small {
  color: #ffcc72;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.audience-menu-card strong {
  margin-top: 0.75rem;
  color: var(--color-white);
  font-size: 1.3rem;
  line-height: 1.3;
}

.audience-menu-card > span {
  margin-top: 0.75rem;
  color: rgb(207 215 220 / 68%);
  font-size: 0.82rem;
  font-weight: 300;
  line-height: 1.6;
}

.audience-menu-card b {
  margin-top: auto;
  color: var(--color-white);
  font-size: 0.82rem;
}

.audience-menu-card i,
.resource-menu-cta i {
  margin-left: 0.4rem;
  color: #31d0cd;
  font-size: 1.2rem;
  font-style: normal;
}

.mega-menu--resources {
  grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(220px, 1.15fr);
  gap: 1.4rem;
}

.resource-menu-column + .resource-menu-column {
  border-left: 1px solid rgb(255 255 255 / 10%);
  padding-left: 1.2rem;
}

.resource-menu-cta {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  border: 1px solid rgb(232 86 38 / 36%);
  border-radius: 6px;
  background: linear-gradient(145deg, rgb(232 86 38 / 22%), rgb(18 80 155 / 20%));
  color: inherit;
  padding: 1.4rem;
  text-decoration: none;
}

.resource-menu-cta strong {
  margin-top: 0.8rem;
  color: var(--color-white);
  font-size: 1.3rem;
  line-height: 1.35;
}

.resource-menu-cta > span {
  margin-top: auto;
  color: var(--color-white);
  font-size: 0.86rem;
  font-weight: 700;
}

.brand {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.brand__logo-image {
  display: block;
  width: 137px;
  height: 60px;
}

.brand__primary {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.brand__mark {
  position: relative;
  top: -20px;
  display: block;
  width: 2.375rem;
  height: 2.438rem;
  flex: 0 0 auto;
  transform: scaleY(-1);
}

.brand__name {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

.brand__tagline {
  margin-top: 0.15rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
}

.hero__content {
  position: relative;
  z-index: 2;
  width: min(100%, 70rem);
  margin: clamp(3.5rem, 8vh, 6rem) auto 2rem;
  align-self: start;
  text-align: center;
}

.hero__content h1 {
  margin: 0;
  font-size: clamp(2.35rem, 4vw, 4.75rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.27;
}

.hero__content h1 > span {
  display: block;
}

.hero__content p {
  margin: 1rem auto 0;
  font-size: clamp(1rem, 1.43vw, 2.25rem);
  font-weight: 300;
  line-height: 1.6;
}

.product-showcase {
  --corner-shadow-size: clamp(360px, 40vw, 600px);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(13rem, 25%) 1fr;
  width: min(94%, 75rem);
  height: 540px;
  margin: clamp(1.5rem, 3vh, 2.5rem) auto 0;
  isolation: isolate;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 6px;
  background:
    linear-gradient(135deg, rgb(255 255 255 / 14%), rgb(255 255 255 / 3%) 46%),
    rgb(4 32 58 / 38%);
  box-shadow:
    0 24px 70px rgb(0 8 21 / 34%),
    inset 0 1px 0 rgb(255 255 255 / 26%),
    inset 0 -1px 0 rgb(255 255 255 / 7%);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.product-showcase::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: var(--corner-shadow-size);
  height: var(--corner-shadow-size);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(0 4 12 / 38%) 0%,
    rgb(0 4 12 / 18%) 42%,
    transparent 72%
  );
  filter: blur(10px);
  content: "";
  pointer-events: none;
  transform: translate(-40%, -40%);
}

.product-showcase::after {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: var(--corner-shadow-size);
  height: var(--corner-shadow-size);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(0 4 12 / 36%) 0%,
    rgb(0 4 12 / 17%) 42%,
    transparent 72%
  );
  filter: blur(10px);
  content: "";
  pointer-events: none;
  transform: translate(40%, 40%);
}

.product-showcase__nav {
  display: flex;
  align-items: center;
  border-right: 1px solid rgb(255 255 255 / 16%);
  background: rgb(0 20 42 / 15%);
  border-radius: 5px 0 0 5px;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.scene-list {
  display: grid;
  width: 100%;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scene-list__item {
  position: relative;
  width: 100%;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgb(255 255 255 / 62%);
  cursor: pointer;
  font: inherit;
  font-size: clamp(0.82rem, 1.1vw, 0.95rem);
  font-weight: 500;
  line-height: 1.35;
  padding: 0.72rem 0.65rem 0.72rem 1rem;
  text-align: left;
  transition: color 160ms ease, background-color 160ms ease;
}

.scene-list__item::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 1.25rem;
  border-radius: 999px;
  background: transparent;
  content: "";
  transform: translateY(-50%);
  transition: background-color 160ms ease;
}

.scene-list__item:hover,
.scene-list__item:focus-visible,
.scene-list__item.is-active {
  background: rgb(255 255 255 / 7%);
  color: var(--color-white);
}

.scene-list__item.is-active::before {
  background: var(--color-orange);
}

.scene-list__item:focus-visible {
  outline: 2px solid rgb(255 255 255 / 80%);
  outline-offset: 2px;
}

.product-showcase__stage {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 0 5px 5px 0;
  background:
    radial-gradient(circle at 65% 35%, rgb(76 105 190 / 12%), transparent 48%),
    linear-gradient(145deg, transparent, rgb(255 255 255 / 2%));
}

.product-showcase__stage::after {
  position: absolute;
  inset: 10%;
  border: 1px solid rgb(255 255 255 / 5%);
  border-radius: 4px;
  content: "";
  pointer-events: none;
}

.product-scene {
  position: absolute;
  inset: 0;
  color: var(--color-navy);
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 420ms ease, visibility 420ms;
}

.product-scene.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.product-scene:not(.is-active),
.product-scene:not(.is-active) * {
  animation-play-state: paused !important;
}

.own-ai-screen {
  display: grid;
  grid-template-columns: 155px 1fr;
  background: #f8fafc;
  animation: own-ai-screen-in 16s ease-in-out infinite;
}

.own-ai-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 17px 12px;
  border-right: 1px solid #dce4ea;
  background: #eef2f5;
  color: #667588;
}

.own-ai-brand { display: flex; gap: 7px; align-items: center; color: #263548; font-size: 11px; }

.own-ai-brand span { color: #776bd0; }

.own-ai-sidebar button { margin: 7px 0; padding: 8px; border: 1px solid #d6dfe6; border-radius: 6px; background: white; color: #425268; text-align: left; }

.own-ai-sidebar > small { color: #8995a4; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.own-ai-sidebar p { margin: 0; padding: 7px; border-radius: 5px; font-size: 8px; }

.own-ai-sidebar p.is-current { background: rgb(18 80 155 / 9%); color: #12509b; font-weight: 700; }

.own-ai-connection { position: absolute; right: 10px; bottom: 12px; left: 10px; display: grid; grid-template-columns: 27px 1fr 6px; gap: 7px; align-items: center; padding: 8px; border: 1px solid rgb(18 80 155 / 18%); border-radius: 7px; background: rgb(255 255 255 / 82%); }

.own-ai-connection > b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 5px; background: #12509b; color: white; }

.own-ai-connection strong, .own-ai-connection small { display: block; }

.own-ai-connection strong { color: #173553; font-size: 8px; }

.own-ai-connection small { color: #748395; font-size: 6px; }

.own-ai-connection i { width: 6px; height: 6px; border-radius: 50%; background: #31d0cd; }

.own-ai-chat { display: grid; grid-template-rows: 42px 1fr 48px; min-width: 0; background: white; }

.own-ai-chat > header { display: flex; align-items: center; justify-content: space-between; padding: 0 15px; border-bottom: 1px solid #e1e7ec; }

.own-ai-chat > header strong, .own-ai-chat > header small { display: block; }

.own-ai-chat > header strong { color: #263548; font-size: 9px; }

.own-ai-chat > header small { color: #8794a3; font-size: 6px; }

.own-ai-chat > header em { padding: 4px 7px; border: 1px solid #dce4ea; border-radius: 999px; color: #788697; font-size: 6px; font-style: normal; }

.own-ai-body { overflow: hidden; padding: 13px clamp(13px, 2.5vw, 25px); }

.own-ai-question { display: flex; justify-content: flex-end; gap: 7px; opacity: 0; animation: own-ai-question-in 16s ease-in-out infinite; }

.own-ai-question small { padding-top: 7px; color: #8a97a5; font-size: 6px; font-weight: 800; }

.own-ai-question p { max-width: 76%; margin: 0; padding: 8px 11px; border-radius: 9px 9px 2px 9px; background: #eef2f5; color: #2c3d51; font-size: 8px; line-height: 1.4; }

.own-ai-answer { display: grid; grid-template-columns: 24px 1fr; gap: 8px; margin-top: 11px; }

.own-ai-avatar { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; background: #776bd0; color: white; font-size: 8px; opacity: 0; animation: own-ai-answer-in 16s ease-in-out infinite; }

.own-ai-tool { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 4px 7px; border: 1px solid rgb(18 80 155 / 16%); border-radius: 6px; background: rgb(18 80 155 / 5%); color: #52677c; font-size: 6px; opacity: 0; animation: own-ai-tool-in 16s ease-in-out infinite; }

.own-ai-tool b { display: grid; width: 15px; height: 15px; place-items: center; border-radius: 4px; background: #12509b; color: white; }

.own-ai-tool i { width: 5px; height: 5px; border-radius: 50%; background: #31d0cd; animation: own-ai-pulse 1s ease-in-out infinite; }

.own-ai-stream { max-width: 95%; margin: 7px 0; color: #3d5065; font-size: 8px; line-height: 1.45; opacity: 0; clip-path: inset(0 100% 0 0); animation: own-ai-stream-in 16s steps(16, end) infinite; }

.own-ai-stream strong { color: #12509b; }

.own-ai-chart { max-width: 390px; padding: 8px 10px 6px; border: 1px solid #dce5eb; border-radius: 7px; background: #f8fafc; opacity: 0; transform: translateY(7px); animation: own-ai-chart-in 16s ease-in-out infinite; }

.own-ai-chart header { display: flex; justify-content: space-between; }

.own-ai-chart header small, .own-ai-chart header strong { display: block; }

.own-ai-chart header small { color: #8795a3; font-size: 5px; text-transform: uppercase; }

.own-ai-chart header strong { color: #173553; font-size: 8px; }

.own-ai-chart header em { color: #748395; font-size: 5px; font-style: normal; }

.own-ai-bars { display: flex; align-items: end; justify-content: space-around; height: 70px; margin-top: 4px; border-bottom: 1px solid #dce5eb; background: repeating-linear-gradient(to bottom, transparent 0 22px, rgb(18 80 155 / 7%) 23px); }

.own-ai-bars > i { position: relative; width: 12px; height: var(--h); border-radius: 2px 2px 0 0; background: #3883ce; transform: scaleY(0); transform-origin: bottom; animation: own-ai-bars-in 16s ease-out infinite; }

.own-ai-bars > i b { position: absolute; right: -8px; bottom: 0; width: 6px; height: 78%; border-radius: 2px 2px 0 0; background: #31d0cd; }

.own-ai-chart footer { display: flex; gap: 9px; padding-top: 5px; color: #718194; font-size: 5px; }

.own-ai-chart footer span:first-child { color: #3883ce; }

.own-ai-chart footer span:nth-child(2) { color: #31a9a7; }

.own-ai-chart footer strong { margin-left: auto; color: #087d7b; font-size: 7px; }

.own-ai-input { display: flex; align-items: center; justify-content: space-between; margin: 4px 15px 9px; padding: 0 7px 0 11px; border: 1px solid #d8e0e6; border-radius: 8px; color: #9aa5b1; font-size: 7px; }

.own-ai-input b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; background: #273548; color: white; font-size: 11px; }

.product-screen {
  position: absolute;
  inset: clamp(1rem, 3vw, 2.25rem);
  overflow: hidden;
  border: 1px solid rgb(207 215 220 / 72%);
  border-radius: 8px;
  background: #f6f8fa;
  box-shadow: 0 20px 50px rgb(0 12 28 / 32%);
  opacity: 0;
  transform: translateY(12px) scale(0.985);
}

.product-screen--request {
  animation: request-scene 12s ease-in-out infinite;
}

.product-screen--forecast {
  animation: forecast-scene 12s ease-in-out infinite;
}

.product-window__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 36px;
  border-bottom: 1px solid #dce3e7;
  background: rgb(255 255 255 / 88%);
  color: #607084;
  font-size: 10px;
  font-weight: 600;
  padding: 0 12px;
}

.product-window__dots {
  display: flex;
  gap: 4px;
}

.product-window__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cfd7dc;
}

.product-window__dots i:first-child {
  background: #e85626;
}

.product-window__status {
  justify-self: end;
  border-radius: 999px;
  background: #edf1f4;
  color: #6b7988;
  font-size: 9px;
  padding: 4px 8px;
}

.product-window__status.is-ready {
  background: rgb(49 208 205 / 16%);
  color: #087d7b;
}

.request-card {
  position: relative;
  width: min(82%, 430px);
  margin: clamp(1rem, 4vh, 2.4rem) auto 0;
  border: 1px solid #e2e7eb;
  border-radius: 7px;
  background: white;
  padding: clamp(1.1rem, 2.5vw, 1.65rem);
  box-shadow: 0 10px 26px rgb(0 29 58 / 7%);
}

.product-eyebrow {
  color: #3883ce;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.request-card h3,
.forecast-heading h3 {
  margin: 4px 0;
  color: #001d3a;
  font-size: clamp(14px, 1.6vw, 20px);
  line-height: 1.2;
}

.request-card p {
  margin: 0 0 14px;
  color: #728092;
  font-size: 9px;
}

.country-field {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 42px;
  border: 1px solid #cfd7dc;
  border-radius: 5px;
  padding: 6px 11px;
}

.country-field__label {
  grid-column: 1 / -1;
  color: #607084;
  font-size: 8px;
  font-weight: 600;
}

.country-field__value {
  color: #9aa6b2;
  font-size: 10px;
}

.country-field__chevron {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: 16px;
}

.country-menu {
  position: absolute;
  z-index: 2;
  top: calc(100% - 32px);
  right: clamp(1.1rem, 2.5vw, 1.65rem);
  left: clamp(1.1rem, 2.5vw, 1.65rem);
  display: grid;
  overflow: hidden;
  border: 1px solid #d6dde2;
  border-radius: 5px;
  background: white;
  box-shadow: 0 12px 30px rgb(0 29 58 / 15%);
  opacity: 0;
  transform: translateY(-5px);
  animation: country-menu 12s ease infinite;
}

.country-menu span {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  align-items: center;
  min-height: 34px;
  border-bottom: 1px solid #edf0f2;
  color: #33485f;
  font-size: 9px;
  padding: 0 10px;
}

.country-menu i {
  color: #12509b;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

.country-menu b {
  color: #31aead;
  font-weight: 700;
}

.selected-countries {
  display: flex;
  min-height: 28px;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  opacity: 0;
  animation: selected-countries 12s ease infinite;
}

.selected-countries span {
  border: 1px solid rgb(56 131 206 / 24%);
  border-radius: 999px;
  background: rgb(56 131 206 / 9%);
  color: #12509b;
  font-size: 8px;
  font-weight: 600;
  padding: 4px 7px;
}

.forecast-button {
  display: block;
  margin: 12px 0 0 auto;
  border: 0;
  border-radius: 4px;
  background: #e85626;
  color: white;
  font: inherit;
  font-size: 9px;
  font-weight: 700;
  padding: 8px 13px;
}

.demo-cursor {
  position: absolute;
  z-index: 5;
  top: 64%;
  left: 68%;
  width: 12px;
  height: 16px;
  background: #001d3a;
  clip-path: polygon(0 0, 100% 72%, 57% 76%, 42% 100%);
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / 25%));
  opacity: 0;
  animation: demo-cursor 12s ease-in-out infinite;
}

.forecast-dashboard {
  padding: clamp(0.9rem, 2vw, 1.4rem);
}

.forecast-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.forecast-badge {
  border-radius: 999px;
  background: rgb(18 80 155 / 9%);
  color: #12509b;
  font-size: 8px;
  font-weight: 700;
  padding: 6px 9px;
}

.metric-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
}

.metric-card,
.forecast-chart {
  border: 1px solid #e1e7eb;
  border-radius: 6px;
  background: white;
  box-shadow: 0 6px 16px rgb(0 29 58 / 5%);
}

.metric-card {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
}

.metric-card span,
.metric-card small,
.forecast-chart small {
  color: #7a8796;
  font-size: 7px;
}

.metric-card strong {
  color: #001d3a;
  font-size: clamp(13px, 1.7vw, 19px);
}

.forecast-visuals {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(115px, 0.85fr);
  gap: 9px;
  margin-top: 9px;
}

.forecast-chart {
  padding: 10px 12px 8px;
}

.forecast-chart__title {
  display: flex;
  justify-content: space-between;
  color: #33485f;
  font-size: 9px;
  font-weight: 600;
}

.bar-chart {
  display: flex;
  height: clamp(78px, 14vh, 130px);
  gap: clamp(8px, 2vw, 22px);
  align-items: end;
  border-bottom: 1px solid #dce3e7;
  margin-top: 8px;
  padding: 0 5% 0;
}

.bar-chart div {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: 1fr 16px;
  align-items: end;
  justify-items: center;
}

.bar-chart span {
  width: min(70%, 24px);
  height: var(--bar-height);
  border-radius: 3px 3px 0 0;
  background: linear-gradient(to top, #12509b, #3883ce);
  transform: scaleY(0);
  transform-origin: bottom;
  animation: forecast-bars 12s ease-out infinite;
}

.bar-chart div:nth-child(4) span,
.bar-chart div:nth-child(5) span {
  background: linear-gradient(to top, #d64d22, #ffcc72);
}

.bar-chart small {
  align-self: center;
}

.forecast-chart--share {
  min-width: 0;
}

.country-share {
  display: grid;
  height: clamp(78px, 14vh, 130px);
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  gap: 7px;
  padding-top: 8px;
}

.country-share__donut {
  display: grid;
  width: clamp(54px, 7vw, 82px);
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(
    #12509b 0 48%,
    #3883ce 48% 80%,
    #31d0cd 80% 100%
  );
  opacity: 0;
  transform: scale(0.72) rotate(-45deg);
  animation: forecast-donut 12s ease-out infinite;
}

.country-share__donut::before {
  width: 58%;
  aspect-ratio: 1;
  grid-area: 1 / 1;
  border-radius: 50%;
  background: white;
  content: "";
}

.country-share__donut span {
  z-index: 1;
  display: grid;
  grid-area: 1 / 1;
  color: #778697;
  font-size: 6px;
  line-height: 1.15;
  text-align: center;
}

.country-share__donut strong {
  color: #001d3a;
  font-size: 13px;
}

.country-share__legend {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: clamp(5px, 0.8vw, 9px);
}

.country-share__legend span {
  display: flex;
  align-items: center;
  gap: 3px;
  color: #718092;
  font-size: 6px;
  white-space: nowrap;
}

.country-share__legend i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #12509b;
}

.country-share__legend i.is-ep {
  background: #3883ce;
}

.country-share__legend i.is-jp {
  background: #31d0cd;
}

.country-share__legend b {
  color: #33485f;
}

.whatif-screen {
  opacity: 1;
  transform: none;
}

.whatif-layout {
  display: grid;
  height: calc(100% - 36px);
  grid-template-columns: minmax(0, 1.55fr) minmax(175px, 0.9fr);
}

.scenario-panel {
  position: relative;
  min-width: 0;
  border-right: 1px solid #dce3e7;
  background:
    linear-gradient(rgb(241 245 248 / 72%) 1px, transparent 1px),
    white;
  background-size: 100% 25%;
  padding: clamp(0.9rem, 2vw, 1.35rem);
}

.scenario-heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: start;
  justify-content: space-between;
}

.scenario-heading h3 {
  margin: 3px 0 0;
  color: #001d3a;
  font-size: clamp(12px, 1.3vw, 16px);
}

.scenario-legend {
  display: flex;
  gap: 8px;
  color: #718092;
  font-size: 7px;
}

.scenario-legend span {
  display: flex;
  align-items: center;
  gap: 3px;
}

.scenario-legend i {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background: #cfd7dc;
}

.scenario-legend span:last-child i {
  background: #3883ce;
}

.scenario-chart {
  position: absolute;
  top: 68px;
  right: clamp(0.9rem, 2vw, 1.35rem);
  bottom: 16px;
  left: clamp(0.9rem, 2vw, 1.35rem);
  display: grid;
  grid-template-rows: 1fr auto;
  opacity: 0;
  transform: translateY(7px);
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.scenario-chart--japan {
  animation-name: whatif-japan;
}

.scenario-chart--germany {
  animation-name: whatif-germany;
}

.scenario-chart--china {
  animation-name: whatif-china;
}

.scenario-bars {
  display: flex;
  min-height: 0;
  gap: clamp(8px, 1.8vw, 20px);
  align-items: end;
  border-bottom: 1px solid #cfd7dc;
  padding: 5px 6% 0;
}

.scenario-bars > div {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: 1fr 18px;
  align-items: end;
  justify-items: center;
}

.scenario-bars i {
  position: relative;
  display: flex;
  width: min(74%, 38px);
  height: 100%;
  align-items: end;
  gap: 3px;
}

.scenario-bars i::before,
.scenario-bars i::after {
  width: calc(50% - 1.5px);
  border-radius: 3px 3px 0 0;
  content: "";
  transform: scaleY(0);
  transform-origin: bottom;
  animation: whatif-bars 24s -12s ease-out infinite;
}

.scenario-bars i::before {
  height: var(--original);
  background: #cfd7dc;
}

.scenario-bars i::after {
  height: var(--scenario);
  background: linear-gradient(to top, #12509b, #3883ce);
}

.scenario-bars small {
  align-self: center;
  color: #718092;
  font-size: 7px;
}

.scenario-line-chart {
  display: grid;
  min-height: 0;
  grid-template-rows: 1fr 18px;
  overflow: hidden;
  border-bottom: 1px solid #cfd7dc;
}

.scenario-line-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.chart-grid-line {
  fill: none;
  stroke: #e5eaed;
  stroke-width: 1;
}

.chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: whatif-line-draw 24s -12s ease-in-out infinite;
}

.chart-line--original {
  stroke: #c4cdd3;
  stroke-width: 4;
}

.chart-line--scenario {
  stroke: #3883ce;
}

.chart-line--delayed {
  stroke: #31d0cd;
}

.chart-points {
  fill: #3883ce;
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.chart-delay-area {
  fill: url(#china-area);
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.chart-delay-marker {
  fill: none;
  stroke: #e85626;
  stroke-dasharray: 4 5;
  stroke-width: 2;
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.scenario-line-chart text {
  fill: #e85626;
  font-size: 10px;
  font-weight: 700;
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.scenario-years {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  color: #718092;
  font-size: 7px;
  text-align: center;
}

.scenario-chart > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 9px 0 0;
  color: #718092;
  font-size: 7px;
}

.scenario-chart > p strong {
  color: #12509b;
  font-size: 8px;
}

.assistant-panel {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr auto;
  background: #f6f8fa;
  padding: clamp(0.8rem, 1.7vw, 1.15rem);
}

.assistant-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid #dce3e7;
  padding-bottom: 10px;
}

.assistant-spark {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 7px;
  background: #12509b;
  color: #ffcc72;
  font-size: 12px;
}

.assistant-heading div {
  display: grid;
}

.assistant-heading strong {
  color: #001d3a;
  font-size: 9px;
}

.assistant-heading small {
  color: #7a8796;
  font-size: 7px;
}

.chat-stage {
  position: relative;
  min-height: 0;
}

.chat-exchange {
  position: absolute;
  inset: 12px 0 5px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  opacity: 0;
  transform: translateY(6px);
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.chat-exchange--japan {
  animation-name: whatif-japan;
}

.chat-exchange--germany {
  animation-name: whatif-germany;
}

.chat-exchange--china {
  animation-name: whatif-china;
}

.chat-question {
  align-self: end;
  max-width: 92%;
  margin: 0;
  border-radius: 8px 8px 2px 8px;
  background: #001d3a;
  color: white;
  font-size: clamp(7px, 0.8vw, 9px);
  line-height: 1.45;
  padding: 8px 9px;
  opacity: 0;
  transform: translateY(5px) scale(0.98);
}

.chat-answer {
  border: 1px solid #dfe5e9;
  border-radius: 2px 8px 8px 8px;
  background: white;
  color: #526276;
  font-size: clamp(7px, 0.8vw, 9px);
  line-height: 1.55;
  padding: 9px 10px;
  clip-path: inset(0 0 100% 0);
  opacity: 0;
}

.chat-answer strong {
  color: #12509b;
}

.chat-answer span {
  display: block;
  margin-top: 5px;
  color: #087d7b;
  font-size: 7px;
}

.assistant-input {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
  border: 1px solid #cfd7dc;
  border-radius: 6px;
  background: white;
  color: #98a4af;
  font-size: 8px;
  padding: 5px 5px 5px 9px;
  overflow: hidden;
}

.assistant-input b {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 4px;
  background: #e85626;
  color: white;
}

.assistant-input__placeholder,
.typed-prompt {
  position: absolute;
  right: 34px;
  left: 9px;
  overflow: hidden;
  white-space: nowrap;
}

.assistant-input__placeholder {
  animation: prompt-placeholder 24s -12s linear infinite;
}

.typed-prompt {
  color: #33485f;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  font-size: clamp(6px, 0.72vw, 8px);
  font-weight: 500;
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: steps(32, end);
  animation-iteration-count: infinite;
}

.typed-prompt--japan {
  animation-name: prompt-type-japan;
}

.typed-prompt--germany {
  animation-name: prompt-type-germany;
}

.typed-prompt--china {
  animation-name: prompt-type-china;
}

.chat-exchange--japan .chat-question {
  animation: question-in-japan 24s -12s ease-in-out infinite;
}

.chat-exchange--japan .chat-answer {
  animation: answer-stream-japan 24s -12s steps(8, end) infinite;
}

.chat-exchange--germany .chat-question {
  animation: question-in-germany 24s -12s ease-in-out infinite;
}

.chat-exchange--germany .chat-answer {
  animation: answer-stream-germany 24s -12s steps(8, end) infinite;
}

.chat-exchange--china .chat-question {
  animation: question-in-china 24s -12s ease-in-out infinite;
}

.chat-exchange--china .chat-answer {
  animation: answer-stream-china 24s -12s steps(8, end) infinite;
}

@keyframes product-scene-forecast {
  0%, 31% { opacity: 1; }
  34%, 100% { opacity: 0; }
}

@keyframes product-scene-whatif {
  0%, 32%, 100% { opacity: 0; }
  35%, 96% { opacity: 1; }
}

@keyframes nav-forecast {
  0%, 31% { background: rgb(255 255 255 / 7%); color: white; }
  34%, 100% { background: transparent; color: rgb(255 255 255 / 62%); }
}

@keyframes nav-marker-forecast {
  0%, 31% { background: #e85626; }
  34%, 100% { background: transparent; }
}

@keyframes nav-whatif {
  0%, 32%, 100% { background: transparent; color: rgb(255 255 255 / 62%); }
  35%, 96% { background: rgb(255 255 255 / 7%); color: white; }
}

@keyframes nav-marker-whatif {
  0%, 32%, 100% { background: transparent; }
  35%, 96% { background: #ffcc72; }
}

@keyframes own-ai-screen-in {
  0%, 4%, 96%, 100% { opacity: 0; transform: translateY(10px) scale(.988); }
  8%, 92% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes own-ai-question-in {
  0%, 12%, 96%, 100% { opacity: 0; transform: translateY(5px); }
  17%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes own-ai-answer-in {
  0%, 25%, 96%, 100% { opacity: 0; }
  30%, 92% { opacity: 1; }
}

@keyframes own-ai-tool-in {
  0%, 25%, 96%, 100% { opacity: 0; transform: translateY(4px); }
  30%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes own-ai-stream-in {
  0%, 36%, 96%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  39% { opacity: 1; clip-path: inset(0 100% 0 0); }
  58%, 92% { opacity: 1; clip-path: inset(0); }
}

@keyframes own-ai-chart-in {
  0%, 57%, 96%, 100% { opacity: 0; transform: translateY(7px); }
  63%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes own-ai-bars-in {
  0%, 61%, 96%, 100% { transform: scaleY(0); }
  70%, 92% { transform: scaleY(1); }
}

@keyframes own-ai-pulse {
  50% { opacity: .35; transform: scale(.72); }
}

@keyframes whatif-japan {
  0%, 4%, 31%, 100% { opacity: 0; transform: translateY(6px); }
  8%, 27% { opacity: 1; transform: translateY(0); }
}

@keyframes whatif-germany {
  0%, 30%, 36%, 63%, 100% { opacity: 0; transform: translateY(6px); }
  40%, 59% { opacity: 1; transform: translateY(0); }
}

@keyframes whatif-china {
  0%, 62%, 69%, 94%, 100% { opacity: 0; transform: translateY(6px); }
  73%, 90% { opacity: 1; transform: translateY(0); }
}

@keyframes whatif-bars {
  0%, 5%, 33%, 38%, 65%, 71%, 96%, 100% { transform: scaleY(0); }
  11%, 28%, 44%, 60%, 77%, 91% { transform: scaleY(1); }
}

@keyframes prompt-placeholder {
  0%, 1%, 9%, 32%, 41%, 64%, 73%, 100% { opacity: 1; }
  2%, 8%, 33%, 40%, 65%, 72% { opacity: 0; }
}

@keyframes prompt-type-japan {
  0%, 1%, 9%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  2% { opacity: 1; clip-path: inset(0 100% 0 0); }
  7% { opacity: 1; clip-path: inset(0 0 0 0); }
  8% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes prompt-type-germany {
  0%, 32%, 42%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  33% { opacity: 1; clip-path: inset(0 100% 0 0); }
  39% { opacity: 1; clip-path: inset(0 0 0 0); }
  40% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes prompt-type-china {
  0%, 64%, 74%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  65% { opacity: 1; clip-path: inset(0 100% 0 0); }
  71% { opacity: 1; clip-path: inset(0 0 0 0); }
  72% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes question-in-japan {
  0%, 8%, 30%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  10%, 27% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes answer-stream-japan {
  0%, 12%, 30%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  14% { opacity: 1; clip-path: inset(0 0 100% 0); }
  23%, 27% { opacity: 1; clip-path: inset(0); }
}

@keyframes question-in-germany {
  0%, 39%, 63%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  41%, 60% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes answer-stream-germany {
  0%, 44%, 63%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  46% { opacity: 1; clip-path: inset(0 0 100% 0); }
  55%, 60% { opacity: 1; clip-path: inset(0); }
}

@keyframes question-in-china {
  0%, 71%, 95%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  73%, 92% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes answer-stream-china {
  0%, 76%, 95%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  78% { opacity: 1; clip-path: inset(0 0 100% 0); }
  87%, 92% { opacity: 1; clip-path: inset(0); }
}

@keyframes whatif-line-draw {
  0%, 10%, 32%, 75%, 96%, 100% { stroke-dashoffset: 520; }
  16%, 29%, 82%, 92% { stroke-dashoffset: 0; }
}

@keyframes whatif-chart-detail {
  0%, 15%, 31%, 80%, 95%, 100% { opacity: 0; }
  18%, 29%, 84%, 92% { opacity: 1; }
}

@keyframes request-scene {
  0%, 5%, 49%, 100% { opacity: 0; transform: translateY(12px) scale(0.985); }
  9%, 43% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes forecast-scene {
  0%, 46%, 94%, 100% { opacity: 0; transform: translateY(12px) scale(0.985); }
  53%, 88% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes country-menu {
  0%, 14%, 34%, 100% { opacity: 0; transform: translateY(-5px); }
  17%, 29% { opacity: 1; transform: translateY(0); }
}

@keyframes selected-countries {
  0%, 27%, 100% { opacity: 0; }
  31%, 47% { opacity: 1; }
}

@keyframes demo-cursor {
  0%, 10%, 46%, 100% { opacity: 0; top: 64%; left: 68%; }
  13% { opacity: 1; top: 48%; left: 72%; }
  19% { opacity: 1; top: 54%; left: 52%; }
  26% { opacity: 1; top: 66%; left: 52%; }
  35% { opacity: 1; top: 72%; left: 67%; }
  40% { opacity: 1; top: 78%; left: 69%; }
  43% { opacity: 0; top: 78%; left: 69%; }
}

@keyframes forecast-bars {
  0%, 52%, 100% { transform: scaleY(0); }
  60%, 89% { transform: scaleY(1); }
}

@keyframes forecast-donut {
  0%, 54%, 100% { opacity: 0; transform: scale(0.72) rotate(-45deg); }
  63%, 89% { opacity: 1; transform: scale(1) rotate(0); }
}

.hero__cta {
  position: relative;
  z-index: 2;
  justify-self: center;
  display: inline-flex;
  min-width: 15.5rem;
  min-height: 2.688rem;
  margin-top: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  background: var(--color-orange);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}

.hero__cta:hover {
  background: var(--color-orange-hover);
  transform: translateY(-2px);
}

.hero__cta:focus-visible,
.brand:focus-visible {
  outline: 3px solid var(--color-white);
  outline-offset: 4px;
}

.product-showcase--platform {
  width: min(98%, 82rem);
  height: 570px;
  grid-template-columns: minmax(12rem, 20%) minmax(0, 80%);
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.product-showcase--platform::before,
.product-showcase--platform::after,
.product-showcase--platform .product-showcase__stage::after {
  display: none;
}

.product-showcase--platform .product-showcase__nav {
  align-items: center;
  border: 0;
  background: transparent;
  padding: 1rem 1.15rem 1rem 0;
}

.product-showcase--platform .scene-list {
  gap: 0.8rem;
}

.product-showcase--platform .scene-list__item {
  min-height: 52px;
  border-radius: 0;
  padding: 0.7rem 2.6rem 0.7rem 0.25rem;
  text-align: right;
}

.product-showcase--platform .scene-list__item:hover,
.product-showcase--platform .scene-list__item:focus-visible,
.product-showcase--platform .scene-list__item.is-active {
  background: transparent;
}

.product-showcase--platform .scene-list__item::before {
  top: 50%;
  right: 0;
  left: auto;
  width: 2rem;
  height: 1px;
  border-radius: 0;
  background: rgb(207 215 220 / 20%);
  transform: none;
}

.product-showcase--platform .scene-list__item.is-active::before {
  width: 2.25rem;
  background: var(--color-orange);
  box-shadow: 0 0 12px rgb(232 86 38 / 36%);
}

.product-showcase--platform .product-showcase__stage {
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

.product-showcase--platform .product-screen {
  inset: 0.3rem 0 0.3rem 0.65rem;
  border-color: rgb(255 255 255 / 34%);
  border-radius: 10px;
  background: rgb(226 237 245 / 76%);
  box-shadow:
    0 28px 70px rgb(0 8 21 / 34%),
    inset 0 1px 0 rgb(255 255 255 / 62%);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
}

.product-showcase--platform .product-window__bar,
.product-showcase--platform .own-ai-chat > header {
  background: rgb(255 255 255 / 48%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .metric-card,
.product-showcase--platform .forecast-chart,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat,
.product-showcase--platform .own-ai-connection,
.product-showcase--platform .own-ai-chart {
  background-color: rgb(255 255 255 / 58%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.product-showcase--platform .scenario-panel {
  background:
    linear-gradient(rgb(241 245 248 / 42%) 1px, transparent 1px),
    rgb(255 255 255 / 48%);
  background-size: 100% 25%;
}

.product-showcase--platform .own-ai-sidebar {
  background: rgb(235 241 245 / 58%);
}

.product-showcase--platform {
  height: 660px;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 570px);
  grid-template-areas:
    "labels"
    "stage";
}

.product-showcase--platform .product-showcase__stage {
  grid-area: stage;
  width: min(100%, 76rem);
  justify-self: center;
}

.product-showcase--platform .product-showcase__nav {
  grid-area: labels;
  width: min(100%, 76rem);
  justify-self: center;
  padding: 0 0 0.8rem;
}

.product-showcase--platform .scene-list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.35rem;
}

.product-showcase--platform .scene-list__item {
  min-height: 62px;
  padding: 0.7rem 1.65rem 0.7rem 0.35rem;
  color: rgb(255 255 255 / 30%);
  font-size: clamp(0.72rem, 0.88vw, 0.84rem);
  text-align: center;
}

.product-showcase--platform .scene-list__item:hover,
.product-showcase--platform .scene-list__item:focus-visible,
.product-showcase--platform .scene-list__item.is-active {
  color: var(--color-white);
}

.product-showcase--platform::before {
  z-index: -1;
  top: 50%;
  left: 50%;
  display: block;
  width: 100vw;
  height: 100vw;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(0 5 14 / 32%) 0%,
    rgb(0 5 14 / 18%) 36%,
    transparent 68%
  );
  filter: blur(18px);
  transform: translate(-50%, -50%);
}

.product-showcase--platform .scene-list__item::before {
  right: 0.15rem;
  width: 1.25rem;
}

.product-showcase--platform .scene-list__item.is-active::before {
  width: 1.25rem;
  background: rgb(207 215 220 / 20%);
  box-shadow: none;
}

.product-showcase--platform .scene-list__item:last-child::before {
  display: none;
}

.product-showcase--platform .product-screen {
  inset: 0.15rem 0.35rem 0.35rem;
  border: 0;
  background: rgb(0 18 38 / 30%);
  color: rgb(231 239 244 / 88%);
  box-shadow:
    0 40px 100px rgb(0 5 14 / 58%),
    0 14px 34px rgb(0 5 14 / 42%),
    inset 0 1px 0 rgb(255 255 255 / 14%);
  backdrop-filter: blur(15px) saturate(110%);
  -webkit-backdrop-filter: blur(15px) saturate(110%);
}

.product-showcase--platform .product-window__bar,
.product-showcase--platform .own-ai-chat > header {
  border-color: rgb(207 215 220 / 13%);
  background: rgb(0 18 38 / 20%);
  color: rgb(231 239 244 / 68%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .metric-card,
.product-showcase--platform .forecast-chart,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat,
.product-showcase--platform .own-ai-connection,
.product-showcase--platform .own-ai-chart {
  border-color: rgb(207 215 220 / 13%);
  background-color: rgb(0 18 38 / 17%);
}

.product-showcase--platform .scenario-panel {
  border-right-color: rgb(207 215 220 / 12%);
  background:
    linear-gradient(rgb(255 255 255 / 5%) 1px, transparent 1px),
    rgb(0 18 38 / 12%);
  background-size: 100% 25%;
}

.product-showcase--platform .own-ai-sidebar {
  border-color: rgb(207 215 220 / 12%);
  background: rgb(0 18 38 / 18%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .country-menu,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat {
  color: rgb(231 239 244 / 84%);
}

.product-showcase--platform .request-card h3,
.product-showcase--platform .forecast-heading h3,
.product-showcase--platform .scenario-heading h3,
.product-showcase--platform .assistant-heading strong,
.product-showcase--platform .metric-card strong,
.product-showcase--platform .forecast-chart__title span,
.product-showcase--platform .own-ai-brand,
.product-showcase--platform .own-ai-chat strong,
.product-showcase--platform .own-ai-chart strong {
  color: var(--color-white);
}

.product-showcase--platform .request-card p,
.product-showcase--platform .country-field,
.product-showcase--platform .country-field__label,
.product-showcase--platform .country-field__value,
.product-showcase--platform .metric-card span,
.product-showcase--platform .metric-card small,
.product-showcase--platform .scenario-legend,
.product-showcase--platform .own-ai-sidebar,
.product-showcase--platform .own-ai-stream,
.product-showcase--platform .own-ai-question p {
  color: rgb(207 215 220 / 70%);
}

.product-showcase--platform .country-field,
.product-showcase--platform .country-menu,
.product-showcase--platform .assistant-input,
.product-showcase--platform .own-ai-input,
.product-showcase--platform .own-ai-question p {
  border-color: rgb(207 215 220 / 16%);
  background: rgb(0 18 38 / 17%);
}

.product-showcase--platform .country-menu span {
  border-color: rgb(207 215 220 / 10%);
  color: rgb(231 239 244 / 78%);
}

.product-showcase--platform .product-window__status,
.product-showcase--platform .forecast-badge {
  background: rgb(56 131 206 / 16%);
  color: rgb(178 214 248 / 86%);
}

.product-showcase--platform .product-window__status.is-ready {
  background: rgb(49 208 205 / 14%);
  color: rgb(126 232 228 / 88%);
}

.product-showcase--platform .forecast-dashboard {
  background: rgb(0 18 38 / 10%);
}

.product-showcase--platform .country-share__donut::before {
  background: rgb(0 24 49 / 92%);
}

.product-showcase--platform .country-share__donut span,
.product-showcase--platform .country-share__legend span,
.product-showcase--platform .forecast-chart small,
.product-showcase--platform .scenario-years,
.product-showcase--platform .scenario-chart > p,
.product-showcase--platform .assistant-heading small,
.product-showcase--platform .own-ai-input {
  color: rgb(207 215 220 / 62%);
}

.product-showcase--platform .country-share__donut strong,
.product-showcase--platform .country-share__legend b,
.product-showcase--platform .scenario-chart > p strong {
  color: rgb(231 239 244 / 90%);
}

.product-showcase--platform .bar-chart,
.product-showcase--platform .assistant-heading,
.product-showcase--platform .scenario-bars,
.product-showcase--platform .scenario-line-chart,
.product-showcase--platform .own-ai-bars,
.product-showcase--platform .own-ai-chat > header,
.product-showcase--platform .own-ai-sidebar,
.product-showcase--platform .own-ai-connection {
  border-color: rgb(207 215 220 / 12%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .metric-card,
.product-showcase--platform .forecast-chart,
.product-showcase--platform .country-menu,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat,
.product-showcase--platform .own-ai-chart {
  box-shadow: 0 10px 28px rgb(0 5 14 / 18%);
}

.product-showcase--platform .product-window__dots i:not(:first-child) {
  background: rgb(207 215 220 / 44%);
}

.product-showcase--platform .scenario-legend i,
.product-showcase--platform .scenario-bars i::before {
  background: rgb(207 215 220 / 34%);
}

.product-showcase--platform .chart-grid-line {
  stroke: rgb(207 215 220 / 16%);
}

.product-showcase--platform .chart-line--original {
  stroke: rgb(207 215 220 / 56%);
}

.product-showcase--platform .selected-countries span {
  border-color: rgb(56 131 206 / 38%);
  background: rgb(56 131 206 / 17%);
  color: rgb(178 214 248 / 92%);
}

.product-showcase--platform .scenario-line-chart,
.product-showcase--platform .scenario-bars,
.product-showcase--platform .own-ai-chart {
  border-color: rgb(207 215 220 / 12%);
}

.product-showcase--platform .chat-answer,
.product-showcase--platform .own-ai-tool {
  border-color: rgb(49 208 205 / 18%);
  background: rgb(49 208 205 / 7%);
  color: rgb(231 239 244 / 80%);
}

.product-showcase--platform .chat-answer strong,
.product-showcase--platform .chat-answer span,
.product-showcase--platform .typed-prompt {
  color: rgb(126 190 248 / 92%);
}

.proof-section {
  display: flex;
  width: 94%;
  flex-direction: column;
  margin: 3vw auto clamp(5rem, 8vw, 9rem);
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 88% 12%, rgb(56 131 206 / 8%), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fbfcfd 58%, #f4f7f9 100%);
  color: var(--color-navy);
  padding: clamp(4rem, 7vw, 8rem) clamp(3rem, 7vw, 7rem);
  box-shadow: inset 0 1px 0 white, 0 18px 70px rgb(0 8 21 / 12%);
}

.proof-section__copy {
  width: 100%;
}

.proof-section h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(3rem, 5.75vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.proof-title__line {
  display: block;
  color: var(--color-navy);
}

.proof-section h2 .proof-title__accent {
  color: var(--color-orange);
}

.proof-section h2 .reveal-word {
  display: inline-block;
  will-change: filter, opacity, transform;
}

.proof-section__lower {
  margin-top: clamp(2.5rem, 4vw, 2rem);
}

.proof-section__description {
  margin: 0 0 50px 0;
  color: #526276;
  font-size: clamp(1rem, 1.6vw, 2.5rem);
  line-height: 1.65;
}

.proof-section__logos {
  width: 100%;
}

.proof-section__logos > p {
  margin: 0 0 1.2rem;
  color: #7a8796;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.proof-logos:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
}

.proof-logos:not(.slick-initialized) .proof-logo:nth-child(n + 6) {
  display: none;
}

.proof-logos .slick-track {
  display: flex;
  align-items: center;
}

.proof-logo {
  padding-right: clamp(1.25rem, 3vw, 3rem);
}

.proof-logo img {
  display: block;
  width: 100%;
  max-width: 200px;
  height: 86px;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: multiply;
}

.old-workflow {
  display: grid;
  width: 94%;
  max-width: 1400px;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  gap: 0;
  align-items: center;
  margin: 0 auto clamp(2rem, 3vw, 3rem);
  padding: clamp(2.5rem, 5vw, 5rem) 0;
}

.old-workflow__copy {
  position: relative;
  z-index: 2;
  max-width: none;
}

.old-workflow__copy > *,
.old-workflow__media {
  will-change: filter, opacity, transform;
}

.old-workflow h2 {
  position: relative;
  z-index: 2;
  width: 180%;
  margin: 0;
  color: var(--color-white);
  font-size: clamp(2.2rem, 3.7vw, 4rem);
  font-weight: 900;
  line-height: 1.15;
  text-shadow: 0 3px 24px rgb(0 18 38 / 42%);
}

.old-workflow__lead,
.old-workflow__reveal {
  display: block;
}

.old-workflow__lead {
  color: var(--color-white);
  white-space: nowrap;
}

.old-workflow__reveal {
  color: var(--color-white);
  white-space: nowrap;
}

.old-workflow__phrase {
  color: #ffcc72;
}

.old-workflow__copy p {
  max-width: 580px;
  margin: clamp(1.25rem, 2.4vw, 2rem) 0 0;
  color: rgb(207 215 220 / 82%);
  font-size: clamp(0.9rem, 1.55vw, 1.65rem);
  font-weight: 300;
  line-height: 1.4;
}

.old-workflow__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.35rem;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 160ms ease, gap 160ms ease;
}

.old-workflow__link span:last-child {
  color: #31d0cd;
  font-size: 1.75rem;
  line-height: 0.8;
}

.old-workflow__link:hover {
  gap: 0.95rem;
  color: #ffcc72;
}

.old-workflow__link:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 5px;
}

.old-workflow__media {
  position: relative;
  width: 100%;
  max-width: none;
  height: clamp(280px, 25vw, 360px);
  justify-self: end;
  margin-left: 0;
  overflow: hidden;
  aspect-ratio: auto;
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 6px;
  background: #00152a;
  box-shadow: 0 24px 70px rgb(0 5 14 / 18%);
}

.old-workflow__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(0 29 58 / 58%), rgb(0 29 58 / 20%) 42%, rgb(0 29 58 / 30%)),
    rgb(18 80 155 / 22%);
  mix-blend-mode: color;
  content: "";
  pointer-events: none;
}

.old-workflow__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.58;
  filter: grayscale(1) sepia(0.25) saturate(1.8) hue-rotate(165deg)
    contrast(1.05) brightness(0.66);
}

.answer-section {
  width: 94%;
  max-width: 1400px;
  margin: 0 auto clamp(6rem, 10vw, 11rem);
  padding-top: clamp(2rem, 4vw, 4rem);
}

.answer-section__header {
  max-width: 1280px;
  margin: 0 auto clamp(3.5rem, 6vw, 6rem);
  text-align: center;
}

.answer-section h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1rem, 3.7vw, 4rem);
  font-weight: 900;
  line-height: 1.15;
}

.answer-title__line {
  display: block;
  white-space: nowrap;
}

.answer-section h2 .answer-title__phrase {
  color: var(--color-orange);
}

.answer-section__header p {
  margin: clamp(1.4rem, 2.5vw, 2rem) 0 0;
  color: rgb(207 215 220 / 82%);
  font-size: clamp(0.9rem, 1.55vw, 1.65rem);
  font-weight: 300;
}

.answer-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.4vw, 1.25rem);
}

.answer-section__header > *,
.answer-card {
  will-change: opacity, transform;
}

.answer-card {
  position: relative;
  display: grid;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 78%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 90% 8%, rgb(56 131 206 / 10%), transparent 35%),
    linear-gradient(145deg, #ffffff, #f3f6f8);
  color: var(--color-navy);
  box-shadow: 0 22px 60px rgb(0 8 21 / 18%);
}

.answer-card--wide {
  grid-column: span 7;
  min-height: 400px;
  grid-template-columns: minmax(0, 0.9fr) minmax(180px, 1.1fr);
}

.answer-card--medium {
  grid-column: span 5;
  min-height: 400px;
  grid-template-rows: auto 1fr;
}

.answer-card--third {
  grid-column: span 4;
  min-height: 350px;
  grid-template-rows: auto 1fr;
}

.answer-card:nth-child(3),
.answer-card:nth-child(5) {
  grid-template-rows: 1fr auto;
}

.answer-card:nth-child(3) .answer-card__visual,
.answer-card:nth-child(5) .answer-card__visual {
  grid-row: 1;
}

.answer-card:nth-child(3) .answer-card__copy,
.answer-card:nth-child(5) .answer-card__copy {
  grid-row: 2;
}

.answer-card__copy {
  position: relative;
  z-index: 1;
  padding: clamp(1.5rem, 3vw, 2.75rem);
}

.answer-card__number {
  display: block;
  margin-bottom: 1rem;
  color: #3883ce;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.answer-card h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.answer-card p {
  margin: 0.9rem 0 0;
  color: #526276;
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.6;
}

.answer-card__visual {
  position: relative;
  min-height: 145px;
  margin: clamp(1rem, 2vw, 1.75rem);
  overflow: hidden;
  border: 1px dashed rgb(18 80 155 / 13%);
  border-radius: 5px;
  background:
    linear-gradient(rgb(18 80 155 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(18 80 155 / 4%) 1px, transparent 1px),
    rgb(18 80 155 / 2%);
  background-size: 28px 28px;
}

.answer-card__visual::before,
.answer-card__visual::after,
.answer-card__visual > span {
  position: absolute;
  border-radius: 50%;
  content: "";
}

.answer-card__visual::before {
  width: 46%;
  aspect-ratio: 1;
  top: 12%;
  right: 10%;
  background: rgb(56 131 206 / 9%);
}

.answer-card__visual::after {
  width: 28%;
  aspect-ratio: 1;
  right: 38%;
  bottom: 7%;
  background: rgb(49 208 205 / 8%);
}

.answer-card__visual > span {
  width: 18%;
  aspect-ratio: 1;
  right: 14%;
  bottom: 9%;
  background: rgb(232 86 38 / 8%);
}

.answer-card__visual--report {
  min-height: 205px;
  margin: -2rem -2.75rem 0 0.75rem;
  overflow: visible;
  border: 0;
  background: none;
}

.answer-card__visual--report::before,
.answer-card__visual--report::after {
  display: none;
}

.report-wireframe {
  position: absolute;
  top: -12%;
  right: -5%;
  width: 116%;
  min-width: 390px;
  height: 255px;
  overflow: hidden;
  border: 1px solid rgb(18 80 155 / 13%);
  border-radius: 7px;
  background: rgb(248 251 253 / 56%);
  box-shadow: 0 18px 50px rgb(18 80 155 / 6%);
  opacity: 0.72;
  transform: rotate(-1.5deg);
  animation: report-wireframe-float 9s ease-in-out infinite;
}

.report-wireframe__top {
  display: flex;
  height: 31px;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  border-bottom: 1px solid rgb(18 80 155 / 9%);
  background: rgb(18 80 155 / 2%);
}

.report-wireframe__top i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgb(18 80 155 / 16%);
}

.report-wireframe__top span {
  width: 26%;
  height: 5px;
  margin-left: 12px;
  border-radius: 999px;
  background: rgb(18 80 155 / 11%);
}

.report-wireframe__title {
  padding: 15px 18px 9px;
}

.report-wireframe__title span,
.report-wireframe__title small {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: rgb(18 80 155 / 15%);
}

.report-wireframe__title span { width: 38%; }

.report-wireframe__title small { width: 56%; height: 4px; margin-top: 7px; opacity: 0.55; }

.report-wireframe__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 0 18px 11px;
}

.report-wireframe__metrics i {
  height: 36px;
  border: 1px solid rgb(18 80 155 / 10%);
  border-radius: 4px;
  background:
    linear-gradient(rgb(56 131 206 / 13%), rgb(56 131 206 / 13%)) 9px 9px / 42% 5px no-repeat,
    linear-gradient(rgb(18 80 155 / 8%), rgb(18 80 155 / 8%)) 9px 21px / 66% 4px no-repeat;
}

.report-wireframe__body {
  display: grid;
  grid-template-columns: 1.65fr 0.8fr;
  gap: 9px;
  padding: 0 18px;
}

.report-wireframe__chart,
.report-wireframe__notes {
  height: 105px;
  border: 1px solid rgb(18 80 155 / 9%);
  border-radius: 4px;
  background:
    repeating-linear-gradient(to bottom, transparent 0 24px, rgb(18 80 155 / 4%) 25px),
    rgb(255 255 255 / 22%);
}

.report-wireframe__chart {
  display: flex;
  align-items: end;
  justify-content: space-around;
  padding: 12px 14px 0;
}

.report-wireframe__chart span {
  width: 9%;
  height: var(--bar);
  border-radius: 2px 2px 0 0;
  background: linear-gradient(to top, rgb(18 80 155 / 24%), rgb(56 131 206 / 20%));
  transform-origin: bottom;
  animation: report-wireframe-bars 9s ease-in-out infinite;
}

.report-wireframe__notes {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 15px 12px;
}

.report-wireframe__notes i {
  height: 4px;
  border-radius: 999px;
  background: rgb(18 80 155 / 10%);
}

.report-wireframe__notes i:nth-child(2) { width: 76%; }

.report-wireframe__notes i:nth-child(3) { width: 88%; }

.report-wireframe__notes i:nth-child(4) { width: 58%; }

@keyframes report-wireframe-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-1.5deg); }
  50% { transform: translate3d(-5px, 4px, 0) rotate(-0.8deg); }
}

@keyframes report-wireframe-bars {
  0%, 18% { transform: scaleY(0.32); opacity: 0.35; }
  38%, 82% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(0.72); opacity: 0.7; }
}

.answer-card__visual--orbit {
  min-height: 175px;
  margin: 0;
  overflow: visible;
  border: 0;
  background: none;
}

.answer-card__visual--orbit::before,
.answer-card__visual--orbit::after {
  display: none;
}

.intelligence-orbit {
  position: absolute;
  right: 50%;
  bottom: -175px;
  width: 330px;
  height: 330px;
  margin-right: -165px;
  border: 1px solid rgb(18 80 155 / 20%);
  border-radius: 50%;
  animation: intelligence-orbit-spin 30s linear infinite;
}

.intelligence-orbit::before,
.intelligence-orbit::after {
  position: absolute;
  border: 1px solid rgb(18 80 155 / 17%);
  border-radius: 50%;
  content: "";
}

.intelligence-orbit::before { inset: 28px; }

.intelligence-orbit::after { inset: 58px; }

.intelligence-orbit__core {
  position: absolute;
  inset: 74px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(56 131 206 / 24%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 40% 32%, rgb(56 131 206 / 19%), transparent 48%),
    rgb(18 80 155 / 8%);
  box-shadow: inset 0 0 45px rgb(18 80 155 / 9%);
}

.intelligence-orbit__core span {
  color: rgb(18 80 155 / 44%);
  font-size: 2rem;
  font-weight: 900;
  transform: rotate(0deg);
  animation: intelligence-orbit-counterspin 30s linear infinite;
}

.intelligence-orbit__node {
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  border: 1px solid rgb(18 80 155 / 28%);
  border-radius: 50%;
  background: #edf4f8;
  box-shadow: 0 4px 16px rgb(18 80 155 / 14%);
}

.intelligence-orbit__node::after {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: rgb(56 131 206 / 42%);
  content: "";
}

.intelligence-orbit__node--one { top: 8px; left: 156px; animation: intelligence-node-glow 4.7s -1.1s ease-in-out infinite; }

.intelligence-orbit__node--two { top: 54px; right: 42px; width: 14px; height: 14px; animation: intelligence-node-glow 6.1s -3.8s ease-in-out infinite; }

.intelligence-orbit__node--three { top: 142px; right: -5px; width: 21px; height: 21px; animation: intelligence-node-glow 5.3s -2.2s ease-in-out infinite; }

.intelligence-orbit__node--four { top: 72px; left: 24px; width: 12px; height: 12px; animation: intelligence-node-glow 7.2s -.6s ease-in-out infinite; }

.intelligence-orbit__node--five { top: 172px; left: -7px; width: 16px; height: 16px; animation: intelligence-node-glow 4.2s -3.1s ease-in-out infinite; }

.intelligence-orbit__node--six { top: 24px; left: 78px; width: 10px; height: 10px; animation: intelligence-node-glow 5.8s -4.5s ease-in-out infinite; }

.intelligence-orbit__node--two::after,
.intelligence-orbit__node--five::after { background: rgb(49 208 205 / 46%); }

.intelligence-orbit__node--three::after,
.intelligence-orbit__node--six::after { background: rgb(232 86 38 / 38%); }

@keyframes intelligence-orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes intelligence-orbit-counterspin {
  to { transform: rotate(-360deg); }
}

@keyframes intelligence-node-glow {
  0%, 58%, 100% { border-color: rgb(18 80 155 / 24%); box-shadow: 0 4px 14px rgb(18 80 155 / 12%); opacity: 0.76; }
  66%, 78% { border-color: rgb(49 208 205 / 55%); box-shadow: 0 0 0 6px rgb(49 208 205 / 8%), 0 5px 18px rgb(18 80 155 / 16%); opacity: 1; }
}

.answer-card__visual--timeline {
  min-height: 205px;
  margin: -1.5rem -2.5rem 0 0.8rem;
  overflow: visible;
  border: 0;
  background: none;
  -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
  mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

.answer-card__visual--timeline::before,
.answer-card__visual--timeline::after {
  display: none;
}

.confidence-timeline {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.confidence-timeline__track {
  position: absolute;
  top: 52%;
  left: 0;
  display: flex;
  width: 185%;
  align-items: center;
  justify-content: space-around;
  border-top: 2px solid rgb(18 80 155 / 11%);
  animation: confidence-timeline-forward 20s linear infinite;
}

.confidence-timeline__track::after {
  position: absolute;
  top: -7px;
  right: -2px;
  width: 12px;
  height: 12px;
  border-top: 2px solid rgb(18 80 155 / 14%);
  border-right: 2px solid rgb(18 80 155 / 14%);
  content: "";
  transform: rotate(45deg);
}

.confidence-timeline__track span {
  position: relative;
  width: 12.5%;
  height: 1px;
  text-align: center;
}

.confidence-timeline__track i {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid rgb(56 131 206 / 20%);
  border-radius: 50%;
  background: #f5f8fa;
  box-shadow: 0 0 0 5px rgb(56 131 206 / 4%);
  transform: translateX(-50%);
}

.confidence-timeline__track small {
  position: absolute;
  top: 16px;
  left: 50%;
  color: rgb(18 80 155 / 30%);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
}

.confidence-timeline__track span:nth-child(even) small {
  top: -34px;
}

.confidence-timeline__track .is-decision i {
  border-color: rgb(49 208 205 / 35%);
  background: rgb(49 208 205 / 14%);
  animation: confidence-decision-pulse 5.4s ease-in-out infinite;
}

.confidence-timeline__track .is-decision:nth-child(6) i {
  border-color: rgb(232 86 38 / 28%);
  background: rgb(232 86 38 / 10%);
  animation-delay: -2.8s;
}

@keyframes confidence-timeline-forward {
  from { transform: translateX(2%); }
  to { transform: translateX(-43%); }
}

@keyframes confidence-decision-pulse {
  0%, 60%, 100% { box-shadow: 0 0 0 4px transparent; transform: translateX(-50%) scale(0.88); }
  72%, 84% { box-shadow: 0 0 0 9px rgb(49 208 205 / 8%); transform: translateX(-50%) scale(1.12); }
}

.answer-card__visual--globe::before,
.answer-card__visual--globe::after {
  display: none;
}

.answer-card__visual--globe {
  position: absolute;
  z-index: 0;
  right: -12%;
  bottom: -24%;
  width: 80%;
  height: 110%;
  min-height: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(135deg, transparent 3%, black 43%);
  mask-image: linear-gradient(135deg, transparent 3%, black 43%);
}

.answer-card__visual--globe svg {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.58;
  mix-blend-mode: multiply;
}

.answer-card__visual--morph::before,
.answer-card__visual--morph::after {
  display: none;
}

.answer-card__visual--morph {
  position: absolute;
  inset: 34% -14% -20% 27%;
  display: grid;
  min-height: 0;
  place-items: center;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 28%);
  mask-image: linear-gradient(to right, transparent 0%, black 28%);
}

.morph-chart {
  position: absolute;
  opacity: 0;
}

.morph-chart--bars {
  display: flex;
  width: 112%;
  height: 42%;
  align-items: end;
  justify-content: space-around;
  gap: clamp(14px, 2.5vw, 28px);
  border-bottom: 1px solid rgb(18 80 155 / 15%);
  animation: morph-bars 9s ease-in-out infinite;
}

.morph-chart--bars i {
  width: clamp(24px, 4vw, 48px);
  height: var(--height);
  border-radius: 4px 4px 0 0;
  background: linear-gradient(to top, rgb(18 80 155 / 58%), rgb(56 131 206 / 50%));
  transform-origin: bottom;
}

.morph-chart--line {
  width: 118%;
  height: 72%;
  overflow: visible;
  animation: morph-line 9s ease-in-out infinite;
}

.morph-chart--line path {
  fill: none;
  stroke: rgb(56 131 206 / 68%);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.morph-chart--line circle {
  fill: #f8fafb;
  stroke: rgb(49 208 205 / 72%);
  stroke-width: 4;
}

.morph-chart--donuts {
  left: -16%;
  bottom: -24%;
  width: 118%;
  height: 112%;
  animation: morph-donut 9s ease-in-out infinite;
}

.morph-chart--donuts i {
  position: absolute;
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(
    rgb(18 80 155 / 62%) 0 42%,
    rgb(56 131 206 / 52%) 42% 72%,
    rgb(49 208 205 / 55%) 72% 89%,
    rgb(255 204 114 / 58%) 89% 100%
  );
}

.morph-chart--donuts i::after {
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #f5f8fa;
  content: "";
}

.morph-chart--donuts i:nth-child(1) {
  left: -2%;
  bottom: -12%;
  width: clamp(170px, 22vw, 260px);
}

.morph-chart--donuts i:nth-child(2) {
  top: 7%;
  left: 42%;
  width: clamp(115px, 15vw, 175px);
  background: conic-gradient(
    rgb(49 208 205 / 52%) 0 34%,
    rgb(18 80 155 / 58%) 34% 78%,
    rgb(232 86 38 / 45%) 78% 100%
  );
}

.morph-chart--donuts i:nth-child(3) {
  left: 34%;
  bottom: 3%;
  width: clamp(82px, 10vw, 125px);
  background: conic-gradient(
    rgb(56 131 206 / 52%) 0 58%,
    rgb(255 204 114 / 55%) 58% 82%,
    rgb(18 80 155 / 52%) 82% 100%
  );
}

.morph-chart--donuts i:nth-child(4) {
  top: 16%;
  left: 68%;
  width: clamp(58px, 7vw, 88px);
  background: conic-gradient(
    rgb(232 86 38 / 42%) 0 28%,
    rgb(49 208 205 / 52%) 28% 70%,
    rgb(56 131 206 / 48%) 70% 100%
  );
}

@keyframes morph-bars {
  0%, 4% { opacity: 0; transform: scaleX(0.78); }
  10%, 27% { opacity: 0.72; transform: scaleX(1); }
  34%, 100% { opacity: 0; transform: scaleX(1.08); }
}

@keyframes morph-line {
  0%, 28%, 100% { opacity: 0; transform: scale(0.9); }
  37%, 59% { opacity: 0.72; transform: scale(1); }
  66% { opacity: 0; transform: scale(1.06); }
}

@keyframes morph-donut {
  0%, 60%, 100% { opacity: 0; transform: scale(0.76) rotate(-28deg); }
  70%, 91% { opacity: 0.7; transform: scale(1) rotate(0); }
  97% { opacity: 0; transform: scale(1.06) rotate(8deg); }
}

.cta-bar {
  display: grid;
  width: 94%;
  max-width: 1400px;
  min-height: 120px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 32%);
  align-items: stretch;
  margin: 0 auto clamp(5rem, 8vw, 9rem);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 18% 0%, rgb(18 80 155 / 12%), transparent 42%),
    #000814;
  box-shadow: 0 24px 70px rgb(0 5 14 / 28%);
}

.cta-bar > p {
  align-self: center;
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1.2rem, 1.8vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.12;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  white-space: nowrap;
}

.cta-bar > a {
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--color-orange);
  color: var(--color-white);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 700;
  padding: 1.5rem clamp(1.5rem, 3vw, 2.75rem);
  text-decoration: none;
  transition: background-color 180ms ease, padding-right 180ms ease;
}

.cta-bar__chevron {
  font-size: clamp(3.5rem, 6vw, 6rem);
  font-weight: 300;
  line-height: 0.65;
}

.cta-bar > a:hover {
  background: var(--color-orange-hover);
  padding-right: clamp(1.2rem, 2.6vw, 2.35rem);
}

.cta-bar > a:focus-visible {
  outline: 3px solid var(--color-white);
  outline-offset: -7px;
}

.audience-section {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(18rem, 24vw, 26rem);
}

.audience-split {
  display: grid;
  min-height: 650px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 28px 80px rgb(0 5 14 / 30%);
}

.audience-panel {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background-position: center;
  background-size: cover;
  padding: clamp(3rem, 6vw, 6rem);
  transition: filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.audience-panel__content {
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.audience-section[data-audience="law"] .audience-panel--corporate,
.audience-section[data-audience="corporate"] .audience-panel--firms {
  filter: brightness(0.58) saturate(0.72);
}

.audience-section[data-audience="law"] .audience-panel--corporate .audience-panel__content,
.audience-section[data-audience="corporate"] .audience-panel--firms .audience-panel__content {
  opacity: 0.42;
}

.audience-panel:focus-visible {
  outline: 2px solid #31d0cd;
  outline-offset: -4px;
}

.audience-panel::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
}

.audience-panel--firms {
  background-image: url("../img/law-firms.781cd174bdc0.jpg");
}

.audience-panel--firms::before {
  background:
    linear-gradient(120deg, rgb(0 14 31 / 94%), rgb(0 29 58 / 70%)),
    rgb(0 29 58 / 42%);
}

.audience-panel--corporate {
  background-image: url("../img/corporate-ip.d7bdb307a1f0.jpg");
}

.audience-panel--corporate::before {
  background:
    linear-gradient(120deg, rgb(2 25 49 / 82%), rgb(0 10 24 / 91%)),
    rgb(18 80 155 / 24%);
}

.audience-panel__content {
  position: relative;
  z-index: 1;
  max-width: 520px;
  padding-bottom: 4rem;
}

.audience-panel__content > span {
  display: block;
  margin-bottom: 1.25rem;
  color: #ffcc72;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.audience-panel h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  font-weight: 900;
  line-height: 1.1;
}

.audience-panel p {
  margin: 1.5rem 0 0;
  color: rgb(255 255 255 / 76%);
  font-size: clamp(0.95rem, 1.15vw, 1.1rem);
  font-weight: 300;
  line-height: 1.7;
}

.audience-panel__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.65rem;
  color: var(--color-white);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.audience-panel__link span:last-child {
  color: #31d0cd;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.audience-panel__link:hover span:last-child,
.audience-panel__link:focus-visible span:last-child {
  transform: translateX(5px);
}

.audience-panel__link:focus-visible {
  border-radius: 2px;
  outline: 2px solid #31d0cd;
  outline-offset: 5px;
}

.testimonial-card {
  position: absolute;
  z-index: 3;
  right: 12%;
  bottom: 0;
  left: 12%;
  margin: 0;
  border: 1px solid rgb(255 255 255 / 82%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 94% 8%, rgb(56 131 206 / 10%), transparent 36%),
    linear-gradient(145deg, #ffffff, #f3f6f8);
  color: var(--color-navy);
  padding: clamp(1.75rem, 3vw, 3rem);
  box-shadow: 0 30px 80px rgb(0 5 14 / 34%);
  transform: translateY(calc(100% - 48px));
}

.testimonial-card blockquote {
  max-width: 980px;
  margin: 0;
  font-size: clamp(1.05rem, 1.45vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.55;
}

.testimonial-card__quote {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 5rem);
}

.testimonial-card__logo {
  width: clamp(130px, 13vw, 185px);
  height: auto;
  mix-blend-mode: multiply;
}

.testimonial-card__logo[hidden] {
  display: none;
}

.testimonial-card blockquote strong {
  color: #12509b;
  font-weight: 700;
}

.testimonial-card__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.5rem;
}

.testimonial-card figcaption {
  display: grid;
  gap: 0.2rem;
}

.testimonial-card figcaption strong {
  font-size: 0.95rem;
}

.testimonial-card figcaption span {
  color: #66778a;
  font-size: 0.8rem;
}

.testimonial-dots {
  display: flex;
  gap: 0.55rem;
}

.testimonial-dots button {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 50%;
  background: #cfd7dc;
  cursor: pointer;
  padding: 0;
}

.testimonial-dots button.is-active {
  width: 24px;
  border-radius: 999px;
  background: var(--color-orange);
}

.testimonial-dots button:focus-visible {
  outline: 2px solid #12509b;
  outline-offset: 3px;
}

.intelligence-section {
  width: min(94%, 1440px);
  margin: 0 auto clamp(7rem, 11vw, 11rem);
}

.intelligence-section__header {
  max-width: 980px;
  margin: 0 auto clamp(3rem, 6vw, 5.5rem);
  text-align: center;
}

.intelligence-section__header h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(2.7rem, 5vw, 5rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.intelligence-section__header p {
  max-width: 790px;
  margin: 1.2rem auto 0;
  color: rgb(207 215 220 / 82%);
  font-size: clamp(1rem, 1.55vw, 1.45rem);
  font-weight: 300;
  line-height: 1.55;
}

.intelligence-explorer {
  display: grid;
  min-height: 600px;
  grid-template-columns: minmax(260px, 27%) minmax(0, 1fr);
  border-top: 1px solid rgb(255 255 255 / 16%);
  border-bottom: 1px solid rgb(255 255 255 / 16%);
}

.intelligence-tabs {
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgb(255 255 255 / 16%);
}

.intelligence-tabs button {
  position: relative;
  display: grid;
  align-items: center;
  flex: 1;
  grid-template-columns: 2.25rem 1fr;
  gap: 0.9rem;
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgb(255 255 255 / 10%);
  background: transparent;
  color: rgb(207 215 220 / 62%);
  padding: 1.25rem 1.5rem;
  font: inherit;
  font-size: clamp(0.82rem, 1vw, 1rem);
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: background 0.45s ease, color 0.45s ease, padding-left 0.45s ease;
}

.intelligence-tabs button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1px;
  width: 3px;
  background: var(--color-orange);
  content: "";
  opacity: 0;
  transform: scaleY(0.25);
  transition: opacity 0.35s ease, transform 0.45s ease;
}

.intelligence-tabs button:last-child {
  border-bottom: 0;
}

.intelligence-tabs button > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: #dbeaff;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  transition: filter 0.35s ease, transform 0.35s ease;
}

.intelligence-tabs button:nth-child(1) > span {
  border: 1px solid rgb(82 153 224 / 58%);
  border-radius: 2px;
  background: rgb(56 131 206 / 24%);
}

.intelligence-tabs button:nth-child(2) > span {
  border: 1px solid rgb(49 208 205 / 55%);
  border-radius: 50%;
  background: rgb(49 208 205 / 18%);
  color: #bff3f1;
}

.intelligence-tabs button:nth-child(3) > span {
  border: 1px solid rgb(255 204 114 / 48%);
  border-radius: 8px 2px 8px 2px;
  background: rgb(255 204 114 / 16%);
  color: #ffe2aa;
}

.intelligence-tabs button:nth-child(4) > span {
  background: rgb(232 86 38 / 22%);
  color: #ffb199;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.intelligence-tabs button:nth-child(5) > span {
  background: rgb(122 147 179 / 25%);
  color: #d4e0ee;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
}

.intelligence-tabs button:nth-child(6) > span {
  width: 2.2rem;
  border: 1px solid rgb(207 215 220 / 35%);
  border-radius: 999px;
  background: rgb(207 215 220 / 12%);
  color: #dfe6ea;
}

.intelligence-tabs button:nth-child(n + 1) > span {
  --badge-rgb: 56 131 206;
  position: relative;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 2px solid transparent;
  border-radius: 4px;
  background:
    linear-gradient(145deg, rgb(255 255 255 / 11%), rgb(255 255 255 / 1%)),
    rgb(var(--badge-rgb) / 10%);
  color: rgb(255 255 255 / 90%);
  padding: 0;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 13%),
    0 8px 18px rgb(0 8 21 / 18%);
  clip-path: none;
  font-size: 0.78rem;
  font-weight: 900;
  text-shadow: 0 1px 5px rgb(0 10 24 / 35%);
  backdrop-filter: blur(10px) saturate(135%);
  -webkit-backdrop-filter: blur(10px) saturate(135%);
}

.intelligence-tabs button:nth-child(1) > span {
  --badge-rgb: 56 131 206;
  color: #cce5ff;
}

.intelligence-tabs button:nth-child(2) > span {
  --badge-rgb: 49 208 205;
  color: #c4f5f3;
}

.intelligence-tabs button:nth-child(3) > span {
  --badge-rgb: 255 204 114;
  color: #ffe6b5;
}

.intelligence-tabs button:nth-child(4) > span {
  --badge-rgb: 232 86 38;
  color: #ffc4b1;
}

.intelligence-tabs button:nth-child(5) > span {
  --badge-rgb: 129 151 184;
  color: #dce7f5;
}

.intelligence-tabs button:nth-child(6) > span {
  --badge-rgb: 159 174 186;
  color: #e4eaee;
}

.intelligence-tabs button > span::before {
  position: absolute;
  inset: -2px;
  border-radius: 6px;
  background: linear-gradient(
    60deg,
    #3883ce,
    #31d0cd,
    #ffcc72,
    #e85626,
    #3883ce
  );
  background-position: 0% 50%;
  background-size: 300% 300%;
  content: "";
  opacity: 0;
  padding: 2px;
  pointer-events: none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.intelligence-tabs button.is-active > span::before {
  animation: intelligence-badge-race 3s ease alternate infinite;
  opacity: 1;
}

@keyframes intelligence-badge-race {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.intelligence-tabs button:hover > span,
.intelligence-tabs button.is-active > span {
  filter: brightness(1.18);
  transform: scale(1.06);
}

.intelligence-tabs button:hover,
.intelligence-tabs button.is-active {
  background: rgb(255 255 255 / 5%);
  color: var(--color-white);
  padding-left: 1.8rem;
}

.intelligence-tabs button.is-active::before {
  opacity: 1;
  transform: scaleY(1);
}

.intelligence-tabs button:focus-visible {
  z-index: 1;
  outline: 2px solid #31d0cd;
  outline-offset: -3px;
}

.intelligence-stage {
  position: relative;
  display: grid;
  min-width: 0;
  overflow: hidden;
  grid-template-rows: auto 1fr;
  padding: clamp(2rem, 4.5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem) 0;
}

.intelligence-stage__copy {
  position: relative;
  z-index: 2;
  max-width: 780px;
}

.intelligence-stage__eyebrow {
  color: #ffcc72;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.intelligence-stage h3 {
  max-width: 760px;
  margin: 0.8rem 0 0;
  color: var(--color-white);
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.intelligence-stage__copy p {
  margin: 1rem 0 0;
  color: rgb(207 215 220 / 75%);
  font-size: clamp(0.95rem, 1.25vw, 1.15rem);
  font-weight: 300;
}

.intelligence-stage__copy a {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.4rem;
  color: var(--color-white);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.intelligence-stage__copy a span:last-child {
  color: #31d0cd;
  font-size: 1.8rem;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.intelligence-stage__copy a:hover span:last-child {
  transform: translateX(5px);
}

.intelligence-visual {
  position: relative;
  min-height: 330px;
  margin-top: 2.5rem;
}

.intelligence-visual__window {
  position: absolute;
  top: 0;
  right: -5%;
  bottom: -3rem;
  left: 5%;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 10px 10px 0 0;
  background: linear-gradient(145deg, #f9fbfc, #eaf0f4);
  color: var(--color-navy);
  box-shadow: 0 30px 80px rgb(0 8 21 / 36%);
  transform: perspective(1200px) rotateX(2deg) rotateY(-3deg);
  transform-origin: bottom right;
}

.intelligence-visual__toolbar {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  height: 42px;
  border-bottom: 1px solid #dce4e9;
  background: #ffffff;
  padding: 0 1rem;
}

.intelligence-visual__toolbar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cfd7dc;
}

.intelligence-visual__toolbar span {
  margin-left: 0.5rem;
  color: #607286;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 600;
}

.intelligence-visual__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  padding: 1.2rem;
}

.intelligence-visual__metrics div {
  display: grid;
  gap: 0.3rem;
  border: 1px solid #dfe6ea;
  border-radius: 6px;
  background: rgb(255 255 255 / 84%);
  padding: 0.8rem;
}

.intelligence-visual small {
  color: #738397;
  font-size: 0.58rem;
}

.intelligence-visual__metrics strong {
  color: #12509b;
  font-size: clamp(0.9rem, 1.5vw, 1.25rem);
}

.intelligence-visual__chart {
  position: absolute;
  right: 5%;
  bottom: 0;
  left: 4%;
  display: flex;
  align-items: end;
  gap: 4%;
  height: 48%;
  border-bottom: 1px solid #cad6de;
  background: repeating-linear-gradient(to bottom, transparent 0 32px, rgb(18 80 155 / 7%) 33px);
  padding: 0 5%;
}

.intelligence-visual__chart span {
  width: 10%;
  height: var(--value);
  border-radius: 3px 3px 0 0;
  background: linear-gradient(to top, #12509b, #3883ce);
  transition: height 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.intelligence-visual__float {
  position: absolute;
  right: 5%;
  top: 42%;
  display: grid;
  gap: 0.25rem;
  min-width: 180px;
  border: 1px solid rgb(49 208 205 / 42%);
  border-radius: 7px;
  background: rgb(255 255 255 / 94%);
  padding: 0.85rem 1rem;
  box-shadow: 0 14px 35px rgb(0 29 58 / 14%);
}

.intelligence-visual__float strong {
  color: #12509b;
  font-size: 0.9rem;
}

.intelligence-visual__float span {
  color: #6f8091;
  font-size: 0.58rem;
}

.scenario-plan-comparison {
  position: absolute;
  inset: 62px 1.2rem 1rem;
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.intelligence-explorer[data-feature="scenario"] .intelligence-visual__metrics,
.intelligence-explorer[data-feature="scenario"] .intelligence-visual__chart,
.intelligence-explorer[data-feature="scenario"] .intelligence-visual__float {
  display: none;
}

.intelligence-explorer[data-feature="scenario"] .scenario-plan-comparison {
  display: grid;
}

.scenario-plan-comparison article {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-rows: auto auto auto 1fr auto;
  overflow: hidden;
  border: 1px solid #dce4e9;
  border-radius: 7px;
  background: rgb(255 255 255 / 88%);
  padding: clamp(0.7rem, 1.2vw, 1rem);
  box-shadow: 0 10px 24px rgb(0 29 58 / 7%);
}

.scenario-plan-comparison article.is-recommended {
  border-color: rgb(49 208 205 / 55%);
  background: linear-gradient(160deg, rgb(255 255 255 / 98%), rgb(49 208 205 / 7%));
  transform: translateY(-7px);
  box-shadow: 0 16px 34px rgb(0 60 90 / 12%);
}

.scenario-plan-comparison header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.scenario-plan-comparison header span {
  color: #12509b;
  font-size: 0.72rem;
  font-weight: 800;
}

.scenario-plan-comparison header small {
  padding: 0.22rem 0.4rem;
  border-radius: 999px;
  background: rgb(18 80 155 / 7%);
  font-size: 0.48rem;
  white-space: nowrap;
}

.scenario-plan-comparison .is-recommended header small {
  background: rgb(49 208 205 / 14%);
  color: #087d7b;
}

.scenario-plan-comparison article > strong {
  margin-top: 0.65rem;
  color: #001d3a;
  font-size: clamp(1rem, 1.7vw, 1.45rem);
}

.scenario-plan-comparison article > p {
  min-height: 2.5em;
  margin: 0.28rem 0 0;
  color: #748397;
  font-size: clamp(0.48rem, 0.68vw, 0.62rem);
  line-height: 1.4;
}

.scenario-plan-bars {
  display: flex;
  height: 92px;
  align-items: end;
  justify-content: space-around;
  gap: 7%;
  margin-top: 0.55rem;
  border-bottom: 1px solid #d5e0e6;
  background: repeating-linear-gradient(to bottom, transparent 0 29px, rgb(18 80 155 / 5%) 30px);
  padding: 0 5%;
}

.scenario-plan-bars i {
  width: 12%;
  height: var(--h);
  border-radius: 2px 2px 0 0;
  background: rgb(56 131 206 / 45%);
  transform-origin: bottom;
  animation: scenario-plan-bars-in 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.scenario-plan-comparison .is-recommended .scenario-plan-bars i {
  background: linear-gradient(to top, #12509b, #31d0cd);
}

.scenario-plan-comparison article:nth-child(3) .scenario-plan-bars i {
  background: rgb(232 86 38 / 42%);
}

.scenario-plan-comparison footer {
  margin-top: 0.6rem;
  color: #52677c;
  font-size: 0.58rem;
  font-weight: 700;
}

.scenario-plan-comparison .is-recommended footer {
  color: #087d7b;
}

@keyframes scenario-plan-bars-in {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

.foundation-section {
  display: grid;
  width: min(94%, 1440px);
  min-height: 650px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.25vw, 1.25rem);
  margin: 0 auto clamp(7rem, 11vw, 11rem);
}

.foundation-card {
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 7px;
  padding: clamp(2rem, 3vw, 3.2rem);
  isolation: isolate;
  box-shadow: 0 28px 70px rgb(0 8 21 / 25%);
}

.foundation-card::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(145deg, rgb(255 255 255 / 7%), transparent 42%);
  content: "";
  pointer-events: none;
}

.foundation-card--integrations {
  grid-row: 1 / span 2;
  justify-content: flex-start;
  background:
    radial-gradient(circle at 82% 20%, rgb(49 208 205 / 9%), transparent 32%),
    radial-gradient(circle at 5% 0%, rgb(18 80 155 / 24%), transparent 42%),
    #001d3a;
}

.foundation-card--security {
  background: radial-gradient(circle at 50% 10%, rgb(55 144 138 / 45%), transparent 32%), linear-gradient(165deg, #1e7d7b 0%, #078a89 58%, #06383c 145%);
}

.foundation-card--expertise {
  background: radial-gradient(circle at 50% 10%, rgb(56 131 206 / 45%), transparent 32%), linear-gradient(165deg, #3883ce 0%, #12509b 58%, #001d3a 145%);
}

.foundation-card--security,
.foundation-card--expertise {
  justify-content: center;
}

.foundation-card--security h2,
.foundation-card--expertise h2 {
  max-width: 620px;
}

.foundation-card__copy {
  position: relative;
  z-index: 2;
}

.foundation-card__eyebrow {
  display: block;
  margin-bottom: 1rem;
  color: #cfd7dc;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.foundation-card--expertise .foundation-card__eyebrow {
  color: #cfd7dc;
}

.foundation-card--expertise h2,
.foundation-card--expertise p,
.foundation-card--expertise a {
  color: var(--color-white);
}

.foundation-card--expertise p {
  opacity: 0.76;
}

.foundation-card h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1.7rem, 2.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.foundation-card:not(.foundation-card--integrations) h2 {
  font-size: clamp(1.55rem, 1.9vw, 2.2rem);
}

.foundation-card p {
  margin: 1.1rem 0 0;
  color: rgb(255 255 255 / 70%);
  font-size: clamp(0.88rem, 1vw, 1rem);
  font-weight: 300;
  line-height: 1.65;
}

.foundation-card a {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.5rem;
  color: var(--color-white);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

.foundation-card a span:last-child {
  color: var(--color-white);
  font-size: 1.75rem;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.foundation-card--expertise a span:last-child {
  color: var(--color-white);
}

.security-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
}

.security-badge {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  border: 1px solid rgb(207 215 220 / 24%);
  border-radius: 999px;
  background: rgb(0 29 58 / 24%);
  padding: 0.45rem 0.7rem 0.45rem 0.45rem;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%);
  backdrop-filter: blur(8px);
}

.security-badge__mark {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: transparent;
}

.security-badge__mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.security-badge > span:last-child {
  display: grid;
  min-width: 0;
  line-height: 1.15;
}

.security-badge strong {
  overflow: hidden;
  color: var(--color-white);
  font-size: clamp(0.68rem, 0.85vw, 0.82rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.security-badge small {
  margin-top: 0.18rem;
  color: rgb(207 215 220 / 72%);
  font-size: 0.62rem;
  font-style: italic;
}

.foundation-card a:hover span:last-child,
.foundation-card a:focus-visible span:last-child {
  transform: translateX(5px);
}

.integration-marquee {
  position: relative;
  z-index: 2;
  overflow: hidden;
  width: calc(100% + clamp(4rem, 6vw, 6.4rem));
  margin: 0.65rem -3.2rem 0;
  padding: 0.35rem 0;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.foundation-card--integrations .foundation-card__copy + .integration-marquee {
  margin-top: auto;
}

.integration-marquee__track {
  display: flex;
  width: max-content;
  animation: integration-marquee 38s linear infinite;
}

.integration-marquee--reverse .integration-marquee__track {
  animation: integration-marquee-reverse 46s linear infinite;
}

.integration-marquee--slow .integration-marquee__track {
  animation-duration: 54s;
}

.integration-marquee__group {
  display: flex;
  gap: 0.85rem;
  padding-right: 0.85rem;
}

.integration-marquee__group span {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-width: max-content;
  border: 1px solid rgb(207 215 220 / 16%);
  border-radius: 6px;
  background: rgb(255 255 255 / 6%);
  color: rgb(255 255 255 / 78%);
  padding: 1rem 1.25rem;
  font-size: 0.96rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
  backdrop-filter: blur(8px);
}

.integration-marquee__group i {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 5px;
  background: rgb(56 131 206 / 20%);
  color: #31d0cd;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.integration-marquee__group img {
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
  border-radius: 5px;
  background: rgb(255 255 255 / 92%);
  object-fit: contain;
  padding: 0.32rem;
}

.integration-marquee__group span:nth-child(3n + 2) i {
  background: rgb(255 204 114 / 14%);
  color: #ffcc72;
}

.integration-marquee__group span:nth-child(3n) i {
  background: rgb(232 86 38 / 14%);
  color: #e85626;
}

@keyframes integration-marquee {
  to {
    transform: translateX(-50%);
  }
}

@keyframes integration-marquee-reverse {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

.foundation-card__icon {
  display: grid;
  width: 120px;
  height: 140px;
  place-items: center;
  margin: 1rem auto 3rem;
}

.foundation-card__icon svg {
  width: 100%;
  overflow: visible;
  fill: rgb(56 131 206 / 16%);
  stroke: #31d0cd;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  filter: drop-shadow(0 18px 28px rgb(0 8 21 / 28%));
}

.expertise-orbit {
  position: relative;
  display: grid;
  width: 145px;
  height: 145px;
  place-items: center;
  margin: 1rem auto 3rem;
  border: 1px solid rgb(0 29 58 / 32%);
  border-radius: 50%;
}

.expertise-orbit::before,
.expertise-orbit::after {
  position: absolute;
  border: 1px solid rgb(0 29 58 / 18%);
  border-radius: 50%;
  content: "";
}

.expertise-orbit::before { inset: 13px; }

.expertise-orbit::after { inset: 30px; }

.expertise-orbit span {
  color: #001d3a;
  font-size: 2rem;
  font-weight: 900;
}

.expertise-orbit i {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e85626;
  box-shadow: 0 0 16px rgb(232 86 38 / 42%);
}

.expertise-orbit i:nth-of-type(1) { top: 14px; left: 32px; }

.expertise-orbit i:nth-of-type(2) { right: 9px; bottom: 44px; }

.expertise-orbit i:nth-of-type(3) { bottom: 5px; left: 48px; }

@media (min-width: 1400px) {
  .hero__content h1 { max-width: 70rem; margin-inline: auto; }
  .hero__content p { max-width: 68rem; }
}

@media (min-width: 1101px) and (max-width: 1399px) {
  .hero__content { width: min(100%, 64rem); }
  .hero__content h1 { max-width: 64rem; margin-inline: auto; }
  .hero__content p { max-width: 61rem; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .hero__content { width: min(100%, 56rem); }
  .hero__content h1 { max-width: 56rem; margin-inline: auto; }
  .hero__content p { max-width: 54rem; }
}

@media (min-width: 601px) and (max-width: 800px) {
  .hero__content { width: min(100%, 44rem); }
  .hero__content h1 { max-width: 42rem; margin-inline: auto; }
  .hero__content p { max-width: 43rem; }
}

.site-footer {
  position: relative;
  width: 100%;
  margin-top: clamp(6rem, 10vw, 11rem);
  overflow: hidden;
  border-top: 1px solid rgb(56 131 206 / 18%);
  background: #000814;
  color: var(--color-white);
  padding: clamp(4.5rem, 8vw, 8rem) var(--page-gutter) 2rem;
}

.site-footer__top {
  position: relative;
  display: grid;
  width: min(100%, 1500px);
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 2.25fr);
  gap: clamp(5rem, 9vw, 10rem);
  margin: 0 auto;
}

.site-footer__brand {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.footer-brand {
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  color: white;
  text-decoration: none;
}

.footer-brand__primary {
  font-size: clamp(2rem, 3.2vw, 3.35rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
}

.site-footer__brand > p {
  max-width: 320px;
  margin: 2.5rem 0;
  color: rgb(207 215 220 / 68%);
  font-size: clamp(0.9rem, 1.1vw, 1.05rem);
  font-weight: 300;
  line-height: 1.65;
}

.site-footer__social {
  display: flex;
  gap: 0.7rem;
}

.site-footer__social a {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgb(207 215 220 / 16%);
  border-radius: 50%;
  background: rgb(255 255 255 / 3%);
  color: rgb(207 215 220 / 74%);
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.site-footer__social svg {
  width: 17px;
  fill: currentcolor;
}

.site-footer__social a:hover,
.site-footer__social a:focus-visible {
  border-color: rgb(49 208 205 / 55%);
  background: rgb(49 208 205 / 8%);
  color: white;
  outline: none;
  transform: translateY(-3px);
}

.site-footer__nav {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: clamp(2.5rem, 4.5vw, 5.5rem);
}

.site-footer__nav > div {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1rem;
}

.site-footer__nav h2 {
  margin: 0 0 1.2rem;
  color: #ffcc72;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.site-footer__nav a {
  color: rgb(207 215 220 / 68%);
  font-size: clamp(0.82rem, 0.95vw, 0.96rem);
  line-height: 1.45;
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
  color: white;
  outline: none;
  transform: translateX(3px);
}

.site-footer__bottom {
  display: flex;
  width: min(100%, 1500px);
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin: clamp(4rem, 7vw, 7rem) auto 0;
  border-top: 1px solid rgb(207 215 220 / 12%);
  color: rgb(207 215 220 / 48%);
  padding-top: 1.6rem;
  font-size: 0.76rem;
}

.site-footer__bottom p { margin: 0; }

.site-footer__bottom div { display: flex; gap: 1.5rem; }

.site-footer__bottom a { color: inherit; text-decoration: none; transition: color 160ms ease; }

.site-footer__bottom a:hover,
.site-footer__bottom a:focus-visible { color: white; outline: none; }

@media (max-width: 1100px) {
  .site-footer__top { grid-template-columns: 1fr; }
  .site-footer__nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .site-header {
    align-items: flex-start;
  }

  .nav-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 4px;
    background: rgb(0 29 58 / 45%);
    cursor: pointer;
  }

  .nav-toggle span {
    display: block;
    width: 20px;
    height: 1.5px;
    background: var(--color-white);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  .primary-nav {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    display: none;
    width: min(440px, calc(100vw - 2rem));
    max-height: calc(100vh - 8rem);
    align-items: stretch;
    overflow-y: auto;
    flex-direction: column;
    gap: 1rem;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 7px;
    background: rgb(0 20 42 / 98%);
    padding: 1rem;
    box-shadow: 0 28px 70px rgb(0 5 14 / 48%);
  }

  .primary-nav.is-open {
    display: flex;
  }

  .primary-nav__list {
    align-items: stretch;
    flex-direction: column;
  }

  .primary-nav__actions {
    width: 100%;
    justify-items: stretch;
    gap: 0.8rem;
  }

  .utility-nav {
    justify-content: center;
  }

  .utility-nav a {
    font-size: 0.7rem;
  }

  .primary-nav__cta {
    justify-content: center;
  }

  .nav-item__trigger,
  .nav-item__link {
    justify-content: space-between;
    width: 100%;
    font-size: 0.95rem;
    padding: 0.85rem;
  }

  .mega-menu {
    position: static;
    display: none;
    visibility: visible;
    width: 100%;
    max-height: none;
    margin-top: 0.4rem;
    grid-template-columns: 1fr;
    opacity: 1;
    padding: 1rem;
    box-shadow: none;
    transform: none;
    pointer-events: auto;
  }

  .nav-item.is-open .mega-menu {
    display: grid;
  }

  .mega-links--capabilities,
  .mega-menu--audience,
  .mega-menu--resources {
    grid-template-columns: 1fr;
  }

  .mega-menu__utility,
  .mega-menu__roles,
  .resource-menu-column + .resource-menu-column {
    border-top: 1px solid rgb(255 255 255 / 10%);
    border-left: 0;
    padding-top: 1rem;
    padding-left: 0;
  }

  .audience-menu-card {
    min-height: 220px;
  }

  .resource-menu-cta {
    min-height: 190px;
  }
}

@media (max-width: 900px) {
  .answer-card--wide,
  .answer-card--medium,
  .answer-card--third {
    grid-column: span 6;
    min-height: 380px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .answer-card:last-child {
    grid-column: 4 / span 6;
  }

  .cta-bar {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 38%);
  }

  .audience-split {
    min-height: 760px;
  }

  .audience-panel {
    padding: 3rem 2rem 7rem;
  }
}

@media (max-width: 600px) {
  .hero {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }

  .brand__mark {
    width: 2rem;
    height: 2.063rem;
  }

  .brand__name {
    font-size: 1.25rem;
  }

  .brand__tagline {
    font-size: 0.675rem;
  }

  .hero__content {
    margin-top: clamp(4rem, 12vh, 7rem);
  }

  .hero__content h1 {
    font-size: clamp(2rem, 10vw, 2.5rem);
    line-height: 1.15;
  }

  .hero__content p {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  .product-showcase {
    grid-template-columns: 1fr;
    width: 100%;
    height: 540px;
    margin: 1.5rem 0 0;
  }

  .product-showcase__nav {
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 16%);
    border-radius: 5px 5px 0 0;
    padding: 0.75rem;
  }

  .product-showcase__stage {
    border-radius: 0 0 5px 5px;
  }

  .scene-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scene-list__item {
    height: 100%;
    padding: 0.65rem 0.5rem 0.65rem 0.75rem;
  }

  .hero__cta {
    width: 100%;
    min-height: 3.25rem;
    margin-top: 30px;
  }

  .proof-section {
    margin-top: 2rem;
    margin-bottom: 5rem;
    padding: 4rem 1.5rem;
  }

  .proof-section h2 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
    line-height: 1.02;
  }

  .proof-section__logos {
    padding-top: 0;
  }

  .proof-section__lower {
    margin-top: 3rem;
  }

  .proof-logos:not(.slick-initialized) {
    grid-template-columns: 1fr;
  }

  .proof-logos:not(.slick-initialized) .proof-logo:nth-child(n + 2) {
    display: none;
  }

  .old-workflow {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-block: 3rem;
  }

  .old-workflow__media {
    max-width: none;
    margin-left: 0;
  }

  .old-workflow h2 {
    width: auto;
  }

  .old-workflow__lead,
  .old-workflow__reveal {
    white-space: normal;
  }

  .answer-section {
    margin-bottom: 6rem;
  }

  .answer-section h2 {
    font-size: clamp(2.5rem, 11vw, 3.5rem);
  }

  .answer-card--wide,
  .answer-card--medium,
  .answer-card--third,
  .answer-card:last-child {
    grid-column: 1 / -1;
    min-height: 360px;
  }

  .cta-bar {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .cta-bar > p {
    padding: 2.25rem 1.5rem;
    white-space: normal;
  }

  .cta-bar > a {
    min-height: 76px;
  }

  .audience-section {
    margin-bottom: 27rem;
  }

  .audience-split {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .audience-panel {
    min-height: 480px;
    padding: 3rem 1.5rem 8rem;
  }

  .testimonial-card {
    right: 1rem;
    left: 1rem;
    padding: 2rem 1.5rem;
    transform: translateY(calc(100% - 32px));
  }

  .testimonial-card blockquote {
    font-size: 1.1rem;
  }

  .testimonial-card__quote {
    align-items: start;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .testimonial-card__logo {
    width: 130px;
  }
}

@media (max-width: 900px) {
  .foundation-section {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .foundation-card {
    min-height: 520px;
  }

  .foundation-card--integrations {
    grid-column: 1 / -1;
    min-height: 620px;
  }

  .intelligence-explorer {
    min-height: 0;
    grid-template-columns: 1fr;
    background-image: none;
  }

  .intelligence-tabs {
    display: grid;
    overflow-x: auto;
    grid-template-columns: repeat(6, minmax(190px, 1fr));
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 16%);
    scrollbar-width: thin;
  }

  .intelligence-tabs button {
    min-height: 76px;
    border-right: 1px solid rgb(255 255 255 / 10%);
    border-bottom: 0;
  }

  .intelligence-tabs button::before {
    top: auto;
    right: 0;
    bottom: -1px;
    width: auto;
    height: 3px;
    transform: scaleX(0.25);
  }

  .intelligence-tabs button.is-active::before {
    transform: scaleX(1);
  }

  .intelligence-stage {
    min-height: 600px;
  }
}

@media (max-width: 600px) {
  .security-badges {
    grid-template-columns: 1fr;
  }

  .security-badge strong {
    font-size: 0.8rem;
  }

  .foundation-section {
    width: calc(100% - 2rem);
    grid-template-columns: 1fr;
  }

  .foundation-card,
  .foundation-card--integrations {
    min-height: 540px;
    grid-column: auto;
  }

  .connection-map {
    height: 250px;
  }

  .intelligence-section {
    width: calc(100% - 2rem);
  }

  .intelligence-section__header {
    text-align: left;
  }

  .intelligence-section__header h2 {
    font-size: clamp(2.35rem, 12vw, 3.2rem);
  }

  .intelligence-stage {
    min-height: 580px;
    padding: 2.25rem 0.5rem 0;
  }

  .intelligence-stage__copy {
    padding: 0 0.75rem;
  }

  .intelligence-stage h3 {
    font-size: 2rem;
  }

  .intelligence-visual__window {
    right: -12%;
    left: 2%;
  }

  .intelligence-visual__metrics {
    gap: 0.4rem;
    padding: 0.75rem;
  }

  .intelligence-visual__float {
    right: 3%;
    min-width: 150px;
  }
}

@media (max-width: 800px) {
  .site-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 3rem;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .site-footer {
    padding-top: 4rem;
  }

  .site-footer__nav {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom div {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.65rem;
  }
}

@media (max-width: 600px) {
  .product-showcase--platform {
    width: 94%;
    height: 650px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 480px;
    overflow: hidden;
  }

  .product-showcase--platform .product-showcase__nav {
    padding: 0.75rem;
  }

  .product-showcase--platform .scene-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.2rem;
  }

  .product-showcase--platform .scene-list__item {
    min-height: 0;
    padding: 0.65rem 0.5rem 0.65rem 1.8rem;
    text-align: left;
  }

  .product-showcase--platform .scene-list__item::before {
    right: auto;
    left: 0;
    width: 1.3rem;
  }

  .product-showcase--platform .product-showcase__stage {
    overflow: hidden;
  }

  .product-showcase--platform .product-screen {
    inset: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-loader,
  .page-loader__track span,
  .intelligence-tabs button.is-active > span::before,
  .integration-marquee__track {
    animation: none;
    transition-duration: 0.01ms;
  }

  .hero__video {
    display: none;
  }

  .product-screen--request,
  .country-menu,
  .selected-countries,
  .demo-cursor,
  .bar-chart span {
    animation: none;
  }

  .product-screen--request,
  .country-menu,
  .selected-countries,
  .demo-cursor {
    display: none;
  }

  .forecast-animation {
    animation: none;
    opacity: 1;
  }

  .whatif-animation {
    display: none;
    animation: none;
  }

  .scene-list__item--forecast,
  .scene-list__item--forecast::before,
  .scene-list__item--whatif,
  .scene-list__item--whatif::before {
    animation: none;
  }

  .scene-list__item--forecast {
    background: rgb(255 255 255 / 7%);
    color: white;
  }

  .scene-list__item--forecast::before {
    background: var(--color-orange);
  }

  .product-screen--forecast {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .bar-chart span {
    transform: scaleY(1);
  }

  .country-share__donut {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .morph-chart--bars,
  .morph-chart--donuts {
    display: none;
    animation: none;
  }

  .morph-chart--line {
    animation: none;
    opacity: 0.72;
    transform: none;
  }

  .hero__cta {
    transition: none;
  }
}
}

@scope (.fees-reference) {
:scope .mega-links a[aria-current="page"] {
  border-color: rgb(49 208 205 / 34%);
  background: rgb(49 208 205 / 8%);
}

:scope .hero {
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 100svh;
  padding-bottom: clamp(3rem, 7vh, 5.5rem);
  background: #001d3a;
  overflow: visible;
}

:scope .site-header {
  grid-column: 1 / -1;
  grid-row: 1;
}

:scope .hero__ambient {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: clamp(-280px, -16vw, -190px);
  left: 0;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgb(0 29 58 / 98%), rgb(0 29 58 / 84%) 52%, rgb(0 22 46 / 95%)),
    #001d3a;
  pointer-events: none;
  filter: blur(48px);
  contain: layout style paint;
  transform: translateZ(0);
  will-change: transform;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
}

:scope .hero__ambient::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgb(0 29 58 / 14%), transparent 32%, rgb(0 18 38 / 12%));
  content: "";
}

:scope .hero__glow {
  position: absolute;
  display: block;
  top: -18%;
  left: -15%;
  width: 130%;
  height: 136%;
  border-radius: 50%;
  mix-blend-mode: screen;
  opacity: 0.2;
  will-change: transform;
}

:scope .hero__glow--one {
  background: radial-gradient(circle at center, rgb(42 137 230 / 90%) 0%, rgb(26 91 190 / 38%) 36%, transparent 62%);
  transform-origin: left center;
  animation: fees-costs-glow-vertical 38s ease-in-out infinite;
  opacity: 0.44;
}

:scope .hero__glow--two {
  background: radial-gradient(circle at center, rgb(125 89 214 / 78%) 0%, rgb(83 57 169 / 34%) 38%, transparent 62%);
  transform-origin: calc(50% - 460px) calc(50% + 90px);
  animation: fees-costs-glow-circle 31s linear -9s infinite;
  opacity: 0.36;
}

:scope .hero__glow--three {
  background: radial-gradient(circle at center, rgb(125 89 214 / 76%) 0%, rgb(83 57 169 / 31%) 37%, transparent 63%);
  transform-origin: calc(50% - 280px) center;
  animation: fees-costs-glow-horizontal 44s ease-in-out -15s infinite;
  opacity: 0.34;
}

:scope .hero__glow--dark {
  top: -24%;
  left: -20%;
  width: 142%;
  height: 148%;
  background: radial-gradient(circle at center, rgb(0 7 20 / 88%) 0%, rgb(0 13 29 / 58%) 34%, transparent 63%);
  mix-blend-mode: multiply;
  opacity: 0.48;
  transform-origin: calc(50% + 360px) calc(50% - 120px);
  animation: fees-costs-glow-dark 47s ease-in-out -18s infinite;
}

@keyframes fees-costs-glow-circle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes fees-costs-glow-vertical {
  0%, 100% { transform: translate3d(-4%, -26%, 0) scale(1); }
  50% { transform: translate3d(5%, 25%, 0) scale(1.08); }
}

@keyframes fees-costs-glow-horizontal {
  0%, 100% { transform: translate3d(-27%, -10%, 0) scale(1.06); }
  50% { transform: translate3d(27%, 12%, 0) scale(0.96); }
}

@keyframes fees-costs-glow-dark {
  0%, 100% { transform: translate3d(18%, -13%, 0) scale(0.96); }
  50% { transform: translate3d(-16%, 16%, 0) scale(1.12); }
}

:scope .hero__content {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  width: auto;
  margin: clamp(2.5rem, 6vh, 5rem) 0;
  padding-right: clamp(0.5rem, 1.5vw, 1.75rem);
  text-align: left;
}

:scope .hero-story {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.12em;
  margin-bottom: clamp(2rem, 2.5vw, 2.75rem);
  color: rgb(255 255 255 / 25%);
  font-size: clamp(0.72rem, 0.82vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:scope .hero-story button {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  transition: color 0.55s ease, opacity 0.55s ease;
}

:scope .hero-story button:hover,
:scope .hero-story button:focus-visible {
  color: rgb(255 255 255 / 65%);
}

:scope .hero-story button:focus-visible {
  outline: 1px solid #8db2e8;
  outline-offset: 4px;
}

:scope .hero-story button.is-active {
  color: #fff;
}

:scope .hero__content h1 {
  max-width: none;
  font-size: clamp(3.1rem, 5.1vw, 6.35rem);
  letter-spacing: -0.015em;
  line-height: 0.98;
}

:scope .hero__content h1 > span:nth-child(2) {
  margin-top: 0.22em;
  color: #8db2e8;
}

:scope .hero__content h1 > span {
  transition: opacity 0.28s ease, transform 0.48s ease;
}

:scope .hero__content h1.is-changing > span {
  opacity: 0;
  transform: translateY(12px);
}

:scope .hero__content p {
  max-width: none;
  margin: 1.65rem 0 0;
  color: rgb(255 255 255 / 68%);
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  line-height: 1.7;
  transition: opacity 0.28s ease, transform 0.48s ease;
}

:scope .hero__content p.is-changing {
  opacity: 0;
  transform: translateY(8px);
}

:scope .hero__primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.25rem;
  min-width: 15.5rem;
  margin-top: 2rem;
  border-radius: 4px;
  background: #fff;
  color: #001d3a;
  padding: 1rem 1.15rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
}

:scope .hero__primary-action:hover {
  background: #eef7fa;
  transform: translateY(-2px);
}

:scope .hero__primary-action:focus-visible {
  outline: 3px solid #31d0cd;
  outline-offset: 4px;
}

:scope .product-showcase--platform {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: start;
  display: block;
  width: min(960px, 76vw);
  height: clamp(480px, 62vh, 620px);
  margin: clamp(2rem, 5vh, 4rem) 0 0;
  transform: translateX(16%);
}

:scope .product-showcase--platform .product-showcase__nav {
  display: none;
}

:scope .product-showcase--platform .product-showcase__stage {
  width: 100%;
  height: 100%;
}

:scope .product-showcase--platform .product-screen {
  inset: 0;
}

:scope .trust-screen {
  background: #eef4f7;
}

:scope .trust-dashboard {
  padding: clamp(1.4rem, 2vw, 2.2rem);
  color: #001d3a;
}

:scope .trust-dashboard > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #cad7df;
}

:scope .trust-dashboard h3 {
  margin: 0.4rem 0 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

:scope .trust-dashboard > header > strong {
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
  text-align: right;
}

:scope .trust-dashboard > header > strong small {
  display: block;
  margin-top: 0.25rem;
  color: #6d7e8b;
  font-size: 0.55rem;
  font-weight: 500;
  text-transform: uppercase;
}

:scope .trust-dashboard__body {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

:scope .trust-costs {
  display: grid;
  gap: 0.8rem;
}

:scope .trust-costs > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 72%);
  font-size: 0.7rem;
}

:scope .trust-costs em {
  color: #526575;
  font-style: normal;
}

:scope .trust-costs i {
  grid-column: 1 / -1;
  width: var(--w);
  height: 3px;
  background: linear-gradient(90deg, #12509b, #31d0cd);
  transform-origin: left;
  animation: trust-bar-in 1.1s ease both;
}
}

@scope (.head-of-ip-reference) {
.scenario-page .decision-loop {
  position: absolute;
  z-index: 1;
  top: 35px;
  right: -3vw;
  width: 51vw;
  height: clamp(480px, 48vw, 690px);
  overflow: visible;
  pointer-events: none;
}

.scenario-page .decision-loop svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.scenario-page .decision-loop__path {
  fill: none;
  stroke: url(#decision-line-gradient);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#decision-line-glow);
  opacity: 0;
}

.scenario-page .decision-loop__node {
  fill: #001d3a;
  stroke: #8db2e8;
  stroke-width: 3;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-loop__pill,
.scenario-page .decision-loop__moving-pill {
  opacity: 0;
}

.scenario-page .decision-loop__pill rect,
.scenario-page .decision-loop__moving-pill rect {
  fill: #123b70;
  stroke: rgb(141 178 232 / 16%);
}

.scenario-page .decision-loop__pill text,
.scenario-page .decision-loop__moving-pill text {
  fill: rgb(255 255 255 / 90%);
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 650;
}

.scenario-page .decision-orbit__network {
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__ring {
  fill: none;
  stroke: url(#decision-line-gradient);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: url(#decision-line-glow);
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__seed {
  fill: #31d0cd;
  stroke: rgb(255 255 255 / 72%);
  stroke-width: 2;
  filter: url(#decision-line-glow);
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__scenario {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__scenario circle {
  fill: #001d3a;
  stroke: #31d0cd;
  stroke-width: 2.5;
}

.scenario-page .decision-orbit__scenario rect {
  fill: rgb(18 59 112 / 88%);
  stroke: rgb(141 178 232 / 16%);
}

.scenario-page .decision-orbit__scenario text {
  fill: rgb(255 255 255 / 90%);
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 650;
}

.scenario-page .decision-orbit__label {
  transform-origin: 0 0;
}

@media (max-width: 800px) {
  .scenario-page .decision-loop {
    position: relative;
    top: auto;
    right: auto;
    width: 820px;
    height: 500px;
    margin-top: 2.5rem;
    transform: translateX(-270px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .scenario-page .decision-loop__path {
    stroke-dashoffset: 0;
    opacity: 0.8;
  }

  .scenario-page .decision-loop__node,
  .scenario-page .decision-loop__pill {
    opacity: 1;
  }

  .scenario-page .decision-orbit__ring,
  .scenario-page .decision-orbit__scenario {
    opacity: 1;
  }
}

.scenario-page .forecast-story__intro {
  min-height: clamp(900px, 78vw, 1120px);
  overflow: hidden;
}

.scenario-page .scenario-branch {
  position: relative;
  z-index: 2;
  width: calc(100vw - (2 * var(--page-gutter)));
  height: clamp(360px, 34vw, 520px);
  margin-top: clamp(3rem, 5vw, 5rem);
}

.scenario-page .scenario-branch__svg {
  position: absolute;
  top: 0;
  right: calc(-1 * var(--page-gutter) - 5vw);
  width: calc(100% + var(--page-gutter) + 10vw);
  height: 100%;
  overflow: visible;
}

.scenario-page .scenario-branch__ghost,
.scenario-page .scenario-branch__path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-page .scenario-branch__ghost {
  stroke: rgb(141 178 232 / 11%);
  stroke-width: 2;
}

.scenario-page .scenario-branch__path {
  stroke: url(#scenario-flow-gradient);
  stroke-width: 4;
  stroke-dasharray: 1;
  stroke-dashoffset: -1;
  filter: url(#scenario-flow-glow);
  opacity: 0;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--trunk {
  animation: scenario-draw-trunk 1.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--top,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--middle,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--bottom {
  animation: scenario-draw-branch 1.45s cubic-bezier(0.22, 1, 0.36, 1) 1.45s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--middle {
  animation-delay: 1.62s;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--bottom {
  animation-delay: 1.79s;
}

@keyframes scenario-draw-trunk {
  0% { stroke-dashoffset: -1; opacity: 0; }
  8% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes scenario-draw-branch {
  0% { stroke-dashoffset: -1; opacity: 0; }
  8% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.82; }
}

.scenario-page .scenario-branch__junction,
.scenario-page .scenario-branch__endpoint {
  fill: #001d3a;
  stroke: #31d0cd;
  stroke-width: 3;
  opacity: 0;
  transform: scale(0.4);
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction {
  animation: scenario-point-in 500ms ease 1.35s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__endpoint {
  animation: scenario-point-in 520ms ease 2.55s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__endpoint--middle {
  animation-delay: 2.75s;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__endpoint--bottom {
  animation-delay: 2.95s;
}

@keyframes scenario-point-in {
  0% { opacity: 0; transform: scale(0.4); }
  65% { opacity: 1; transform: scale(1.35); }
  100% { opacity: 1; transform: scale(1); }
}

.scenario-page .scenario-branch__origin,
.scenario-page .scenario-branch__outcome {
  position: absolute;
  color: #fff;
  opacity: 0;
  transform: translateX(18px);
}

.scenario-page .scenario-branch__origin {
  top: 47%;
  right: 0;
  text-align: right;
}

.scenario-page .scenario-branch__outcome {
  left: 1.5%;
  width: 220px;
  transform: translateX(-14px);
}

.scenario-page .scenario-branch__outcome--top { top: 4%; }

.scenario-page .scenario-branch__outcome--middle { top: 43%; left: -4%; }

.scenario-page .scenario-branch__outcome--bottom { bottom: 1%; }

.scenario-page .scenario-branch__origin small,
.scenario-page .scenario-branch__outcome small,
.scenario-page .scenario-branch__outcome span {
  display: block;
  color: rgb(255 255 255 / 42%);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.scenario-page .scenario-branch__origin strong,
.scenario-page .scenario-branch__outcome strong {
  display: block;
  margin-top: 0.35rem;
  font-size: clamp(0.95rem, 1.3vw, 1.3rem);
}

.scenario-page .scenario-branch__outcome span {
  margin-top: 0.35rem;
  color: #31d0cd;
  letter-spacing: 0.02em;
  text-transform: none;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__origin {
  animation: scenario-copy-in 650ms ease 250ms forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--top {
  animation: scenario-copy-in 650ms ease 2.55s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--middle {
  animation: scenario-copy-in 650ms ease 2.75s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--bottom {
  animation: scenario-copy-in 650ms ease 2.95s forwards;
}

@keyframes scenario-copy-in {
  to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 800px) {
  .scenario-page .forecast-story__intro {
    min-height: 860px;
  }

  .scenario-page .scenario-branch {
    width: 900px;
    height: 360px;
    transform: translateX(-260px);
  }

  .scenario-page .scenario-branch__svg {
    right: -90px;
  }

  .scenario-page .scenario-branch__origin {
    right: 60px;
  }
}

.scenario-page .scenario-branch__moving-lines {
  transform-origin: center;
  transition: transform 1.15s cubic-bezier(0.45, 0, 0.2, 1), opacity 700ms ease;
}

.scenario-page .scenario-branch__outcome--one { top: 7%; right: auto; left: 2%; }

.scenario-page .scenario-branch__outcome--two { top: 42%; right: auto; left: 0; }

.scenario-page .scenario-branch__outcome--three { top: auto; right: auto; bottom: 4%; left: 2%; }

.scenario-page .scenario-branch.is-entering .scenario-branch__path--route {
  animation: scenario-route-flow 1.4s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

.scenario-page .scenario-branch.is-entering .scenario-branch__origin,
.scenario-page .scenario-branch.is-branching .scenario-branch__origin,
.scenario-page .scenario-branch.is-selecting .scenario-branch__origin {
  opacity: 1;
  transform: none;
  transition: opacity 500ms ease, transform 500ms ease;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__path--route {
  stroke-dashoffset: 0;
  opacity: 0.9;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__path--one,
.scenario-page .scenario-branch.is-branching .scenario-branch__path--two,
.scenario-page .scenario-branch.is-branching .scenario-branch__path--three {
  animation: scenario-route-fork 1.25s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__path--two { animation-delay: 100ms; }

.scenario-page .scenario-branch.is-branching .scenario-branch__path--three { animation-delay: 200ms; }

.scenario-page .scenario-branch.is-branching .scenario-branch__junction,
.scenario-page .scenario-branch.is-selecting .scenario-branch__junction,
.scenario-page .scenario-branch.is-advancing .scenario-branch__junction {
  animation: scenario-point-in 440ms ease forwards;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__outcome {
  animation: scenario-pop-up 520ms cubic-bezier(0.16, 1, 0.3, 1) 550ms forwards;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__outcome--two { animation-delay: 700ms; }

.scenario-page .scenario-branch.is-branching .scenario-branch__outcome--three { animation-delay: 850ms; }

.scenario-page .scenario-branch.is-selecting .scenario-branch__path,
.scenario-page .scenario-branch.is-advancing .scenario-branch__path {
  stroke-dashoffset: 0;
  opacity: 0.9;
}

.scenario-page .scenario-branch.is-selecting .scenario-branch__outcome {
  opacity: 1;
  transform: none;
  transition: opacity 650ms ease, transform 650ms ease;
}

.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__path--two,
.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__outcome--two,
.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__outcome--three,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__outcome--three,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__path--two,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__outcome--two {
  opacity: 0.04;
}

.scenario-page .scenario-branch.is-advancing.is-choice-0 .scenario-branch__path--two,
.scenario-page .scenario-branch.is-advancing.is-choice-0 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-advancing.is-choice-1 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-advancing.is-choice-1 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-advancing.is-choice-2 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-advancing.is-choice-2 .scenario-branch__path--two {
  opacity: 0;
}

.scenario-page .scenario-branch.is-advancing .scenario-branch__moving-lines {
  opacity: 0;
  transform: translateX(310px);
}

.scenario-page .scenario-branch.is-advancing .scenario-branch__outcome {
  opacity: 0;
  transform: translateX(190px);
  transition: opacity 750ms ease, transform 1.15s cubic-bezier(0.45, 0, 0.2, 1);
}

.scenario-page .scenario-branch {
  top: 40px;
  right: -2vw;
  width: 48vw;
  height: clamp(430px, 40vw, 590px);
}

.scenario-page .scenario-branch__svg {
  right: -7vw;
  width: calc(100% + 9vw);
}

.scenario-page .scenario-branch__ghost,
.scenario-page .scenario-branch__origin {
  display: none;
}

.scenario-page .scenario-branch__path {
  stroke-width: 3;
}

.scenario-page .scenario-branch__endpoint {
  fill: #001d3a;
  stroke: #8db2e8;
  stroke-width: 3;
  opacity: 0;
  transform: scale(0.5);
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__endpoint,
.scenario-page .scenario-branch.is-selecting .scenario-branch__endpoint {
  animation: scenario-point-in 420ms ease 700ms forwards;
}

.scenario-page .scenario-branch__outcome {
  left: 1.5%;
  width: clamp(150px, 13vw, 205px);
  min-height: 46px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  background: #123b70;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%), 0 10px 28px rgb(0 5 14 / 18%);
}

.scenario-page .scenario-branch__outcome--one { top: 17%; }

.scenario-page .scenario-branch__outcome--two { top: 43%; }

.scenario-page .scenario-branch__outcome--three { top: 69%; bottom: auto; }

.scenario-page .scenario-branch__outcome small,
.scenario-page .scenario-branch__outcome span {
  display: none;
}

.scenario-page .scenario-branch__outcome strong {
  margin: 0;
  overflow: hidden;
  color: rgb(255 255 255 / 88%);
  font-size: clamp(0.68rem, 0.85vw, 0.84rem);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-page .scenario-branch.is-selecting .scenario-branch__outcome {
  transition: opacity 700ms ease, filter 700ms ease, transform 700ms ease;
}

.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__outcome--two,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__outcome--three {
  opacity: 1;
  filter: brightness(1.22);
  transform: scale(1.03);
}

.scenario-page .scenario-branch.is-advancing .scenario-branch__moving-lines {
  opacity: 0.12;
  transform: none;
}

.scenario-page .scenario-branch.is-advancing.is-choice-0 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-advancing.is-choice-1 .scenario-branch__outcome--two,
.scenario-page .scenario-branch.is-advancing.is-choice-2 .scenario-branch__outcome--three {
  opacity: 0;
  filter: brightness(1.2);
  transform: translateX(480px) scale(1.02);
  transition: opacity 300ms ease 850ms, transform 1.25s cubic-bezier(0.45, 0, 0.2, 1);
}

@media (max-width: 800px) {
  .scenario-page .scenario-branch {
    top: auto;
    right: auto;
    width: 760px;
    height: 430px;
    transform: translateX(-230px);
  }

  .scenario-page .scenario-branch__outcome {
    width: 170px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scenario-page .scenario-branch__path {
    stroke-dashoffset: 0;
    opacity: 0.82;
  }

  .scenario-page .scenario-branch__junction,
  .scenario-page .scenario-branch__endpoint,
  .scenario-page .scenario-branch__origin,
  .scenario-page .scenario-branch__outcome {
    opacity: 1;
    transform: none;
  }
}

.scenario-page .forecast-story__intro {
  min-height: clamp(680px, 55vw, 820px);
}

.scenario-page .forecast-story__intro h2 {
  width: 48vw;
  max-width: 48vw;
}

.scenario-page .forecast-story__intro > p:last-of-type {
  width: 43vw;
  max-width: 43vw;
}

.scenario-page .scenario-branch {
  position: absolute;
  z-index: 1;
  top: 10px;
  right: 0;
  width: 49vw;
  height: clamp(500px, 48vw, 700px);
  margin: 0;
  pointer-events: none;
}

.scenario-page .scenario-branch__svg {
  top: 0;
  right: -9vw;
  width: calc(100% + 12vw);
  height: 100%;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--route {
  animation: scenario-route-flow 5.6s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--one,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--two,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--three {
  animation: scenario-route-fork 1.15s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--one { animation-delay: 1.55s; }

.scenario-page .scenario-branch.is-playing .scenario-branch__path--two { animation-delay: 2.9s; }

.scenario-page .scenario-branch.is-playing .scenario-branch__path--three { animation-delay: 4.35s; }

@keyframes scenario-route-flow {
  0% { stroke-dashoffset: -1; opacity: 0; }
  3% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.9; }
}

@keyframes scenario-route-fork {
  0% { stroke-dashoffset: -1; opacity: 0; }
  10% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.82; }
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction--one {
  animation: scenario-point-in 480ms ease 1.45s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction--two {
  animation: scenario-point-in 480ms ease 2.8s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction--three {
  animation: scenario-point-in 480ms ease 4.25s forwards;
}

.scenario-page .scenario-branch__origin {
  top: 46%;
  right: 0;
}

.scenario-page .scenario-branch__outcome {
  left: auto;
  width: 185px;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 5px;
  background: rgb(0 18 38 / 76%);
  box-shadow: 0 12px 34px rgb(0 5 14 / 24%);
  backdrop-filter: blur(8px);
  transform: translateY(10px);
}

.scenario-page .scenario-branch__outcome--one {
  top: 8%;
  right: 27%;
}

.scenario-page .scenario-branch__outcome--two {
  right: 17%;
  bottom: 2%;
}

.scenario-page .scenario-branch__outcome--three {
  top: 31%;
  left: 9%;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--one {
  animation: scenario-pop-up 560ms cubic-bezier(0.16, 1, 0.3, 1) 2.1s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--two {
  animation: scenario-pop-up 560ms cubic-bezier(0.16, 1, 0.3, 1) 3.45s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--three {
  animation: scenario-pop-up 560ms cubic-bezier(0.16, 1, 0.3, 1) 4.9s forwards;
}

@keyframes scenario-pop-up {
  0% { opacity: 0; transform: translateY(10px) scale(0.96); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 800px) {
  .scenario-page .forecast-story__intro {
    min-height: 1050px;
  }

  .scenario-page .forecast-story__intro h2,
  .scenario-page .forecast-story__intro > p:last-of-type {
    width: 100%;
    max-width: 100%;
  }

  .scenario-page .scenario-branch {
    position: relative;
    top: auto;
    right: auto;
    width: 780px;
    height: 460px;
    margin-top: 3rem;
    transform: translateX(-245px);
  }
}

.forecasting-page .mega-links a[aria-current="page"] {
  border-color: rgb(49 208 205 / 34%);
  background: rgb(49 208 205 / 8%);
}

.forecasting-page .hero {
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 100svh;
  padding-bottom: clamp(3rem, 7vh, 5.5rem);
  background: #001d3a;
  overflow: visible;
}

.forecasting-page .site-header {
  grid-column: 1 / -1;
  grid-row: 1;
}

.forecasting-page .hero__ambient {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: clamp(-280px, -16vw, -190px);
  left: 0;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgb(0 29 58 / 98%), rgb(0 29 58 / 84%) 52%, rgb(0 22 46 / 95%)),
    #001d3a;
  pointer-events: none;
  filter: blur(48px);
  contain: layout style paint;
  transform: translateZ(0);
  will-change: transform;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
}

.forecasting-page .hero__ambient::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgb(0 29 58 / 14%), transparent 32%, rgb(0 18 38 / 12%));
  content: "";
}

.forecasting-page .hero__glow {
  position: absolute;
  display: block;
  top: -18%;
  left: -15%;
  width: 130%;
  height: 136%;
  border-radius: 50%;
  mix-blend-mode: screen;
  opacity: 0.2;
  will-change: transform;
}

.forecasting-page .hero__glow--one {
  background: radial-gradient(circle at center, rgb(42 137 230 / 90%) 0%, rgb(26 91 190 / 38%) 36%, transparent 62%);
  transform-origin: left center;
  animation: forecasting-glow-vertical 38s ease-in-out infinite;
  opacity: 0.44;
}

.forecasting-page .hero__glow--two {
  background: radial-gradient(circle at center, rgb(125 89 214 / 78%) 0%, rgb(83 57 169 / 34%) 38%, transparent 62%);
  transform-origin: calc(50% - 460px) calc(50% + 90px);
  animation: forecasting-glow-circle 31s linear -9s infinite;
  opacity: 0.36;
}

.forecasting-page .hero__glow--three {
  background: radial-gradient(circle at center, rgb(125 89 214 / 76%) 0%, rgb(83 57 169 / 31%) 37%, transparent 63%);
  transform-origin: calc(50% - 280px) center;
  animation: forecasting-glow-horizontal 44s ease-in-out -15s infinite;
  opacity: 0.34;
}

.forecasting-page .hero__glow--dark {
  top: -24%;
  left: -20%;
  width: 142%;
  height: 148%;
  background: radial-gradient(circle at center, rgb(0 7 20 / 88%) 0%, rgb(0 13 29 / 58%) 34%, transparent 63%);
  mix-blend-mode: multiply;
  opacity: 0.48;
  transform-origin: calc(50% + 360px) calc(50% - 120px);
  animation: forecasting-glow-dark 47s ease-in-out -18s infinite;
}

@keyframes forecasting-glow-circle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes forecasting-glow-vertical {
  0%, 100% { transform: translate3d(-4%, -26%, 0) scale(1); }
  50% { transform: translate3d(5%, 25%, 0) scale(1.08); }
}

@keyframes forecasting-glow-horizontal {
  0%, 100% { transform: translate3d(-27%, -10%, 0) scale(1.06); }
  50% { transform: translate3d(27%, 12%, 0) scale(0.96); }
}

@keyframes forecasting-glow-dark {
  0%, 100% { transform: translate3d(18%, -13%, 0) scale(0.96); }
  50% { transform: translate3d(-16%, 16%, 0) scale(1.12); }
}

.forecasting-page .hero__content {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  width: auto;
  margin: clamp(2.5rem, 6vh, 5rem) 0;
  padding-right: clamp(0.5rem, 1.5vw, 1.75rem);
  text-align: left;
}

.forecasting-page .hero-story {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.12em;
  margin-bottom: clamp(2rem, 2.5vw, 2.75rem);
  color: rgb(255 255 255 / 25%);
  font-size: clamp(0.72rem, 0.82vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.forecasting-page .hero-story button {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  transition: color 0.55s ease, opacity 0.55s ease;
}

.forecasting-page .hero-story button:hover,
.forecasting-page .hero-story button:focus-visible {
  color: rgb(255 255 255 / 65%);
}

.forecasting-page .hero-story button:focus-visible {
  outline: 1px solid #8db2e8;
  outline-offset: 4px;
}

.forecasting-page .hero-story button.is-active {
  color: #fff;
}

.forecasting-page .hero__content h1 {
  max-width: none;
  font-size: clamp(3.1rem, 5.1vw, 6.35rem);
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.forecasting-page .hero__content h1 > span:first-child {
  white-space: nowrap;
}

.forecasting-page .hero__content h1 > span:nth-child(2) {
  margin-top: 0.22em;
  color: #8db2e8;
}

.forecasting-page .hero__content h1 > span {
  transition: opacity 0.28s ease, transform 0.48s ease;
}

.forecasting-page .hero__content h1.is-changing > span {
  opacity: 0;
  transform: translateY(12px);
}

.forecasting-page .hero__content p {
  max-width: none;
  margin: 1.65rem 0 0;
  color: rgb(255 255 255 / 68%);
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  line-height: 1.7;
}

.forecasting-page .hero__primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.25rem;
  min-width: 15.5rem;
  margin-top: 2rem;
  border-radius: 4px;
  background: #fff;
  color: #001d3a;
  padding: 1rem 1.15rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
}

.forecasting-page .hero__primary-action:hover {
  background: #eef7fa;
  transform: translateY(-2px);
}

.forecasting-page .hero__primary-action:focus-visible {
  outline: 3px solid #31d0cd;
  outline-offset: 4px;
}

.forecasting-page .product-showcase--platform {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: start;
  display: block;
  width: min(960px, 76vw);
  height: clamp(480px, 62vh, 620px);
  margin: clamp(2rem, 5vh, 4rem) 0 0;
  transform: translateX(16%);
}

.forecasting-page .product-showcase--platform .product-showcase__nav {
  display: none;
}

.forecasting-page .product-showcase--platform .product-showcase__stage {
  width: 100%;
  height: 100%;
}

.forecasting-page .product-showcase--platform .product-screen {
  inset: 0;
}

.forecasting-page .trust-screen {
  background: #eef4f7;
}

.forecasting-page .trust-dashboard {
  padding: clamp(1.4rem, 2vw, 2.2rem);
  color: #001d3a;
}

.forecasting-page .trust-dashboard > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #cad7df;
}

.forecasting-page .trust-dashboard h3 {
  margin: 0.4rem 0 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.forecasting-page .trust-dashboard > header > strong {
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
  text-align: right;
}

.forecasting-page .trust-dashboard > header > strong small {
  display: block;
  margin-top: 0.25rem;
  color: #6d7e8b;
  font-size: 0.55rem;
  font-weight: 500;
  text-transform: uppercase;
}

.forecasting-page .trust-dashboard__body {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.forecasting-page .trust-costs {
  display: grid;
  gap: 0.8rem;
}

.forecasting-page .trust-costs > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 72%);
  font-size: 0.7rem;
}

.forecasting-page .trust-costs em {
  color: #526575;
  font-style: normal;
}

.forecasting-page .trust-costs i {
  grid-column: 1 / -1;
  width: var(--w);
  height: 3px;
  background: linear-gradient(90deg, #12509b, #31d0cd);
  transform-origin: left;
  animation: trust-bar-in 1.1s ease both;
}
}

@scope (.fees-reference, .head-of-ip-reference) {
@keyframes trust-bar-in {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
}

@scope (.fees-reference) {
:scope .trust-sources {
  padding: 1.1rem;
  border: 1px solid rgb(18 80 155 / 18%);
  background: rgb(18 80 155 / 6%);
}

:scope .trust-sources > small {
  color: #6b7d8b;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

:scope .trust-sources p {
  display: flex;
  gap: 0.65rem;
  margin: 1rem 0 0;
}

:scope .trust-sources p > i {
  display: grid;
  flex: 0 0 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgb(49 208 205 / 18%);
  color: #087c7b;
  font-style: normal;
}

:scope .trust-sources b,
:scope .trust-sources em {
  display: block;
  font-size: 0.64rem;
}

:scope .trust-sources em {
  margin-top: 0.22rem;
  color: #71828e;
  font-style: normal;
  font-size: 0.55rem;
}

:scope .hero > .hero__cta {
  display: none;
}

:scope .proof-section {
  position: relative;
  z-index: 2;
}

:scope .proof-section__description {
  max-width: 76rem;
}

.reporting-analytics-page .proof-section {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(420px, 2fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
  min-height: auto;
  padding: clamp(4rem, 7vw, 8rem) var(--page-gutter);
}

.reporting-analytics-page .proof-section__copy,
.reporting-analytics-page .proof-section__lower {
  display: block;
}

.reporting-analytics-page .proof-section__copy h2 {
  margin: 0;
}

.reporting-analytics-page .proof-section__description {
  max-width: 34rem;
  margin: clamp(2rem, 3vw, 3rem) 0 0;
}

.reporting-analytics-page .insight-visualizer {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: clamp(430px, 40vw, 590px);
  overflow: hidden;
}

.reporting-analytics-page .insight-view {
  position: absolute;
  inset: 0 0 2rem;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 1.5rem;
  visibility: hidden;
  opacity: 0;
  padding: clamp(1rem, 2vw, 2rem) 0;
  transform: translateY(12px);
  transition: opacity 420ms ease, transform 520ms ease, visibility 0s 520ms;
}

.reporting-analytics-page .insight-view.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

.reporting-analytics-page .insight-view > p {
  max-width: 25ch;
  margin: 0;
  color: #001d3a;
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

.reporting-analytics-page .insight-chart {
  align-self: stretch;
  min-height: 250px;
  opacity: 0;
  transform: translateY(10px);
}

.reporting-analytics-page .insight-view.is-active .insight-chart {
  animation: reporting-chart-in 650ms 650ms ease both;
}

.reporting-analytics-page .insight-chart--bars {
  display: flex;
  align-items: end;
  justify-content: space-around;
  gap: 7%;
  padding: 1rem 4% 2rem;
  border-bottom: 1px solid #bfcdd6;
  background: repeating-linear-gradient(to bottom, transparent 0 24%, rgb(18 80 155 / 7%) 25%);
}

.reporting-analytics-page .insight-chart--bars span {
  position: relative;
  width: 11%;
  height: var(--h);
  border-radius: 5px 5px 0 0;
  background: linear-gradient(#31d0cd, #12509b);
  transform: scaleY(0);
  transform-origin: bottom;
}

.reporting-analytics-page .insight-view.is-active .insight-chart--bars span {
  animation: reporting-bar-grow 700ms calc(0.75s + var(--bar-delay, 0s)) ease-out forwards;
}

.reporting-analytics-page .insight-chart--bars span:nth-child(2) { --bar-delay: 0.08s; }

.reporting-analytics-page .insight-chart--bars span:nth-child(3) { --bar-delay: 0.16s; }

.reporting-analytics-page .insight-chart--bars span:nth-child(4) { --bar-delay: 0.24s; }

.reporting-analytics-page .insight-chart--bars span:nth-child(5) { --bar-delay: 0.32s; }

.reporting-analytics-page .insight-chart--bars i {
  position: absolute;
  top: calc(100% + 0.7rem);
  left: 50%;
  color: #71818c;
  font-size: 0.6rem;
  font-style: normal;
  transform: translateX(-50%);
}

.reporting-analytics-page .insight-chart--line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: end;
  color: #748590;
  font-size: 0.6rem;
  text-align: center;
}

.reporting-analytics-page .insight-chart--line svg {
  position: absolute;
  inset: 0 0 1.4rem;
  width: 100%;
  height: calc(100% - 1.4rem);
}

.reporting-analytics-page .line-grid { fill: none; stroke: #d8e1e6; stroke-width: 1; }

.reporting-analytics-page .line-path { fill: none; stroke: #31aeb1; stroke-width: 7; stroke-linecap: round; stroke-dasharray: 620; stroke-dashoffset: 620; }

.reporting-analytics-page .insight-view.is-active .line-path { animation: reporting-line-draw 1.3s 0.75s ease forwards; }

.reporting-analytics-page .insight-chart--donut {
  display: grid;
  grid-template-columns: minmax(160px, 0.85fr) 1fr;
  gap: 2rem;
  align-items: center;
}

.reporting-analytics-page .insight-chart--donut > div {
  aspect-ratio: 1;
  max-width: 230px;
  border-radius: 50%;
  background: conic-gradient(#12509b 0 34%, #31d0cd 34% 61%, #e85626 61% 82%, #8db2e8 82% 100%);
  box-shadow: inset 0 0 0 48px #f5f9fa;
  transform: rotate(-90deg) scale(0.75);
}

.reporting-analytics-page .insight-view.is-active .insight-chart--donut > div { animation: reporting-donut-in 800ms 0.75s ease forwards; }

.reporting-analytics-page .insight-chart--donut ul { display: grid; gap: 0.9rem; margin: 0; padding: 0; list-style: none; }

.reporting-analytics-page .insight-chart--donut li { color: #415767; font-size: 0.76rem; }

.reporting-analytics-page .insight-chart--donut li i { display: inline-block; width: 8px; height: 8px; margin-right: 0.55rem; border-radius: 50%; background: #12509b; }

.reporting-analytics-page .insight-chart--donut li:nth-child(2) i { background: #31d0cd; }

.reporting-analytics-page .insight-chart--donut li:nth-child(3) i { background: #e85626; }

.reporting-analytics-page .insight-chart--donut li:nth-child(4) i { background: #8db2e8; }

.reporting-analytics-page .insight-chart--map { position: relative; overflow: hidden; }

.reporting-analytics-page .map-shape { position: absolute; inset: 10% 3%; border-radius: 48% 52% 45% 55%; background: radial-gradient(ellipse at 25% 45%, #b9d1db 0 12%, transparent 13%), radial-gradient(ellipse at 55% 40%, #b9d1db 0 20%, transparent 21%), radial-gradient(ellipse at 80% 65%, #b9d1db 0 9%, transparent 10%); opacity: 0.72; }

.reporting-analytics-page .insight-chart--map > i { position: absolute; top: var(--y); left: var(--x); width: calc(12px * var(--s)); height: calc(12px * var(--s)); border: 3px solid #fff; border-radius: 50%; background: #e85626; box-shadow: 0 0 0 8px rgb(232 86 38 / 16%); opacity: 0; }

.reporting-analytics-page .insight-view.is-active .insight-chart--map > i { animation: reporting-pin-in 500ms 0.8s ease forwards; }

.reporting-analytics-page .insight-view.is-active .insight-chart--map > i:nth-of-type(2) { animation-delay: 0.92s; }

.reporting-analytics-page .insight-view.is-active .insight-chart--map > i:nth-of-type(3) { animation-delay: 1.04s; }

.reporting-analytics-page .insight-view.is-active .insight-chart--map > i:nth-of-type(4) { animation-delay: 1.16s; }

.reporting-analytics-page .insight-view.is-active .insight-chart--map > i:nth-of-type(5) { animation-delay: 1.28s; }

.reporting-analytics-page .insight-chart--horizontal { display: grid; align-content: center; gap: 1.2rem; }

.reporting-analytics-page .insight-chart--horizontal span { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; align-items: center; color: #526675; font-size: 0.68rem; }

.reporting-analytics-page .insight-chart--horizontal i { display: block; width: var(--w); height: 1.3rem; border-radius: 0 999px 999px 0; background: linear-gradient(90deg, #12509b, #31d0cd); transform: scaleX(0); transform-origin: left; }

.reporting-analytics-page .insight-view.is-active .insight-chart--horizontal i { animation: reporting-horizontal-grow 800ms 0.75s ease forwards; }

.reporting-analytics-page .insight-visualizer__dots {
  position: relative;
  grid-row: 2;
  justify-self: center;
  margin-top: 1.5rem;
  display: flex;
  gap: 0.45rem;
}

.reporting-analytics-page .insight-visualizer__dots i { width: 6px; height: 6px; border-radius: 50%; background: #b7c5ce; transition: width 300ms ease, background 300ms ease; }

.reporting-analytics-page .insight-visualizer__dots i.is-active { width: 22px; border-radius: 999px; background: #12509b; }

@keyframes reporting-chart-in { to { opacity: 1; transform: translateY(0); } }

@keyframes reporting-bar-grow { to { transform: scaleY(1); } }

@keyframes reporting-line-draw { to { stroke-dashoffset: 0; } }

@keyframes reporting-donut-in { to { transform: rotate(0) scale(1); } }

@keyframes reporting-pin-in { to { opacity: 1; transform: scale(1); } }

@keyframes reporting-horizontal-grow { to { transform: scaleX(1); } }

@media (max-width: 900px) {
  .reporting-analytics-page .proof-section {
    grid-template-columns: 1fr;
  }

  .reporting-analytics-page .insight-visualizer {
    min-height: 480px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reporting-analytics-page .insight-view.is-active .insight-chart,
  .reporting-analytics-page .insight-view.is-active .insight-chart * {
    animation-duration: 1ms !important;
    animation-delay: 0ms !important;
  }
}

:scope .cost-horizon {
  position: relative;
  overflow: hidden;
  border: 1px solid #cbd9e2;
  border-radius: 10px;
  background:
    radial-gradient(circle at 92% 8%, rgb(89 67 174 / 12%), transparent 28%),
    linear-gradient(155deg, #f9fcfd 0%, #eef4f7 100%);
  box-shadow: 0 22px 55px rgb(0 29 58 / 9%);
}

:scope .cost-horizon__summary {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3rem;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border-bottom: 1px solid #d5e0e6;
}

:scope .cost-horizon__summary small,
:scope .cost-horizon__total span,
:scope .cost-horizon__event small {
  display: block;
  color: #697c89;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

:scope .cost-horizon__summary > div:first-child > strong {
  display: block;
  max-width: 19ch;
  margin-top: 0.6rem;
  color: #001d3a;
  font-size: clamp(1.25rem, 2vw, 1.9rem);
  letter-spacing: -0.025em;
  line-height: 1.15;
}

:scope .cost-horizon__total {
  text-align: right;
}

:scope .cost-horizon__total strong {
  display: block;
  margin: 0.3rem 0 0.12rem;
  color: #087c7b;
  font-size: clamp(2rem, 3.8vw, 3.7rem);
  letter-spacing: -0.055em;
  line-height: 1;
}

:scope .cost-horizon__total span {
  color: #8796a0;
  font-size: 0.55rem;
}

:scope .cost-horizon__viewport {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #a9bac4 transparent;
}

:scope .cost-horizon__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(155px, 1fr));
  min-width: 1040px;
  min-height: 390px;
  padding: 3.25rem clamp(2rem, 3vw, 3.5rem) 2.5rem;
}

:scope .cost-horizon__line {
  position: absolute;
  top: 164px;
  right: clamp(2rem, 3vw, 3.5rem);
  left: clamp(2rem, 3vw, 3.5rem);
  height: 2px;
  overflow: hidden;
  background: #cbd8df;
}

:scope .cost-horizon__line i {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #12509b, #31d0cd 64%, #e85626);
  transform: scaleX(0);
  transform-origin: left;
}

:scope .cost-horizon__event {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: 96px 34px auto;
  justify-items: start;
  min-width: 0;
  opacity: 0.18;
  transform: translateY(14px);
  transition: opacity 500ms ease, transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
}

:scope .cost-horizon__event.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

:scope .cost-horizon__year {
  align-self: end;
  margin-bottom: 1rem;
  color: #4f6371;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:scope .cost-horizon__event > i {
  display: block;
  width: 15px;
  height: 15px;
  margin-left: -1px;
  border: 4px solid #f3f8fa;
  border-radius: 50%;
  background: #12509b;
  box-shadow: 0 0 0 1px #12509b, 0 0 0 7px rgb(18 80 155 / 8%);
  transform: scale(0.45);
  transition: transform 450ms ease 120ms;
}

:scope .cost-horizon__event.is-revealed > i {
  transform: scale(1);
}

:scope .cost-horizon__event.is-future > i {
  background: #e85626;
  box-shadow: 0 0 0 1px #e85626, 0 0 0 7px rgb(232 86 38 / 9%);
}

:scope .cost-horizon__event > div {
  padding: 1.25rem 1rem 0 0;
}

:scope .cost-horizon__event small {
  min-height: 2.1em;
  color: #12509b;
  line-height: 1.25;
}

:scope .cost-horizon__event strong {
  display: block;
  margin-top: 0.48rem;
  color: #001d3a;
  font-size: clamp(1.05rem, 1.55vw, 1.42rem);
  letter-spacing: -0.035em;
}

:scope .cost-horizon__event p {
  max-width: 17ch;
  margin: 0.55rem 0 0;
  color: #70818c;
  font-size: 0.68rem;
  line-height: 1.45;
}

:scope .cost-horizon__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.1rem clamp(1.5rem, 3vw, 2.75rem);
  border-top: 1px solid #d5e0e6;
  color: #71828d;
  font-size: 0.68rem;
}

:scope .cost-horizon__footer span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

:scope .cost-horizon__footer span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #31d0cd;
}

:scope .cost-horizon__footer p {
  margin: 0;
  color: #001d3a;
  font-weight: 650;
}

@media (max-width: 800px) {
  :scope .cost-horizon__summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.5rem;
  }

  :scope .cost-horizon__total {
    text-align: left;
  }

  :scope .cost-horizon__track {
    min-width: 930px;
  }
}

@media (max-width: 520px) {
  :scope .cost-horizon__footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :scope .cost-horizon__line i {
    transform: scaleX(1);
  }

  :scope .cost-horizon__event {
    opacity: 1;
    transform: none;
  }

  :scope .cost-horizon__event > i {
    transform: scale(1);
  }
}

:scope .cost-horizon {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

:scope .cost-horizon__track {
  min-height: 220px;
  padding: 2.5rem 0 1rem;
}

:scope .cost-horizon__line {
  top: 111px;
  right: 0;
  left: 0;
}

:scope .cost-horizon__line i {
  transition: transform 560ms cubic-bezier(0.16, 1, 0.3, 1);
}

:scope .cost-horizon__event {
  grid-template-rows: 63px 34px auto;
  opacity: 0.24;
  transform: none;
  transition: color 420ms ease, opacity 420ms ease;
}

:scope .cost-horizon__event.is-revealed {
  opacity: 0.24;
}

:scope .cost-horizon__event.is-passed {
  opacity: 0.62;
}

:scope .cost-horizon__event.is-active {
  opacity: 1;
}

:scope .cost-horizon__event > i,
:scope .cost-horizon__event.is-revealed > i {
  transform: scale(0.72);
}

:scope .cost-horizon__event.is-passed > i {
  transform: scale(0.82);
}

:scope .cost-horizon__event.is-active > i {
  background: #31d0cd;
  box-shadow: 0 0 0 1px #31d0cd, 0 0 0 10px rgb(49 208 205 / 13%);
  transform: scale(1.18);
}

:scope .cost-horizon__event.is-future.is-active > i {
  background: #e85626;
  box-shadow: 0 0 0 1px #e85626, 0 0 0 10px rgb(232 86 38 / 12%);
}

:scope .cost-horizon__event > strong {
  display: block;
  max-width: 15ch;
  padding: 1.1rem 1rem 0 0;
  color: #001d3a;
  font-size: clamp(0.78rem, 1vw, 1rem);
  letter-spacing: -0.015em;
  line-height: 1.25;
}

@media (max-width: 800px) {
  :scope .cost-horizon__track {
    min-width: 820px;
  }
}

:scope .confidence-builder {
  width: 100%;
  padding: clamp(2.4rem, 5vw, 4.75rem) 0 clamp(1.5rem, 3vw, 2.5rem);
}

:scope .confidence-builder__principles {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto;
  align-items: center;
  gap: clamp(0.65rem, 1.4vw, 1.4rem);
  color: #001d3a;
  font-size: clamp(0.8rem, 1.2vw, 1.08rem);
  font-weight: 700;
  letter-spacing: 0.01em;
}

:scope .confidence-builder__principles span {
  opacity: 0.14;
  transform: translateY(6px);
}

:scope .confidence-builder__principles i {
  color: #91a2ad;
  font-style: normal;
  text-align: center;
  opacity: 0.3;
}

:scope .confidence-builder__track {
  position: relative;
  height: clamp(8px, 1vw, 12px);
  margin-top: clamp(1.25rem, 2.4vw, 2rem);
  overflow: hidden;
  border-radius: 999px;
  background: #dce5ea;
}

:scope .confidence-builder__track i {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #12509b 0%, #397ed0 34%, #31d0cd 72%, #e85626 100%);
  box-shadow: 0 0 24px rgb(49 208 205 / 30%);
  transform: scaleX(0);
  transform-origin: left;
}

:scope .confidence-builder > p {
  margin: 1.15rem 0 0;
  color: #526779;
  font-size: clamp(0.75rem, 0.95vw, 0.92rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  text-align: right;
  opacity: 0;
}

:scope .confidence-builder.is-active .confidence-builder__track i {
  animation: confidence-fill 3.8s cubic-bezier(0.45, 0, 0.2, 1) both;
}

:scope .confidence-builder.is-active .confidence-builder__principles span,
:scope .confidence-builder.is-active .confidence-builder__principles i {
  animation: confidence-label 520ms ease both;
}

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(1) { animation-delay: 0.15s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(2) { animation-delay: 0.55s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(3) { animation-delay: 0.75s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(4) { animation-delay: 1.15s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(5) { animation-delay: 1.35s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(6) { animation-delay: 1.75s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(7) { animation-delay: 1.95s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(8) { animation-delay: 2.35s; }

:scope .confidence-builder.is-active .confidence-builder__principles :nth-child(9) { animation-delay: 2.55s; }

:scope .confidence-builder.is-active > p {
  animation: confidence-label 620ms ease 3s both;
}

@keyframes confidence-fill {
  to { transform: scaleX(1); }
}

@keyframes confidence-label {
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 680px) {
  :scope .confidence-builder__principles {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.4rem;
    text-align: center;
  }

  :scope .confidence-builder__principles i {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  :scope .confidence-builder__track i {
    transform: scaleX(1);
  }

  :scope .confidence-builder__principles span,
  :scope .confidence-builder__principles i,
  :scope .confidence-builder > p {
    opacity: 1;
    transform: none;
  }
}

:scope .question-race {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(180px, 0.55fr) minmax(380px, 1.25fr);
  gap: 0;
  align-items: stretch;
  border-block: 1px solid #d6e0e6;
}

:scope .question-race__prompt,
:scope .question-race__outcome {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 150px;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
}

:scope .question-race__prompt {
  padding-left: 0;
}

:scope .question-race__outcome {
  border-left: 1px solid #d6e0e6;
}

:scope .question-race__prompt small,
:scope .question-race__outcome > small {
  display: block;
  margin-bottom: 0.7rem;
  color: #536675;
  font-size: calc(0.65rem + 3px);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:scope .question-race__prompt small {
  color: #536675;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

:scope .question-race__prompt p {
  margin: 0;
  color: #001d3a;
  font-size: clamp(1.15rem, 1.85vw, 1.7rem);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.25;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

:scope .question-race__prompt small.is-changing,
:scope .question-race__prompt p.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

:scope .question-race__outcome--prokurio > small {
  color: #536675;
}

:scope .question-race__outcome--without > small {
  color: #536675;
}

:scope .question-race__outcome--without {
  transition: opacity 0.38s ease, transform 0.38s ease;
}

:scope .question-race__outcome--without.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

:scope .question-race__outcome > strong {
  color: #087c7b;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

:scope .question-race__outcome > strong.is-visible {
  opacity: 1;
  transform: translateX(0);
}

:scope .question-race__lane {
  padding: clamp(1.2rem, 1.8vw, 1.75rem) 0;
}

:scope .question-race__lane--traditional {
  border-top: 1px solid #d6e0e6;
}

:scope .question-race__content {
  display: grid;
  grid-template-columns: clamp(120px, 11vw, 170px) minmax(300px, 1.15fr) minmax(320px, 1fr);
  gap: clamp(1rem, 2.5vw, 2.5rem);
  align-items: center;
  min-width: 0;
}

:scope .question-race__content > small {
  margin: 0;
  color: #12509b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:scope .question-race__lane--traditional .question-race__content > small {
  color: #a77800;
}

:scope .question-race__question {
  display: contents;
  color: #001d3a;
  font-size: clamp(1.1rem, 1.8vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -0.025em;
}

:scope .question-race__question > span {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

:scope .question-race__question > span.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

:scope .question-race__question strong {
  color: #087c7b;
  font-size: clamp(1rem, 1.55vw, 1.4rem);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

:scope .question-race__question strong.is-visible {
  opacity: 1;
  transform: translateX(0);
}

:scope .question-race__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin: 0;
}

:scope .question-race__steps span {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #536675;
  padding: 0 0.9rem 0 0;
  font-size: clamp(0.76rem, 0.82vw, 0.9rem);
  line-height: 1.35;
  opacity: 0.58;
  transition: background 0.4s ease, color 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

:scope .question-race__steps span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: 0.15rem;
  color: #82919b;
  content: "→";
  transform: translateY(-50%);
}

:scope .question-race__steps span.is-active {
  background: transparent;
  color: #001d3a;
  font-weight: 700;
  opacity: 1;
  transform: translateY(-2px);
}

:scope .question-race__steps span.is-complete {
  opacity: 0.82;
}

:scope .old-workflow__reveal {
  color: #31d0cd;
}

@media (max-width: 1100px) {
  :scope .hero {
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  }

  :scope .hero__content h1 {
    font-size: clamp(2.8rem, 5.7vw, 4.9rem);
  }

  :scope .product-showcase--platform {
    width: 820px;
    height: 500px;
    transform: translateX(14%);
  }
}

@media (max-width: 800px) {
  :scope .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto minmax(420px, 50vh);
    min-height: 0;
    padding-bottom: 0;
  }

  :scope .site-header {
    grid-column: 1;
  }

  :scope .hero__content {
    grid-column: 1;
    grid-row: 2;
    margin: clamp(4rem, 10vh, 7rem) 0 2.5rem;
    padding-right: 0;
  }

  :scope .hero__content h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 12vw, 5.2rem);
  }

  :scope .hero__content p {
    max-width: 38rem;
  }

  :scope .product-showcase--platform {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    width: min(760px, 122vw);
    height: 430px;
    margin: 0;
    transform: translateX(2%);
  }

  :scope .question-race {
    grid-template-columns: 1fr 1fr;
  }

  :scope .question-race__prompt {
    grid-column: 1 / -1;
    min-height: 130px;
    padding-right: 0;
    border-bottom: 1px solid #d6e0e6;
  }

  :scope .question-race__outcome--prokurio {
    border-left: 0;
  }
}

:scope .forecast-story.is-static .forecast-story__pin {
  display: block;
  min-height: 0;
}

:scope .forecast-story.is-static .forecast-story__copy {
  min-height: 0;
}

:scope .forecast-story.is-static .forecast-story__counter,
:scope .forecast-story.is-static .forecast-story__visual {
  display: none;
}

:scope .forecast-story.is-static .forecast-chapter {
  position: relative;
  top: auto;
  visibility: visible;
  opacity: 1;
  transform: none;
  padding: 3rem 0;
  border-top: 1px solid rgb(255 255 255 / 12%);
}

@media (max-width: 520px) {
  :scope .hero {
    grid-template-rows: auto auto 360px;
  }

  :scope .hero__content {
    margin-top: 3.25rem;
  }

  :scope .hero__content h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 13.4vw, 4.15rem);
  }

  :scope .hero__primary-action {
    width: 100%;
  }

  :scope .product-showcase--platform {
    width: 660px;
    height: 360px;
    transform: translateX(-1%);
  }

  :scope .trust-dashboard__body {
    grid-template-columns: 1fr;
  }

  :scope .trust-sources {
    display: none;
  }

  :scope .question-race__lane {
    padding: 1.35rem 0;
  }

  :scope .question-race__content {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  :scope .question-race__question {
    display: contents;
  }

  :scope .question-race {
    grid-template-columns: 1fr;
  }

  :scope .question-race__prompt,
  :scope .question-race__outcome {
    grid-column: 1;
    min-height: 120px;
    padding: 1.35rem 0;
    border-left: 0;
  }

  :scope .question-race__outcome {
    border-top: 1px solid #d6e0e6;
  }
}

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

}

:scope .forecast-story {
  position: relative;
  color: #fff;
  padding-top: clamp(7rem, 11vw, 12rem);
}

:scope .forecast-story__intro {
  position: relative;
  min-height: clamp(620px, 60vw, 820px);
  width: 100%;
  margin: 0;
  padding: 0 var(--page-gutter) clamp(6rem, 10vw, 10rem);
}

:scope .forecast-story__eyebrow,
:scope .forecast-chapter > small {
  margin: 0 0 1.25rem;
  color: #31d0cd;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

:scope .forecast-story__intro h2 {
  position: relative;
  z-index: 3;
  width: 50vw;
  max-width: 55vw;
  margin: 0;
  font-size: clamp(3rem, 5.35vw, 5.8rem);
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

:scope .forecast-story__intro h2 span {
  display: inline-block;
  margin-top: 0.14em;
  color: #e85626;
}

:scope .forecast-story__intro > p:last-of-type {
  position: relative;
  z-index: 3;
  width: 48vw;
  max-width: 43vw;
  margin: 2.75rem 0 0;
  color: rgb(255 255 255 / 58%);
  font-size: clamp(1.3125rem, calc(1.35vw + 5px), 1.6125rem);
  line-height: 1.75;
}

.reporting-analytics-page .ai-insight-demo {
  position: absolute;
  z-index: 2;
  top: clamp(-3rem, -1vw, -1rem);
  right: clamp(1rem, 5vw, 7rem);
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: min(43vw, 38rem);
  height: clamp(520px, 48vw, 650px);
  overflow: hidden;
  border: 1px solid rgb(141 178 232 / 24%);
  border-radius: 14px;
  background: #071a30;
  box-shadow: 0 34px 90px rgb(0 0 0 / 35%);
}

.reporting-analytics-page .ai-insight-demo > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid rgb(255 255 255 / 9%);
}

.reporting-analytics-page .ai-insight-demo > header span {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.76rem;
}

.reporting-analytics-page .ai-insight-demo > header i {
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border-radius: 0.45rem;
  background: linear-gradient(135deg, #12509b, #31d0cd);
  color: #fff;
  font-style: normal;
  font-weight: 800;
}

.reporting-analytics-page .ai-insight-demo > header em {
  color: #31d0cd;
  font-size: 0.58rem;
  font-style: normal;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.reporting-analytics-page .ai-insight-demo__body {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  overflow: hidden;
  padding: 1.5rem;
}

.reporting-analytics-page .ai-insight-demo__question {
  align-self: flex-end;
  max-width: 82%;
  padding: 0.9rem 1.05rem;
  border-radius: 12px 12px 3px 12px;
  background: #17324f;
  color: rgb(255 255 255 / 86%);
  font-size: 0.76rem;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(10px);
}

.reporting-analytics-page .ai-insight-demo__thinking {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: rgb(255 255 255 / 42%);
  font-size: 0.57rem;
  opacity: 0;
}

.reporting-analytics-page .ai-insight-demo__thinking i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #31d0cd;
}

.reporting-analytics-page .ai-insight-demo__thinking span { margin-left: 0.3rem; }

.reporting-analytics-page .ai-insight-demo__answer {
  padding: 1.25rem;
  border: 1px solid rgb(49 208 205 / 18%);
  border-radius: 4px 12px 12px;
  background: rgb(13 42 70 / 78%);
  opacity: 0;
  transform: translateY(12px);
}

.reporting-analytics-page .ai-insight-demo__answer small {
  color: #31d0cd;
  font-size: 0.55rem;
  font-weight: 750;
  letter-spacing: 0.1em;
}

.reporting-analytics-page .ai-insight-demo__answer > p {
  margin: 0.65rem 0 1rem;
  color: rgb(255 255 255 / 80%);
  font-size: 0.72rem;
  line-height: 1.55;
}

.reporting-analytics-page .ai-insight-demo__chart {
  display: flex;
  align-items: end;
  gap: 9%;
  height: 145px;
  padding: 0.8rem 0.8rem 1.45rem;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  background: repeating-linear-gradient(to bottom, transparent 0 31%, rgb(255 255 255 / 5%) 32%);
}

.reporting-analytics-page .ai-insight-demo__chart > span {
  position: relative;
  flex: 1;
  height: var(--h);
  border-radius: 3px 3px 0 0;
  background: linear-gradient(#4f91d6, #12509b);
  transform: scaleY(0);
  transform-origin: bottom;
}

.reporting-analytics-page .ai-insight-demo__chart > span.is-highlight {
  background: linear-gradient(#f08a48, #e85626);
  box-shadow: 0 0 18px rgb(232 86 38 / 22%);
}

.reporting-analytics-page .ai-insight-demo__chart i {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 50%;
  color: rgb(255 255 255 / 38%);
  font-size: 0.45rem;
  font-style: normal;
  transform: translateX(-50%);
}

.reporting-analytics-page .ai-insight-demo__answer footer {
  display: flex;
  justify-content: space-between;
  margin-top: 0.85rem;
  color: rgb(255 255 255 / 42%);
  font-size: 0.56rem;
}

.reporting-analytics-page .ai-insight-demo__answer footer strong { color: #f08a48; }

.reporting-analytics-page .ai-insight-demo__composer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 1.25rem 1.25rem;
  border: 1px solid rgb(255 255 255 / 11%);
  border-radius: 9px;
  color: rgb(255 255 255 / 32%);
  padding: 0.8rem 0.9rem;
  font-size: 0.65rem;
}

.reporting-analytics-page .ai-insight-demo__composer b {
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: 5px;
  background: #12509b;
  color: #fff;
}

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__question { animation: ai-question-in 700ms 0.35s ease both; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__thinking { animation: ai-thinking 1.3s 1.2s ease both; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__answer { animation: ai-answer-in 700ms 2.35s ease both; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__chart > span { animation: ai-chart-grow 700ms 3.1s ease-out forwards; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__chart > span:nth-child(2) { animation-delay: 3.2s; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__chart > span:nth-child(3) { animation-delay: 3.3s; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__chart > span:nth-child(4) { animation-delay: 3.4s; }

.reporting-analytics-page .ai-insight-demo.is-active .ai-insight-demo__chart > span:nth-child(5) { animation-delay: 3.5s; }

@keyframes ai-question-in { to { opacity: 1; transform: translateY(0); } }

@keyframes ai-thinking { 0%, 100% { opacity: 0; } 18%, 82% { opacity: 1; } }

@keyframes ai-answer-in { to { opacity: 1; transform: translateY(0); } }

@keyframes ai-chart-grow { to { transform: scaleY(1); } }

:scope .intelligence-stack {
  position: absolute;
  z-index: 2;
  top: clamp(-4rem, -2vw, -1rem);
  right: clamp(1rem, 5vw, 7rem);
  width: min(42vw, 34rem);
  height: min(58vw, 36rem);
  min-height: 31rem;
  perspective: 72rem;
  perspective-origin: 55% 40%;
}

:scope .intelligence-stack::before {
  content: none;
}

:scope .intelligence-stack::after {
  position: absolute;
  right: 12%;
  bottom: 1%;
  left: 12%;
  height: 16%;
  border-radius: 50%;
  background: rgb(49 208 205 / 15%);
  filter: blur(1.8rem);
  content: "";
}

:scope .stack-layer {
  position: absolute;
  right: var(--inset);
  bottom: 5%;
  left: var(--inset);
  z-index: var(--z);
  display: grid;
  height: clamp(3.25rem, 5vw, 4.8rem);
  place-items: center;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 0.65rem;
  background:
    linear-gradient(115deg, rgb(255 255 255 / 15%), transparent 42%),
    linear-gradient(135deg, var(--layer-a), var(--layer-b));
  box-shadow:
    0 0.42rem 0 color-mix(in srgb, var(--layer-b) 62%, #00172e),
    0 1rem 2rem rgb(0 0 0 / 20%),
    inset 0 1px 0 rgb(255 255 255 / 22%);
  color: #fff;
  font-size: clamp(0.68rem, 0.95vw, 0.95rem);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.12em;
  opacity: 0;
  text-transform: uppercase;
  transform: translate3d(0, var(--lift), var(--depth)) rotateX(48deg) rotateZ(-10deg) scale(0.88);
  transform-origin: center;
  transform-style: preserve-3d;
}

:scope .stack-layer::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent 20%, rgb(255 255 255 / 38%), transparent 78%);
  content: "";
  opacity: 0;
  transform: translateX(-75%);
}

:scope .stack-layer span {
  text-shadow: 0 0.15rem 0.35rem rgb(0 0 0 / 28%);
  transform: translateZ(0.55rem);
}

:scope .stack-layer--data { --layer-a: #0a345d; --layer-b: #061d35; }

:scope .stack-layer--forecast { --layer-a: #185f9d; --layer-b: #0d3c70; }

:scope .stack-layer--scenario { --layer-a: #3182b5; --layer-b: #195f91; }

:scope .stack-layer--budget { --layer-a: #23aaa9; --layer-b: #137d85; }

:scope .stack-layer--analyze { --layer-a: #42c9c3; --layer-b: #219b9b; }

:scope .stack-layer--prune { --layer-a: #e37945; --layer-b: #c5532f; }

:scope .stack-layer--intelligent { --layer-a: #f08a48; --layer-b: #e85626; }

:scope .intelligence-stack.is-active .stack-layer {
  animation: fees-stack-layer-build 0.8s calc(0.18s + var(--delay)) cubic-bezier(0.18, 0.86, 0.22, 1.15) forwards;
}

:scope .intelligence-stack.is-active .stack-layer::before {
  animation: fees-stack-layer-scan 6.3s calc(1.4s + var(--delay)) ease-in-out infinite;
}

@keyframes fees-stack-layer-build {
  from { opacity: 0; transform: translate3d(2rem, var(--lift), var(--depth)) rotateX(58deg) rotateZ(-16deg) scale(0.72); }
  to { opacity: 1; transform: translate3d(0, var(--lift), var(--depth)) rotateX(48deg) rotateZ(-10deg) scale(1); }
}

@keyframes fees-stack-layer-scan {
  0%, 62%, 100% { opacity: 0; transform: translateX(-75%); }
  70% { opacity: 0.75; }
  84% { opacity: 0; transform: translateX(75%); }
}

:scope .forecast-orbit {
  position: absolute;
  z-index: 1;
  top: clamp(-22rem, -16vw, -15rem);
  right: clamp(-180px, -7vw, -70px);
  width: clamp(620px, 54vw, 900px);
  aspect-ratio: 1;
  border: 1px solid rgb(56 131 206 / 13%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(56 131 206 / 12%), transparent 62%);
}

:scope .forecast-orbit::before {
  position: absolute;
  inset: -12%;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 45%, rgb(49 208 205 / 5%) 56%, transparent 70%);
  content: "";
}

:scope .forecast-orbit__core {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  display: grid;
  width: 128px;
  height: 128px;
  place-content: center;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 50%;
  background: rgb(0 18 38 / 96%);
  box-shadow: 0 0 34px rgb(49 208 205 / 12%), 0 0 70px rgb(232 86 38 / 6%);
  text-align: center;
  transform: translate(-50%, -50%);
}

:scope .forecast-orbit__core::before,
:scope .forecast-orbit__core::after {
  position: absolute;
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

:scope .forecast-orbit__core::before {
  inset: -3px;
  z-index: 0;
  background: conic-gradient(from 0deg, transparent 0 12%, #31d0cd 23%, transparent 35% 48%, #f2bd38 58%, transparent 69% 78%, #e85626 90%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: forecast-core-think 5.5s linear infinite;
}

:scope .forecast-orbit__core::after {
  inset: -10px;
  z-index: -2;
  background: conic-gradient(from 120deg, transparent 0 18%, rgb(49 208 205 / 52%) 27%, transparent 38% 55%, rgb(242 189 56 / 38%) 65%, transparent 75% 86%, rgb(232 86 38 / 48%) 94%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  filter: blur(8px);
  opacity: 0.55;
  animation: forecast-core-think 8s linear infinite reverse;
}

:scope .forecast-orbit__core small {
  position: relative;
  z-index: 1;
  color: rgb(255 255 255 / 88%);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

:scope .forecast-orbit__ring {
  --orbit-duration: 48s;
  position: absolute;
  display: block;
  border: 1px solid rgb(56 131 206 / 14%);
  border-radius: 50%;
  animation: forecast-orbit-spin var(--orbit-duration) linear infinite;
}

:scope .forecast-orbit__ring--outer {
  inset: 4%;
  --orbit-duration: 56s;
}

:scope .forecast-orbit__ring--middle {
  inset: 18%;
  border-color: rgb(49 208 205 / 13%);
  --orbit-duration: 43s;
  animation-direction: reverse;
}

:scope .forecast-orbit__ring--inner {
  inset: 32%;
  border-color: rgb(141 178 232 / 15%);
  --orbit-duration: 35s;
}

:scope .forecast-orbit__ring b {
  position: absolute;
  top: var(--tag-top);
  left: var(--tag-left);
  width: max-content;
  max-width: 210px;
  font-style: normal;
  animation: forecast-orbit-counter var(--orbit-duration) linear infinite;
}

:scope .forecast-orbit__ring b > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: max-content;
  max-width: 210px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 999px;
  background: rgb(0 18 38 / 84%);
  color: rgb(255 255 255 / 72%);
  padding: 0.58rem 0.8rem 0.66rem;
  box-shadow: 0 10px 30px rgb(0 5 14 / 24%);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  transform-origin: center;
  transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), background-color 450ms ease, box-shadow 700ms ease, color 450ms ease;
}

:scope .forecast-orbit__ring b:hover > span {
  background: rgb(0 18 38 / 96%);
  box-shadow: 0 14px 38px rgb(0 5 14 / 38%);
  color: #fff;
  transform: scale(1.32);
}

:scope .forecast-orbit__ring b:hover {
  z-index: 10;
}

:scope .forecast-orbit__ring:has(b:hover),
:scope .forecast-orbit__ring:has(b:hover) b {
  animation-play-state: paused;
}

:scope .forecast-orbit__ring--middle b {
  animation-direction: reverse;
}

:scope .forecast-orbit__ring b > span::before {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #31d0cd;
  box-shadow: 0 0 10px rgb(49 208 205 / 55%);
  content: "";
}

:scope .forecast-orbit__ring--outer b:nth-child(2) > span::before,
:scope .forecast-orbit__ring--inner b:nth-child(2) > span::before {
  background: #e85626;
  box-shadow: 0 0 10px rgb(232 86 38 / 45%);
}

:scope .forecast-orbit__ring--middle b:nth-child(2) > span::before {
  background: #8db2e8;
  box-shadow: 0 0 10px rgb(141 178 232 / 45%);
}
}

@scope (.head-of-ip-reference) {
.forecasting-page .trust-sources {
  padding: 1.1rem;
  border: 1px solid rgb(18 80 155 / 18%);
  background: rgb(18 80 155 / 6%);
}

.forecasting-page .trust-sources > small {
  color: #6b7d8b;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.forecasting-page .trust-sources p {
  display: flex;
  gap: 0.65rem;
  margin: 1rem 0 0;
}

.forecasting-page .trust-sources p > i {
  display: grid;
  flex: 0 0 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgb(49 208 205 / 18%);
  color: #087c7b;
  font-style: normal;
}

.forecasting-page .trust-sources b,
.forecasting-page .trust-sources em {
  display: block;
  font-size: 0.64rem;
}

.forecasting-page .trust-sources em {
  margin-top: 0.22rem;
  color: #71828e;
  font-style: normal;
  font-size: 0.55rem;
}

.forecasting-page .hero > .hero__cta {
  display: none;
}

.forecasting-page .proof-section {
  position: relative;
  z-index: 2;
}

.forecasting-page .proof-section__description {
  max-width: 76rem;
}

.forecasting-page .question-race {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(180px, 0.55fr) minmax(380px, 1.25fr);
  gap: 0;
  align-items: stretch;
  border-block: 1px solid #d6e0e6;
}

.forecasting-page .question-race__prompt,
.forecasting-page .question-race__outcome {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 150px;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
}

.forecasting-page .question-race__prompt {
  padding-left: 0;
}

.forecasting-page .question-race__outcome {
  border-left: 1px solid #d6e0e6;
}

.forecasting-page .question-race__prompt small,
.forecasting-page .question-race__outcome > small {
  display: block;
  margin-bottom: 0.7rem;
  color: #536675;
  font-size: calc(0.65rem + 3px);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.forecasting-page .question-race__prompt small {
  color: #536675;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.forecasting-page .question-race__prompt p {
  margin: 0;
  color: #001d3a;
  font-size: clamp(1.15rem, 1.85vw, 1.7rem);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.25;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.forecasting-page .question-race__prompt small.is-changing,
.forecasting-page .question-race__prompt p.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.forecasting-page .question-race__outcome--prokurio > small {
  color: #536675;
}

.forecasting-page .question-race__outcome--without > small {
  color: #536675;
}

.forecasting-page .question-race__outcome--without {
  transition: opacity 0.38s ease, transform 0.38s ease;
}

.forecasting-page .question-race__outcome--without.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.forecasting-page .question-race__outcome > strong {
  color: #087c7b;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.forecasting-page .question-race__outcome > strong.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.forecasting-page .question-race__lane {
  padding: clamp(1.2rem, 1.8vw, 1.75rem) 0;
}

.forecasting-page .question-race__lane--traditional {
  border-top: 1px solid #d6e0e6;
}

.forecasting-page .question-race__content {
  display: grid;
  grid-template-columns: clamp(120px, 11vw, 170px) minmax(300px, 1.15fr) minmax(320px, 1fr);
  gap: clamp(1rem, 2.5vw, 2.5rem);
  align-items: center;
  min-width: 0;
}

.forecasting-page .question-race__content > small {
  margin: 0;
  color: #12509b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.forecasting-page .question-race__lane--traditional .question-race__content > small {
  color: #a77800;
}

.forecasting-page .question-race__question {
  display: contents;
  color: #001d3a;
  font-size: clamp(1.1rem, 1.8vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -0.025em;
}

.forecasting-page .question-race__question > span {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.forecasting-page .question-race__question > span.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.forecasting-page .question-race__question strong {
  color: #087c7b;
  font-size: clamp(1rem, 1.55vw, 1.4rem);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.forecasting-page .question-race__question strong.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.forecasting-page .question-race__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin: 0;
}

.forecasting-page .question-race__steps span {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #536675;
  padding: 0 0.9rem 0 0;
  font-size: clamp(0.76rem, 0.82vw, 0.9rem);
  line-height: 1.35;
  opacity: 0.58;
  transition: background 0.4s ease, color 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.forecasting-page .question-race__steps span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: 0.15rem;
  color: #82919b;
  content: "→";
  transform: translateY(-50%);
}

.forecasting-page .question-race__steps span.is-active {
  background: transparent;
  color: #001d3a;
  font-weight: 700;
  opacity: 1;
  transform: translateY(-2px);
}

.forecasting-page .question-race__steps span.is-complete {
  opacity: 0.82;
}

.forecasting-page .old-workflow__reveal {
  color: #31d0cd;
}

@media (max-width: 1100px) {
  .forecasting-page .hero {
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  }

  .forecasting-page .hero__content h1 {
    font-size: clamp(2.8rem, 5.7vw, 4.9rem);
  }

  .forecasting-page .hero__content h1 > span:first-child {
    white-space: normal;
  }

  .forecasting-page .product-showcase--platform {
    width: 820px;
    height: 500px;
    transform: translateX(14%);
  }
}

@media (max-width: 800px) {
  .forecasting-page .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto minmax(420px, 50vh);
    min-height: 0;
    padding-bottom: 0;
  }

  .forecasting-page .site-header {
    grid-column: 1;
  }

  .forecasting-page .hero__content {
    grid-column: 1;
    grid-row: 2;
    margin: clamp(4rem, 10vh, 7rem) 0 2.5rem;
    padding-right: 0;
  }

  .forecasting-page .hero__content h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 12vw, 5.2rem);
  }

  .forecasting-page .hero__content p {
    max-width: 38rem;
  }

  .forecasting-page .product-showcase--platform {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    width: min(760px, 122vw);
    height: 430px;
    margin: 0;
    transform: translateX(2%);
  }

  .forecasting-page .question-race {
    grid-template-columns: 1fr 1fr;
  }

  .forecasting-page .question-race__prompt {
    grid-column: 1 / -1;
    min-height: 130px;
    padding-right: 0;
    border-bottom: 1px solid #d6e0e6;
  }

  .forecasting-page .question-race__outcome--prokurio {
    border-left: 0;
  }
}

.forecasting-page .forecast-story.is-static .forecast-story__pin {
  display: block;
  min-height: 0;
}

.forecasting-page .forecast-story.is-static .forecast-story__copy {
  min-height: 0;
}

.forecasting-page .forecast-story.is-static .forecast-story__counter,
.forecasting-page .forecast-story.is-static .forecast-story__visual {
  display: none;
}

.forecasting-page .forecast-story.is-static .forecast-chapter {
  position: relative;
  top: auto;
  visibility: visible;
  opacity: 1;
  transform: none;
  padding: 3rem 0;
  border-top: 1px solid rgb(255 255 255 / 12%);
}

@media (max-width: 520px) {
  .forecasting-page .hero {
    grid-template-rows: auto auto 360px;
  }

  .forecasting-page .hero__content {
    margin-top: 3.25rem;
  }

  .forecasting-page .hero__content h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 13.4vw, 4.15rem);
  }

  .forecasting-page .hero__primary-action {
    width: 100%;
  }

  .forecasting-page .product-showcase--platform {
    width: 660px;
    height: 360px;
    transform: translateX(-1%);
  }

  .forecasting-page .trust-dashboard__body {
    grid-template-columns: 1fr;
  }

  .forecasting-page .trust-sources {
    display: none;
  }

  .forecasting-page .question-race__lane {
    padding: 1.35rem 0;
  }

  .forecasting-page .question-race__content {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .forecasting-page .question-race__question {
    display: contents;
  }

  .forecasting-page .question-race {
    grid-template-columns: 1fr;
  }

  .forecasting-page .question-race__prompt,
  .forecasting-page .question-race__outcome {
    grid-column: 1;
    min-height: 120px;
    padding: 1.35rem 0;
    border-left: 0;
  }

  .forecasting-page .question-race__outcome {
    border-top: 1px solid #d6e0e6;
  }
}

@media (prefers-reduced-motion: reduce) {
  .forecasting-page .hero__glow {
    animation: none;
  }

}

.forecasting-page .forecast-story {
  position: relative;
  color: #fff;
  padding-top: clamp(7rem, 11vw, 12rem);
}

.forecasting-page .forecast-story__intro {
  position: relative;
  min-height: clamp(620px, 60vw, 820px);
  width: 100%;
  margin: 0;
  padding: 0 var(--page-gutter) clamp(6rem, 10vw, 10rem);
}

.forecasting-page .forecast-story__eyebrow,
.forecasting-page .forecast-chapter > small {
  margin: 0 0 1.25rem;
  color: #31d0cd;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.forecasting-page .forecast-story__intro h2 {
  position: relative;
  z-index: 3;
  width: 50vw;
  max-width: 55vw;
  margin: 0;
  font-size: clamp(3rem, 5.35vw, 5.8rem);
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.forecasting-page .forecast-story__intro h2 span {
  display: inline-block;
  margin-top: 0.14em;
  color: #e85626;
}

.forecasting-page .forecast-story__intro > p:last-of-type {
  position: relative;
  z-index: 3;
  width: 48vw;
  max-width: 55vw;
  margin: 2.75rem 0 0;
  color: rgb(255 255 255 / 58%);
  font-size: clamp(1.3125rem, calc(1.35vw + 5px), 1.6125rem);
  line-height: 1.75;
}

.forecasting-page .forecast-orbit {
  position: absolute;
  z-index: 1;
  top: clamp(-22rem, -16vw, -15rem);
  right: clamp(-180px, -7vw, -70px);
  width: clamp(620px, 54vw, 900px);
  aspect-ratio: 1;
  border: 1px solid rgb(56 131 206 / 13%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(56 131 206 / 12%), transparent 62%);
}

.forecasting-page .forecast-orbit::before {
  position: absolute;
  inset: -12%;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 45%, rgb(49 208 205 / 5%) 56%, transparent 70%);
  content: "";
}

.forecasting-page .forecast-orbit__core {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  display: grid;
  width: 128px;
  height: 128px;
  place-content: center;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 50%;
  background: rgb(0 18 38 / 96%);
  box-shadow: 0 0 34px rgb(49 208 205 / 12%), 0 0 70px rgb(232 86 38 / 6%);
  text-align: center;
  transform: translate(-50%, -50%);
}

.forecasting-page .forecast-orbit__core::before,
.forecasting-page .forecast-orbit__core::after {
  position: absolute;
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.forecasting-page .forecast-orbit__core::before {
  inset: -3px;
  z-index: 0;
  background: conic-gradient(from 0deg, transparent 0 12%, #31d0cd 23%, transparent 35% 48%, #f2bd38 58%, transparent 69% 78%, #e85626 90%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: forecast-core-think 5.5s linear infinite;
}

.forecasting-page .forecast-orbit__core::after {
  inset: -10px;
  z-index: -2;
  background: conic-gradient(from 120deg, transparent 0 18%, rgb(49 208 205 / 52%) 27%, transparent 38% 55%, rgb(242 189 56 / 38%) 65%, transparent 75% 86%, rgb(232 86 38 / 48%) 94%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  filter: blur(8px);
  opacity: 0.55;
  animation: forecast-core-think 8s linear infinite reverse;
}

.forecasting-page .forecast-orbit__core small {
  position: relative;
  z-index: 1;
  color: rgb(255 255 255 / 88%);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.forecasting-page .forecast-orbit__ring {
  --orbit-duration: 48s;
  position: absolute;
  display: block;
  border: 1px solid rgb(56 131 206 / 14%);
  border-radius: 50%;
  animation: forecast-orbit-spin var(--orbit-duration) linear infinite;
}

.forecasting-page .forecast-orbit__ring--outer {
  inset: 4%;
  --orbit-duration: 56s;
}

.forecasting-page .forecast-orbit__ring--middle {
  inset: 18%;
  border-color: rgb(49 208 205 / 13%);
  --orbit-duration: 43s;
  animation-direction: reverse;
}

.forecasting-page .forecast-orbit__ring--inner {
  inset: 32%;
  border-color: rgb(141 178 232 / 15%);
  --orbit-duration: 35s;
}

.forecasting-page .forecast-orbit__ring b {
  position: absolute;
  top: var(--tag-top);
  left: var(--tag-left);
  width: max-content;
  max-width: 210px;
  font-style: normal;
  animation: forecast-orbit-counter var(--orbit-duration) linear infinite;
}

.forecasting-page .forecast-orbit__ring b > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: max-content;
  max-width: 210px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 999px;
  background: rgb(0 18 38 / 84%);
  color: rgb(255 255 255 / 72%);
  padding: 0.58rem 0.8rem 0.66rem;
  box-shadow: 0 10px 30px rgb(0 5 14 / 24%);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  transform-origin: center;
  transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), background-color 450ms ease, box-shadow 700ms ease, color 450ms ease;
}

.forecasting-page .forecast-orbit__ring b:hover > span {
  background: rgb(0 18 38 / 96%);
  box-shadow: 0 14px 38px rgb(0 5 14 / 38%);
  color: #fff;
  transform: scale(1.32);
}

.forecasting-page .forecast-orbit__ring b:hover {
  z-index: 10;
}

.forecasting-page .forecast-orbit__ring:has(b:hover),
.forecasting-page .forecast-orbit__ring:has(b:hover) b {
  animation-play-state: paused;
}

.forecasting-page .forecast-orbit__ring--middle b {
  animation-direction: reverse;
}

.forecasting-page .forecast-orbit__ring b > span::before {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #31d0cd;
  box-shadow: 0 0 10px rgb(49 208 205 / 55%);
  content: "";
}

.forecasting-page .forecast-orbit__ring--outer b:nth-child(2) > span::before,
.forecasting-page .forecast-orbit__ring--inner b:nth-child(2) > span::before {
  background: #e85626;
  box-shadow: 0 0 10px rgb(232 86 38 / 45%);
}

.forecasting-page .forecast-orbit__ring--middle b:nth-child(2) > span::before {
  background: #8db2e8;
  box-shadow: 0 0 10px rgb(141 178 232 / 45%);
}
}

@scope (.fees-reference, .head-of-ip-reference) {
@keyframes forecast-orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes forecast-orbit-counter {
  to { transform: rotate(-360deg); }
}

@keyframes forecast-core-think {
  to { transform: rotate(360deg); }
}
}

@scope (.fees-reference) {
:scope .forecast-story__pin {
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(580px, 1.2fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(3rem, 5vw, 6rem);
  row-gap: 30px;
  align-items: start;
  min-height: 0;
  padding: clamp(4rem, 7vh, 7rem) var(--page-gutter) 0;
}

:scope .forecast-story__nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 2.25vw, 2.75rem);
  align-items: center;
  padding-bottom: 0;
  margin-bottom: 0;
}

:scope .forecast-story__nav button {
  position: relative;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: rgb(255 255 255 / 28%);
  font-size: clamp(0.58rem, 0.75vw, 0.72rem);
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color 280ms ease;
}

:scope .forecast-story__nav button::after {
  content: none;
}

:scope .forecast-story__nav button.is-active {
  color: #fff;
}

:scope .forecast-story__nav button:focus-visible {
  outline: 2px solid #63dfd2;
  outline-offset: 4px;
}

:scope .forecast-story__nav button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

:scope .forecast-story__copy {
  position: relative;
  top: 30px;
  min-height: min(650px, 67vh);
}

:scope .forecast-story__counter {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  grid-template-columns: auto 70px auto;
  gap: 0.8rem;
  align-items: center;
  color: rgb(255 255 255 / 36%);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

:scope .forecast-story__counter span:first-child {
  color: #fff;
}

:scope .forecast-story__counter i {
  height: 1px;
  background: rgb(255 255 255 / 18%);
}

:scope .forecast-chapter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transform: translateX(28px);
}

:scope .forecast-chapter.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

:scope .forecast-chapter h3 {
  margin: 0;
  font-size: clamp(2.5rem, 4vw, 5rem);
  font-weight: 750;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

:scope .forecast-chapter h3 span {
  display: block;
  margin-top: 0.28em;
  color: #8db2e8;
  line-height: 1.02;
}

:scope .forecast-chapter > small {
  display: none;
}

:scope .forecast-chapter > p {
  max-width: 620px;
  margin: 1.6rem 0 0;
  color: rgb(255 255 255 / 60%);
  font-size: clamp(0.95rem, 1.12vw, 1.12rem);
  line-height: 1.75;
}

:scope .forecast-chapter ul {
  display: grid;
  gap: 0.65rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}

:scope .forecast-chapter li {
  position: relative;
  border-left: 2px solid rgb(49 208 205 / 60%);
  background: rgb(255 255 255 / 4%);
  color: rgb(255 255 255 / 72%);
  padding: 0.72rem 0.9rem;
  font-size: calc(0.72rem + 2px);
}

:scope .forecast-story__visual {
  position: relative;
  top: 30px;
  overflow: visible;
  min-width: 0;
}

:scope .forecast-story__cta {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 90px 0 clamp(5rem, 8vw, 9rem);
}

:scope .forecast-story__cta > p {
  display: grid;
}

:scope .forecast-story__cta > p > span {
  grid-area: 1 / 1;
}

:scope .forecast-story__cta > p > span:not(:first-child) {
  visibility: hidden;
  opacity: 0;
}

:scope .story-window {
  position: relative;
  height: min(650px, 67vh);
  min-height: 530px;
  overflow: hidden;
  border: 1px solid rgb(93 151 211 / 22%);
  border-radius: 10px;
  background: #001b35;
  box-shadow:
    0 42px 100px rgb(0 5 14 / 76%),
    -24px 28px 90px rgb(18 80 155 / 18%),
    0 0 70px rgb(49 208 205 / 7%);
}

:scope .story-window__bar {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  height: 52px;
  padding: 0 1.25rem;
  border-bottom: 1px solid rgb(93 151 211 / 18%);
  background: rgb(0 24 48 / 94%);
  color: rgb(255 255 255 / 45%);
  font-size: 0.62rem;
}

:scope .story-window__bar > span {
  display: flex;
  gap: 5px;
}

:scope .story-window__bar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9eabb4;
}

:scope .story-window__bar i:first-child {
  background: #e85626;
}

:scope .story-window__bar b {
  color: rgb(255 255 255 / 70%);
  text-align: center;
}

:scope .story-window__bar em {
  font-style: normal;
  text-align: right;
}

:scope .story-screen {
  position: absolute;
  top: 52px;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  overflow: hidden;
  background: linear-gradient(145deg, #001b35, #002645 70%, #00182f);
  color: #fff;
  opacity: 0;
  padding: clamp(1.5rem, 3vw, 3rem);
  transform: translateY(30px);
}

:scope .story-screen.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

:scope .story-screen__heading small {
  color: #3883ce;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:scope .story-screen__heading h4 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
  letter-spacing: -0.04em;
}

:scope .story-search {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  border: 1px solid #c6d4dd;
  border-radius: 5px;
  background: #fff;
  padding: 0.55rem;
}

:scope .story-search span {
  color: #536675;
  padding-left: 0.65rem;
  font-size: 0.75rem;
}

:scope .story-search b {
  border-radius: 3px;
  background: #12509b;
  color: #fff;
  padding: 0.75rem 1rem;
  font-size: 0.65rem;
}

:scope .story-found {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 1.2rem;
  border: 1px solid #d3dee4;
  background: #d3dee4;
}

:scope .story-found header {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  background: #fff;
  padding: 0.85rem 1rem;
  font-size: 0.68rem;
}

:scope .story-found header strong {
  color: #087c7b;
}

:scope .story-found > div {
  display: grid;
  gap: 0.35rem;
  background: rgb(255 255 255 / 72%);
  padding: 1rem;
}

:scope .story-found small,
:scope .story-profile span,
:scope .story-rule-grid span {
  color: #7c8b96;
  font-size: 0.58rem;
  text-transform: uppercase;
}

:scope .story-found b {
  font-size: 0.72rem;
}

:scope .story-status {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.7rem;
  align-items: center;
  margin-top: 1.2rem;
  color: #667987;
  font-size: 0.62rem;
}

:scope .story-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #31d0cd;
  box-shadow: 0 0 10px rgb(49 208 205 / 55%);
}

:scope .story-status b {
  color: #087c7b;
}

:scope .story-cost-summary {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

:scope .story-cost-summary span,
:scope .story-rule-grid article,
:scope .story-scale-cards article {
  display: grid;
  gap: 0.35rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 72%);
  padding: 1rem;
}

:scope .story-cost-summary small,
:scope .story-scale-cards small {
  color: #7b8b97;
  font-size: 0.56rem;
  text-transform: uppercase;
}

:scope .story-cost-summary strong {
  font-size: clamp(1.1rem, 1.7vw, 1.7rem);
}

:scope .story-cost-list {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

:scope .story-cost-list p {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.7rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 68%);
  padding: 0.75rem 0.9rem 1rem;
}

:scope .story-cost-list p > span {
  display: grid;
  gap: 0.2rem;
}

:scope .story-cost-list b,
:scope .story-cost-list strong {
  font-size: 0.68rem;
}

:scope .story-cost-list small {
  color: #82919b;
  font-size: 0.55rem;
}

:scope .story-cost-list i {
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--story-width);
  height: 3px;
  background: linear-gradient(90deg, #12509b, #31d0cd);
}

:scope .story-profile {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1.8rem;
  border: 1px solid rgb(18 80 155 / 20%);
  background: rgb(18 80 155 / 7%);
  padding: 1rem;
  font-size: 0.7rem;
}

:scope .story-profile > b {
  color: #087c7b;
}

:scope .story-rule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  margin-top: 1rem;
}

:scope .story-rule-grid strong {
  font-size: 0.8rem;
}

:scope .story-rule-grid small {
  color: #82919b;
  font-size: 0.56rem;
}

:scope .story-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.2rem;
  color: #617482;
  font-size: 0.62rem;
}

:scope .story-toggles span {
  display: flex;
  gap: 0.45rem;
  align-items: center;
}

:scope .story-toggles i {
  width: 22px;
  height: 12px;
  border-radius: 999px;
  background: #31d0cd;
  box-shadow: inset -10px 0 0 #087c7b;
}

:scope .story-scale-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-top: 1.8rem;
}

:scope .story-scale-cards article.is-featured {
  border-color: rgb(49 208 205 / 48%);
  background: #001d3a;
  color: #fff;
}

:scope .story-scale-cards strong {
  font-size: clamp(1.1rem, 1.8vw, 1.7rem);
}

:scope .story-scale-cards span {
  color: #7b8b97;
  font-size: 0.57rem;
}

:scope .story-portfolio-chart {
  margin-top: 1rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 68%);
  padding: 1rem;
}

:scope .story-portfolio-chart header,
:scope .story-portfolio-chart footer {
  display: flex;
  justify-content: space-between;
  color: #71838f;
  font-size: 0.58rem;
}

:scope .story-portfolio-chart > div {
  display: flex;
  align-items: end;
  gap: 8%;
  height: 145px;
  padding: 1rem 4% 0;
  border-bottom: 1px solid #ced9df;
}

:scope .story-portfolio-chart > div i {
  flex: 1;
  height: var(--h);
  background: linear-gradient(#3883ce, #12509b);
}

:scope .story-portfolio-chart footer {
  padding: 0.6rem 3% 0;
}

:scope .story-screen--connected {
  display: grid;
  grid-template-columns: 150px 1fr;
  padding: 0;
  background: #fff;
}

:scope .story-ai-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  border-right: 1px solid #d3dee4;
  background: #e8eef2;
  padding: 1.5rem 1rem;
  color: #536675;
  font-size: 0.65rem;
}

:scope .story-ai-sidebar > small {
  margin-top: auto;
  color: #7d8d98;
  font-size: 0.5rem;
  letter-spacing: 0.12em;
}

:scope .story-ai-sidebar p {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 0.5rem;
  margin: 0;
  border: 1px solid rgb(18 80 155 / 18%);
  background: #fff;
  padding: 0.6rem;
}

:scope .story-ai-sidebar p i {
  grid-row: 1 / 3;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: #12509b;
  color: #fff;
  font-style: normal;
}

:scope .story-ai-sidebar p em {
  color: #82919b;
  font-style: normal;
  font-size: 0.52rem;
}

:scope .story-ai-chat {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  padding: 1.5rem;
}

:scope .story-ai-chat > header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #dce4e9;
  padding-bottom: 1rem;
  font-size: 0.65rem;
}

:scope .story-ai-chat > header span {
  display: grid;
  gap: 0.25rem;
}

:scope .story-ai-chat > header small,
:scope .story-ai-chat > header em {
  color: #82919b;
  font-style: normal;
  font-size: 0.53rem;
}

:scope .story-ai-question {
  justify-self: end;
  max-width: 78%;
  margin-top: 1.25rem;
  border-radius: 7px 7px 0 7px;
  background: #e8eef2;
  padding: 0.9rem;
  color: #425768;
  font-size: 0.67rem;
  line-height: 1.5;
}

:scope .story-ai-answer {
  align-self: start;
  margin-top: 1.15rem;
  border-left: 2px solid #31d0cd;
  padding: 0.25rem 0 0.25rem 1rem;
  font-size: 0.68rem;
}

:scope .story-ai-answer > small {
  color: #087c7b;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

:scope .story-ai-answer p {
  line-height: 1.5;
}

:scope .story-ai-answer > div {
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 0;
  border-bottom: 1px solid #e1e7eb;
}

:scope .story-ai-answer a {
  display: inline-block;
  margin-top: 0.85rem;
  color: #12509b;
  font-weight: 700;
  text-decoration: none;
}

:scope .story-ai-chat > footer {
  border: 1px solid #d4dfe5;
  padding: 0.75rem;
  color: #87959f;
  font-size: 0.62rem;
}

:scope .story-ai-chat > footer b {
  float: right;
  color: #12509b;
}

:scope .story-search,
:scope .story-found header,
:scope .story-found > div,
:scope .story-cost-summary span,
:scope .story-rule-grid article,
:scope .story-scale-cards article,
:scope .story-profile,
:scope .story-portfolio-chart,
:scope .story-ai-sidebar,
:scope .story-ai-sidebar p,
:scope .story-ai-question,
:scope .story-ai-chat > footer {
  border-color: rgb(93 151 211 / 20%);
  background: rgb(4 36 67 / 78%);
  color: rgb(255 255 255 / 82%);
}

:scope .story-found {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(93 151 211 / 18%);
}

:scope .story-search span,
:scope .story-status,
:scope .story-found small,
:scope .story-profile span,
:scope .story-rule-grid span,
:scope .story-cost-summary small,
:scope .story-scale-cards small,
:scope .story-rule-grid small,
:scope .story-scale-cards span,
:scope .story-ai-sidebar p em,
:scope .story-ai-chat > header small,
:scope .story-ai-chat > header em,
:scope .story-ai-chat > footer {
  color: rgb(255 255 255 / 46%);
}

:scope .story-ai-chat > header,
:scope .story-ai-answer > div {
  border-color: rgb(93 151 211 / 18%);
}

:scope .story-ai-answer a,
:scope .story-ai-chat > footer b {
  color: #8db2e8;
}

:scope .story-ai-answer > small,
:scope .story-found header strong,
:scope .story-status b {
  color: #31d0cd;
}

:scope .story-cost-list p,
:scope .story-screen--connected,
:scope .story-ai-chat {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(3 29 56 / 88%);
  color: rgb(255 255 255 / 82%);
}

:scope .story-screen--connected {
  background: linear-gradient(145deg, #00182f, #002746 72%, #00172d);
}

:scope .story-ai-sidebar {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(2 27 52 / 92%);
  color: rgb(255 255 255 / 72%);
}

:scope .story-ai-question {
  background: rgb(74 112 151 / 32%);
  color: rgb(255 255 255 / 76%);
}

:scope .story-portfolio-chart > div {
  border-color: rgb(93 151 211 / 18%);
}

:scope .story-toggles,
:scope .story-portfolio-chart header,
:scope .story-portfolio-chart footer,
:scope .story-cost-list small {
  color: rgb(255 255 255 / 48%);
}

:scope .story-scale-cards article.is-featured {
  background: rgb(9 49 82 / 92%);
}

@media (max-width: 1000px) {
  :scope .forecast-story__pin {
    grid-template-columns: minmax(280px, 0.85fr) minmax(470px, 1.15fr);
    gap: 2.5rem;
  }
}

:scope .forecast-faq {
  padding: clamp(6rem, 10vw, 10rem) var(--page-gutter);
}

:scope .forecast-faq > h2 {
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: rgb(255 255 255 / 64%);
  font-size: clamp(0.78rem, 1vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:scope .forecast-faq__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.4vw, 1.4rem);
}

:scope .forecast-faq__card {
  position: relative;
  min-height: clamp(310px, 28vw, 430px);
  overflow: hidden;
  border-radius: 7px;
  background:
    radial-gradient(circle at 92% 8%, rgb(141 178 232 / 22%), transparent 34%),
    linear-gradient(145deg, #fff 22%, #f3f7fb 100%);
  color: #001d3a;
  padding: clamp(2rem, 3.25vw, 3.75rem);
  grid-column: span 2;
  will-change: clip-path, opacity, transform;
}

:scope .forecast-faq__card::before,
:scope .forecast-faq__card::after {
  position: absolute;
  border: 1px solid rgb(56 131 206 / 10%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

:scope .forecast-faq__card::before {
  right: -14%;
  bottom: -45%;
  width: 58%;
  aspect-ratio: 1;
}

:scope .forecast-faq__card::after {
  right: 8%;
  bottom: -31%;
  width: 34%;
  aspect-ratio: 1;
  box-shadow: 0 0 70px rgb(49 208 205 / 9%);
}

:scope .forecast-faq__card:nth-child(2n) {
  background:
    radial-gradient(circle at 10% 100%, rgb(232 86 38 / 10%), transparent 35%),
    radial-gradient(circle at 88% 12%, rgb(49 208 205 / 16%), transparent 32%),
    #f8fafc;
}

:scope .forecast-faq__card:nth-child(3n)::before {
  top: -35%;
  right: -8%;
  bottom: auto;
}

:scope .forecast-faq__card--wide {
  grid-column: span 3;
}

:scope .forecast-faq__card:last-child {
  grid-column: 1 / -1;
}

:scope .forecast-faq__card:last-child h3 {
  max-width: 1200px;
}

:scope .forecast-faq__card:last-child p {
  max-width: 1150px;
}

:scope .forecast-faq__card > span {
  position: relative;
  z-index: 1;
  color: #3883ce;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

:scope .forecast-faq__card h3 {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: clamp(1.5rem, 3vw, 2.75rem) 0 0;
  font-size: clamp(1.8rem, 2.5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
}

:scope .forecast-faq__card p {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 1.4rem 0 0;
  color: #5f7184;
  font-size: clamp(0.95rem, 1.15vw, 1.12rem);
  line-height: 1.65;
}

@media (max-width: 900px) {
  :scope .forecast-faq__grid {
    grid-template-columns: 1fr 1fr;
  }

  :scope .forecast-faq__card,
  :scope .forecast-faq__card--wide,
  :scope .forecast-faq__card:last-child {
    grid-column: span 1;
  }
}

@media (max-width: 600px) {
  :scope .forecast-faq__grid {
    grid-template-columns: 1fr;
  }

  :scope .forecast-faq__card {
    min-height: 0;
  }
}

@media (max-width: 800px) {
  :scope .forecast-story {
    overflow: hidden;
  }

  :scope .forecast-story__intro {
    min-height: 0;
    padding-bottom: 4rem;
  }

  :scope .forecast-story__intro h2,
  :scope .forecast-story__intro > p:last-of-type {
    width: 100%;
  }

  :scope .forecast-orbit {
    position: relative;
    top: auto;
    right: auto;
    width: 680px;
    margin: 4rem 0 0 -8rem;
  }

  :scope .intelligence-stack {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 34rem);
    height: 34rem;
    min-height: 0;
    margin: 5rem auto 0;
  }

  .reporting-analytics-page .ai-insight-demo {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 38rem);
    height: 590px;
    margin: 4rem auto 0;
  }

  :scope .forecast-story__pin {
    display: block;
    min-height: 0;
    padding-block: 2rem 6rem;
  }

  :scope .forecast-story__nav {
    display: none;
  }

  :scope .forecast-story__copy {
    min-height: 0;
  }

  :scope .forecast-story__counter,
  :scope .forecast-story__visual {
    display: none;
  }

  :scope .forecast-chapter,
  :scope .forecast-chapter.is-active {
    position: relative;
    top: auto;
    visibility: visible;
    opacity: 1;
    transform: none;
    padding: 3rem 0;
    border-top: 1px solid rgb(255 255 255 / 12%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reporting-analytics-page .ai-insight-demo__question,
  .reporting-analytics-page .ai-insight-demo__answer {
    opacity: 1;
    transform: none;
  }

  .reporting-analytics-page .ai-insight-demo__thinking {
    display: none;
  }

  .reporting-analytics-page .ai-insight-demo__chart > span {
    transform: scaleY(1);
  }

  :scope .intelligence-stack .stack-layer {
    opacity: 1;
    animation: none;
    transform: translate3d(0, var(--lift), var(--depth)) rotateX(48deg) rotateZ(-10deg) scale(1);
  }

  :scope .intelligence-stack .stack-layer::before {
    animation: none;
  }

  :scope .forecast-orbit__ring,
  :scope .forecast-orbit__ring b,
  :scope .forecast-orbit__core::before,
  :scope .forecast-orbit__core::after {
    animation: none;
  }

  :scope .forecast-orbit__ring b > span {
    transition: none;
  }
}
}

@scope (.head-of-ip-reference) {
.forecasting-page .forecast-story__pin {
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(580px, 1.2fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(3rem, 5vw, 6rem);
  row-gap: 30px;
  align-items: start;
  min-height: 0;
  padding: clamp(4rem, 7vh, 7rem) var(--page-gutter) 0;
}

.forecasting-page .forecast-story__nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 2.25vw, 2.75rem);
  align-items: center;
  padding-bottom: 0;
  margin-bottom: 0;
}

.forecasting-page .forecast-story__nav span {
  position: relative;
  color: rgb(255 255 255 / 28%);
  font-size: clamp(0.58rem, 0.75vw, 0.72rem);
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color 280ms ease;
}

.forecasting-page .forecast-story__nav span::after {
  content: none;
}

.forecasting-page .forecast-story__nav span.is-active {
  color: #fff;
}

.forecasting-page .forecast-story__nav span.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.forecasting-page .forecast-story__copy {
  position: relative;
  top: 30px;
  min-height: min(650px, 67vh);
}

.forecasting-page .forecast-story__counter {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  grid-template-columns: auto 70px auto;
  gap: 0.8rem;
  align-items: center;
  color: rgb(255 255 255 / 36%);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.forecasting-page .forecast-story__counter span:first-child {
  color: #fff;
}

.forecasting-page .forecast-story__counter i {
  height: 1px;
  background: rgb(255 255 255 / 18%);
}

.forecasting-page .forecast-chapter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transform: translateX(28px);
}

.forecasting-page .forecast-chapter.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.forecasting-page .forecast-chapter h3 {
  margin: 0;
  font-size: clamp(2.5rem, 4vw, 5rem);
  font-weight: 750;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.forecasting-page .forecast-chapter h3 span {
  display: inline-block;
  margin-top: 0.14em;
  color: #8db2e8;
}

.forecasting-page .forecast-chapter > small {
  display: none;
}

.forecasting-page .forecast-chapter > p {
  max-width: 620px;
  margin: 1.6rem 0 0;
  color: rgb(255 255 255 / 60%);
  font-size: clamp(0.95rem, 1.12vw, 1.12rem);
  line-height: 1.75;
}

.forecasting-page .forecast-chapter ul {
  display: grid;
  gap: 0.65rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}

.forecasting-page .forecast-chapter li {
  position: relative;
  border-left: 2px solid rgb(49 208 205 / 60%);
  background: rgb(255 255 255 / 4%);
  color: rgb(255 255 255 / 72%);
  padding: 0.72rem 0.9rem;
  font-size: calc(0.72rem + 2px);
}

.forecasting-page .forecast-story__visual {
  position: relative;
  top: 30px;
  overflow: visible;
  min-width: 0;
}

.forecasting-page .forecast-story__cta {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 90px 0 clamp(5rem, 8vw, 9rem);
}

.forecasting-page .forecast-story__cta > p {
  display: grid;
}

.forecasting-page .forecast-story__cta > p > span {
  grid-area: 1 / 1;
}

.forecasting-page .forecast-story__cta > p > span:not(:first-child) {
  visibility: hidden;
  opacity: 0;
}

.forecasting-page .story-window {
  position: relative;
  height: min(650px, 67vh);
  min-height: 530px;
  overflow: hidden;
  border: 1px solid rgb(93 151 211 / 22%);
  border-radius: 10px;
  background: #001b35;
  box-shadow:
    0 42px 100px rgb(0 5 14 / 76%),
    -24px 28px 90px rgb(18 80 155 / 18%),
    0 0 70px rgb(49 208 205 / 7%);
}

.forecasting-page .story-window__bar {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  height: 52px;
  padding: 0 1.25rem;
  border-bottom: 1px solid rgb(93 151 211 / 18%);
  background: rgb(0 24 48 / 94%);
  color: rgb(255 255 255 / 45%);
  font-size: 0.62rem;
}

.forecasting-page .story-window__bar > span {
  display: flex;
  gap: 5px;
}

.forecasting-page .story-window__bar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9eabb4;
}

.forecasting-page .story-window__bar i:first-child {
  background: #e85626;
}

.forecasting-page .story-window__bar b {
  color: rgb(255 255 255 / 70%);
  text-align: center;
}

.forecasting-page .story-window__bar em {
  font-style: normal;
  text-align: right;
}

.forecasting-page .story-screen {
  position: absolute;
  top: 52px;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  overflow: hidden;
  background: linear-gradient(145deg, #001b35, #002645 70%, #00182f);
  color: #fff;
  opacity: 0;
  padding: clamp(1.5rem, 3vw, 3rem);
  transform: translateY(30px);
}

.forecasting-page .story-screen.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.forecasting-page .story-screen__heading small {
  color: #3883ce;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.forecasting-page .story-screen__heading h4 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
  letter-spacing: -0.04em;
}

.forecasting-page .story-search {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  border: 1px solid #c6d4dd;
  border-radius: 5px;
  background: #fff;
  padding: 0.55rem;
}

.forecasting-page .story-search span {
  color: #536675;
  padding-left: 0.65rem;
  font-size: 0.75rem;
}

.forecasting-page .story-search b {
  border-radius: 3px;
  background: #12509b;
  color: #fff;
  padding: 0.75rem 1rem;
  font-size: 0.65rem;
}

.forecasting-page .story-found {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 1.2rem;
  border: 1px solid #d3dee4;
  background: #d3dee4;
}

.forecasting-page .story-found header {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  background: #fff;
  padding: 0.85rem 1rem;
  font-size: 0.68rem;
}

.forecasting-page .story-found header strong {
  color: #087c7b;
}

.forecasting-page .story-found > div {
  display: grid;
  gap: 0.35rem;
  background: rgb(255 255 255 / 72%);
  padding: 1rem;
}

.forecasting-page .story-found small,
.forecasting-page .story-profile span,
.forecasting-page .story-rule-grid span {
  color: #7c8b96;
  font-size: 0.58rem;
  text-transform: uppercase;
}

.forecasting-page .story-found b {
  font-size: 0.72rem;
}

.forecasting-page .story-status {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.7rem;
  align-items: center;
  margin-top: 1.2rem;
  color: #667987;
  font-size: 0.62rem;
}

.forecasting-page .story-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #31d0cd;
  box-shadow: 0 0 10px rgb(49 208 205 / 55%);
}

.forecasting-page .story-status b {
  color: #087c7b;
}

.forecasting-page .story-cost-summary {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.forecasting-page .story-cost-summary span,
.forecasting-page .story-rule-grid article,
.forecasting-page .story-scale-cards article {
  display: grid;
  gap: 0.35rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 72%);
  padding: 1rem;
}

.forecasting-page .story-cost-summary small,
.forecasting-page .story-scale-cards small {
  color: #7b8b97;
  font-size: 0.56rem;
  text-transform: uppercase;
}

.forecasting-page .story-cost-summary strong {
  font-size: clamp(1.1rem, 1.7vw, 1.7rem);
}

.forecasting-page .story-cost-list {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.forecasting-page .story-cost-list p {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.7rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 68%);
  padding: 0.75rem 0.9rem 1rem;
}

.forecasting-page .story-cost-list p > span {
  display: grid;
  gap: 0.2rem;
}

.forecasting-page .story-cost-list b,
.forecasting-page .story-cost-list strong {
  font-size: 0.68rem;
}

.forecasting-page .story-cost-list small {
  color: #82919b;
  font-size: 0.55rem;
}

.forecasting-page .story-cost-list i {
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--story-width);
  height: 3px;
  background: linear-gradient(90deg, #12509b, #31d0cd);
}

.forecasting-page .story-profile {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1.8rem;
  border: 1px solid rgb(18 80 155 / 20%);
  background: rgb(18 80 155 / 7%);
  padding: 1rem;
  font-size: 0.7rem;
}

.forecasting-page .story-profile > b {
  color: #087c7b;
}

.forecasting-page .story-rule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  margin-top: 1rem;
}

.forecasting-page .story-rule-grid strong {
  font-size: 0.8rem;
}

.forecasting-page .story-rule-grid small {
  color: #82919b;
  font-size: 0.56rem;
}

.forecasting-page .story-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.2rem;
  color: #617482;
  font-size: 0.62rem;
}

.forecasting-page .story-toggles span {
  display: flex;
  gap: 0.45rem;
  align-items: center;
}

.forecasting-page .story-toggles i {
  width: 22px;
  height: 12px;
  border-radius: 999px;
  background: #31d0cd;
  box-shadow: inset -10px 0 0 #087c7b;
}

.forecasting-page .story-scale-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-top: 1.8rem;
}

.forecasting-page .story-scale-cards article.is-featured {
  border-color: rgb(49 208 205 / 48%);
  background: #001d3a;
  color: #fff;
}

.forecasting-page .story-scale-cards strong {
  font-size: clamp(1.1rem, 1.8vw, 1.7rem);
}

.forecasting-page .story-scale-cards span {
  color: #7b8b97;
  font-size: 0.57rem;
}

.forecasting-page .story-portfolio-chart {
  margin-top: 1rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 68%);
  padding: 1rem;
}

.forecasting-page .story-portfolio-chart header,
.forecasting-page .story-portfolio-chart footer {
  display: flex;
  justify-content: space-between;
  color: #71838f;
  font-size: 0.58rem;
}

.forecasting-page .story-portfolio-chart > div {
  display: flex;
  align-items: end;
  gap: 8%;
  height: 145px;
  padding: 1rem 4% 0;
  border-bottom: 1px solid #ced9df;
}

.forecasting-page .story-portfolio-chart > div i {
  flex: 1;
  height: var(--h);
  background: linear-gradient(#3883ce, #12509b);
}

.forecasting-page .story-portfolio-chart footer {
  padding: 0.6rem 3% 0;
}

.forecasting-page .story-screen--connected {
  display: grid;
  grid-template-columns: 150px 1fr;
  padding: 0;
  background: #fff;
}

.forecasting-page .story-ai-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  border-right: 1px solid #d3dee4;
  background: #e8eef2;
  padding: 1.5rem 1rem;
  color: #536675;
  font-size: 0.65rem;
}

.forecasting-page .story-ai-sidebar > small {
  margin-top: auto;
  color: #7d8d98;
  font-size: 0.5rem;
  letter-spacing: 0.12em;
}

.forecasting-page .story-ai-sidebar p {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 0.5rem;
  margin: 0;
  border: 1px solid rgb(18 80 155 / 18%);
  background: #fff;
  padding: 0.6rem;
}

.forecasting-page .story-ai-sidebar p i {
  grid-row: 1 / 3;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: #12509b;
  color: #fff;
  font-style: normal;
}

.forecasting-page .story-ai-sidebar p em {
  color: #82919b;
  font-style: normal;
  font-size: 0.52rem;
}

.forecasting-page .story-ai-chat {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  padding: 1.5rem;
}

.forecasting-page .story-ai-chat > header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #dce4e9;
  padding-bottom: 1rem;
  font-size: 0.65rem;
}

.forecasting-page .story-ai-chat > header span {
  display: grid;
  gap: 0.25rem;
}

.forecasting-page .story-ai-chat > header small,
.forecasting-page .story-ai-chat > header em {
  color: #82919b;
  font-style: normal;
  font-size: 0.53rem;
}

.forecasting-page .story-ai-question {
  justify-self: end;
  max-width: 78%;
  margin-top: 1.25rem;
  border-radius: 7px 7px 0 7px;
  background: #e8eef2;
  padding: 0.9rem;
  color: #425768;
  font-size: 0.67rem;
  line-height: 1.5;
}

.forecasting-page .story-ai-answer {
  align-self: start;
  margin-top: 1.15rem;
  border-left: 2px solid #31d0cd;
  padding: 0.25rem 0 0.25rem 1rem;
  font-size: 0.68rem;
}

.forecasting-page .story-ai-answer > small {
  color: #087c7b;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.forecasting-page .story-ai-answer p {
  line-height: 1.5;
}

.forecasting-page .story-ai-answer > div {
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 0;
  border-bottom: 1px solid #e1e7eb;
}

.forecasting-page .story-ai-answer a {
  display: inline-block;
  margin-top: 0.85rem;
  color: #12509b;
  font-weight: 700;
  text-decoration: none;
}

.forecasting-page .story-ai-chat > footer {
  border: 1px solid #d4dfe5;
  padding: 0.75rem;
  color: #87959f;
  font-size: 0.62rem;
}

.forecasting-page .story-ai-chat > footer b {
  float: right;
  color: #12509b;
}

.forecasting-page .story-search,
.forecasting-page .story-found header,
.forecasting-page .story-found > div,
.forecasting-page .story-cost-summary span,
.forecasting-page .story-rule-grid article,
.forecasting-page .story-scale-cards article,
.forecasting-page .story-profile,
.forecasting-page .story-portfolio-chart,
.forecasting-page .story-ai-sidebar,
.forecasting-page .story-ai-sidebar p,
.forecasting-page .story-ai-question,
.forecasting-page .story-ai-chat > footer {
  border-color: rgb(93 151 211 / 20%);
  background: rgb(4 36 67 / 78%);
  color: rgb(255 255 255 / 82%);
}

.forecasting-page .story-found {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(93 151 211 / 18%);
}

.forecasting-page .story-search span,
.forecasting-page .story-status,
.forecasting-page .story-found small,
.forecasting-page .story-profile span,
.forecasting-page .story-rule-grid span,
.forecasting-page .story-cost-summary small,
.forecasting-page .story-scale-cards small,
.forecasting-page .story-rule-grid small,
.forecasting-page .story-scale-cards span,
.forecasting-page .story-ai-sidebar p em,
.forecasting-page .story-ai-chat > header small,
.forecasting-page .story-ai-chat > header em,
.forecasting-page .story-ai-chat > footer {
  color: rgb(255 255 255 / 46%);
}

.forecasting-page .story-ai-chat > header,
.forecasting-page .story-ai-answer > div {
  border-color: rgb(93 151 211 / 18%);
}

.forecasting-page .story-ai-answer a,
.forecasting-page .story-ai-chat > footer b {
  color: #8db2e8;
}

.forecasting-page .story-ai-answer > small,
.forecasting-page .story-found header strong,
.forecasting-page .story-status b {
  color: #31d0cd;
}

.forecasting-page .story-cost-list p,
.forecasting-page .story-screen--connected,
.forecasting-page .story-ai-chat {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(3 29 56 / 88%);
  color: rgb(255 255 255 / 82%);
}

.forecasting-page .story-screen--connected {
  background: linear-gradient(145deg, #00182f, #002746 72%, #00172d);
}

.forecasting-page .story-ai-sidebar {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(2 27 52 / 92%);
  color: rgb(255 255 255 / 72%);
}

.forecasting-page .story-ai-question {
  background: rgb(74 112 151 / 32%);
  color: rgb(255 255 255 / 76%);
}

.forecasting-page .story-portfolio-chart > div {
  border-color: rgb(93 151 211 / 18%);
}

.forecasting-page .story-toggles,
.forecasting-page .story-portfolio-chart header,
.forecasting-page .story-portfolio-chart footer,
.forecasting-page .story-cost-list small {
  color: rgb(255 255 255 / 48%);
}

.forecasting-page .story-scale-cards article.is-featured {
  background: rgb(9 49 82 / 92%);
}

@media (max-width: 1000px) {
  .forecasting-page .forecast-story__pin {
    grid-template-columns: minmax(280px, 0.85fr) minmax(470px, 1.15fr);
    gap: 2.5rem;
  }
}

.forecasting-page .forecast-faq {
  padding: clamp(6rem, 10vw, 10rem) var(--page-gutter);
}

.forecasting-page .forecast-faq > h2 {
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: rgb(255 255 255 / 64%);
  font-size: clamp(0.78rem, 1vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.forecasting-page .forecast-faq__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.4vw, 1.4rem);
}

.forecasting-page .forecast-faq__card {
  position: relative;
  min-height: clamp(310px, 28vw, 430px);
  overflow: hidden;
  border-radius: 7px;
  background:
    radial-gradient(circle at 92% 8%, rgb(141 178 232 / 22%), transparent 34%),
    linear-gradient(145deg, #fff 22%, #f3f7fb 100%);
  color: #001d3a;
  padding: clamp(2rem, 3.25vw, 3.75rem);
  grid-column: span 2;
  will-change: clip-path, opacity, transform;
}

.forecasting-page .forecast-faq__card::before,
.forecasting-page .forecast-faq__card::after {
  position: absolute;
  border: 1px solid rgb(56 131 206 / 10%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.forecasting-page .forecast-faq__card::before {
  right: -14%;
  bottom: -45%;
  width: 58%;
  aspect-ratio: 1;
}

.forecasting-page .forecast-faq__card::after {
  right: 8%;
  bottom: -31%;
  width: 34%;
  aspect-ratio: 1;
  box-shadow: 0 0 70px rgb(49 208 205 / 9%);
}

.forecasting-page .forecast-faq__card:nth-child(2n) {
  background:
    radial-gradient(circle at 10% 100%, rgb(232 86 38 / 10%), transparent 35%),
    radial-gradient(circle at 88% 12%, rgb(49 208 205 / 16%), transparent 32%),
    #f8fafc;
}

.forecasting-page .forecast-faq__card:nth-child(3n)::before {
  top: -35%;
  right: -8%;
  bottom: auto;
}

.forecasting-page .forecast-faq__card--wide {
  grid-column: span 3;
}

.forecasting-page .forecast-faq__card:last-child {
  grid-column: 1 / -1;
}

.forecasting-page .forecast-faq__card:last-child h3 {
  max-width: 1200px;
}

.forecasting-page .forecast-faq__card:last-child p {
  max-width: 1150px;
}

.forecasting-page .forecast-faq__card > span {
  position: relative;
  z-index: 1;
  color: #3883ce;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.forecasting-page .forecast-faq__card h3 {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: clamp(1.5rem, 3vw, 2.75rem) 0 0;
  font-size: clamp(1.8rem, 2.5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
}

.forecasting-page .forecast-faq__card p {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 1.4rem 0 0;
  color: #5f7184;
  font-size: clamp(0.95rem, 1.15vw, 1.12rem);
  line-height: 1.65;
}

@media (max-width: 900px) {
  .forecasting-page .forecast-faq__grid {
    grid-template-columns: 1fr 1fr;
  }

  .forecasting-page .forecast-faq__card,
  .forecasting-page .forecast-faq__card--wide,
  .forecasting-page .forecast-faq__card:last-child {
    grid-column: span 1;
  }
}

@media (max-width: 600px) {
  .forecasting-page .forecast-faq__grid {
    grid-template-columns: 1fr;
  }

  .forecasting-page .forecast-faq__card {
    min-height: 0;
  }
}

@media (max-width: 800px) {
  .forecasting-page .forecast-story {
    overflow: hidden;
  }

  .forecasting-page .forecast-story__intro {
    min-height: 0;
    padding-bottom: 4rem;
  }

  .forecasting-page .forecast-story__intro h2,
  .forecasting-page .forecast-story__intro > p:last-of-type {
    width: 100%;
  }

  .forecasting-page .forecast-orbit {
    position: relative;
    top: auto;
    right: auto;
    width: 680px;
    margin: 4rem 0 0 -8rem;
  }

  .forecasting-page .forecast-story__pin {
    display: block;
    min-height: 0;
    padding-block: 2rem 6rem;
  }

  .forecasting-page .forecast-story__nav {
    display: none;
  }

  .forecasting-page .forecast-story__copy {
    min-height: 0;
  }

  .forecasting-page .forecast-story__counter,
  .forecasting-page .forecast-story__visual {
    display: none;
  }

  .forecasting-page .forecast-chapter,
  .forecasting-page .forecast-chapter.is-active {
    position: relative;
    top: auto;
    visibility: visible;
    opacity: 1;
    transform: none;
    padding: 3rem 0;
    border-top: 1px solid rgb(255 255 255 / 12%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .forecasting-page .forecast-orbit__ring,
  .forecasting-page .forecast-orbit__ring b,
  .forecasting-page .forecast-orbit__core::before,
  .forecasting-page .forecast-orbit__core::after {
    animation: none;
  }

  .forecasting-page .forecast-orbit__ring b > span {
    transition: none;
  }
}

.law-firms-page .hero__content h1 {
  font-size: clamp(3rem, 4.55vw, 5.5rem);
}

.law-firms-page .hero__content h1 > span:first-child {
  white-space: normal;
}

.law-firms-page .hero__content h1 span:last-child {
  color: #8db2e8;
}

.law-firms-page .product-showcase[data-static-showcase] {
  height: 590px;
  grid-template-rows: minmax(0, 570px);
  grid-template-areas: "stage";
}

.law-firms-page .product-showcase[data-static-showcase] .product-showcase__nav {
  display: none;
}

.law-firms-page .product-showcase[data-static-showcase] .product-scene:not([data-product-scene="whatif"]) {
  display: none;
}

.law-firms-page .product-showcase[data-static-showcase] [data-product-scene="whatif"] {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 800px) {
  .law-firms-page .hero__content h1 {
    margin-inline: 0;
  }

  .law-firms-page .product-showcase[data-static-showcase] {
    height: 500px;
    grid-template-rows: minmax(0, 480px);
  }
}

.law-comparison {
  padding: clamp(6rem, 10vw, 10rem) var(--page-gutter);
  background: #f4f7f9;
  color: #001d3a;
}

.law-comparison__header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .55fr);
  gap: 1rem clamp(3rem, 8vw, 9rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.law-comparison__header > span {
  grid-column: 1 / -1;
  color: #12509b;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.law-comparison__header h2 {
  margin: 0;
  font-size: clamp(2.5rem, 4.3vw, 5.1rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.law-comparison__header h2 em {
  color: #e85626;
  font-style: normal;
}

.law-comparison__header p {
  margin: 0 0 .35rem;
  color: #5e7080;
  font-size: clamp(.98rem, 1.16vw, 1.14rem);
  line-height: 1.65;
}

.law-comparison__scroll {
  overflow-x: auto;
  border: 1px solid #d6e0e7;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 22px 60px rgb(16 49 77 / 8%);
}

.law-comparison__table {
  width: 100%;
  min-width: 840px;
  border-collapse: collapse;
  table-layout: fixed;
}

.law-comparison__table th,
.law-comparison__table td {
  padding: 1.3rem clamp(1.25rem, 2vw, 2rem);
  border-bottom: 1px solid #e2e8ed;
  text-align: left;
  vertical-align: middle;
}

.law-comparison__table thead th {
  padding-block: 1.55rem;
  background: #fff;
  color: #83909d;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.law-comparison__table thead th:first-child {
  width: 46%;
}

.law-comparison__table thead th:not(:first-child) {
  width: 27%;
}

.law-comparison__table thead .is-prokurio {
  background: #12509b;
  color: #fff;
}

.law-comparison__category th {
  padding-block: .9rem;
  background: #e9f0f6;
  color: #12509b;
}

.law-comparison__category th {
  position: relative;
}

.law-comparison__category span {
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.law-comparison__category button {
  float: right;
  border: 0;
  background: transparent;
  color: #50677a;
  font: inherit;
  font-size: .72rem;
  font-weight: 700;
  cursor: pointer;
}

.law-comparison__category button b {
  display: inline-block;
  margin-left: .4rem;
  color: #e85626;
  font-size: 1rem;
}

.law-comparison__table tbody > tr:not(.law-comparison__category) th {
  color: #152f47;
  font-size: clamp(.91rem, 1.05vw, 1.04rem);
  font-weight: 650;
  line-height: 1.4;
}

.law-comparison__table tbody > tr:not(.law-comparison__category) td {
  color: #687887;
  font-size: clamp(.84rem, .93vw, .96rem);
  line-height: 1.45;
}

.law-comparison__table tbody > tr:not(.law-comparison__category) .is-prokurio {
  border-left: 1px solid #d7e3ed;
  background: #f2f7fb;
  color: #087c7b;
}

.law-comparison__table .is-prokurio strong {
  font-weight: 750;
}

.law-comparison__table tr[hidden] {
  display: none;
}

.law-comparison__expand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  margin-top: 1.25rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #ccd8e0;
  border-radius: 4px;
  background: #fff;
  color: #001d3a;
  font: inherit;
  font-size: .9rem;
  font-weight: 750;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease;
}

.law-comparison__expand:hover,
.law-comparison__expand:focus-visible {
  border-color: #12509b;
  color: #12509b;
}

.law-comparison__expand b {
  color: #e85626;
  font-size: 1.15rem;
}

.law-comparison__note {
  margin: 1rem 0 0;
  color: #788794;
  font-size: .72rem;
  text-align: center;
}

@media (max-width: 800px) {
  .law-comparison__header {
    grid-template-columns: 1fr;
  }

  .law-comparison__header > span {
    grid-column: 1;
  }
}

.law-firms-page .law-value-shift {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(430px, 1fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}

.law-firms-page .law-value-shift__intro {
  min-width: 0;
}

.law-firms-page .law-value-shift h2 {
  font-size: clamp(2.7rem, 4.35vw, 4.8rem);
  line-height: 1.04;
}

.law-firms-page .law-value-shift h2 .proof-title__line + .proof-title__line {
  margin-top: .22em;
}

.law-firms-page .law-value-shift .proof-section__description {
  max-width: 37rem;
  margin: clamp(1.8rem, 3vw, 3rem) 0 0;
  font-size: clamp(.95rem, 1.15vw, 1.15rem);
  line-height: 1.75;
}

.law-value-shift__comparison {
  border-bottom: 1px solid #d4dee6;
}

.law-value-shift__headers,
.law-value-shift__row {
  display: grid;
  grid-template-columns: 1fr 1.22fr;
}

.law-value-shift__headers {
  padding: 0 0 .9rem;
  color: #7a8997;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.law-value-shift__headers span:last-child {
  padding-left: clamp(1.5rem, 2.5vw, 2.5rem);
}

.law-value-shift__row {
  position: relative;
  min-height: 104px;
}

.law-value-shift__row::before {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: #d4dee6;
  content: "";
  pointer-events: none;
}

.law-value-shift__before,
.law-value-shift__after {
  display: flex;
  align-items: center;
  min-width: 0;
}

.law-value-shift__before {
  gap: .8rem;
  padding-right: 1.25rem;
  color: #566a7b;
  font-size: clamp(.92rem, 1.15vw, 1.08rem);
  opacity: 0;
  transform: translateX(-18px);
  transition: opacity .5s ease, transform .6s cubic-bezier(.22, 1, .36, 1), color .25s ease;
}

.law-value-shift__before > i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #9babba;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.law-value-shift__row.is-before-visible .law-value-shift__before {
  opacity: 1;
  transform: none;
}

.law-value-shift__row.is-resolving .law-value-shift__before {
  color: #c8342d;
  animation: law-before-flash .7s ease both;
}

.law-value-shift__row.is-resolving .law-value-shift__before > i {
  background: #e6453b;
  box-shadow: 0 0 0 7px rgb(230 69 59 / 13%), 0 0 18px rgb(230 69 59 / 36%);
  transform: scale(1.15);
}

.law-value-shift__after {
  gap: clamp(.85rem, 1.5vw, 1.4rem);
  padding-left: clamp(1.5rem, 2.5vw, 2.5rem);
  border-left: 1px solid #d4dee6;
  opacity: 0;
  transform: translateX(-14px);
  transition: opacity .55s ease, transform .65s cubic-bezier(.22, 1, .36, 1);
}

.law-value-shift__after i {
  color: #e85626;
  font-size: 1.35rem;
  font-style: normal;
}

.law-value-shift__after strong {
  color: #087c7b;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.3;
}

.law-value-shift__row.is-answered .law-value-shift__after {
  opacity: 1;
  transform: none;
}

@keyframes law-before-flash {
  0%, 100% { background: transparent; }
  35% { background: linear-gradient(90deg, rgb(230 69 59 / 12%), transparent); }
}

@media (max-width: 1050px) {
  .law-firms-page .law-value-shift {
    grid-template-columns: 1fr;
  }

  .law-firms-page .law-value-shift__intro {
    max-width: 52rem;
  }
}

@media (max-width: 600px) {
  .law-value-shift__headers,
  .law-value-shift__row {
    grid-template-columns: .92fr 1.08fr;
  }

  .law-value-shift__row {
    min-height: 122px;
  }

  .law-value-shift__headers span:last-child,
  .law-value-shift__after {
    padding-left: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .law-value-shift__before,
  .law-value-shift__after {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}

.law-advantage-builder {
  position: relative;
  padding: clamp(1rem, 2vw, 3rem) var(--page-gutter);
  color: #fff;
}

.law-advantage-builder::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgb(141 178 232 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(141 178 232 / 4%) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  pointer-events: none;
  mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 80%, transparent);
}

.law-advantage-builder__inner {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

.law-advantage-builder__header {
  display: grid;
  gap: 3rem;
  align-items: end;
  margin-bottom: clamp(1rem, 2vw, 3rem);
}

.law-advantage-builder__header > span {
  grid-column: 1 / -1;
  margin-bottom: -1.75rem;
  color: #ffc95c;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.law-advantage-builder__header h2 {
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 5.8rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: .98;
}

.law-advantage-builder__header p {
  margin: 0 0 .35rem;
  color: rgb(255 255 255 / 62%);
  font-size: 1.12rem;
  line-height: 1.75;
}

.law-advantage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.law-advantage-card {
  position: relative;
  display: flex;
  min-height: 265px;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  border: 1px solid rgb(141 178 232 / 17%);
  border-radius: 6px;
  background: linear-gradient(150deg, rgb(15 52 89 / 88%), rgb(2 24 47 / 96%));
  color: #fff;
  padding: 2rem 4.25rem 2rem 2rem;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .38s ease, border-color .38s ease, color .38s ease, transform .3s ease, box-shadow .38s ease;
}

.law-advantage-card::after {
  position: absolute;
  right: -25%;
  bottom: -45%;
  width: 80%;
  height: 70%;
  border-radius: 50%;
  background: #31d0cd;
  content: "";
  filter: blur(65px);
  opacity: .07;
  pointer-events: none;
  transition: opacity .38s ease;
}

.law-advantage-card:hover {
  border-color: rgb(141 178 232 / 42%);
  transform: translateY(-3px);
}

.law-advantage-card:focus-visible {
  outline: 2px solid #31d0cd;
  outline-offset: 3px;
}

.law-advantage-card__check {
  position: absolute;
  z-index: 2;
  top: 2rem;
  right: 2rem;
  width: 22px;
  height: 22px;
  border: 1.5px solid rgb(141 178 232 / 62%);
  border-radius: 50%;
  transition: background .3s ease, border-color .3s ease;
}

.law-advantage-card__check::after {
  position: absolute;
  top: 3px;
  left: 7px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  opacity: 0;
  transform: rotate(45deg) scale(.5);
  transition: opacity .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.law-advantage-card small {
  margin-top: 0;
  color: #8db2e8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.law-advantage-card h3 {
  max-width: 310px;
  margin: .7rem 0 .9rem;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.08;
}

.law-advantage-card p {
  margin: 0;
  color: rgb(255 255 255 / 55%);
  font-size: .78rem;
  line-height: 1.65;
  transition: color .38s ease;
}

.law-advantage-card[aria-pressed="true"] {
  border-color: rgb(255 255 255 / 80%);
  background: linear-gradient(145deg, #fff, #eaf2f8);
  color: #001d3a;
  box-shadow: 0 20px 55px rgb(0 4 14 / 24%);
  transform: translateY(-4px);
}

.law-advantage-card[aria-pressed="true"]::after {
  opacity: .15;
}

.law-advantage-card[aria-pressed="true"] .law-advantage-card__check {
  border-color: #e85626;
  background: #e85626;
}

.law-advantage-card[aria-pressed="true"] .law-advantage-card__check::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.law-advantage-card[aria-pressed="true"] small {
  color: #3473a1;
}

.law-advantage-card[aria-pressed="true"] p {
  color: #5b6d7e;
}

.law-advantage-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  width: 100%;
  margin: 15px 0 4rem !important;
}

.law-advantage-cta p {
  max-width: 800px;
  margin: 0;
  color: #fff;
  font-size: clamp(1rem, 1.7vw, 1.45rem);
  font-weight: 600;
  line-height: 1.45;
  transition: opacity .18s ease, transform .18s ease;
}

.law-advantage-cta p.is-changing {
  opacity: 0;
  transform: translateY(5px);
}

.law-advantage-cta a {
  min-width: 150px;
  text-align: center;
}

@media (max-width: 900px) {
  .law-advantage-builder__header {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .law-advantage-builder__header > span {
    margin-bottom: 0;
  }

  .law-advantage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .law-advantage-builder {
    padding-inline: 1.5rem;
  }

  .law-advantage-grid {
    grid-template-columns: 1fr;
  }

  .law-advantage-card {
    min-height: 245px;
  }

  .law-advantage-cta {
    grid-template-columns: 1fr;
  }

  .law-advantage-cta a {
    width: 100%;
  }
}

.law-firms-page .law-role-section {
  min-height: auto;
  padding: clamp(6.5rem, 9vw, 9rem) 0;
}

.law-firms-page .law-role-pin {
  display: block;
  min-height: 0;
  padding: 0 var(--page-gutter);
}

.law-role-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.law-role-header > span {
  color: #68b9ec;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.law-role-header h2 {
  grid-column: 1;
  max-width: 850px;
  margin: .8rem 0 0;
  color: #fff;
  font-size: clamp(2.75rem, 5.1vw, 5.75rem);
  line-height: .94;
  letter-spacing: -.055em;
}

.law-role-header h2 em {
  color: #f15a29;
  font-style: normal;
}

.law-role-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  border-bottom: 1px solid rgba(135, 190, 230, .23);
}

.law-role-nav button {
  position: relative;
  padding: 1.2rem 1rem 1.35rem;
  border: 0;
  background: transparent;
  color: #8298ac;
  font: inherit;
  font-size: clamp(.8rem, 1.2vw, 1rem);
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}

.law-role-nav button::after {
  position: absolute;
  right: 1rem;
  bottom: -1px;
  left: 1rem;
  height: 3px;
  background: #f15a29;
  content: "";
  opacity: 0;
  transform: scaleX(.45);
  transition: opacity .2s ease, transform .2s ease;
}

.law-role-nav button:hover,
.law-role-nav button:focus-visible,
.law-role-nav button.is-active {
  color: #fff;
}

.law-role-nav button.is-active {
  background: rgba(27, 80, 122, .2);
}

.law-role-nav button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.law-role-stage {
  min-height: 440px;
  border: 1px solid rgba(135, 190, 230, .2);
  border-top: 0;
  background: linear-gradient(135deg, rgba(17, 61, 99, .6), rgba(0, 23, 46, .82));
}

.law-role-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
  min-height: 440px;
  padding: clamp(2.5rem, 5vw, 5rem);
  animation: lawRoleReveal .38s ease both;
}

.law-role-panel[hidden] {
  display: none;
}

.law-role-panel__copy h3 {
  max-width: 520px;
  margin: 0 0 1.2rem;
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3.6rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.law-role-panel__copy small {
  display: block;
  margin-bottom: 1rem;
  color: #68b9ec;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.law-role-panel__copy p {
  max-width: 500px;
  margin: 0;
  color: #afc0cf;
  font-size: clamp(1rem, 1.25vw, 1.17rem);
  line-height: 1.6;
}

.law-role-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.law-role-points li {
  position: relative;
  min-height: 112px;
  padding: 1.4rem 1.4rem 1.4rem 3.25rem;
  border: 1px solid rgba(135, 190, 230, .2);
  background: rgba(6, 41, 73, .72);
  color: #fff;
  font-size: clamp(.92rem, 1.15vw, 1.07rem);
  font-weight: 650;
  line-height: 1.35;
}

.law-role-points li::before {
  position: absolute;
  top: 1.45rem;
  left: 1.35rem;
  width: 10px;
  height: 10px;
  border: 2px solid #58cde3;
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 12px rgba(88, 205, 227, .45);
}

.law-role-points li > span {
  display: none;
}

.law-role-points li > strong {
  font-weight: 650;
}

.law-role-points li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 88px;
}

@keyframes lawRoleReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .law-role-header,
  .law-role-panel {
    grid-template-columns: 1fr;
  }

  .law-role-panel {
    gap: 2.5rem;
  }
}

@media (max-width: 680px) {
  .law-role-nav {
    grid-template-columns: 1fr;
    border: 1px solid rgba(135, 190, 230, .2);
  }

  .law-role-nav button {
    border-bottom: 1px solid rgba(135, 190, 230, .14);
  }

  .law-role-stage {
    border-top: 0;
  }

  .law-role-panel {
    min-height: 0;
    padding: 2rem 1.35rem;
  }

  .law-role-points {
    grid-template-columns: 1fr;
  }

  .law-role-points li:last-child:nth-child(odd) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .law-role-panel { animation: none; }
}

.law-firms-page .law-role-section {
  padding: 0;
}

.law-firms-page .law-role-pin {
  display: grid;
  grid-template-columns: minmax(340px, .8fr) minmax(580px, 1.2fr);
  grid-template-rows: auto min(560px, 52vh) auto;
  column-gap: clamp(3rem, 5vw, 6rem);
  row-gap: 6.5rem;
  align-items: start;
  align-content: start;
  min-height: 100vh;
  padding: clamp(5rem, 9vh, 8rem) var(--page-gutter);
}

.law-firms-page .law-role-nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 2.25vw, 2.75rem);
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

.law-firms-page .law-role-nav span {
  position: relative;
  color: rgb(255 255 255 / 28%);
  font-size: clamp(.58rem, .75vw, .72rem);
  font-weight: 750;
  letter-spacing: .04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color 280ms ease;
}

.law-firms-page .law-role-nav span.is-active {
  color: #fff;
}

.law-firms-page .law-role-copy {
  position: relative;
  top: 0;
  display: grid;
  align-items: center;
  min-height: min(560px, 52vh);
}

.law-firms-page .law-role-copy .forecast-chapter {
  position: relative;
  top: auto;
  left: auto;
  grid-area: 1 / 1;
}

.law-firms-page .law-role-copy .forecast-chapter h3 {
  font-size: clamp(2.5rem, 4vw, 5rem);
}

.law-firms-page .law-role-visual {
  position: relative;
  top: 0;
  display: block;
  min-width: 0;
  min-height: min(560px, 52vh);
}

.law-firms-page .law-role-points {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: .5rem;
  margin: 0;
  padding: 0;
  visibility: hidden;
  opacity: 0;
  list-style: none;
  transform: translateX(40px);
}

.law-firms-page .law-role-points.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.law-firms-page .law-role-points li {
  display: grid;
  grid-template-columns: minmax(175px, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.25rem, 2vw, 2.5rem);
  align-items: baseline;
  min-height: 0;
  padding: clamp(1.25rem, 2.5vh, 2.75rem) clamp(1.35rem, 1.7vw, 1.75rem);
  border: 0;
  background: radial-gradient(circle at 18% 0%, rgb(18 80 155 / 12%), transparent 42%), #000814;
  border-radius: 4px;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(.98rem, 1.08vw, 1.12rem);
  font-weight: 400;
  line-height: 1.45;
}

.law-firms-page .law-role-points li:first-child {
  border-top: 0;
}

.law-firms-page .law-role-points li:last-child {
  border-bottom: 0;
}

.law-firms-page .law-role-points li:last-child:nth-child(odd) {
  grid-column: auto;
  min-height: 0;
}

.law-firms-page .law-role-points li::before {
  content: none;
}

.law-firms-page .law-role-points li > strong {
  color: #e85626;
  font-size: clamp(1.15rem, 1.38vw, 1.4rem);
  font-weight: 750;
  line-height: 1.22;
}

.law-firms-page .law-role-points li > span {
  display: block;
  color: rgb(255 255 255 / 62%);
  line-height: 1.55;
}

.law-firms-page .law-role-quotes {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
}

.law-firms-page .law-role-quote {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: clamp(1.35rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem);
  border-radius: 4px;
  background: linear-gradient(145deg, #fff, #f2f6f8);
  color: #001d3a;
  box-shadow: 0 24px 60px rgb(0 5 14 / 22%);
  visibility: hidden;
  opacity: 0;
  transform: translateY(18px);
}

.law-firms-page .law-role-quote.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.law-firms-page .law-role-quote blockquote {
  max-width: 1080px;
  margin: 0;
  font-size: clamp(1.08rem, 1.42vw, 1.48rem);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.48;
}

.law-firms-page .law-role-quote blockquote strong {
  color: #12509b;
  font-weight: 750;
}

.law-firms-page .law-role-quote figcaption {
  max-width: 210px;
  color: #66778a;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
}

@media (max-width: 800px) {
  .law-firms-page .law-role-pin {
    display: block;
    min-height: 0;
    padding-block: 2rem 6rem;
  }

  .law-firms-page .law-role-nav,
  .law-firms-page .law-role-visual,
  .law-firms-page .law-role-quotes,
  .law-firms-page .law-role-copy .forecast-story__counter {
    display: none;
  }

  .law-firms-page .law-role-copy {
    display: block;
    top: auto;
    min-height: 0;
  }

  .law-firms-page .law-role-copy .forecast-chapter,
  .law-firms-page .law-role-copy .forecast-chapter.is-active {
    position: relative;
    top: auto;
    visibility: visible;
    opacity: 1;
    transform: none;
    padding: 3rem 0;
    border-top: 1px solid rgb(255 255 255 / 12%);
  }

  .law-firms-page .law-role-copy .forecast-chapter::after {
    display: block;
    margin-top: 1.5rem;
    color: rgb(255 255 255 / 72%);
    font-size: .9rem;
    line-height: 1.7;
    content: attr(data-mobile-points);
  }
}
}

/* Keep the wide hero graphic inside the page scroll area. */
.fees-costs-page .fees-reference { overflow-x: clip; }

/* Account for the shared site header, which lives above the wireframe content. */
.fees-costs-page .fees-reference .hero { padding-top: clamp(7rem, 10vw, 9rem); }
@media (max-width: 800px) {
  .fees-costs-page .fees-reference { overflow-x: clip; }
  .fees-costs-page .fees-reference .hero { grid-template-columns: minmax(0, 1fr); overflow: hidden; padding-top: 6rem; }
  .fees-costs-page .fees-reference .hero__content { min-width: 0; }
  .fees-costs-page .fees-reference .hero-story { width: 100%; }
  .fees-costs-page .fees-reference .hero__content h1 { max-width: 100%; overflow-wrap: normal; }
}

/* Keep the Fees & Costs chapter pin below the fixed header and within the viewport. */
@media (min-width: 801px) {
  .fees-costs-page #main .forecast-story__pin {
    box-sizing: border-box;
    height: calc(100svh - 90px);
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr) auto;
    row-gap: clamp(1.25rem, 3vh, 2rem);
    padding-top: clamp(1.25rem, 3vh, 2rem);
    padding-bottom: clamp(.9rem, 2vh, 1.5rem);
  }
  .fees-costs-page #main .forecast-story__copy,
  .fees-costs-page #main .forecast-story__visual {
    top: 0;
    height: 100%;
    min-height: 0;
  }
  .fees-costs-page #main .story-window { height: 100%; min-height: 0; }
  .fees-costs-page #main .forecast-story__cta {
    min-height: 72px;
    margin: clamp(.25rem, 1vh, .75rem) 0 0;
  }
  .fees-costs-page #main .forecast-story__cta > p,
  .fees-costs-page #main .forecast-story__cta > a { padding: .8rem 1.25rem; font-size: clamp(.9rem, 1.2vw, 1.2rem); }
  .fees-costs-page #main .forecast-story__cta .cta-bar__chevron { font-size: 2.5rem; }
}
@media (min-width: 801px) and (max-height: 760px) {
  .fees-costs-page #main .forecast-chapter h3 { font-size: clamp(2rem, 3.1vw, 3.2rem); }
  .fees-costs-page #main .forecast-chapter > p { margin-top: 1rem; line-height: 1.5; }
  .fees-costs-page #main .forecast-chapter ul { gap: .4rem; margin-top: 1rem; }
  .fees-costs-page #main .forecast-chapter li { padding: .45rem .7rem; }
  .fees-costs-page #main .story-screen { padding: clamp(1rem, 2vw, 2rem); }
}
/* The reference FAQ uses pale cards; the shared site heading color is light. */
.fees-costs-page #main .forecast-faq__card h3 { color: #001d3a; }

/* Let the scrubbed timeline, rather than the chapter label, control visibility. */
.fees-costs-page #main .forecast-story.is-enhanced .forecast-chapter,
.fees-costs-page #main .forecast-story.is-enhanced .story-screen {
  visibility: visible;
  opacity: 1;
}


/* Head of IP reference page — scoped to .head-of-ip-reference. */
/* Insivia Head of IP reference styles, isolated from shared site chrome. */
/* Head of IP base styles are shared with Fees & Costs above. */

/* Restore the reference's interactive hero and keyboard-accessible chapter controls. */
.head-of-ip-reference .product-showcase__nav { display: block; }
.head-of-ip-reference .product-showcase [data-product-scene] { display: block; }
.head-of-ip-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.head-of-ip-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.head-of-ip-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.head-of-ip-reference .law-role-nav button.is-active { color: #fff; }
.head-of-ip-reference .law-role-nav button::after { content: none; }
.head-of-ip-reference .law-role-nav button:focus-visible, .head-of-ip-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.head-of-ip-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.head-of-ip-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .head-of-ip-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.head-of-ip-reference { overflow-x: clip; }
.head-of-ip-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .head-of-ip-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .head-of-ip-reference .hero__content,
  .head-of-ip-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.head-of-ip-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.head-of-ip-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  /* Keep the wide decorative screen from sizing the mobile copy track. */
  .head-of-ip-reference .forecasting-page .hero {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 6rem;
  }

  .head-of-ip-reference .hero__content {
    min-width: 0;
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .head-of-ip-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product heroes the same right-edge crop without intruding on the copy. */
@media (min-width: 801px) {
  .fees-reference .hero,
  .head-of-ip-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .fees-reference .hero__content,
  .head-of-ip-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .fees-reference .hero .product-showcase--platform,
  .head-of-ip-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

/* Apply that crop to the other graphic-bearing heroes across the site. */
@media (min-width: 1101px) {
  .pw-platform-hero .pw-hero-split {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  }

  .pw-platform-hero .pw-hero-tab-scene__visual {
    right: calc((100vw - min(100vw - 2rem, 1500px)) / -2 - 8vw);
  }

  .spend-hero__stage,
  .security-hero__grid {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  }

  .spend-hero__visual,
  .security-summary {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

/* Short desktop viewports need a smaller chapter so it clears the pinned CTA. */
@media (min-width: 801px) and (min-height: 761px) and (max-height: 900px) {
  .fees-costs-page #main .forecast-chapter h3 {
    font-size: clamp(2rem, 2.7vw, 2.8rem);
  }

  .fees-costs-page #main .forecast-chapter > p {
    margin-top: .7rem;
    font-size: .9rem;
    line-height: 1.4;
  }

  .fees-costs-page #main .forecast-chapter ul {
    gap: .3rem;
    margin-top: .7rem;
  }

  .fees-costs-page #main .forecast-chapter li {
    padding: .35rem .65rem;
  }
}

@media (min-width: 801px) {
  .fees-costs-page #main .forecast-story__pin {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(1.5rem, 3vw, 3rem);
  }

  .fees-costs-page #main .forecast-story__copy {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    align-items: center;
  }

  .fees-costs-page #main .forecast-story__copy .forecast-chapter {
    position: relative;
    top: auto;
    left: auto;
    grid-area: 1 / 1;
    align-self: center;
  }

  .fees-costs-page #main .forecast-story__visual {
    width: calc(100% + clamp(4rem, 10vw, 8rem));
  }

  .fees-costs-page #main .forecast-story__visual .story-window {
    transform: scale(.9);
    transform-origin: center;
  }

  .fees-costs-page #main .story-screen:not(.story-screen--connected) {
    padding-top: 1rem;
  }

  .fees-costs-page #main .story-screen--scale .story-scale-cards {
    margin-top: .75rem;
  }

  .fees-costs-page #main .story-screen--scale .story-portfolio-chart {
    margin-top: .6rem;
    padding: .75rem;
  }

  .fees-costs-page #main .story-screen--scale .story-portfolio-chart > div {
    height: clamp(80px, 12vh, 110px);
  }
}

@media (min-width: 801px) and (max-height: 700px) {
  .fees-costs-page #main .forecast-story__pin {
    row-gap: clamp(.65rem, 1.8vh, 1.1rem);
  }

  .fees-costs-page #main .forecast-chapter h3 {
    font-size: clamp(1.8rem, 2.65vw, 2.7rem);
  }

  .fees-costs-page #main .forecast-chapter > p {
    margin-top: .65rem;
    font-size: .9rem;
    line-height: 1.4;
  }

  .fees-costs-page #main .forecast-chapter ul {
    gap: .25rem;
    margin-top: .65rem;
  }

  .fees-costs-page #main .forecast-chapter li {
    padding: .28rem .6rem;
  }
}

/* Keep a clear break after the pinned story before the audience panels begin. */
@media (min-width: 801px) {
  .fees-reference .forecast-story + .pw-audience {
    margin-top: clamp(4rem, 7vw, 7rem);
  }
}

/* Shared interaction treatment for tabs below the hero. */
#main :is(
  .forecast-story__nav,
  .pw-forecast-story__nav,
  .pi-story__tabs,
  .lf-role-tabs,
  .cp-role-tabs,
  .security-controls__tabs,
  .pw-intel-tabs,
  .intelligence-tabs
) button {
  color: rgba(255, 255, 255, 0.28);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  transition: color 250ms ease, background-color 250ms ease;
}

#main :is(
  .forecast-story__nav,
  .pw-forecast-story__nav,
  .pi-story__tabs,
  .lf-role-tabs,
  .cp-role-tabs,
  .security-controls__tabs,
  .pw-intel-tabs,
  .intelligence-tabs
) button:is(:hover, :focus-visible):not(.is-active) {
  color: #8db2e8;
}

#main :is(
  .forecast-story__nav,
  .pw-forecast-story__nav,
  .pi-story__tabs,
  .lf-role-tabs,
  .cp-role-tabs,
  .security-controls__tabs,
  .pw-intel-tabs,
  .intelligence-tabs
) button.is-active {
  color: #fff;
}

.head-of-ip-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}

/* September 29 content review: clearer controls and distinct platform marks. */
.pw-question-race__pause {
  grid-column: 1 / -1;
  justify-self: start;
  padding: .6rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.pw-question-race__pause:focus-visible { outline: 3px solid #31d0cd; outline-offset: 4px; }
.pw-forecast-orbit__core img { position: relative; z-index: 1; width: 82%; height: auto; object-fit: contain; }
.pw-integration-platform-grid, .pw-mcp-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; padding: 1.5rem; }
.pw-integration-platform-grid span, .pw-mcp-platform-grid span { display: flex; align-items: center; gap: .7rem; padding: .85rem; border: 1px solid rgb(141 178 232 / 20%); border-radius: .6rem; font-size: .8rem; text-align: left; }
.pw-integration-platform-grid img, .pw-mcp-platform-grid img { width: 2rem; height: 2rem; flex: 0 0 auto; padding: .25rem; border-radius: .25rem; background: #fff; object-fit: contain; }
.pw-mcp-platform-grid { width: min(1100px, calc(100% - 3rem)); margin: 0 auto; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 680px) { .pw-integration-platform-grid, .pw-mcp-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1rem; } }
/* RESOURCE LIBRARY — shared, progressively enhanced editorial templates. */
.pw-resources { color: var(--aif-text); background: var(--aif-bg); }
.pw-resources .pw-container--wide { max-width: 1600px; padding-inline: clamp(1.5rem, 7vw, 9.3rem); }
.pw-resource-hero { background: radial-gradient(ellipse at 85% 0%, var(--aif-brand-navy), transparent 65%), var(--aif-ink); color: var(--aif-on-accent); padding: clamp(10rem, 13vw, 13rem) 0 4rem; }
.pw-resource-hero__top, .pw-resource-hero__bottom { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.pw-resource-hero .pw-eyebrow { color: var(--aif-on-accent); }
.pw-resource-hero h1 { color: inherit; font-size: clamp(2.7rem, 5.4vw, 5.6rem); font-weight: 500; line-height: 1.08; letter-spacing: -.05em; max-width: 1000px; margin: 2rem 0; }
.pw-resource-hero__bottom p { max-width: 680px; margin: 0; color: inherit; opacity: .85; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.8; }
.pw-resource-hero__jump { color: inherit; text-decoration: none; flex-shrink: 0; display: flex; gap: 1.5rem; align-items: center; font-size: .85rem; }
.pw-resource-hero__jump span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 50%; transition: transform .2s; }
.pw-resource-hero__jump:hover span { transform: translateY(4px); }
.pw-resource-navigation { border-bottom: 1px solid var(--aif-border); background: var(--aif-surface); }
.pw-resource-navigation .pw-container { display: flex; gap: 1.8rem; overflow-x: auto; }
.pw-resource-navigation a { padding: 1.4rem 0; color: var(--aif-text-muted); text-decoration: none; white-space: nowrap; font-size: .8rem; border-bottom: 3px solid transparent; }
.pw-resource-navigation a[aria-current], .pw-resource-navigation a:hover { color: var(--aif-text); border-color: var(--aif-accent); }
.pw-resource-section { padding-block: clamp(3rem, 6vw, 6rem); scroll-margin-top: 110px; }
.pw-resource-section__heading { margin-bottom: 2rem; max-width: 850px; }
.pw-resource-section__heading h2 { font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.2; font-weight: 500; letter-spacing: -.035em; margin: 0 0 1rem; }
.pw-resource-section__heading p { color: var(--aif-text-muted); line-height: 1.7; }
.pw-resource-tools { display: flex; align-items: end; gap: 1rem; padding: 1.5rem; background: var(--aif-surface); border: 1px solid var(--aif-border); border-radius: var(--aif-radius); }
.pw-resource-tools > div:first-child { flex: 1; }
.pw-resource-tools label { display: block; font-size: .75rem; font-weight: 600; margin-bottom: .5rem; }
.pw-resource-tools input, .pw-resource-tools select { box-sizing: border-box; width: 100%; min-height: 46px; border: 1px solid var(--aif-border-light); border-radius: var(--aif-radius-sm); padding: .7rem 1rem; font: inherit; font-size: .875rem; color: var(--aif-text); background: var(--aif-bg); }
.pw-resource-tools input::placeholder { color: var(--aif-text-muted); }
.pw-resource-results { font-size: .8rem; color: var(--aif-text-muted); margin: 1.5rem 0; }
.pw-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.pw-resource-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--aif-border); border-radius: var(--aif-radius-lg); overflow: hidden; background: var(--aif-surface); transition: transform .25s, border-color .25s, box-shadow .25s; }
.pw-resource-card:hover, .pw-resource-card:focus-within { border-color: var(--aif-accent); transform: translateY(-4px); box-shadow: var(--pw-shadow-lg); }
.pw-resource-card__image { aspect-ratio: 16 / 10; overflow: hidden; background: var(--aif-surface-2); }
.pw-resource-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.pw-resource-card:hover .pw-resource-card__image img { transform: scale(1.035); }
.pw-resource-card__body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.pw-resource-card__meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .68rem; letter-spacing: .015em; color: var(--aif-text-muted); margin-bottom: 1rem; }
.pw-resource-card__meta > span:first-child { font-weight: 600; }
.pw-resource-card h3 { font-size: clamp(1.1rem, 1.5vw, 1.4rem); line-height: 1.4; letter-spacing: -.025em; margin: 0 0 .75rem; }
.pw-resource-card h3 a { color: var(--aif-text); text-decoration: none; }
.pw-resource-card p { color: var(--aif-text-muted); font-size: .85rem; line-height: 1.8; margin: 0 0 1.5rem; }
.pw-resource-card__action { color: var(--aif-text); display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid var(--aif-border); padding-top: 1.2rem; margin-top: auto; text-decoration: none; font-size: .8rem; font-weight: 600; }
.pw-resource-card__action span { transition: transform .2s; }
.pw-resource-card__action:hover span { transform: translate(3px,-3px); }
.pw-resource-card__related { margin-bottom: 1rem; color: var(--aif-text); font-size: .8rem; text-underline-offset: 4px; }
.pw-resource-card__symbol { font: 3rem var(--pw-mono); color: var(--aif-on-accent); background: linear-gradient(130deg, var(--aif-ink), var(--aif-brand-navy)); padding: 2rem; }
.pw-resource-card--person .pw-resource-card__image { aspect-ratio: 1; }
.pw-resource-card--person img { object-position: top; }
.pw-resource-card--partner .pw-resource-card__image { background: var(--aif-on-accent); padding: 2.5rem; box-sizing: border-box; }
.pw-resource-card--partner img { object-fit: contain; }
.pw-resource-grid--timeline { grid-template-columns: 1fr; max-width: 1000px; }
.pw-resource-grid--timeline .pw-resource-card__body { padding: 2rem; }
.pw-resource-grid--timeline .pw-resource-card__symbol { display: none; }
.pw-resource-grid--timeline .pw-resource-card { border-left: 3px solid var(--aif-accent); }
.pw-resource-empty { padding: 3rem 1.5rem; border: 1px dashed var(--aif-border-light); border-radius: var(--aif-radius); text-align: center; }
.pw-resources [hidden] { display: none !important; }
.pw-resource-cta { padding: clamp(3rem, 6vw, 6rem) 0; background: var(--aif-ink); color: var(--aif-on-accent); }
.pw-resource-cta .pw-container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.pw-resource-cta .pw-eyebrow, .pw-resource-cta h2, .pw-resource-cta p { color: inherit; }
.pw-resource-cta h2 { font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.035em; line-height: 1.2; }
.pw-resource-cta p { opacity: .8; }
.pw-resources :is(a, button, input, select):focus-visible { outline: 3px solid var(--aif-sky); outline-offset: 4px; }
.pw-nav__resource-column .pw-nav__status-badge { display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start; border: 1px solid var(--aif-border-light); border-radius: 4px; padding: .35rem .55rem; margin-top: .7rem; font-size: .625rem; line-height: 1.2; letter-spacing: .07em; text-transform: uppercase; background: var(--aif-surface-2); }
.pw-nav__status-badge span { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background-color: var(--aif-green); animation: pw-status-colors 6s ease-in-out infinite; }
@keyframes pw-status-colors {
  0%, 100% { background-color: var(--aif-green); }
  33% { background-color: var(--aif-amber); }
  66% { background-color: var(--aif-rose); }
}
@media (prefers-reduced-motion: reduce) { .pw-nav__status-badge span { animation: none; } }
@media (max-width: 1100px) { .pw-resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .pw-resource-grid--timeline { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  .pw-resource-hero__bottom, .pw-resource-cta .pw-container { align-items: flex-start; flex-direction: column; }
  .pw-resource-tools { align-items: stretch; flex-direction: column; }
  .pw-resource-grid { grid-template-columns: 1fr; }
  .pw-resource-navigation .pw-container { gap: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { .pw-resources *, .pw-resources *::before, .pw-resources *::after { transition: none !important; scroll-behavior: auto !important; } .pw-resource-card:hover, .pw-resource-card:focus-within, .pw-resource-card:hover img { transform: none; } }

/* ==========================================================================
   Meet Prokurio — full-bleed slide presentation (/meet-prokurio/)
   Ported from the Insivia concept deck. Scoped under .pw-mp so it can live
   inside public-pages.css without colliding with any other page. Colours are
   mapped to the shared --aif-* tokens rather than the deck's raw hex values.

   The deck is a full-viewport experience with its own brand mark and
   navigation dots, so the shared site header/footer (rendered by every page
   via base_public.html) are hidden on this page only, scoped to the
   page-level body class rather than touched in the shared components.
   ========================================================================== */

.pw-meet-prokurio-page .pw-nav,
.pw-meet-prokurio-page .pw-footer { display: none; }

.pw-meet-prokurio-page,
.pw-meet-prokurio-page #main { height: 100%; }

.pw-mp {
  --pw-mp-gutter: clamp(1.35rem, 6vw, 7rem);
  position: fixed;
  inset: 0;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 72% 34%, rgb(56 131 206 / 14%), transparent 32%),
    var(--aif-ink);
  color: #fff;
  font-family: var(--pw-font-sans);
}

.pw-mp * { box-sizing: border-box; }
.pw-mp button { font: inherit; }

.pw-mp::before {
  position: fixed;
  inset: 0;
  z-index: 20;
  border: 1px solid rgb(255 255 255 / 8%);
  pointer-events: none;
  content: "";
}

.pw-mp-brand {
  position: fixed;
  top: clamp(1.25rem, 4vh, 2.5rem);
  left: var(--pw-mp-gutter);
  z-index: 30;
  display: inline-flex;
  align-items: center;
  width: clamp(8.75rem, 13vw, 12.5rem);
}

.pw-mp-brand img,
.pw-mp-brand > svg { display: block; width: 100%; height: auto; }

.pw-mp-slide {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 2.8vh, 2.2rem);
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding: clamp(6rem, 11vh, 8rem) max(calc(var(--pw-mp-gutter) + 3rem), 7.5vw)
    clamp(4.6rem, 7.5vh, 5.8rem) var(--pw-mp-gutter);
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transform: translateX(2.5rem);
  transition: opacity 520ms ease, transform 650ms cubic-bezier(.2,.75,.2,1), visibility 0s 650ms;
  scrollbar-width: thin;
  scrollbar-color: rgb(255 255 255 / 30%) transparent;
}

.pw-mp-slide.is-active {
  z-index: 2;
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0s;
}

.pw-mp-slide.is-before { transform: translateX(-2.5rem); }

.pw-mp-slide__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  flex: 1 1 auto;
  gap: clamp(2rem, 6vw, 6.5rem);
  align-items: center;
  min-height: 0;
}

.pw-mp-slide__copy { position: relative; z-index: 2; max-width: none; }

.pw-mp-eyebrow {
  margin: 0 0 clamp(1rem, 2.4vh, 1.7rem);
  color: var(--aif-gold);
  font-size: clamp(.72rem, .9vw, .9rem);
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.pw-mp-title {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2.6rem, 5.6vw, 6.5rem);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
}

.pw-mp-title__anchor,
.pw-mp-title__change { display: block; }

.pw-mp-title__anchor {
  color: var(--aif-orange);
  font-size: .42em;
  font-weight: 700;
  letter-spacing: -.015em;
  line-height: 1.2;
}

.pw-mp-title__change {
  min-height: 0;
  margin-top: .16em;
  color: #fff;
  font-weight: 600;
}

.pw-mp-slide.is-active .pw-mp-title__change {
  animation: pw-mp-title-rise .62s .08s cubic-bezier(.2,.75,.2,1) both;
}

.pw-mp-subhead {
  max-width: 40rem;
  margin: clamp(1.1rem, 2.5vh, 1.8rem) 0 0;
  color: rgb(255 255 255 / 66%);
  font-size: clamp(1rem, 1.4vw, 1.7rem);
  font-weight: 300;
  line-height: 1.58;
}

.pw-mp-slide__top .pw-mp-visual {
  position: relative;
  display: grid;
  min-height: 0;
  height: min(43vh, 31rem);
  place-items: center;
}

.pw-mp-visual::before {
  position: absolute;
  width: min(38vw, 34rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(56 131 206 / 20%), rgb(56 131 206 / 5%) 45%, transparent 70%);
  filter: blur(2px);
  content: "";
}

.pw-mp-feature-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.75rem, 1.4vw, 1.15rem);
  flex: 0 0 auto;
}

.pw-mp-feature-box {
  position: relative;
  min-height: clamp(7.6rem, 15vh, 9.5rem);
  padding: clamp(1rem, 1.8vw, 1.5rem);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: .85rem;
  background: rgb(0 12 27 / 72%);
  box-shadow: 0 1.2rem 3rem rgb(0 0 0 / 12%);
  opacity: .36;
  transform: translateY(1rem);
}

.pw-mp-feature-box::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--aif-orange), var(--aif-sky), transparent 88%);
  transform: scaleX(0);
  transform-origin: left;
  content: "";
}

.pw-mp-feature-box h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(.92rem, 1.22vw, 1.15rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.25;
}

.pw-mp-feature-box p {
  margin: .65rem 0 0;
  color: rgb(255 255 255 / 57%);
  font-size: clamp(.72rem, 1vw, 1rem);
  font-weight: 300;
  line-height: 1.5;
}

.pw-mp-slide.is-active .pw-mp-feature-box { animation: pw-mp-feature-in .5s .42s ease forwards; }
.pw-mp-slide.is-active .pw-mp-feature-box:nth-child(2) { animation-delay: .57s; }
.pw-mp-slide.is-active .pw-mp-feature-box:nth-child(3) { animation-delay: .72s; }
.pw-mp-slide.is-active .pw-mp-feature-box::before { animation: pw-mp-card-line .72s .82s ease forwards; }

.pw-mp-demo-invite {
  position: absolute;
  right: max(calc(var(--pw-mp-gutter) + 3rem), 7.5vw);
  bottom: clamp(1.15rem, 2.4vh, 1.8rem);
  display: inline-flex;
  gap: .75rem;
  align-items: center;
  margin: 0;
  color: #fff;
  font-size: clamp(.85rem, 1vw, 1rem);
  font-weight: 600;
}

.pw-mp-demo-invite::before { width: 2.4rem; height: 3px; border-radius: 2px; background: var(--aif-orange); content: ""; }

/* Main orbit — slide 1 */
.pw-mp-main-orbit {
  position: relative;
  width: min(100%, 34rem);
  aspect-ratio: 1;
  border: 1px solid rgb(56 131 206 / 13%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(56 131 206 / 14%), transparent 63%);
}

.pw-mp-main-orbit::before {
  position: absolute;
  inset: -10%;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 44%, rgb(49 208 205 / 6%) 57%, transparent 70%);
  content: "";
}

.pw-mp-main-orbit__core {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  width: clamp(7.2rem, 11vw, 9.5rem);
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 30%, rgb(24 57 91 / 90%), transparent 46%),
    linear-gradient(145deg, #071d33, #00101f 72%);
  box-shadow: 0 0 2.5rem rgb(49 208 205 / 18%), 0 0 5rem rgb(232 86 38 / 8%);
  transform: translate(-50%, -50%);
}

.pw-mp-main-orbit__core::before {
  position: absolute;
  inset: -.25rem;
  z-index: 2;
  border: .18rem solid transparent;
  border-top-color: var(--aif-teal);
  border-right-color: var(--aif-orange);
  border-radius: 50%;
  animation: pw-mp-orbit-spin 6s linear infinite;
  content: "";
  pointer-events: none;
}

.pw-mp-main-orbit__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 58%;
  height: auto;
  transform: translate(-50%, -50%);
}

.pw-mp-main-orbit__ring {
  --pw-mp-orbit-time: 48s;
  position: absolute;
  z-index: 2;
  display: block;
  border: 1px solid rgb(56 131 206 / 18%);
  border-radius: 50%;
  animation: pw-mp-orbit-spin var(--pw-mp-orbit-time) linear infinite;
}

.pw-mp-main-orbit__ring--outer { inset: 3%; --pw-mp-orbit-time: 52s; }
.pw-mp-main-orbit__ring--middle { inset: 12%; --pw-mp-orbit-time: 41s; border-color: rgb(49 208 205 / 16%); animation-direction: reverse; }
.pw-mp-main-orbit__ring--inner { inset: 22%; --pw-mp-orbit-time: 33s; border-color: rgb(141 178 232 / 18%); }

.pw-mp-main-orbit__track {
  position: absolute;
  z-index: 1;
  display: block;
  border: 1px solid rgb(56 131 206 / 11%);
  border-radius: 50%;
  pointer-events: none;
}

.pw-mp-main-orbit__track:nth-of-type(1) { inset: 8%; }
.pw-mp-main-orbit__track:nth-of-type(2) { inset: 17%; border-color: rgb(49 208 205 / 10%); }
.pw-mp-main-orbit__track:nth-of-type(3) { inset: 29%; }
.pw-mp-main-orbit__track:nth-of-type(4) { inset: 39%; border-color: rgb(141 178 232 / 13%); }

.pw-mp-main-orbit__ring b {
  position: absolute;
  top: var(--pw-mp-tag-top);
  left: var(--pw-mp-tag-left);
  width: max-content;
  max-width: 12rem;
  font-style: normal;
  animation: pw-mp-orbit-counter var(--pw-mp-orbit-time) linear infinite;
}

.pw-mp-main-orbit__ring--middle b { animation-direction: reverse; }

.pw-mp-main-orbit__ring span {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  width: max-content;
  max-width: 12rem;
  padding: .52rem .72rem;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 999px;
  background: rgb(0 18 38 / 88%);
  box-shadow: 0 .7rem 1.8rem rgb(0 5 14 / 24%);
  color: rgb(255 255 255 / 76%);
  font-size: clamp(.52rem, .65vw, .68rem);
  font-weight: 600;
  line-height: 1.2;
}

.pw-mp-main-orbit__ring span::before {
  flex: 0 0 auto;
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: var(--aif-teal);
  box-shadow: 0 0 .7rem rgb(49 208 205 / 58%);
  content: "";
}

.pw-mp-main-orbit__ring b:nth-child(2) span::before { background: var(--aif-orange); box-shadow: 0 0 .7rem rgb(232 86 38 / 52%); }
.pw-mp-main-orbit__ring b:nth-child(3) span::before { background: var(--aif-gold); box-shadow: 0 0 .7rem rgb(255 204 114 / 50%); }

/* Fees & costs — slide 2 */
.pw-mp-fee-intelligence { position: relative; width: min(100%, 35rem); aspect-ratio: 1.12; }
.pw-mp-fee-intelligence::before { position: absolute; inset: 9% 8%; border-radius: 50%; background: radial-gradient(circle, rgb(89 67 174 / 16%), rgb(56 131 206 / 7%) 44%, transparent 72%); filter: blur(1rem); content: ""; }
.pw-mp-fee-globe { position: absolute; top: 50%; left: 45%; width: 48%; aspect-ratio: 1; border: 1px solid rgb(141 178 232 / 32%); border-radius: 50%; background: linear-gradient(90deg, transparent 48%, rgb(255 255 255 / 13%) 49% 51%, transparent 52%), linear-gradient(transparent 48%, rgb(255 255 255 / 13%) 49% 51%, transparent 52%), radial-gradient(circle at 35% 28%, rgb(49 208 205 / 28%), rgb(18 80 155 / 17%) 55%, rgb(0 23 46 / 88%)); box-shadow: 0 0 3rem rgb(49 208 205 / 14%); opacity: 0; transform: translate(-50%, -50%) scale(.72); }
.pw-mp-fee-globe::before, .pw-mp-fee-globe::after { position: absolute; inset: 16% -1%; border: 1px solid rgb(141 178 232 / 24%); border-radius: 50%; content: ""; }
.pw-mp-fee-globe::after { inset: -1% 26%; }
.pw-mp-fee-pulse { position: absolute; top: var(--pw-mp-top); left: var(--pw-mp-left); width: .58rem; aspect-ratio: 1; border: 2px solid rgb(255 255 255 / 82%); border-radius: 50%; background: var(--aif-teal); box-shadow: 0 0 1rem rgb(49 208 205 / 75%); opacity: 0; }
.pw-mp-fee-line-items { position: absolute; top: 13%; right: 0; z-index: 3; display: grid; width: 44%; gap: .55rem; }
.pw-mp-fee-line-item { display: grid; grid-template-columns: 1fr auto; gap: .25rem .75rem; padding: .7rem .85rem; border: 1px solid rgb(255 255 255 / 15%); border-radius: .65rem; background: rgb(0 29 58 / 84%); box-shadow: 0 .8rem 2rem rgb(0 0 0 / 18%); color: rgb(255 255 255 / 66%); font-size: clamp(.54rem, .72vw, .7rem); opacity: 0; transform: translateX(1.3rem); backdrop-filter: blur(12px); }
.pw-mp-fee-line-item strong { color: #fff; font-size: clamp(.65rem, .84vw, .82rem); }
.pw-mp-fee-line-item i { grid-column: 1 / -1; height: .18rem; border-radius: 999px; background: linear-gradient(90deg, var(--aif-teal) var(--pw-mp-w), rgb(255 255 255 / 8%) var(--pw-mp-w)); }
.pw-mp-fee-verified { position: absolute; bottom: 11%; left: 4%; z-index: 4; padding: .72rem 1rem; border: 1px solid rgb(49 208 205 / 34%); border-radius: 999px; background: rgb(0 23 46 / 88%); color: rgb(255 255 255 / 78%); font-size: clamp(.56rem, .74vw, .72rem); font-weight: 600; opacity: 0; transform: translateY(.8rem); }
.pw-mp-fee-verified::before { display: inline-block; width: .48rem; aspect-ratio: 1; margin-right: .45rem; border-radius: 50%; background: var(--aif-teal); box-shadow: 0 0 0 .2rem rgb(49 208 205 / 14%); content: ""; }
.pw-mp-slide.is-active .pw-mp-fee-globe { animation: pw-mp-fee-globe-in 1s .2s ease forwards, pw-mp-fee-globe-turn 14s 1.2s linear infinite; }
.pw-mp-slide.is-active .pw-mp-fee-pulse { animation: pw-mp-fee-pulse 3.2s calc(.7s + var(--pw-mp-delay)) ease-in-out infinite; }
.pw-mp-slide.is-active .pw-mp-fee-line-item { animation: pw-mp-fee-item-in .65s calc(.75s + var(--pw-mp-delay)) ease forwards; }
.pw-mp-slide.is-active .pw-mp-fee-verified { animation: pw-mp-fee-item-in .65s 1.7s ease forwards; }

/* Decision loop — slide 3 */
.pw-mp-decision-loop {
  position: relative;
  width: min(100%, 36rem);
  aspect-ratio: 760 / 700;
  filter: drop-shadow(0 1.8rem 3rem rgb(0 0 0 / 18%));
}

.pw-mp-decision-loop::before {
  position: absolute;
  inset: 18% 14%;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(89 67 174 / 11%), rgb(56 131 206 / 4%) 48%, transparent 70%);
  content: "";
}

.pw-mp-decision-loop svg { position: relative; display: block; width: 100%; height: 100%; overflow: visible; }
.pw-mp-decision-orbit__network { transform-box: fill-box; transform-origin: center; }

.pw-mp-decision-orbit__ring {
  fill: none;
  stroke: url(#meet-prokurio-decision-gradient);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: url(#meet-prokurio-decision-glow);
  opacity: 0;
}

.pw-mp-decision-orbit__seed {
  fill: var(--aif-teal);
  stroke: rgb(255 255 255 / 72%);
  stroke-width: 2;
  filter: url(#meet-prokurio-decision-glow);
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.pw-mp-decision-orbit__scenario {
  opacity: 0;
  transform-box: view-box;
  transform-origin: 390px 350px;
}

.pw-mp-decision-orbit__scenario circle { fill: var(--aif-ink); stroke: var(--aif-teal); stroke-width: 2.5; }
.pw-mp-decision-orbit__scenario rect { fill: rgb(18 59 112 / 92%); stroke: rgb(141 178 232 / 22%); }
.pw-mp-decision-orbit__scenario text { fill: rgb(255 255 255 / 92%); font-family: var(--pw-font-sans); font-size: 12px; font-weight: 650; }

/* AI workspace chat — slide 4 */
.pw-mp-chat {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  width: min(100%, 34rem);
  min-height: min(40vh, 25rem);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 1.25rem;
  background: #f7f9fb;
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 28%);
  color: #24384e;
}

.pw-mp-chat__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1rem;
  border-bottom: 1px solid #dfe6ec;
  background: #fff;
  color: #53667a;
  font-size: clamp(.62rem, .75vw, .74rem);
  font-weight: 600;
}

.pw-mp-chat__connection {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  color: #087d7b;
}

.pw-mp-chat__connection::before {
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: var(--aif-teal);
  box-shadow: 0 0 0 .2rem rgb(49 208 205 / 14%);
  content: "";
}

.pw-mp-chat__stage {
  position: relative;
  min-height: 0;
}

.pw-mp-chat__round {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  opacity: 0;
  pointer-events: none;
}

.pw-mp-chat__round:nth-child(2) { animation-delay: 9s !important; }
.pw-mp-chat__round:nth-child(3) { animation-delay: 18s !important; }

.pw-mp-chat__question {
  justify-self: end;
  max-width: 77%;
  margin: 1rem 1rem .5rem;
  padding: .8rem 1rem;
  border-radius: 1rem 1rem .2rem 1rem;
  background: var(--aif-ink);
  color: #fff;
  font-size: clamp(.72rem, .9vw, .88rem);
  line-height: 1.45;
}

.pw-mp-chat__answer {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .7rem;
  align-self: start;
  margin: .5rem 1rem 1rem;
  opacity: 0;
  transform: translateY(.35rem);
}

.pw-mp-chat__mark {
  display: grid;
  width: 1.9rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: .5rem;
  background: var(--aif-accent);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
}

.pw-mp-chat__response {
  min-width: 0;
  padding-top: .08rem;
}

.pw-mp-chat__response p {
  margin: 0;
  color: #44576b;
  font-size: clamp(.68rem, .82vw, .82rem);
  line-height: 1.45;
}

.pw-mp-chart {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .55rem;
  align-items: end;
  height: clamp(7rem, 13vw, 10rem);
  margin-top: .7rem;
  padding: .75rem .8rem .45rem;
  border: 1px solid #dde5eb;
  border-radius: .7rem;
  background: repeating-linear-gradient(to bottom, #fff 0 31%, #e9eef2 32%, #fff 33%);
}

.pw-mp-chart span {
  position: relative;
  display: block;
  height: var(--pw-mp-h);
  border-radius: .3rem .3rem 0 0;
  background: linear-gradient(to top, var(--aif-accent), var(--aif-sky));
  transform: scaleY(0);
  transform-origin: bottom;
}

.pw-mp-chart span::after {
  position: absolute;
  right: 0;
  bottom: -1.15rem;
  left: 0;
  color: #7b8997;
  font-size: .55rem;
  text-align: center;
  content: attr(data-year);
}

.pw-mp-chart--countries span { background: linear-gradient(to top, #087d7b, var(--aif-teal)); }
.pw-mp-chart--comparison { grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
.pw-mp-chart--comparison span:first-child { background: linear-gradient(to top, #7c8b99, #aeb9c3); }
.pw-mp-chart--comparison span:last-child { background: linear-gradient(to top, var(--aif-orange), var(--aif-gold)); }

.pw-mp-chat__source {
  display: block;
  margin-top: 1.4rem;
  color: #728194;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pw-mp-slide.is-active .pw-mp-chat__round { animation: pw-mp-chat-round 38s ease infinite; }
.pw-mp-slide.is-active .pw-mp-chat__round .pw-mp-chat__answer { animation: pw-mp-answer-cycle 38s ease infinite; }
.pw-mp-slide.is-active .pw-mp-chat__round:nth-child(2) .pw-mp-chat__answer { animation-delay: 9s; }
.pw-mp-slide.is-active .pw-mp-chat__round:nth-child(3) .pw-mp-chat__answer { animation-delay: 18s; }
.pw-mp-slide.is-active .pw-mp-chat__round .pw-mp-chart span { animation: pw-mp-chart-cycle 38s ease-out infinite; }
.pw-mp-slide.is-active .pw-mp-chat__round:nth-child(2) .pw-mp-chart span { animation-delay: 9s; }
.pw-mp-slide.is-active .pw-mp-chat__round:nth-child(3) .pw-mp-chart span { animation-delay: 18s; }

/* Chess scene — slide 5 */
.pw-mp-chess-scene {
  position: relative;
  width: min(92%, 32rem);
  aspect-ratio: 1.12;
  perspective: 70rem;
  perspective-origin: 52% 30%;
}

.pw-mp-chess-scene::before {
  position: absolute;
  right: 7%;
  bottom: 0;
  left: 7%;
  height: 21%;
  border-radius: 50%;
  background: rgb(255 255 255 / 13%);
  filter: blur(2.1rem);
  content: "";
  transform: translateY(24%);
}

.pw-mp-chess-board {
  position: absolute;
  inset: 10% 8% 7%;
  border: 1px solid rgb(255 255 255 / 38%);
  border-radius: .45rem;
  background:
    conic-gradient(from 90deg,
      rgb(255 255 255 / 11%) 0 25%,
      rgb(255 255 255 / 32%) 0 50%,
      rgb(255 255 255 / 11%) 0 75%,
      rgb(255 255 255 / 32%) 0) 0 0 / 25% 25%;
  box-shadow:
    0 .22rem 0 rgb(255 255 255 / 24%),
    0 .55rem 0 rgb(255 255 255 / 10%),
    0 2.6rem 4rem rgb(0 0 0 / 30%),
    inset 0 0 2rem rgb(255 255 255 / 8%);
  transform: rotateX(57deg) rotateZ(-35deg) translateZ(0);
  transform-style: preserve-3d;
}

.pw-mp-chess-board::after {
  position: absolute;
  inset: -2.2%;
  z-index: -1;
  border: .16rem solid rgb(255 255 255 / 25%);
  border-radius: .65rem;
  content: "";
  transform: translateZ(-.7rem);
}

.pw-mp-chess-piece {
  --pw-mp-piece-opacity: .82;
  position: absolute;
  top: calc((var(--pw-mp-row) - 1) * 12.5% + 1.2%);
  left: calc((var(--pw-mp-col) - 1) * 12.5% + 1.2%);
  z-index: 2;
  display: grid;
  width: 10.1%;
  aspect-ratio: 1;
  place-items: center;
  color: rgb(255 255 255 / var(--pw-mp-piece-opacity));
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 3.2vw, 2.8rem);
  font-style: normal;
  line-height: 1;
  opacity: 0;
  text-shadow:
    0 .08em 0 rgb(255 255 255 / 18%),
    0 .16em .08em rgb(0 0 0 / 34%),
    0 0 1.1rem rgb(255 255 255 / 18%);
  transform: translateZ(1.15rem) scale(.35);
  transform-origin: 50% 80%;
}

.pw-mp-chess-piece--soft { --pw-mp-piece-opacity: .48; }
.pw-mp-chess-piece--mid { --pw-mp-piece-opacity: .66; }
.pw-mp-chess-piece--hero { --pw-mp-piece-opacity: 1; }

.pw-mp-slide.is-active .pw-mp-chess-board { animation: pw-mp-chess-board-arrive 1.25s cubic-bezier(.2,.8,.2,1) both, pw-mp-chess-board-float 6s 1.25s ease-in-out infinite; }
.pw-mp-slide.is-active .pw-mp-chess-piece { animation: pw-mp-chess-piece-rise .72s calc(.35s + var(--pw-mp-delay)) cubic-bezier(.2,.9,.25,1.25) forwards; }
.pw-mp-slide.is-active .pw-mp-chess-piece--move { animation: pw-mp-chess-piece-rise .72s calc(.35s + var(--pw-mp-delay)) cubic-bezier(.2,.9,.25,1.25) forwards, pw-mp-chess-strategic-move 5.8s 2.1s ease-in-out infinite; }

/* Intelligence stack — slide 6 */
.pw-mp-intelligence-stack {
  position: relative;
  width: min(92%, 32rem);
  height: min(49vh, 31rem);
  min-height: 25rem;
  perspective: 72rem;
  perspective-origin: 55% 40%;
}

.pw-mp-intelligence-stack::after {
  position: absolute;
  right: 12%;
  bottom: 1%;
  left: 12%;
  height: 16%;
  border-radius: 50%;
  background: rgb(49 208 205 / 15%);
  filter: blur(1.8rem);
  content: "";
}

.pw-mp-stack-layer {
  position: absolute;
  right: var(--pw-mp-inset);
  bottom: 5%;
  left: var(--pw-mp-inset);
  z-index: var(--pw-mp-z);
  display: grid;
  height: clamp(3.25rem, 6.3vw, 4.8rem);
  place-items: center;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: .65rem;
  background:
    linear-gradient(115deg, rgb(255 255 255 / 15%), transparent 42%),
    linear-gradient(135deg, var(--pw-mp-layer-a), var(--pw-mp-layer-b));
  box-shadow:
    0 .42rem 0 color-mix(in srgb, var(--pw-mp-layer-b) 62%, #00172e),
    0 1rem 2rem rgb(0 0 0 / 20%),
    inset 0 1px 0 rgb(255 255 255 / 22%);
  color: #fff;
  font-size: clamp(.72rem, 1.05vw, 1rem);
  font-style: normal;
  font-weight: 700;
  letter-spacing: .12em;
  opacity: 0;
  text-transform: uppercase;
  transform: translate3d(0, var(--pw-mp-lift), var(--pw-mp-depth)) rotateX(48deg) rotateZ(-10deg) scale(.88);
  transform-origin: center;
  transform-style: preserve-3d;
}

.pw-mp-stack-layer::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent 20%, rgb(255 255 255 / 38%), transparent 78%);
  content: "";
  opacity: 0;
  transform: translateX(-75%);
}

.pw-mp-stack-layer span {
  text-shadow: 0 .15rem .35rem rgb(0 0 0 / 28%);
  transform: translateZ(.55rem);
}

.pw-mp-stack-layer--data { --pw-mp-layer-a:#0a345d; --pw-mp-layer-b:#061d35; }
.pw-mp-stack-layer--security { --pw-mp-layer-a:#185f9d; --pw-mp-layer-b:#0d3c70; }
.pw-mp-stack-layer--experience { --pw-mp-layer-a:#3182b5; --pw-mp-layer-b:#195f91; }
.pw-mp-stack-layer--prokurio { --pw-mp-layer-a:#23aaa9; --pw-mp-layer-b:#137d85; }
.pw-mp-stack-layer--ai { --pw-mp-layer-a:#42c9c3; --pw-mp-layer-b:#219b9b; }
.pw-mp-stack-layer--answers { --pw-mp-layer-a:#e37945; --pw-mp-layer-b:#c5532f; }
.pw-mp-stack-layer--decisions { --pw-mp-layer-a:#f08a48; --pw-mp-layer-b:#e85626; }

.pw-mp-slide.is-active .pw-mp-stack-layer { animation: pw-mp-stack-layer-build .8s calc(.18s + var(--pw-mp-delay)) cubic-bezier(.18,.86,.22,1.15) forwards; }
.pw-mp-slide.is-active .pw-mp-stack-layer::before { animation: pw-mp-stack-layer-scan 6.3s calc(1.4s + var(--pw-mp-delay)) ease-in-out infinite; }

/* Deck showcase — slide 7 */
.pw-mp-deck-showcase {
  position: relative;
  width: min(100%, 35rem);
  aspect-ratio: 1.22;
  perspective: 70rem;
}

.pw-mp-deck-showcase::before {
  position: absolute;
  inset: 10% 5% 2%;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(89 67 174 / 13%), rgb(56 131 206 / 7%) 42%, transparent 72%);
  filter: blur(1.2rem);
  content: "";
}

.pw-mp-deck-screen {
  position: absolute;
  inset: 8% 3% 7%;
  overflow: hidden;
  border: 1px solid rgb(207 215 220 / 78%);
  border-radius: .65rem;
  background: #f7f9fb;
  box-shadow: 0 2rem 5rem rgb(0 12 28 / 34%);
  color: #26384c;
  opacity: 0;
  transform: translate3d(2.5rem, 1rem, -4rem) rotateY(-7deg) scale(.91);
}

.pw-mp-slide.is-active .pw-mp-deck-screen { animation: pw-mp-deck-screen-cycle 15s ease-in-out infinite; }
.pw-mp-slide.is-active .pw-mp-deck-screen:nth-child(2) { animation-delay: 5s; }
.pw-mp-slide.is-active .pw-mp-deck-screen:nth-child(3) { animation-delay: 10s; }

.pw-mp-deck-screen__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 2.15rem;
  padding: 0 .85rem;
  border-bottom: 1px solid #dce3e7;
  background: rgb(255 255 255 / 92%);
  color: #607084;
  font-size: clamp(.48rem, .7vw, .67rem);
  font-weight: 600;
}

.pw-mp-deck-screen__dots { display: flex; gap: .28rem; }
.pw-mp-deck-screen__dots i { width: .38rem; aspect-ratio: 1; border-radius: 50%; background: var(--aif-grey-blue); }
.pw-mp-deck-screen__dots i:first-child { background: var(--aif-orange); }
.pw-mp-deck-screen__status { justify-self: end; padding: .22rem .48rem; border-radius: 999px; background: rgb(49 208 205 / 16%); color: #087d7b; font-size: .55rem; }

.pw-mp-deck-screen__body { height: calc(100% - 2.15rem); padding: clamp(.8rem, 2vw, 1.25rem); }
.pw-mp-deck-screen__eyebrow { color: #6c7c8d; font-size: clamp(.48rem, .64vw, .61rem); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pw-mp-deck-screen__title { margin: .18rem 0 .8rem; color: #173553; font-size: clamp(.78rem, 1.15vw, 1.08rem); font-weight: 700; }

.pw-mp-deck-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.pw-mp-deck-metric { padding: .62rem .7rem; border: 1px solid #dfe6eb; border-radius: .45rem; background: #fff; }
.pw-mp-deck-metric span, .pw-mp-deck-metric small { display: block; color: #7b8998; font-size: clamp(.42rem, .55vw, .53rem); }
.pw-mp-deck-metric strong { display: block; margin: .12rem 0; color: #173553; font-size: clamp(.72rem, 1vw, .95rem); }

.pw-mp-deck-bars { display: flex; align-items: end; gap: 8%; height: 44%; margin-top: .8rem; padding: 0 7%; border-bottom: 1px solid #dbe3e8; background: repeating-linear-gradient(to bottom, transparent 0 30%, rgb(18 80 155 / 7%) 31%); }
.pw-mp-deck-bars i { flex: 1; height: var(--pw-mp-h); border-radius: .2rem .2rem 0 0; background: linear-gradient(var(--aif-sky), var(--aif-accent)); transform: scaleY(0); transform-origin: bottom; }
.pw-mp-slide.is-active .pw-mp-deck-screen:nth-child(1) .pw-mp-deck-bars i { animation: pw-mp-deck-bar-grow 15s ease-out infinite; animation-delay: calc(var(--pw-mp-i) * .1s); }

.pw-mp-deck-compare { display: grid; gap: .65rem; margin-top: .8rem; }
.pw-mp-deck-compare__row { display: grid; grid-template-columns: 4.4rem 1fr auto; gap: .55rem; align-items: center; color: #607084; font-size: clamp(.45rem, .58vw, .56rem); }
.pw-mp-deck-compare__track { height: .5rem; overflow: hidden; border-radius: 999px; background: #e5eaee; }
.pw-mp-deck-compare__track i { display: block; width: var(--pw-mp-w); height: 100%; border-radius: inherit; background: var(--aif-sky); transform: scaleX(0); transform-origin: left; }
.pw-mp-deck-compare__row:nth-child(even) .pw-mp-deck-compare__track i { background: var(--aif-teal); }
.pw-mp-slide.is-active .pw-mp-deck-screen:nth-child(2) .pw-mp-deck-compare__track i { animation: pw-mp-deck-track-grow 15s 5s ease-out infinite; }

.pw-mp-deck-chat { display: grid; gap: .6rem; margin-top: .6rem; }
.pw-mp-deck-chat__question { justify-self: end; max-width: 80%; padding: .58rem .72rem; border-radius: .65rem .65rem .15rem .65rem; background: #eef2f5; color: #34485d; font-size: clamp(.48rem, .64vw, .62rem); }
.pw-mp-deck-chat__answer { display: grid; grid-template-columns: 1.6rem 1fr; gap: .55rem; align-items: start; opacity: 0; }
.pw-mp-deck-chat__mark { display: grid; aspect-ratio: 1; place-items: center; border-radius: .35rem; background: var(--aif-accent); color: #fff; font-size: .58rem; }
.pw-mp-deck-chat__answer p { margin: 0; color: #53667a; font-size: clamp(.46rem, .6vw, .58rem); line-height: 1.45; }
.pw-mp-deck-mini-chart { display: flex; align-items: end; gap: .38rem; height: 4.3rem; margin-top: .6rem; padding: .45rem .7rem 0; border: 1px solid #dfe6eb; border-radius: .45rem; background: #fff; }
.pw-mp-deck-mini-chart i { flex: 1; height: var(--pw-mp-h); border-radius: .15rem .15rem 0 0; background: var(--aif-teal); transform: scaleY(0); transform-origin: bottom; }
.pw-mp-slide.is-active .pw-mp-deck-screen:nth-child(3) .pw-mp-deck-chat__answer { animation: pw-mp-deck-answer-in 15s 10s ease-out infinite; }
.pw-mp-slide.is-active .pw-mp-deck-screen:nth-child(3) .pw-mp-deck-mini-chart i { animation: pw-mp-deck-ai-bars 15s 10s ease-out infinite; }

/* Audience slides — law firms / corporate IP */
.pw-mp-audience {
  display: grid;
  place-items: center start;
  padding: clamp(6rem, 12vh, 8rem) max(calc(var(--pw-mp-gutter) + 3rem), 8vw)
    clamp(4.5rem, 8vh, 6rem) var(--pw-mp-gutter);
  background: var(--aif-ink);
}

.pw-mp-audience__media,
.pw-mp-audience__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pw-mp-audience__media {
  z-index: -2;
  object-fit: cover;
  transform: scale(1.035);
}

.pw-mp-audience--law .pw-mp-audience__media { object-position: 50% 54%; }
.pw-mp-audience--corporate .pw-mp-audience__media { object-position: 50% 48%; }

.pw-mp-audience__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgb(0 23 46 / 96%) 0%, rgb(0 23 46 / 86%) 42%, rgb(0 23 46 / 46%) 100%),
    linear-gradient(0deg, rgb(0 12 27 / 40%), transparent 55%);
}

.pw-mp-audience__content {
  position: relative;
  z-index: 2;
  width: min(58rem, 68vw);
}

.pw-mp-audience__label {
  margin: 0 0 clamp(1rem, 2.3vh, 1.7rem);
  color: var(--aif-gold);
  font-size: clamp(.72rem, .88vw, .9rem);
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.pw-mp-audience__headline {
  max-width: 12ch;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5.7vw, 6.4rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .98;
}

.pw-mp-audience__copy {
  max-width: 43rem;
  margin: clamp(1.4rem, 3.5vh, 2.4rem) 0 0;
  color: rgb(255 255 255 / 72%);
  font-size: clamp(.95rem, 1.25vw, 1.28rem);
  font-weight: 300;
  line-height: 1.65;
}

.pw-mp-slide.is-active .pw-mp-audience__media { animation: pw-mp-audience-drift 7s ease-out both; }
.pw-mp-slide.is-active .pw-mp-audience__label,
.pw-mp-slide.is-active .pw-mp-audience__headline,
.pw-mp-slide.is-active .pw-mp-audience__copy { animation: pw-mp-audience-copy-in .7s ease both; }
.pw-mp-slide.is-active .pw-mp-audience__headline { animation-delay: .12s; }
.pw-mp-slide.is-active .pw-mp-audience__copy { animation-delay: .24s; }

/* Pagination + command controls */
.pw-mp-pagination {
  position: fixed;
  top: 50%;
  right: clamp(1.15rem, 2.3vw, 2.4rem);
  z-index: 30;
  display: grid;
  gap: .65rem;
  transform: translateY(-50%);
}

.pw-mp-dot {
  position: relative;
  width: 1.05rem;
  height: 1.05rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.pw-mp-dot::before {
  position: absolute;
  inset: .31rem;
  border-radius: 50%;
  background: rgb(255 255 255 / 33%);
  transition: background 180ms ease, transform 180ms ease;
  content: "";
}

.pw-mp-dot[aria-current="true"]::before { background: var(--aif-orange); transform: scale(1.65); }
.pw-mp-dot:hover::before { background: #fff; }
.pw-mp-dot:focus-visible { border-radius: 50%; outline: 2px solid var(--aif-teal); outline-offset: 3px; }

.pw-mp-live-region {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ==========================================================================
   Keyframes
   ========================================================================== */
@keyframes pw-mp-title-rise { from { opacity: 0; transform: translateY(.35em); } to { opacity: 1; transform: translateY(0); } }
@keyframes pw-mp-feature-in { to { opacity: 1; transform: translateY(0); } }
@keyframes pw-mp-card-line { to { transform: scaleX(1); } }
@keyframes pw-mp-orbit-spin { to { transform: rotate(360deg); } }
@keyframes pw-mp-orbit-counter { to { transform: rotate(-360deg); } }
@keyframes pw-mp-fee-globe-in { to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes pw-mp-fee-globe-turn {
  from { opacity: 1; transform: translate(-50%, -50%) rotate(0) scale(1); }
  to { opacity: 1; transform: translate(-50%, -50%) rotate(360deg) scale(1); }
}
@keyframes pw-mp-fee-pulse {
  0%, 100% { opacity: .25; transform: scale(.7); }
  45% { opacity: 1; transform: scale(1.35); }
}
@keyframes pw-mp-fee-item-in { to { opacity: 1; transform: translate(0); } }
@keyframes pw-mp-chat-round {
  0% { opacity: 0; transform: translateY(.45rem); }
  2% { opacity: 1; transform: translateY(0); }
  21% { opacity: 1; transform: translateY(0); }
  24% { opacity: 0; transform: translateY(-.3rem); }
  100% { opacity: 0; transform: translateY(-.3rem); }
}
@keyframes pw-mp-chart-cycle {
  0%, 4% { transform: scaleY(0); }
  8%, 24% { transform: scaleY(1); }
  25%, 100% { transform: scaleY(0); }
}
@keyframes pw-mp-answer-cycle {
  0%, 3% { opacity: 0; transform: translateY(.35rem); }
  6%, 24% { opacity: 1; transform: translateY(0); }
  25%, 100% { opacity: 0; transform: translateY(0); }
}
@keyframes pw-mp-chess-board-arrive {
  from { opacity: 0; transform: rotateX(68deg) rotateZ(-43deg) translate3d(2rem, 2rem, -5rem) scale(.82); }
  to { opacity: 1; transform: rotateX(57deg) rotateZ(-35deg) translateZ(0) scale(1); }
}
@keyframes pw-mp-chess-board-float {
  0%, 100% { transform: rotateX(57deg) rotateZ(-35deg) translate3d(0, 0, 0); }
  50% { transform: rotateX(54deg) rotateZ(-32deg) translate3d(0, -.45rem, 1.1rem); }
}
@keyframes pw-mp-chess-piece-rise {
  0% { opacity: 0; transform: translateZ(.1rem) scale(.35); }
  100% { opacity: 1; transform: translateZ(1.15rem) scale(1); }
}
@keyframes pw-mp-chess-strategic-move {
  0%, 18%, 82%, 100% { filter: brightness(1); translate: 0 0; }
  28% { filter: brightness(1.7); translate: 0 0; }
  43%, 67% { filter: brightness(1.45) drop-shadow(0 0 .6rem rgb(255 255 255 / 65%)); translate: -124% -198%; }
}
@keyframes pw-mp-stack-layer-build {
  from { opacity: 0; transform: translate3d(2rem, var(--pw-mp-lift), var(--pw-mp-depth)) rotateX(58deg) rotateZ(-16deg) scale(.72); }
  to { opacity: 1; transform: translate3d(0, var(--pw-mp-lift), var(--pw-mp-depth)) rotateX(48deg) rotateZ(-10deg) scale(1); }
}
@keyframes pw-mp-stack-layer-scan {
  0%, 62%, 100% { opacity: 0; transform: translateX(-75%); }
  70% { opacity: .75; }
  84% { opacity: 0; transform: translateX(75%); }
}
@keyframes pw-mp-deck-screen-cycle {
  0%, 2% { z-index: 3; opacity: 0; transform: translate3d(2.5rem, 1rem, -4rem) rotateY(-7deg) scale(.91); }
  7%, 28% { z-index: 3; opacity: 1; transform: translate3d(0, 0, 0) rotateY(0) scale(1); }
  32%, 34% { z-index: 2; opacity: .3; transform: translate3d(-1.5rem, -.7rem, -6rem) rotateY(5deg) scale(.92); }
  38%, 100% { z-index: 1; opacity: 0; transform: translate3d(-3rem, -1rem, -9rem) rotateY(8deg) scale(.86); }
}
@keyframes pw-mp-deck-bar-grow {
  0%, 7% { transform: scaleY(0); }
  13%, 29% { transform: scaleY(1); }
  34%, 100% { transform: scaleY(0); }
}
@keyframes pw-mp-deck-track-grow {
  0%, 7% { transform: scaleX(0); }
  13%, 29% { transform: scaleX(1); }
  34%, 100% { transform: scaleX(0); }
}
@keyframes pw-mp-deck-answer-in {
  0%, 8% { opacity: 0; transform: translateY(.35rem); }
  14%, 29% { opacity: 1; transform: translateY(0); }
  34%, 100% { opacity: 0; transform: translateY(0); }
}
@keyframes pw-mp-deck-ai-bars {
  0%, 12% { transform: scaleY(0); }
  18%, 29% { transform: scaleY(1); }
  34%, 100% { transform: scaleY(0); }
}
@keyframes pw-mp-audience-drift { from { transform: scale(1.09); } to { transform: scale(1.035); } }
@keyframes pw-mp-audience-copy-in { from { opacity: 0; transform: translateY(1.1rem); } to { opacity: 1; transform: translateY(0); } }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 850px), (max-height: 650px) {
  .pw-mp-slide {
    display: flex;
    align-content: normal;
    gap: 1.5rem;
    padding: 6.1rem var(--pw-mp-gutter) 6rem;
  }

  .pw-mp-slide__top {
    grid-template-columns: 1fr;
    flex: 0 0 auto;
    gap: 1.5rem;
  }

  .pw-mp-title { font-size: clamp(2.4rem, 10vw, 4.9rem); }
  .pw-mp-slide__top .pw-mp-visual { height: 19rem; }
  .pw-mp-feature-row { grid-template-columns: 1fr; }
  .pw-mp-feature-box { min-height: 0; }
  .pw-mp-demo-invite { position: static; margin: .2rem 0 0; }
  .pw-mp-audience { display: grid; padding: 6.5rem var(--pw-mp-gutter) 5rem; }
  .pw-mp-audience__content { width: min(100%, 42rem); }
  .pw-mp-pagination { top: auto; right: 50%; bottom: 1.35rem; grid-auto-flow: column; transform: translateX(50%); }
}

@media (max-width: 520px) {
  .pw-mp-brand { width: 8.75rem; }
  .pw-mp-slide { padding-right: 1.35rem; padding-left: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pw-mp *, .pw-mp *::before, .pw-mp *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    animation-fill-mode: forwards !important;
    transition-duration: .001ms !important;
  }

  .pw-mp-chat__round { animation: none !important; }
  .pw-mp-chat__round:first-child { opacity: 1; transform: none; }
  .pw-mp-chat__round:first-child .pw-mp-chat__answer { opacity: 1; transform: none; }
  .pw-mp-chart span { animation: none !important; transform: scaleY(1); }
  .pw-mp-main-orbit__ring,
  .pw-mp-main-orbit__ring b,
  .pw-mp-main-orbit__core::before { animation: none !important; }

  .pw-mp-deck-screen,
  .pw-mp-deck-screen * { animation: none !important; }
  .pw-mp-deck-screen:first-child { opacity: 1; transform: none; }
  .pw-mp-deck-screen:first-child .pw-mp-deck-bars i { transform: scaleY(1); }
}


/* IP Operations reference page — scoped to .ip-operations-reference. */
/* Ported from the Insivia wireframe; mirrors the .head-of-ip-reference scope block structure. */
/* Shared audience wireframe base. Each page keeps its own scope root;
   page-specific overrides remain below, in their original order. */
@scope (.ip-operations-reference,
    .finance-budget-owners-reference,
    .innovation-legal-operations-reference,
    .ip-paralegals-operations-reference,
    .law-firm-partners-reference,
    .law-firm-innovation-legal-operations-reference) {
:scope { --color-navy:#001d3a; --color-white:#fff; --color-orange:#e85626; --color-orange-hover:#fa6a3a; --page-gutter:clamp(1.5rem,7vw,9.3rem); display:block; color:#fff; background:#001d3a; font-family:Poppins,Arial,sans-serif; }

/* styles.css */


:is(.ip-operations-reference, .finance-budget-owners-reference, .innovation-legal-operations-reference, .ip-paralegals-operations-reference, .law-firm-partners-reference, .law-firm-innovation-legal-operations-reference) * {
  box-sizing: border-box;
}









.hero > :not(.site-header),
:is(.ip-operations-reference, .finance-budget-owners-reference, .innovation-legal-operations-reference, .ip-paralegals-operations-reference, .law-firm-partners-reference, .law-firm-innovation-legal-operations-reference) main > :not(.hero) {
  transition: filter 0.25s ease;
}



.page-loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 1rem;
  background: #00172e;
  opacity: 1;
  transition: opacity 0.55s ease, visibility 0.55s ease;
}

.page-loader.is-loaded {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.page-loader__brand {
  color: var(--color-white);
  font-size: clamp(1.5rem, 2.3vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.035em;
}

.page-loader__track {
  width: 100%;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgb(255 255 255 / 12%);
}

.page-loader__track span {
  display: block;
  width: 45%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3883ce, #31d0cd);
  animation: page-loader-sweep 1.05s ease-in-out infinite;
}

@keyframes page-loader-sweep {
  from {
    transform: translateX(-115%);
  }

  to {
    transform: translateX(255%);
  }
}

#smooth-wrapper {
  overflow: hidden;
}

#smooth-content {
  width: 100%;
  overflow: visible;
}

:is(.ip-operations-reference, .finance-budget-owners-reference, .innovation-legal-operations-reference, .ip-paralegals-operations-reference, .law-firm-partners-reference, .law-firm-innovation-legal-operations-reference) main {
  padding-bottom: 0;
}

.hero {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100svh;
  overflow: hidden;
  background: var(--color-navy);
  padding: 1.55rem var(--page-gutter) clamp(3rem, 9vh, 6.7rem);
}

.hero__media {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: var(--color-navy);
  pointer-events: none;
}

.hero__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      var(--color-navy) 0%,
      rgb(0 29 58 / 15%) 20%,
      rgb(0 29 58 / 22%) 68%,
      var(--color-navy) 100%
    ),
    linear-gradient(to right, rgb(0 29 58 / 12%), rgb(0 29 58 / 25%));
  content: "";
}

.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.42;
  filter: grayscale(1) sepia(1) saturate(5) hue-rotate(165deg) brightness(0.92)
    contrast(1.1);
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 18%,
    black 72%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 18%,
    black 72%,
    transparent 100%
  );
}

.site-header {
  position: relative;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 88px;
}

.primary-nav {
  display: flex;
  align-items: flex-end;
  align-self: stretch;
  gap: clamp(1.2rem, 2.3vw, 2.4rem);
}

.primary-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 0.8vw, 0.8rem);
  margin: 0;
  padding: 0;
  list-style: none;
  align-self: flex-end;
}

.nav-item {
  position: static;
}

.nav-item__trigger,
.nav-item__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgb(255 255 255 / 78%);
  padding: 0.7rem 0.75rem;
  font: inherit;
  font-size: 0.98rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.25s ease, background 0.25s ease;
}

.nav-item:hover .nav-item__trigger,
.nav-item__trigger[aria-expanded="true"],
.nav-item__link:hover {
  background: rgb(255 255 255 / 7%);
  color: var(--color-white);
}

.nav-item__trigger:focus-visible,
.nav-item__link:focus-visible,
.primary-nav__cta:focus-visible {
  outline: 2px solid #31d0cd;
  outline-offset: 3px;
}

.primary-nav__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 44px;
  border-radius: 4px;
  background: #12509b;
  color: var(--color-white);
  padding: 0.75rem 1.1rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.25s ease, transform 0.25s ease;
}

.primary-nav__cta:hover {
  background: #3883ce;
  transform: translateY(-1px);
}

.primary-nav__actions {
  display: grid;
  align-self: stretch;
  align-content: space-between;
  justify-items: end;
  gap: 0.9rem;
}

.utility-nav {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.utility-nav a {
  position: relative;
  color: rgb(207 215 220 / 62%);
  font-size: 0.8rem;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.2s ease;
}

.utility-nav a + a::before {
  position: absolute;
  top: 50%;
  left: -0.48rem;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgb(207 215 220 / 42%);
  content: "";
}

.utility-nav a:hover {
  color: var(--color-white);
}

.primary-nav__chevron {
  width: 10px;
  height: 10px;
  border-top: 1.25px solid currentColor;
  border-right: 1.25px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.primary-nav__cta:hover .primary-nav__chevron {
  transform: translateX(3px) rotate(45deg);
}

.nav-toggle {
  display: none;
}

.mega-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 1rem);
  right: 0;
  display: grid;
  visibility: hidden;
  width: min(1180px, calc(100vw - (var(--page-gutter) * 2)));
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 7px;
  background:
    radial-gradient(circle at 88% 0%, rgb(56 131 206 / 10%), transparent 34%),
    rgb(0 12 27 / 99%);
  opacity: 0;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  box-shadow: 0 32px 80px rgb(0 5 14 / 48%);
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
  backdrop-filter: blur(20px) saturate(130%);
}

.nav-item.is-open .mega-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.mega-menu--platform {
  width: min(1420px, calc(100vw - (var(--page-gutter) * 2)));
  grid-template-columns: minmax(0, 3fr) minmax(230px, 0.72fr);
  gap: clamp(2rem, 3vw, 3.25rem);
}

.mega-menu__label {
  margin: 0 0 1rem;
  color: #ffcc72;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mega-links--capabilities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 0.6rem;
}

.mega-links--capabilities a {
  display: grid;
  gap: 0.3rem;
  border-radius: 5px;
  color: inherit;
  padding: 0.85rem;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
}

.mega-links--capabilities a:hover {
  background: rgb(255 255 255 / 7%);
  transform: translateX(3px);
}

.mega-links--capabilities strong {
  color: var(--color-white);
  font-size: 0.98rem;
}

.mega-links--capabilities span {
  color: rgb(207 215 220 / 66%);
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.6;
}

.mega-menu__utility,
.mega-menu__roles {
  border-left: 1px solid rgb(255 255 255 / 12%);
  padding-left: 2rem;
}

.mega-menu__utility a,
.mega-menu__roles a,
.resource-menu-column a {
  display: block;
  border-radius: 4px;
  color: rgb(255 255 255 / 74%);
  padding: 0.52rem 0.6rem;
  font-size: 0.88rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.mega-menu__utility a:hover,
.mega-menu__roles a:hover,
.resource-menu-column a:hover {
  background: rgb(255 255 255 / 7%);
  color: var(--color-white);
}

.mega-menu--audience {
  width: min(780px, calc(100vw - (var(--page-gutter) * 2)));
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.8fr);
  gap: 1rem;
}

.audience-menu-card {
  display: flex;
  min-height: 270px;
  flex-direction: column;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 6px;
  color: inherit;
  padding: 1.5rem;
  text-decoration: none;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.audience-menu-card--law {
  background: linear-gradient(145deg, rgb(18 80 155 / 55%), rgb(0 29 58 / 45%));
}

.audience-menu-card--corporate {
  background: linear-gradient(145deg, rgb(56 131 206 / 38%), rgb(0 29 58 / 52%));
}

.audience-menu-card:hover {
  border-color: rgb(49 208 205 / 42%);
  transform: translateY(-3px);
}

.audience-menu-card small,
.resource-menu-cta small {
  color: #ffcc72;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.audience-menu-card strong {
  margin-top: 0.75rem;
  color: var(--color-white);
  font-size: 1.3rem;
  line-height: 1.3;
}

.audience-menu-card > span {
  margin-top: 0.75rem;
  color: rgb(207 215 220 / 68%);
  font-size: 0.82rem;
  font-weight: 300;
  line-height: 1.6;
}

.audience-menu-card b {
  margin-top: auto;
  color: var(--color-white);
  font-size: 0.82rem;
}

.audience-menu-card i,
.resource-menu-cta i {
  margin-left: 0.4rem;
  color: #31d0cd;
  font-size: 1.2rem;
  font-style: normal;
}

.mega-menu--resources {
  grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(220px, 1.15fr);
  gap: 1.4rem;
}

.resource-menu-column + .resource-menu-column {
  border-left: 1px solid rgb(255 255 255 / 10%);
  padding-left: 1.2rem;
}

.resource-menu-cta {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  border: 1px solid rgb(232 86 38 / 36%);
  border-radius: 6px;
  background: linear-gradient(145deg, rgb(232 86 38 / 22%), rgb(18 80 155 / 20%));
  color: inherit;
  padding: 1.4rem;
  text-decoration: none;
}

.resource-menu-cta strong {
  margin-top: 0.8rem;
  color: var(--color-white);
  font-size: 1.3rem;
  line-height: 1.35;
}

.resource-menu-cta > span {
  margin-top: auto;
  color: var(--color-white);
  font-size: 0.86rem;
  font-weight: 700;
}

.brand {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.brand__logo-image {
  display: block;
  width: 137px;
  height: 60px;
}

.brand__primary {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.brand__mark {
  position: relative;
  top: -20px;
  display: block;
  width: 2.375rem;
  height: 2.438rem;
  flex: 0 0 auto;
  transform: scaleY(-1);
}

.brand__name {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

.brand__tagline {
  margin-top: 0.15rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
}

.hero__content {
  position: relative;
  z-index: 2;
  width: min(100%, 70rem);
  margin: clamp(3.5rem, 8vh, 6rem) auto 2rem;
  align-self: start;
  text-align: center;
}

.hero__content h1 {
  margin: 0;
  font-size: clamp(2.35rem, 4vw, 4.75rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.27;
}

.hero__content h1 > span {
  display: block;
}

.hero__content p {
  margin: 1rem auto 0;
  font-size: clamp(1rem, 1.43vw, 2.25rem);
  font-weight: 300;
  line-height: 1.6;
}

.product-showcase {
  --corner-shadow-size: clamp(360px, 40vw, 600px);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(13rem, 25%) 1fr;
  width: min(94%, 75rem);
  height: 540px;
  margin: clamp(1.5rem, 3vh, 2.5rem) auto 0;
  isolation: isolate;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 6px;
  background:
    linear-gradient(135deg, rgb(255 255 255 / 14%), rgb(255 255 255 / 3%) 46%),
    rgb(4 32 58 / 38%);
  box-shadow:
    0 24px 70px rgb(0 8 21 / 34%),
    inset 0 1px 0 rgb(255 255 255 / 26%),
    inset 0 -1px 0 rgb(255 255 255 / 7%);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.product-showcase::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: var(--corner-shadow-size);
  height: var(--corner-shadow-size);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(0 4 12 / 38%) 0%,
    rgb(0 4 12 / 18%) 42%,
    transparent 72%
  );
  filter: blur(10px);
  content: "";
  pointer-events: none;
  transform: translate(-40%, -40%);
}

.product-showcase::after {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: var(--corner-shadow-size);
  height: var(--corner-shadow-size);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(0 4 12 / 36%) 0%,
    rgb(0 4 12 / 17%) 42%,
    transparent 72%
  );
  filter: blur(10px);
  content: "";
  pointer-events: none;
  transform: translate(40%, 40%);
}

.product-showcase__nav {
  display: flex;
  align-items: center;
  border-right: 1px solid rgb(255 255 255 / 16%);
  background: rgb(0 20 42 / 15%);
  border-radius: 5px 0 0 5px;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.scene-list {
  display: grid;
  width: 100%;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scene-list__item {
  position: relative;
  width: 100%;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgb(255 255 255 / 62%);
  cursor: pointer;
  font: inherit;
  font-size: clamp(0.82rem, 1.1vw, 0.95rem);
  font-weight: 500;
  line-height: 1.35;
  padding: 0.72rem 0.65rem 0.72rem 1rem;
  text-align: left;
  transition: color 160ms ease, background-color 160ms ease;
}

.scene-list__item::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 1.25rem;
  border-radius: 999px;
  background: transparent;
  content: "";
  transform: translateY(-50%);
  transition: background-color 160ms ease;
}

.scene-list__item:hover,
.scene-list__item:focus-visible,
.scene-list__item.is-active {
  background: rgb(255 255 255 / 7%);
  color: var(--color-white);
}

.scene-list__item.is-active::before {
  background: var(--color-orange);
}

.scene-list__item:focus-visible {
  outline: 2px solid rgb(255 255 255 / 80%);
  outline-offset: 2px;
}

.product-showcase__stage {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 0 5px 5px 0;
  background:
    radial-gradient(circle at 65% 35%, rgb(76 105 190 / 12%), transparent 48%),
    linear-gradient(145deg, transparent, rgb(255 255 255 / 2%));
}

.product-showcase__stage::after {
  position: absolute;
  inset: 10%;
  border: 1px solid rgb(255 255 255 / 5%);
  border-radius: 4px;
  content: "";
  pointer-events: none;
}

.product-scene {
  position: absolute;
  inset: 0;
  color: var(--color-navy);
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 420ms ease, visibility 420ms;
}

.product-scene.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.product-scene:not(.is-active),
.product-scene:not(.is-active) * {
  animation-play-state: paused !important;
}

.own-ai-screen {
  display: grid;
  grid-template-columns: 155px 1fr;
  background: #f8fafc;
  animation: own-ai-screen-in 16s ease-in-out infinite;
}

.own-ai-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 17px 12px;
  border-right: 1px solid #dce4ea;
  background: #eef2f5;
  color: #667588;
}

.own-ai-brand { display: flex; gap: 7px; align-items: center; color: #263548; font-size: 11px; }
.own-ai-brand span { color: #776bd0; }
.own-ai-sidebar button { margin: 7px 0; padding: 8px; border: 1px solid #d6dfe6; border-radius: 6px; background: white; color: #425268; text-align: left; }
.own-ai-sidebar > small { color: #8995a4; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.own-ai-sidebar p { margin: 0; padding: 7px; border-radius: 5px; font-size: 8px; }
.own-ai-sidebar p.is-current { background: rgb(18 80 155 / 9%); color: #12509b; font-weight: 700; }
.own-ai-connection { position: absolute; right: 10px; bottom: 12px; left: 10px; display: grid; grid-template-columns: 27px 1fr 6px; gap: 7px; align-items: center; padding: 8px; border: 1px solid rgb(18 80 155 / 18%); border-radius: 7px; background: rgb(255 255 255 / 82%); }
.own-ai-connection > b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 5px; background: #12509b; color: white; }
.own-ai-connection strong, .own-ai-connection small { display: block; }
.own-ai-connection strong { color: #173553; font-size: 8px; }
.own-ai-connection small { color: #748395; font-size: 6px; }
.own-ai-connection i { width: 6px; height: 6px; border-radius: 50%; background: #31d0cd; }

.own-ai-chat { display: grid; grid-template-rows: 42px 1fr 48px; min-width: 0; background: white; }
.own-ai-chat > header { display: flex; align-items: center; justify-content: space-between; padding: 0 15px; border-bottom: 1px solid #e1e7ec; }
.own-ai-chat > header strong, .own-ai-chat > header small { display: block; }
.own-ai-chat > header strong { color: #263548; font-size: 9px; }
.own-ai-chat > header small { color: #8794a3; font-size: 6px; }
.own-ai-chat > header em { padding: 4px 7px; border: 1px solid #dce4ea; border-radius: 999px; color: #788697; font-size: 6px; font-style: normal; }
.own-ai-body { overflow: hidden; padding: 13px clamp(13px, 2.5vw, 25px); }
.own-ai-question { display: flex; justify-content: flex-end; gap: 7px; opacity: 0; animation: own-ai-question-in 16s ease-in-out infinite; }
.own-ai-question small { padding-top: 7px; color: #8a97a5; font-size: 6px; font-weight: 800; }
.own-ai-question p { max-width: 76%; margin: 0; padding: 8px 11px; border-radius: 9px 9px 2px 9px; background: #eef2f5; color: #2c3d51; font-size: 8px; line-height: 1.4; }
.own-ai-answer { display: grid; grid-template-columns: 24px 1fr; gap: 8px; margin-top: 11px; }
.own-ai-avatar { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; background: #776bd0; color: white; font-size: 8px; opacity: 0; animation: own-ai-answer-in 16s ease-in-out infinite; }
.own-ai-tool { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 4px 7px; border: 1px solid rgb(18 80 155 / 16%); border-radius: 6px; background: rgb(18 80 155 / 5%); color: #52677c; font-size: 6px; opacity: 0; animation: own-ai-tool-in 16s ease-in-out infinite; }
.own-ai-tool b { display: grid; width: 15px; height: 15px; place-items: center; border-radius: 4px; background: #12509b; color: white; }
.own-ai-tool i { width: 5px; height: 5px; border-radius: 50%; background: #31d0cd; animation: own-ai-pulse 1s ease-in-out infinite; }
.own-ai-stream { max-width: 95%; margin: 7px 0; color: #3d5065; font-size: 8px; line-height: 1.45; opacity: 0; clip-path: inset(0 100% 0 0); animation: own-ai-stream-in 16s steps(16, end) infinite; }
.own-ai-stream strong { color: #12509b; }
.own-ai-chart { max-width: 390px; padding: 8px 10px 6px; border: 1px solid #dce5eb; border-radius: 7px; background: #f8fafc; opacity: 0; transform: translateY(7px); animation: own-ai-chart-in 16s ease-in-out infinite; }
.own-ai-chart header { display: flex; justify-content: space-between; }
.own-ai-chart header small, .own-ai-chart header strong { display: block; }
.own-ai-chart header small { color: #8795a3; font-size: 5px; text-transform: uppercase; }
.own-ai-chart header strong { color: #173553; font-size: 8px; }
.own-ai-chart header em { color: #748395; font-size: 5px; font-style: normal; }
.own-ai-bars { display: flex; align-items: end; justify-content: space-around; height: 70px; margin-top: 4px; border-bottom: 1px solid #dce5eb; background: repeating-linear-gradient(to bottom, transparent 0 22px, rgb(18 80 155 / 7%) 23px); }
.own-ai-bars > i { position: relative; width: 12px; height: var(--h); border-radius: 2px 2px 0 0; background: #3883ce; transform: scaleY(0); transform-origin: bottom; animation: own-ai-bars-in 16s ease-out infinite; }
.own-ai-bars > i b { position: absolute; right: -8px; bottom: 0; width: 6px; height: 78%; border-radius: 2px 2px 0 0; background: #31d0cd; }
.own-ai-chart footer { display: flex; gap: 9px; padding-top: 5px; color: #718194; font-size: 5px; }
.own-ai-chart footer span:first-child { color: #3883ce; }
.own-ai-chart footer span:nth-child(2) { color: #31a9a7; }
.own-ai-chart footer strong { margin-left: auto; color: #087d7b; font-size: 7px; }
.own-ai-input { display: flex; align-items: center; justify-content: space-between; margin: 4px 15px 9px; padding: 0 7px 0 11px; border: 1px solid #d8e0e6; border-radius: 8px; color: #9aa5b1; font-size: 7px; }
.own-ai-input b { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 6px; background: #273548; color: white; font-size: 11px; }

.product-screen {
  position: absolute;
  inset: clamp(1rem, 3vw, 2.25rem);
  overflow: hidden;
  border: 1px solid rgb(207 215 220 / 72%);
  border-radius: 8px;
  background: #f6f8fa;
  box-shadow: 0 20px 50px rgb(0 12 28 / 32%);
  opacity: 0;
  transform: translateY(12px) scale(0.985);
}

.product-screen--request {
  animation: request-scene 12s ease-in-out infinite;
}

.product-screen--forecast {
  animation: forecast-scene 12s ease-in-out infinite;
}

.product-window__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 36px;
  border-bottom: 1px solid #dce3e7;
  background: rgb(255 255 255 / 88%);
  color: #607084;
  font-size: 10px;
  font-weight: 600;
  padding: 0 12px;
}

.product-window__dots {
  display: flex;
  gap: 4px;
}

.product-window__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cfd7dc;
}

.product-window__dots i:first-child {
  background: #e85626;
}

.product-window__status {
  justify-self: end;
  border-radius: 999px;
  background: #edf1f4;
  color: #6b7988;
  font-size: 9px;
  padding: 4px 8px;
}

.product-window__status.is-ready {
  background: rgb(49 208 205 / 16%);
  color: #087d7b;
}

.request-card {
  position: relative;
  width: min(82%, 430px);
  margin: clamp(1rem, 4vh, 2.4rem) auto 0;
  border: 1px solid #e2e7eb;
  border-radius: 7px;
  background: white;
  padding: clamp(1.1rem, 2.5vw, 1.65rem);
  box-shadow: 0 10px 26px rgb(0 29 58 / 7%);
}

.product-eyebrow {
  color: #3883ce;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.request-card h3,
.forecast-heading h3 {
  margin: 4px 0;
  color: #001d3a;
  font-size: clamp(14px, 1.6vw, 20px);
  line-height: 1.2;
}

.request-card p {
  margin: 0 0 14px;
  color: #728092;
  font-size: 9px;
}

.country-field {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 42px;
  border: 1px solid #cfd7dc;
  border-radius: 5px;
  padding: 6px 11px;
}

.country-field__label {
  grid-column: 1 / -1;
  color: #607084;
  font-size: 8px;
  font-weight: 600;
}

.country-field__value {
  color: #9aa6b2;
  font-size: 10px;
}

.country-field__chevron {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: 16px;
}

.country-menu {
  position: absolute;
  z-index: 2;
  top: calc(100% - 32px);
  right: clamp(1.1rem, 2.5vw, 1.65rem);
  left: clamp(1.1rem, 2.5vw, 1.65rem);
  display: grid;
  overflow: hidden;
  border: 1px solid #d6dde2;
  border-radius: 5px;
  background: white;
  box-shadow: 0 12px 30px rgb(0 29 58 / 15%);
  opacity: 0;
  transform: translateY(-5px);
  animation: country-menu 12s ease infinite;
}

.country-menu span {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  align-items: center;
  min-height: 34px;
  border-bottom: 1px solid #edf0f2;
  color: #33485f;
  font-size: 9px;
  padding: 0 10px;
}

.country-menu i {
  color: #12509b;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

.country-menu b {
  color: #31aead;
  font-weight: 700;
}

.selected-countries {
  display: flex;
  min-height: 28px;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  opacity: 0;
  animation: selected-countries 12s ease infinite;
}

.selected-countries span {
  border: 1px solid rgb(56 131 206 / 24%);
  border-radius: 999px;
  background: rgb(56 131 206 / 9%);
  color: #12509b;
  font-size: 8px;
  font-weight: 600;
  padding: 4px 7px;
}

.forecast-button {
  display: block;
  margin: 12px 0 0 auto;
  border: 0;
  border-radius: 4px;
  background: #e85626;
  color: white;
  font: inherit;
  font-size: 9px;
  font-weight: 700;
  padding: 8px 13px;
}

.demo-cursor {
  position: absolute;
  z-index: 5;
  top: 64%;
  left: 68%;
  width: 12px;
  height: 16px;
  background: #001d3a;
  clip-path: polygon(0 0, 100% 72%, 57% 76%, 42% 100%);
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / 25%));
  opacity: 0;
  animation: demo-cursor 12s ease-in-out infinite;
}

.forecast-dashboard {
  padding: clamp(0.9rem, 2vw, 1.4rem);
}

.forecast-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.forecast-badge {
  border-radius: 999px;
  background: rgb(18 80 155 / 9%);
  color: #12509b;
  font-size: 8px;
  font-weight: 700;
  padding: 6px 9px;
}

.metric-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
}

.metric-card,
.forecast-chart {
  border: 1px solid #e1e7eb;
  border-radius: 6px;
  background: white;
  box-shadow: 0 6px 16px rgb(0 29 58 / 5%);
}

.metric-card {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
}

.metric-card span,
.metric-card small,
.forecast-chart small {
  color: #7a8796;
  font-size: 7px;
}

.metric-card strong {
  color: #001d3a;
  font-size: clamp(13px, 1.7vw, 19px);
}

.forecast-visuals {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(115px, 0.85fr);
  gap: 9px;
  margin-top: 9px;
}

.forecast-chart {
  padding: 10px 12px 8px;
}

.forecast-chart__title {
  display: flex;
  justify-content: space-between;
  color: #33485f;
  font-size: 9px;
  font-weight: 600;
}

.bar-chart {
  display: flex;
  height: clamp(78px, 14vh, 130px);
  gap: clamp(8px, 2vw, 22px);
  align-items: end;
  border-bottom: 1px solid #dce3e7;
  margin-top: 8px;
  padding: 0 5% 0;
}

.bar-chart div {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: 1fr 16px;
  align-items: end;
  justify-items: center;
}

.bar-chart span {
  width: min(70%, 24px);
  height: var(--bar-height);
  border-radius: 3px 3px 0 0;
  background: linear-gradient(to top, #12509b, #3883ce);
  transform: scaleY(0);
  transform-origin: bottom;
  animation: forecast-bars 12s ease-out infinite;
}

.bar-chart div:nth-child(4) span,
.bar-chart div:nth-child(5) span {
  background: linear-gradient(to top, #d64d22, #ffcc72);
}

.bar-chart small {
  align-self: center;
}

.forecast-chart--share {
  min-width: 0;
}

.country-share {
  display: grid;
  height: clamp(78px, 14vh, 130px);
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  gap: 7px;
  padding-top: 8px;
}

.country-share__donut {
  display: grid;
  width: clamp(54px, 7vw, 82px);
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(
    #12509b 0 48%,
    #3883ce 48% 80%,
    #31d0cd 80% 100%
  );
  opacity: 0;
  transform: scale(0.72) rotate(-45deg);
  animation: forecast-donut 12s ease-out infinite;
}

.country-share__donut::before {
  width: 58%;
  aspect-ratio: 1;
  grid-area: 1 / 1;
  border-radius: 50%;
  background: white;
  content: "";
}

.country-share__donut span {
  z-index: 1;
  display: grid;
  grid-area: 1 / 1;
  color: #778697;
  font-size: 6px;
  line-height: 1.15;
  text-align: center;
}

.country-share__donut strong {
  color: #001d3a;
  font-size: 13px;
}

.country-share__legend {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: clamp(5px, 0.8vw, 9px);
}

.country-share__legend span {
  display: flex;
  align-items: center;
  gap: 3px;
  color: #718092;
  font-size: 6px;
  white-space: nowrap;
}

.country-share__legend i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #12509b;
}

.country-share__legend i.is-ep {
  background: #3883ce;
}

.country-share__legend i.is-jp {
  background: #31d0cd;
}

.country-share__legend b {
  color: #33485f;
}

.whatif-screen {
  opacity: 1;
  transform: none;
}

.whatif-layout {
  display: grid;
  height: calc(100% - 36px);
  grid-template-columns: minmax(0, 1.55fr) minmax(175px, 0.9fr);
}

.scenario-panel {
  position: relative;
  min-width: 0;
  border-right: 1px solid #dce3e7;
  background:
    linear-gradient(rgb(241 245 248 / 72%) 1px, transparent 1px),
    white;
  background-size: 100% 25%;
  padding: clamp(0.9rem, 2vw, 1.35rem);
}

.scenario-heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: start;
  justify-content: space-between;
}

.scenario-heading h3 {
  margin: 3px 0 0;
  color: #001d3a;
  font-size: clamp(12px, 1.3vw, 16px);
}

.scenario-legend {
  display: flex;
  gap: 8px;
  color: #718092;
  font-size: 7px;
}

.scenario-legend span {
  display: flex;
  align-items: center;
  gap: 3px;
}

.scenario-legend i {
  width: 6px;
  height: 6px;
  border-radius: 2px;
  background: #cfd7dc;
}

.scenario-legend span:last-child i {
  background: #3883ce;
}

.scenario-chart {
  position: absolute;
  top: 68px;
  right: clamp(0.9rem, 2vw, 1.35rem);
  bottom: 16px;
  left: clamp(0.9rem, 2vw, 1.35rem);
  display: grid;
  grid-template-rows: 1fr auto;
  opacity: 0;
  transform: translateY(7px);
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.scenario-chart--japan {
  animation-name: whatif-japan;
}

.scenario-chart--germany {
  animation-name: whatif-germany;
}

.scenario-chart--china {
  animation-name: whatif-china;
}

.scenario-bars {
  display: flex;
  min-height: 0;
  gap: clamp(8px, 1.8vw, 20px);
  align-items: end;
  border-bottom: 1px solid #cfd7dc;
  padding: 5px 6% 0;
}

.scenario-bars > div {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: 1fr 18px;
  align-items: end;
  justify-items: center;
}

.scenario-bars i {
  position: relative;
  display: flex;
  width: min(74%, 38px);
  height: 100%;
  align-items: end;
  gap: 3px;
}

.scenario-bars i::before,
.scenario-bars i::after {
  width: calc(50% - 1.5px);
  border-radius: 3px 3px 0 0;
  content: "";
  transform: scaleY(0);
  transform-origin: bottom;
  animation: whatif-bars 24s -12s ease-out infinite;
}

.scenario-bars i::before {
  height: var(--original);
  background: #cfd7dc;
}

.scenario-bars i::after {
  height: var(--scenario);
  background: linear-gradient(to top, #12509b, #3883ce);
}

.scenario-bars small {
  align-self: center;
  color: #718092;
  font-size: 7px;
}

.scenario-line-chart {
  display: grid;
  min-height: 0;
  grid-template-rows: 1fr 18px;
  overflow: hidden;
  border-bottom: 1px solid #cfd7dc;
}

.scenario-line-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.chart-grid-line {
  fill: none;
  stroke: #e5eaed;
  stroke-width: 1;
}

.chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: whatif-line-draw 24s -12s ease-in-out infinite;
}

.chart-line--original {
  stroke: #c4cdd3;
  stroke-width: 4;
}

.chart-line--scenario {
  stroke: #3883ce;
}

.chart-line--delayed {
  stroke: #31d0cd;
}

.chart-points {
  fill: #3883ce;
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.chart-delay-area {
  fill: url(#china-area);
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.chart-delay-marker {
  fill: none;
  stroke: #e85626;
  stroke-dasharray: 4 5;
  stroke-width: 2;
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.scenario-line-chart text {
  fill: #e85626;
  font-size: 10px;
  font-weight: 700;
  opacity: 0;
  animation: whatif-chart-detail 24s -12s ease-in-out infinite;
}

.scenario-years {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  color: #718092;
  font-size: 7px;
  text-align: center;
}

.scenario-chart > p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 9px 0 0;
  color: #718092;
  font-size: 7px;
}

.scenario-chart > p strong {
  color: #12509b;
  font-size: 8px;
}

.assistant-panel {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr auto;
  background: #f6f8fa;
  padding: clamp(0.8rem, 1.7vw, 1.15rem);
}

.assistant-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid #dce3e7;
  padding-bottom: 10px;
}

.assistant-spark {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 7px;
  background: #12509b;
  color: #ffcc72;
  font-size: 12px;
}

.assistant-heading div {
  display: grid;
}

.assistant-heading strong {
  color: #001d3a;
  font-size: 9px;
}

.assistant-heading small {
  color: #7a8796;
  font-size: 7px;
}

.chat-stage {
  position: relative;
  min-height: 0;
}

.chat-exchange {
  position: absolute;
  inset: 12px 0 5px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  opacity: 0;
  transform: translateY(6px);
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.chat-exchange--japan {
  animation-name: whatif-japan;
}

.chat-exchange--germany {
  animation-name: whatif-germany;
}

.chat-exchange--china {
  animation-name: whatif-china;
}

.chat-question {
  align-self: end;
  max-width: 92%;
  margin: 0;
  border-radius: 8px 8px 2px 8px;
  background: #001d3a;
  color: white;
  font-size: clamp(7px, 0.8vw, 9px);
  line-height: 1.45;
  padding: 8px 9px;
  opacity: 0;
  transform: translateY(5px) scale(0.98);
}

.chat-answer {
  border: 1px solid #dfe5e9;
  border-radius: 2px 8px 8px 8px;
  background: white;
  color: #526276;
  font-size: clamp(7px, 0.8vw, 9px);
  line-height: 1.55;
  padding: 9px 10px;
  clip-path: inset(0 0 100% 0);
  opacity: 0;
}

.chat-answer strong {
  color: #12509b;
}

.chat-answer span {
  display: block;
  margin-top: 5px;
  color: #087d7b;
  font-size: 7px;
}

.assistant-input {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
  border: 1px solid #cfd7dc;
  border-radius: 6px;
  background: white;
  color: #98a4af;
  font-size: 8px;
  padding: 5px 5px 5px 9px;
  overflow: hidden;
}

.assistant-input b {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 4px;
  background: #e85626;
  color: white;
}

.assistant-input__placeholder,
.typed-prompt {
  position: absolute;
  right: 34px;
  left: 9px;
  overflow: hidden;
  white-space: nowrap;
}

.assistant-input__placeholder {
  animation: prompt-placeholder 24s -12s linear infinite;
}

.typed-prompt {
  color: #33485f;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  font-size: clamp(6px, 0.72vw, 8px);
  font-weight: 500;
  animation-duration: 24s;
  animation-delay: -12s;
  animation-timing-function: steps(32, end);
  animation-iteration-count: infinite;
}

.typed-prompt--japan {
  animation-name: prompt-type-japan;
}

.typed-prompt--germany {
  animation-name: prompt-type-germany;
}

.typed-prompt--china {
  animation-name: prompt-type-china;
}

.chat-exchange--japan .chat-question {
  animation: question-in-japan 24s -12s ease-in-out infinite;
}

.chat-exchange--japan .chat-answer {
  animation: answer-stream-japan 24s -12s steps(8, end) infinite;
}

.chat-exchange--germany .chat-question {
  animation: question-in-germany 24s -12s ease-in-out infinite;
}

.chat-exchange--germany .chat-answer {
  animation: answer-stream-germany 24s -12s steps(8, end) infinite;
}

.chat-exchange--china .chat-question {
  animation: question-in-china 24s -12s ease-in-out infinite;
}

.chat-exchange--china .chat-answer {
  animation: answer-stream-china 24s -12s steps(8, end) infinite;
}

@keyframes product-scene-forecast {
  0%, 31% { opacity: 1; }
  34%, 100% { opacity: 0; }
}

@keyframes product-scene-whatif {
  0%, 32%, 100% { opacity: 0; }
  35%, 96% { opacity: 1; }
}

@keyframes nav-forecast {
  0%, 31% { background: rgb(255 255 255 / 7%); color: white; }
  34%, 100% { background: transparent; color: rgb(255 255 255 / 62%); }
}

@keyframes nav-marker-forecast {
  0%, 31% { background: #e85626; }
  34%, 100% { background: transparent; }
}

@keyframes nav-whatif {
  0%, 32%, 100% { background: transparent; color: rgb(255 255 255 / 62%); }
  35%, 96% { background: rgb(255 255 255 / 7%); color: white; }
}

@keyframes nav-marker-whatif {
  0%, 32%, 100% { background: transparent; }
  35%, 96% { background: #ffcc72; }
}

@keyframes own-ai-screen-in {
  0%, 4%, 96%, 100% { opacity: 0; transform: translateY(10px) scale(.988); }
  8%, 92% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes own-ai-question-in {
  0%, 12%, 96%, 100% { opacity: 0; transform: translateY(5px); }
  17%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes own-ai-answer-in {
  0%, 25%, 96%, 100% { opacity: 0; }
  30%, 92% { opacity: 1; }
}

@keyframes own-ai-tool-in {
  0%, 25%, 96%, 100% { opacity: 0; transform: translateY(4px); }
  30%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes own-ai-stream-in {
  0%, 36%, 96%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  39% { opacity: 1; clip-path: inset(0 100% 0 0); }
  58%, 92% { opacity: 1; clip-path: inset(0); }
}

@keyframes own-ai-chart-in {
  0%, 57%, 96%, 100% { opacity: 0; transform: translateY(7px); }
  63%, 92% { opacity: 1; transform: translateY(0); }
}

@keyframes own-ai-bars-in {
  0%, 61%, 96%, 100% { transform: scaleY(0); }
  70%, 92% { transform: scaleY(1); }
}

@keyframes own-ai-pulse {
  50% { opacity: .35; transform: scale(.72); }
}

@keyframes whatif-japan {
  0%, 4%, 31%, 100% { opacity: 0; transform: translateY(6px); }
  8%, 27% { opacity: 1; transform: translateY(0); }
}

@keyframes whatif-germany {
  0%, 30%, 36%, 63%, 100% { opacity: 0; transform: translateY(6px); }
  40%, 59% { opacity: 1; transform: translateY(0); }
}

@keyframes whatif-china {
  0%, 62%, 69%, 94%, 100% { opacity: 0; transform: translateY(6px); }
  73%, 90% { opacity: 1; transform: translateY(0); }
}

@keyframes whatif-bars {
  0%, 5%, 33%, 38%, 65%, 71%, 96%, 100% { transform: scaleY(0); }
  11%, 28%, 44%, 60%, 77%, 91% { transform: scaleY(1); }
}

@keyframes prompt-placeholder {
  0%, 1%, 9%, 32%, 41%, 64%, 73%, 100% { opacity: 1; }
  2%, 8%, 33%, 40%, 65%, 72% { opacity: 0; }
}

@keyframes prompt-type-japan {
  0%, 1%, 9%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  2% { opacity: 1; clip-path: inset(0 100% 0 0); }
  7% { opacity: 1; clip-path: inset(0 0 0 0); }
  8% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes prompt-type-germany {
  0%, 32%, 42%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  33% { opacity: 1; clip-path: inset(0 100% 0 0); }
  39% { opacity: 1; clip-path: inset(0 0 0 0); }
  40% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes prompt-type-china {
  0%, 64%, 74%, 100% { opacity: 0; clip-path: inset(0 100% 0 0); }
  65% { opacity: 1; clip-path: inset(0 100% 0 0); }
  71% { opacity: 1; clip-path: inset(0 0 0 0); }
  72% { opacity: 0; clip-path: inset(0 0 0 0); }
}

@keyframes question-in-japan {
  0%, 8%, 30%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  10%, 27% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes answer-stream-japan {
  0%, 12%, 30%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  14% { opacity: 1; clip-path: inset(0 0 100% 0); }
  23%, 27% { opacity: 1; clip-path: inset(0); }
}

@keyframes question-in-germany {
  0%, 39%, 63%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  41%, 60% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes answer-stream-germany {
  0%, 44%, 63%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  46% { opacity: 1; clip-path: inset(0 0 100% 0); }
  55%, 60% { opacity: 1; clip-path: inset(0); }
}

@keyframes question-in-china {
  0%, 71%, 95%, 100% { opacity: 0; transform: translateY(5px) scale(0.98); }
  73%, 92% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes answer-stream-china {
  0%, 76%, 95%, 100% { opacity: 0; clip-path: inset(0 0 100% 0); }
  78% { opacity: 1; clip-path: inset(0 0 100% 0); }
  87%, 92% { opacity: 1; clip-path: inset(0); }
}

@keyframes whatif-line-draw {
  0%, 10%, 32%, 75%, 96%, 100% { stroke-dashoffset: 520; }
  16%, 29%, 82%, 92% { stroke-dashoffset: 0; }
}

@keyframes whatif-chart-detail {
  0%, 15%, 31%, 80%, 95%, 100% { opacity: 0; }
  18%, 29%, 84%, 92% { opacity: 1; }
}

@keyframes request-scene {
  0%, 5%, 49%, 100% { opacity: 0; transform: translateY(12px) scale(0.985); }
  9%, 43% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes forecast-scene {
  0%, 46%, 94%, 100% { opacity: 0; transform: translateY(12px) scale(0.985); }
  53%, 88% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes country-menu {
  0%, 14%, 34%, 100% { opacity: 0; transform: translateY(-5px); }
  17%, 29% { opacity: 1; transform: translateY(0); }
}

@keyframes selected-countries {
  0%, 27%, 100% { opacity: 0; }
  31%, 47% { opacity: 1; }
}

@keyframes demo-cursor {
  0%, 10%, 46%, 100% { opacity: 0; top: 64%; left: 68%; }
  13% { opacity: 1; top: 48%; left: 72%; }
  19% { opacity: 1; top: 54%; left: 52%; }
  26% { opacity: 1; top: 66%; left: 52%; }
  35% { opacity: 1; top: 72%; left: 67%; }
  40% { opacity: 1; top: 78%; left: 69%; }
  43% { opacity: 0; top: 78%; left: 69%; }
}

@keyframes forecast-bars {
  0%, 52%, 100% { transform: scaleY(0); }
  60%, 89% { transform: scaleY(1); }
}

@keyframes forecast-donut {
  0%, 54%, 100% { opacity: 0; transform: scale(0.72) rotate(-45deg); }
  63%, 89% { opacity: 1; transform: scale(1) rotate(0); }
}

.hero__cta {
  position: relative;
  z-index: 2;
  justify-self: center;
  display: inline-flex;
  min-width: 15.5rem;
  min-height: 2.688rem;
  margin-top: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  background: var(--color-orange);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}

.hero__cta:hover {
  background: var(--color-orange-hover);
  transform: translateY(-2px);
}

.hero__cta:focus-visible,
.brand:focus-visible {
  outline: 3px solid var(--color-white);
  outline-offset: 4px;
}

.product-showcase--platform {
  width: min(98%, 82rem);
  height: 570px;
  grid-template-columns: minmax(12rem, 20%) minmax(0, 80%);
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.product-showcase--platform::before,
.product-showcase--platform::after,
.product-showcase--platform .product-showcase__stage::after {
  display: none;
}

.product-showcase--platform .product-showcase__nav {
  align-items: center;
  border: 0;
  background: transparent;
  padding: 1rem 1.15rem 1rem 0;
}

.product-showcase--platform .scene-list {
  gap: 0.8rem;
}

.product-showcase--platform .scene-list__item {
  min-height: 52px;
  border-radius: 0;
  padding: 0.7rem 2.6rem 0.7rem 0.25rem;
  text-align: right;
}

.product-showcase--platform .scene-list__item:hover,
.product-showcase--platform .scene-list__item:focus-visible,
.product-showcase--platform .scene-list__item.is-active {
  background: transparent;
}

.product-showcase--platform .scene-list__item::before {
  top: 50%;
  right: 0;
  left: auto;
  width: 2rem;
  height: 1px;
  border-radius: 0;
  background: rgb(207 215 220 / 20%);
  transform: none;
}

.product-showcase--platform .scene-list__item.is-active::before {
  width: 2.25rem;
  background: var(--color-orange);
  box-shadow: 0 0 12px rgb(232 86 38 / 36%);
}

.product-showcase--platform .product-showcase__stage {
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

.product-showcase--platform .product-screen {
  inset: 0.3rem 0 0.3rem 0.65rem;
  border-color: rgb(255 255 255 / 34%);
  border-radius: 10px;
  background: rgb(226 237 245 / 76%);
  box-shadow:
    0 28px 70px rgb(0 8 21 / 34%),
    inset 0 1px 0 rgb(255 255 255 / 62%);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
}

.product-showcase--platform .product-window__bar,
.product-showcase--platform .own-ai-chat > header {
  background: rgb(255 255 255 / 48%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .metric-card,
.product-showcase--platform .forecast-chart,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat,
.product-showcase--platform .own-ai-connection,
.product-showcase--platform .own-ai-chart {
  background-color: rgb(255 255 255 / 58%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.product-showcase--platform .scenario-panel {
  background:
    linear-gradient(rgb(241 245 248 / 42%) 1px, transparent 1px),
    rgb(255 255 255 / 48%);
  background-size: 100% 25%;
}

.product-showcase--platform .own-ai-sidebar {
  background: rgb(235 241 245 / 58%);
}

.product-showcase--platform {
  height: 660px;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 570px);
  grid-template-areas:
    "labels"
    "stage";
}

.product-showcase--platform .product-showcase__stage {
  grid-area: stage;
  width: min(100%, 76rem);
  justify-self: center;
}

.product-showcase--platform .product-showcase__nav {
  grid-area: labels;
  width: min(100%, 76rem);
  justify-self: center;
  padding: 0 0 0.8rem;
}

.product-showcase--platform .scene-list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.35rem;
}

.product-showcase--platform .scene-list__item {
  min-height: 62px;
  padding: 0.7rem 1.65rem 0.7rem 0.35rem;
  color: rgb(255 255 255 / 30%);
  font-size: clamp(0.72rem, 0.88vw, 0.84rem);
  text-align: center;
}

.product-showcase--platform .scene-list__item:hover,
.product-showcase--platform .scene-list__item:focus-visible,
.product-showcase--platform .scene-list__item.is-active {
  color: var(--color-white);
}

.product-showcase--platform::before {
  z-index: -1;
  top: 50%;
  left: 50%;
  display: block;
  width: 100vw;
  height: 100vw;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgb(0 5 14 / 32%) 0%,
    rgb(0 5 14 / 18%) 36%,
    transparent 68%
  );
  filter: blur(18px);
  transform: translate(-50%, -50%);
}

.product-showcase--platform .scene-list__item::before {
  right: 0.15rem;
  width: 1.25rem;
}

.product-showcase--platform .scene-list__item.is-active::before {
  width: 1.25rem;
  background: rgb(207 215 220 / 20%);
  box-shadow: none;
}

.product-showcase--platform .scene-list__item:last-child::before {
  display: none;
}

.product-showcase--platform .product-screen {
  inset: 0.15rem 0.35rem 0.35rem;
  border: 0;
  background: rgb(0 18 38 / 30%);
  color: rgb(231 239 244 / 88%);
  box-shadow:
    0 40px 100px rgb(0 5 14 / 58%),
    0 14px 34px rgb(0 5 14 / 42%),
    inset 0 1px 0 rgb(255 255 255 / 14%);
  backdrop-filter: blur(15px) saturate(110%);
  -webkit-backdrop-filter: blur(15px) saturate(110%);
}

.product-showcase--platform .product-window__bar,
.product-showcase--platform .own-ai-chat > header {
  border-color: rgb(207 215 220 / 13%);
  background: rgb(0 18 38 / 20%);
  color: rgb(231 239 244 / 68%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .metric-card,
.product-showcase--platform .forecast-chart,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat,
.product-showcase--platform .own-ai-connection,
.product-showcase--platform .own-ai-chart {
  border-color: rgb(207 215 220 / 13%);
  background-color: rgb(0 18 38 / 17%);
}

.product-showcase--platform .scenario-panel {
  border-right-color: rgb(207 215 220 / 12%);
  background:
    linear-gradient(rgb(255 255 255 / 5%) 1px, transparent 1px),
    rgb(0 18 38 / 12%);
  background-size: 100% 25%;
}

.product-showcase--platform .own-ai-sidebar {
  border-color: rgb(207 215 220 / 12%);
  background: rgb(0 18 38 / 18%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .country-menu,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat {
  color: rgb(231 239 244 / 84%);
}

.product-showcase--platform .request-card h3,
.product-showcase--platform .forecast-heading h3,
.product-showcase--platform .scenario-heading h3,
.product-showcase--platform .assistant-heading strong,
.product-showcase--platform .metric-card strong,
.product-showcase--platform .forecast-chart__title span,
.product-showcase--platform .own-ai-brand,
.product-showcase--platform .own-ai-chat strong,
.product-showcase--platform .own-ai-chart strong {
  color: var(--color-white);
}

.product-showcase--platform .request-card p,
.product-showcase--platform .country-field,
.product-showcase--platform .country-field__label,
.product-showcase--platform .country-field__value,
.product-showcase--platform .metric-card span,
.product-showcase--platform .metric-card small,
.product-showcase--platform .scenario-legend,
.product-showcase--platform .own-ai-sidebar,
.product-showcase--platform .own-ai-stream,
.product-showcase--platform .own-ai-question p {
  color: rgb(207 215 220 / 70%);
}

.product-showcase--platform .country-field,
.product-showcase--platform .country-menu,
.product-showcase--platform .assistant-input,
.product-showcase--platform .own-ai-input,
.product-showcase--platform .own-ai-question p {
  border-color: rgb(207 215 220 / 16%);
  background: rgb(0 18 38 / 17%);
}

.product-showcase--platform .country-menu span {
  border-color: rgb(207 215 220 / 10%);
  color: rgb(231 239 244 / 78%);
}

.product-showcase--platform .product-window__status,
.product-showcase--platform .forecast-badge {
  background: rgb(56 131 206 / 16%);
  color: rgb(178 214 248 / 86%);
}

.product-showcase--platform .product-window__status.is-ready {
  background: rgb(49 208 205 / 14%);
  color: rgb(126 232 228 / 88%);
}

.product-showcase--platform .forecast-dashboard {
  background: rgb(0 18 38 / 10%);
}

.product-showcase--platform .country-share__donut::before {
  background: rgb(0 24 49 / 92%);
}

.product-showcase--platform .country-share__donut span,
.product-showcase--platform .country-share__legend span,
.product-showcase--platform .forecast-chart small,
.product-showcase--platform .scenario-years,
.product-showcase--platform .scenario-chart > p,
.product-showcase--platform .assistant-heading small,
.product-showcase--platform .own-ai-input {
  color: rgb(207 215 220 / 62%);
}

.product-showcase--platform .country-share__donut strong,
.product-showcase--platform .country-share__legend b,
.product-showcase--platform .scenario-chart > p strong {
  color: rgb(231 239 244 / 90%);
}

.product-showcase--platform .bar-chart,
.product-showcase--platform .assistant-heading,
.product-showcase--platform .scenario-bars,
.product-showcase--platform .scenario-line-chart,
.product-showcase--platform .own-ai-bars,
.product-showcase--platform .own-ai-chat > header,
.product-showcase--platform .own-ai-sidebar,
.product-showcase--platform .own-ai-connection {
  border-color: rgb(207 215 220 / 12%);
}

.product-showcase--platform .request-card,
.product-showcase--platform .metric-card,
.product-showcase--platform .forecast-chart,
.product-showcase--platform .country-menu,
.product-showcase--platform .assistant-panel,
.product-showcase--platform .own-ai-chat,
.product-showcase--platform .own-ai-chart {
  box-shadow: 0 10px 28px rgb(0 5 14 / 18%);
}

.product-showcase--platform .product-window__dots i:not(:first-child) {
  background: rgb(207 215 220 / 44%);
}

.product-showcase--platform .scenario-legend i,
.product-showcase--platform .scenario-bars i::before {
  background: rgb(207 215 220 / 34%);
}

.product-showcase--platform .chart-grid-line {
  stroke: rgb(207 215 220 / 16%);
}

.product-showcase--platform .chart-line--original {
  stroke: rgb(207 215 220 / 56%);
}

.product-showcase--platform .selected-countries span {
  border-color: rgb(56 131 206 / 38%);
  background: rgb(56 131 206 / 17%);
  color: rgb(178 214 248 / 92%);
}

.product-showcase--platform .scenario-line-chart,
.product-showcase--platform .scenario-bars,
.product-showcase--platform .own-ai-chart {
  border-color: rgb(207 215 220 / 12%);
}

.product-showcase--platform .chat-answer,
.product-showcase--platform .own-ai-tool {
  border-color: rgb(49 208 205 / 18%);
  background: rgb(49 208 205 / 7%);
  color: rgb(231 239 244 / 80%);
}

.product-showcase--platform .chat-answer strong,
.product-showcase--platform .chat-answer span,
.product-showcase--platform .typed-prompt {
  color: rgb(126 190 248 / 92%);
}

.proof-section {
  display: flex;
  width: 94%;
  flex-direction: column;
  margin: 3vw auto clamp(5rem, 8vw, 9rem);
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 88% 12%, rgb(56 131 206 / 8%), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fbfcfd 58%, #f4f7f9 100%);
  color: var(--color-navy);
  padding: clamp(4rem, 7vw, 8rem) clamp(3rem, 7vw, 7rem);
  box-shadow: inset 0 1px 0 white, 0 18px 70px rgb(0 8 21 / 12%);
}

.proof-section__copy {
  width: 100%;
}

.proof-section h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(3rem, 5.75vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.proof-title__line {
  display: block;
  color: var(--color-navy);
}

.proof-section h2 .proof-title__accent {
  color: var(--color-orange);
}

.proof-section h2 .reveal-word {
  display: inline-block;
  will-change: filter, opacity, transform;
}

.proof-section__lower {
  margin-top: clamp(2.5rem, 4vw, 2rem);
}

.proof-section__description {
  margin: 0 0 50px 0;
  color: #526276;
  font-size: clamp(1rem, 1.6vw, 2.5rem);
  line-height: 1.65;
}

.proof-section__logos {
  width: 100%;
}

.proof-section__logos > p {
  margin: 0 0 1.2rem;
  color: #7a8796;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.proof-logos:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
}

.proof-logos:not(.slick-initialized) .proof-logo:nth-child(n + 6) {
  display: none;
}

.proof-logos .slick-track {
  display: flex;
  align-items: center;
}

.proof-logo {
  padding-right: clamp(1.25rem, 3vw, 3rem);
}

.proof-logo img {
  display: block;
  width: 100%;
  max-width: 200px;
  height: 86px;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: multiply;
}

.old-workflow {
  display: grid;
  width: 94%;
  max-width: 1400px;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  gap: 0;
  align-items: center;
  margin: 0 auto clamp(2rem, 3vw, 3rem);
  padding: clamp(2.5rem, 5vw, 5rem) 0;
}

.old-workflow__copy {
  position: relative;
  z-index: 2;
  max-width: none;
}

.old-workflow__copy > *,
.old-workflow__media {
  will-change: filter, opacity, transform;
}

.old-workflow h2 {
  position: relative;
  z-index: 2;
  width: 180%;
  margin: 0;
  color: var(--color-white);
  font-size: clamp(2.2rem, 3.7vw, 4rem);
  font-weight: 900;
  line-height: 1.15;
  text-shadow: 0 3px 24px rgb(0 18 38 / 42%);
}

.old-workflow__lead,
.old-workflow__reveal {
  display: block;
}

.old-workflow__lead {
  color: var(--color-white);
  white-space: nowrap;
}

.old-workflow__reveal {
  color: var(--color-white);
  white-space: nowrap;
}

.old-workflow__phrase {
  color: #ffcc72;
}

.old-workflow__copy p {
  max-width: 580px;
  margin: clamp(1.25rem, 2.4vw, 2rem) 0 0;
  color: rgb(207 215 220 / 82%);
  font-size: clamp(0.9rem, 1.55vw, 1.65rem);
  font-weight: 300;
  line-height: 1.4;
}

.old-workflow__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.35rem;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 160ms ease, gap 160ms ease;
}

.old-workflow__link span:last-child {
  color: #31d0cd;
  font-size: 1.75rem;
  line-height: 0.8;
}

.old-workflow__link:hover {
  gap: 0.95rem;
  color: #ffcc72;
}

.old-workflow__link:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 5px;
}

.old-workflow__media {
  position: relative;
  width: 100%;
  max-width: none;
  height: clamp(280px, 25vw, 360px);
  justify-self: end;
  margin-left: 0;
  overflow: hidden;
  aspect-ratio: auto;
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 6px;
  background: #00152a;
  box-shadow: 0 24px 70px rgb(0 5 14 / 18%);
}

.old-workflow__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(0 29 58 / 58%), rgb(0 29 58 / 20%) 42%, rgb(0 29 58 / 30%)),
    rgb(18 80 155 / 22%);
  mix-blend-mode: color;
  content: "";
  pointer-events: none;
}

.old-workflow__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.58;
  filter: grayscale(1) sepia(0.25) saturate(1.8) hue-rotate(165deg)
    contrast(1.05) brightness(0.66);
}

.answer-section {
  width: 94%;
  max-width: 1400px;
  margin: 0 auto clamp(6rem, 10vw, 11rem);
  padding-top: clamp(2rem, 4vw, 4rem);
}

.answer-section__header {
  max-width: 1280px;
  margin: 0 auto clamp(3.5rem, 6vw, 6rem);
  text-align: center;
}

.answer-section h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1rem, 3.7vw, 4rem);
  font-weight: 900;
  line-height: 1.15;
}

.answer-title__line {
  display: block;
  white-space: nowrap;
}

.answer-section h2 .answer-title__phrase {
  color: var(--color-orange);
}

.answer-section__header p {
  margin: clamp(1.4rem, 2.5vw, 2rem) 0 0;
  color: rgb(207 215 220 / 82%);
  font-size: clamp(0.9rem, 1.55vw, 1.65rem);
  font-weight: 300;
}

.answer-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.4vw, 1.25rem);
}

.answer-section__header > *,
.answer-card {
  will-change: opacity, transform;
}

.answer-card {
  position: relative;
  display: grid;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 78%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 90% 8%, rgb(56 131 206 / 10%), transparent 35%),
    linear-gradient(145deg, #ffffff, #f3f6f8);
  color: var(--color-navy);
  box-shadow: 0 22px 60px rgb(0 8 21 / 18%);
}

.answer-card--wide {
  grid-column: span 7;
  min-height: 400px;
  grid-template-columns: minmax(0, 0.9fr) minmax(180px, 1.1fr);
}

.answer-card--medium {
  grid-column: span 5;
  min-height: 400px;
  grid-template-rows: auto 1fr;
}

.answer-card--third {
  grid-column: span 4;
  min-height: 350px;
  grid-template-rows: auto 1fr;
}

.answer-card:nth-child(3),
.answer-card:nth-child(5) {
  grid-template-rows: 1fr auto;
}

.answer-card:nth-child(3) .answer-card__visual,
.answer-card:nth-child(5) .answer-card__visual {
  grid-row: 1;
}

.answer-card:nth-child(3) .answer-card__copy,
.answer-card:nth-child(5) .answer-card__copy {
  grid-row: 2;
}

.answer-card__copy {
  position: relative;
  z-index: 1;
  padding: clamp(1.5rem, 3vw, 2.75rem);
}

.answer-card__number {
  display: block;
  margin-bottom: 1rem;
  color: #3883ce;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.answer-card h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.answer-card p {
  margin: 0.9rem 0 0;
  color: #526276;
  font-size: clamp(0.88rem, 1vw, 1rem);
  line-height: 1.6;
}

.answer-card__visual {
  position: relative;
  min-height: 145px;
  margin: clamp(1rem, 2vw, 1.75rem);
  overflow: hidden;
  border: 1px dashed rgb(18 80 155 / 13%);
  border-radius: 5px;
  background:
    linear-gradient(rgb(18 80 155 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(18 80 155 / 4%) 1px, transparent 1px),
    rgb(18 80 155 / 2%);
  background-size: 28px 28px;
}

.answer-card__visual::before,
.answer-card__visual::after,
.answer-card__visual > span {
  position: absolute;
  border-radius: 50%;
  content: "";
}

.answer-card__visual::before {
  width: 46%;
  aspect-ratio: 1;
  top: 12%;
  right: 10%;
  background: rgb(56 131 206 / 9%);
}

.answer-card__visual::after {
  width: 28%;
  aspect-ratio: 1;
  right: 38%;
  bottom: 7%;
  background: rgb(49 208 205 / 8%);
}

.answer-card__visual > span {
  width: 18%;
  aspect-ratio: 1;
  right: 14%;
  bottom: 9%;
  background: rgb(232 86 38 / 8%);
}

.answer-card__visual--report {
  min-height: 205px;
  margin: -2rem -2.75rem 0 0.75rem;
  overflow: visible;
  border: 0;
  background: none;
}

.answer-card__visual--report::before,
.answer-card__visual--report::after {
  display: none;
}

.report-wireframe {
  position: absolute;
  top: -12%;
  right: -5%;
  width: 116%;
  min-width: 390px;
  height: 255px;
  overflow: hidden;
  border: 1px solid rgb(18 80 155 / 13%);
  border-radius: 7px;
  background: rgb(248 251 253 / 56%);
  box-shadow: 0 18px 50px rgb(18 80 155 / 6%);
  opacity: 0.72;
  transform: rotate(-1.5deg);
  animation: report-wireframe-float 9s ease-in-out infinite;
}

.report-wireframe__top {
  display: flex;
  height: 31px;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  border-bottom: 1px solid rgb(18 80 155 / 9%);
  background: rgb(18 80 155 / 2%);
}

.report-wireframe__top i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgb(18 80 155 / 16%);
}

.report-wireframe__top span {
  width: 26%;
  height: 5px;
  margin-left: 12px;
  border-radius: 999px;
  background: rgb(18 80 155 / 11%);
}

.report-wireframe__title {
  padding: 15px 18px 9px;
}

.report-wireframe__title span,
.report-wireframe__title small {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: rgb(18 80 155 / 15%);
}

.report-wireframe__title span { width: 38%; }
.report-wireframe__title small { width: 56%; height: 4px; margin-top: 7px; opacity: 0.55; }

.report-wireframe__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 0 18px 11px;
}

.report-wireframe__metrics i {
  height: 36px;
  border: 1px solid rgb(18 80 155 / 10%);
  border-radius: 4px;
  background:
    linear-gradient(rgb(56 131 206 / 13%), rgb(56 131 206 / 13%)) 9px 9px / 42% 5px no-repeat,
    linear-gradient(rgb(18 80 155 / 8%), rgb(18 80 155 / 8%)) 9px 21px / 66% 4px no-repeat;
}

.report-wireframe__body {
  display: grid;
  grid-template-columns: 1.65fr 0.8fr;
  gap: 9px;
  padding: 0 18px;
}

.report-wireframe__chart,
.report-wireframe__notes {
  height: 105px;
  border: 1px solid rgb(18 80 155 / 9%);
  border-radius: 4px;
  background:
    repeating-linear-gradient(to bottom, transparent 0 24px, rgb(18 80 155 / 4%) 25px),
    rgb(255 255 255 / 22%);
}

.report-wireframe__chart {
  display: flex;
  align-items: end;
  justify-content: space-around;
  padding: 12px 14px 0;
}

.report-wireframe__chart span {
  width: 9%;
  height: var(--bar);
  border-radius: 2px 2px 0 0;
  background: linear-gradient(to top, rgb(18 80 155 / 24%), rgb(56 131 206 / 20%));
  transform-origin: bottom;
  animation: report-wireframe-bars 9s ease-in-out infinite;
}

.report-wireframe__notes {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 15px 12px;
}

.report-wireframe__notes i {
  height: 4px;
  border-radius: 999px;
  background: rgb(18 80 155 / 10%);
}

.report-wireframe__notes i:nth-child(2) { width: 76%; }
.report-wireframe__notes i:nth-child(3) { width: 88%; }
.report-wireframe__notes i:nth-child(4) { width: 58%; }

@keyframes report-wireframe-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-1.5deg); }
  50% { transform: translate3d(-5px, 4px, 0) rotate(-0.8deg); }
}

@keyframes report-wireframe-bars {
  0%, 18% { transform: scaleY(0.32); opacity: 0.35; }
  38%, 82% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(0.72); opacity: 0.7; }
}

.answer-card__visual--orbit {
  min-height: 175px;
  margin: 0;
  overflow: visible;
  border: 0;
  background: none;
}

.answer-card__visual--orbit::before,
.answer-card__visual--orbit::after {
  display: none;
}

.intelligence-orbit {
  position: absolute;
  right: 50%;
  bottom: -175px;
  width: 330px;
  height: 330px;
  margin-right: -165px;
  border: 1px solid rgb(18 80 155 / 20%);
  border-radius: 50%;
  animation: intelligence-orbit-spin 30s linear infinite;
}

.intelligence-orbit::before,
.intelligence-orbit::after {
  position: absolute;
  border: 1px solid rgb(18 80 155 / 17%);
  border-radius: 50%;
  content: "";
}

.intelligence-orbit::before { inset: 28px; }
.intelligence-orbit::after { inset: 58px; }

.intelligence-orbit__core {
  position: absolute;
  inset: 74px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(56 131 206 / 24%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 40% 32%, rgb(56 131 206 / 19%), transparent 48%),
    rgb(18 80 155 / 8%);
  box-shadow: inset 0 0 45px rgb(18 80 155 / 9%);
}

.intelligence-orbit__core span {
  color: rgb(18 80 155 / 44%);
  font-size: 2rem;
  font-weight: 900;
  transform: rotate(0deg);
  animation: intelligence-orbit-counterspin 30s linear infinite;
}

.intelligence-orbit__node {
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  border: 1px solid rgb(18 80 155 / 28%);
  border-radius: 50%;
  background: #edf4f8;
  box-shadow: 0 4px 16px rgb(18 80 155 / 14%);
}

.intelligence-orbit__node::after {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: rgb(56 131 206 / 42%);
  content: "";
}

.intelligence-orbit__node--one { top: 8px; left: 156px; animation: intelligence-node-glow 4.7s -1.1s ease-in-out infinite; }
.intelligence-orbit__node--two { top: 54px; right: 42px; width: 14px; height: 14px; animation: intelligence-node-glow 6.1s -3.8s ease-in-out infinite; }
.intelligence-orbit__node--three { top: 142px; right: -5px; width: 21px; height: 21px; animation: intelligence-node-glow 5.3s -2.2s ease-in-out infinite; }
.intelligence-orbit__node--four { top: 72px; left: 24px; width: 12px; height: 12px; animation: intelligence-node-glow 7.2s -.6s ease-in-out infinite; }
.intelligence-orbit__node--five { top: 172px; left: -7px; width: 16px; height: 16px; animation: intelligence-node-glow 4.2s -3.1s ease-in-out infinite; }
.intelligence-orbit__node--six { top: 24px; left: 78px; width: 10px; height: 10px; animation: intelligence-node-glow 5.8s -4.5s ease-in-out infinite; }

.intelligence-orbit__node--two::after,
.intelligence-orbit__node--five::after { background: rgb(49 208 205 / 46%); }

.intelligence-orbit__node--three::after,
.intelligence-orbit__node--six::after { background: rgb(232 86 38 / 38%); }

@keyframes intelligence-orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes intelligence-orbit-counterspin {
  to { transform: rotate(-360deg); }
}

@keyframes intelligence-node-glow {
  0%, 58%, 100% { border-color: rgb(18 80 155 / 24%); box-shadow: 0 4px 14px rgb(18 80 155 / 12%); opacity: 0.76; }
  66%, 78% { border-color: rgb(49 208 205 / 55%); box-shadow: 0 0 0 6px rgb(49 208 205 / 8%), 0 5px 18px rgb(18 80 155 / 16%); opacity: 1; }
}

.answer-card__visual--timeline {
  min-height: 205px;
  margin: -1.5rem -2.5rem 0 0.8rem;
  overflow: visible;
  border: 0;
  background: none;
  -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
  mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

.answer-card__visual--timeline::before,
.answer-card__visual--timeline::after {
  display: none;
}

.confidence-timeline {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.confidence-timeline__track {
  position: absolute;
  top: 52%;
  left: 0;
  display: flex;
  width: 185%;
  align-items: center;
  justify-content: space-around;
  border-top: 2px solid rgb(18 80 155 / 11%);
  animation: confidence-timeline-forward 20s linear infinite;
}

.confidence-timeline__track::after {
  position: absolute;
  top: -7px;
  right: -2px;
  width: 12px;
  height: 12px;
  border-top: 2px solid rgb(18 80 155 / 14%);
  border-right: 2px solid rgb(18 80 155 / 14%);
  content: "";
  transform: rotate(45deg);
}

.confidence-timeline__track span {
  position: relative;
  width: 12.5%;
  height: 1px;
  text-align: center;
}

.confidence-timeline__track i {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid rgb(56 131 206 / 20%);
  border-radius: 50%;
  background: #f5f8fa;
  box-shadow: 0 0 0 5px rgb(56 131 206 / 4%);
  transform: translateX(-50%);
}

.confidence-timeline__track small {
  position: absolute;
  top: 16px;
  left: 50%;
  color: rgb(18 80 155 / 30%);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
}

.confidence-timeline__track span:nth-child(even) small {
  top: -34px;
}

.confidence-timeline__track .is-decision i {
  border-color: rgb(49 208 205 / 35%);
  background: rgb(49 208 205 / 14%);
  animation: confidence-decision-pulse 5.4s ease-in-out infinite;
}

.confidence-timeline__track .is-decision:nth-child(6) i {
  border-color: rgb(232 86 38 / 28%);
  background: rgb(232 86 38 / 10%);
  animation-delay: -2.8s;
}

@keyframes confidence-timeline-forward {
  from { transform: translateX(2%); }
  to { transform: translateX(-43%); }
}

@keyframes confidence-decision-pulse {
  0%, 60%, 100% { box-shadow: 0 0 0 4px transparent; transform: translateX(-50%) scale(0.88); }
  72%, 84% { box-shadow: 0 0 0 9px rgb(49 208 205 / 8%); transform: translateX(-50%) scale(1.12); }
}

.answer-card__visual--globe::before,
.answer-card__visual--globe::after {
  display: none;
}

.answer-card__visual--globe {
  position: absolute;
  z-index: 0;
  right: -12%;
  bottom: -24%;
  width: 80%;
  height: 110%;
  min-height: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(135deg, transparent 3%, black 43%);
  mask-image: linear-gradient(135deg, transparent 3%, black 43%);
}

.answer-card__visual--globe svg {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.58;
  mix-blend-mode: multiply;
}

.answer-card__visual--morph::before,
.answer-card__visual--morph::after {
  display: none;
}

.answer-card__visual--morph {
  position: absolute;
  inset: 34% -14% -20% 27%;
  display: grid;
  min-height: 0;
  place-items: center;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 28%);
  mask-image: linear-gradient(to right, transparent 0%, black 28%);
}

.morph-chart {
  position: absolute;
  opacity: 0;
}

.morph-chart--bars {
  display: flex;
  width: 112%;
  height: 42%;
  align-items: end;
  justify-content: space-around;
  gap: clamp(14px, 2.5vw, 28px);
  border-bottom: 1px solid rgb(18 80 155 / 15%);
  animation: morph-bars 9s ease-in-out infinite;
}

.morph-chart--bars i {
  width: clamp(24px, 4vw, 48px);
  height: var(--height);
  border-radius: 4px 4px 0 0;
  background: linear-gradient(to top, rgb(18 80 155 / 58%), rgb(56 131 206 / 50%));
  transform-origin: bottom;
}

.morph-chart--line {
  width: 118%;
  height: 72%;
  overflow: visible;
  animation: morph-line 9s ease-in-out infinite;
}

.morph-chart--line path {
  fill: none;
  stroke: rgb(56 131 206 / 68%);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.morph-chart--line circle {
  fill: #f8fafb;
  stroke: rgb(49 208 205 / 72%);
  stroke-width: 4;
}

.morph-chart--donuts {
  left: -16%;
  bottom: -24%;
  width: 118%;
  height: 112%;
  animation: morph-donut 9s ease-in-out infinite;
}

.morph-chart--donuts i {
  position: absolute;
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(
    rgb(18 80 155 / 62%) 0 42%,
    rgb(56 131 206 / 52%) 42% 72%,
    rgb(49 208 205 / 55%) 72% 89%,
    rgb(255 204 114 / 58%) 89% 100%
  );
}

.morph-chart--donuts i::after {
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #f5f8fa;
  content: "";
}

.morph-chart--donuts i:nth-child(1) {
  left: -2%;
  bottom: -12%;
  width: clamp(170px, 22vw, 260px);
}

.morph-chart--donuts i:nth-child(2) {
  top: 7%;
  left: 42%;
  width: clamp(115px, 15vw, 175px);
  background: conic-gradient(
    rgb(49 208 205 / 52%) 0 34%,
    rgb(18 80 155 / 58%) 34% 78%,
    rgb(232 86 38 / 45%) 78% 100%
  );
}

.morph-chart--donuts i:nth-child(3) {
  left: 34%;
  bottom: 3%;
  width: clamp(82px, 10vw, 125px);
  background: conic-gradient(
    rgb(56 131 206 / 52%) 0 58%,
    rgb(255 204 114 / 55%) 58% 82%,
    rgb(18 80 155 / 52%) 82% 100%
  );
}

.morph-chart--donuts i:nth-child(4) {
  top: 16%;
  left: 68%;
  width: clamp(58px, 7vw, 88px);
  background: conic-gradient(
    rgb(232 86 38 / 42%) 0 28%,
    rgb(49 208 205 / 52%) 28% 70%,
    rgb(56 131 206 / 48%) 70% 100%
  );
}

@keyframes morph-bars {
  0%, 4% { opacity: 0; transform: scaleX(0.78); }
  10%, 27% { opacity: 0.72; transform: scaleX(1); }
  34%, 100% { opacity: 0; transform: scaleX(1.08); }
}

@keyframes morph-line {
  0%, 28%, 100% { opacity: 0; transform: scale(0.9); }
  37%, 59% { opacity: 0.72; transform: scale(1); }
  66% { opacity: 0; transform: scale(1.06); }
}

@keyframes morph-donut {
  0%, 60%, 100% { opacity: 0; transform: scale(0.76) rotate(-28deg); }
  70%, 91% { opacity: 0.7; transform: scale(1) rotate(0); }
  97% { opacity: 0; transform: scale(1.06) rotate(8deg); }
}

.cta-bar {
  display: grid;
  width: 94%;
  max-width: 1400px;
  min-height: 120px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 32%);
  align-items: stretch;
  margin: 0 auto clamp(5rem, 8vw, 9rem);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 7%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 18% 0%, rgb(18 80 155 / 12%), transparent 42%),
    #000814;
  box-shadow: 0 24px 70px rgb(0 5 14 / 28%);
}

.cta-bar > p {
  align-self: center;
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1.2rem, 1.8vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.12;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  white-space: nowrap;
}

.cta-bar > a {
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--color-orange);
  color: var(--color-white);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 700;
  padding: 1.5rem clamp(1.5rem, 3vw, 2.75rem);
  text-decoration: none;
  transition: background-color 180ms ease, padding-right 180ms ease;
}

.cta-bar__chevron {
  font-size: clamp(3.5rem, 6vw, 6rem);
  font-weight: 300;
  line-height: 0.65;
}

.cta-bar > a:hover {
  background: var(--color-orange-hover);
  padding-right: clamp(1.2rem, 2.6vw, 2.35rem);
}

.cta-bar > a:focus-visible {
  outline: 3px solid var(--color-white);
  outline-offset: -7px;
}

.audience-section {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(18rem, 24vw, 26rem);
}

.audience-split {
  display: grid;
  min-height: 650px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 28px 80px rgb(0 5 14 / 30%);
}

.audience-panel {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background-position: center;
  background-size: cover;
  padding: clamp(3rem, 6vw, 6rem);
  transition: filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.audience-panel__content {
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.audience-section[data-audience="law"] .audience-panel--corporate,
.audience-section[data-audience="corporate"] .audience-panel--firms {
  filter: brightness(0.58) saturate(0.72);
}

.audience-section[data-audience="law"] .audience-panel--corporate .audience-panel__content,
.audience-section[data-audience="corporate"] .audience-panel--firms .audience-panel__content {
  opacity: 0.42;
}

.audience-panel:focus-visible {
  outline: 2px solid #31d0cd;
  outline-offset: -4px;
}

.audience-panel::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
}

.audience-panel--firms {
  background-image: url("../img/law-firms.781cd174bdc0.jpg");
}

.audience-panel--firms::before {
  background:
    linear-gradient(120deg, rgb(0 14 31 / 94%), rgb(0 29 58 / 70%)),
    rgb(0 29 58 / 42%);
}

.audience-panel--corporate {
  background-image: url("../img/corporate-ip.d7bdb307a1f0.jpg");
}

.audience-panel--corporate::before {
  background:
    linear-gradient(120deg, rgb(2 25 49 / 82%), rgb(0 10 24 / 91%)),
    rgb(18 80 155 / 24%);
}

.audience-panel__content {
  position: relative;
  z-index: 1;
  max-width: 520px;
  padding-bottom: 4rem;
}

.audience-panel__content > span {
  display: block;
  margin-bottom: 1.25rem;
  color: #ffcc72;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.audience-panel h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(2rem, 3.4vw, 3.6rem);
  font-weight: 900;
  line-height: 1.1;
}

.audience-panel p {
  margin: 1.5rem 0 0;
  color: rgb(255 255 255 / 76%);
  font-size: clamp(0.95rem, 1.15vw, 1.1rem);
  font-weight: 300;
  line-height: 1.7;
}

.audience-panel__link {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.65rem;
  color: var(--color-white);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.audience-panel__link span:last-child {
  color: #31d0cd;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.audience-panel__link:hover span:last-child,
.audience-panel__link:focus-visible span:last-child {
  transform: translateX(5px);
}

.audience-panel__link:focus-visible {
  border-radius: 2px;
  outline: 2px solid #31d0cd;
  outline-offset: 5px;
}

.testimonial-card {
  position: absolute;
  z-index: 3;
  right: 12%;
  bottom: 0;
  left: 12%;
  margin: 0;
  border: 1px solid rgb(255 255 255 / 82%);
  border-radius: 6px;
  background:
    radial-gradient(circle at 94% 8%, rgb(56 131 206 / 10%), transparent 36%),
    linear-gradient(145deg, #ffffff, #f3f6f8);
  color: var(--color-navy);
  padding: clamp(1.75rem, 3vw, 3rem);
  box-shadow: 0 30px 80px rgb(0 5 14 / 34%);
  transform: translateY(calc(100% - 48px));
}

.testimonial-card blockquote {
  max-width: 980px;
  margin: 0;
  font-size: clamp(1.05rem, 1.45vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.55;
}

.testimonial-card__quote {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 5rem);
}

.testimonial-card__logo {
  width: clamp(130px, 13vw, 185px);
  height: auto;
  mix-blend-mode: multiply;
}

.testimonial-card__logo[hidden] {
  display: none;
}

.testimonial-card blockquote strong {
  color: #12509b;
  font-weight: 700;
}

.testimonial-card__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.5rem;
}

.testimonial-card figcaption {
  display: grid;
  gap: 0.2rem;
}

.testimonial-card figcaption strong {
  font-size: 0.95rem;
}

.testimonial-card figcaption span {
  color: #66778a;
  font-size: 0.8rem;
}

.testimonial-dots {
  display: flex;
  gap: 0.55rem;
}

.testimonial-dots button {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 50%;
  background: #cfd7dc;
  cursor: pointer;
  padding: 0;
}

.testimonial-dots button.is-active {
  width: 24px;
  border-radius: 999px;
  background: var(--color-orange);
}

.testimonial-dots button:focus-visible {
  outline: 2px solid #12509b;
  outline-offset: 3px;
}

.intelligence-section {
  width: min(94%, 1440px);
  margin: 0 auto clamp(7rem, 11vw, 11rem);
}

.intelligence-section__header {
  max-width: 980px;
  margin: 0 auto clamp(3rem, 6vw, 5.5rem);
  text-align: center;
}

.intelligence-section__header h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(2.7rem, 5vw, 5rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.intelligence-section__header p {
  max-width: 790px;
  margin: 1.2rem auto 0;
  color: rgb(207 215 220 / 82%);
  font-size: clamp(1rem, 1.55vw, 1.45rem);
  font-weight: 300;
  line-height: 1.55;
}

.intelligence-explorer {
  display: grid;
  min-height: 600px;
  grid-template-columns: minmax(260px, 27%) minmax(0, 1fr);
  border-top: 1px solid rgb(255 255 255 / 16%);
  border-bottom: 1px solid rgb(255 255 255 / 16%);
}

.intelligence-tabs {
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgb(255 255 255 / 16%);
}

.intelligence-tabs button {
  position: relative;
  display: grid;
  align-items: center;
  flex: 1;
  grid-template-columns: 2.25rem 1fr;
  gap: 0.9rem;
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgb(255 255 255 / 10%);
  background: transparent;
  color: rgb(207 215 220 / 62%);
  padding: 1.25rem 1.5rem;
  font: inherit;
  font-size: clamp(0.82rem, 1vw, 1rem);
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: background 0.45s ease, color 0.45s ease, padding-left 0.45s ease;
}

.intelligence-tabs button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1px;
  width: 3px;
  background: var(--color-orange);
  content: "";
  opacity: 0;
  transform: scaleY(0.25);
  transition: opacity 0.35s ease, transform 0.45s ease;
}

.intelligence-tabs button:last-child {
  border-bottom: 0;
}

.intelligence-tabs button > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: #dbeaff;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  transition: filter 0.35s ease, transform 0.35s ease;
}

.intelligence-tabs button:nth-child(1) > span {
  border: 1px solid rgb(82 153 224 / 58%);
  border-radius: 2px;
  background: rgb(56 131 206 / 24%);
}

.intelligence-tabs button:nth-child(2) > span {
  border: 1px solid rgb(49 208 205 / 55%);
  border-radius: 50%;
  background: rgb(49 208 205 / 18%);
  color: #bff3f1;
}

.intelligence-tabs button:nth-child(3) > span {
  border: 1px solid rgb(255 204 114 / 48%);
  border-radius: 8px 2px 8px 2px;
  background: rgb(255 204 114 / 16%);
  color: #ffe2aa;
}

.intelligence-tabs button:nth-child(4) > span {
  background: rgb(232 86 38 / 22%);
  color: #ffb199;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.intelligence-tabs button:nth-child(5) > span {
  background: rgb(122 147 179 / 25%);
  color: #d4e0ee;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
}

.intelligence-tabs button:nth-child(6) > span {
  width: 2.2rem;
  border: 1px solid rgb(207 215 220 / 35%);
  border-radius: 999px;
  background: rgb(207 215 220 / 12%);
  color: #dfe6ea;
}

.intelligence-tabs button:nth-child(n + 1) > span {
  --badge-rgb: 56 131 206;
  position: relative;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 2px solid transparent;
  border-radius: 4px;
  background:
    linear-gradient(145deg, rgb(255 255 255 / 11%), rgb(255 255 255 / 1%)),
    rgb(var(--badge-rgb) / 10%);
  color: rgb(255 255 255 / 90%);
  padding: 0;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 13%),
    0 8px 18px rgb(0 8 21 / 18%);
  clip-path: none;
  font-size: 0.78rem;
  font-weight: 900;
  text-shadow: 0 1px 5px rgb(0 10 24 / 35%);
  backdrop-filter: blur(10px) saturate(135%);
  -webkit-backdrop-filter: blur(10px) saturate(135%);
}

.intelligence-tabs button:nth-child(1) > span {
  --badge-rgb: 56 131 206;
  color: #cce5ff;
}

.intelligence-tabs button:nth-child(2) > span {
  --badge-rgb: 49 208 205;
  color: #c4f5f3;
}

.intelligence-tabs button:nth-child(3) > span {
  --badge-rgb: 255 204 114;
  color: #ffe6b5;
}

.intelligence-tabs button:nth-child(4) > span {
  --badge-rgb: 232 86 38;
  color: #ffc4b1;
}

.intelligence-tabs button:nth-child(5) > span {
  --badge-rgb: 129 151 184;
  color: #dce7f5;
}

.intelligence-tabs button:nth-child(6) > span {
  --badge-rgb: 159 174 186;
  color: #e4eaee;
}

.intelligence-tabs button > span::before {
  position: absolute;
  inset: -2px;
  border-radius: 6px;
  background: linear-gradient(
    60deg,
    #3883ce,
    #31d0cd,
    #ffcc72,
    #e85626,
    #3883ce
  );
  background-position: 0% 50%;
  background-size: 300% 300%;
  content: "";
  opacity: 0;
  padding: 2px;
  pointer-events: none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.intelligence-tabs button.is-active > span::before {
  animation: intelligence-badge-race 3s ease alternate infinite;
  opacity: 1;
}

@keyframes intelligence-badge-race {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.intelligence-tabs button:hover > span,
.intelligence-tabs button.is-active > span {
  filter: brightness(1.18);
  transform: scale(1.06);
}

.intelligence-tabs button:hover,
.intelligence-tabs button.is-active {
  background: rgb(255 255 255 / 5%);
  color: var(--color-white);
  padding-left: 1.8rem;
}

.intelligence-tabs button.is-active::before {
  opacity: 1;
  transform: scaleY(1);
}

.intelligence-tabs button:focus-visible {
  z-index: 1;
  outline: 2px solid #31d0cd;
  outline-offset: -3px;
}

.intelligence-stage {
  position: relative;
  display: grid;
  min-width: 0;
  overflow: hidden;
  grid-template-rows: auto 1fr;
  padding: clamp(2rem, 4.5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem) 0;
}

.intelligence-stage__copy {
  position: relative;
  z-index: 2;
  max-width: 780px;
}

.intelligence-stage__eyebrow {
  color: #ffcc72;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.intelligence-stage h3 {
  max-width: 760px;
  margin: 0.8rem 0 0;
  color: var(--color-white);
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.intelligence-stage__copy p {
  margin: 1rem 0 0;
  color: rgb(207 215 220 / 75%);
  font-size: clamp(0.95rem, 1.25vw, 1.15rem);
  font-weight: 300;
}

.intelligence-stage__copy a {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.4rem;
  color: var(--color-white);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.intelligence-stage__copy a span:last-child {
  color: #31d0cd;
  font-size: 1.8rem;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.intelligence-stage__copy a:hover span:last-child {
  transform: translateX(5px);
}

.intelligence-visual {
  position: relative;
  min-height: 330px;
  margin-top: 2.5rem;
}

.intelligence-visual__window {
  position: absolute;
  top: 0;
  right: -5%;
  bottom: -3rem;
  left: 5%;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 10px 10px 0 0;
  background: linear-gradient(145deg, #f9fbfc, #eaf0f4);
  color: var(--color-navy);
  box-shadow: 0 30px 80px rgb(0 8 21 / 36%);
  transform: perspective(1200px) rotateX(2deg) rotateY(-3deg);
  transform-origin: bottom right;
}

.intelligence-visual__toolbar {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  height: 42px;
  border-bottom: 1px solid #dce4e9;
  background: #ffffff;
  padding: 0 1rem;
}

.intelligence-visual__toolbar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cfd7dc;
}

.intelligence-visual__toolbar span {
  margin-left: 0.5rem;
  color: #607286;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 600;
}

.intelligence-visual__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  padding: 1.2rem;
}

.intelligence-visual__metrics div {
  display: grid;
  gap: 0.3rem;
  border: 1px solid #dfe6ea;
  border-radius: 6px;
  background: rgb(255 255 255 / 84%);
  padding: 0.8rem;
}

.intelligence-visual small {
  color: #738397;
  font-size: 0.58rem;
}

.intelligence-visual__metrics strong {
  color: #12509b;
  font-size: clamp(0.9rem, 1.5vw, 1.25rem);
}

.intelligence-visual__chart {
  position: absolute;
  right: 5%;
  bottom: 0;
  left: 4%;
  display: flex;
  align-items: end;
  gap: 4%;
  height: 48%;
  border-bottom: 1px solid #cad6de;
  background: repeating-linear-gradient(to bottom, transparent 0 32px, rgb(18 80 155 / 7%) 33px);
  padding: 0 5%;
}

.intelligence-visual__chart span {
  width: 10%;
  height: var(--value);
  border-radius: 3px 3px 0 0;
  background: linear-gradient(to top, #12509b, #3883ce);
  transition: height 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.intelligence-visual__float {
  position: absolute;
  right: 5%;
  top: 42%;
  display: grid;
  gap: 0.25rem;
  min-width: 180px;
  border: 1px solid rgb(49 208 205 / 42%);
  border-radius: 7px;
  background: rgb(255 255 255 / 94%);
  padding: 0.85rem 1rem;
  box-shadow: 0 14px 35px rgb(0 29 58 / 14%);
}

.intelligence-visual__float strong {
  color: #12509b;
  font-size: 0.9rem;
}

.intelligence-visual__float span {
  color: #6f8091;
  font-size: 0.58rem;
}

.scenario-plan-comparison {
  position: absolute;
  inset: 62px 1.2rem 1rem;
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.intelligence-explorer[data-feature="scenario"] .intelligence-visual__metrics,
.intelligence-explorer[data-feature="scenario"] .intelligence-visual__chart,
.intelligence-explorer[data-feature="scenario"] .intelligence-visual__float {
  display: none;
}

.intelligence-explorer[data-feature="scenario"] .scenario-plan-comparison {
  display: grid;
}

.scenario-plan-comparison article {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-rows: auto auto auto 1fr auto;
  overflow: hidden;
  border: 1px solid #dce4e9;
  border-radius: 7px;
  background: rgb(255 255 255 / 88%);
  padding: clamp(0.7rem, 1.2vw, 1rem);
  box-shadow: 0 10px 24px rgb(0 29 58 / 7%);
}

.scenario-plan-comparison article.is-recommended {
  border-color: rgb(49 208 205 / 55%);
  background: linear-gradient(160deg, rgb(255 255 255 / 98%), rgb(49 208 205 / 7%));
  transform: translateY(-7px);
  box-shadow: 0 16px 34px rgb(0 60 90 / 12%);
}

.scenario-plan-comparison header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.scenario-plan-comparison header span {
  color: #12509b;
  font-size: 0.72rem;
  font-weight: 800;
}

.scenario-plan-comparison header small {
  padding: 0.22rem 0.4rem;
  border-radius: 999px;
  background: rgb(18 80 155 / 7%);
  font-size: 0.48rem;
  white-space: nowrap;
}

.scenario-plan-comparison .is-recommended header small {
  background: rgb(49 208 205 / 14%);
  color: #087d7b;
}

.scenario-plan-comparison article > strong {
  margin-top: 0.65rem;
  color: #001d3a;
  font-size: clamp(1rem, 1.7vw, 1.45rem);
}

.scenario-plan-comparison article > p {
  min-height: 2.5em;
  margin: 0.28rem 0 0;
  color: #748397;
  font-size: clamp(0.48rem, 0.68vw, 0.62rem);
  line-height: 1.4;
}

.scenario-plan-bars {
  display: flex;
  height: 92px;
  align-items: end;
  justify-content: space-around;
  gap: 7%;
  margin-top: 0.55rem;
  border-bottom: 1px solid #d5e0e6;
  background: repeating-linear-gradient(to bottom, transparent 0 29px, rgb(18 80 155 / 5%) 30px);
  padding: 0 5%;
}

.scenario-plan-bars i {
  width: 12%;
  height: var(--h);
  border-radius: 2px 2px 0 0;
  background: rgb(56 131 206 / 45%);
  transform-origin: bottom;
  animation: scenario-plan-bars-in 700ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.scenario-plan-comparison .is-recommended .scenario-plan-bars i {
  background: linear-gradient(to top, #12509b, #31d0cd);
}

.scenario-plan-comparison article:nth-child(3) .scenario-plan-bars i {
  background: rgb(232 86 38 / 42%);
}

.scenario-plan-comparison footer {
  margin-top: 0.6rem;
  color: #52677c;
  font-size: 0.58rem;
  font-weight: 700;
}

.scenario-plan-comparison .is-recommended footer {
  color: #087d7b;
}

@keyframes scenario-plan-bars-in {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

.foundation-section {
  display: grid;
  width: min(94%, 1440px);
  min-height: 650px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(0.8rem, 1.25vw, 1.25rem);
  margin: 0 auto clamp(7rem, 11vw, 11rem);
}

.foundation-card {
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: 7px;
  padding: clamp(2rem, 3vw, 3.2rem);
  isolation: isolate;
  box-shadow: 0 28px 70px rgb(0 8 21 / 25%);
}

.foundation-card::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(145deg, rgb(255 255 255 / 7%), transparent 42%);
  content: "";
  pointer-events: none;
}

.foundation-card--integrations {
  grid-row: 1 / span 2;
  justify-content: flex-start;
  background:
    radial-gradient(circle at 82% 20%, rgb(49 208 205 / 9%), transparent 32%),
    radial-gradient(circle at 5% 0%, rgb(18 80 155 / 24%), transparent 42%),
    #001d3a;
}

.foundation-card--security {
  background: radial-gradient(circle at 50% 10%, rgb(55 144 138 / 45%), transparent 32%), linear-gradient(165deg, #1e7d7b 0%, #078a89 58%, #06383c 145%);
}

.foundation-card--expertise {
  background: radial-gradient(circle at 50% 10%, rgb(56 131 206 / 45%), transparent 32%), linear-gradient(165deg, #3883ce 0%, #12509b 58%, #001d3a 145%);
}

.foundation-card--security,
.foundation-card--expertise {
  justify-content: center;
}

.foundation-card--security h2,
.foundation-card--expertise h2 {
  max-width: 620px;
}

.foundation-card__copy {
  position: relative;
  z-index: 2;
}

.foundation-card__eyebrow {
  display: block;
  margin-bottom: 1rem;
  color: #cfd7dc;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.foundation-card--expertise .foundation-card__eyebrow {
  color: #cfd7dc;
}

.foundation-card--expertise h2,
.foundation-card--expertise p,
.foundation-card--expertise a {
  color: var(--color-white);
}

.foundation-card--expertise p {
  opacity: 0.76;
}

.foundation-card h2 {
  margin: 0;
  color: var(--color-white);
  font-size: clamp(1.7rem, 2.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

.foundation-card:not(.foundation-card--integrations) h2 {
  font-size: clamp(1.55rem, 1.9vw, 2.2rem);
}

.foundation-card p {
  margin: 1.1rem 0 0;
  color: rgb(255 255 255 / 70%);
  font-size: clamp(0.88rem, 1vw, 1rem);
  font-weight: 300;
  line-height: 1.65;
}

.foundation-card a {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.5rem;
  color: var(--color-white);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

.foundation-card a span:last-child {
  color: var(--color-white);
  font-size: 1.75rem;
  line-height: 0.7;
  transition: transform 0.25s ease;
}

.foundation-card--expertise a span:last-child {
  color: var(--color-white);
}

.security-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
}

.security-badge {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  border: 1px solid rgb(207 215 220 / 24%);
  border-radius: 999px;
  background: rgb(0 29 58 / 24%);
  padding: 0.45rem 0.7rem 0.45rem 0.45rem;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 10%);
  backdrop-filter: blur(8px);
}

.security-badge__mark {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: transparent;
}

.security-badge__mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.security-badge > span:last-child {
  display: grid;
  min-width: 0;
  line-height: 1.15;
}

.security-badge strong {
  overflow: hidden;
  color: var(--color-white);
  font-size: clamp(0.68rem, 0.85vw, 0.82rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.security-badge small {
  margin-top: 0.18rem;
  color: rgb(207 215 220 / 72%);
  font-size: 0.62rem;
  font-style: italic;
}

.foundation-card a:hover span:last-child,
.foundation-card a:focus-visible span:last-child {
  transform: translateX(5px);
}

.integration-marquee {
  position: relative;
  z-index: 2;
  overflow: hidden;
  width: calc(100% + clamp(4rem, 6vw, 6.4rem));
  margin: 0.65rem -3.2rem 0;
  padding: 0.35rem 0;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.foundation-card--integrations .foundation-card__copy + .integration-marquee {
  margin-top: auto;
}

.integration-marquee__track {
  display: flex;
  width: max-content;
  animation: integration-marquee 38s linear infinite;
}

.integration-marquee--reverse .integration-marquee__track {
  animation: integration-marquee-reverse 46s linear infinite;
}

.integration-marquee--slow .integration-marquee__track {
  animation-duration: 54s;
}

.integration-marquee__group {
  display: flex;
  gap: 0.85rem;
  padding-right: 0.85rem;
}

.integration-marquee__group span {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-width: max-content;
  border: 1px solid rgb(207 215 220 / 16%);
  border-radius: 6px;
  background: rgb(255 255 255 / 6%);
  color: rgb(255 255 255 / 78%);
  padding: 1rem 1.25rem;
  font-size: 0.96rem;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
  backdrop-filter: blur(8px);
}

.integration-marquee__group i {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 5px;
  background: rgb(56 131 206 / 20%);
  color: #31d0cd;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
}

.integration-marquee__group img {
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
  border-radius: 5px;
  background: rgb(255 255 255 / 92%);
  object-fit: contain;
  padding: 0.32rem;
}

.integration-marquee__group span:nth-child(3n + 2) i {
  background: rgb(255 204 114 / 14%);
  color: #ffcc72;
}

.integration-marquee__group span:nth-child(3n) i {
  background: rgb(232 86 38 / 14%);
  color: #e85626;
}

@keyframes integration-marquee {
  to {
    transform: translateX(-50%);
  }
}

@keyframes integration-marquee-reverse {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

.foundation-card__icon {
  display: grid;
  width: 120px;
  height: 140px;
  place-items: center;
  margin: 1rem auto 3rem;
}

.foundation-card__icon svg {
  width: 100%;
  overflow: visible;
  fill: rgb(56 131 206 / 16%);
  stroke: #31d0cd;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  filter: drop-shadow(0 18px 28px rgb(0 8 21 / 28%));
}

.expertise-orbit {
  position: relative;
  display: grid;
  width: 145px;
  height: 145px;
  place-items: center;
  margin: 1rem auto 3rem;
  border: 1px solid rgb(0 29 58 / 32%);
  border-radius: 50%;
}

.expertise-orbit::before,
.expertise-orbit::after {
  position: absolute;
  border: 1px solid rgb(0 29 58 / 18%);
  border-radius: 50%;
  content: "";
}

.expertise-orbit::before { inset: 13px; }
.expertise-orbit::after { inset: 30px; }

.expertise-orbit span {
  color: #001d3a;
  font-size: 2rem;
  font-weight: 900;
}

.expertise-orbit i {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e85626;
  box-shadow: 0 0 16px rgb(232 86 38 / 42%);
}

.expertise-orbit i:nth-of-type(1) { top: 14px; left: 32px; }
.expertise-orbit i:nth-of-type(2) { right: 9px; bottom: 44px; }
.expertise-orbit i:nth-of-type(3) { bottom: 5px; left: 48px; }

@media (min-width: 1400px) {
  .hero__content h1 { max-width: 70rem; margin-inline: auto; }
  .hero__content p { max-width: 68rem; }
}

@media (min-width: 1101px) and (max-width: 1399px) {
  .hero__content { width: min(100%, 64rem); }
  .hero__content h1 { max-width: 64rem; margin-inline: auto; }
  .hero__content p { max-width: 61rem; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .hero__content { width: min(100%, 56rem); }
  .hero__content h1 { max-width: 56rem; margin-inline: auto; }
  .hero__content p { max-width: 54rem; }
}

@media (min-width: 601px) and (max-width: 800px) {
  .hero__content { width: min(100%, 44rem); }
  .hero__content h1 { max-width: 42rem; margin-inline: auto; }
  .hero__content p { max-width: 43rem; }
}

.site-footer {
  position: relative;
  width: 100%;
  margin-top: clamp(6rem, 10vw, 11rem);
  overflow: hidden;
  border-top: 1px solid rgb(56 131 206 / 18%);
  background: #000814;
  color: var(--color-white);
  padding: clamp(4.5rem, 8vw, 8rem) var(--page-gutter) 2rem;
}

.site-footer__top {
  position: relative;
  display: grid;
  width: min(100%, 1500px);
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 2.25fr);
  gap: clamp(5rem, 9vw, 10rem);
  margin: 0 auto;
}

.site-footer__brand {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.footer-brand {
  display: inline-flex;
  align-items: flex-start;
  flex-direction: column;
  color: white;
  text-decoration: none;
}

.footer-brand__primary {
  font-size: clamp(2rem, 3.2vw, 3.35rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
}

.site-footer__brand > p {
  max-width: 320px;
  margin: 2.5rem 0;
  color: rgb(207 215 220 / 68%);
  font-size: clamp(0.9rem, 1.1vw, 1.05rem);
  font-weight: 300;
  line-height: 1.65;
}

.site-footer__social {
  display: flex;
  gap: 0.7rem;
}

.site-footer__social a {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgb(207 215 220 / 16%);
  border-radius: 50%;
  background: rgb(255 255 255 / 3%);
  color: rgb(207 215 220 / 74%);
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.site-footer__social svg {
  width: 17px;
  fill: currentcolor;
}

.site-footer__social a:hover,
.site-footer__social a:focus-visible {
  border-color: rgb(49 208 205 / 55%);
  background: rgb(49 208 205 / 8%);
  color: white;
  outline: none;
  transform: translateY(-3px);
}

.site-footer__nav {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: clamp(2.5rem, 4.5vw, 5.5rem);
}

.site-footer__nav > div {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1rem;
}

.site-footer__nav h2 {
  margin: 0 0 1.2rem;
  color: #ffcc72;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.site-footer__nav a {
  color: rgb(207 215 220 / 68%);
  font-size: clamp(0.82rem, 0.95vw, 0.96rem);
  line-height: 1.45;
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
  color: white;
  outline: none;
  transform: translateX(3px);
}

.site-footer__bottom {
  display: flex;
  width: min(100%, 1500px);
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin: clamp(4rem, 7vw, 7rem) auto 0;
  border-top: 1px solid rgb(207 215 220 / 12%);
  color: rgb(207 215 220 / 48%);
  padding-top: 1.6rem;
  font-size: 0.76rem;
}

.site-footer__bottom p { margin: 0; }
.site-footer__bottom div { display: flex; gap: 1.5rem; }
.site-footer__bottom a { color: inherit; text-decoration: none; transition: color 160ms ease; }
.site-footer__bottom a:hover,
.site-footer__bottom a:focus-visible { color: white; outline: none; }

@media (max-width: 1100px) {
  .site-footer__top { grid-template-columns: 1fr; }
  .site-footer__nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .site-header {
    align-items: flex-start;
  }

  .nav-toggle {
    display: grid;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 4px;
    background: rgb(0 29 58 / 45%);
    cursor: pointer;
  }

  .nav-toggle span {
    display: block;
    width: 20px;
    height: 1.5px;
    background: var(--color-white);
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  .primary-nav {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    display: none;
    width: min(440px, calc(100vw - 2rem));
    max-height: calc(100vh - 8rem);
    align-items: stretch;
    overflow-y: auto;
    flex-direction: column;
    gap: 1rem;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 7px;
    background: rgb(0 20 42 / 98%);
    padding: 1rem;
    box-shadow: 0 28px 70px rgb(0 5 14 / 48%);
  }

  .primary-nav.is-open {
    display: flex;
  }

  .primary-nav__list {
    align-items: stretch;
    flex-direction: column;
  }

  .primary-nav__actions {
    width: 100%;
    justify-items: stretch;
    gap: 0.8rem;
  }

  .utility-nav {
    justify-content: center;
  }

  .utility-nav a {
    font-size: 0.7rem;
  }

  .primary-nav__cta {
    justify-content: center;
  }

  .nav-item__trigger,
  .nav-item__link {
    justify-content: space-between;
    width: 100%;
    font-size: 0.95rem;
    padding: 0.85rem;
  }

  .mega-menu {
    position: static;
    display: none;
    visibility: visible;
    width: 100%;
    max-height: none;
    margin-top: 0.4rem;
    grid-template-columns: 1fr;
    opacity: 1;
    padding: 1rem;
    box-shadow: none;
    transform: none;
    pointer-events: auto;
  }

  .nav-item.is-open .mega-menu {
    display: grid;
  }

  .mega-links--capabilities,
  .mega-menu--audience,
  .mega-menu--resources {
    grid-template-columns: 1fr;
  }

  .mega-menu__utility,
  .mega-menu__roles,
  .resource-menu-column + .resource-menu-column {
    border-top: 1px solid rgb(255 255 255 / 10%);
    border-left: 0;
    padding-top: 1rem;
    padding-left: 0;
  }

  .audience-menu-card {
    min-height: 220px;
  }

  .resource-menu-cta {
    min-height: 190px;
  }
}

@media (max-width: 900px) {
  .answer-card--wide,
  .answer-card--medium,
  .answer-card--third {
    grid-column: span 6;
    min-height: 380px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .answer-card:last-child {
    grid-column: 4 / span 6;
  }

  .cta-bar {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 38%);
  }

  .audience-split {
    min-height: 760px;
  }

  .audience-panel {
    padding: 3rem 2rem 7rem;
  }
}

@media (max-width: 600px) {
  .hero {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }

  .brand__mark {
    width: 2rem;
    height: 2.063rem;
  }

  .brand__name {
    font-size: 1.25rem;
  }

  .brand__tagline {
    font-size: 0.675rem;
  }

  .hero__content {
    margin-top: clamp(4rem, 12vh, 7rem);
  }

  .hero__content h1 {
    font-size: clamp(2rem, 10vw, 2.5rem);
    line-height: 1.15;
  }

  .hero__content p {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  .product-showcase {
    grid-template-columns: 1fr;
    width: 100%;
    height: 540px;
    margin: 1.5rem 0 0;
  }

  .product-showcase__nav {
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 16%);
    border-radius: 5px 5px 0 0;
    padding: 0.75rem;
  }

  .product-showcase__stage {
    border-radius: 0 0 5px 5px;
  }

  .scene-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scene-list__item {
    height: 100%;
    padding: 0.65rem 0.5rem 0.65rem 0.75rem;
  }

  .hero__cta {
    width: 100%;
    min-height: 3.25rem;
    margin-top: 30px;
  }

  .proof-section {
    margin-top: 2rem;
    margin-bottom: 5rem;
    padding: 4rem 1.5rem;
  }

  .proof-section h2 {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
    line-height: 1.02;
  }

  .proof-section__logos {
    padding-top: 0;
  }

  .proof-section__lower {
    margin-top: 3rem;
  }

  .proof-logos:not(.slick-initialized) {
    grid-template-columns: 1fr;
  }

  .proof-logos:not(.slick-initialized) .proof-logo:nth-child(n + 2) {
    display: none;
  }

  .old-workflow {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-block: 3rem;
  }

  .old-workflow__media {
    max-width: none;
    margin-left: 0;
  }

  .old-workflow h2 {
    width: auto;
  }

  .old-workflow__lead,
  .old-workflow__reveal {
    white-space: normal;
  }

  .answer-section {
    margin-bottom: 6rem;
  }

  .answer-section h2 {
    font-size: clamp(2.5rem, 11vw, 3.5rem);
  }

  .answer-card--wide,
  .answer-card--medium,
  .answer-card--third,
  .answer-card:last-child {
    grid-column: 1 / -1;
    min-height: 360px;
  }

  .cta-bar {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .cta-bar > p {
    padding: 2.25rem 1.5rem;
    white-space: normal;
  }

  .cta-bar > a {
    min-height: 76px;
  }

  .audience-section {
    margin-bottom: 27rem;
  }

  .audience-split {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .audience-panel {
    min-height: 480px;
    padding: 3rem 1.5rem 8rem;
  }

  .testimonial-card {
    right: 1rem;
    left: 1rem;
    padding: 2rem 1.5rem;
    transform: translateY(calc(100% - 32px));
  }

  .testimonial-card blockquote {
    font-size: 1.1rem;
  }

  .testimonial-card__quote {
    align-items: start;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .testimonial-card__logo {
    width: 130px;
  }
}

@media (max-width: 900px) {
  .foundation-section {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .foundation-card {
    min-height: 520px;
  }

  .foundation-card--integrations {
    grid-column: 1 / -1;
    min-height: 620px;
  }

  .intelligence-explorer {
    min-height: 0;
    grid-template-columns: 1fr;
    background-image: none;
  }

  .intelligence-tabs {
    display: grid;
    overflow-x: auto;
    grid-template-columns: repeat(6, minmax(190px, 1fr));
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 16%);
    scrollbar-width: thin;
  }

  .intelligence-tabs button {
    min-height: 76px;
    border-right: 1px solid rgb(255 255 255 / 10%);
    border-bottom: 0;
  }

  .intelligence-tabs button::before {
    top: auto;
    right: 0;
    bottom: -1px;
    width: auto;
    height: 3px;
    transform: scaleX(0.25);
  }

  .intelligence-tabs button.is-active::before {
    transform: scaleX(1);
  }

  .intelligence-stage {
    min-height: 600px;
  }
}

@media (max-width: 600px) {
  .security-badges {
    grid-template-columns: 1fr;
  }

  .security-badge strong {
    font-size: 0.8rem;
  }

  .foundation-section {
    width: calc(100% - 2rem);
    grid-template-columns: 1fr;
  }

  .foundation-card,
  .foundation-card--integrations {
    min-height: 540px;
    grid-column: auto;
  }

  .connection-map {
    height: 250px;
  }

  .intelligence-section {
    width: calc(100% - 2rem);
  }

  .intelligence-section__header {
    text-align: left;
  }

  .intelligence-section__header h2 {
    font-size: clamp(2.35rem, 12vw, 3.2rem);
  }

  .intelligence-stage {
    min-height: 580px;
    padding: 2.25rem 0.5rem 0;
  }

  .intelligence-stage__copy {
    padding: 0 0.75rem;
  }

  .intelligence-stage h3 {
    font-size: 2rem;
  }

  .intelligence-visual__window {
    right: -12%;
    left: 2%;
  }

  .intelligence-visual__metrics {
    gap: 0.4rem;
    padding: 0.75rem;
  }

  .intelligence-visual__float {
    right: 3%;
    min-width: 150px;
  }
}

@media (max-width: 800px) {
  .site-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 3rem;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .site-footer {
    padding-top: 4rem;
  }

  .site-footer__nav {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom div {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.65rem;
  }
}

@media (max-width: 600px) {
  .product-showcase--platform {
    width: 94%;
    height: 650px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 480px;
    overflow: hidden;
  }

  .product-showcase--platform .product-showcase__nav {
    padding: 0.75rem;
  }

  .product-showcase--platform .scene-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.2rem;
  }

  .product-showcase--platform .scene-list__item {
    min-height: 0;
    padding: 0.65rem 0.5rem 0.65rem 1.8rem;
    text-align: left;
  }

  .product-showcase--platform .scene-list__item::before {
    right: auto;
    left: 0;
    width: 1.3rem;
  }

  .product-showcase--platform .product-showcase__stage {
    overflow: hidden;
  }

  .product-showcase--platform .product-screen {
    inset: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-loader,
  .page-loader__track span,
  .intelligence-tabs button.is-active > span::before,
  .integration-marquee__track {
    animation: none;
    transition-duration: 0.01ms;
  }

  .hero__video {
    display: none;
  }

  .product-screen--request,
  .country-menu,
  .selected-countries,
  .demo-cursor,
  .bar-chart span {
    animation: none;
  }

  .product-screen--request,
  .country-menu,
  .selected-countries,
  .demo-cursor {
    display: none;
  }

  .forecast-animation {
    animation: none;
    opacity: 1;
  }

  .whatif-animation {
    display: none;
    animation: none;
  }

  .scene-list__item--forecast,
  .scene-list__item--forecast::before,
  .scene-list__item--whatif,
  .scene-list__item--whatif::before {
    animation: none;
  }

  .scene-list__item--forecast {
    background: rgb(255 255 255 / 7%);
    color: white;
  }

  .scene-list__item--forecast::before {
    background: var(--color-orange);
  }

  .product-screen--forecast {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .bar-chart span {
    transform: scaleY(1);
  }

  .country-share__donut {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .morph-chart--bars,
  .morph-chart--donuts {
    display: none;
    animation: none;
  }

  .morph-chart--line {
    animation: none;
    opacity: 0.72;
    transform: none;
  }

  .hero__cta {
    transition: none;
  }
}


/* scenario.css */
/* Forecasting-specific composition layered over the homepage design system. */
.scenario-page .decision-loop {
  position: absolute;
  z-index: 1;
  top: 35px;
  right: -3vw;
  width: 51vw;
  height: clamp(480px, 48vw, 690px);
  overflow: visible;
  pointer-events: none;
}

.scenario-page .decision-loop svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.scenario-page .decision-loop__path {
  fill: none;
  stroke: url(#decision-line-gradient);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#decision-line-glow);
  opacity: 0;
}

.scenario-page .decision-loop__node {
  fill: #001d3a;
  stroke: #8db2e8;
  stroke-width: 3;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-loop__pill,
.scenario-page .decision-loop__moving-pill {
  opacity: 0;
}

.scenario-page .decision-loop__pill rect,
.scenario-page .decision-loop__moving-pill rect {
  fill: #123b70;
  stroke: rgb(141 178 232 / 16%);
}

.scenario-page .decision-loop__pill text,
.scenario-page .decision-loop__moving-pill text {
  fill: rgb(255 255 255 / 90%);
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 650;
}

.scenario-page .decision-orbit__network {
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__ring {
  fill: none;
  stroke: url(#decision-line-gradient);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: url(#decision-line-glow);
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__seed {
  fill: #31d0cd;
  stroke: rgb(255 255 255 / 72%);
  stroke-width: 2;
  filter: url(#decision-line-glow);
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__scenario {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .decision-orbit__scenario circle {
  fill: #001d3a;
  stroke: #31d0cd;
  stroke-width: 2.5;
}

.scenario-page .decision-orbit__scenario rect {
  fill: rgb(18 59 112 / 88%);
  stroke: rgb(141 178 232 / 16%);
}

.scenario-page .decision-orbit__scenario text {
  fill: rgb(255 255 255 / 90%);
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 650;
}

.scenario-page .decision-orbit__label {
  transform-origin: 0 0;
}

@media (max-width: 800px) {
  .scenario-page .decision-loop {
    position: relative;
    top: auto;
    right: auto;
    width: 820px;
    height: 500px;
    margin-top: 2.5rem;
    transform: translateX(-270px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .scenario-page .decision-loop__path {
    stroke-dashoffset: 0;
    opacity: 0.8;
  }

  .scenario-page .decision-loop__node,
  .scenario-page .decision-loop__pill {
    opacity: 1;
  }

  .scenario-page .decision-orbit__ring,
  .scenario-page .decision-orbit__scenario {
    opacity: 1;
  }
}

.scenario-page .forecast-story__intro {
  min-height: clamp(900px, 78vw, 1120px);
  overflow: hidden;
}

.scenario-page .scenario-branch {
  position: relative;
  z-index: 2;
  width: calc(100vw - (2 * var(--page-gutter)));
  height: clamp(360px, 34vw, 520px);
  margin-top: clamp(3rem, 5vw, 5rem);
}

.scenario-page .scenario-branch__svg {
  position: absolute;
  top: 0;
  right: calc(-1 * var(--page-gutter) - 5vw);
  width: calc(100% + var(--page-gutter) + 10vw);
  height: 100%;
  overflow: visible;
}

.scenario-page .scenario-branch__ghost,
.scenario-page .scenario-branch__path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scenario-page .scenario-branch__ghost {
  stroke: rgb(141 178 232 / 11%);
  stroke-width: 2;
}

.scenario-page .scenario-branch__path {
  stroke: url(#scenario-flow-gradient);
  stroke-width: 4;
  stroke-dasharray: 1;
  stroke-dashoffset: -1;
  filter: url(#scenario-flow-glow);
  opacity: 0;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--trunk {
  animation: scenario-draw-trunk 1.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--top,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--middle,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--bottom {
  animation: scenario-draw-branch 1.45s cubic-bezier(0.22, 1, 0.36, 1) 1.45s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--middle {
  animation-delay: 1.62s;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--bottom {
  animation-delay: 1.79s;
}

@keyframes scenario-draw-trunk {
  0% { stroke-dashoffset: -1; opacity: 0; }
  8% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

@keyframes scenario-draw-branch {
  0% { stroke-dashoffset: -1; opacity: 0; }
  8% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.82; }
}

.scenario-page .scenario-branch__junction,
.scenario-page .scenario-branch__endpoint {
  fill: #001d3a;
  stroke: #31d0cd;
  stroke-width: 3;
  opacity: 0;
  transform: scale(0.4);
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction {
  animation: scenario-point-in 500ms ease 1.35s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__endpoint {
  animation: scenario-point-in 520ms ease 2.55s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__endpoint--middle {
  animation-delay: 2.75s;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__endpoint--bottom {
  animation-delay: 2.95s;
}

@keyframes scenario-point-in {
  0% { opacity: 0; transform: scale(0.4); }
  65% { opacity: 1; transform: scale(1.35); }
  100% { opacity: 1; transform: scale(1); }
}

.scenario-page .scenario-branch__origin,
.scenario-page .scenario-branch__outcome {
  position: absolute;
  color: #fff;
  opacity: 0;
  transform: translateX(18px);
}

.scenario-page .scenario-branch__origin {
  top: 47%;
  right: 0;
  text-align: right;
}

.scenario-page .scenario-branch__outcome {
  left: 1.5%;
  width: 220px;
  transform: translateX(-14px);
}

.scenario-page .scenario-branch__outcome--top { top: 4%; }
.scenario-page .scenario-branch__outcome--middle { top: 43%; left: -4%; }
.scenario-page .scenario-branch__outcome--bottom { bottom: 1%; }

.scenario-page .scenario-branch__origin small,
.scenario-page .scenario-branch__outcome small,
.scenario-page .scenario-branch__outcome span {
  display: block;
  color: rgb(255 255 255 / 42%);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.scenario-page .scenario-branch__origin strong,
.scenario-page .scenario-branch__outcome strong {
  display: block;
  margin-top: 0.35rem;
  font-size: clamp(0.95rem, 1.3vw, 1.3rem);
}

.scenario-page .scenario-branch__outcome span {
  margin-top: 0.35rem;
  color: #31d0cd;
  letter-spacing: 0.02em;
  text-transform: none;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__origin {
  animation: scenario-copy-in 650ms ease 250ms forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--top {
  animation: scenario-copy-in 650ms ease 2.55s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--middle {
  animation: scenario-copy-in 650ms ease 2.75s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--bottom {
  animation: scenario-copy-in 650ms ease 2.95s forwards;
}

@keyframes scenario-copy-in {
  to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 800px) {
  .scenario-page .forecast-story__intro {
    min-height: 860px;
  }

  .scenario-page .scenario-branch {
    width: 900px;
    height: 360px;
    transform: translateX(-260px);
  }

  .scenario-page .scenario-branch__svg {
    right: -90px;
  }

  .scenario-page .scenario-branch__origin {
    right: 60px;
  }
}

/* Repeating scenario-decision loop. */
.scenario-page .scenario-branch__moving-lines {
  transform-origin: center;
  transition: transform 1.15s cubic-bezier(0.45, 0, 0.2, 1), opacity 700ms ease;
}

.scenario-page .scenario-branch__outcome--one { top: 7%; right: auto; left: 2%; }
.scenario-page .scenario-branch__outcome--two { top: 42%; right: auto; left: 0; }
.scenario-page .scenario-branch__outcome--three { top: auto; right: auto; bottom: 4%; left: 2%; }

.scenario-page .scenario-branch.is-entering .scenario-branch__path--route {
  animation: scenario-route-flow 1.4s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

.scenario-page .scenario-branch.is-entering .scenario-branch__origin,
.scenario-page .scenario-branch.is-branching .scenario-branch__origin,
.scenario-page .scenario-branch.is-selecting .scenario-branch__origin {
  opacity: 1;
  transform: none;
  transition: opacity 500ms ease, transform 500ms ease;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__path--route {
  stroke-dashoffset: 0;
  opacity: 0.9;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__path--one,
.scenario-page .scenario-branch.is-branching .scenario-branch__path--two,
.scenario-page .scenario-branch.is-branching .scenario-branch__path--three {
  animation: scenario-route-fork 1.25s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__path--two { animation-delay: 100ms; }
.scenario-page .scenario-branch.is-branching .scenario-branch__path--three { animation-delay: 200ms; }

.scenario-page .scenario-branch.is-branching .scenario-branch__junction,
.scenario-page .scenario-branch.is-selecting .scenario-branch__junction,
.scenario-page .scenario-branch.is-advancing .scenario-branch__junction {
  animation: scenario-point-in 440ms ease forwards;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__outcome {
  animation: scenario-pop-up 520ms cubic-bezier(0.16, 1, 0.3, 1) 550ms forwards;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__outcome--two { animation-delay: 700ms; }
.scenario-page .scenario-branch.is-branching .scenario-branch__outcome--three { animation-delay: 850ms; }

.scenario-page .scenario-branch.is-selecting .scenario-branch__path,
.scenario-page .scenario-branch.is-advancing .scenario-branch__path {
  stroke-dashoffset: 0;
  opacity: 0.9;
}

.scenario-page .scenario-branch.is-selecting .scenario-branch__outcome {
  opacity: 1;
  transform: none;
  transition: opacity 650ms ease, transform 650ms ease;
}

.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__path--two,
.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__outcome--two,
.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__outcome--three,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__outcome--three,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__path--two,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__outcome--two {
  opacity: 0.04;
}

.scenario-page .scenario-branch.is-advancing.is-choice-0 .scenario-branch__path--two,
.scenario-page .scenario-branch.is-advancing.is-choice-0 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-advancing.is-choice-1 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-advancing.is-choice-1 .scenario-branch__path--three,
.scenario-page .scenario-branch.is-advancing.is-choice-2 .scenario-branch__path--one,
.scenario-page .scenario-branch.is-advancing.is-choice-2 .scenario-branch__path--two {
  opacity: 0;
}

.scenario-page .scenario-branch.is-advancing .scenario-branch__moving-lines {
  opacity: 0;
  transform: translateX(310px);
}

.scenario-page .scenario-branch.is-advancing .scenario-branch__outcome {
  opacity: 0;
  transform: translateX(190px);
  transition: opacity 750ms ease, transform 1.15s cubic-bezier(0.45, 0, 0.2, 1);
}

/* Reference-matched three-way decision funnel. */
.scenario-page .scenario-branch {
  top: 40px;
  right: -2vw;
  width: 48vw;
  height: clamp(430px, 40vw, 590px);
}

.scenario-page .scenario-branch__svg {
  right: -7vw;
  width: calc(100% + 9vw);
}

.scenario-page .scenario-branch__ghost,
.scenario-page .scenario-branch__origin {
  display: none;
}

.scenario-page .scenario-branch__path {
  stroke-width: 3;
}

.scenario-page .scenario-branch__endpoint {
  fill: #001d3a;
  stroke: #8db2e8;
  stroke-width: 3;
  opacity: 0;
  transform: scale(0.5);
  transform-box: fill-box;
  transform-origin: center;
}

.scenario-page .scenario-branch.is-branching .scenario-branch__endpoint,
.scenario-page .scenario-branch.is-selecting .scenario-branch__endpoint {
  animation: scenario-point-in 420ms ease 700ms forwards;
}

.scenario-page .scenario-branch__outcome {
  left: 1.5%;
  width: clamp(150px, 13vw, 205px);
  min-height: 46px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 999px;
  background: #123b70;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%), 0 10px 28px rgb(0 5 14 / 18%);
}

.scenario-page .scenario-branch__outcome--one { top: 17%; }
.scenario-page .scenario-branch__outcome--two { top: 43%; }
.scenario-page .scenario-branch__outcome--three { top: 69%; bottom: auto; }

.scenario-page .scenario-branch__outcome small,
.scenario-page .scenario-branch__outcome span {
  display: none;
}

.scenario-page .scenario-branch__outcome strong {
  margin: 0;
  overflow: hidden;
  color: rgb(255 255 255 / 88%);
  font-size: clamp(0.68rem, 0.85vw, 0.84rem);
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-page .scenario-branch.is-selecting .scenario-branch__outcome {
  transition: opacity 700ms ease, filter 700ms ease, transform 700ms ease;
}

.scenario-page .scenario-branch.is-selecting.is-choice-0 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-selecting.is-choice-1 .scenario-branch__outcome--two,
.scenario-page .scenario-branch.is-selecting.is-choice-2 .scenario-branch__outcome--three {
  opacity: 1;
  filter: brightness(1.22);
  transform: scale(1.03);
}

.scenario-page .scenario-branch.is-advancing .scenario-branch__moving-lines {
  opacity: 0.12;
  transform: none;
}

.scenario-page .scenario-branch.is-advancing.is-choice-0 .scenario-branch__outcome--one,
.scenario-page .scenario-branch.is-advancing.is-choice-1 .scenario-branch__outcome--two,
.scenario-page .scenario-branch.is-advancing.is-choice-2 .scenario-branch__outcome--three {
  opacity: 0;
  filter: brightness(1.2);
  transform: translateX(480px) scale(1.02);
  transition: opacity 300ms ease 850ms, transform 1.25s cubic-bezier(0.45, 0, 0.2, 1);
}

@media (max-width: 800px) {
  .scenario-page .scenario-branch {
    top: auto;
    right: auto;
    width: 760px;
    height: 430px;
    transform: translateX(-230px);
  }

  .scenario-page .scenario-branch__outcome {
    width: 170px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scenario-page .scenario-branch__path {
    stroke-dashoffset: 0;
    opacity: 0.82;
  }

  .scenario-page .scenario-branch__junction,
  .scenario-page .scenario-branch__endpoint,
  .scenario-page .scenario-branch__origin,
  .scenario-page .scenario-branch__outcome {
    opacity: 1;
    transform: none;
  }
}

/* Continuous decision route: desktop visual sits beside the copy. */
.scenario-page .forecast-story__intro {
  min-height: clamp(680px, 55vw, 820px);
}

.scenario-page .forecast-story__intro h2 {
  width: 48vw;
  max-width: 48vw;
}

.scenario-page .forecast-story__intro > p:last-of-type {
  width: 43vw;
  max-width: 43vw;
}

.scenario-page .scenario-branch {
  position: absolute;
  z-index: 1;
  top: 10px;
  right: 0;
  width: 49vw;
  height: clamp(500px, 48vw, 700px);
  margin: 0;
  pointer-events: none;
}

.scenario-page .scenario-branch__svg {
  top: 0;
  right: -9vw;
  width: calc(100% + 12vw);
  height: 100%;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--route {
  animation: scenario-route-flow 5.6s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--one,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--two,
.scenario-page .scenario-branch.is-playing .scenario-branch__path--three {
  animation: scenario-route-fork 1.15s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__path--one { animation-delay: 1.55s; }
.scenario-page .scenario-branch.is-playing .scenario-branch__path--two { animation-delay: 2.9s; }
.scenario-page .scenario-branch.is-playing .scenario-branch__path--three { animation-delay: 4.35s; }

@keyframes scenario-route-flow {
  0% { stroke-dashoffset: -1; opacity: 0; }
  3% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.9; }
}

@keyframes scenario-route-fork {
  0% { stroke-dashoffset: -1; opacity: 0; }
  10% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.82; }
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction--one {
  animation: scenario-point-in 480ms ease 1.45s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction--two {
  animation: scenario-point-in 480ms ease 2.8s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__junction--three {
  animation: scenario-point-in 480ms ease 4.25s forwards;
}

.scenario-page .scenario-branch__origin {
  top: 46%;
  right: 0;
}

.scenario-page .scenario-branch__outcome {
  left: auto;
  width: 185px;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 5px;
  background: rgb(0 18 38 / 76%);
  box-shadow: 0 12px 34px rgb(0 5 14 / 24%);
  backdrop-filter: blur(8px);
  transform: translateY(10px);
}

.scenario-page .scenario-branch__outcome--one {
  top: 8%;
  right: 27%;
}

.scenario-page .scenario-branch__outcome--two {
  right: 17%;
  bottom: 2%;
}

.scenario-page .scenario-branch__outcome--three {
  top: 31%;
  left: 9%;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--one {
  animation: scenario-pop-up 560ms cubic-bezier(0.16, 1, 0.3, 1) 2.1s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--two {
  animation: scenario-pop-up 560ms cubic-bezier(0.16, 1, 0.3, 1) 3.45s forwards;
}

.scenario-page .scenario-branch.is-playing .scenario-branch__outcome--three {
  animation: scenario-pop-up 560ms cubic-bezier(0.16, 1, 0.3, 1) 4.9s forwards;
}

@keyframes scenario-pop-up {
  0% { opacity: 0; transform: translateY(10px) scale(0.96); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 800px) {
  .scenario-page .forecast-story__intro {
    min-height: 1050px;
  }

  .scenario-page .forecast-story__intro h2,
  .scenario-page .forecast-story__intro > p:last-of-type {
    width: 100%;
    max-width: 100%;
  }

  .scenario-page .scenario-branch {
    position: relative;
    top: auto;
    right: auto;
    width: 780px;
    height: 460px;
    margin-top: 3rem;
    transform: translateX(-245px);
  }
}

.forecasting-page .mega-links a[aria-current="page"] {
  border-color: rgb(49 208 205 / 34%);
  background: rgb(49 208 205 / 8%);
}

.forecasting-page .hero {
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 100svh;
  padding-bottom: clamp(3rem, 7vh, 5.5rem);
  background: #001d3a;
  overflow: visible;
}

.forecasting-page .site-header {
  grid-column: 1 / -1;
  grid-row: 1;
}

.forecasting-page .hero__ambient {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: clamp(-280px, -16vw, -190px);
  left: 0;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgb(0 29 58 / 98%), rgb(0 29 58 / 84%) 52%, rgb(0 22 46 / 95%)),
    #001d3a;
  pointer-events: none;
  filter: blur(48px);
  contain: layout style paint;
  transform: translateZ(0);
  will-change: transform;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 76%, transparent 100%);
}

.forecasting-page .hero__ambient::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgb(0 29 58 / 14%), transparent 32%, rgb(0 18 38 / 12%));
  content: "";
}

.forecasting-page .hero__glow {
  position: absolute;
  display: block;
  top: -18%;
  left: -15%;
  width: 130%;
  height: 136%;
  border-radius: 50%;
  mix-blend-mode: screen;
  opacity: 0.2;
  will-change: transform;
}

.forecasting-page .hero__glow--one {
  background: radial-gradient(circle at center, rgb(42 137 230 / 90%) 0%, rgb(26 91 190 / 38%) 36%, transparent 62%);
  transform-origin: left center;
  animation: forecasting-glow-vertical 38s ease-in-out infinite;
  opacity: 0.44;
}

.forecasting-page .hero__glow--two {
  background: radial-gradient(circle at center, rgb(125 89 214 / 78%) 0%, rgb(83 57 169 / 34%) 38%, transparent 62%);
  transform-origin: calc(50% - 460px) calc(50% + 90px);
  animation: forecasting-glow-circle 31s linear -9s infinite;
  opacity: 0.36;
}

.forecasting-page .hero__glow--three {
  background: radial-gradient(circle at center, rgb(125 89 214 / 76%) 0%, rgb(83 57 169 / 31%) 37%, transparent 63%);
  transform-origin: calc(50% - 280px) center;
  animation: forecasting-glow-horizontal 44s ease-in-out -15s infinite;
  opacity: 0.34;
}

.forecasting-page .hero__glow--dark {
  top: -24%;
  left: -20%;
  width: 142%;
  height: 148%;
  background: radial-gradient(circle at center, rgb(0 7 20 / 88%) 0%, rgb(0 13 29 / 58%) 34%, transparent 63%);
  mix-blend-mode: multiply;
  opacity: 0.48;
  transform-origin: calc(50% + 360px) calc(50% - 120px);
  animation: forecasting-glow-dark 47s ease-in-out -18s infinite;
}

@keyframes forecasting-glow-circle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes forecasting-glow-vertical {
  0%, 100% { transform: translate3d(-4%, -26%, 0) scale(1); }
  50% { transform: translate3d(5%, 25%, 0) scale(1.08); }
}

@keyframes forecasting-glow-horizontal {
  0%, 100% { transform: translate3d(-27%, -10%, 0) scale(1.06); }
  50% { transform: translate3d(27%, 12%, 0) scale(0.96); }
}

@keyframes forecasting-glow-dark {
  0%, 100% { transform: translate3d(18%, -13%, 0) scale(0.96); }
  50% { transform: translate3d(-16%, 16%, 0) scale(1.12); }
}

.forecasting-page .hero__content {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  width: auto;
  margin: clamp(2.5rem, 6vh, 5rem) 0;
  padding-right: clamp(0.5rem, 1.5vw, 1.75rem);
  text-align: left;
}

.forecasting-page .hero-story {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.12em;
  margin-bottom: clamp(2rem, 2.5vw, 2.75rem);
  color: rgb(255 255 255 / 25%);
  font-size: clamp(0.72rem, 0.82vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.forecasting-page .hero-story button {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  transition: color 0.55s ease, opacity 0.55s ease;
}

.forecasting-page .hero-story button:hover,
.forecasting-page .hero-story button:focus-visible {
  color: rgb(255 255 255 / 65%);
}

.forecasting-page .hero-story button:focus-visible {
  outline: 1px solid #8db2e8;
  outline-offset: 4px;
}

.forecasting-page .hero-story button.is-active {
  color: #fff;
}

.forecasting-page .hero__content h1 {
  max-width: none;
  font-size: clamp(3.1rem, 5.1vw, 6.35rem);
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.forecasting-page .hero__content h1 > span:first-child {
  white-space: nowrap;
}

.forecasting-page .hero__content h1 > span:nth-child(2) {
  margin-top: 0.22em;
  color: #8db2e8;
}

.forecasting-page .hero__content h1 > span {
  transition: opacity 0.28s ease, transform 0.48s ease;
}

.forecasting-page .hero__content h1.is-changing > span {
  opacity: 0;
  transform: translateY(12px);
}

.forecasting-page .hero__content p {
  max-width: none;
  margin: 1.65rem 0 0;
  color: rgb(255 255 255 / 68%);
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  line-height: 1.7;
}

.forecasting-page .hero__primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.25rem;
  min-width: 15.5rem;
  margin-top: 2rem;
  border-radius: 4px;
  background: #fff;
  color: #001d3a;
  padding: 1rem 1.15rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease;
}

.forecasting-page .hero__primary-action:hover {
  background: #eef7fa;
  transform: translateY(-2px);
}

.forecasting-page .hero__primary-action:focus-visible {
  outline: 3px solid #31d0cd;
  outline-offset: 4px;
}

.forecasting-page .product-showcase--platform {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: start;
  display: block;
  width: min(960px, 76vw);
  height: clamp(480px, 62vh, 620px);
  margin: clamp(2rem, 5vh, 4rem) 0 0;
  transform: translateX(16%);
}

.forecasting-page .product-showcase--platform .product-showcase__nav {
  display: none;
}

.forecasting-page .product-showcase--platform .product-showcase__stage {
  width: 100%;
  height: 100%;
}

.forecasting-page .product-showcase--platform .product-screen {
  inset: 0;
}

.forecasting-page .trust-screen {
  background: #eef4f7;
}

.forecasting-page .trust-dashboard {
  padding: clamp(1.4rem, 2vw, 2.2rem);
  color: #001d3a;
}

.forecasting-page .trust-dashboard > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #cad7df;
}

.forecasting-page .trust-dashboard h3 {
  margin: 0.4rem 0 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.forecasting-page .trust-dashboard > header > strong {
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
  text-align: right;
}

.forecasting-page .trust-dashboard > header > strong small {
  display: block;
  margin-top: 0.25rem;
  color: #6d7e8b;
  font-size: 0.55rem;
  font-weight: 500;
  text-transform: uppercase;
}

.forecasting-page .trust-dashboard__body {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.forecasting-page .trust-costs {
  display: grid;
  gap: 0.8rem;
}

.forecasting-page .trust-costs > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 72%);
  font-size: 0.7rem;
}

.forecasting-page .trust-costs em {
  color: #526575;
  font-style: normal;
}

.forecasting-page .trust-costs i {
  grid-column: 1 / -1;
  width: var(--w);
  height: 3px;
  background: linear-gradient(90deg, #12509b, #31d0cd);
  transform-origin: left;
  animation: trust-bar-in 1.1s ease both;
}

@keyframes trust-bar-in {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.forecasting-page .trust-sources {
  padding: 1.1rem;
  border: 1px solid rgb(18 80 155 / 18%);
  background: rgb(18 80 155 / 6%);
}

.forecasting-page .trust-sources > small {
  color: #6b7d8b;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.forecasting-page .trust-sources p {
  display: flex;
  gap: 0.65rem;
  margin: 1rem 0 0;
}

.forecasting-page .trust-sources p > i {
  display: grid;
  flex: 0 0 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgb(49 208 205 / 18%);
  color: #087c7b;
  font-style: normal;
}

.forecasting-page .trust-sources b,
.forecasting-page .trust-sources em {
  display: block;
  font-size: 0.64rem;
}

.forecasting-page .trust-sources em {
  margin-top: 0.22rem;
  color: #71828e;
  font-style: normal;
  font-size: 0.55rem;
}

.forecasting-page .hero > .hero__cta {
  display: none;
}

.forecasting-page .proof-section {
  position: relative;
  z-index: 2;
}

.forecasting-page .proof-section__description {
  max-width: 76rem;
}

.forecasting-page .question-race {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(180px, 0.55fr) minmax(380px, 1.25fr);
  gap: 0;
  align-items: stretch;
  border-block: 1px solid #d6e0e6;
}

.forecasting-page .question-race__prompt,
.forecasting-page .question-race__outcome {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 150px;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
}

.forecasting-page .question-race__prompt {
  padding-left: 0;
}

.forecasting-page .question-race__outcome {
  border-left: 1px solid #d6e0e6;
}

.forecasting-page .question-race__prompt small,
.forecasting-page .question-race__outcome > small {
  display: block;
  margin-bottom: 0.7rem;
  color: #536675;
  font-size: calc(0.65rem + 3px);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.forecasting-page .question-race__prompt small {
  color: #536675;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.forecasting-page .question-race__prompt p {
  margin: 0;
  color: #001d3a;
  font-size: clamp(1.15rem, 1.85vw, 1.7rem);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.25;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.forecasting-page .question-race__prompt small.is-changing,
.forecasting-page .question-race__prompt p.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.forecasting-page .question-race__outcome--prokurio > small {
  color: #536675;
}

.forecasting-page .question-race__outcome--without > small {
  color: #536675;
}

.forecasting-page .question-race__outcome--without {
  transition: opacity 0.38s ease, transform 0.38s ease;
}

.forecasting-page .question-race__outcome--without.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.forecasting-page .question-race__outcome > strong {
  color: #087c7b;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.forecasting-page .question-race__outcome > strong.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.forecasting-page .question-race__lane {
  padding: clamp(1.2rem, 1.8vw, 1.75rem) 0;
}

.forecasting-page .question-race__lane--traditional {
  border-top: 1px solid #d6e0e6;
}

.forecasting-page .question-race__content {
  display: grid;
  grid-template-columns: clamp(120px, 11vw, 170px) minmax(300px, 1.15fr) minmax(320px, 1fr);
  gap: clamp(1rem, 2.5vw, 2.5rem);
  align-items: center;
  min-width: 0;
}

.forecasting-page .question-race__content > small {
  margin: 0;
  color: #12509b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.forecasting-page .question-race__lane--traditional .question-race__content > small {
  color: #a77800;
}

.forecasting-page .question-race__question {
  display: contents;
  color: #001d3a;
  font-size: clamp(1.1rem, 1.8vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -0.025em;
}

.forecasting-page .question-race__question > span {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.forecasting-page .question-race__question > span.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.forecasting-page .question-race__question strong {
  color: #087c7b;
  font-size: clamp(1rem, 1.55vw, 1.4rem);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.forecasting-page .question-race__question strong.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.forecasting-page .question-race__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin: 0;
}

.forecasting-page .question-race__steps span {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #536675;
  padding: 0 0.9rem 0 0;
  font-size: clamp(0.76rem, 0.82vw, 0.9rem);
  line-height: 1.35;
  opacity: 0.58;
  transition: background 0.4s ease, color 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.forecasting-page .question-race__steps span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: 0.15rem;
  color: #82919b;
  content: "→";
  transform: translateY(-50%);
}

.forecasting-page .question-race__steps span.is-active {
  background: transparent;
  color: #001d3a;
  font-weight: 700;
  opacity: 1;
  transform: translateY(-2px);
}

.forecasting-page .question-race__steps span.is-complete {
  opacity: 0.82;
}

.forecasting-page .old-workflow__reveal {
  color: #31d0cd;
}

@media (max-width: 1100px) {
  .forecasting-page .hero {
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  }

  .forecasting-page .hero__content h1 {
    font-size: clamp(2.8rem, 5.7vw, 4.9rem);
  }

  .forecasting-page .hero__content h1 > span:first-child {
    white-space: normal;
  }

  .forecasting-page .product-showcase--platform {
    width: 820px;
    height: 500px;
    transform: translateX(14%);
  }
}

@media (max-width: 800px) {
  .forecasting-page .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto minmax(420px, 50vh);
    min-height: 0;
    padding-bottom: 0;
  }

  .forecasting-page .site-header {
    grid-column: 1;
  }

  .forecasting-page .hero__content {
    grid-column: 1;
    grid-row: 2;
    margin: clamp(4rem, 10vh, 7rem) 0 2.5rem;
    padding-right: 0;
  }

  .forecasting-page .hero__content h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 12vw, 5.2rem);
  }

  .forecasting-page .hero__content p {
    max-width: 38rem;
  }

  .forecasting-page .product-showcase--platform {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    width: min(760px, 122vw);
    height: 430px;
    margin: 0;
    transform: translateX(2%);
  }

  .forecasting-page .question-race {
    grid-template-columns: 1fr 1fr;
  }

  .forecasting-page .question-race__prompt {
    grid-column: 1 / -1;
    min-height: 130px;
    padding-right: 0;
    border-bottom: 1px solid #d6e0e6;
  }

  .forecasting-page .question-race__outcome--prokurio {
    border-left: 0;
  }
}

.forecasting-page .forecast-story.is-static .forecast-story__pin {
  display: block;
  min-height: 0;
}

.forecasting-page .forecast-story.is-static .forecast-story__copy {
  min-height: 0;
}

.forecasting-page .forecast-story.is-static .forecast-story__counter,
.forecasting-page .forecast-story.is-static .forecast-story__visual {
  display: none;
}

.forecasting-page .forecast-story.is-static .forecast-chapter {
  position: relative;
  top: auto;
  visibility: visible;
  opacity: 1;
  transform: none;
  padding: 3rem 0;
  border-top: 1px solid rgb(255 255 255 / 12%);
}

@media (max-width: 520px) {
  .forecasting-page .hero {
    grid-template-rows: auto auto 360px;
  }

  .forecasting-page .hero__content {
    margin-top: 3.25rem;
  }

  .forecasting-page .hero__content h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 13.4vw, 4.15rem);
  }

  .forecasting-page .hero__primary-action {
    width: 100%;
  }

  .forecasting-page .product-showcase--platform {
    width: 660px;
    height: 360px;
    transform: translateX(-1%);
  }

  .forecasting-page .trust-dashboard__body {
    grid-template-columns: 1fr;
  }

  .forecasting-page .trust-sources {
    display: none;
  }

  .forecasting-page .question-race__lane {
    padding: 1.35rem 0;
  }

  .forecasting-page .question-race__content {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .forecasting-page .question-race__question {
    display: contents;
  }

  .forecasting-page .question-race {
    grid-template-columns: 1fr;
  }

  .forecasting-page .question-race__prompt,
  .forecasting-page .question-race__outcome {
    grid-column: 1;
    min-height: 120px;
    padding: 1.35rem 0;
    border-left: 0;
  }

  .forecasting-page .question-race__outcome {
    border-top: 1px solid #d6e0e6;
  }
}

@media (prefers-reduced-motion: reduce) {
  .forecasting-page .hero__glow {
    animation: none;
  }

}

/* Scroll-led forecasting capability story */
.forecasting-page .forecast-story {
  position: relative;
  color: #fff;
  padding-top: clamp(7rem, 11vw, 12rem);
}

.forecasting-page .forecast-story__intro {
  position: relative;
  min-height: clamp(620px, 60vw, 820px);
  width: 100%;
  margin: 0;
  padding: 0 var(--page-gutter) clamp(6rem, 10vw, 10rem);
}

.forecasting-page .forecast-story__eyebrow,
.forecasting-page .forecast-chapter > small {
  margin: 0 0 1.25rem;
  color: #31d0cd;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.forecasting-page .forecast-story__intro h2 {
  position: relative;
  z-index: 3;
  width: 50vw;
  max-width: 55vw;
  margin: 0;
  font-size: clamp(3rem, 5.35vw, 5.8rem);
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.forecasting-page .forecast-story__intro h2 span {
  display: inline-block;
  margin-top: 0.14em;
  color: #e85626;
}

.forecasting-page .forecast-story__intro > p:last-of-type {
  position: relative;
  z-index: 3;
  width: 48vw;
  max-width: 55vw;
  margin: 2.75rem 0 0;
  color: rgb(255 255 255 / 58%);
  font-size: clamp(1.3125rem, calc(1.35vw + 5px), 1.6125rem);
  line-height: 1.75;
}

.forecasting-page .forecast-orbit {
  position: absolute;
  z-index: 1;
  top: clamp(-22rem, -16vw, -15rem);
  right: clamp(-180px, -7vw, -70px);
  width: clamp(620px, 54vw, 900px);
  aspect-ratio: 1;
  border: 1px solid rgb(56 131 206 / 13%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(56 131 206 / 12%), transparent 62%);
}

.forecasting-page .forecast-orbit::before {
  position: absolute;
  inset: -12%;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 45%, rgb(49 208 205 / 5%) 56%, transparent 70%);
  content: "";
}

.forecasting-page .forecast-orbit__core {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  display: grid;
  width: 128px;
  height: 128px;
  place-content: center;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 50%;
  background: rgb(0 18 38 / 96%);
  box-shadow: 0 0 34px rgb(49 208 205 / 12%), 0 0 70px rgb(232 86 38 / 6%);
  text-align: center;
  transform: translate(-50%, -50%);
}

.forecasting-page .forecast-orbit__core::before,
.forecasting-page .forecast-orbit__core::after {
  position: absolute;
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.forecasting-page .forecast-orbit__core::before {
  inset: -3px;
  z-index: 0;
  background: conic-gradient(from 0deg, transparent 0 12%, #31d0cd 23%, transparent 35% 48%, #f2bd38 58%, transparent 69% 78%, #e85626 90%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: forecast-core-think 5.5s linear infinite;
}

.forecasting-page .forecast-orbit__core::after {
  inset: -10px;
  z-index: -2;
  background: conic-gradient(from 120deg, transparent 0 18%, rgb(49 208 205 / 52%) 27%, transparent 38% 55%, rgb(242 189 56 / 38%) 65%, transparent 75% 86%, rgb(232 86 38 / 48%) 94%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 7px));
  filter: blur(8px);
  opacity: 0.55;
  animation: forecast-core-think 8s linear infinite reverse;
}

.forecasting-page .forecast-orbit__core small {
  position: relative;
  z-index: 1;
  color: rgb(255 255 255 / 88%);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.forecasting-page .forecast-orbit__ring {
  --orbit-duration: 48s;
  position: absolute;
  display: block;
  border: 1px solid rgb(56 131 206 / 14%);
  border-radius: 50%;
  animation: forecast-orbit-spin var(--orbit-duration) linear infinite;
}

.forecasting-page .forecast-orbit__ring--outer {
  inset: 4%;
  --orbit-duration: 56s;
}

.forecasting-page .forecast-orbit__ring--middle {
  inset: 18%;
  border-color: rgb(49 208 205 / 13%);
  --orbit-duration: 43s;
  animation-direction: reverse;
}

.forecasting-page .forecast-orbit__ring--inner {
  inset: 32%;
  border-color: rgb(141 178 232 / 15%);
  --orbit-duration: 35s;
}

.forecasting-page .forecast-orbit__ring b {
  position: absolute;
  top: var(--tag-top);
  left: var(--tag-left);
  width: max-content;
  max-width: 210px;
  font-style: normal;
  animation: forecast-orbit-counter var(--orbit-duration) linear infinite;
}

.forecasting-page .forecast-orbit__ring b > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: max-content;
  max-width: 210px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 999px;
  background: rgb(0 18 38 / 84%);
  color: rgb(255 255 255 / 72%);
  padding: 0.58rem 0.8rem 0.66rem;
  box-shadow: 0 10px 30px rgb(0 5 14 / 24%);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  transform-origin: center;
  transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), background-color 450ms ease, box-shadow 700ms ease, color 450ms ease;
}

.forecasting-page .forecast-orbit__ring b:hover > span {
  background: rgb(0 18 38 / 96%);
  box-shadow: 0 14px 38px rgb(0 5 14 / 38%);
  color: #fff;
  transform: scale(1.32);
}

.forecasting-page .forecast-orbit__ring b:hover {
  z-index: 10;
}

.forecasting-page .forecast-orbit__ring:has(b:hover),
.forecasting-page .forecast-orbit__ring:has(b:hover) b {
  animation-play-state: paused;
}

.forecasting-page .forecast-orbit__ring--middle b {
  animation-direction: reverse;
}

.forecasting-page .forecast-orbit__ring b > span::before {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #31d0cd;
  box-shadow: 0 0 10px rgb(49 208 205 / 55%);
  content: "";
}

.forecasting-page .forecast-orbit__ring--outer b:nth-child(2) > span::before,
.forecasting-page .forecast-orbit__ring--inner b:nth-child(2) > span::before {
  background: #e85626;
  box-shadow: 0 0 10px rgb(232 86 38 / 45%);
}

.forecasting-page .forecast-orbit__ring--middle b:nth-child(2) > span::before {
  background: #8db2e8;
  box-shadow: 0 0 10px rgb(141 178 232 / 45%);
}

@keyframes forecast-orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes forecast-orbit-counter {
  to { transform: rotate(-360deg); }
}

@keyframes forecast-core-think {
  to { transform: rotate(360deg); }
}

.forecasting-page .forecast-story__pin {
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(580px, 1.2fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(3rem, 5vw, 6rem);
  row-gap: 30px;
  align-items: start;
  min-height: 0;
  padding: clamp(4rem, 7vh, 7rem) var(--page-gutter) 0;
}

.forecasting-page .forecast-story__nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 2.25vw, 2.75rem);
  align-items: center;
  padding-bottom: 0;
  margin-bottom: 0;
}

.forecasting-page .forecast-story__nav span {
  position: relative;
  color: rgb(255 255 255 / 28%);
  font-size: clamp(0.58rem, 0.75vw, 0.72rem);
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color 280ms ease;
}

.forecasting-page .forecast-story__nav span::after {
  content: none;
}

.forecasting-page .forecast-story__nav span.is-active {
  color: #fff;
}

.forecasting-page .forecast-story__nav span.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.forecasting-page .forecast-story__copy {
  position: relative;
  top: 30px;
  min-height: min(650px, 67vh);
}

.forecasting-page .forecast-story__counter {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  grid-template-columns: auto 70px auto;
  gap: 0.8rem;
  align-items: center;
  color: rgb(255 255 255 / 36%);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.forecasting-page .forecast-story__counter span:first-child {
  color: #fff;
}

.forecasting-page .forecast-story__counter i {
  height: 1px;
  background: rgb(255 255 255 / 18%);
}

.forecasting-page .forecast-chapter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transform: translateX(28px);
}

.forecasting-page .forecast-chapter.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.forecasting-page .forecast-chapter h3 {
  margin: 0;
  font-size: clamp(2.5rem, 4vw, 5rem);
  font-weight: 750;
  letter-spacing: -0.015em;
  line-height: 0.98;
}

.forecasting-page .forecast-chapter h3 span {
  display: inline-block;
  margin-top: 0.14em;
  color: #8db2e8;
}

.forecasting-page .forecast-chapter > small {
  display: none;
}

.forecasting-page .forecast-chapter > p {
  max-width: 620px;
  margin: 1.6rem 0 0;
  color: rgb(255 255 255 / 60%);
  font-size: clamp(0.95rem, 1.12vw, 1.12rem);
  line-height: 1.75;
}

.forecasting-page .forecast-chapter ul {
  display: grid;
  gap: 0.65rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}

.forecasting-page .forecast-chapter li {
  position: relative;
  border-left: 2px solid rgb(49 208 205 / 60%);
  background: rgb(255 255 255 / 4%);
  color: rgb(255 255 255 / 72%);
  padding: 0.72rem 0.9rem;
  font-size: calc(0.72rem + 2px);
}

.forecasting-page .forecast-story__visual {
  position: relative;
  top: 30px;
  overflow: visible;
  min-width: 0;
}

.forecasting-page .forecast-story__cta {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 90px 0 clamp(5rem, 8vw, 9rem);
}

.forecasting-page .forecast-story__cta > p {
  display: grid;
}

.forecasting-page .forecast-story__cta > p > span {
  grid-area: 1 / 1;
}

.forecasting-page .forecast-story__cta > p > span:not(:first-child) {
  visibility: hidden;
  opacity: 0;
}

.forecasting-page .story-window {
  position: relative;
  height: min(650px, 67vh);
  min-height: 530px;
  overflow: hidden;
  border: 1px solid rgb(93 151 211 / 22%);
  border-radius: 10px;
  background: #001b35;
  box-shadow:
    0 42px 100px rgb(0 5 14 / 76%),
    -24px 28px 90px rgb(18 80 155 / 18%),
    0 0 70px rgb(49 208 205 / 7%);
}

.forecasting-page .story-window__bar {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  height: 52px;
  padding: 0 1.25rem;
  border-bottom: 1px solid rgb(93 151 211 / 18%);
  background: rgb(0 24 48 / 94%);
  color: rgb(255 255 255 / 45%);
  font-size: 0.62rem;
}

.forecasting-page .story-window__bar > span {
  display: flex;
  gap: 5px;
}

.forecasting-page .story-window__bar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9eabb4;
}

.forecasting-page .story-window__bar i:first-child {
  background: #e85626;
}

.forecasting-page .story-window__bar b {
  color: rgb(255 255 255 / 70%);
  text-align: center;
}

.forecasting-page .story-window__bar em {
  font-style: normal;
  text-align: right;
}

.forecasting-page .story-screen {
  position: absolute;
  top: 52px;
  right: 0;
  bottom: 0;
  left: 0;
  visibility: hidden;
  overflow: hidden;
  background: linear-gradient(145deg, #001b35, #002645 70%, #00182f);
  color: #fff;
  opacity: 0;
  padding: clamp(1.5rem, 3vw, 3rem);
  transform: translateY(30px);
}

.forecasting-page .story-screen.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.forecasting-page .story-screen__heading small {
  color: #3883ce;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.forecasting-page .story-screen__heading h4 {
  margin: 0.5rem 0 0;
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
  letter-spacing: -0.04em;
}

.forecasting-page .story-search {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  border: 1px solid #c6d4dd;
  border-radius: 5px;
  background: #fff;
  padding: 0.55rem;
}

.forecasting-page .story-search span {
  color: #536675;
  padding-left: 0.65rem;
  font-size: 0.75rem;
}

.forecasting-page .story-search b {
  border-radius: 3px;
  background: #12509b;
  color: #fff;
  padding: 0.75rem 1rem;
  font-size: 0.65rem;
}

.forecasting-page .story-found {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 1.2rem;
  border: 1px solid #d3dee4;
  background: #d3dee4;
}

.forecasting-page .story-found header {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  background: #fff;
  padding: 0.85rem 1rem;
  font-size: 0.68rem;
}

.forecasting-page .story-found header strong {
  color: #087c7b;
}

.forecasting-page .story-found > div {
  display: grid;
  gap: 0.35rem;
  background: rgb(255 255 255 / 72%);
  padding: 1rem;
}

.forecasting-page .story-found small,
.forecasting-page .story-profile span,
.forecasting-page .story-rule-grid span {
  color: #7c8b96;
  font-size: 0.58rem;
  text-transform: uppercase;
}

.forecasting-page .story-found b {
  font-size: 0.72rem;
}

.forecasting-page .story-status {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.7rem;
  align-items: center;
  margin-top: 1.2rem;
  color: #667987;
  font-size: 0.62rem;
}

.forecasting-page .story-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #31d0cd;
  box-shadow: 0 0 10px rgb(49 208 205 / 55%);
}

.forecasting-page .story-status b {
  color: #087c7b;
}

.forecasting-page .story-cost-summary {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.forecasting-page .story-cost-summary span,
.forecasting-page .story-rule-grid article,
.forecasting-page .story-scale-cards article {
  display: grid;
  gap: 0.35rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 72%);
  padding: 1rem;
}

.forecasting-page .story-cost-summary small,
.forecasting-page .story-scale-cards small {
  color: #7b8b97;
  font-size: 0.56rem;
  text-transform: uppercase;
}

.forecasting-page .story-cost-summary strong {
  font-size: clamp(1.1rem, 1.7vw, 1.7rem);
}

.forecasting-page .story-cost-list {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.forecasting-page .story-cost-list p {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.7rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 68%);
  padding: 0.75rem 0.9rem 1rem;
}

.forecasting-page .story-cost-list p > span {
  display: grid;
  gap: 0.2rem;
}

.forecasting-page .story-cost-list b,
.forecasting-page .story-cost-list strong {
  font-size: 0.68rem;
}

.forecasting-page .story-cost-list small {
  color: #82919b;
  font-size: 0.55rem;
}

.forecasting-page .story-cost-list i {
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--story-width);
  height: 3px;
  background: linear-gradient(90deg, #12509b, #31d0cd);
}

.forecasting-page .story-profile {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1.8rem;
  border: 1px solid rgb(18 80 155 / 20%);
  background: rgb(18 80 155 / 7%);
  padding: 1rem;
  font-size: 0.7rem;
}

.forecasting-page .story-profile > b {
  color: #087c7b;
}

.forecasting-page .story-rule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  margin-top: 1rem;
}

.forecasting-page .story-rule-grid strong {
  font-size: 0.8rem;
}

.forecasting-page .story-rule-grid small {
  color: #82919b;
  font-size: 0.56rem;
}

.forecasting-page .story-toggles {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.2rem;
  color: #617482;
  font-size: 0.62rem;
}

.forecasting-page .story-toggles span {
  display: flex;
  gap: 0.45rem;
  align-items: center;
}

.forecasting-page .story-toggles i {
  width: 22px;
  height: 12px;
  border-radius: 999px;
  background: #31d0cd;
  box-shadow: inset -10px 0 0 #087c7b;
}

.forecasting-page .story-scale-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-top: 1.8rem;
}

.forecasting-page .story-scale-cards article.is-featured {
  border-color: rgb(49 208 205 / 48%);
  background: #001d3a;
  color: #fff;
}

.forecasting-page .story-scale-cards strong {
  font-size: clamp(1.1rem, 1.8vw, 1.7rem);
}

.forecasting-page .story-scale-cards span {
  color: #7b8b97;
  font-size: 0.57rem;
}

.forecasting-page .story-portfolio-chart {
  margin-top: 1rem;
  border: 1px solid #d3dee4;
  background: rgb(255 255 255 / 68%);
  padding: 1rem;
}

.forecasting-page .story-portfolio-chart header,
.forecasting-page .story-portfolio-chart footer {
  display: flex;
  justify-content: space-between;
  color: #71838f;
  font-size: 0.58rem;
}

.forecasting-page .story-portfolio-chart > div {
  display: flex;
  align-items: end;
  gap: 8%;
  height: 145px;
  padding: 1rem 4% 0;
  border-bottom: 1px solid #ced9df;
}

.forecasting-page .story-portfolio-chart > div i {
  flex: 1;
  height: var(--h);
  background: linear-gradient(#3883ce, #12509b);
}

.forecasting-page .story-portfolio-chart footer {
  padding: 0.6rem 3% 0;
}

.forecasting-page .story-screen--connected {
  display: grid;
  grid-template-columns: 150px 1fr;
  padding: 0;
  background: #fff;
}

.forecasting-page .story-ai-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  border-right: 1px solid #d3dee4;
  background: #e8eef2;
  padding: 1.5rem 1rem;
  color: #536675;
  font-size: 0.65rem;
}

.forecasting-page .story-ai-sidebar > small {
  margin-top: auto;
  color: #7d8d98;
  font-size: 0.5rem;
  letter-spacing: 0.12em;
}

.forecasting-page .story-ai-sidebar p {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 0.5rem;
  margin: 0;
  border: 1px solid rgb(18 80 155 / 18%);
  background: #fff;
  padding: 0.6rem;
}

.forecasting-page .story-ai-sidebar p i {
  grid-row: 1 / 3;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: #12509b;
  color: #fff;
  font-style: normal;
}

.forecasting-page .story-ai-sidebar p em {
  color: #82919b;
  font-style: normal;
  font-size: 0.52rem;
}

.forecasting-page .story-ai-chat {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  padding: 1.5rem;
}

.forecasting-page .story-ai-chat > header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #dce4e9;
  padding-bottom: 1rem;
  font-size: 0.65rem;
}

.forecasting-page .story-ai-chat > header span {
  display: grid;
  gap: 0.25rem;
}

.forecasting-page .story-ai-chat > header small,
.forecasting-page .story-ai-chat > header em {
  color: #82919b;
  font-style: normal;
  font-size: 0.53rem;
}

.forecasting-page .story-ai-question {
  justify-self: end;
  max-width: 78%;
  margin-top: 1.25rem;
  border-radius: 7px 7px 0 7px;
  background: #e8eef2;
  padding: 0.9rem;
  color: #425768;
  font-size: 0.67rem;
  line-height: 1.5;
}

.forecasting-page .story-ai-answer {
  align-self: start;
  margin-top: 1.15rem;
  border-left: 2px solid #31d0cd;
  padding: 0.25rem 0 0.25rem 1rem;
  font-size: 0.68rem;
}

.forecasting-page .story-ai-answer > small {
  color: #087c7b;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.forecasting-page .story-ai-answer p {
  line-height: 1.5;
}

.forecasting-page .story-ai-answer > div {
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 0;
  border-bottom: 1px solid #e1e7eb;
}

.forecasting-page .story-ai-answer a {
  display: inline-block;
  margin-top: 0.85rem;
  color: #12509b;
  font-weight: 700;
  text-decoration: none;
}

.forecasting-page .story-ai-chat > footer {
  border: 1px solid #d4dfe5;
  padding: 0.75rem;
  color: #87959f;
  font-size: 0.62rem;
}

.forecasting-page .story-ai-chat > footer b {
  float: right;
  color: #12509b;
}

/* Dark forecasting UI, aligned with the hero product treatment. */
.forecasting-page .story-search,
.forecasting-page .story-found header,
.forecasting-page .story-found > div,
.forecasting-page .story-cost-summary span,
.forecasting-page .story-rule-grid article,
.forecasting-page .story-scale-cards article,
.forecasting-page .story-profile,
.forecasting-page .story-portfolio-chart,
.forecasting-page .story-ai-sidebar,
.forecasting-page .story-ai-sidebar p,
.forecasting-page .story-ai-question,
.forecasting-page .story-ai-chat > footer {
  border-color: rgb(93 151 211 / 20%);
  background: rgb(4 36 67 / 78%);
  color: rgb(255 255 255 / 82%);
}

.forecasting-page .story-found {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(93 151 211 / 18%);
}

.forecasting-page .story-search span,
.forecasting-page .story-status,
.forecasting-page .story-found small,
.forecasting-page .story-profile span,
.forecasting-page .story-rule-grid span,
.forecasting-page .story-cost-summary small,
.forecasting-page .story-scale-cards small,
.forecasting-page .story-rule-grid small,
.forecasting-page .story-scale-cards span,
.forecasting-page .story-ai-sidebar p em,
.forecasting-page .story-ai-chat > header small,
.forecasting-page .story-ai-chat > header em,
.forecasting-page .story-ai-chat > footer {
  color: rgb(255 255 255 / 46%);
}

.forecasting-page .story-ai-chat > header,
.forecasting-page .story-ai-answer > div {
  border-color: rgb(93 151 211 / 18%);
}

.forecasting-page .story-ai-answer a,
.forecasting-page .story-ai-chat > footer b {
  color: #8db2e8;
}

.forecasting-page .story-ai-answer > small,
.forecasting-page .story-found header strong,
.forecasting-page .story-status b {
  color: #31d0cd;
}

.forecasting-page .story-cost-list p,
.forecasting-page .story-screen--connected,
.forecasting-page .story-ai-chat {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(3 29 56 / 88%);
  color: rgb(255 255 255 / 82%);
}

.forecasting-page .story-screen--connected {
  background: linear-gradient(145deg, #00182f, #002746 72%, #00172d);
}

.forecasting-page .story-ai-sidebar {
  border-color: rgb(93 151 211 / 18%);
  background: rgb(2 27 52 / 92%);
  color: rgb(255 255 255 / 72%);
}

.forecasting-page .story-ai-question {
  background: rgb(74 112 151 / 32%);
  color: rgb(255 255 255 / 76%);
}

.forecasting-page .story-portfolio-chart > div {
  border-color: rgb(93 151 211 / 18%);
}

.forecasting-page .story-toggles,
.forecasting-page .story-portfolio-chart header,
.forecasting-page .story-portfolio-chart footer,
.forecasting-page .story-cost-list small {
  color: rgb(255 255 255 / 48%);
}

.forecasting-page .story-scale-cards article.is-featured {
  background: rgb(9 49 82 / 92%);
}

@media (max-width: 1000px) {
  .forecasting-page .forecast-story__pin {
    grid-template-columns: minmax(280px, 0.85fr) minmax(470px, 1.15fr);
    gap: 2.5rem;
  }
}

/* Forecasting FAQ card mosaic */
.forecasting-page .forecast-faq {
  padding: clamp(6rem, 10vw, 10rem) var(--page-gutter);
}

.forecasting-page .forecast-faq > h2 {
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  color: rgb(255 255 255 / 64%);
  font-size: clamp(0.78rem, 1vw, 0.95rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.forecasting-page .forecast-faq__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.4vw, 1.4rem);
}

.forecasting-page .forecast-faq__card {
  position: relative;
  min-height: clamp(310px, 28vw, 430px);
  overflow: hidden;
  border-radius: 7px;
  background:
    radial-gradient(circle at 92% 8%, rgb(141 178 232 / 22%), transparent 34%),
    linear-gradient(145deg, #fff 22%, #f3f7fb 100%);
  color: #001d3a;
  padding: clamp(2rem, 3.25vw, 3.75rem);
  grid-column: span 2;
  will-change: clip-path, opacity, transform;
}

.forecasting-page .forecast-faq__card::before,
.forecasting-page .forecast-faq__card::after {
  position: absolute;
  border: 1px solid rgb(56 131 206 / 10%);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.forecasting-page .forecast-faq__card::before {
  right: -14%;
  bottom: -45%;
  width: 58%;
  aspect-ratio: 1;
}

.forecasting-page .forecast-faq__card::after {
  right: 8%;
  bottom: -31%;
  width: 34%;
  aspect-ratio: 1;
  box-shadow: 0 0 70px rgb(49 208 205 / 9%);
}

.forecasting-page .forecast-faq__card:nth-child(2n) {
  background:
    radial-gradient(circle at 10% 100%, rgb(232 86 38 / 10%), transparent 35%),
    radial-gradient(circle at 88% 12%, rgb(49 208 205 / 16%), transparent 32%),
    #f8fafc;
}

.forecasting-page .forecast-faq__card:nth-child(3n)::before {
  top: -35%;
  right: -8%;
  bottom: auto;
}

.forecasting-page .forecast-faq__card--wide {
  grid-column: span 3;
}

.forecasting-page .forecast-faq__card:last-child {
  grid-column: 1 / -1;
}

.forecasting-page .forecast-faq__card:last-child h3 {
  max-width: 1200px;
}

.forecasting-page .forecast-faq__card:last-child p {
  max-width: 1150px;
}

.forecasting-page .forecast-faq__card > span {
  position: relative;
  z-index: 1;
  color: #3883ce;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.forecasting-page .forecast-faq__card h3 {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: clamp(1.5rem, 3vw, 2.75rem) 0 0;
  font-size: clamp(1.8rem, 2.5vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
}

.forecasting-page .forecast-faq__card p {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 1.4rem 0 0;
  color: #5f7184;
  font-size: clamp(0.95rem, 1.15vw, 1.12rem);
  line-height: 1.65;
}

@media (max-width: 900px) {
  .forecasting-page .forecast-faq__grid {
    grid-template-columns: 1fr 1fr;
  }

  .forecasting-page .forecast-faq__card,
  .forecasting-page .forecast-faq__card--wide,
  .forecasting-page .forecast-faq__card:last-child {
    grid-column: span 1;
  }
}

@media (max-width: 600px) {
  .forecasting-page .forecast-faq__grid {
    grid-template-columns: 1fr;
  }

  .forecasting-page .forecast-faq__card {
    min-height: 0;
  }
}

@media (max-width: 800px) {
  .forecasting-page .forecast-story {
    overflow: hidden;
  }

  .forecasting-page .forecast-story__intro {
    min-height: 0;
    padding-bottom: 4rem;
  }

  .forecasting-page .forecast-story__intro h2,
  .forecasting-page .forecast-story__intro > p:last-of-type {
    width: 100%;
  }

  .forecasting-page .forecast-orbit {
    position: relative;
    top: auto;
    right: auto;
    width: 680px;
    margin: 4rem 0 0 -8rem;
  }

  .forecasting-page .forecast-story__pin {
    display: block;
    min-height: 0;
    padding-block: 2rem 6rem;
  }

  .forecasting-page .forecast-story__nav {
    display: none;
  }

  .forecasting-page .forecast-story__copy {
    min-height: 0;
  }

  .forecasting-page .forecast-story__counter,
  .forecasting-page .forecast-story__visual {
    display: none;
  }

  .forecasting-page .forecast-chapter,
  .forecasting-page .forecast-chapter.is-active {
    position: relative;
    top: auto;
    visibility: visible;
    opacity: 1;
    transform: none;
    padding: 3rem 0;
    border-top: 1px solid rgb(255 255 255 / 12%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .forecasting-page .forecast-orbit__ring,
  .forecasting-page .forecast-orbit__ring b,
  .forecasting-page .forecast-orbit__core::before,
  .forecasting-page .forecast-orbit__core::after {
    animation: none;
  }

  .forecasting-page .forecast-orbit__ring b > span {
    transition: none;
  }
}


/* law-firms-overrides.css */
.law-firms-page .hero__content h1 {
  font-size: clamp(3rem, 4.55vw, 5.5rem);
}

.law-firms-page .hero__content h1 > span:first-child {
  white-space: normal;
}

.law-firms-page .hero__content h1 span:last-child {
  color: #8db2e8;
}

.law-firms-page .product-showcase[data-static-showcase] {
  height: 590px;
  grid-template-rows: minmax(0, 570px);
  grid-template-areas: "stage";
}

.law-firms-page .product-showcase[data-static-showcase] .product-showcase__nav {
  display: none;
}

.law-firms-page .product-showcase[data-static-showcase] .product-scene:not([data-product-scene="whatif"]) {
  display: none;
}

.law-firms-page .product-showcase[data-static-showcase] [data-product-scene="whatif"] {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 800px) {
  .law-firms-page .hero__content h1 {
    margin-inline: 0;
  }

  .law-firms-page .product-showcase[data-static-showcase] {
    height: 500px;
    grid-template-rows: minmax(0, 480px);
  }
}

/* Feature comparison */
.law-comparison {
  padding: clamp(6rem, 10vw, 10rem) var(--page-gutter);
  background: #f4f7f9;
  color: #001d3a;
}

.law-comparison__header {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .55fr);
  gap: 1rem clamp(3rem, 8vw, 9rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.law-comparison__header > span {
  grid-column: 1 / -1;
  color: #12509b;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.law-comparison__header h2 {
  margin: 0;
  font-size: clamp(2.5rem, 4.3vw, 5.1rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.law-comparison__header h2 em {
  color: #e85626;
  font-style: normal;
}

.law-comparison__header p {
  margin: 0 0 .35rem;
  color: #5e7080;
  font-size: clamp(.98rem, 1.16vw, 1.14rem);
  line-height: 1.65;
}

.law-comparison__scroll {
  overflow-x: auto;
  border: 1px solid #d6e0e7;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 22px 60px rgb(16 49 77 / 8%);
}

.law-comparison__table {
  width: 100%;
  min-width: 840px;
  border-collapse: collapse;
  table-layout: fixed;
}

.law-comparison__table th,
.law-comparison__table td {
  padding: 1.3rem clamp(1.25rem, 2vw, 2rem);
  border-bottom: 1px solid #e2e8ed;
  text-align: left;
  vertical-align: middle;
}

.law-comparison__table thead th {
  padding-block: 1.55rem;
  background: #fff;
  color: #83909d;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.law-comparison__table thead th:first-child {
  width: 46%;
}

.law-comparison__table thead th:not(:first-child) {
  width: 27%;
}

.law-comparison__table thead .is-prokurio {
  background: #12509b;
  color: #fff;
}

.law-comparison__category th {
  padding-block: .9rem;
  background: #e9f0f6;
  color: #12509b;
}

.law-comparison__category th {
  position: relative;
}

.law-comparison__category span {
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.law-comparison__category button {
  float: right;
  border: 0;
  background: transparent;
  color: #50677a;
  font: inherit;
  font-size: .72rem;
  font-weight: 700;
  cursor: pointer;
}

.law-comparison__category button b {
  display: inline-block;
  margin-left: .4rem;
  color: #e85626;
  font-size: 1rem;
}

.law-comparison__table tbody > tr:not(.law-comparison__category) th {
  color: #152f47;
  font-size: clamp(.91rem, 1.05vw, 1.04rem);
  font-weight: 650;
  line-height: 1.4;
}

.law-comparison__table tbody > tr:not(.law-comparison__category) td {
  color: #687887;
  font-size: clamp(.84rem, .93vw, .96rem);
  line-height: 1.45;
}

.law-comparison__table tbody > tr:not(.law-comparison__category) .is-prokurio {
  border-left: 1px solid #d7e3ed;
  background: #f2f7fb;
  color: #087c7b;
}

.law-comparison__table .is-prokurio strong {
  font-weight: 750;
}

.law-comparison__table tr[hidden] {
  display: none;
}

.law-comparison__expand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  margin-top: 1.25rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #ccd8e0;
  border-radius: 4px;
  background: #fff;
  color: #001d3a;
  font: inherit;
  font-size: .9rem;
  font-weight: 750;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease;
}

.law-comparison__expand:hover,
.law-comparison__expand:focus-visible {
  border-color: #12509b;
  color: #12509b;
}

.law-comparison__expand b {
  color: #e85626;
  font-size: 1.15rem;
}

.law-comparison__note {
  margin: 1rem 0 0;
  color: #788794;
  font-size: .72rem;
  text-align: center;
}

@media (max-width: 800px) {
  .law-comparison__header {
    grid-template-columns: 1fr;
  }

  .law-comparison__header > span {
    grid-column: 1;
  }
}

.law-firms-page .law-value-shift {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(430px, 1fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}

.law-firms-page .law-value-shift__intro {
  min-width: 0;
}

.law-firms-page .law-value-shift h2 {
  font-size: clamp(2.7rem, 4.35vw, 4.8rem);
  line-height: 1.04;
}

.law-firms-page .law-value-shift h2 .proof-title__line + .proof-title__line {
  margin-top: .22em;
}

.law-firms-page .law-value-shift .proof-section__description {
  max-width: 37rem;
  margin: clamp(1.8rem, 3vw, 3rem) 0 0;
  font-size: clamp(.95rem, 1.15vw, 1.15rem);
  line-height: 1.75;
}

.law-value-shift__comparison {
  border-bottom: 1px solid #d4dee6;
}

.law-value-shift__headers,
.law-value-shift__row {
  display: grid;
  grid-template-columns: 1fr 1.22fr;
}

.law-value-shift__headers {
  padding: 0 0 .9rem;
  color: #7a8997;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.law-value-shift__headers span:last-child {
  padding-left: clamp(1.5rem, 2.5vw, 2.5rem);
}

.law-value-shift__row {
  position: relative;
  min-height: 104px;
}

.law-value-shift__row::before {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: #d4dee6;
  content: "";
  pointer-events: none;
}

.law-value-shift__before,
.law-value-shift__after {
  display: flex;
  align-items: center;
  min-width: 0;
}

.law-value-shift__before {
  gap: .8rem;
  padding-right: 1.25rem;
  color: #566a7b;
  font-size: clamp(.92rem, 1.15vw, 1.08rem);
  opacity: 0;
  transform: translateX(-18px);
  transition: opacity .5s ease, transform .6s cubic-bezier(.22, 1, .36, 1), color .25s ease;
}

.law-value-shift__before > i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #9babba;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.law-value-shift__row.is-before-visible .law-value-shift__before {
  opacity: 1;
  transform: none;
}

.law-value-shift__row.is-resolving .law-value-shift__before {
  color: #c8342d;
  animation: law-before-flash .7s ease both;
}

.law-value-shift__row.is-resolving .law-value-shift__before > i {
  background: #e6453b;
  box-shadow: 0 0 0 7px rgb(230 69 59 / 13%), 0 0 18px rgb(230 69 59 / 36%);
  transform: scale(1.15);
}

.law-value-shift__after {
  gap: clamp(.85rem, 1.5vw, 1.4rem);
  padding-left: clamp(1.5rem, 2.5vw, 2.5rem);
  border-left: 1px solid #d4dee6;
  opacity: 0;
  transform: translateX(-14px);
  transition: opacity .55s ease, transform .65s cubic-bezier(.22, 1, .36, 1);
}

.law-value-shift__after i {
  color: #e85626;
  font-size: 1.35rem;
  font-style: normal;
}

.law-value-shift__after strong {
  color: #087c7b;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.3;
}

.law-value-shift__row.is-answered .law-value-shift__after {
  opacity: 1;
  transform: none;
}

@keyframes law-before-flash {
  0%, 100% { background: transparent; }
  35% { background: linear-gradient(90deg, rgb(230 69 59 / 12%), transparent); }
}

@media (max-width: 1050px) {
  .law-firms-page .law-value-shift {
    grid-template-columns: 1fr;
  }

  .law-firms-page .law-value-shift__intro {
    max-width: 52rem;
  }
}

@media (max-width: 600px) {
  .law-value-shift__headers,
  .law-value-shift__row {
    grid-template-columns: .92fr 1.08fr;
  }

  .law-value-shift__row {
    min-height: 122px;
  }

  .law-value-shift__headers span:last-child,
  .law-value-shift__after {
    padding-left: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .law-value-shift__before,
  .law-value-shift__after {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}

.law-advantage-builder {
  position: relative;
  padding: clamp(1rem, 2vw, 3rem) var(--page-gutter);
  color: #fff;
}

.law-advantage-builder::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgb(141 178 232 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(141 178 232 / 4%) 1px, transparent 1px);
  background-size: 72px 72px;
  content: "";
  pointer-events: none;
  mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 80%, transparent);
}

.law-advantage-builder__inner {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

.law-advantage-builder__header {
  display: grid;
  gap: 3rem;
  align-items: end;
  margin-bottom: clamp(1rem, 2vw, 3rem);
}

.law-advantage-builder__header > span {
  grid-column: 1 / -1;
  margin-bottom: -1.75rem;
  color: #ffc95c;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.law-advantage-builder__header h2 {
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 5.8rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: .98;
}

.law-advantage-builder__header p {
  margin: 0 0 .35rem;
  color: rgb(255 255 255 / 62%);
  font-size: 1.12rem;
  line-height: 1.75;
}

.law-advantage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.law-advantage-card {
  position: relative;
  display: flex;
  min-height: 265px;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  border: 1px solid rgb(141 178 232 / 17%);
  border-radius: 6px;
  background: linear-gradient(150deg, rgb(15 52 89 / 88%), rgb(2 24 47 / 96%));
  color: #fff;
  padding: 2rem 4.25rem 2rem 2rem;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background .38s ease, border-color .38s ease, color .38s ease, transform .3s ease, box-shadow .38s ease;
}

.law-advantage-card::after {
  position: absolute;
  right: -25%;
  bottom: -45%;
  width: 80%;
  height: 70%;
  border-radius: 50%;
  background: #31d0cd;
  content: "";
  filter: blur(65px);
  opacity: .07;
  pointer-events: none;
  transition: opacity .38s ease;
}

.law-advantage-card:hover {
  border-color: rgb(141 178 232 / 42%);
  transform: translateY(-3px);
}

.law-advantage-card:focus-visible {
  outline: 2px solid #31d0cd;
  outline-offset: 3px;
}

.law-advantage-card__check {
  position: absolute;
  z-index: 2;
  top: 2rem;
  right: 2rem;
  width: 22px;
  height: 22px;
  border: 1.5px solid rgb(141 178 232 / 62%);
  border-radius: 50%;
  transition: background .3s ease, border-color .3s ease;
}

.law-advantage-card__check::after {
  position: absolute;
  top: 3px;
  left: 7px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  opacity: 0;
  transform: rotate(45deg) scale(.5);
  transition: opacity .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.law-advantage-card small {
  margin-top: 0;
  color: #8db2e8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.law-advantage-card h3 {
  max-width: 310px;
  margin: .7rem 0 .9rem;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.08;
}

.law-advantage-card p {
  margin: 0;
  color: rgb(255 255 255 / 55%);
  font-size: .78rem;
  line-height: 1.65;
  transition: color .38s ease;
}

.law-advantage-card[aria-pressed="true"] {
  border-color: rgb(255 255 255 / 80%);
  background: linear-gradient(145deg, #fff, #eaf2f8);
  color: #001d3a;
  box-shadow: 0 20px 55px rgb(0 4 14 / 24%);
  transform: translateY(-4px);
}

.law-advantage-card[aria-pressed="true"]::after {
  opacity: .15;
}

.law-advantage-card[aria-pressed="true"] .law-advantage-card__check {
  border-color: #e85626;
  background: #e85626;
}

.law-advantage-card[aria-pressed="true"] .law-advantage-card__check::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.law-advantage-card[aria-pressed="true"] small {
  color: #3473a1;
}

.law-advantage-card[aria-pressed="true"] p {
  color: #5b6d7e;
}

.law-advantage-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  width: 100%;
  margin: 15px 0 4rem !important;
}

.law-advantage-cta p {
  max-width: 800px;
  margin: 0;
  color: #fff;
  font-size: clamp(1rem, 1.7vw, 1.45rem);
  font-weight: 600;
  line-height: 1.45;
  transition: opacity .18s ease, transform .18s ease;
}

.law-advantage-cta p.is-changing {
  opacity: 0;
  transform: translateY(5px);
}

.law-advantage-cta a {
  min-width: 150px;
  text-align: center;
}

@media (max-width: 900px) {
  .law-advantage-builder__header {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .law-advantage-builder__header > span {
    margin-bottom: 0;
  }

  .law-advantage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .law-advantage-builder {
    padding-inline: 1.5rem;
  }

  .law-advantage-grid {
    grid-template-columns: 1fr;
  }

  .law-advantage-card {
    min-height: 245px;
  }

  .law-advantage-cta {
    grid-template-columns: 1fr;
  }

  .law-advantage-cta a {
    width: 100%;
  }
}

/* Role-based value tabs */
.law-firms-page .law-role-section {
  min-height: auto;
  padding: clamp(6.5rem, 9vw, 9rem) 0;
}

.law-firms-page .law-role-pin {
  display: block;
  min-height: 0;
  padding: 0 var(--page-gutter);
}

.law-role-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  gap: 3rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.law-role-header > span {
  color: #68b9ec;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.law-role-header h2 {
  grid-column: 1;
  max-width: 850px;
  margin: .8rem 0 0;
  color: #fff;
  font-size: clamp(2.75rem, 5.1vw, 5.75rem);
  line-height: .94;
  letter-spacing: -.055em;
}

.law-role-header h2 em {
  color: #f15a29;
  font-style: normal;
}

.law-role-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  border-bottom: 1px solid rgba(135, 190, 230, .23);
}

.law-role-nav button {
  position: relative;
  padding: 1.2rem 1rem 1.35rem;
  border: 0;
  background: transparent;
  color: #8298ac;
  font: inherit;
  font-size: clamp(.8rem, 1.2vw, 1rem);
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background .2s ease;
}

.law-role-nav button::after {
  position: absolute;
  right: 1rem;
  bottom: -1px;
  left: 1rem;
  height: 3px;
  background: #f15a29;
  content: "";
  opacity: 0;
  transform: scaleX(.45);
  transition: opacity .2s ease, transform .2s ease;
}

.law-role-nav button:hover,
.law-role-nav button:focus-visible,
.law-role-nav button.is-active {
  color: #fff;
}

.law-role-nav button.is-active {
  background: rgba(27, 80, 122, .2);
}

.law-role-nav button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.law-role-stage {
  min-height: 440px;
  border: 1px solid rgba(135, 190, 230, .2);
  border-top: 0;
  background: linear-gradient(135deg, rgba(17, 61, 99, .6), rgba(0, 23, 46, .82));
}

.law-role-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
  min-height: 440px;
  padding: clamp(2.5rem, 5vw, 5rem);
  animation: lawRoleReveal .38s ease both;
}

.law-role-panel[hidden] {
  display: none;
}

.law-role-panel__copy h3 {
  max-width: 520px;
  margin: 0 0 1.2rem;
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3.6rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.law-role-panel__copy small {
  display: block;
  margin-bottom: 1rem;
  color: #68b9ec;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.law-role-panel__copy p {
  max-width: 500px;
  margin: 0;
  color: #afc0cf;
  font-size: clamp(1rem, 1.25vw, 1.17rem);
  line-height: 1.6;
}

.law-role-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.law-role-points li {
  position: relative;
  min-height: 112px;
  padding: 1.4rem 1.4rem 1.4rem 3.25rem;
  border: 1px solid rgba(135, 190, 230, .2);
  background: rgba(6, 41, 73, .72);
  color: #fff;
  font-size: clamp(.92rem, 1.15vw, 1.07rem);
  font-weight: 650;
  line-height: 1.35;
}

.law-role-points li::before {
  position: absolute;
  top: 1.45rem;
  left: 1.35rem;
  width: 10px;
  height: 10px;
  border: 2px solid #58cde3;
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 12px rgba(88, 205, 227, .45);
}

.law-role-points li > span {
  display: none;
}

.law-role-points li > strong {
  font-weight: 650;
}

.law-role-points li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 88px;
}

@keyframes lawRoleReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .law-role-header,
  .law-role-panel {
    grid-template-columns: 1fr;
  }

  .law-role-panel {
    gap: 2.5rem;
  }
}

@media (max-width: 680px) {
  .law-role-nav {
    grid-template-columns: 1fr;
    border: 1px solid rgba(135, 190, 230, .2);
  }

  .law-role-nav button {
    border-bottom: 1px solid rgba(135, 190, 230, .14);
  }

  .law-role-stage {
    border-top: 0;
  }

  .law-role-panel {
    min-height: 0;
    padding: 2rem 1.35rem;
  }

  .law-role-points {
    grid-template-columns: 1fr;
  }

  .law-role-points li:last-child:nth-child(odd) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .law-role-panel { animation: none; }
}

/* Keep the role story in the original scroll-led Forecast Story language. */
.law-firms-page .law-role-section {
  padding: 0;
}

.law-firms-page .law-role-pin {
  display: grid;
  grid-template-columns: minmax(340px, .8fr) minmax(580px, 1.2fr);
  grid-template-rows: auto min(560px, 52vh) auto;
  column-gap: clamp(3rem, 5vw, 6rem);
  row-gap: 6.5rem;
  align-items: start;
  align-content: start;
  min-height: 100vh;
  padding: clamp(5rem, 9vh, 8rem) var(--page-gutter);
}

.law-firms-page .law-role-nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.25rem, 2.25vw, 2.75rem);
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

.law-firms-page .law-role-nav span {
  position: relative;
  color: rgb(255 255 255 / 28%);
  font-size: clamp(.58rem, .75vw, .72rem);
  font-weight: 750;
  letter-spacing: .04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color 280ms ease;
}

.law-firms-page .law-role-nav span.is-active {
  color: #fff;
}

.law-firms-page .law-role-copy {
  position: relative;
  top: 0;
  display: grid;
  align-items: center;
  min-height: min(560px, 52vh);
}

.law-firms-page .law-role-copy .forecast-chapter {
  position: relative;
  top: auto;
  left: auto;
  grid-area: 1 / 1;
}

.law-firms-page .law-role-copy .forecast-chapter h3 {
  font-size: clamp(2.5rem, 4vw, 5rem);
}

.law-firms-page .law-role-visual {
  position: relative;
  top: 0;
  display: block;
  min-width: 0;
  min-height: min(560px, 52vh);
}

.law-firms-page .law-role-points {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: .5rem;
  margin: 0;
  padding: 0;
  visibility: hidden;
  opacity: 0;
  list-style: none;
  transform: translateX(40px);
}

.law-firms-page .law-role-points.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.law-firms-page .law-role-points li {
  display: grid;
  grid-template-columns: minmax(175px, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.25rem, 2vw, 2.5rem);
  align-items: baseline;
  min-height: 0;
  padding: clamp(1.25rem, 2.5vh, 2.75rem) clamp(1.35rem, 1.7vw, 1.75rem);
  border: 0;
  background: radial-gradient(circle at 18% 0%, rgb(18 80 155 / 12%), transparent 42%), #000814;
  border-radius: 4px;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(.98rem, 1.08vw, 1.12rem);
  font-weight: 400;
  line-height: 1.45;
}

.law-firms-page .law-role-points li:first-child {
  border-top: 0;
}

.law-firms-page .law-role-points li:last-child {
  border-bottom: 0;
}

.law-firms-page .law-role-points li:last-child:nth-child(odd) {
  grid-column: auto;
  min-height: 0;
}

.law-firms-page .law-role-points li::before {
  content: none;
}

.law-firms-page .law-role-points li > strong {
  color: #e85626;
  font-size: clamp(1.15rem, 1.38vw, 1.4rem);
  font-weight: 750;
  line-height: 1.22;
}

.law-firms-page .law-role-points li > span {
  display: block;
  color: rgb(255 255 255 / 62%);
  line-height: 1.55;
}

.law-firms-page .law-role-quotes {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
}

.law-firms-page .law-role-quote {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(2rem, 5vw, 6rem);
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: clamp(1.35rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem);
  border-radius: 4px;
  background: linear-gradient(145deg, #fff, #f2f6f8);
  color: #001d3a;
  box-shadow: 0 24px 60px rgb(0 5 14 / 22%);
  visibility: hidden;
  opacity: 0;
  transform: translateY(18px);
}

.law-firms-page .law-role-quote.is-active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.law-firms-page .law-role-quote blockquote {
  max-width: 1080px;
  margin: 0;
  font-size: clamp(1.08rem, 1.42vw, 1.48rem);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.48;
}

.law-firms-page .law-role-quote blockquote strong {
  color: #12509b;
  font-weight: 750;
}

.law-firms-page .law-role-quote figcaption {
  max-width: 210px;
  color: #66778a;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.45;
  text-align: right;
  text-transform: uppercase;
}

@media (max-width: 800px) {
  .law-firms-page .law-role-pin {
    display: block;
    min-height: 0;
    padding-block: 2rem 6rem;
  }

  .law-firms-page .law-role-nav,
  .law-firms-page .law-role-visual,
  .law-firms-page .law-role-quotes,
  .law-firms-page .law-role-copy .forecast-story__counter {
    display: none;
  }

  .law-firms-page .law-role-copy {
    display: block;
    top: auto;
    min-height: 0;
  }

  .law-firms-page .law-role-copy .forecast-chapter,
  .law-firms-page .law-role-copy .forecast-chapter.is-active {
    position: relative;
    top: auto;
    visibility: visible;
    opacity: 1;
    transform: none;
    padding: 3rem 0;
    border-top: 1px solid rgb(255 255 255 / 12%);
  }

  .law-firms-page .law-role-copy .forecast-chapter::after {
    display: block;
    margin-top: 1.5rem;
    color: rgb(255 255 255 / 72%);
    font-size: .9rem;
    line-height: 1.7;
    content: attr(data-mobile-points);
  }
}


}

/* IP Operations reference page — scoped to .ip-operations-reference. */
/* Fixup rules restoring the interactive hero and keyboard-accessible chapter controls, mirroring .head-of-ip-reference. */
.ip-operations-reference .product-showcase__nav { display: block; }
.ip-operations-reference .product-showcase [data-product-scene] { display: block; }
.ip-operations-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.ip-operations-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.ip-operations-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.ip-operations-reference .law-role-nav button.is-active { color: #fff; }
.ip-operations-reference .law-role-nav button::after { content: none; }
.ip-operations-reference .law-role-nav button:focus-visible, .ip-operations-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.ip-operations-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.ip-operations-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .ip-operations-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.ip-operations-reference { overflow-x: clip; }
.ip-operations-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .ip-operations-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .ip-operations-reference .hero__content,
  .ip-operations-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.ip-operations-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.ip-operations-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  .ip-operations-reference .hero {
    padding-top: 6rem;
  }

  .ip-operations-reference .hero__content {
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .ip-operations-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product hero the same right-edge crop used by the other reference pages. */
@media (min-width: 801px) {
  .ip-operations-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .ip-operations-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .ip-operations-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

.ip-operations-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}


/* Finance & Budget Owners reference page — scoped to .finance-budget-owners-reference. */
/* Ported from the Insivia wireframe; mirrors the .head-of-ip-reference scope block structure. */
/* .finance-budget-owners-reference uses the shared audience base above. */

/* Fixup rules restoring the interactive hero and keyboard-accessible chapter controls, mirroring .head-of-ip-reference. */
.finance-budget-owners-reference .product-showcase__nav { display: block; }
.finance-budget-owners-reference .product-showcase [data-product-scene] { display: block; }
.finance-budget-owners-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.finance-budget-owners-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.finance-budget-owners-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.finance-budget-owners-reference .law-role-nav button.is-active { color: #fff; }
.finance-budget-owners-reference .law-role-nav button::after { content: none; }
.finance-budget-owners-reference .law-role-nav button:focus-visible, .finance-budget-owners-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.finance-budget-owners-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.finance-budget-owners-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .finance-budget-owners-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.finance-budget-owners-reference { overflow-x: clip; }
.finance-budget-owners-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .finance-budget-owners-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .finance-budget-owners-reference .hero__content,
  .finance-budget-owners-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.finance-budget-owners-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.finance-budget-owners-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  .finance-budget-owners-reference .hero {
    padding-top: 6rem;
  }

  .finance-budget-owners-reference .hero__content {
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .finance-budget-owners-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product hero the same right-edge crop used by the other reference pages. */
@media (min-width: 801px) {
  .finance-budget-owners-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .finance-budget-owners-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .finance-budget-owners-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

.finance-budget-owners-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}


/* Innovation & Legal Operations reference page — scoped to .innovation-legal-operations-reference. */
/* Ported from the Insivia wireframe (corporate IP framing); mirrors the .head-of-ip-reference scope block structure. */
/* .innovation-legal-operations-reference uses the shared audience base above. */

/* Fixup rules restoring the interactive hero and keyboard-accessible chapter controls, mirroring .head-of-ip-reference. */
.innovation-legal-operations-reference .product-showcase__nav { display: block; }
.innovation-legal-operations-reference .product-showcase [data-product-scene] { display: block; }
.innovation-legal-operations-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.innovation-legal-operations-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.innovation-legal-operations-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.innovation-legal-operations-reference .law-role-nav button.is-active { color: #fff; }
.innovation-legal-operations-reference .law-role-nav button::after { content: none; }
.innovation-legal-operations-reference .law-role-nav button:focus-visible, .innovation-legal-operations-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.innovation-legal-operations-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.innovation-legal-operations-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .innovation-legal-operations-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.innovation-legal-operations-reference { overflow-x: clip; }
.innovation-legal-operations-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .innovation-legal-operations-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .innovation-legal-operations-reference .hero__content,
  .innovation-legal-operations-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.innovation-legal-operations-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.innovation-legal-operations-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  .innovation-legal-operations-reference .hero {
    padding-top: 6rem;
  }

  .innovation-legal-operations-reference .hero__content {
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .innovation-legal-operations-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product hero the same right-edge crop used by the other reference pages. */
@media (min-width: 801px) {
  .innovation-legal-operations-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .innovation-legal-operations-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .innovation-legal-operations-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

.innovation-legal-operations-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}


/* IP Paralegals & Operations reference page — scoped to .ip-paralegals-operations-reference. */
/* Ported from the Insivia wireframe; mirrors the .head-of-ip-reference scope block structure. */
/* .ip-paralegals-operations-reference uses the shared audience base above. */

/* Fixup rules restoring the interactive hero and keyboard-accessible chapter controls, mirroring .head-of-ip-reference. */
.ip-paralegals-operations-reference .product-showcase__nav { display: block; }
.ip-paralegals-operations-reference .product-showcase [data-product-scene] { display: block; }
.ip-paralegals-operations-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.ip-paralegals-operations-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.ip-paralegals-operations-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.ip-paralegals-operations-reference .law-role-nav button.is-active { color: #fff; }
.ip-paralegals-operations-reference .law-role-nav button::after { content: none; }
.ip-paralegals-operations-reference .law-role-nav button:focus-visible, .ip-paralegals-operations-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.ip-paralegals-operations-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.ip-paralegals-operations-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .ip-paralegals-operations-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.ip-paralegals-operations-reference { overflow-x: clip; }
.ip-paralegals-operations-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .ip-paralegals-operations-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .ip-paralegals-operations-reference .hero__content,
  .ip-paralegals-operations-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.ip-paralegals-operations-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.ip-paralegals-operations-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  .ip-paralegals-operations-reference .hero {
    padding-top: 6rem;
  }

  .ip-paralegals-operations-reference .hero__content {
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .ip-paralegals-operations-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product hero the same right-edge crop used by the other reference pages. */
@media (min-width: 801px) {
  .ip-paralegals-operations-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .ip-paralegals-operations-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .ip-paralegals-operations-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

.ip-paralegals-operations-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}


/* Law Firm Partners reference page — scoped to .law-firm-partners-reference. */
/* Ported from the Insivia wireframe; mirrors the .head-of-ip-reference scope block structure. */
/* .law-firm-partners-reference uses the shared audience base above. */

/* Fixup rules restoring the interactive hero and keyboard-accessible chapter controls, mirroring .head-of-ip-reference. */
.law-firm-partners-reference .product-showcase__nav { display: block; }
.law-firm-partners-reference .product-showcase [data-product-scene] { display: block; }
.law-firm-partners-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.law-firm-partners-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.law-firm-partners-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.law-firm-partners-reference .law-role-nav button.is-active { color: #fff; }
.law-firm-partners-reference .law-role-nav button::after { content: none; }
.law-firm-partners-reference .law-role-nav button:focus-visible, .law-firm-partners-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.law-firm-partners-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.law-firm-partners-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .law-firm-partners-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.law-firm-partners-reference { overflow-x: clip; }
.law-firm-partners-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .law-firm-partners-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .law-firm-partners-reference .hero__content,
  .law-firm-partners-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.law-firm-partners-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.law-firm-partners-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  .law-firm-partners-reference .hero {
    padding-top: 6rem;
  }

  .law-firm-partners-reference .hero__content {
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .law-firm-partners-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product hero the same right-edge crop used by the other reference pages. */
@media (min-width: 801px) {
  .law-firm-partners-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .law-firm-partners-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .law-firm-partners-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

.law-firm-partners-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}


/* Law Firm Innovation & Legal Operations reference page — scoped to .law-firm-innovation-legal-operations-reference. */
/* Ported from the Insivia wireframe (law-firm framing); mirrors the .head-of-ip-reference scope block structure. */
/* .law-firm-innovation-legal-operations-reference uses the shared audience base above. */

/* Fixup rules restoring the interactive hero and keyboard-accessible chapter controls, mirroring .head-of-ip-reference. */
.law-firm-innovation-legal-operations-reference .product-showcase__nav { display: block; }
.law-firm-innovation-legal-operations-reference .product-showcase [data-product-scene] { display: block; }
.law-firm-innovation-legal-operations-reference .product-showcase [data-product-scene]:not(.is-active) { visibility: hidden; opacity: 0; pointer-events: none; }
.law-firm-innovation-legal-operations-reference .product-showcase [data-product-scene].is-active { visibility: visible; opacity: 1; }
.law-firm-innovation-legal-operations-reference .law-role-nav button { padding: 0; border: 0; background: transparent; cursor: pointer; color: rgb(255 255 255 / 28%); font: inherit; font-size: clamp(.58rem,.75vw,.72rem); font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.law-firm-innovation-legal-operations-reference .law-role-nav button.is-active { color: #fff; }
.law-firm-innovation-legal-operations-reference .law-role-nav button::after { content: none; }
.law-firm-innovation-legal-operations-reference .law-role-nav button:focus-visible, .law-firm-innovation-legal-operations-reference .scene-list__item:focus-visible { outline: 2px solid #63dfd2; outline-offset: 4px; }
.law-firm-innovation-legal-operations-reference .law-role-copy .forecast-chapter h3 { font-size: clamp(3rem, 4.5vw, 5.5rem); }
.law-firm-innovation-legal-operations-reference .forecast-faq__card h3 { color: #001d3a; }
@media (min-width: 901px) {
  .law-firm-innovation-legal-operations-reference .forecast-faq__grid > .forecast-faq__card:last-child { grid-column: span 2; }
}
.law-firm-innovation-legal-operations-reference { overflow-x: clip; }
.law-firm-innovation-legal-operations-reference .hero { overflow: hidden !important; }
@media (min-width: 801px) {
  .law-firm-innovation-legal-operations-reference .hero {
    padding-top: clamp(7rem, 9vh, 8rem);
    padding-bottom: clamp(3rem, 5vh, 4rem);
  }

  .law-firm-innovation-legal-operations-reference .hero__content,
  .law-firm-innovation-legal-operations-reference .hero .product-showcase--platform {
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.law-firm-innovation-legal-operations-reference .head-ip-hero-transition {
  height: clamp(6rem, 8vw, 8rem);
  background: linear-gradient(to bottom, #001d3a 0%, #0a3155 48%, #001d3a 100%);
}

.law-firm-innovation-legal-operations-reference .law-value-shift.proof-section {
  margin-top: clamp(-4rem, -4vw, -3rem);
}

@media (max-width: 800px) {
  .law-firm-innovation-legal-operations-reference .hero {
    padding-top: 6rem;
  }

  .law-firm-innovation-legal-operations-reference .hero__content {
    margin-top: 1.5rem;
  }
}
@media (min-width: 801px) {
  .law-firm-innovation-legal-operations-reference .law-role-pin {
    height: calc(100svh - 90px);
    min-height: 0 !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    row-gap: clamp(1rem, 2vh, 2rem) !important;
    padding-block: clamp(1.5rem, 3vh, 2.5rem) !important;
  }
}

/* Give the product hero the same right-edge crop used by the other reference pages. */
@media (min-width: 801px) {
  .law-firm-innovation-legal-operations-reference .hero {
    grid-template-columns: minmax(0, 60%) minmax(0, 40%);
    overflow: hidden;
  }

  .law-firm-innovation-legal-operations-reference .hero__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .law-firm-innovation-legal-operations-reference .hero .product-showcase--platform {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
}

.law-firm-innovation-legal-operations-reference .scene-list__item--static {
  cursor: default;
  pointer-events: none;
}


/* Shared blue/purple hero and page canvas; no teal in section backgrounds.
   Keep one value for the continuous platform canvas and every standalone hero.
   Important backgrounds supersede the imported reference pages' scoped styles. */
:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page, .pw-mcp-page,
    .pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero, .pw-mp, .pw-resources,
    .pw-pricing-page #main) {
  --pw-hero-background:
    radial-gradient(ellipse 85vw 85rem at 25% 25rem, rgb(47 112 212 / 34%), transparent 75%),
    radial-gradient(ellipse 80vw 100rem at 80% 75rem, rgb(89 67 174 / 25%), transparent 75%),
    radial-gradient(ellipse 75vw 90rem at 18% 120rem, rgb(89 67 174 / 20%), transparent 75%),
    #001d3a;
}

:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page, .pw-mcp-page) main,
:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero, .pw-mp) {
  background: var(--pw-hero-background) !important;
}

/* These heroes already sit on the shared continuous canvas. */
:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page) .pw-platform-hero,
.pw-mcp-page .pw-mcp-hero {
  background: transparent !important;
}

/* Retire competing decorative backgrounds and fades, leaving product scenes.
   Preserve the homepage background video and its reduced-motion treatment. */
body:not(.pw-home-page) .pw-hero__media,
.hero > .hero__ambient,
.hero > .hero__media {
  display: none !important;
}

:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero)::before,
:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero)::after {
  background: none !important;
}


/* Align hero copy with the full header logo for more usable text width. */
body {
  --pw-hero-copy-left: calc(max(0px, (100vw - var(--aif-width-wide)) / 2) + var(--pw-gutter));
}

:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero) > .pw-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: var(--pw-hero-copy-left) !important;
  text-align: left;
}

.hero {
  padding-left: var(--pw-hero-copy-left) !important;
}

:is(.pw-hero__copy, .pw-detail-hero__copy, .pw-mcp-hero__copy,
    .spend-hero__copy, .security-hero__copy, .hero__content) {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}

:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero) :is(h1, .pw-page-hero__lede, .pw-lede) {
  margin-left: 0 !important;
  text-align: left !important;
}

.pw-hero__actions { justify-content: flex-start; }


/* Blend standalone hero canvases into the surface immediately below them. */
:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero) {
  position: relative;
  --pw-hero-next-surface: var(--aif-surface);
}

:is(.hero, .spend-hero, .lf-hero, .cp-hero) {
  --pw-hero-next-surface: #001d3a;
}
.security-hero { --pw-hero-next-surface: #031b34; }
.pw-resource-hero { --pw-hero-next-surface: var(--aif-bg); }

:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero)::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: clamp(4rem, 8vw, 8rem);
  background: linear-gradient(to bottom, transparent, var(--pw-hero-next-surface)) !important;
  pointer-events: none;
}

/* Continuous platform canvases already blend through their first section. */
:is(.pw-forecasting-page, .pw-portfolio-page, .pw-scenario-page) .pw-platform-hero::after,
.pw-mcp-page .pw-mcp-hero::after {
  background: none !important;
}

.head-ip-hero-transition {
  background: #001d3a !important;
}


/* Keep foreground copy and controls above the shared hero fade. */
:is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero) > .pw-container {
  position: relative;
  z-index: 2;
}

.hero > :is(.hero__content, .product-showcase, .hero__cta) {
  position: relative;
  z-index: 2;
}

.pw-pricing-section { scroll-margin-top: 110px; }


/* Homepage retains its original centered hero and type scale. */
.pw-home-page .pw-hero > .pw-container {
  width: min(100% - 2rem, 1500px) !important;
  max-width: 1500px !important;
  padding-inline: var(--pw-gutter) !important;
  text-align: center;
}
.pw-home-page .pw-hero .pw-hero__copy {
  margin-inline: auto !important;
  text-align: center !important;
}
.pw-home-page .pw-hero .pw-hero__title {
  margin-inline: auto !important;
  text-align: center !important;
  font-size: clamp(2.5rem, 4.35vw, 5.1rem);
  line-height: 1.27;
}
.pw-home-page .pw-hero .pw-page-hero__lede {
  margin-inline: auto !important;
  text-align: center !important;
  font-size: clamp(1.1rem, 1.55vw, 1.55rem);
  line-height: 1.6;
}
.pw-home-page .pw-hero__actions { justify-content: center; }
@media (max-width: 520px) {
  .pw-home-page .pw-hero > .pw-container {
    width: min(100% - 1.5rem, 1500px) !important;
  }
}

/* Keep workflow headings inside their copy column at every breakpoint. */
.pw-old-workflow__copy { min-width: 0; }
.pw-old-workflow__copy h2 {
  width: 100%;
  max-width: 100%;
  text-wrap: balance;
}
.pw-old-workflow__lead,
.pw-old-workflow__reveal {
  display: block;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}

/* Topic-specific homepage illustrations: static, sample data, dark throughout. */
#intelligence-features { scroll-margin-top: 110px; }
.pw-intel-stage { padding-bottom: 2rem; }
.pw-intel-visual { min-height: 0; margin-top: 2rem; }
.pw-feature-screen {
  --feature-border: color-mix(in srgb, var(--aif-sky) 24%, transparent);
  --feature-highlight: color-mix(in srgb, var(--aif-sky) 60%, var(--aif-on-accent));
  --feature-muted: color-mix(in srgb, var(--aif-on-accent) 72%, var(--aif-ink));
  overflow: hidden; min-width: 0; border: 1px solid var(--feature-border); border-radius: 12px;
  background: color-mix(in srgb, var(--aif-ink) 85%, black); color: var(--aif-on-accent);
  box-shadow: 0 20px 50px color-mix(in srgb, var(--aif-ink) 70%, transparent);
  font-size: .8rem; line-height: 1.45;
}
.pw-feature-screen[hidden] { display: none; }
.pw-feature-screen * { box-sizing: border-box; min-width: 0; }
.pw-feature-screen__bar { display: flex; align-items: center; gap: .65rem; padding: .85rem 1rem; border-bottom: 1px solid var(--feature-border); }
.pw-feature-screen__bar > strong { font-size: .75rem; }
.pw-feature-screen__bar > small { margin-left: auto; color: var(--feature-muted); font-size: .62rem; text-align: right; }
.pw-feature-screen__dots { display: flex; gap: 4px; }
.pw-feature-screen__dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--aif-sky); }
.pw-feature-screen__dots i:first-child { background: var(--aif-orange); }
.pw-feature-screen__dots i:last-child { background: var(--aif-teal); }
.pw-feature-screen__body { display: grid; gap: 1.1rem; padding: 1.4rem; }
.pw-feature-screen__intro { display: grid; gap: .35rem; }
.pw-feature-screen__intro > small { color: var(--feature-highlight); font-size: .6rem; font-weight: 700; letter-spacing: .11em; }
.pw-feature-screen__intro > strong { font-size: clamp(1.15rem, 1.7vw, 1.55rem); line-height: 1.2; letter-spacing: -.025em; }
.pw-feature-screen__intro > span { color: var(--feature-muted); font-size: .75rem; }
.pw-feature-screen__metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.pw-feature-screen__metrics > div { display: grid; gap: .2rem; padding: .8rem; border: 1px solid var(--feature-border); border-radius: 7px; background: color-mix(in srgb, var(--aif-sky) 9%, var(--aif-ink)); }
.pw-feature-screen__metrics small { color: var(--feature-muted); font-size: .7rem; }
.pw-feature-screen__metrics strong { font-size: clamp(1.45rem,2.4vw,2.25rem); line-height: 1.2; }
.pw-feature-screen__metrics span { color: var(--feature-highlight); font-size: .65rem; }
.pw-feature-screen__panel { border: 1px solid var(--feature-border); border-radius: 7px; padding: 1rem; }
.pw-feature-screen__caption { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: 1rem; }
.pw-feature-screen__caption strong { font-size: .75rem; }
.pw-feature-screen__caption small { font-size: .62rem; color: var(--feature-muted); }
.pw-feature-screen__years { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .7rem; height: 158px; }
.pw-feature-screen__years > div { display: grid; grid-template-rows: 20px 1fr 20px; gap: .35rem; text-align: center; align-items: end; }
.pw-feature-screen__years b { font-size: .68rem; font-weight: 600; }
.pw-feature-screen__years i { display: block; align-self: end; height: var(--feature-height); min-height: 8px; background: linear-gradient(to top,var(--aif-accent),var(--aif-teal)); border-radius: 4px 4px 0 0; }
.pw-feature-screen__years small { font-size: .65rem; color: var(--feature-muted); }
.pw-feature-screen__foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .35rem .7rem; border-top: 1px solid var(--feature-border); padding-top: .8rem; font-size: .65rem; }
.pw-feature-screen__foot > span { color: var(--feature-muted); }
.pw-feature-screen__foot > strong { color: var(--feature-highlight); font-weight: 500; }
.pw-feature-screen__options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.pw-feature-screen__options article { display: grid; gap: .35rem; padding: 1rem; border: 1px solid var(--feature-border); border-radius: 8px; background: color-mix(in srgb,var(--aif-sky) 6%,var(--aif-ink)); }
.pw-feature-screen__options article.pw-feature-screen__option { border-color: var(--aif-teal); background: color-mix(in srgb,var(--aif-teal) 8%,var(--aif-ink)); }
.pw-feature-screen__options article > small { color: var(--feature-highlight); font-size: .63rem; letter-spacing: .07em; }
.pw-feature-screen__options article > strong { font-size: clamp(1.45rem,2.5vw,2.3rem); }
.pw-feature-screen__options article > span { color: var(--feature-muted); font-size: .64rem; }
.pw-feature-screen dl { margin: .5rem 0 0; }
.pw-feature-screen dl > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .3rem; padding: .6rem 0; border-top: 1px solid var(--feature-border); font-size: .67rem; }
.pw-feature-screen dt { color: var(--feature-muted); }
.pw-feature-screen dd { margin: 0; }
.pw-feature-screen__insight { padding: 1rem; border-left: 3px solid var(--aif-teal); background: color-mix(in srgb,var(--aif-teal) 7%,var(--aif-ink)); }
.pw-feature-screen__insight > span { display: block; font-size: .72rem; color: var(--feature-muted); }
.pw-feature-screen__insight > strong { display: block; margin: .35rem 0; font-size: 1.7rem; color: var(--aif-on-accent); }
.pw-feature-screen__insight strong small { font-size: .9rem; color: var(--aif-teal); margin-left: .5rem; }
.pw-feature-screen__insight p { margin: 0; color: var(--feature-muted); font-size: .7rem; }
.pw-feature-screen__table { border: 1px solid var(--feature-border); border-radius: 7px; overflow: hidden; }
.pw-feature-screen__row { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr); align-items: center; gap: .65rem; padding: .9rem .8rem; font-size: .72rem; }
.pw-feature-screen__row + .pw-feature-screen__row { border-top: 1px solid var(--feature-border); }
.pw-feature-screen__row > strong { font-weight: 600; }
.pw-feature-screen__row > span { color: var(--feature-muted); }
.pw-feature-screen__row em { color: var(--feature-highlight); font-style: normal; }
.pw-feature-screen__row--head { background: color-mix(in srgb,var(--aif-sky) 8%,var(--aif-ink)); font-size: .61rem; }
.pw-feature-screen__timeline { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .7rem 0; }
.pw-feature-screen__timeline span { padding: .5rem .7rem; border: 1px solid var(--feature-border); border-radius: 5px; font-size: .7rem; }
.pw-feature-screen__timeline .is-active { border-color: var(--aif-teal); }
.pw-feature-screen__timeline i { color: var(--aif-teal); font-style: normal; }
.pw-feature-screen__spend { display: grid; gap: 1.1rem; }
.pw-feature-screen__spend > div { display: grid; grid-template-columns: 1fr auto; gap: .45rem; font-size: .72rem; }
.pw-feature-screen__spend strong { font-weight: 500; }
.pw-feature-screen__spend i { grid-column: 1/-1; position: relative; height: 8px; border-radius: 4px; background: color-mix(in srgb,var(--aif-sky) 20%,var(--aif-ink)); overflow: hidden; }
.pw-feature-screen__spend i::after { content: ''; display: block; width: var(--feature-width); height: 100%; border-radius: inherit; background: var(--aif-teal); }
.pw-feature-screen__spend .is-over i::after { background: var(--aif-gold); }
.pw-feature-screen__flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .55rem; padding-block: .4rem; }
.pw-feature-screen__flow article { display: grid; justify-items: center; text-align: center; gap: .55rem; padding: .8rem .4rem; border: 1px solid var(--feature-border); border-radius: 8px; }
.pw-feature-screen__flow article > b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: color-mix(in srgb,var(--aif-sky) 16%,var(--aif-ink)); color: var(--feature-highlight); }
.pw-feature-screen__flow article > strong { font-size: .72rem; }
.pw-feature-screen__flow article > span { color: var(--feature-muted); font-size: .61rem; }
.pw-feature-screen__flow article.pw-feature-screen__flow-core { border-color: var(--aif-teal); }
.pw-feature-screen__flow > i { color: var(--aif-teal); font-style: normal; }
.pw-feature-screen__question { width: 90%; justify-self: end; padding: 1rem; border: 1px solid var(--feature-border); border-radius: 10px 10px 2px 10px; background: color-mix(in srgb,var(--aif-sky) 15%,var(--aif-ink)); }
.pw-feature-screen__question small,.pw-feature-screen__answer > small { color: var(--feature-highlight); font-size: .6rem; font-weight: 700; letter-spacing: .09em; }
.pw-feature-screen__question p,.pw-feature-screen__answer p { margin: .6rem 0 0; color: var(--aif-on-accent); font-size: .85rem; line-height: 1.6; }
.pw-feature-screen__answer { padding: 1rem; border: 1px solid var(--feature-border); border-radius: 8px; }
.pw-feature-screen__breakdown { display: grid; gap: .5rem; margin-top: 1rem; }
.pw-feature-screen__breakdown > div { display: flex; justify-content: space-between; gap: .5rem; padding: .6rem .75rem; background: color-mix(in srgb,var(--aif-sky) 8%,var(--aif-ink)); border-radius: 4px; font-size: .72rem; }
.pw-feature-screen__source { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin-top: .8rem; font-size: .62rem; color: var(--feature-muted); }
.pw-feature-screen__source strong { color: var(--feature-highlight); font-weight: 500; }
.pw-feature-screen__followup { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .63rem; color: var(--feature-muted); }
.pw-feature-screen__followup b { border: 1px solid var(--feature-border); padding: .4rem .65rem; border-radius: 14px; color: var(--feature-highlight); font-weight: 500; }
.pw-feature-screen__input { display: flex; justify-content: space-between; padding: .8rem; border: 1px solid var(--feature-border); border-radius: 6px; color: var(--feature-muted); font-size: .75rem; }
.pw-feature-screen__input b { color: var(--aif-teal); }
@media (max-width: 600px) {
  .pw-feature-screen__body { padding: .85rem; gap: .85rem; }
  .pw-feature-screen__bar { gap: .4rem; padding: .75rem; }
  .pw-feature-screen__bar > strong { font-size: .68rem; }
  .pw-feature-screen__intro > strong { font-size: 1.2rem; }
  .pw-feature-screen__metrics > div { padding: .7rem; }
  .pw-feature-screen__options { gap: .5rem; }
  .pw-feature-screen__options article { padding: .65rem; }
  .pw-feature-screen__row { padding: .75rem .6rem; gap: .4rem; font-size: .65rem; }
  .pw-feature-screen__row--head { font-size: .58rem; }
  .pw-feature-screen__flow { gap: .3rem; }
  .pw-feature-screen__flow article > strong { font-size: .63rem; }
  .pw-feature-screen__flow article > span { font-size: .58rem; }
  .pw-feature-screen__timeline span { padding: .4rem; }
}

/* Hero screen bodies keep their spacing inside the shared window chrome. */
.pw-app-window__bar {
  box-sizing: border-box;
  flex-shrink: 0;
  min-height: 36px;
  margin: 0;
  gap: .5rem;
  line-height: 1.25;
  grid-template-columns: minmax(28px, 1fr) minmax(0, auto) minmax(28px, 1fr);
}
.pw-app-window__bar > * { min-width: 0; margin: 0; }
.pw-app-window__title { overflow-wrap: anywhere; }
.pw-app-window--whatif {
  display: grid;
  grid-template-rows: 36px minmax(0, 1fr);
  padding: 0;
}
.pw-app-window--whatif > .pw-whatif-layout { height: auto; min-height: 0; }
.pw-app-window--trust { padding: 0; }
.pw-app-window--trust > .pw-trust-dash { padding: 1rem; }
.pw-app-window--own-ai { padding: 0; grid-template-rows: 36px minmax(0, 1fr); }
.pw-app-window--own-ai > .pw-app-window__bar { grid-column: 1 / -1; }
.pw-own-ai-chat, .pw-own-ai-side { min-height: 0; }
.pw-own-ai-chat > header { margin: 0; padding: 8px 12px; gap: .5rem; }
.pw-own-ai-chat > header strong, .pw-own-ai-chat > header small { margin: 0; line-height: 1.4; }

/* Illustrative hero screens; separate from the lower homepage feature tabs. */
.pw-hero-product { display: grid; grid-template-rows: 36px minmax(0, 1fr); background: rgba(0, 18, 38, 0.3); }
.pw-hero-product__body { display: flex; flex-direction: column; justify-content: center; gap: 1.35rem; min-width: 0; min-height: 0; padding: clamp(1rem, 2.5vw, 2.25rem); overflow: auto; }
.pw-hero-product__intro small, .pw-hero-product__views small { color: #9dc3df; font-size: .62rem; font-weight: 650; letter-spacing: .1em; }
.pw-hero-product__intro h3 { margin: .5rem 0; color: #fff; font-size: clamp(1.05rem, 1.75vw, 1.65rem); line-height: 1.3; }
.pw-hero-product__intro p, .pw-hero-product__views p { margin: 0; color: #afc2d0; font-size: .75rem; line-height: 1.6; }
.pw-hero-product__metrics, .pw-hero-product__views { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: .75rem; }
.pw-hero-product__metrics > div, .pw-hero-product__views > article { min-width: 0; padding: 1rem; border: 1px solid #29465d; border-radius: 6px; background: #0b263e; }
.pw-hero-product__metrics small, .pw-hero-product__metrics span { display: block; color: #afc2d0; font-size: .65rem; }
.pw-hero-product__metrics strong { display: block; margin: .35rem 0; color: #fff; font-size: clamp(1.2rem, 2vw, 1.9rem); }
.pw-hero-product__views h4 { margin: .65rem 0 .4rem; font-size: .95rem; color: #fff; }
.pw-hero-product__table { border: 1px solid #29465d; border-radius: 6px; overflow: hidden; }
.pw-hero-product__row { display: grid; grid-template-columns: 1.15fr 1fr 1.2fr; gap: .8rem; padding: .85rem 1rem; color: #c5d5e0; font-size: .7rem; line-height: 1.5; }
.pw-hero-product__row + .pw-hero-product__row { border-top: 1px solid #29465d; }
.pw-hero-product__row > span { min-width: 0; overflow-wrap: anywhere; }
.pw-hero-product__row > span:first-child { color: #fff; font-weight: 600; }
.pw-hero-product__row--head { background: #0b263e; }
.pw-hero-product__row--head > span { color: #9dc3df; font-size: .62rem; font-weight: 500; }
.pw-hero-product__note { display: flex; justify-content: space-between; align-items: center; gap: .8rem; border-top: 1px solid #29465d; padding-top: .8rem; font-size: .65rem; line-height: 1.5; color: #afc2d0; }
.pw-hero-product__note strong { color: #80d8d2; font-weight: 500; text-align: right; }
@media(max-width:600px) {
  .pw-hero-product__body { justify-content: flex-start; gap: .85rem; padding: .85rem; }
  .pw-hero-product__metrics { gap: .4rem; }
  .pw-hero-product__metrics > div { padding: .65rem .5rem; }
  .pw-hero-product__metrics small, .pw-hero-product__metrics span { font-size: .6rem; }
  .pw-hero-product__views { grid-auto-flow: row; grid-template-columns: 1fr; gap: .4rem; }
  .pw-hero-product__views > article { display: grid; grid-template-columns: 80px minmax(0,1fr); padding: .55rem .65rem; column-gap: .5rem; align-items: center; }
  .pw-hero-product__views h4 { font-size: .75rem; margin: 0; }
  .pw-hero-product__views p { grid-column: 2; font-size: .62rem; }
  .pw-hero-product__row { gap: .4rem; padding: .65rem .55rem; font-size: .62rem; }
  .pw-hero-product__note { align-items: flex-start; font-size: .6rem; }
}

/* Keep the dark hero illustrations legible in either site color theme. */
.pw-hero--dark .pw-hero__title { color: #fff; }
.pw-app-window {
  --aif-text: #e7eff4;
  --aif-text-muted: #afc2d0;
  --aif-text-dim: #9eb5c5;
  --aif-surface: #061c30;
  --aif-surface-2: #0b263e;
  --aif-border: #29465d;
  --aif-border-light: #29465d;
  --aif-teal-deep: #80d8d2;
}
/* The complete screen, including title and status, must stay in its column. */
.pw-platform-hero .pw-hero-tab-scene__visual { right: 0; width: 100%; max-width: 100%; min-width: 0; transform: none; }
.pw-hero-product__body > * { flex-shrink: 0; }
.pw-forecast-visuals { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.pw-forecast-chart, .pw-forecast-dash, .pw-metric-card { min-width: 0; }
@media(max-width:600px) {
  .pw-platform-hero .pw-hero-tab-scene__visual { min-height: 500px; }
  .pw-hero-product--sharing .pw-hero-product__table { display: none; }
  .pw-forecast-visuals { grid-template-columns: minmax(0,1fr); }
  .pw-app-window--forecast { overflow-y: auto; }
  .pw-own-ai-body { overflow-y: auto; }
}

/* Leave enough room for the full illustrative content without an inner scroll. */
.pw-hero-product__body { gap: 1.05rem; padding: clamp(1rem, 2vw, 1.75rem); }
@media(max-width:600px) {
  .pw-home-page .pw-scenes { height: auto; grid-template-rows: auto 580px; }
  .pw-hero-product__body { gap: .85rem; padding: .85rem; }
}
.pw-app-window { --aif-accent: #8db2e8; }

/* Product-screen motion mirrors the existing chart builds and staged chat.
   Active-scene selectors restart on activation; hidden feature screens cancel
   their animations. Reduced motion keeps the fully rendered static markup. */
@keyframes pw-screen-reveal {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes pw-screen-bar-up {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}
@keyframes pw-screen-bar-across {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.pw-hero-product__metrics > :nth-child(2), .pw-hero-product__views > :nth-child(2),
.pw-feature-screen__years > :nth-child(2), .pw-feature-screen__spend > :nth-child(2),
.pw-feature-screen__breakdown > :nth-child(2) { --pw-screen-delay: .22s; }
.pw-hero-product__metrics > :nth-child(3), .pw-hero-product__views > :nth-child(3),
.pw-feature-screen__years > :nth-child(3), .pw-feature-screen__spend > :nth-child(3),
.pw-feature-screen__breakdown > :nth-child(3) { --pw-screen-delay: .38s; }
.pw-feature-screen__years > :nth-child(4) { --pw-screen-delay: .54s; }
.pw-feature-screen__years > :nth-child(5) { --pw-screen-delay: .70s; }
.pw-hero-product__row:nth-child(2), .pw-feature-screen__row:nth-child(2) { --pw-screen-delay: .35s; }
.pw-hero-product__row:nth-child(3), .pw-feature-screen__row:nth-child(3) { --pw-screen-delay: .50s; }
.pw-hero-product__row:nth-child(4), .pw-feature-screen__row:nth-child(4) { --pw-screen-delay: .65s; }
@media(prefers-reduced-motion:no-preference) {
  :is(.pw-scene.is-active, .pw-hero-tab-scene.is-active) .pw-hero-product__metrics > div,
  :is(.pw-scene.is-active, .pw-hero-tab-scene.is-active) .pw-hero-product__views > article,
  :is(.pw-scene.is-active, .pw-hero-tab-scene.is-active) .pw-hero-product__row:not(.pw-hero-product__row--head) {
    animation: pw-screen-reveal .55s var(--pw-screen-delay, .08s) ease-out both;
  }
  :is(.pw-scene.is-active, .pw-hero-tab-scene.is-active) .pw-hero-product__note {
    animation: pw-screen-reveal .5s .95s ease-out both;
  }
  .pw-intel-explorer.is-in-view .pw-feature-screen:not([hidden]) .pw-feature-screen__years i {
    transform-origin: bottom;
    animation: pw-screen-bar-up .85s var(--pw-screen-delay, .08s) cubic-bezier(.2,.7,.3,1) both;
  }
  .pw-intel-explorer.is-in-view .pw-feature-screen:not([hidden]) .pw-feature-screen__spend i::after {
    transform-origin: left;
    animation: pw-screen-bar-across .85s var(--pw-screen-delay, .08s) cubic-bezier(.2,.7,.3,1) both;
  }
  .pw-intel-explorer.is-in-view .pw-feature-screen:not([hidden]) :is(.pw-feature-screen__metrics strong, .pw-feature-screen__options article, .pw-feature-screen__row:not(.pw-feature-screen__row--head), .pw-feature-screen__flow > *, .pw-feature-screen__question, .pw-feature-screen__answer, .pw-feature-screen__breakdown > div, .pw-feature-screen__followup) {
    animation: pw-screen-reveal .55s var(--pw-screen-delay, .08s) ease-out both;
  }
  .pw-feature-screen__options > :nth-child(2) { --pw-screen-delay: .35s; }
  .pw-feature-screen__flow > :nth-child(2) { --pw-screen-delay: .2s; }
  .pw-feature-screen__flow > :nth-child(3) { --pw-screen-delay: .4s; }
  .pw-feature-screen__flow > :nth-child(4) { --pw-screen-delay: .6s; }
  .pw-feature-screen__flow > :nth-child(5) { --pw-screen-delay: .8s; }
  .pw-feature-screen__answer { --pw-screen-delay: .4s; }
  .pw-feature-screen__breakdown { --pw-screen-delay: .65s; }
  .pw-feature-screen__followup { --pw-screen-delay: 1s; }
  .pw-intel-explorer.is-in-view .pw-feature-screen:not([hidden]) :is(.pw-feature-screen__insight, .pw-feature-screen__timeline, .pw-feature-screen__foot) {
    animation: pw-screen-reveal .5s 1s ease-out both;
  }
}
/* Spend hero uses the same contained screen treatment as the other heroes. */
.spend-hero__visual { width: 100%; max-width: 100%; transform: none; }

/* Let stage copy use the full content column in both component variants. */
:is(.pw-intel-stage__copy, .intelligence-stage__copy) {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
}
:is(.pw-intel-stage__copy, .intelligence-stage__copy) :is(h3, p) {
  max-width: none;
}
@media(min-width:601px) {
  :is(.pw-intel-stage, .intelligence-stage) {
    padding-inline: clamp(1.5rem, 3vw, 3rem);
  }
}
@media(max-width:600px) {
  :is(.pw-intel-stage__copy, .intelligence-stage__copy) {
    padding-inline: 0;
  }
}

/* October 7 review: typography and example conversations, scoped to these pages. */
:is(.pw-api-page, .pw-natural-language-page) :is(h2, h3, blockquote) {
  text-wrap: balance;
}
.pw-natural-language-page .pw-forecast-faq__card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.pw-natural-language-page .pw-forecast-faq__card:last-child p {
  max-width: 75ch;
}
.pw-question-thread {
  --question-border: color-mix(in srgb, var(--aif-sky) 35%, transparent);
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--aif-on-accent);
  box-shadow: none;
}
.pw-question-thread header { display: grid; gap: .5rem; }
.pw-question-thread header > span { font-size: 1.15rem; font-weight: 750; }
.pw-question-thread header > small,
.pw-question-thread__caption {
  color: color-mix(in srgb, var(--aif-on-accent) 78%, var(--aif-ink));
  font-size: .8rem;
  line-height: 1.6;
}
.pw-question-thread__messages { display: grid; gap: 1.05rem; margin: 1.6rem 0; padding: 0; list-style: none; }
.pw-question-thread__messages li {
  width: 90%;
  padding: 1.1rem 1.3rem;
  border: 1px solid var(--question-border);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  backdrop-filter: blur(16px) saturate(135%);
  will-change: transform, opacity, filter;
}
.pw-question-thread__messages .is-user {
  margin-left: auto;
  border-radius: 18px 18px 4px 18px;
  background: color-mix(in srgb, var(--aif-accent) 46%, var(--aif-ink));
}
.pw-question-thread__messages .is-ai {
  margin-right: auto;
  border-radius: 18px 18px 18px 4px;
  background: color-mix(in srgb, var(--aif-teal) 32%, var(--aif-ink));
}
.pw-question-thread__messages .is-thinking {
  display: none;
  width: max-content;
  min-width: 72px;
  margin-right: auto;
  align-items: center;
  gap: 6px;
  padding: .8rem 1rem;
  border-radius: 18px 18px 18px 4px;
  background: color-mix(in srgb, var(--aif-teal) 32%, var(--aif-ink));
  overflow: hidden;
}
.pw-question-thread.is-conversation-enhanced .is-thinking { display: flex; }
.pw-question-thread__messages .is-ai + .is-user { margin-top: 1.8rem; }
.pw-question-thread__messages .is-thinking i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--aif-on-accent) 82%, var(--aif-teal));
  animation: pw-question-thinking .9s ease-in-out infinite alternate;
}
.pw-question-thread__messages .is-thinking i:nth-child(2) { animation-delay: .15s; }
.pw-question-thread__messages .is-thinking i:nth-child(3) { animation-delay: .3s; }
.pw-question-thread__messages small { color: var(--aif-sky); font-size: .64rem; font-weight: 700; letter-spacing: .09em; }
.pw-question-thread__messages p { margin: 0; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.5; }
.pw-question-thread__caption { margin: 0; }
@keyframes pw-question-thinking { from { opacity: .38; transform: translateY(2px); } to { opacity: 1; transform: translateY(-2px); } }
.pw-natural-language-page .pw-question-audiences .pw-mcp-destination-points strong { display: flex; align-items: center; gap: .75rem; }
.pw-natural-language-page .pw-question-audiences .pw-mcp-destination-points strong::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6A8.38 8.38 0 0 1 12.5 3h.5a8.48 8.48 0 0 1 8 8z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6A8.38 8.38 0 0 1 12.5 3h.5a8.48 8.48 0 0 1 8 8z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pw-question-stream { text-align: left; }
.pw-question-stream__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(3rem, 6vw, 6rem); }
.pw-question-stream header { width: 100%; margin: 0; }
.pw-question-stream header p { margin: 1.7rem 0; }
.pw-question-stream__cta { display: inline-flex; align-items: center; gap: 2rem; margin-top: 1rem; padding: 1rem 1.3rem; background: var(--aif-on-accent); color: var(--aif-ink); font-size: .9rem; font-weight: 750; text-decoration: none; }
.pw-question-stream__cta:hover { background: var(--aif-sky); }
.pw-question-stream__cta:focus-visible { outline: 3px solid var(--aif-sky); outline-offset: 5px; }
.pw-question-cloud { min-width: 0; }
.pw-question-cloud ul { position: relative; min-height: clamp(540px, 48vw, 650px); margin: 0; padding: 0; list-style: none; }
.pw-question-cloud li { position: absolute; top: var(--question-y); left: var(--question-x); width: max-content; max-width: min(48%, 360px); padding: .9rem 1.3rem; border: 1px solid color-mix(in srgb, var(--aif-sky) 38%, transparent); border-radius: 18px 18px 4px 18px; background-color: color-mix(in srgb, var(--aif-accent) 28%, transparent); color: var(--aif-on-accent); font-size: clamp(.9rem, 1.2vw, 1.15rem); line-height: 1.4; box-shadow: 0 18px 45px color-mix(in srgb, var(--aif-ink) 35%, transparent); -webkit-backdrop-filter: blur(16px) saturate(135%); backdrop-filter: blur(16px) saturate(135%); transition: background-color .9s ease, border-color .9s ease, box-shadow .9s ease; will-change: transform, opacity, filter; }
.pw-question-cloud li.is-active { border-color: color-mix(in srgb, var(--aif-teal) 72%, white); background-color: color-mix(in srgb, var(--aif-teal) 58%, var(--aif-ink)); box-shadow: 0 20px 52px color-mix(in srgb, var(--aif-teal) 24%, transparent); }
.pw-question-cloud li:nth-child(1) { --question-x: 4%; --question-y: 0%; }
.pw-question-cloud li:nth-child(2) { --question-x: 48%; --question-y: 12%; }
.pw-question-cloud li:nth-child(3) { --question-x: 15%; --question-y: 25%; }
.pw-question-cloud li:nth-child(4) { --question-x: 42%; --question-y: 38%; }
.pw-question-cloud li:nth-child(5) { --question-x: 0%; --question-y: 50%; }
.pw-question-cloud li:nth-child(6) { --question-x: 52%; --question-y: 63%; }
.pw-question-cloud li:nth-child(7) { --question-x: 10%; --question-y: 76%; }
.pw-question-cloud li:nth-child(8) { --question-x: 46%; --question-y: 88%; }
@media (max-width: 1050px) {
  .pw-question-stream__grid { grid-template-columns: minmax(0, 1fr); }
  .pw-question-thread { width: min(700px, 100%); }
}
@media (max-width: 600px) {
  .pw-question-cloud ul { min-height: 600px; }
  .pw-question-cloud li { max-width: 88%; }
}
.pw-question-cloud.is-static ul { display: flex; min-height: 0; flex-direction: column; align-items: flex-end; gap: .8rem; }
.pw-question-cloud.is-static li { position: relative; inset: auto; max-width: 94%; }
/* These sections keep a dark canvas in either OS theme. */
.pw-natural-language-page :is(.pw-mcp-hero__copy h1, .pw-mcp-outcomes h2, .pw-mcp-outcome-cards h3, .pw-mcp-destination h2, .pw-mcp-stream h2) {
  color: var(--aif-on-accent);
}
.pw-question-thread__messages small {
  color: color-mix(in srgb, var(--aif-on-accent) 65%, var(--aif-sky));
}

/* API and onboarding screen stories reuse the established HTML product-screen system. */
.pw-screen-story-section { overflow: clip; }
.pw-screen-story-layout { align-items: start; }
:is(.pw-api-outcomes-static, .pw-onboarding-outcomes-static) { align-items: center; }
:is(.pw-api-outcomes-static, .pw-onboarding-outcomes-static) > .pw-screen-story { position: static; }
.pw-api-page .pw-api-outcomes .pw-mcp-outcomes__grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
.pw-screen-story { position: sticky; top: clamp(5.5rem, 9vh, 7rem); display: grid; gap: 1.4rem; min-width: 0; }
.pw-screen-story__steps { display: grid; gap: 0; margin: clamp(4rem, 8vh, 7rem) 0 0; padding: 0; list-style: none; }
.pw-screen-story__steps li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); grid-template-rows: auto auto; gap: .65rem 1rem; align-content: center; min-height: 65vh; padding: 2rem 0; border-top: 1px solid color-mix(in srgb, var(--aif-sky) 22%, transparent); opacity: .42; transition: opacity 240ms ease; }
.pw-screen-story__steps li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--aif-sky) 22%, transparent); }
.pw-screen-story__steps li.is-active { opacity: 1; }
.pw-screen-story__steps span { grid-row: 1 / 3; color: var(--aif-sky); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.pw-screen-story__steps strong { color: var(--aif-on-accent); font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.2; }
.pw-screen-story__steps p { margin: 0; color: color-mix(in srgb, var(--aif-on-accent) 66%, var(--aif-ink)); font-size: .9rem; line-height: 1.65; }
.pw-screen-story__tabs { display: none; gap: .65rem; padding: .35rem; border: 1px solid color-mix(in srgb, var(--aif-sky) 24%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--aif-ink) 75%, transparent); }
.pw-screen-story__tabs button { flex: 1; padding: .85rem 1rem; border: 0; border-radius: 7px; background: transparent; color: color-mix(in srgb, var(--aif-on-accent) 58%, var(--aif-ink)); font: inherit; font-size: .72rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; transition: background 220ms ease, color 220ms ease; }
.pw-screen-story__tabs button.is-active { background: color-mix(in srgb, var(--aif-accent) 45%, var(--aif-ink)); color: var(--aif-on-accent); }
.pw-screen-story__tabs button:focus-visible { outline: 2px solid var(--aif-sky); outline-offset: 2px; }
.pw-screen-story__stage { display: grid; min-width: 0; }
.pw-screen-story__stage > [data-pw-screen-panel] { grid-area: 1 / 1; }
.pw-screen-story-layout.is-enhanced .pw-screen-story__stage > [data-pw-screen-panel] { visibility: hidden; opacity: 0; pointer-events: none; }
.pw-screen-story-layout.is-enhanced .pw-screen-story__stage > [data-pw-screen-panel].is-active { visibility: visible; opacity: 1; pointer-events: auto; }
.pw-screen-story-layout:not(.is-enhanced) .pw-screen-story__stage { gap: 1.4rem; }
.pw-screen-story-layout:not(.is-enhanced) .pw-screen-story__stage > [data-pw-screen-panel] { grid-area: auto; }
.pw-screen-story .pw-mcp-action__result { animation: none; opacity: 1; transform: none; }
.pw-api-view-filters { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.pw-api-view-filters li { padding: .45rem .65rem; border: 1px solid var(--feature-border); border-radius: 6px; color: var(--feature-muted); font-size: .7rem; }
.pw-api-view-quarters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pw-api-page .pw-screen-story .pw-feature-screen__years i { min-height: 0; }
.pw-api-page .pw-api-outcomes h2 { color: var(--aif-on-accent); }
.pw-onboarding-story .pw-mcp-action { width: 100%; }
.pw-api-capability-grid { gap: 1rem; padding: 0; }
.pw-api-page .pw-api-capability-grid > span {
  min-height: 104px;
  gap: 1rem;
  padding: 1.15rem;
  border: 0;
  border-radius: 4px;
  background: radial-gradient(circle at 18% 0%, rgb(18 80 155 / 18%), transparent 45%), #000814;
  box-shadow: 0 18px 45px rgb(0 4 14 / 34%);
}
.pw-api-capability-grid i { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 auto; place-items: center; border: 1px solid rgb(141 178 232 / 20%); border-radius: 4px; background: rgb(18 80 155 / 16%); color: var(--mcp-orange); font-style: normal; }
.pw-api-capability-grid svg { width: 1.45rem; height: 1.45rem; }
.pw-api-capability-grid i img { width: 1.45rem; height: 1.45rem; padding: 0; border-radius: 0; background: transparent; object-fit: contain; }
.pw-api-capability-icon--mcp img { display: none; }
.pw-api-capability-icon--mcp::before { width: 1.45rem; height: 1.45rem; background: currentColor; content: ""; -webkit-mask: url("/static/marketing/img/integrations/mcp.cef72dc00b5e.svg") center / contain no-repeat; mask: url("/static/marketing/img/integrations/mcp.cef72dc00b5e.svg") center / contain no-repeat; }
.pw-api-capability-grid b { color: var(--aif-on-accent); font-size: .84rem; line-height: 1.3; }
@media (prefers-reduced-motion: no-preference) {
  .pw-screen-story-layout.is-enhanced .pw-screen-story__stage > [data-pw-screen-panel].is-active { animation: pw-screen-story-crossfade .3s ease-out both; }
}
@keyframes pw-screen-story-crossfade { from { opacity: .18; } to { opacity: 1; } }
@media (max-width: 1050px) {
  .pw-api-page .pw-api-outcomes .pw-mcp-outcomes__grid,
  .pw-screen-story-layout { grid-template-columns: minmax(0, 1fr); }
  .pw-screen-story { position: relative; top: auto; }
  .pw-screen-story__tabs { display: flex; }
  .pw-screen-story__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 2.5rem 0 3rem; }
  .pw-screen-story__steps li { min-height: 0; padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--aif-sky) 22%, transparent); border-radius: 8px; opacity: 1; }
}
@media (max-width: 700px) {
  .pw-screen-story__tabs { position: sticky; top: 76px; z-index: 3; }
  .pw-screen-story__tabs button { padding-inline: .55rem; font-size: .62rem; }
}
/* Keep every audience's examples available without JavaScript. */
@media (scripting: none) and (min-width: 1201px) {
  .pw-question-audiences .pw-mcp-destinations__pin { display: block; min-height: 0; }
  .pw-question-audiences .pw-mcp-destinations__nav { display: none; }
  .pw-question-audiences .pw-mcp-destination-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-bottom: 4rem; }
  .pw-question-audiences .pw-mcp-destination-group > * { grid-area: auto; }
  .pw-question-audiences .pw-mcp-destination-quotes { grid-column: 1 / -1; }
  .pw-question-audiences :is(.pw-mcp-destination, .pw-mcp-destination-points, .pw-mcp-destination-quotes figure) { visibility: visible !important; opacity: 1 !important; transform: none; pointer-events: auto; }
  .pw-question-audiences .pw-mcp-destination { display: block; }
}

/* Alternate FAQ card proportions from row to row instead of repeating one grid rhythm. */
@media (min-width: 901px) {
  .pw-forecast-faq__card:nth-child(4n + 1),
  .pw-forecast-faq__card:nth-child(4n) { grid-column: span 3; }
  .pw-forecast-faq__card:nth-child(4n + 2),
  .pw-forecast-faq__card:nth-child(4n + 3) { grid-column: span 2; }
  .pw-forecast-faq__card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .pw-forecast-faq__card,
  .pw-forecast-faq__card--wide { grid-column: span 1; }
  .pw-forecast-faq__card:nth-child(3n + 1) { grid-column: 1 / -1; }
  .pw-spend-page .pw-forecast-faq__card:nth-child(3n + 1),
  .pw-corporate-ip-page .pw-forecast-faq__card:nth-child(3n + 1) { grid-column: 1 / -1; }
  .pw-forecast-faq__grid--eight .pw-forecast-faq__card:nth-child(n) { grid-column: span 1; }
  .pw-forecast-faq__grid--eight .pw-forecast-faq__card:nth-child(3n) { grid-column: 1 / -1; }
  .pw-forecast-faq__card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .pw-spend-page .pw-forecast-faq__card:last-child:nth-child(even) { grid-column: span 1; }
  .pw-corporate-ip-page .pw-forecast-faq__card:last-child:nth-child(even) { grid-column: span 6; }
}


/* Static trust screens have no entrance animation to override the shared
   product-screen baseline. Parent scenes continue to control visibility. */
:is(.fees-reference, .head-of-ip-reference, .ip-operations-reference,
    .finance-budget-owners-reference, .innovation-legal-operations-reference,
    .ip-paralegals-operations-reference, .law-firm-partners-reference,
    .law-firm-innovation-legal-operations-reference) .product-screen.trust-screen {
  opacity: 1;
  transform: none;
}

/* Shared MCP narrative headings: give apostrophes natural kerning and spacing. */
.pw-mcp-page :is(.pw-mcp-hero__copy h1, .pw-mcp-shift h2, .pw-mcp-outcomes h2,
    .pw-mcp-destination h2, .pw-mcp-stream h2) {
  font-kerning: normal;
  letter-spacing: normal;
  word-spacing: normal;
}

/* Keep the existing audience quote alongside the supporting copy. */
@media (min-width: 1201px) {
  .pw-question-audiences .pw-mcp-destinations__pin { grid-template-rows: auto auto auto; row-gap: 2rem; }
  .pw-question-audiences .pw-mcp-destinations__copy { min-height: 0; align-self: start; }
  .pw-question-audiences .pw-mcp-destination-group > .pw-mcp-destinations__visual { grid-row: 2 / 4; }
  .pw-question-audiences .pw-mcp-destination-group > .pw-mcp-destination-quotes { grid-column: 1; grid-row: 3; align-self: start; }
  .pw-question-audiences .pw-mcp-destination-points { position: relative; }
  .pw-question-audiences .pw-mcp-destination-quotes figure { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .pw-question-audiences .pw-mcp-destination-quotes figcaption { max-width: none; text-align: left; }
}

/* Reports: conversational view shaping and audience-specific outputs. */
.reports-reference .product-screen.pw-report-screen { opacity: 1; transform: none; }
.reports-reference :is(.pw-report-view, .pw-report-share) {
  padding: clamp(1rem, 2.5vw, 2rem);
  color: var(--aif-ink);
  background: var(--aif-on-accent);
  height: calc(100% - 40px);
}
.pw-report-prompt { margin: 0 0 1.25rem; padding: 1rem; border-radius: 10px 10px 2px 10px; background: color-mix(in srgb, var(--aif-accent) 10%, var(--aif-on-accent)); font-size: 1.1rem; font-weight: 650; }
.pw-report-view__context { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .75rem; }
.pw-report-view__context span { display: grid; gap: .25rem; flex: 1; padding-bottom: .75rem; border-bottom: 1px solid var(--aif-border); }
.pw-report-view__chart { margin-top: 1.25rem; }
.pw-report-view__chart small, .pw-report-share small { color: var(--aif-accent); font-size: .65rem; font-weight: 750; letter-spacing: .08em; }
.pw-report-view__chart h3, .pw-report-share h3 { margin: .45rem 0 1.25rem; font-size: 1.6rem; line-height: 1.2; }
.pw-report-view__chart > div { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .5rem; padding: .6rem 0 1rem; font-size: .85rem; }
.pw-report-view__chart i { position: absolute; bottom: .25rem; height: 5px; width: var(--w); border-radius: 8px; background: var(--aif-accent); transform-origin: left; }
.pw-report-view__followup, .pw-report-share footer { margin-top: 1.2rem; font-size: .8rem; line-height: 1.5; }
.pw-report-share__audiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.pw-report-share__audiences article { padding: 1rem; border: 1px solid var(--aif-border); border-radius: 8px; background: color-mix(in srgb, var(--aif-accent) 4%, var(--aif-on-accent)); }
.pw-report-share__audiences h4 { margin: .4rem 0 .7rem; font-size: 1rem; line-height: 1.3; }
.pw-report-share__audiences p { margin: .65rem 0 0; font-size: .7rem; }
.pw-report-share__preview { display: flex; align-items: end; gap: .4rem; height: 36px; }
.pw-report-share__preview i { width: 24%; height: 60%; background: var(--aif-accent); opacity: .65; }
.pw-report-share__preview i:nth-child(2) { height: 85%; }
.pw-report-share__preview i:nth-child(3) { height: 100%; }
.pw-report-share__preview--table { flex-direction: column; align-items: start; justify-content: space-between; }
.pw-report-share__preview--table i { width: 90%; height: 5px !important; }
.pw-report-share__preview--table i:last-child { width: 65%; }
@media (prefers-reduced-motion: no-preference) {
  .reports-reference .product-scene.is-active .pw-report-view__chart i { animation: pw-report-grow .8s ease both; }
  .reports-reference .product-scene.is-active .pw-report-share__audiences article { animation: pw-report-arrive .5s ease both; }
  .reports-reference .product-scene.is-active .pw-report-share__audiences article:nth-child(2) { animation-delay: .1s; }
  .reports-reference .product-scene.is-active .pw-report-share__audiences article:nth-child(3) { animation-delay: .2s; }
  .reports-reference .product-scene.is-active .pw-report-share__audiences article:nth-child(4) { animation-delay: .3s; }
}
@keyframes pw-report-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes pw-report-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 680px) {
  .pw-report-prompt { padding: .75rem; font-size: .9rem; margin-bottom: .8rem; }
  .pw-report-view__chart h3, .pw-report-share h3 { font-size: 1.2rem; }
  .pw-report-share__audiences { gap: .5rem; }
  .pw-report-share__audiences article { padding: .65rem; }
  .pw-report-share__audiences h4 { font-size: .85rem; }
  .pw-report-share__preview { height: 25px; }
}

/* Reports visuals must fit the viewport rather than the oversized hero crop. */
.reports-reference .product-showcase.product-showcase--platform {
  width: 100%;
  max-width: 960px;
  height: 540px;
  transform: none;
  min-width: 0;
}
.reports-reference :is(.pw-report-view, .pw-report-share) { box-sizing: border-box; }
@media (max-width: 980px) {
  .reports-reference .product-showcase.product-showcase--platform { width: 100%; height: 530px; }
}

.reports-reference :is(.trust-screen, .pw-report-screen) .product-window__bar {
  background: var(--aif-ink);
  color: var(--aif-on-accent);
}
.reports-reference :is(.trust-screen, .pw-report-screen) .product-window__status {
  color: var(--aif-on-accent);
  background: var(--aif-accent);
}

/* These report mockups keep a white canvas in both site themes. */
.reports-reference :is(.pw-report-view, .pw-report-share) :is(h3, h4, small) {
  color: var(--aif-ink);
}

/* John tracker batch 2: logo review and naturally wrapping role headings. */
.lf-compare__brand { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.lf-compare__brand img { display: block; width: min(136px, 100%); height: auto; filter: brightness(0) saturate(100%) invert(9%) sepia(42%) saturate(2617%) hue-rotate(181deg); }
.lf-compare__labels .lf-compare__brand > span { padding-left: 0; }
.ip-operations-reference .law-role-copy h3 { text-wrap: balance; overflow-wrap: normal; }

/* These role sections keep their dark canvas in both site themes. */
:is(.law-firm-partners-reference, .ip-paralegals-operations-reference,
    .finance-budget-owners-reference, .ip-operations-reference,
    .head-of-ip-reference, .law-firm-innovation-legal-operations-reference)
:is(.hero__content h1, .law-role-copy h3) { color: #fff; }

.lf-roles .lf-role-copy h2 { color: #fff; }

/* Responsive QA: prevent a wide hero illustration from sizing the text track. */
@media (max-width: 800px) {
  :is(.finance-budget-owners-reference, .innovation-legal-operations-reference,
      .ip-operations-reference, .ip-paralegals-operations-reference,
      .law-firm-partners-reference, .law-firm-innovation-legal-operations-reference) .forecasting-page .hero {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(.finance-budget-owners-reference, .innovation-legal-operations-reference,
      .ip-operations-reference, .ip-paralegals-operations-reference,
      .law-firm-partners-reference, .law-firm-innovation-legal-operations-reference) .forecasting-page .hero__content {
    min-width: 0;
    width: 100%;
  }

  :is(.finance-budget-owners-reference, .innovation-legal-operations-reference,
      .ip-operations-reference, .ip-paralegals-operations-reference,
      .law-firm-partners-reference, .law-firm-innovation-legal-operations-reference) .forecasting-page .hero__content > :is(h1, p, a) {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  /* Fees and Reports share this introduction; clear desktop viewport caps. */
  .fees-reference .forecast-story .forecast-story__intro h2,
  .fees-reference .forecast-story .forecast-story__intro > p:last-of-type {
    width: 100%;
    max-width: 100%;
  }
}

/* Preserve readable diagram labels and output on tablet and mobile. */
@media (max-width: 900px) {
  .spend-connected__flow { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .spend-connected__lines { display: none; }
  .spend-connected__inputs article { min-width: 0; }
  .spend-connected__inputs article span { flex-shrink: 0; }
  .spend-connected__inputs article strong { min-width: 0; overflow-wrap: anywhere; }
  .spend-connected__result { min-width: 0; margin-top: 0; }
}

/* Chapter CTA sentences must wrap before reaching the neighboring button. */
@media (max-width: 900px) {
  .pw-cta-bar > p { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
}

/* Two numbered columns leave too little room for mobile story-card copy. */
@media (max-width: 600px) {
  .pw-screen-story__steps { grid-template-columns: minmax(0, 1fr); }
  .pw-screen-story__steps li { grid-template-columns: 1.5rem minmax(0, 1fr); gap: .65rem .75rem; }
  .pw-screen-story__steps :is(strong, p) { min-width: 0; overflow-wrap: anywhere; }
}


/* Teamwork 27590191: component corrections and shared editorial standards. */
.pw-forecast-orbit__core img { filter: brightness(0); }
.pw-cost-horizon.is-enhanced .pw-cost-horizon__event { opacity: 1; }
.pw-question-race__pause {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 10px;
}
.pw-question-race__pause[hidden] { display: none; }
.pw-question-race__pause svg { width: 20px; height: 20px; fill: currentColor; }
.pw-question-race__pause .pw-play-icon,
.pw-question-race__pause[data-paused="true"] .pw-pause-icon { display: none; }
.pw-question-race__pause[data-paused="true"] .pw-play-icon { display: block; }

/* Long scenario CTAs can also exceed their track above the tablet breakpoint. */
.pw-scenario-page .pw-forecast-story__cta > p {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Resource heroes use the same container as their navigation and collections. */
.pw-resources .pw-resource-hero > .pw-container {
  max-width: 1600px !important;
  padding-inline: clamp(1.5rem, 7vw, 9.3rem) !important;
}

/* Defensible is a dark product window, including nested rows and sources. */
.fees-reference .hero .trust-screen {
  --pw-detail-border: color-mix(in srgb, var(--aif-on-accent) 25%, transparent);
  --pw-detail-muted: color-mix(in srgb, var(--aif-on-accent) 76%, var(--aif-ink));
  background: var(--aif-ink);
  border: 1px solid var(--pw-detail-border);
  color: var(--aif-on-accent);
}
.fees-reference .trust-screen .product-window__bar,
.fees-reference .trust-screen .trust-dashboard {
  background: var(--aif-ink);
  color: var(--aif-on-accent);
  border-color: var(--pw-detail-border);
}
.fees-reference .trust-screen .trust-dashboard > header { border-color: var(--pw-detail-border); }
.fees-reference .trust-screen :is(.trust-costs > span, .trust-sources) {
  background: color-mix(in srgb, var(--aif-brand-navy) 40%, var(--aif-ink));
  border-color: var(--pw-detail-border);
  color: var(--aif-on-accent);
}
.fees-reference .trust-screen :is(h3, b, .trust-dashboard > header > strong) { color: var(--aif-on-accent); }
.fees-reference .trust-screen :is(.product-eyebrow, .trust-costs em, .trust-sources em,
    .trust-sources > small, .trust-dashboard > header > strong small) { color: var(--pw-detail-muted); }
.fees-reference .trust-screen .trust-sources p > i { color: var(--aif-teal); }
.fees-reference .trust-screen .product-window__status { color: var(--aif-on-accent); background: var(--aif-accent); }

/* Corporate IP defines the responsive hero scale; the homepage is excluded. */
body {
  --pw-standard-hero-title: clamp(3rem, 4.55vw, 5.5rem);
  --pw-standard-hero-lede: clamp(1rem, 1.25vw, 1.25rem);
  --pw-story-title: clamp(2.5rem, 4vw, 5rem);
  --pw-story-copy: clamp(.95rem, 1.12vw, 1.12rem);
  --pw-story-accent: #8db2e8;
  --pw-benefit-accent: var(--pw-story-accent, #8db2e8);
}
body:not(.pw-home-page) main h1,
.spend-hero__message h2 {
  font-size: var(--pw-standard-hero-title) !important;
  font-weight: 900;
  line-height: .98 !important;
  letter-spacing: -.015em;
  max-width: 100%;
  overflow-wrap: break-word;
}
body:not(.pw-home-page) :is(.pw-page-hero__lede, .pw-detail-hero__copy > p,
    .pw-mcp-hero__copy > p, .hero__content > p, .spend-hero__message > p,
    .security-hero__copy > p, .pw-resource-hero__bottom > p) {
  font-size: var(--pw-standard-hero-lede) !important;
  font-weight: 400;
  line-height: 1.7;
}
body:not(.pw-home-page) :is(.pw-hero__cta, .pw-mcp-hero__copy > a,
    .hero__content > a, .spend-hero__copy > a) { font-size: .8rem; }

/* Static hero copy and its graphic share a vertical center. Only heroes
   whose copy changes with tabs retain a stable top edge. Graphic-only tabs
   on audience pages do not make their static copy a tabbed hero. */
body:not(.pw-home-page) :is(.pw-hero-split, .hero, .pw-mcp-hero__grid,
    .security-hero__grid) { align-items: center; }
body:not(.pw-home-page) :is(.pw-hero__copy, .hero__content,
    .pw-mcp-hero__copy, .security-hero__copy) { align-self: center; min-width: 0; }
body:not(.pw-home-page) :is(.pw-hero-split[data-pw-hero-tabs],
    .hero:has(.hero-story), .spend-hero__stage) { align-items: start; }
body:not(.pw-home-page) :is(.pw-hero-split[data-pw-hero-tabs] > .pw-hero__copy,
    .hero:has(.hero-story) > .hero__content, .spend-hero__copy,
    .pw-platform-hero__story) { align-self: start; min-width: 0; }
@media (min-width: 1101px) {
  body:not(.pw-home-page) .hero:not(:has(.hero-story)) > .product-showcase,
  body:not(.pw-home-page) .pw-hero-split:not([data-pw-hero-tabs]) > .pw-hero-tabs__panels,
  body:not(.pw-home-page) .pw-mcp-hero__grid > :is(.pw-mcp-chat, .pw-question-thread),
  body:not(.pw-home-page) .security-hero__grid > .security-summary { align-self: center; }
}

/* The reference hierarchy is shared by every narrative state and variant. */
body #main :is(.pw-forecast-chapter, .pi-chapter, .forecast-chapter, .law-role-panel__copy) > h3,
body #main :is(.lf-role-copy, .cp-role-copy, .pw-mcp-destination) > h2 {
  font-size: var(--pw-story-title) !important;
  font-weight: 900;
  line-height: .98 !important;
  letter-spacing: -.015em;
  margin: 0;
  max-width: 100%;
  overflow-wrap: break-word;
}
body #main :is(.pw-forecast-chapter, .pi-chapter, .forecast-chapter, .law-role-panel__copy) > h3 span,
body #main :is(.lf-role-copy, .cp-role-copy, .pw-mcp-destination) > h2 span {
  display: block;
  margin-top: .14em;
  color: var(--pw-story-accent);
}
body #main :is(.pw-forecast-chapter, .pi-chapter, .forecast-chapter, .law-role-panel__copy,
    .lf-role-copy, .cp-role-copy, .pw-mcp-destination) > p {
  margin: 1.6rem 0 0;
  max-width: 620px;
  color: color-mix(in srgb, var(--aif-on-accent) 72%, transparent);
  font-size: var(--pw-story-copy) !important;
  font-weight: 400;
  line-height: 1.75;
}
body #main :is(.pw-forecast-chapter, .pi-chapter, .forecast-chapter) > ul {
  display: grid;
  gap: .65rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}
body #main :is(.pw-forecast-chapter, .pi-chapter, .forecast-chapter) li,
body #main :is(.law-role-points, .pw-mcp-destination-points, .lf-role-stage, .cp-role-stage) li {
  border-left: 2px solid color-mix(in srgb, var(--aif-teal) 60%, transparent);
  background: color-mix(in srgb, var(--aif-on-accent) 4%, transparent);
  color: color-mix(in srgb, var(--aif-on-accent) 72%, transparent);
  padding: .72rem .9rem;
  font-size: calc(.72rem + 2px);
  font-weight: 400;
  line-height: 1.55;
}
body #main :is(.law-role-points, .pw-mcp-destination-points, .lf-role-stage, .cp-role-stage) li strong {
  color: var(--pw-benefit-accent);
}
/* Related benefit rows preserve their two-part content and existing layout. */
body #main :is(.law-role-points, .pw-mcp-destination-points, .lf-role-stage, .cp-role-stage) li span {
  font-size: inherit;
  line-height: 1.55;
}

/* Reuse the Fees desktop window placement; conversation graphics stay whole. */
@media (min-width: 1101px) {
  .pw-platform-hero .pw-hero-split { overflow: visible; }
  .pw-platform-hero .pw-hero-tabs__panels {
    width: min(960px, 76vw);
    max-width: none;
    transform: translateX(12%);
  }
  .pw-platform-hero .pw-hero-tab-scene__visual { right: 0; width: 100%; }
  .pw-mcp-hero__grid { grid-template-columns: minmax(0, 60%) minmax(0, 40%); }
  .pw-mcp-hero__grid > .pw-mcp-chat,
  .spend-hero__visual { width: min(960px, 76vw); max-width: none; transform: translateX(12%); }
  .pw-natural-language-page .pw-mcp-hero__grid { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); }
}
@media (max-width: 1100px) {
  .pw-platform-hero .pw-hero-split,
  .pw-mcp-hero__grid,
  .spend-hero__stage { grid-template-columns: minmax(0, 1fr); }
  body:not(.pw-home-page) :is(.pw-hero-tabs__panels, .pw-mcp-hero__grid > .pw-mcp-chat,
      .pw-mcp-hero__grid > .pw-question-thread, .spend-hero__visual) {
    width: 100%; max-width: 900px; min-width: 0; margin-inline: auto; transform: none;
  }
  .pw-platform-hero .pw-hero-tab-scene__visual { width: 100%; left: 0; right: 0; margin-inline: auto; transform: none; }
}
@media (max-width: 800px) {
  body .hero { grid-template-columns: minmax(0, 1fr); }
  body .hero .product-showcase.product-showcase--platform {
    width: 100%; max-width: 100%; min-width: 0; margin-inline: auto; transform: none;
  }
}

/* Lower-section blends keep foreground copy on its original solid surface. */
.pw-section-transition {
  height: clamp(3rem, 6vw, 6rem);
  background: linear-gradient(to bottom, var(--pw-blend-from), var(--pw-blend-to));
}
.pw-security-page { --pw-security-pale: #f2f6f8; --pw-security-deep: #031b34; }
.pw-section-transition--security-light { --pw-blend-from: var(--pw-security-deep); --pw-blend-to: var(--pw-security-pale); }
.pw-section-transition--security-dark { --pw-blend-from: var(--pw-security-pale); --pw-blend-to: var(--aif-ink); }
.pw-section-transition--security-white { --pw-blend-from: var(--aif-ink); --pw-blend-to: var(--aif-on-accent); }
.pw-section-transition--security-pale { --pw-blend-from: var(--aif-on-accent); --pw-blend-to: var(--pw-security-pale); }
.pw-section-transition--surface-tint { --pw-blend-from: var(--aif-surface); --pw-blend-to: var(--aif-bg); }
.pw-section-transition--tint-ink { --pw-blend-from: var(--aif-bg); --pw-blend-to: var(--aif-ink); }
.pw-section-transition--surface-ink { --pw-blend-from: var(--aif-surface); --pw-blend-to: var(--aif-ink); }
.pw-onboarding-page .pw-mcp-destinations {
  background: linear-gradient(to bottom, transparent calc(100% - clamp(8rem, 16vw, 16rem)), var(--aif-ink));
}

/* Stacked product windows grow with their content instead of cropping rows. */
@media (max-width: 800px) {
  body .hero .product-showcase.product-showcase--platform,
  body .hero .product-showcase--platform .product-showcase__stage {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  body .hero .product-showcase--platform .product-scene:not(.is-active) { display: none; }
  body .hero .product-showcase--platform .product-scene.is-active,
  body .hero .product-showcase--platform .product-scene.is-active > .product-screen {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 360px;
  }
  .fees-reference .hero .trust-dashboard > header { align-items: start; flex-direction: column; gap: 1rem; }
  .fees-reference .hero .trust-dashboard > header > strong { text-align: left; }
  .fees-reference .hero .trust-dashboard__body { grid-template-columns: minmax(0, 1fr); }
  .fees-reference .hero .trust-dashboard { padding: 1.2rem; }
  .fees-reference .hero .trust-sources { display: block; }
}

/* Leave touch targets above the native horizontal scrollbar on narrow tabs. */
@media (max-width: 980px) {
  :is(.pw-forecast-story__nav, .pi-story__tabs) { padding-bottom: 1rem; align-items: stretch; }
  :is(.pw-forecast-story__nav, .pi-story__tabs) button { min-height: 44px; }
}

/* Keep offscreen diagram entrance translations inside the narrow page. */
@media (max-width: 900px) {
  .spend-connected { overflow-x: clip; }
}

/* Dark hero links remain readable when light-theme tokens are active. */
.pw-hero--dark :is(.pw-page-hero__lede a, nav[aria-label="Pricing categories"] a) {
  color: #8db2e8;
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Reference heroes keep a dark canvas in both themes. */
body:not(.pw-home-page) .hero__content > h1 { color: var(--aif-on-accent); }
@media (max-width: 800px) {
  /* Let the expanded window determine its row, including reduced motion. */
  body .hero { grid-template-rows: auto auto auto !important; }
  body .hero .product-showcase.product-showcase--platform { align-self: start; }
}

/* Fixed dark sections do not inherit light-theme heading colors. */
.pw-security-page :is(.security-hero, .security-verification, .security-controls, .security-review) :is(h1, h2, h3) {
  color: var(--aif-on-accent);
}
.pw-detail-hero .pw-eyebrow { color: #8db2e8; }
body:not(.pw-home-page) .pw-resource-hero h1 { hyphens: auto; }


/* About, resource collections and pricing share the continuous site canvas.
   Keep card surfaces distinct, without fading the page itself to charcoal. */
.pw-resources,
.pw-pricing-page #main {
  background: var(--pw-hero-background);
}

.pw-resources :is(.pw-resource-hero, .pw-resource-navigation, .pw-resource-cta),
.pw-pricing-page #main > :is(.pw-hero, .pw-section) {
  background: transparent !important;
}

.pw-resources .pw-resource-hero::after,
.pw-pricing-page #main > .pw-hero::after {
  background: none !important;
}

.pw-pricing-page .pw-pricing-section .pw-eyebrow {
  color: #8db2e8;
}

/* Resource collection titles use the shared light-blue heading accent. */
.pw-resources .pw-resource-section__heading h2 {
  color: var(--pw-story-accent, #8db2e8);
}

/* Shared benefit rows: padded cells on two distinct dark navy surfaces. */
body #main :is(ul.law-role-points, ul.pw-mcp-destination-points,
    .lf-role-stage ul, .cp-role-stage ul) {
  grid-auto-rows: max-content;
}
body #main :is(.lf-role-stage, .cp-role-stage, ul.law-role-points, ul.pw-mcp-destination-points) li {
  display: grid;
  background: #061525;
  border-left: 0;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 1.28fr);
  gap: 0;
  padding: 0;
  align-items: stretch;
  overflow: hidden;
  min-height: max-content;
}
body #main :is(.lf-role-stage, .cp-role-stage, ul.law-role-points, ul.pw-mcp-destination-points) li strong {
  position: relative;
  isolation: isolate;
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 1.25rem 1.5rem;
  background: #000814;
  color: var(--pw-benefit-accent, #8db2e8);
}
body #main :is(.lf-role-stage, .cp-role-stage, ul.law-role-points, ul.pw-mcp-destination-points) li strong::before {
  content: none;
}
/* Retain the conversational cue on question lists that originally had it. */
body.pw-natural-language-page #main .pw-question-audiences ul.pw-mcp-destination-points li strong::before {
  content: "";
  color: inherit;
  opacity: 1;
}
@media (max-width: 600px) {
  body #main :is(.lf-role-stage, .cp-role-stage, ul.law-role-points, ul.pw-mcp-destination-points) li {
    grid-template-columns: 1fr;
  }
}

body #main :is(.lf-role-stage, .cp-role-stage, ul.law-role-points, ul.pw-mcp-destination-points) li span {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 1.25rem 1.5rem;
  background: #061525;
  font-size: 1rem;
  line-height: 1.55;
}

/* Industry/role stories use the same equal text and benefit columns. */
@media (min-width: 801px) {
  body #main .law-role-pin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: auto;
    grid-template-rows: auto auto auto !important;
  }
  body #main .law-role-visual {
    display: grid;
  }
  body #main .law-role-visual ul.law-role-points {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    align-self: center;
  }
}
/* All tab states contribute their full height, keeping quotes below the rows. */
@media (min-width: 1201px) {
  body #main .pw-mcp-destinations__visual {
    display: grid;
  }
  body #main .pw-mcp-destinations__visual ul.pw-mcp-destination-points {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    align-self: center;
  }
}
body #main :is(.lf-role-stage, .cp-role-stage, ul.law-role-points, ul.pw-mcp-destination-points) li strong {
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  font-weight: 900;
}

/* Homepage uses the destination pages' fee explorer and report-view markup. */
.pw-feature-source .request-card, .pw-feature-source .pw-report-view { width: auto; margin: 0; padding: clamp(1rem, 2.5vw, 2rem); background: transparent; color: #c8d8e8; border: 0; box-shadow: none; }
.pw-feature-source .request-card h3 { color: #fff; font-size: 1.4rem; }
.pw-feature-source .request-card p { color: #c8d8e8; font-size: .85rem; }
.pw-feature-source .product-eyebrow { color: #8db2e8; font-size: .65rem; }
.pw-feature-source .country-field { margin-top: 1rem; border-color: #29435b; }
.pw-feature-source :is(.country-field__label, .country-field__value) { color: #c8d8e8; font-size: .8rem; }
.pw-feature-source .country-menu { position: static; margin-block: .75rem; opacity: 1; transform: none; animation: none; background: #071d33; border-color: #29435b; }
.pw-feature-source .country-menu span { color: #c8d8e8; font-size: .8rem; border-color: #29435b; padding-block: .4rem; }
.pw-feature-source .country-menu i { color: #8db2e8; }
.pw-feature-source .selected-countries { opacity: 1; transform: none; animation: none; }
.pw-feature-source .forecast-button { animation: none; }
.pw-feature-source .pw-report-prompt { background: #112f4c; color: #fff; }
.pw-feature-source .pw-report-view__chart h3 { color: #fff; }
/* Keep the dark showcase legible in both system color schemes. */
.pw-home-page .pw-intelligence { background: #001d3a; }
.pw-feature-source .country-field { display: grid; grid-template-columns: 1fr auto; gap: .35rem; padding: .75rem; border: 1px solid #29435b; border-radius: 5px; }
.pw-feature-source .country-field__label { grid-column: 1 / -1; }
.pw-feature-source .country-menu { display: grid; border: 1px solid #29435b; border-radius: 5px; }
.pw-feature-source .country-menu span { display: grid; grid-template-columns: 24px 1fr auto; gap: .4rem; padding: .6rem; border-bottom: 1px solid #29435b; }
.pw-feature-source .selected-countries { display: flex; gap: .4rem; flex-wrap: wrap; margin-block: .75rem; }
.pw-feature-source .selected-countries span { padding: .35rem .5rem; background: #112f4c; border-radius: 4px; }
.pw-feature-source .forecast-button { width: 100%; padding: .75rem; border: 0; border-radius: 5px; background: #174783; color: white; font: inherit; }
.pw-feature-source .pw-report-view__chart small { color: #8db2e8; }
.pw-feature-source .pw-report-view__chart i { background: #8db2e8; }


/* Keep the reported platform heroes content-sized, even on tall desktops. */
.pw-spend-page .spend-hero,
.fees-costs-page .fees-reference .hero {
  min-height: 0;
  padding-bottom: clamp(3rem, 4vw, 4rem);
}
.fees-costs-page .fees-reference .hero { grid-template-rows: auto auto; }
.fees-costs-page .fees-reference .hero__content { margin-bottom: 0; }
@media (min-width: 1101px) {
  .pw-spend-page .spend-hero__stage {
    grid-template-columns: minmax(0, min(52%, 790px)) minmax(0, 1fr);
    column-gap: clamp(2rem, 4vw, 4rem);
  }
  .fees-costs-page .fees-reference .hero {
    grid-template-columns: minmax(0, 56%) minmax(0, 1fr);
    column-gap: clamp(2rem, 4vw, 4rem);
  }
  .pw-spend-page .spend-hero__visual,
  .fees-costs-page .fees-reference .product-showcase--platform {
    width: min(960px, 76vw);
    transform: none;
  }
  .fees-costs-page .fees-reference .product-showcase--platform { margin-top: 0; }
}

/* Shared hero window dimensions and clearance below the overlay navigation.
   Keep conversation graphics content-sized and homepage sizing independent. */
body:not(.pw-home-page) {
  --pw-hero-window-height: clamp(440px, 54vh, 520px);
  --pw-hero-content-top: clamp(12rem, 16vw, 14rem);
}
body:not(.pw-home-page) :is(.pw-platform-hero, .lf-hero, .cp-hero) {
  min-height: 0;
  padding-top: var(--pw-hero-content-top);
  padding-bottom: clamp(3rem, 5vw, 5rem);
}
body:not(.pw-home-page) :is(.pw-platform-hero, .lf-hero, .cp-hero) > .pw-container {
  padding-top: 0;
}
body:not(.pw-home-page) :is(.pw-mcp-hero, .spend-hero) {
  padding-top: var(--pw-hero-content-top);
}
body:not(.pw-home-page) .security-hero__grid {
  padding-top: var(--pw-hero-content-top);
}
@media (min-width: 1101px) {
  body:not(.pw-home-page) #main .hero {
    padding-top: var(--pw-hero-content-top);
  }
  body:not(.pw-home-page) .pw-hero-split {
    min-height: var(--pw-hero-window-height);
  }
  body:not(.pw-home-page) :is(.pw-hero-tabs__panels .pw-hero-tab-scene,
      .pw-hero-tab-scene__visual, .lf-hero__visual, .cp-hero__visual) {
    height: var(--pw-hero-window-height);
    min-height: 0;
    margin-top: 0;
  }
  body:not(.pw-home-page) .hero .product-showcase.product-showcase--platform {
    height: var(--pw-hero-window-height);
    min-height: 0;
    margin-top: 0;
  }
}
/* Below the split breakpoint the illustration must occupy its own row;
   its desktop absolute positioning otherwise leaves an empty-height row. */
@media (max-width: 1100px) {
  body:not(.pw-home-page) .pw-platform-hero .pw-hero-tab-scene__visual {
    position: relative;
    inset: auto;
    margin-top: 0;
  }
}

/* Content tabs share the Forecast Story default, hover and active colors. */
body #main :is(.pw-forecast-story__nav, .forecast-story__nav, .pi-story__tabs, .law-role-nav, .lf-role-tabs, .cp-role-tabs, .pw-mcp-destinations__nav, .security-controls__tabs, .pw-screen-story__tabs, .pw-intel-tabs, .intelligence-tabs, .pw-scenes__nav, .pw-hero-tabs__list, .spend-hero__tabs) button,
body #main :is(.forecast-story__nav, .law-role-nav) > span { color: rgb(255 255 255 / 28%); }
body #main :is(.pw-forecast-story__nav, .forecast-story__nav, .pi-story__tabs, .law-role-nav, .lf-role-tabs, .cp-role-tabs, .pw-mcp-destinations__nav, .security-controls__tabs, .pw-screen-story__tabs, .pw-intel-tabs, .intelligence-tabs, .pw-scenes__nav, .pw-hero-tabs__list, .spend-hero__tabs) button:is(:hover, :focus-visible) { color: var(--pw-story-accent, #8db2e8); }
body #main :is(.pw-forecast-story__nav, .forecast-story__nav, .pi-story__tabs, .law-role-nav, .lf-role-tabs, .cp-role-tabs, .pw-mcp-destinations__nav, .security-controls__tabs, .pw-screen-story__tabs, .pw-intel-tabs, .intelligence-tabs, .pw-scenes__nav, .pw-hero-tabs__list, .spend-hero__tabs) button:is(.is-active, [aria-selected="true"], [aria-pressed="true"]),
body #main :is(.forecast-story__nav, .law-role-nav) > span.is-active { color: #fff; }
body #main .intelligence-tabs button > span { color: inherit; }

/* Platform intelligence cards follow the Connect capability card treatment. */
.pw-mcp-stream .pw-mcp-platform-grid {
  width: min(1100px, calc(100% - 3rem));
  gap: 1rem;
  padding: 0;
}
.pw-mcp-stream .pw-mcp-platform-grid > span {
  min-height: 104px;
  gap: 1rem;
  padding: 1.15rem;
  border: 0;
  border-radius: 4px;
  background: radial-gradient(circle at 18% 0%, rgb(18 80 155 / 18%), transparent 45%), #000814;
  box-shadow: 0 18px 45px rgb(0 4 14 / 34%);
  color: var(--aif-on-accent);
  font-size: .84rem;
  font-weight: 750;
  line-height: 1.3;
}
.pw-mcp-stream .pw-mcp-platform-grid img {
  width: 2.8rem;
  height: 2.8rem;
  padding: .45rem;
  border: 1px solid rgb(141 178 232 / 20%);
  border-radius: 4px;
}
@media (max-width: 480px) {
  .pw-mcp-stream .pw-mcp-platform-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Security controls use the same editorial top tabs as the story sections. */
body #main .security-controls__tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1rem, 2vw, 2.5rem);
  border: 0;
}
body #main .security-controls__tabs button {
  flex: 0 1 auto;
  padding: .4rem 0;
  border: 0;
  background: transparent;
  font-size: clamp(.58rem, .75vw, .72rem);
  font-weight: 750;
  letter-spacing: .04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: color .25s ease;
}
body #main .security-controls__tabs button:focus-visible {
  outline: 2px solid var(--pw-story-accent, #8db2e8);
  outline-offset: 4px;
}

@media (min-width: 1101px) and (prefers-reduced-motion: no-preference) {
  .security-controls__story {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto;
    gap: 2rem;
    align-content: start;
    padding-block: 1.5rem;
  }
  .security-controls__story .security-controls__panels { min-height: 0; }
  .security-controls__story .security-controls__panels article { padding-top: 0; }
}

/* Reports has no in-hero site header; don't reserve an empty first row. */
body #main .reports-reference .hero {
  min-height: 0;
  grid-template-rows: auto;
  align-content: start;
}
body #main .reports-reference .hero > :is(.hero__content, .product-showcase--platform) {
  grid-row: 1;
  margin-top: 0;
}
@media (max-width: 800px) {
  body #main .reports-reference .hero > .product-showcase--platform { grid-row: 2; }
}

/* Shared reports remain dark application screens in every site theme. */
.reports-reference .product-screen.pw-report-screen:has(.pw-report-share),
.reports-reference .pw-report-share {
  background: #061525;
  color: #afc2d0;
}
.reports-reference .pw-report-share__audiences article {
  background: #0b2239;
  border-color: #29465d;
  color: #afc2d0;
}
.reports-reference .pw-report-share :is(h3, h4) { color: #e7eff4; }
.reports-reference .pw-report-share small { color: #8db2e8; }
.reports-reference .pw-report-share :is(p, footer) { color: #afc2d0; }

/* Shape it uses the same dark canvas and readable hierarchy as Share it. */
.reports-reference .product-screen:has(.pw-report-view),
.reports-reference .product-screen:has(.pw-report-share),
.reports-reference .pw-report-view {
  background: #061525;
  color: #afc2d0;
}
.reports-reference .pw-report-view .pw-report-prompt {
  background: #0b2239;
  color: #e7eff4;
}
.reports-reference .pw-report-view :is(h3, h4) { color: #e7eff4; }
.reports-reference .pw-report-view small { color: #8db2e8; }
.reports-reference .pw-report-view__context span { border-color: #29465d; }
.reports-reference .pw-report-view__chart i { background: #8db2e8; }

/* Reports hero windows share See it's chrome across every report state. */
.reports-reference .hero .product-screen .product-window__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 36px;
  padding: 0 12px;
  border-bottom: 1px solid rgb(207 215 220 / 13%);
  background: rgb(0 18 38 / 20%);
  color: rgb(231 239 244 / 68%);
  font-size: 10px;
  font-weight: 600;
}
.reports-reference .hero .product-screen .product-window__status {
  background: rgb(56 131 206 / 16%);
  color: rgb(178 214 248 / 86%);
}
.reports-reference .hero .product-screen .product-window__status.is-ready {
  background: rgb(49 208 205 / 14%);
  color: rgb(126 232 228 / 88%);
}
.reports-reference .hero :is(.pw-report-view, .pw-report-share) { height: calc(100% - 36px); }

/* Natural Language's hero conversation lives inside the shared dark chrome. */
.pw-natural-language-page .pw-mcp-hero .pw-question-thread {
  border: 1px solid #29465d;
  border-radius: 8px;
  background: #061525;
  box-shadow: 0 28px 70px rgb(0 8 21 / 34%);
  overflow: hidden;
}
.pw-question-thread__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .5rem;
  min-height: 36px;
  padding: .5rem .85rem;
  border-bottom: 1px solid #29465d;
  background: rgb(0 18 38 / 20%);
  color: #afc2d0;
  font-size: .65rem;
  font-weight: 600;
}
.pw-question-thread__bar > small { justify-self: end; font-size: .6rem; }
.pw-natural-language-page .pw-mcp-hero .pw-question-thread > header { padding: 1.25rem 1.5rem 0; }
.pw-natural-language-page .pw-mcp-hero .pw-question-thread__messages { margin: 1.25rem 1.5rem 1.5rem; gap: 1rem; }
.pw-natural-language-page .pw-mcp-hero .pw-question-thread__messages li { position: relative; padding: .85rem 1rem; }
.pw-natural-language-page .pw-mcp-hero .pw-question-thread__messages p { font-size: .95rem; line-height: 1.5; }
.pw-natural-language-page .pw-mcp-hero .pw-question-thread__messages .is-user { background: #1d4677; }
.pw-natural-language-page .pw-mcp-hero .pw-question-thread__messages .is-ai { background: #0b2b48; }
@media (max-width: 520px) {
  .pw-question-thread__bar { grid-template-columns: auto 1fr; }
  .pw-question-thread__bar > small { display: none; }
  .pw-natural-language-page .pw-mcp-hero .pw-question-thread > header { padding-inline: 1rem; }
  .pw-natural-language-page .pw-mcp-hero .pw-question-thread__messages { margin-inline: 1rem; }
}

/* Meet Prokurio company draft: tracker revision 2026-10-14. */
.pw-company__stories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.pw-company__story { padding: clamp(1.5rem, 3vw, 3rem); border-radius: 1rem; background: var(--aif-on-accent); }
.pw-company__story h2 { color: var(--aif-orange); font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.2; font-weight: 500; letter-spacing: -.035em; margin: 0 0 1.5rem; }
.pw-company__story p { color: var(--aif-ink); line-height: 1.8; margin: 0; }
.pw-company .pw-resource-section__heading p { color: var(--aif-on-accent); line-height: 1.8; margin: 0; }
.pw-company__capability p { color: var(--aif-text-muted); line-height: 1.8; margin: 0; }
.pw-company__capability { padding: 2rem; border: 1px solid var(--aif-border); border-radius: 1rem; background: var(--aif-surface); }
.pw-company__capability h3 { color: var(--aif-text); font-size: 1.3rem; line-height: 1.4; margin: 0 0 1rem; }
.pw-company #leadership { scroll-margin-top: 110px; }
@media (max-width: 760px) { .pw-company__stories { grid-template-columns: 1fr; } }

/* Global IP Estimator comparison: local review draft, tracker Final Edits. */
.pw-comparison { color: var(--aif-on-accent); }
body:not(.pw-home-page) .pw-comparison .pw-resource-hero h1 { hyphens: none; }
.pw-comparison .pw-resource-section__heading p, .pw-comparison__intro,
.pw-comparison__two-col p { color: inherit; line-height: 1.8; }
.pw-comparison__intro { max-width: 60rem; margin-bottom: 2rem; }
.pw-comparison a:not(.pw-btn) { color: var(--pw-story-accent); text-underline-offset: .2em; }
.pw-comparison__table { border-collapse: collapse; width: 100%; table-layout: fixed; color: var(--aif-text); background: var(--aif-surface); line-height: 1.65; }
.pw-comparison__caption { text-align: left; color: var(--aif-orange); font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.4; font-weight: 600; padding-bottom: 1.25rem; }
.pw-comparison__table th, .pw-comparison__table td { text-align: left; vertical-align: top; padding: 1.4rem; border: 1px solid var(--aif-border); overflow-wrap: break-word; }
.pw-comparison__table thead th { background: var(--aif-brand-navy); color: var(--aif-on-accent); font-size: .7rem; font-weight: 600; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.pw-comparison__table tbody th { font-weight: 600; }
.pw-comparison__mobile-label { display: none; }
.pw-comparison__source { font-size: .85rem; line-height: 1.8; margin: 1rem 0 3rem; max-width: 65rem; }
.pw-comparison__two-col, .pw-comparison__workflow { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.pw-comparison__two-col h3 { color: var(--pw-story-accent); font-size: 1.35rem; line-height: 1.4; }
.pw-comparison__panel { background: var(--aif-surface); color: var(--aif-text); padding: clamp(1.5rem,3vw,3rem); border: 1px solid var(--aif-border); border-radius: 1rem; }
.pw-comparison__panel-label { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.pw-comparison__panel-label span { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--aif-brand-navy); color: var(--aif-on-accent); }
.pw-comparison__panel h3 { color: inherit; font-size: 1.6rem; line-height: 1.35; }
.pw-comparison__panel p { color: var(--aif-text-muted); line-height: 1.8; }
@media (max-width: 760px) {
  .pw-comparison__two-col, .pw-comparison__workflow { grid-template-columns: 1fr; }
  .pw-comparison__table, .pw-comparison__table tbody, .pw-comparison__table tr, .pw-comparison__table th, .pw-comparison__table td { display: block; width: auto; }
  .pw-comparison__table { background: transparent; }
  .pw-comparison__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .pw-comparison__table tr { margin-bottom: 1.5rem; background: var(--aif-surface); }
  .pw-comparison__table th, .pw-comparison__table td { padding: 1rem; border-bottom: 0; }
  .pw-comparison__table tr > :last-child { border-bottom: 1px solid var(--aif-border); }
  .pw-comparison__table tbody th { background: var(--aif-brand-navy); color: var(--aif-on-accent); }
  .pw-comparison__mobile-label { display: block; font-weight: 600; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .4rem; }
}

/* Approved leadership illustrations retain their full transparent canvas. */
#leadership .pw-resource-card--person .pw-resource-card__image {
  aspect-ratio: 600 / 515;
  background: var(--aif-brand-navy);
}
#leadership .pw-resource-card--person .pw-resource-card__image img {
  object-fit: contain;
  transform: none;
}

/* Comparison hero: copy and CTA paired with an illustrative HTML workflow. */
.pw-comparison-hero__layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.pw-comparison-hero .pw-resource-hero__bottom { flex-direction: column; align-items: flex-start; gap: 1.75rem; }
body:not(.pw-home-page) .pw-comparison-hero h1 { font-size: clamp(2.5rem, 3.6vw, 4rem); margin-top: 0; }
.pw-comparison-hero__graphic { min-width: 0; width: 100%; border: 1px solid var(--pw-story-accent); border-radius: 1rem; overflow: hidden; background: var(--aif-ink); box-shadow: var(--pw-shadow-lg); }
.pw-comparison-hero__bar { display: flex; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.4rem; background: var(--aif-brand-navy); font-size: .75rem; }
.pw-comparison-hero__bar > :first-child { letter-spacing: .14em; font-weight: 700; }
.pw-comparison-hero__canvas { padding: clamp(1rem, 2vw, 2rem); }
.pw-comparison-hero__option { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem; border: 1px solid var(--pw-story-accent); border-radius: .75rem; }
.pw-comparison-hero__option small { display: block; font-size: .75rem; font-weight: 400; margin-top: .35rem; }
.pw-comparison-hero__option strong { font-size: 1.7rem; line-height: 1.2; }
.pw-comparison-hero__option--prokurio { position: relative; margin-top: 1rem; background: var(--aif-on-accent); color: var(--aif-ink); border: 2px solid var(--aif-orange); }
.pw-comparison-hero__option--prokurio > div > span { font-size: 1.4rem; font-weight: 600; }
.pw-comparison-hero__option--prokurio strong { color: var(--aif-orange); }
.pw-comparison-hero__option--prokurio p { flex-basis: 100%; margin: 0; padding-top: 1rem; border-top: 1px solid var(--aif-ink); font-size: .85rem; }
.pw-comparison-hero__note { font-size: .75rem; line-height: 1.6; margin: 1.25rem 0 0; color: var(--pw-story-accent); }
@media (max-width: 980px) { .pw-comparison-hero__layout { grid-template-columns: 1fr; } .pw-comparison-hero__graphic { max-width: 38rem; justify-self: center; } }

/* Keep the comparison invitation action beneath its supporting content. */
.pw-resource-cta--stacked .pw-container { flex-direction: column; align-items: flex-start; }
.pw-resource-cta--stacked .pw-container > div { max-width: 60rem; }

/* Pricing categories follow the shared content-tab treatment. */
.pw-pricing-tabs__nav { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; padding-block: 2rem; }
.pw-pricing-tabs__nav a { color: rgb(255 255 255 / 28%); font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; padding: .4rem 0; border: 0; line-height: 1.25; transition: color .25s ease; }
.pw-pricing-tabs__nav a:hover, .pw-pricing-tabs__nav a:focus-visible { color: var(--pw-story-accent); }
.pw-pricing-tabs__nav a[aria-selected="true"] { color: var(--aif-on-accent); }
.pw-pricing-tabs__nav a:focus-visible, [data-pricing-panel]:focus-visible { outline: 2px solid var(--pw-story-accent); outline-offset: 5px; }
.pw-pricing-tabs [data-pricing-panel] { background: transparent; padding-top: 2rem; }
.pw-pricing-tabs [data-pricing-panel][hidden] { display: none; }
.pw-pricing-page .pw-plan--featured { border: 2px solid var(--aif-orange); background: var(--aif-brand-navy); color: var(--aif-on-accent); box-shadow: var(--pw-shadow-lg); }
.pw-pricing-page .pw-plan--featured .pw-plan__flag { align-self: stretch; margin: -28px -28px 1.75rem; padding: .8rem 1rem; text-align: center; border-radius: var(--aif-radius-lg) var(--aif-radius-lg) 0 0; background: var(--aif-orange); color: var(--aif-on-accent); }
.pw-pricing-page .pw-plan--featured :is(.pw-plan__name, .pw-plan__price, .pw-plan__price span, .pw-plan__desc, .pw-plan__list) { color: var(--aif-on-accent); }
.pw-pricing-page .pw-plan--featured .pw-plan__name { font-weight: 700; }
@media (max-width: 760px) { .pw-pricing-tabs__nav { gap: 1rem; } .pw-pricing-tabs__nav a { font-size: .7rem; } }

/* Pricing uses the shared text-tab treatment; MCP is an upcoming product graphic. */
.pw-pricing-tabs__nav a { font-size: clamp(.58rem, .75vw, .72rem); font-weight: 750; letter-spacing: .04em; }
.pw-pricing-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.pw-pricing-mcp { width: 100%; min-width: 0; border: 1px solid #41618c; border-radius: 1rem; background: #061525; box-shadow: 0 24px 70px #0005; overflow: hidden; }
.pw-pricing-mcp__bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding: 1rem 1.5rem; background: #132d50; font-size: .75rem; font-weight: 650; }
.pw-pricing-mcp__badge { color: #fff; background: var(--aif-orange); border: 1px solid var(--aif-orange); border-radius: 2rem; padding: .4rem .7rem; font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; }
.pw-pricing-mcp__body { padding: clamp(1.25rem, 2.5vw, 2.5rem); }
.pw-pricing-mcp__flow { display: flex; align-items: center; gap: .75rem; margin-bottom: 2rem; }
.pw-pricing-mcp__node { flex: 1; padding: 1rem .65rem; border: 1px solid #41618c; border-radius: .65rem; text-align: center; color: #8db2e8; font-size: .8rem; line-height: 1.5; }
.pw-pricing-mcp__node--destination { background: #193b65; color: #fff; }
.pw-pricing-mcp__connector { color: #8db2e8; font-size: 1.5rem; }
.pw-pricing-mcp h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); margin: 0 0 .75rem; }
.pw-pricing-mcp p { font-size: 1rem; line-height: 1.6; color: #c8d8ed; margin: 0 0 1.5rem; }
.pw-pricing-mcp__price { border-top: 1px solid #41618c; padding-top: 1.25rem; font-size: 2rem; font-weight: 650; color: #fff; }
.pw-pricing-mcp__price span { font-size: .85rem; font-weight: 400; color: #8db2e8; }
@media (max-width: 860px) { .pw-pricing-hero__layout { grid-template-columns: 1fr; } .pw-pricing-mcp { max-width: 36rem; justify-self: center; } }

/* Keep pricing hero artwork inside the same content grid as the plans. */
.pw-pricing-page .pw-pricing-hero > .pw-pricing-hero__layout {
  max-width: var(--aif-width-wide) !important;
  padding-inline: var(--pw-gutter) !important;
}

.pw-pricing-mcp h2 { display: flex; align-items: center; gap: .8rem; }
.pw-pricing-mcp__icon { width: 36px; height: 36px; flex: 0 0 auto; filter: brightness(0) invert(1); }

/* Partner marks retain their original proportions without hover resampling. */
.pw-resource-card--partner .pw-resource-card__image { display: grid; place-items: center; }
.pw-resource-card--partner .pw-resource-card__image img { width: 100%; height: 100%; max-width: 320px; object-fit: contain; transform: none; }

/* Hero headline bases stay white; highlighted children keep their accent colors. */
body #main :is(.pw-hero, .pw-detail-hero, .pw-resource-hero, .pw-mcp-hero,
    .spend-hero, .security-hero, .hero) h1,
body #main .spend-hero__message h2 {
  color: #fff;
}

.pw-home-page .pw-scenes { grid-template-rows: auto 650px; }

/* Homepage hero: Phil's October 2026 product examples. These styles and
   partials are isolated from the shared illustrations on platform pages. */
.pw-home-demo {
  --pw-demo-cycle: 16s;
  display: grid;
  grid-template-rows: 36px minmax(0, 1fr);
  font-size: 12px;
  line-height: 1.5;
}
.pw-home-demo--own-ai { --pw-demo-cycle: 20s; }
.pw-home-demo h3, .pw-home-demo h4, .pw-home-demo p { margin: 0; }
.pw-home-demo h3 { color: var(--aif-text); font-size: clamp(1rem, 1.5vw, 1.3rem); line-height: 1.3; }
.pw-home-demo h4 { color: var(--aif-text); font-size: .8rem; }
.pw-home-demo__heading { display: grid; gap: .35rem; }
.pw-home-demo__heading > small, .pw-home-demo__metric > small, .pw-home-demo__field > small {
  color: var(--aif-accent); font-size: .58rem; font-weight: 600; letter-spacing: .08em;
}
.pw-home-demo__frame, .pw-home-demo__content {
  min-width: 0; min-height: 0; display: flex; flex-direction: column;
  gap: 1rem; padding: clamp(1rem, 2vw, 1.75rem);
}
.pw-home-demo__frame { position: absolute; inset: 36px 0 0; }
.pw-home-demo__frame--intro { visibility: hidden; opacity: 0; }
.pw-home-demo__frame--result { visibility: visible; opacity: 1; }
.pw-home-demo__split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem; min-height: 0; }
.pw-home-demo__panel { display: flex; flex-direction: column; gap: .85rem; min-width: 0; padding: 1rem; border: 1px solid var(--aif-border); border-radius: 8px; background: var(--aif-surface); }
.pw-home-demo__caption, .pw-home-demo__footnote { color: var(--aif-text-muted); font-size: .65rem; }
.pw-home-demo__question { align-self: flex-end; padding: .85rem 1rem; border: 1px solid var(--aif-border); border-radius: 10px 10px 2px 10px; background: var(--aif-surface-2); color: var(--aif-text); font-size: .8rem; }
.pw-home-demo--forecast .pw-home-demo__question { align-self: stretch; font-size: clamp(.85rem, 1.4vw, 1.15rem); }
.pw-home-demo__answer { display: grid; gap: .65rem; padding: .85rem; border-left: 2px solid var(--aif-accent); background: var(--aif-surface-2); color: var(--aif-text-muted); font-size: .75rem; }
.pw-home-demo__answer strong { color: var(--aif-text); }
.pw-home-demo__answer ul { margin: 0; padding-left: 1rem; }
.pw-home-demo__answer li + li { margin-top: .35rem; }
.pw-home-demo__input { margin-top: auto; border: 1px solid var(--aif-border); border-radius: 6px; padding: .65rem .8rem; color: var(--aif-text-muted); font-size: .7rem; }
.pw-home-demo__field { display: grid; gap: .35rem; padding: .7rem .85rem; border: 1px solid var(--aif-border); border-radius: 6px; }
.pw-home-demo__field strong { font-weight: 500; overflow-wrap: anywhere; }
.pw-home-demo__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.pw-home-demo__chips span, .pw-home-demo__pill { padding: .45rem .7rem; border: 1px solid var(--aif-border); border-radius: 6px; background: var(--aif-surface-2); color: var(--aif-accent); font-size: .7rem; }
.pw-home-demo__action { display: inline-block; align-self: flex-start; padding: .65rem 1rem; border-radius: 6px; background: var(--aif-accent); color: var(--aif-ink); font-size: .75rem; font-weight: 650; }
.pw-home-demo__costs { border: 1px solid var(--aif-border); border-radius: 6px; overflow: hidden; }
.pw-home-demo__costs > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .75rem 1rem; background: var(--aif-surface-2); }
.pw-home-demo__costs > div + div { border-top: 1px solid var(--aif-border); }
.pw-home-demo__costs b { display: inline-block; min-width: 1.8rem; color: var(--aif-accent); }
.pw-home-demo__costs .pw-home-demo__cost-head { padding: .5rem 1rem; background: var(--aif-surface); color: var(--aif-text-muted); font-size: .6rem; letter-spacing: .04em; }
.pw-home-demo__costs .pw-home-demo__total { background: var(--aif-surface); font-size: 1rem; }
.pw-home-demo__total strong { color: var(--aif-accent); }
.pw-home-demo__metrics { display: grid; gap: .65rem; }
.pw-home-demo__metrics--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pw-home-demo__metric { min-width: 0; display: grid; gap: .35rem; padding: .8rem; border: 1px solid var(--aif-border); border-radius: 6px; background: var(--aif-surface-2); }
.pw-home-demo__metric strong { color: var(--aif-text); font-size: clamp(1rem, 1.9vw, 1.65rem); line-height: 1.2; font-variant-numeric: tabular-nums; }
.pw-home-demo__metric > span { font-size: .6rem; color: var(--aif-text-muted); }
.pw-home-demo__metrics--three > :nth-child(2) strong { color: var(--aif-teal-deep); }
.pw-home-demo__bars { display: flex; align-items: stretch; gap: .65rem; height: 150px; padding-top: .5rem; border-bottom: 1px solid var(--aif-border); background: repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), var(--aif-border) 25%); }
.pw-home-demo__bars > div { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; min-width: 0; }
.pw-home-demo__column { position: relative; display: block; width: 72%; height: var(--pw-demo-value); }
.pw-home-demo__column i, .pw-home-demo__column b { display: block; position: absolute; inset: 0; border-radius: 3px 3px 0 0; background: var(--aif-accent); }
.pw-home-demo__column b { top: auto; height: var(--pw-demo-value); background: var(--aif-orange); }
.pw-home-demo__bars small { position: absolute; top: calc(100% + 5px); color: var(--aif-text-muted); font-size: .55rem; }
.pw-home-demo__bars--maintenance .pw-home-demo__column i { background: var(--aif-text-dim); }
.pw-home-demo__bars--maintenance .pw-home-demo__column b { background: var(--aif-accent); }
.pw-home-demo__bars--budget .pw-home-demo__column { display: flex; flex-direction: column; }
.pw-home-demo__bars--budget .pw-home-demo__column i { position: static; min-height: 0; border-radius: 0; background: var(--aif-teal-deep); }
.pw-home-demo__bars--budget .pw-home-demo__column .pw-home-demo__segment--maintenance { background: var(--aif-accent); }
.pw-home-demo__bars--budget .pw-home-demo__column .pw-home-demo__segment--new { background: var(--aif-orange); }
.pw-home-demo--sharing .pw-home-demo__bars { height: 130px; margin-bottom: .9rem; }
.pw-home-demo__legend { display: flex; justify-content: center; gap: 1rem; padding-top: .7rem; color: var(--aif-text-muted); font-size: .6rem; }
.pw-home-demo__legend span::before { display: inline-block; width: 6px; height: 6px; margin-right: .35rem; border-radius: 50%; background: var(--aif-text-dim); content: ''; }
.pw-home-demo__legend span + span::before, .pw-home-demo__legend--filings span::before { background: var(--aif-accent); }
.pw-home-demo__legend--filings span + span::before { background: var(--aif-orange); }
.pw-home-demo__filing-grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr)); gap: .45rem; font-size: .65rem; }
.pw-home-demo__filing-grid > :nth-child(-n+5) { color: var(--aif-text-muted); font-size: .55rem; }
.pw-home-demo__share-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pw-home-demo__share-actions { display: flex; align-items: center; gap: .8rem; }
.pw-home-demo__notice { padding: .6rem .8rem; border: 1px solid var(--aif-accent); border-radius: 6px; color: var(--aif-accent); font-size: .65rem; }
.pw-home-demo__stack { display: grid; gap: .6rem; }
.pw-home-demo__stack > span { display: grid; gap: .25rem; border: 1px solid var(--aif-border); border-left: 2px solid var(--aif-teal-deep); border-radius: 6px; padding: .6rem .8rem; background: var(--aif-surface-2); }
.pw-home-demo__stack small { color: var(--aif-text-muted); font-size: .55rem; letter-spacing: .05em; }
.pw-home-demo__stack b { color: var(--aif-teal-deep); font-size: .75rem; }
@keyframes pw-home-demo-intro {
  0%, 39% { opacity: 1; visibility: visible; transform: translateY(0); }
  43%, 100% { opacity: 0; visibility: hidden; transform: translateY(-6px); }
}
@keyframes pw-home-demo-result {
  0%, 40% { opacity: 0; visibility: hidden; transform: translateY(6px); }
  45%, 100% { opacity: 1; visibility: visible; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .pw-js .pw-home-demo__frame--intro { animation: pw-home-demo-intro var(--pw-demo-cycle) ease-in-out both; }
  .pw-js .pw-home-demo__frame--result { animation: pw-home-demo-result var(--pw-demo-cycle) ease-in-out both; }
  .pw-js .pw-home-demo--whatif .pw-home-demo__answer { animation: pw-screen-reveal 1s 1.4s ease both; }
}
@media (max-width: 900px) {
  .pw-home-demo__split { gap: .65rem; }
  .pw-home-demo__panel { padding: .75rem; gap: .6rem; }
  .pw-home-demo__question, .pw-home-demo__answer { font-size: .7rem; }
}
@media (max-width: 760px) {
  .pw-home-page .pw-scenes { grid-template-rows: auto 1040px; }
  .pw-home-demo__frame, .pw-home-demo__content { padding: .85rem; gap: .75rem; }
  .pw-home-demo__split, .pw-home-demo__share-fields { grid-template-columns: minmax(0, 1fr); }
  .pw-home-demo__metrics--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pw-home-demo__metrics--three > :last-child { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: center; }
  .pw-home-demo__metrics--three > :last-child > span { grid-column: 1 / -1; }
  .pw-home-demo__metric strong { font-size: 1.05rem; }
  .pw-home-demo__bars { height: 125px; gap: .35rem; }
  .pw-home-demo__costs > div { padding: .8rem .6rem; gap: .5rem; font-size: .7rem; }
  .pw-home-demo__costs .pw-home-demo__cost-head { padding: .5rem .6rem; font-size: .5rem; }
  .pw-home-demo__costs .pw-home-demo__total { font-size: .9rem; }
  .pw-home-demo__share-actions { flex-wrap: wrap; }
  .pw-home-demo__stack > span { grid-template-columns: minmax(0, 1fr) auto; column-gap: .5rem; }
  .pw-home-demo__stack small { grid-column: 1 / -1; }
  .pw-home-demo__stack strong { font-size: .7rem; }
}
.pw-home-demo--sharing .pw-home-demo__frame--intro .pw-home-demo__panel { gap: .6rem; }
.pw-home-demo--sharing .pw-home-demo__field { padding: .5rem .7rem; }
@media (max-width: 380px) {
  .pw-home-page .pw-scenes { grid-template-rows: auto 1180px; }
}
@media (max-width: 760px) {
  .pw-home-demo--sharing .pw-home-demo__field { grid-template-columns: auto minmax(0, 1fr); align-items: baseline; column-gap: .6rem; }
}


/* Fall '26 launch: a continuous branded canvas and a single viewport stage. */
html:has(body.pw-launch-page),
body.pw-launch-page {
  scrollbar-width: none;
}
html:has(body.pw-launch-page)::-webkit-scrollbar,
body.pw-launch-page::-webkit-scrollbar {
  display: none;
}
.pw-launch-page {
  --pw-launch-border: color-mix(in srgb, var(--pw-story-accent) 24%, transparent);
  --pw-launch-muted: color-mix(in srgb, var(--aif-on-accent) 74%, transparent);
  background: var(--aif-ink); color: var(--aif-on-accent); overflow-x: clip;
}
.pw-launch-header { position: absolute; z-index: 50; inset: 0 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 88px; padding: 1rem clamp(20px, 3vw, 48px); pointer-events: none; }
.pw-launch-header > * { pointer-events: auto; }
.pw-launch-header__name { justify-self: start; color: var(--aif-on-accent); font-size: 1.2rem; font-weight: 600; letter-spacing: -.035em; }
.pw-launch-header__symbol { display: block; width: 53px; height: 41px; object-fit: contain; }
.pw-launch-header__edition { justify-self: end; font-size: 1rem; font-weight: 500; }
.pw-launch-page :is(a, button):focus-visible { outline: 3px solid var(--pw-story-accent); outline-offset: 6px; }
.pw-launch-scroll { position: relative; isolation: isolate; }
.pw-launch-stage { position: relative; }
.pw-launch-atmosphere { position: fixed; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse 85vw 85rem at 25% 25rem, rgb(47 112 212 / 34%), transparent 75%), radial-gradient(ellipse 80vw 100rem at 80% 75rem, rgb(89 67 174 / 25%), transparent 75%), radial-gradient(ellipse 75vw 90rem at 18% 120rem, rgb(89 67 174 / 20%), transparent 75%), var(--aif-ink); }
.pw-launch-background-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pw-launch-atmosphere__glow { position: absolute; inset: -20%; background: radial-gradient(ellipse at 40% 40%, color-mix(in srgb, var(--aif-sky) 12%, transparent), transparent 55%); }

.pw-launch-floats { position: absolute; inset: -5%; }
.pw-launch-float { position: absolute; width: clamp(100px, 16vw, 260px); opacity: .35; filter: blur(1px); }
.pw-launch-float > div { will-change: transform; }
.pw-launch-proof-card { display: block; width: 100%; background-image: url("../img/launch/booth-proof.8c1730cf2486.png"); background-repeat: no-repeat; border-radius: 5px; box-shadow: 0 20px 70px color-mix(in srgb, var(--aif-ink) 65%, transparent); }
.pw-launch-float--1 { left: -3%; top: 11%; transform: rotate(-12deg); }
.pw-launch-float--2 { right: 2%; top: -4%; width: 13vw; filter: blur(3px); opacity: .23; }
.pw-launch-float--3 { left: 25%; top: 3%; width: 9vw; filter: blur(5px); opacity: .2; }
.pw-launch-float--4 { right: -4%; top: 42%; transform: rotate(8deg); opacity: .5; }
.pw-launch-float--5 { left: 6%; bottom: 5%; transform: rotate(7deg); opacity: .55; }
.pw-launch-float--6 { right: 12%; bottom: 1%; width: 13vw; filter: blur(3px); }
.pw-launch-float--7 { left: 45%; bottom: -10%; width: 11vw; filter: blur(5px); opacity: .18; }
.pw-launch-float--8 { right: 25%; top: 15%; width: 7vw; filter: blur(6px); opacity: .14; }
.pw-launch-float--9 { left: 12%; top: 43%; width: 7vw; filter: blur(4px); opacity: .24; }
.pw-launch-float--10 { right: 7%; top: 22%; width: 10vw; transform: rotate(-6deg); }
.pw-launch-float--11 { left: 30%; bottom: 17%; width: 6vw; filter: blur(5px); opacity: .17; }
.pw-launch-float--12 { right: 31%; bottom: 27%; width: 8vw; filter: blur(4px); opacity: .2; }
.pw-launch-panel { min-height: 100svh; display: grid; place-items: center; padding: 110px var(--pw-gutter) 85px; }
.pw-launch-panel__content { width: min(100%, 1200px); }
.pw-launch-panel--hero, .pw-launch-panel--closing { text-align: center; }
.pw-launch-page #main .pw-launch-panel :is(h1,h2,h3) { color: var(--aif-on-accent); }
.pw-launch-label { color: var(--pw-story-accent); font-size: .68rem; font-weight: 600; line-height: 1.7; letter-spacing: .16em; text-transform: uppercase; }
body.pw-launch-page #main .pw-launch-panel h1 { font-size: clamp(2.5rem, 8.4vw, 8.5rem) !important; line-height: .98 !important; letter-spacing: -.06em; margin: .35em 0 .2em; }
.pw-launch-panel :is(h1,h2) span { color: var(--pw-story-accent); }
.pw-launch-hero__line { font-size: clamp(1.4rem, 3vw, 2.5rem); font-weight: 300; letter-spacing: -.035em; margin: 0; }
.pw-launch-hero__intro { font-size: .95rem; color: var(--pw-launch-muted); margin: 2rem 0 0; }
.pw-launch-panel h2 { font-size: clamp(2.5rem, 6vw, 6.5rem); line-height: 1; letter-spacing: -.05em; }
.pw-launch-feature { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.pw-launch-feature__copy > p:not(.pw-launch-label) { max-width: 36ch; font-size: clamp(.9rem, 1.2vw, 1.1rem); line-height: 1.75; color: var(--pw-launch-muted); }
.pw-launch-feature__copy > a { display: inline-flex; gap: 1rem; padding-block: .6rem; color: var(--pw-story-accent); font-size: .8rem; }
.pw-launch-feature__graphic { min-width: 0; margin: 0; }
.pw-launch-feature > * { min-width: 0; overflow-wrap: normal; }
.pw-launch-feature__graphic figcaption { color: var(--pw-launch-muted); font-size: .6rem; margin-top: .7rem; }
.pw-launch-feature .pw-home-demo { position: relative; width: 100%; height: auto; min-height: 0; transform: none; border-radius: 16px; }
.pw-launch-feature .pw-home-demo__frame--intro { display: none; }
.pw-launch-feature .pw-home-demo__frame--result { position: static; visibility: visible; opacity: 1; animation: none; }
.pw-launch-feature .pw-home-demo__frame { padding: 1.2rem; }
.pw-launch-feature .pw-home-demo__costs > div { padding: .6rem .8rem; font-size: .75rem; }
.pw-launch-feature .pw-home-demo__costs .pw-home-demo__cost-head { padding: .4rem .8rem; font-size: .55rem; }
.pw-launch-feature .pw-home-demo__heading h3 { font-size: 1.1rem; }
.pw-launch-feature .pw-home-demo__footnote, .pw-launch-feature .pw-home-demo__caption { font-size: .6rem; }
.pw-launch-budget, .pw-launch-conversation { border: 1px solid var(--pw-launch-border); border-radius: 18px; background: var(--aif-ink); overflow: hidden; box-shadow: 0 25px 80px color-mix(in srgb, var(--aif-ink) 55%, transparent); }
.pw-launch-budget > header, .pw-launch-conversation > header { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: 1rem 1.4rem; border-bottom: 1px solid var(--pw-launch-border); font-size: .75rem; }
.pw-launch-budget > header small, .pw-launch-conversation > header small { color: var(--pw-story-accent); font-size: .65rem; }
.pw-launch-budget__body { padding: clamp(1.2rem, 3vw, 2.2rem); }
.pw-launch-budget__body > .pw-launch__label { font-size: .62rem; letter-spacing: .1em; color: var(--pw-story-accent); }
.pw-launch-budget h3 { font-size: 2rem; line-height: 1.15; letter-spacing: -.03em; }
.pw-launch-budget__overview { display: flex; align-items: center; gap: 1.5rem; margin-block: 2rem; }
.pw-launch-donut { position: relative; width: 45%; flex-shrink: 0; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; padding: 16px; background: conic-gradient(var(--aif-sky) 0 48%, var(--aif-orange) 48% 75%, var(--aif-lavender) 75% 100%); }
.pw-launch-donut > div { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: var(--aif-ink); }
.pw-launch-donut strong { font-size: 1.15rem; font-weight: 600; }
.pw-launch-donut span { font-size: .7rem; color: var(--pw-launch-muted); }
.pw-launch-budget__overview ul { display: grid; gap: 1.2rem; list-style: none; padding: 0; margin: 0; }
.pw-launch-budget__overview li { display: flex; align-items: baseline; gap: .6rem; }
.pw-launch-budget__overview li i { width: 7px; height: 7px; border-radius: 50%; background: var(--aif-sky); flex-shrink: 0; }
.pw-launch-budget__overview li:nth-child(2) i { background: var(--aif-orange); }
.pw-launch-budget__overview li:nth-child(3) i { background: var(--aif-lavender); }
.pw-launch-budget__overview li div { display: grid; gap: .3rem; }
.pw-launch-budget__overview li strong { font-size: .8rem; font-weight: 500; }
.pw-launch-budget__overview li span { font-size: .65rem; color: var(--pw-launch-muted); }
.pw-launch-budget__foot { display: flex; justify-content: space-between; border-top: 1px solid var(--pw-launch-border); padding-top: 1rem; font-size: .75rem; color: var(--pw-story-accent); }
.pw-launch-conversation > header { justify-content: start; }
.pw-launch-conversation > header small { margin-left: auto; }
.pw-launch-conversation__body { display: grid; gap: 1.4rem; padding: 1.5rem; }
.pw-launch-conversation__question { justify-self: end; padding: .9rem 1.2rem; margin: 0; border: 1px solid var(--pw-launch-border); border-radius: 14px 14px 0 14px; font-size: .8rem; background: color-mix(in srgb, var(--aif-brand-navy) 30%, var(--aif-ink)); }
.pw-launch-conversation__answer { padding: 1.3rem; border-left: 2px solid var(--aif-orange); }
.pw-launch-conversation__answer h3 { font-size: clamp(1.4rem, 2.5vw, 2.2rem); line-height: 1.2; letter-spacing: -.035em; }
.pw-launch-conversation__answer > p { color: var(--pw-launch-muted); font-size: .8rem; }
.pw-launch-conversation__bars { display: flex; align-items: end; gap: .7rem; height: 70px; }
.pw-launch-conversation__bars i { width: 16%; height: 60%; background: var(--aif-sky); border-radius: 4px 4px 0 0; }
.pw-launch-conversation__bars i:nth-child(2) { height: 85%; }
.pw-launch-conversation__bars i:nth-child(3) { height: 45%; background: var(--aif-orange); }
.pw-launch-conversation__bars i:nth-child(4) { height: 100%; }
.pw-launch-conversation__bars i:nth-child(5) { height: 70%; background: var(--aif-lavender); }
.pw-launch-conversation__input { border: 1px solid var(--pw-launch-border); border-radius: 8px; padding: .7rem 1rem; color: var(--pw-launch-muted); font-size: .75rem; }
.pw-launch-film { text-align: center; }
.pw-launch-film h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); }
.pw-launch-film video { display: block; width: auto; height: min(54svh, 560px); max-width: 100%; margin: 1.5rem auto 0; border-radius: 20px; background: var(--aif-ink); box-shadow: 0 25px 100px color-mix(in srgb, var(--aif-ink) 65%, transparent); }
.pw-launch-film__transcript { font-size: .65rem; color: var(--pw-launch-muted); margin: .9rem 0 0; }
.pw-launch-panel--closing .pw-launch-panel__content > p:not(.pw-launch-label) { color: var(--pw-launch-muted); margin: 1.5rem 0 2rem; }
.pw-launch-panel--closing .pw-btn { border-radius: 99px; gap: 1.5rem; }
.pw-launch-rail { position: absolute; z-index: 30; bottom: max(20px, env(safe-area-inset-bottom)); inset-inline: clamp(20px, 3vw, 48px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.pw-launch-rail[hidden] { display: none; }
.pw-launch-rail button { min-height: 44px; padding: .6rem .3rem; background: none; color: var(--pw-launch-muted); font: inherit; font-size: .7rem; border: 0; cursor: pointer; }
.pw-launch-motion { justify-self: start; }
.pw-launch-next { display: inline-flex; align-items: center; gap: .8rem; justify-self: center; }
.pw-launch-counter { justify-self: end; color: var(--pw-launch-muted); font-size: .65rem; margin: 0; letter-spacing: .1em; }
.pw-launch-counter > span:first-child { color: var(--aif-on-accent); }
.pw-launch-scroll.is-enhanced { height: 600svh; }
.is-enhanced .pw-launch-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.is-enhanced .pw-launch-atmosphere { position: absolute; z-index: 0; }
.is-enhanced .pw-launch-panels { position: relative; z-index: 1; height: 100%; }
.is-enhanced .pw-launch-panel { position: absolute; inset: 0; min-height: 0; }
/* Shadows paint outside the content box; only the viewport stage clips transitions. */
.is-enhanced .pw-launch-panel__content { min-width: 0; overflow: visible; }
@media (prefers-reduced-motion: no-preference) {
  .is-enhanced .pw-launch-float > div { animation: pw-launch-drift 22s ease-in-out infinite alternate; }
  .is-enhanced .pw-launch-float:nth-child(2n) > div { animation-duration: 29s; animation-delay: -11s; }
  .is-enhanced .pw-launch-float:nth-child(3n) > div { animation-duration: 25s; animation-delay: -6s; }
  .is-enhanced .pw-launch-atmosphere__glow { animation: pw-launch-glow 28s ease-in-out infinite alternate; }
  .is-paused .pw-launch-float > div, .is-paused .pw-launch-atmosphere__glow { animation-play-state: paused; }
}
@keyframes pw-launch-drift { from { transform: translate3d(-10px, 18px, 0) rotate(-3deg); } to { transform: translate3d(15px, -24px, 0) rotate(4deg); } }
@keyframes pw-launch-glow { from { transform: translate(-3%, 0) scale(1); } to { transform: translate(4%, 3%) scale(1.12); } }
@media (max-width: 760px) {
  .pw-launch-header { min-height: 70px; padding: 12px 18px; }
  .pw-launch-header__name { font-size: 1rem; }
  .pw-launch-header__symbol { width: 42px; height: 33px; }
  .pw-launch-header__edition { font-size: .8rem; }
  .pw-launch-panel { padding: 85px 24px 75px; }
  .pw-launch-feature { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; width: min(100%, 520px); }
  .pw-launch-feature__copy h2 { font-size: clamp(2.25rem, 7.5vw, 3.5rem); }
  .pw-launch-feature__copy h2 br { display: none; }
  .pw-launch-feature__copy > p:not(.pw-launch-label) { font-size: .82rem; line-height: 1.6; margin-bottom: .5rem; }
  .pw-launch-feature__copy > a { font-size: .7rem; padding-block: .2rem; }
  .pw-launch-label { font-size: .58rem; margin-bottom: .55rem; }
  .pw-launch-feature .pw-home-demo__frame { gap: .55rem; padding: .8rem; }
  .pw-launch-feature .pw-home-demo__costs > div { padding: .4rem .6rem; font-size: .65rem; }
  .pw-launch-feature .pw-home-demo__costs .pw-home-demo__cost-head { font-size: .5rem; padding: .3rem .6rem; }
  .pw-launch-feature .pw-home-demo__heading h3 { font-size: .9rem; }
  .pw-launch-feature .pw-home-demo__caption { display: none; }
  .pw-launch-budget__body { padding: 1rem; }
  .pw-launch-budget__body > .pw-launch__label, .pw-launch-budget__body > h3 { display: none; }
  .pw-launch-budget__overview { margin: .5rem 0 1rem; gap: 1rem; }
  .pw-launch-donut { padding: 12px; }
  .pw-launch-donut strong { font-size: .85rem; }
  .pw-launch-donut span { font-size: .6rem; }
  .pw-launch-budget__overview li span { font-size: .58rem; }
  .pw-launch-budget__overview li strong { font-size: .72rem; }
  .pw-launch-budget__overview ul { gap: .7rem; }
  .pw-launch-budget > header, .pw-launch-conversation > header { padding: .8rem 1rem; font-size: .65rem; }
  .pw-launch-conversation__body { padding: .9rem; gap: .75rem; }
  .pw-launch-conversation__answer { padding: .8rem; }
  .pw-launch-conversation__answer h3 { font-size: 1.4rem; }
  .pw-launch-conversation__answer > p, .pw-launch-conversation__question { font-size: .7rem; }
  .pw-launch-conversation__bars { height: 45px; }
  .pw-launch-conversation__input { padding: .5rem .8rem; font-size: .65rem; }
  .pw-launch-feature__graphic figcaption { font-size: .5rem; margin-top: .4rem; }
  .pw-launch-rail { inset-inline: 18px; gap: .5rem; }
  .pw-launch-rail button { font-size: .6rem; }
  .pw-launch-next { gap: .4rem; }

  .pw-launch-float { width: 34vw; }
  .pw-launch-float--3, .pw-launch-float--7, .pw-launch-float--8, .pw-launch-float--11 { display: none; }
  .pw-launch-float--2 { right: 10%; width: 24vw; }
  .pw-launch-float--6 { right: -5%; width: 25vw; }
}
@media (max-height: 649px), (prefers-reduced-motion: reduce) {
  .pw-launch-panel { min-height: 100svh; }
  .pw-launch-atmosphere { position: fixed; }
  .pw-launch-film video { height: min(70svh, 560px); }
}

/* Optional film stays outside the three-chapter scroll sequence. */
.pw-launch-film-open { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 44px; margin-top: 1.3rem; padding: .6rem 1rem; color: var(--aif-on-accent); background: transparent; border: 1px solid var(--pw-launch-border); border-radius: 99px; font: inherit; font-size: .75rem; cursor: pointer; }
.pw-launch-film-open[hidden] { display: none; }
.pw-launch-film-dialog { width: min(92vw, 620px); max-height: 94svh; border: 1px solid var(--pw-launch-border); border-radius: 18px; padding: 1rem; background: var(--aif-ink); color: var(--aif-on-accent); }
.pw-launch-film-dialog::backdrop { background: color-mix(in srgb, var(--aif-ink) 92%, transparent); }
.pw-launch-film-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.pw-launch-film-dialog__header h2 { margin: 0; color: var(--aif-on-accent); font-size: 1rem; }
.pw-launch-film-dialog__header button { color: var(--aif-on-accent); background: none; border: 1px solid var(--pw-launch-border); border-radius: 99px; font: inherit; font-size: .7rem; min-height: 44px; padding: .5rem 1rem; cursor: pointer; }
.pw-launch-film-dialog video { display: block; width: auto; height: min(70svh, 720px); max-width: 100%; margin: auto; border-radius: 10px; }
.pw-launch-film-dialog .pw-launch-film__transcript { text-align: center; }

.pw-launch-feature__copy > a.pw-btn { min-height: 44px; margin-top: .5rem; color: var(--aif-on-accent); }

@media (prefers-reduced-motion: reduce) {
  .pw-launch-background-video { display: none; }
}

/* Launch closing message follows the three product scenes. */
.pw-launch-page #main .pw-launch-panel--closing h2 {
  max-width: 1050px;
  margin: 0 auto;
  font-size: clamp(2rem, 5.2vw, 4.8rem);
  font-weight: 800;
  line-height: 1.12;
}
.pw-launch-panel--closing h2 span { color: var(--aif-orange); }
.pw-launch-closing__lines { margin: clamp(1.5rem, 4vh, 3rem) 0; }
.pw-launch-closing__lines p {
  margin: .65em 0;
  font-size: clamp(1rem, 2.25vw, 1.8rem);
  font-weight: 700;
  line-height: 1.4;
}
.pw-launch-closing__lines [data-launch-closing-item] { display: inline-block; }
.pw-launch-closing__lines p:nth-child(odd) > span:last-child,
.pw-launch-closing__lines p:nth-child(even) > span:first-child { color: var(--pw-story-accent); }
.pw-launch-panel :is(h1, h2) { overflow-wrap: normal; word-break: normal; hyphens: none; }
.pw-launch-feature__copy h2 { font-size: clamp(2.25rem, 5vw, 5.5rem); }
@media (max-width: 760px) {
  .pw-launch-panel--closing h2 br { display: none; }
  .pw-launch-panel--closing h2 span { display: block; margin-bottom: .25em; }
}

@media (prefers-reduced-motion: no-preference) {
  .pw-launch-scroll.is-enhanced.is-opening:not(.is-paused) .pw-launch-next svg {
    animation: pw-launch-scroll-cue 2.4s 1.4s ease-in-out infinite;
  }
}
@keyframes pw-launch-scroll-cue {
  0%, 50%, 100% { transform: translateY(0); }
  20% { transform: translateY(6px); }
  35% { transform: translateY(2px); }
}

.pw-launch-next { transition: opacity .3s ease, transform .3s ease, visibility .3s; }
.has-started-scrolling .pw-launch-next {
  opacity: 0;
  transform: translateY(8px);
  visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .pw-launch-next { transition: none; }
}

/* Underline CTA labels separately so decorative arrows stay clean. */
.pw-launch-page .pw-launch-panel a,
.pw-launch-page .pw-launch-panel a:is(:hover, :focus) { text-decoration: none; }
.pw-launch-page .pw-launch-panel a:not(.pw-btn) .pw-launch-cta-label { text-decoration: underline; }

/* Consistent launch CTAs across product scenes and the closing screen. */
.pw-launch-page .pw-launch-panel a.pw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  min-height: 56px;
  max-width: 100%;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  font-size: clamp(.85rem, 1.4vw, 1.1rem);
  font-weight: 600;
  line-height: 1.4;
  color: var(--aif-on-accent);
}
.pw-launch-page .pw-launch-panel a.pw-btn > [aria-hidden] { flex-shrink: 0; }

.pw-launch-hero__intro [data-launch-opening-item] { display: inline-block; }

.pw-launch-page:has(.is-enhanced) .pw-launch-header { position: fixed; }
.pw-launch-section-nav { justify-self: end; display: flex; flex-direction: row; gap: .5rem; }
.pw-launch-section-nav[hidden] { display: none; }
.pw-launch-rail .pw-launch-control {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--pw-launch-border);
  border-radius: 50%;
  background: var(--aif-ink);
  color: var(--aif-on-accent);
}
.pw-launch-rail .pw-launch-control:hover { color: var(--pw-story-accent); }
.pw-launch-rail .pw-launch-control:disabled { opacity: .28; cursor: default; }

.pw-launch-motion__play,
.pw-launch-motion[aria-pressed="true"] .pw-launch-motion__pause { display: none; }
.pw-launch-motion[aria-pressed="true"] .pw-launch-motion__play { display: block; }
.pw-launch-control::after {
  content: attr(aria-label);
  position: absolute;
  bottom: calc(100% + 10px);
  right: 0;
  width: max-content;
  max-width: min(260px, calc(100vw - 48px));
  padding: .5rem .75rem;
  border: 1px solid var(--pw-launch-border);
  border-radius: 6px;
  background: var(--aif-ink);
  color: var(--aif-on-accent);
  font-size: .75rem;
  line-height: 1.4;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.pw-launch-motion::after { right: auto; left: 0; }
.pw-launch-control:is(:hover, :focus-visible)::after { opacity: 1; visibility: visible; }

/* IP Service World: shared launch motion with a continuously reachable CTA. */
.pw-ip-world-page .pw-launch-header { position: fixed; background: color-mix(in srgb, var(--aif-ink) 90%, transparent); }
.pw-ip-world-header-cta { justify-self: end; font-size: .85rem; padding: .65rem 1rem; border-radius: 99px; }
.pw-ip-world-venue { margin: .8rem 0 0; color: var(--pw-launch-muted); font-size: .9rem; }
.pw-ip-world-agenda { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--pw-launch-border); border-radius: 24px; background: color-mix(in srgb, var(--aif-ink) 82%, transparent); }
.pw-ip-world-page #main .pw-ip-world-agenda h3 { font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.15; letter-spacing: -.03em; margin: .6rem 0 1rem; }
.pw-ip-world-agenda p { line-height: 1.6; }
.pw-ip-world-agenda__detail, .pw-ip-world-agenda__footnote { color: var(--pw-launch-muted); }
.pw-ip-world-agenda__footnote { font-size: .85rem; border-top: 1px solid var(--pw-launch-border); padding-top: 1rem; margin-top: 1.5rem; }
.pw-ip-world-page #main .pw-ip-world-agenda a { color: var(--pw-story-accent); text-decoration: underline; text-underline-offset: .2em; }
.pw-ip-world-page #main .pw-launch-panel--closing h2 span { color: var(--pw-story-accent); }
@media (max-width: 600px) {
  .pw-ip-world-page .pw-launch-header { grid-template-columns: 1fr auto; gap: 1rem; }
  .pw-ip-world-page .pw-launch-header > a[aria-label] { display: none; }
  .pw-ip-world-page .pw-launch-panel { padding-top: 100px; }
}
.pw-ip-world-page .pw-launch-closing__lines { display: grid; gap: .6rem; margin: 2rem 0; }
.pw-ip-world-page .pw-launch-closing__lines p { display: block; font-size: clamp(1rem, 2vw, 1.4rem); font-weight: 400; line-height: 1.5; }

/* MCP campaign: Prokurio canvas; Claude styling is confined to the inset. */
.pw-mcp-page .pw-launch-header { position: fixed; background: rgb(0 20 43 / 86%); backdrop-filter: blur(14px); }
.pw-mcp-header-link { justify-self: end; color: #dce9fb; font-size: .85rem; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; gap: .8rem; }
.pw-mcp-page .pw-launch-panel { scroll-margin-top: 80px; }
.pw-mcp-split { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: center; gap: clamp(28px,4vw,64px); }
.pw-mcp-split > * { min-width: 0; }
body.pw-mcp-page #main .pw-mcp-copy h1 { font-size: clamp(2.8rem,4.6vw,5rem) !important; line-height: 1.06 !important; letter-spacing: -.055em; margin: .3em 0; }
.pw-mcp-page #main .pw-mcp-copy h2 { font-size: clamp(2.5rem,4.1vw,4.6rem); line-height: 1.08; margin: .3em 0; }
.pw-mcp-description { color: #c0d1e6; font-size: 1rem; line-height: 1.8; max-width: 37ch; margin: 1.5rem 0; }
.pw-mcp-next-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; color: #a8c8f6; font-size: .95rem; }
.pw-mcp-figure { margin: 0; min-width: 0; }
.pw-mcp-figure figcaption { text-align: right; font-size: .75rem; color: #bdcce0; margin: 12px 3px 0; }
.pw-mcp-app { border-radius: 16px; border: 1px solid #595853; background: #262624; color: #eeece8; font-family: Arial, sans-serif; box-shadow: 0 30px 80px rgb(0 9 29 / 48%); overflow: hidden; text-align: left; }
.pw-mcp-app__bar { display: flex; align-items: center; gap: 18px; padding: 16px 18px; border-bottom: 1px solid #464540; background: #20201e; }
.pw-mcp-app__bar img { width: 96px; height: auto; flex-shrink: 0; }
.pw-mcp-app__bar > span { color: #c3c0b9; font-size: 11px; line-height: 1.4; }
.pw-mcp-app__bar > span:last-child { margin-left: auto; font-size: 19px; }
.pw-mcp-app__body { display: grid; grid-template-columns: 105px minmax(0,1fr); min-height: 335px; }
.pw-mcp-app__sidebar { display: flex; flex-direction: column; padding: 22px 10px; gap: 14px; background: #21211f; font-size: 10px; color: #c7c4bd; border-right: 1px solid #373732; }
.pw-mcp-app__sidebar small { font-size: 8px; color: #a3a099; margin-top: 20px; letter-spacing: .09em; }
.pw-mcp-selected { padding: 8px 6px; border-radius: 5px; background: #3b3a35; }
.pw-mcp-app__conversation { padding: 24px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pw-mcp-app p { margin: 0; color: inherit; font-size: 14px; line-height: 1.6; }
.pw-mcp-prompt { background: #3d3b36; padding: 16px 18px; border-radius: 14px 14px 4px 14px; align-self: flex-end; }
.pw-mcp-app .pw-mcp-app__context { font: 20px/1.6 Georgia,serif; color: #eeece8; }
.pw-mcp-tool { color: #ded8cb; font-size: 11px; line-height: 1.5; }
.pw-mcp-tool > span { color: #b6b1a7; }
.pw-mcp-speaker { font-size: 12px; color: #dca187; }
.pw-mcp-answer { padding: 0 0 16px; border-bottom: 1px solid #494740; }
.pw-mcp-answer small { font-size: 11px; color: #bab6ad; line-height: 1.5; display: block; }
.pw-mcp-answer strong { display: inline-block; border-radius: 6px; background: #3b3a34; padding: 7px 12px; margin-top: 10px; font-size: 13px; font-weight: 400; }
.pw-mcp-composer { display: flex; flex-direction: column; gap: 20px; margin-top: auto; padding: 14px; border: 1px solid #55534c; border-radius: 12px; color: #bcb8ae; font-size: 12px; background: #30302c; }
.pw-mcp-composer > span:last-child { display: flex; justify-content: space-between; align-items: center; }
.pw-mcp-composer b { border-radius: 6px; color: #242420; background: #c7c2b5; padding: 3px 7px; font-weight: 400; }
.pw-mcp-welcome { display: grid; gap: 22px; padding: 15px 0 25px; }
.pw-mcp-welcome > p { font: 27px/1.35 Georgia,serif; }
.pw-mcp-app .pw-mcp-result-title { font: bold 17px/1.4 Georgia,serif; }
.pw-mcp-app .pw-mcp-spec { font-size: 11px; color: #bdb8ae; margin-top: -10px; }
.pw-mcp-table { width: 100%; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 1.5; }
.pw-mcp-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.pw-mcp-table th, .pw-mcp-table td { padding: 10px 4px; border-bottom: 1px solid #4a4841; text-align: right; color: #e8e4dc; background: transparent; }
.pw-mcp-table th:first-child { text-align: left; }
.pw-mcp-table tbody th { font-weight: 400; }
.pw-mcp-table tbody tr:last-child > * { font-weight: 700; }
.pw-mcp-total { display: flex; align-items: center; justify-content: space-between; color: #eee9df; font-size: 14px; }
.pw-mcp-total strong { font: 31px/1 Georgia,serif; }
.pw-mcp-app .pw-mcp-scope { color: #c1bcb0; font-size: 11px; line-height: 1.6; }
.pw-mcp-page #main .pw-launch-panel--closing h2 span { color: #8db2e8; }
.pw-mcp-page .pw-launch-closing__lines p { display: block; font-size: 1.1rem; font-weight: 400; color: #c0d1e6; }
@media (max-width: 959px) {
  .pw-mcp-split { grid-template-columns: minmax(0,1fr); max-width: 620px; gap: 34px; }
  .pw-mcp-page .pw-launch-panel { padding: 120px 24px 70px; }
  .pw-mcp-copy { text-align: center; }
  .pw-mcp-description { margin: 1.2rem auto; }
  .pw-mcp-page .pw-launch-header { grid-template-columns: 1fr auto; min-height: 76px; }
  .pw-mcp-page .pw-launch-header > a[aria-label] { display: none; }
  .pw-mcp-header-link { font-size: .75rem; }
}
@media (max-width: 480px) {
  .pw-mcp-page .pw-launch-panel { padding-inline: 18px; }
  body.pw-mcp-page #main .pw-mcp-copy h1 { font-size: 2.6rem !important; }
  .pw-mcp-page #main .pw-mcp-copy h2 { font-size: 2.4rem; }
  .pw-mcp-description { font-size: .9rem; }
  .pw-mcp-app__body { grid-template-columns: minmax(0,1fr); }
  .pw-mcp-app__sidebar { display: none; }
  .pw-mcp-app__conversation { padding: 20px 16px; }
  .pw-mcp-app__bar { gap: 12px; padding: 14px; }
  .pw-mcp-app__bar > span:not(:last-child) { max-width: 115px; }
  .pw-mcp-app__bar img { width: 84px; }
  .pw-mcp-table { font-size: 11px; }
}

/* Inset motion reserves the complete prompt size; no character-by-character announcements. */
.pw-mcp-typing { display: grid; line-height: 1.6; }
.pw-mcp-typing > span { grid-area: 1 / 1; }
.pw-mcp-typing__measure { visibility: hidden; }
.pw-mcp-typing .is-typing::after { content: ''; display: inline-block; height: 1em; width: 1px; margin-left: 2px; vertical-align: -.1em; background: #dca187; }
.pw-mcp-screen-controls { display: flex; justify-content: flex-end; gap: 14px; margin-top: 4px; }
.pw-mcp-screen-controls[hidden] { display: flex; visibility: hidden; }
.pw-mcp-screen-controls button { min-height: 44px; border: 0; background: transparent; color: #bdcce0; font: inherit; font-size: .7rem; padding: 6px 0; cursor: pointer; }
.pw-mcp-screen-controls button:disabled { opacity: .5; cursor: default; }
