/*
 * AI Ready Schools — production visual system
 * Source of truth: approved section treatments supplied 2026-09-16.
 * This stylesheet intentionally scopes section treatments to the ARS shell so
 * the dedicated Section 8 component can retain its own interaction CSS.
 */

@layer reset, tokens, base, components, sections, responsive;

@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  html {
    scroll-behavior: smooth;
    scroll-padding-top: 6.5rem;
    text-size-adjust: 100%;
  }

  body {
    margin: 0;
  }

  img,
  picture,
  svg,
  video {
    display: block;
    max-width: 100%;
  }

  button,
  input,
  textarea,
  select {
    font: inherit;
  }

  :where(h1, h2, h3, h4, p, figure, blockquote, dl, dd) {
    margin: 0;
  }

  :where(ul, ol) {
    margin: 0;
    padding: 0;
  }
}

/* Final Section 1 affiliation treatment — approved visual reference. */
#hero .ars-affiliations.ars-affiliations {
  display: grid;
  grid-template-columns: minmax(13.5rem, 0.88fr) minmax(0, 4.9fr);
  gap: 0;
  width: min(calc(100% - clamp(2rem, 6vw, 7.2rem)), 121rem);
  min-height: clamp(9.4rem, 10.4vw, 11.4rem);
  padding: clamp(1.25rem, 1.8vw, 2rem) 0;
}

#hero .ars-affiliations.ars-affiliations > p {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  max-width: none;
  margin: 0;
  padding: 0 clamp(1.25rem, 1.8vw, 2.35rem);
  border: 0;
  border-right: 1px solid #b9dafa;
  color: #1758ed;
  font-size: clamp(0.9rem, 1vw, 1.18rem);
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.35;
  text-align: center;
  text-wrap: balance;
}

#hero .ars-affiliation-list.ars-affiliation-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
}

#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: none;
  min-height: 0;
  padding: 0 clamp(0.7rem, 1.2vw, 1.65rem);
  color: #18345f;
  border: 0;
  border-right: 1px solid #b9dafa;
  font-size: clamp(0.55rem, 0.63vw, 0.75rem);
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
}

#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation:last-child { border-right: 0; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation img { display: block; width: auto; max-width: 100%; height: auto; max-height: 3.8rem; object-fit: contain; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation span { display: block; margin-top: 0.38rem; color: #385177; font: inherit; letter-spacing: 0; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation--aieou { padding-inline: clamp(0.55rem, 0.8vw, 1.05rem); }
#hero .ars-affiliation-list.ars-affiliation-list .ars-aieou-lockup { display: flex; align-items: center; justify-content: center; gap: clamp(0.38rem, 0.55vw, 0.7rem); }
#hero .ars-affiliation-list.ars-affiliation-list .ars-aieou-lockup img { width: clamp(2.5rem, 3.2vw, 3.45rem); max-height: none; flex: 0 0 auto; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-aieou-lockup span { margin: 0; color: #18345f; font-size: clamp(0.48rem, 0.52vw, 0.64rem); font-weight: 650; line-height: 1.18; text-align: left; white-space: nowrap; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation--brookings img { width: min(100%, 9.8rem); max-height: 1.35rem; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation--salzburg img { width: min(100%, 8.25rem); max-height: 2.5rem; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation--salzburg span { margin-top: 0.62rem; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation--mexicanos img { width: clamp(3.1rem, 4.1vw, 4.45rem); max-height: 4.25rem; }
#hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation--iei img { width: min(100%, 9.8rem); max-height: 3.65rem; }

@media (max-width: 68rem) {
  #hero .ars-affiliations.ars-affiliations { grid-template-columns: 1fr; }
  #hero .ars-affiliations.ars-affiliations > p { justify-content: center; padding: 0 0 1rem; border-right: 0; border-bottom: 1px solid #b9dafa; text-align: center; }
  #hero .ars-affiliation-list.ars-affiliation-list { margin-top: 1rem; }
}

@media (max-width: 42rem) {
  #hero .ars-affiliation-list.ars-affiliation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation { min-height: 6.4rem; padding-block: 0.75rem; border-top: 1px solid #b9dafa; border-right: 1px solid #b9dafa; }
  #hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation:nth-child(2n) { border-right: 0; }
  #hero .ars-affiliation-list.ars-affiliation-list .ars-affiliation:last-child { grid-column: 1 / -1; border-right: 0; }
}

/* Section 1 — approved affiliation strip */
#hero .ars-affiliations {
  display: grid;
  grid-template-columns: minmax(13.5rem, 0.88fr) minmax(0, 4.9fr);
  gap: 0;
  width: min(calc(100% - clamp(2rem, 6vw, 7.2rem)), 121rem);
  min-height: clamp(9.4rem, 10.4vw, 11.4rem);
  padding: clamp(1.25rem, 1.8vw, 2rem) 0;
  background: #fff;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}

#hero .ars-affiliations > p {
  display: flex;
  align-items: center;
  align-self: stretch;
  max-width: none;
  margin: 0;
  padding: 0 clamp(1.4rem, 2vw, 2.8rem) 0 0;
  border: 0;
  border-right: 1px solid #b9dafa;
  color: #1758ed;
  font-size: clamp(0.9rem, 1vw, 1.18rem);
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.28;
}

#hero .ars-affiliation-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

#hero .ars-affiliation-list .ars-affiliation {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: none;
  min-height: 0;
  padding: 0 clamp(0.7rem, 1.2vw, 1.65rem);
  color: #18345f;
  border: 0;
  border-right: 1px solid #b9dafa;
  font-size: clamp(0.55rem, 0.63vw, 0.75rem);
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
}

#hero .ars-affiliation-list .ars-affiliation:last-child { border-right: 0; }

#hero .ars-affiliation-list .ars-affiliation img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 3.8rem;
  object-fit: contain;
}

#hero .ars-affiliation-list .ars-affiliation span {
  display: block;
  margin-top: 0.38rem;
  color: #385177;
  font: inherit;
  letter-spacing: 0;
}

#hero .ars-affiliation--aieou img { width: clamp(3rem, 4.1vw, 4.3rem); }
#hero .ars-affiliation--brookings img { width: min(100%, 9.8rem); max-height: 1.35rem; }
#hero .ars-affiliation--salzburg img { width: min(100%, 7.5rem); max-height: 2.35rem; }
#hero .ars-affiliation--salzburg span { margin-top: 0.62rem; }
#hero .ars-affiliation--mexicanos img { width: clamp(3.1rem, 4.1vw, 4.45rem); max-height: 4.25rem; }
#hero .ars-affiliation--iei img { width: min(100%, 9.8rem); max-height: 3.65rem; }

@media (max-width: 68rem) {
  #hero .ars-affiliations { grid-template-columns: 1fr; }
  #hero .ars-affiliations > p {
    justify-content: center;
    padding: 0 0 1rem;
    border-right: 0;
    border-bottom: 1px solid #b9dafa;
    text-align: center;
  }
  #hero .ars-affiliation-list { margin-top: 1rem; }
}

@media (max-width: 42rem) {
  #hero .ars-affiliation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #hero .ars-affiliation-list .ars-affiliation {
    min-height: 6.4rem;
    padding-block: 0.75rem;
    border-top: 1px solid #b9dafa;
    border-right: 1px solid #b9dafa;
  }
  #hero .ars-affiliation-list .ars-affiliation:nth-child(2n) { border-right: 0; }
  #hero .ars-affiliation-list .ars-affiliation:last-child { grid-column: 1 / -1; border-right: 0; }
}

@layer fidelity {
  /* Hero affiliation caption: treat it as the lead-in to the network strip. */
  #hero .ars-affiliations > p {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    max-width: none;
    min-height: 100%;
    margin: 0;
    padding: 0 1.5rem 0 0;
    border-right: 1px solid #b9dafa;
  }

  #hero .ars-affiliations > p > span {
    color: #0a2463;
    font-size: 0.64em;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
  }

  @media (max-width: 68rem) {
    #hero .ars-affiliations > p {
      padding: 0 0 0.85rem;
      border-right: 0;
      border-bottom: 1px solid #b9dafa;
    }
  }
}

/* Global accessibility hooks shared with the privacy-safe interaction script. */
html.mobile-nav-open,
html.mobile-nav-open body {
  overflow: hidden;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ars-mobile-nav-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  margin: 0 0 0.65rem auto;
  padding: 0.55rem 0.85rem;
  color: var(--ars-ink);
  background: #fff;
  border: 1px solid var(--ars-line);
  border-radius: var(--ars-radius-pill);
  cursor: pointer;
}

/* Markup compatibility and semantic-detail treatments. Kept at the end so
 * native dl/figure/nav structures receive the same approved visual hierarchy. */
@layer components {
  .ars-icon-button,
  .ars-mobile-nav-toggle {
    display: inline-grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    padding: 0;
    color: var(--ars-ink);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 50%;
    cursor: pointer;
  }

  .ars-mobile-nav-toggle {
    display: none;
    border-color: var(--ars-line);
  }

  .ars-mobile-nav-toggle span,
  .ars-mobile-nav-toggle span::before,
  .ars-mobile-nav-toggle span::after {
    display: block;
    width: 1.2rem;
    height: 0.12rem;
    background: currentColor;
    border-radius: var(--ars-radius-pill);
    content: "";
  }

  .ars-mobile-nav-toggle span {
    position: relative;
  }

  .ars-mobile-nav-toggle span::before,
  .ars-mobile-nav-toggle span::after {
    position: absolute;
    left: 0;
  }

  .ars-mobile-nav-toggle span::before { top: -0.38rem; }
  .ars-mobile-nav-toggle span::after { top: 0.38rem; }

  .ars-mobile-nav {
    display: none;
  }

  .ars-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ars-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .ars-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 2.75rem;
    padding: 0;
    color: var(--ars-cyan-400);
    background: transparent;
    border: 0;
    font-weight: 800;
    cursor: pointer;
  }



  .ars-site-footer button:not(.ars-button) {
    min-height: 2.3rem;
    padding: 0;
    color: #c9d7ed;
    background: transparent;
    border: 0;
    font-size: 0.84rem;
    text-align: left;
    cursor: pointer;
  }

  .ars-site-footer button:not(.ars-button):hover {
    color: var(--ars-cyan-400);
  }
}

@layer sections {
  .ars-heading > span {
    display: block;
  }

  .ars-copy--lead {
    font-size: clamp(1.02rem, 0.96rem + 0.25vw, 1.24rem);
  }

  .ars-section-intro {
    align-items: end;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
  }

  .ars-section-signoff {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
    margin-top: 2rem;
    padding-top: 1.1rem;
    color: var(--ars-blue-600);
    border-top: 1px solid rgb(33 122 229 / 0.24);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
  }

  :where(#model, #challenge, #movement, #person, #insights, #support) .ars-section-signoff {
    color: var(--ars-cyan-400);
    border-color: rgb(255 255 255 / 0.18);
  }

  .ars-handwritten-note {
    color: #143a74;
    font-family: var(--ars-font-script);
    font-size: clamp(1.1rem, 2vw, 2rem);
    line-height: 1.2;
    transform: rotate(-3deg);
  }

  #hero .ars-proof-strip {
    display: block;
    padding: 0;
  }

  #hero .ars-proof-strip .ars-proof-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 6.2rem;
    margin-inline: auto;
  }

  #hero .ars-proof-strip .ars-proof-item {
    display: grid;
    align-content: center;
    min-width: 0;
    padding: 0.85rem clamp(0.8rem, 2vw, 2rem);
    border-left: 1px solid rgb(255 255 255 / 0.2);
  }

  #hero .ars-proof-strip .ars-proof-item:first-child { border-left: 0; }

  #hero .ars-proof-strip dt {
    color: var(--ars-cyan-400);
    font-size: 0.88rem;
    font-weight: 850;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  #hero .ars-proof-strip dd {
    margin-top: 0.16rem;
    color: #cbd8ed;
    font-size: 0.72rem;
    line-height: 1.35;
  }

  .ars-affiliations > p {
    flex: 0 0 min(12rem, 22%);
    font-size: 0.72rem;
    line-height: 1.35;
  }

  .ars-affiliation-list {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    list-style: none;
  }

  .ars-affiliation-list li {
    max-width: 9rem;
    color: #465573;
    font-size: 0.68rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
  }

  #readiness .ars-button {
    margin-top: 1.75rem;
  }

  .ars-callout {
    position: absolute;
    top: 3.5rem;
    right: 0;
    width: min(11rem, 35%);
    padding: 1.2rem;
    color: var(--ars-blue-700);
    background: #eef8ff;
    border: 1px solid #cce7fb;
    border-radius: 1rem;
    box-shadow: var(--ars-shadow-sm);
    font-size: 1rem;
    line-height: 1.2;
  }

  .ars-model-impact {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.85rem;
    color: #fff;
    border-bottom: 1px solid rgb(84 169 250 / 0.22);
  }

  .ars-model-impact strong { color: var(--ars-cyan-400); }
  .ars-model-impact span { color: #aebedf; font-size: 0.75rem; }

  .ars-model-row {
    position: relative;
    grid-template-columns: minmax(9rem, 13rem) 1fr;
  }

  .ars-model-row > strong {
    color: #fff;
    font-size: 0.87rem;
  }

  .ars-model-row > span {
    position: relative;
    padding: 0.55rem 1rem 0.55rem 3rem;
    color: #c9d7ed;
    background: linear-gradient(90deg, rgb(0 205 244 / 0.14), rgb(113 47 239 / 0.13));
    border: 1px solid rgb(67 142 231 / 0.2);
    border-radius: var(--ars-radius-pill);
    font-size: 0.72rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  .ars-model-row > span::before {
    position: absolute;
    top: 50%;
    left: 1.05rem;
    width: 0.62rem;
    height: 0.62rem;
    background: var(--ars-cyan-400);
    border: 0.13rem solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0.75rem var(--ars-cyan-400);
    content: "";
    transform: translateY(-50%);
  }

  .ars-model-foundation {
    display: flex;
    justify-content: center;
    gap: 0.5rem 1rem;
  }

  .ars-product-lockup {
    display: grid;
    width: fit-content;
    margin-bottom: 1.25rem;
    color: var(--ars-ink);
    line-height: 1.05;
  }

  .ars-product-lockup strong { font-size: 1.1rem; }
  .ars-product-lockup span {
    margin-top: 0.22rem;
    color: var(--ars-violet-600);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .ars-scan-screen {
    display: grid;
    place-content: center;
    text-align: center;
  }

  .ars-scan-screen > strong {
    color: var(--ars-blue-600);
    font-size: clamp(3.5rem, 8vw, 7rem);
    letter-spacing: -0.07em;
    line-height: 0.9;
  }

  .ars-scan-screen meter {
    width: min(16rem, 100%);
    height: 1rem;
    margin-top: 1.2rem;
    accent-color: var(--ars-violet-500);
  }

  .ars-scan-signals h3 {
    color: var(--ars-ink);
    font-size: 1.2rem;
    line-height: 1.08;
  }

  .ars-scan-signals > p {
    margin-top: 0.5rem;
    font-size: 0.78rem;
  }

  .ars-signal-list {
    margin-top: 0.9rem;
  }

  .ars-signal-list > div {
    display: grid;
    grid-template-columns: 2.35rem 1fr;
    gap: 0 0.75rem;
    align-items: center;
    min-height: 3.2rem;
  }

  .ars-signal-list > div::before {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    color: #fff;
    background: var(--ars-gradient);
    border-radius: 50%;
    content: "";
  }

  .ars-signal-list dt {
    align-self: end;
    color: var(--ars-ink);
    font-weight: 800;
  }

  .ars-signal-list dd {
    align-self: start;
    color: var(--ars-muted);
    font-size: 0.72rem;
  }

  #scan .ars-proof-list--compact,
  #person .ars-proof-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 2.25rem;
  }

  #scan .ars-proof-item,
  #person .ars-proof-item {
    padding: 0.8rem 1rem;
    border-left: 1px solid var(--ars-line);
  }

  #scan .ars-proof-item:first-child,
  #person .ars-proof-item:first-child { border-left: 0; padding-left: 0; }

  #scan .ars-proof-item dt,
  #person .ars-proof-item dt {
    color: var(--ars-blue-600);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
  }

  #scan .ars-proof-item dd,
  #person .ars-proof-item dd {
    margin-top: 0.32rem;
    color: var(--ars-muted);
    font-size: 0.68rem;
    line-height: 1.35;
  }

  .ars-implementation-intro {
    position: relative;
    max-width: 65rem;
  }

  .ars-implementation-intro .ars-handwritten-note {
    position: absolute;
    top: 0;
    left: calc(100% + 2rem);
    width: 14rem;
  }

  .ars-area-card h3 {
    color: var(--ars-ink);
    font-size: clamp(1.05rem, 1.4vw, 1.45rem);
    line-height: 1.02;
  }

  .ars-implementation-copy .ars-button {
    margin-top: 1.5rem;
  }

  .ars-task-engineering h3 {
    color: var(--ars-ink);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.05;
  }

  .ars-task-engineering > p:not(.ars-eyebrow, .ars-handwritten-note) {
    margin-top: 0.35rem;
    font-size: 0.9rem;
  }

  .ars-task-sequence {
    counter-reset: task-step;
  }

  .ars-task-sequence li {
    counter-increment: task-step;
  }

  .ars-task-sequence li::before {
    display: grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    margin-inline: auto;
    color: #fff;
    background: var(--ars-gradient-hot);
    border: 0.2rem solid rgb(255 255 255 / 0.75);
    border-radius: 50%;
    box-shadow: 0 0.55rem 1.4rem rgb(42 95 220 / 0.22);
    content: counter(task-step, decimal-leading-zero);
    font-size: 0.72rem;
    font-weight: 850;
  }

  .ars-task-sequence li > span {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.76rem;
    line-height: 1.32;
  }

  .ars-task-engineering .ars-handwritten-note {
    display: block;
    width: fit-content;
    margin: 1rem auto 0;
  }

  .ars-support-card {
    overflow: hidden;
    padding: 1.25rem;
  }

  .ars-support-card > h3 {
    color: var(--ars-ink);
    font-size: 1.25rem;
    line-height: 1.08;
  }

  .ars-support-card > p {
    margin-top: 0.6rem;
    font-size: 0.82rem;
    line-height: 1.42;
  }

  .ars-support-card-media {
    position: relative;
    min-height: 15rem;
    margin: 1rem -1.25rem -1.25rem;
    overflow: hidden;
  }

  .ars-support-card-media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
  }

  .ars-support-card-media figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.2rem;
    color: #fff;
    background: linear-gradient(transparent, rgb(2 11 39 / 0.93));
    font-size: 0.75rem;
  }

  .ars-shift-panel {
    display: grid;
    grid-template-columns: minmax(15rem, 0.35fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: center;
    margin-top: 1rem;
    padding: 1.1rem;
    color: var(--ars-ink);
    background: #fff;
    border-radius: 0.8rem;
  }

  .ars-shift-panel .ars-shift-track {
    margin: 0;
    padding: 0;
  }

  .ars-evidence-results,
  .ars-evidence-discipline {
    min-height: 100%;
  }

  .ars-evidence-sample {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--ars-line);
  }

  .ars-evidence-sample > strong {
    color: var(--ars-ink);
    font-size: clamp(3.2rem, 6vw, 6.2rem);
    letter-spacing: -0.07em;
    line-height: 0.85;
  }

  .ars-evidence-sample h3 { font-size: 0.85rem; }
  .ars-evidence-sample p { color: var(--ars-muted); font-size: 0.72rem; }

  .ars-evidence-stats > div {
    display: grid;
    grid-template-columns: minmax(5rem, 7rem) 1fr;
    align-items: center;
    gap: 1rem;
    min-height: 6.2rem;
    border-bottom: 1px solid var(--ars-line);
  }

  .ars-evidence-stats dt {
    color: var(--ars-blue-600);
    font-size: clamp(2.1rem, 4vw, 4rem);
    font-weight: 850;
    letter-spacing: -0.05em;
  }

  .ars-evidence-stats dd {
    color: var(--ars-copy);
    font-size: 0.88rem;
    line-height: 1.4;
  }

  .ars-evidence-stats small {
    display: block;
    margin-top: 0.25rem;
    color: var(--ars-muted);
    font-size: 0.68rem;
  }

  .ars-evidence-discipline {
    color: #dce6f7;
    background: linear-gradient(145deg, #07143c, #0a1231);
    border-color: rgb(43 108 191 / 0.25);
    box-shadow: var(--ars-shadow-md);
  }

  .ars-evidence-discipline :where(.ars-heading, h4) { color: #fff; }
  .ars-evidence-discipline .ars-grid { margin-top: 1.5rem; }

  .ars-reflection-note {
    margin-top: 1.5rem;
    padding: 1rem;
    color: #cddaf0;
    background: rgb(255 255 255 / 0.06);
    border-radius: 0.65rem;
    font-size: 0.78rem;
  }

  .ars-evidence-footnote {
    display: flex;
    justify-content: space-between;
    gap: 1rem 3rem;
    margin-top: 1rem;
    color: var(--ars-muted);
    font-size: 0.66rem;
  }

  .ars-story-grid > * {
    padding: clamp(1.3rem, 2.2vw, 2rem);
    border-radius: 1rem;
  }

  .ars-story-grid h3 {
    font-size: clamp(1.4rem, 2.4vw, 2.6rem);
    line-height: 1;
  }

  .ars-story-grid h3 span { display: block; }

  #movement .ars-metric {
    margin-top: 1rem;
    padding: 1rem;
    background: rgb(255 255 255 / 0.055);
    border-radius: 0.6rem;
  }

  #movement .ars-metric > strong {
    display: block;
    color: var(--ars-cyan-400);
    font-size: clamp(2rem, 4vw, 4rem);
    letter-spacing: -0.06em;
    line-height: 0.95;
  }

  #movement blockquote {
    margin-top: 1.2rem;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 1rem;
    font-style: italic;
  }

  #movement cite { color: var(--ars-cyan-400); font-size: 0.7rem; }

  .ars-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
    margin-top: 1rem;
    list-style: none;
  }

  .ars-timeline li {
    padding-top: 0.6rem;
    border-top: 0.15rem solid var(--ars-blue-600);
  }

  .ars-timeline time { display: block; color: var(--ars-cyan-400); font-size: 0.67rem; font-weight: 800; }
  .ars-timeline span { display: block; margin-top: 0.2rem; font-size: 0.65rem; }

  .ars-system-reach ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-block: 0.7rem;
    list-style: none;
  }

  .ars-system-reach li {
    padding: 0.4rem 0.65rem;
    color: #fff;
    background: rgb(0 192 238 / 0.11);
    border: 1px solid rgb(0 207 244 / 0.25);
    border-radius: var(--ars-radius-pill);
    font-size: 0.67rem;
  }

  .ars-movement-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1rem;
    padding: 1rem 1.2rem;
    color: #cbd8ed;
    background: rgb(255 255 255 / 0.05);
    border: 1px solid rgb(255 255 255 / 0.12);
    border-radius: 0.8rem;
  }

  .ars-movement-footer h3 { color: #fff; font-size: 0.85rem; }
  .ars-movement-footer p { font-size: 0.72rem; }

  .ars-person-layout {
    display: grid;
    grid-template-columns: minmax(23rem, 0.82fr) minmax(34rem, 1.18fr);
    gap: clamp(2.5rem, 6vw, 7rem);
    align-items: end;
  }

  .ars-person-media figcaption {
    position: absolute;
    right: 0;
    bottom: 1.5rem;
    left: 0;
    padding: 1.2rem;
    color: #fff;
    background: linear-gradient(transparent, rgb(2 9 37 / 0.9));
    font-family: var(--ars-font-script);
    line-height: 1.25;
  }

  #person .ars-proof-item {
    border-color: rgb(255 255 255 / 0.16);
  }

  #person .ars-proof-item dt { color: var(--ars-cyan-400); }
  #person .ars-proof-item dd { color: #b9c8e0; }

  .ars-trust-section,
  .ars-experience-section { margin-top: 1.4rem; }

  .ars-trust-section > h3,
  .ars-experience-section > h3 {
    color: #cddaf0;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .ars-experience-section .ars-grid { margin-top: 0.8rem; }

  .ars-resource-card {
    display: flex;
    flex-direction: column;
    padding: clamp(1.4rem, 2.6vw, 2.5rem);
    overflow: hidden;
    border-radius: 0.8rem;
  }

  .ars-resource-card > p:not(.ars-eyebrow) {
    margin-top: 0.8rem;
    font-size: 0.88rem;
  }

  .ars-resource-card .ars-text-link {
    margin-top: auto;
    align-self: flex-start;
  }

  .ars-resource-card h3 span {
    display: block;
    margin-top: 0.35rem;
    color: var(--ars-cyan-400);
    font-family: var(--ars-font-sans);
    font-size: 0.42em;
    font-weight: 750;
    line-height: 1.2;
  }

  .ars-resource-nav ul {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 0.4rem 1.25rem;
    list-style: none;
  }

  .ars-resource-nav button:not(.ars-text-link) {
    min-height: 2.75rem;
    padding: 0;
    color: #d7e3f6;
    background: transparent;
    border: 0;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
  }

  .ars-support-visual {
    position: relative;
    min-height: clamp(32rem, 45vw, 47rem);
  }

  .ars-support-portrait {
    position: absolute;
    inset: 0;
  }

  .ars-support-portrait img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 2rem 2.5rem rgb(0 0 0 / 0.38));
  }

  .ars-support-portrait figcaption {
    position: absolute;
    right: 0;
    bottom: 2rem;
    max-width: 12rem;
    color: #fff;
    font-family: var(--ars-font-script);
    font-size: 1.2rem;
    line-height: 1.25;
    transform: rotate(-4deg);
  }

  .ars-support-phases {
    position: absolute;
    z-index: 2;
    top: 1rem;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    list-style: none;
  }

  .ars-support-phases li {
    position: relative;
    padding-top: 1.2rem;
    color: #dce9fa;
    font-size: 0.7rem;
  }

  .ars-support-phases li::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0.62rem;
    height: 0.62rem;
    background: var(--ars-cyan-400);
    border: 0.13rem solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0.8rem var(--ars-cyan-400);
    content: "";
  }

  .ars-support-phases li:not(:last-child)::after {
    position: absolute;
    top: 0.25rem;
    right: 0;
    left: 0.55rem;
    height: 0.1rem;
    background: linear-gradient(90deg, var(--ars-cyan-400), var(--ars-blue-600), transparent);
    content: "";
  }

  .ars-support-phases strong,
  .ars-support-phases span { display: block; }
  .ars-support-phases strong { color: #fff; text-transform: uppercase; }

  .ars-support-signoff {
    margin-top: 2rem;
    padding-block: 1rem;
    color: #dce8f7;
    background: rgb(2 9 34 / 0.66);
    border-top: 1px solid rgb(255 255 255 / 0.13);
  }

  .ars-support-signoff .ars-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem 1.5rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .ars-privacy-note { margin-top: 0.45rem; color: #9facc1; font-size: 0.68rem; }

  .ars-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.8rem;
    margin-top: 0.7rem;
  }

  .ars-footer-ecosystem {
    padding-block: 1.25rem;
    background: rgb(255 255 255 / 0.035);
    border-top: 1px solid rgb(255 255 255 / 0.12);
  }

  .ars-footer-ecosystem > .ars-container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem 2rem;
    align-items: center;
  }

  .ars-footer-ecosystem nav { grid-column: 1 / 3; }
  .ars-footer-ecosystem ul,
  .ars-footer-legal ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    list-style: none;
  }

  .ars-footer-ecosystem blockquote {
    grid-row: 1 / span 2;
    grid-column: 3;
    max-width: 15rem;
    color: #fff;
    font-family: var(--ars-font-script);
    font-size: 1.25rem;
    line-height: 1.18;
    text-align: right;
  }

  .ars-footer-legal > .ars-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
    width: var(--ars-container);
  }
}

@layer responsive {
  @media (max-width: 78rem) {
    .ars-primary-nav { display: none; }
    .ars-mobile-nav-toggle { display: inline-grid; }

    .ars-mobile-nav:not([hidden]) {
      position: fixed;
      z-index: 95;
      top: var(--ars-header-height, 4.8rem);
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      padding: 1rem max(1rem, calc((100vw - 46rem) / 2));
      overflow-y: auto;
      background: #fff;
    }

    .ars-mobile-nav ul { list-style: none; }

    .ars-mobile-nav a {
      display: flex;
      align-items: center;
      min-height: 3.4rem;
      padding: 0.65rem 0.5rem;
      color: var(--ars-ink);
      border-bottom: 1px solid var(--ars-line);
      font-size: 1rem;
      font-weight: 750;
      text-decoration: none;
    }

    .ars-mobile-nav .ars-button {
      justify-content: center;
      margin-top: 1rem;
      color: #fff;
    }

    #hero .ars-proof-strip .ars-proof-list {
      grid-template-columns: repeat(2, 1fr);
    }

    #hero .ars-proof-strip .ars-proof-item:nth-child(3) { border-left: 0; }
    #hero .ars-proof-strip .ars-proof-item:nth-child(n + 3) { border-top: 1px solid rgb(255 255 255 / 0.2); }

    #readiness .ars-question-list {
      max-width: 40rem;
      margin-left: auto;
    }

    .ars-implementation-intro .ars-handwritten-note {
      position: static;
      margin: 1rem 0 0 auto;
    }

    .ars-person-layout {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-person-media { order: 2; }

    .ars-footer-ecosystem > .ars-container {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-footer-ecosystem nav,
    .ars-footer-ecosystem blockquote {
      grid-row: auto;
      grid-column: auto;
      text-align: left;
    }
  }

  @media (max-width: 42rem) {
    .ars-header-actions .ars-icon-button { display: none; }

    #hero .ars-proof-strip .ars-proof-list,
    #scan .ars-proof-list--compact,
    #person .ars-proof-list {
      grid-template-columns: minmax(0, 1fr);
    }

    #hero .ars-proof-strip .ars-proof-item,
    #scan .ars-proof-item,
    #person .ars-proof-item {
      padding: 0.9rem 0;
      border-top: 1px solid currentColor;
      border-left: 0;
    }

    .ars-affiliations {
      display: block;
    }

    .ars-affiliation-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 1rem;
    }

    .ars-affiliation-list li { max-width: none; }

    .ars-callout {
      position: static;
      width: 100%;
      margin-top: 1rem;
    }

    .ars-model-impact,
    .ars-model-foundation {
      align-items: flex-start;
      flex-direction: column;
    }

    .ars-shift-panel {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-evidence-discipline .ars-grid--two,
    #movement .ars-grid--two,
    .ars-experience-section .ars-grid--three {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-evidence-footnote,
    .ars-movement-footer {
      align-items: flex-start;
      flex-direction: column;
    }

    .ars-timeline {
      grid-template-columns: repeat(2, 1fr);
    }

    .ars-support-visual {
      min-height: 34rem;
    }

    .ars-support-phases {
      position: relative;
      top: auto;
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-support-phases li:not(:last-child)::after {
      top: 0.55rem;
      right: auto;
      bottom: -1.2rem;
      left: 0.26rem;
      width: 0.1rem;
      height: auto;
      background: linear-gradient(var(--ars-cyan-400), var(--ars-blue-600), transparent);
    }

    .ars-support-portrait {
      top: 5.5rem;
    }

    .ars-support-signoff .ars-container,
    .ars-footer-legal > .ars-container {
      align-items: flex-start;
      flex-direction: column;
    }
  }
}

/* Fidelity pass — approved Sections 1, 2, 4, 5 and 6 (2026-09-16).
 * These late rules deliberately preserve the approved copy and semantic HTML
 * while bringing desktop composition and responsive behaviour closer to the
 * supplied final treatments. */
@layer fidelity {
  .ars-site-header {
    min-height: 5rem;
    background: rgb(255 255 255 / 0.98);
    box-shadow: 0 0.2rem 1rem rgb(2 13 55 / 0.05);
  }

  .ars-header-inner {
    width: min(calc(100% - clamp(2rem, 6vw, 7.2rem)), 121rem);
    min-height: 5rem;
    gap: clamp(1rem, 2.2vw, 2.6rem);
  }

  .ars-brand {
    gap: 0.75rem;
    font-size: clamp(1rem, 1.05vw, 1.34rem);
    line-height: 1.02;
  }

  .ars-brand img {
    height: clamp(2.7rem, 3.3vw, 3.7rem);
  }

  .ars-brand-name small {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.72em;
    font-weight: 650;
  }

  .ars-primary-nav-list {
    gap: clamp(0.3rem, 1.3vw, 1.8rem);
  }

  .ars-primary-nav a {
    font-size: clamp(0.78rem, 0.75vw, 0.98rem);
  }

  .ars-icon-button svg {
    width: 1.65rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
  }

  .ars-header-actions > .ars-button {
    min-height: 3.3rem;
    padding-inline: clamp(1.35rem, 2vw, 2.5rem);
    color: #fff;
    background: #031531;
    border-radius: 0.48rem;
    box-shadow: none;
    font-size: clamp(0.82rem, 0.82vw, 1rem);
  }
}

@layer fidelity {
  /* Interactive fidelity: preserve the approved circle composition while
     providing equivalent pointer, keyboard and touch emphasis. */
  #implementation .ars-area-list {
    overflow: visible;
    isolation: isolate;
  }

  #implementation .ars-area-card {
    position: relative;
    z-index: 1;
    cursor: pointer;
    transition:
      transform 200ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 200ms ease,
      border-color 200ms ease;
  }





  #implementation .ars-area-card.is-active {
    z-index: 6;
    transform: translateY(-0.3rem) scale(1.045);
  }



  #readiness .ars-question-list li,
  #scan .ars-signal-list > div {
    transition: transform 180ms ease, background-color 180ms ease;
  }





  @media (max-width: 64rem) {
    #implementation .ars-area-card.is-active {
      transform: scale(1.035);
    }


  }

  @media (max-width: 42rem) {
    #implementation .ars-area-list {
      display: grid;
      grid-template-columns: none;
      grid-auto-flow: column;
      grid-auto-columns: minmax(17rem, 82vw);
      gap: 1rem;
      margin-inline: -1rem;
      padding: 1.1rem 1rem 2rem;
      overflow-x: auto;
      overflow-y: visible;
      scroll-padding-inline: 1rem;
      scroll-snap-type: x mandatory;
      scrollbar-width: thin;
    }

    #implementation .ars-area-card {
      display: flex;
      min-height: 0;
      aspect-ratio: 1;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding: 2rem;
      border-radius: 50%;
      text-align: center;
      scroll-snap-align: center;
    }

    #implementation .ars-area-icon,
    #implementation .ars-area-number,
    #implementation .ars-area-card h3,
    #implementation .ars-area-card p {
      grid-column: auto;
      grid-row: auto;
    }

    #implementation .ars-area-icon {
      align-self: auto;
      width: 3rem;
      height: 3rem;
      margin: 0 auto 0.25rem;
    }

    #implementation .ars-area-card.is-active{
      transform: scale(1.025);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #implementation .ars-area-card,
    #readiness .ars-question-list li,
    #scan .ars-signal-list > div {
      transition: none;
    }

    #implementation .ars-area-card,
    #implementation .ars-area-card.is-active{
      transform: none;
    }
  }
}

@layer fidelity {
  /* 01 — full-bleed editorial hero */
  #hero.ars-section {
    min-height: 0;
    padding: 0;
    background: #031534;
  }

  #hero::before {
    z-index: 2;
    inset: auto auto -3rem -8%;
    width: 58%;
    height: 14rem;
    background:
      radial-gradient(circle, rgb(1 214 244 / 0.92) 0 1px, transparent 1.4px) 0 0 / 9px 9px,
      radial-gradient(ellipse at 55% 60%, rgb(31 100 255 / 0.65), transparent 62%);
    filter: none;
    opacity: 0.8;
    transform: skewY(-7deg);
  }

  #hero::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, #031534 0%, rgb(3 21 52 / 0.98) 29%, rgb(3 21 52 / 0.78) 47%, rgb(3 21 52 / 0.18) 70%, transparent 100%);
    content: "";
    pointer-events: none;
  }

  #hero > .ars-container.ars-hero-layout {
    position: relative;
    z-index: 2;
    display: block;
    width: min(100%, 128rem);
    min-height: clamp(36rem, 34vw, 44.5rem);
    padding-inline: clamp(2rem, 4.3vw, 5.5rem);
  }

  .ars-hero-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(52%, 55rem);
    min-height: inherit;
    padding-block: clamp(3.5rem, 5vw, 6rem);
  }

  #hero .ars-eyebrow {
    color: #16ddf0;
    font-size: clamp(0.72rem, 0.82vw, 0.95rem);
    letter-spacing: 0.31em;
  }

  #hero .ars-eyebrow::before,
  #readiness .ars-eyebrow::before,
  #challenge .ars-eyebrow::before {
    display: none;
  }

  #hero .ars-heading {
    max-width: none;
    margin-top: 1.45rem;
    color: #fff;
    font-size: clamp(3rem, 4.05vw, 5.15rem);
    letter-spacing: -0.052em;
    line-height: 0.98;
    text-wrap: nowrap;
    -webkit-text-fill-color: currentColor;
  }

  #hero .ars-heading > span {
    color: #fff;
    -webkit-text-fill-color: currentColor;
  }

  #hero .ars-heading strong {
    font-style: normal;
  }

  #hero .ars-heading .ars-hero-cyan {
    background: linear-gradient(90deg, #00cfea, #0a9dff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  #hero .ars-heading .ars-hero-violet {
    color: #9c4dff;
    background: none;
    -webkit-text-fill-color: currentColor;
  }

  #hero .ars-copy {
    max-width: 43rem;
    margin-top: 1.2rem;
    color: #eef5ff;
    font-size: clamp(1.04rem, 1.12vw, 1.38rem);
    line-height: 1.35;
  }

  #hero .ars-button-group {
    flex-wrap: nowrap;
    gap: 1.5rem;
    margin-top: 1.7rem;
  }

  #hero .ars-button {
    min-height: 3.6rem;
    padding-inline: clamp(1.4rem, 2vw, 2.3rem);
    border-radius: 0.48rem;
    font-size: clamp(0.9rem, 0.92vw, 1.08rem);
    white-space: nowrap;
  }

  #hero .ars-button--primary {
    color: #07143f;
    background: #fff;
    box-shadow: none;
  }

  #hero .ars-button--secondary {
    color: #fff;
    background: rgb(2 19 48 / 0.35);
    border-color: rgb(255 255 255 / 0.76);
  }

  #hero .ars-hero-media {
    position: absolute;
    z-index: 0;
    inset: 0 0 0 37%;
    min-height: 0;
    margin: 0;
  }

  #hero .ars-hero-media::before {
    display: none;
  }

  #hero .ars-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: 51% 31%;
    border-radius: 0;
    filter: saturate(0.82) contrast(1.08) brightness(0.93);
    -webkit-mask-image: none;
    mask-image: none;
  }

  #hero .ars-proof-strip {
    position: relative;
    z-index: 4;
    margin: 0;
    color: #fff;
    background: #061a38;
    border: 0;
    box-shadow: 0 0 0 100vmax #061a38;
  }

  #hero .ars-proof-strip .ars-proof-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(calc(100% - clamp(2rem, 6vw, 7.2rem)), 121rem);
    min-height: clamp(7.4rem, 8vw, 9rem);
  }

  #hero .ars-proof-strip .ars-proof-item {
    grid-template-columns: 4.25rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 1rem;
    padding: 1rem clamp(1rem, 2.2vw, 2.6rem);
  }

  #hero .ars-proof-icon {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    color: #26d8ff;
  }

  #hero .ars-proof-item:nth-child(2) .ars-proof-icon { color: #547cff; }
  #hero .ars-proof-item:nth-child(3) .ars-proof-icon { color: #00d2e8; }
  #hero .ars-proof-item:nth-child(4) .ars-proof-icon { color: #8a5bff; }

  #hero .ars-proof-icon svg {
    width: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 4;
  }

  #hero .ars-proof-strip dt {
    align-self: end;
    color: #13d7ff;
    font-size: clamp(0.8rem, 0.88vw, 1.05rem);
  }

  #hero .ars-proof-strip dd {
    align-self: start;
    color: #edf4ff;
    font-size: clamp(0.72rem, 0.78vw, 0.94rem);
  }

  #hero .ars-affiliations {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(11rem, 0.85fr) minmax(0, 5fr);
    gap: 1.5rem;
    width: min(calc(100% - clamp(2rem, 6vw, 7.2rem)), 121rem);
    min-height: clamp(8rem, 9vw, 10rem);
    padding: 1.2rem 0;
  }

  #hero .ars-affiliations > p {
    max-width: 12rem;
    color: #1758ed;
    font-size: clamp(0.78rem, 0.83vw, 0.98rem);
    font-weight: 750;
    line-height: 1.35;
  }

  #hero .ars-affiliation-list {
    align-self: stretch;
    gap: 0;
  }

  #hero .ars-affiliation-list li {
    display: grid;
    place-content: center;
    width: 100%;
    max-width: none;
    min-height: 3.6rem;
    padding-inline: clamp(0.55rem, 1.2vw, 1.3rem);
    color: #0a2463;
    border-left: 1px solid #b9dafa;
    font-size: clamp(0.58rem, 0.62vw, 0.74rem);
    line-height: 1.2;
  }

  #hero .ars-affiliation-list strong {
    font-family: Georgia, serif;
    font-size: clamp(0.83rem, 1vw, 1.18rem);
    letter-spacing: 0.01em;
  }

  #hero .ars-affiliation-list span {
    margin-top: 0.15rem;
    font-weight: 600;
  }

  #hero .ars-affiliation-more {
    color: #145cff;
    white-space: nowrap;
  }

  /* 02 — policy and readiness */
  #readiness.ars-section {
    min-height: clamp(36rem, 45vw, 43rem);
    padding: clamp(4rem, 5.5vw, 6rem) 0 3.5rem;
    background:
      radial-gradient(circle at 83% 20%, rgb(170 220 255 / 0.32), transparent 30%),
      linear-gradient(180deg, #fbfdff 0%, #f8fbfe 72%, #f2f9ff 100%);
  }

  #readiness::after {
    z-index: 0;
    right: -5%;
    bottom: -1.5rem;
    left: -5%;
    height: 10rem;
    background:
      repeating-radial-gradient(ellipse 85% 105% at 11% 105%, transparent 0 3.3rem, rgb(0 186 235 / 0.11) 3.35rem 3.46rem, transparent 3.52rem 4.25rem),
      repeating-radial-gradient(ellipse 82% 110% at 68% 108%, transparent 0 3.7rem, rgb(129 71 247 / 0.09) 3.75rem 3.86rem, transparent 3.92rem 4.7rem);
  }

  #readiness > .ars-container {
    position: relative;
    z-index: 1;
    width: min(90%, 90rem);
  }

  #readiness > .ars-container.ars-split {
    grid-template-columns: minmax(0, 1fr) minmax(26rem, 1fr);
    align-items: start;
    gap: clamp(2.7rem, 5.5vw, 6rem);
  }

  #readiness .ars-readiness-content {
    padding-top: 1rem;
  }

  #readiness .ars-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.16em;
  }

  #readiness .ars-heading {
    max-width: 13ch;
    margin-top: 0.75rem;
    font-size: clamp(2.35rem, 3.2vw, 3.8rem);
    line-height: 1.02;
  }

  #readiness .ars-copy {
    max-width: 37rem;
    margin-top: 1rem;
    font-size: clamp(1rem, 1.05vw, 1.18rem);
    line-height: 1.52;
  }

  #readiness .ars-button {
    min-height: 3.35rem;
    margin-top: 1.65rem;
    color: #fff;
    background: #031b38;
    border: 0;
    border-radius: 0.42rem;
    box-shadow: none;
  }

  #readiness .ars-readiness-visual {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(9rem, 0.42fr);
    grid-template-rows: auto auto;
    gap: 1rem 0;
    min-height: 27rem;
    padding: 0 0 0 clamp(2rem, 4vw, 4rem);
    border-left: 1px solid #c3d8ed;
  }

  #readiness .ars-policy-stack {
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: min(25rem, 100%);
    min-height: 13.5rem;
    margin: 0;
    padding: clamp(2.5rem, 4vw, 3.8rem) 1.2rem 1.4rem;
    overflow: hidden;
    list-style: none;
    background:
      linear-gradient(145deg, rgb(255 255 255 / 0.38), rgb(228 241 250 / 0.78)),
      radial-gradient(circle at 22% 10%, #bfdcbd, transparent 40%);
    border: 0;
    border-radius: 0.75rem;
    box-shadow: none;
    transform: none;
  }

  #readiness .ars-policy-stack li {
    width: 82%;
    min-height: 2rem;
    margin: -0.18rem auto 0;
    padding: 0.35rem 0.8rem;
    color: #1a2436;
    background: linear-gradient(#f8f8f6, #dfe3e6);
    border: 1px solid #c6ccd2;
    border-left: 0;
    border-radius: 0.1rem;
    box-shadow: 0 0.35rem 0.45rem rgb(26 38 58 / 0.12);
    font-size: 0.78rem;
    font-weight: 650;
    transform: perspective(30rem) rotateX(6deg) rotateZ(-1deg);
  }

  #readiness .ars-callout {
    position: relative;
    top: 1.1rem;
    right: auto;
    align-self: start;
    width: 100%;
    min-height: 12rem;
    padding: 1.35rem 1.15rem;
    color: #08266b;
    background: linear-gradient(145deg, #eaf7ff, #e0eeff);
    border: 0;
    border-radius: 0.75rem;
    box-shadow: none;
    font-size: clamp(0.95rem, 1.1vw, 1.15rem);
    font-weight: 750;
    line-height: 1.18;
  }

  #readiness .ars-callout strong {
    display: block;
  }

  #readiness .ars-callout::after {
    display: block;
    width: 3rem;
    height: 0.18rem;
    margin-top: 1rem;
    background: #0ca6ff;
    content: "";
  }

  #readiness .ars-callout-icon {
    display: block;
    width: 2.8rem;
    height: 2.8rem;
    margin-bottom: 1rem;
    color: #1678ff;
  }

  #readiness .ars-callout-icon svg {
    width: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
  }

  #readiness .ars-question-list {
    grid-column: 1 / -1;
    gap: 0.25rem;
    margin: 0;
    padding-left: 0.2rem;
  }

  #readiness .ars-question-list li {
    min-height: 3.5rem;
    padding: 1rem 0 0.8rem 4rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: clamp(0.82rem, 0.9vw, 1rem);
  }

  #readiness .ars-question-list li::before {
    left: 0;
    width: 3rem;
    height: 3rem;
    color: #0a60dd;
    background: #dceeff;
    font-size: 0.82rem;
    font-weight: 900;
    content: "●●●";
  }

  #readiness .ars-question-list li[data-question-icon="practice"]::before { content: "✹"; font-size: 1.45rem; }
  #readiness .ars-question-list li[data-question-icon="impact"]::before { content: "▂▅▇"; font-size: 1rem; }

  #readiness .ars-readiness-signoff-row {
    margin-top: 0;
  }

  #readiness .ars-section-signoff {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    margin-top: -1rem;
    padding-top: 1.5rem;
    border: 0;
  }

  #readiness .ars-section-signoff span {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  #readiness .ars-section-signoff span::before {
    width: 3rem;
    height: 0.1rem;
    background: var(--ars-gradient-hot);
    content: "";
  }

  #readiness .ars-section-signoff strong {
    justify-self: end;
    text-align: left;
    line-height: 1.55;
  }

  /* 04 — Scan */
  #scan.ars-section {
    padding: clamp(4rem, 5vw, 5.8rem) 0 0;
    background:
      linear-gradient(90deg, rgb(255 255 255 / 0.98) 0%, rgb(255 255 255 / 0.95) 38%, rgb(240 249 255 / 0.8) 62%, rgb(234 245 248 / 0.92) 100%),
      radial-gradient(circle at 80% 20%, #c4e5d5, transparent 30%);
  }

  #scan > .ars-container.ars-split {
    width: min(94%, 121rem);
    grid-template-columns: minmax(30rem, 0.9fr) minmax(43rem, 1.35fr);
    gap: clamp(2.5rem, 3.5vw, 4.8rem);
    align-items: end;
  }

  #scan .ars-scan-content {
    position: relative;
    align-self: center;
    padding-top: 7.7rem;
    padding-bottom: 3rem;
  }

  #scan .ars-product-lockup {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: 5.7rem auto;
    align-items: center;
    gap: 0.9rem;
    margin: 0;
    padding-right: clamp(1.2rem, 2.5vw, 2.8rem);
    border-right: 1px solid #9eb9da;
  }

  #scan .ars-product-lockup img {
    width: 5.6rem;
    height: 5.6rem;
  }

  #scan .ars-product-lockup-copy {
    display: grid;
    gap: 0.45rem;
  }

  #scan .ars-product-lockup-copy strong {
    color: #07143f;
    font-size: clamp(1.5rem, 2vw, 2.45rem);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 0.94;
  }

  #scan .ars-product-lockup-copy strong b { font-weight: 450; }

  #scan .ars-product-lockup-copy small {
    color: #07143f;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.34em;
    text-transform: uppercase;
  }

  #scan .ars-scan-content > .ars-eyebrow {
    position: absolute;
    top: 1rem;
    left: min(26rem, 58%);
    display: block;
    width: 10rem;
    color: #0c68e8;
    font-size: 0.78rem;
    line-height: 2;
  }

  #scan .ars-scan-content > .ars-eyebrow::before { display: none; }

  #scan .ars-heading {
    max-width: 13ch;
    margin-top: 1rem;
    font-size: clamp(3rem, 4.3vw, 5.2rem);
    line-height: 1.02;
  }

  #scan .ars-heading .ars-gradient-text,
  #implementation .ars-gradient-text,
  #challenge .ars-gradient-text {
    color: #066ecf;
    background: linear-gradient(90deg, #0072c6 0%, #096af4 38%, #6335d8 78%, #c329da 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  #scan .ars-copy {
    max-width: 42rem;
    font-size: clamp(1.05rem, 1.35vw, 1.45rem);
    line-height: 1.45;
  }

  #scan .ars-button-group .ars-button {
    min-inline-size: 0;
    max-inline-size: 100%;
    min-height: clamp(3.75rem, calc(3.45rem + 1vw), 4.5rem);
    padding: clamp(0.9rem, calc(0.75rem + 0.4vw), 1.15rem)
      clamp(1.15rem, calc(0.85rem + 0.9vw), 1.75rem);
    border-radius: 0.72rem;
    font-size: clamp(1rem, calc(0.84rem + 0.35vw), 1.2rem);
    line-height: 1.2;
    white-space: normal;
    text-wrap: balance;
  }

  #scan .ars-button--primary {
    flex: 1 1 21rem;
  }

  #scan .ars-button--secondary {
    flex: 0 1 17rem;
    background: rgb(255 255 255 / 0.84);
  }

  #scan .ars-scan-visual {
    min-height: clamp(34rem, 39vw, 46rem);
  }

  #scan .ars-scan-device {
    inset: 6% 15% 7% 0;
    padding: 0.85rem 0.85rem 1.8rem;
    background: linear-gradient(145deg, #13203c, #59647b 5%, #0a1228 8% 92%, #4c5a71 96%, #18233c);
    border-radius: 1rem 1rem 0.55rem 0.55rem;
    transform: perspective(100rem) rotateY(-4deg) rotateX(1deg);
  }

  #scan .ars-scan-device::after {
    position: absolute;
    right: -6%;
    bottom: -1.25rem;
    left: -6%;
    height: 1.7rem;
    background: linear-gradient(#9299a6, #d3d7dd 48%, #7d8490 52%, #4c5360);
    border-radius: 0 0 50% 50%;
    box-shadow: 0 1rem 1.2rem rgb(2 18 59 / 0.18);
    content: "";
  }

  #scan .ars-scan-screen {
    display: block;
    padding: clamp(1rem, 1.6vw, 1.8rem);
    text-align: left;
  }

  #scan .ars-scan-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.85rem;
    color: #0a2866;
    border-bottom: 1px solid #c4d8ef;
    font-size: clamp(0.43rem, 0.47vw, 0.62rem);
    font-weight: 650;
  }

  #scan .ars-scan-toolbar b { color: #7744f7; }
  #scan .ars-scan-toolbar i {
    display: grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    color: #fff;
    background: #0c2b69;
    border-radius: 50%;
    font-size: 0.58rem;
    font-style: normal;
  }

  #scan .ars-scan-screen > h3 {
    margin-top: 1rem;
    color: #0a2a6c;
    font-size: clamp(1rem, 1.25vw, 1.5rem);
  }

  #scan .ars-scan-screen > p {
    margin-top: 0.2rem;
    color: #214677;
    font-size: clamp(0.56rem, 0.65vw, 0.75rem);
  }

  #scan .ars-scan-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(9rem, 0.75fr);
    gap: 1rem;
    align-items: center;
    margin-top: 0.8rem;
  }

  #scan .ars-radar-image-crop {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1.35;
    overflow: hidden;
    background: #fff;
  }

  #scan .ars-radar-image-crop img {
    position: absolute;
    top: -30%;
    left: 0;
    width: 153.6%;
    max-width: none;
    height: auto;
  }

  #scan .ars-readiness-score {
    display: grid;
    justify-items: center;
    align-content: start;
    min-height: 14rem;
    padding: 1rem;
    text-align: center;
    background: #e9f5ff;
    border-radius: 0.7rem;
  }

  #scan .ars-readiness-score > p {
    color: #15366f;
    font-size: 0.68rem;
    font-weight: 800;
  }

  #scan .ars-readiness-score > strong {
    margin-top: 0.8rem;
    color: #07143f;
    font-size: clamp(2rem, 3vw, 3.5rem);
    line-height: 0.9;
  }

  #scan .ars-readiness-score > span {
    color: #173e78;
    font-size: 0.62rem;
  }

  #scan .ars-readiness-score meter {
    width: 75%;
    height: 0.65rem;
    margin-top: 0.5rem;
  }

  #scan .ars-readiness-score small {
    margin-top: 0.8rem;
    color: #2a4c7d;
    font-size: 0.56rem;
    line-height: 1.35;
    text-align: left;
  }

  #scan .ars-readiness-score .ars-screen-button {
    width: 100%;
    margin-top: auto;
    padding: 0.55rem;
    color: #fff;
    background: #0b2d68;
    border-radius: 0.35rem;
    font-size: 0.52rem;
    font-weight: 700;
  }

  #scan .ars-scan-signals {
    top: 10%;
    right: 0;
    width: min(21rem, 38%);
    padding: clamp(1.25rem, 1.8vw, 2rem);
    background: rgb(255 255 255 / 0.93);
    border: 0;
    border-radius: 1.1rem;
    box-shadow: 0 1rem 2.4rem rgb(3 25 68 / 0.13);
  }

  #scan .ars-scan-signals h3 {
    font-size: clamp(1rem, 1.1vw, 1.35rem);
  }

  #scan .ars-scan-signals > p {
    font-size: 0.76rem;
    line-height: 1.4;
    text-align: center;
  }

  #scan .ars-signal-list > div {
    position: relative;
    grid-template-columns: 3.3rem 1fr;
    min-height: 4.25rem;
    border-top: 1px solid #e1e9f3;
  }

  #scan .ars-signal-list > div:first-child { border-top: 0; }

  #scan .ars-signal-list > div::before {
    width: 3rem;
    height: 3rem;
    color: #0a72ee;
    background: #dcefff;
    content: "▂▅▇";
    font-size: 1rem;
    font-weight: 900;
  }

  #scan .ars-signal-list > div[data-signal="reach"]::before { color: #7443f4; background: #eee5ff; content: "●●●"; font-size: 0.7rem; }
  #scan .ars-signal-list > div[data-signal="evidence"]::before { color: #02af85; background: #dffbf2; content: "▤"; font-size: 1.25rem; }
  #scan .ars-signal-list > div[data-signal="impact"]::before { color: #ef7c00; background: #fff0dc; content: "◎"; font-size: 1.35rem; }

  #scan .ars-scan-proof-band {
    position: relative;
    min-height: 8.1rem;
    padding-block: 1.35rem;
    background: rgb(255 255 255 / 0.96);
    border-top: 1px solid #d7e5f2;
  }

  #scan .ars-proof-list--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: min(82%, 95rem);
    margin: 0 auto 0 clamp(2rem, 4.3vw, 5.5rem);
  }

  #scan .ars-proof-item {
    position: relative;
    display: grid;
    grid-template-columns: 4.1rem 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    min-height: 5.4rem;
    padding: 0.6rem clamp(0.7rem, 1.5vw, 1.5rem) 0.6rem 4.8rem;
    border-left: 1px solid #cad9e8;
  }

  #scan .ars-proof-item:first-child { padding-left: 4.8rem; }

  #scan .ars-proof-item::before {
    position: absolute;
    top: 50%;
    left: 1rem;
    display: grid;
    place-items: center;
    width: 3.2rem;
    height: 3.2rem;
    color: #0877f9;
    content: "●●●";
    font-size: 0.7rem;
    font-weight: 900;
    transform: translateY(-50%);
  }

  #scan .ars-proof-item[data-proof-icon="quick"]::before { content: "◷"; font-size: 2.8rem; }
  #scan .ars-proof-item[data-proof-icon="insights"]::before { content: "▂▅▇"; font-size: 1.2rem; }
  #scan .ars-proof-item[data-proof-icon="trust"]::before { content: "◇"; font-size: 2.7rem; }

  #scan .ars-proof-item dt {
    color: #07143f;
    font-size: clamp(0.72rem, 0.78vw, 0.9rem);
    letter-spacing: 0.08em;
  }

  #scan .ars-proof-item dd {
    color: #526486;
    font-size: clamp(0.68rem, 0.73vw, 0.83rem);
  }

  #scan .ars-scan-signoff {
    position: absolute;
    right: clamp(1rem, 4vw, 5rem);
    bottom: 1.2rem;
    color: #7044f4;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.3em;
    line-height: 1.55;
    text-transform: uppercase;
  }

  /* 05 — five areas / task engineering */
  #implementation.ars-section {
    padding: 0;
    background:
      radial-gradient(circle at 80% 12%, rgb(89 196 255 / 0.24), transparent 30%),
      linear-gradient(180deg, #fff 0%, #edf8ff 43%, #fff 44%, #f4fbff 100%);
  }

  #implementation.ars-section::before {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 44%;
    height: clamp(24rem, 27vw, 31rem);
    background:
      radial-gradient(circle at 72% 26%, rgb(255 223 171 / 0.88), transparent 18%),
      linear-gradient(145deg, rgb(217 242 255 / 0.05), rgb(28 90 149 / 0.62) 62%, rgb(4 31 68 / 0.92));
    content: "";
  }

  #implementation.ars-section::after {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 45%;
    width: 18%;
    height: clamp(24rem, 27vw, 31rem);
    background: linear-gradient(90deg, #fff, transparent);
    content: "";
  }

  #implementation > .ars-container {
    position: relative;
    z-index: 1;
    width: min(calc(100% - clamp(2rem, 6vw, 7.2rem)), 121rem);
    padding-top: clamp(2rem, 3vw, 3.4rem);
  }

  #implementation .ars-implementation-intro {
    max-width: 70rem;
  }

  #implementation .ars-implementation-intro .ars-eyebrow {
    font-size: 0.72rem;
  }

  #implementation .ars-implementation-intro .ars-heading {
    max-width: 20ch;
    margin-top: 0.55rem;
    font-size: clamp(2.65rem, 3.35vw, 4.25rem);
    line-height: 0.98;
  }

  #implementation .ars-implementation-intro .ars-copy {
    max-width: 59rem;
    margin-top: 0.55rem;
    font-size: clamp(1rem, 1.08vw, 1.25rem);
    line-height: 1.35;
  }

  #implementation .ars-implementation-intro .ars-handwritten-note {
    top: 0.2rem;
    left: calc(100% + 2.5rem);
    width: 16rem;
    color: #12336d;
    font-size: clamp(1.2rem, 1.75vw, 2rem);
  }

  #implementation .ars-area-list {
    z-index: 2;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: clamp(1.2rem, 2vw, 2rem);
    list-style: none;
  }

  #implementation .ars-area-list::before {
    top: 48%;
    right: 4%;
    left: 4%;
    height: 5.6rem;
    background:
      radial-gradient(ellipse at 18% 50%, transparent 0 43%, rgb(40 125 255 / 0.13) 44% 52%, transparent 53%),
      radial-gradient(ellipse at 53% 50%, transparent 0 43%, rgb(0 209 238 / 0.15) 44% 52%, transparent 53%),
      radial-gradient(ellipse at 86% 50%, transparent 0 43%, rgb(125 60 247 / 0.13) 44% 52%, transparent 53%);
  }

  #implementation .ars-area-card {
    min-height: clamp(12.3rem, 14.2vw, 17rem);
    aspect-ratio: 1;
    margin-left: -0.7rem;
    padding: clamp(1rem, 1.35vw, 1.55rem);
    background: rgb(255 255 255 / 0.97);
    border-color: #bdddf6;
    box-shadow: 0 0.8rem 2.6rem rgb(35 105 180 / 0.09);
  }

  #implementation .ars-area-card:nth-child(1) { border-color: #fed8dd; }
  #implementation .ars-area-card:nth-child(2) { border-color: #bae4ff; }
  #implementation .ars-area-card:nth-child(4) { border-color: #afeaf6; }
  #implementation .ars-area-card:nth-child(5) { border-color: #e3c8ff; }

  #implementation .ars-area-card.is-active {
    border: 0.28rem solid transparent;
    background: linear-gradient(#fff, #fff) padding-box, var(--ars-gradient-hot) border-box;
    box-shadow: 0 1rem 3rem rgb(44 94 221 / 0.17);
    transform: translateY(-0.35rem) scale(1.04);
  }

  #implementation .ars-area-icon {
    display: block;
    margin-bottom: 0.2rem;
    color: #fe5263;
    font-size: clamp(1.8rem, 2.25vw, 2.7rem);
    font-weight: 900;
    line-height: 1;
  }

  #implementation .ars-area-card:nth-child(2) .ars-area-icon { color: #0877f9; }
  #implementation .ars-area-card:nth-child(3) .ars-area-icon { color: #7c40f6; }
  #implementation .ars-area-card:nth-child(4) .ars-area-icon { color: #02bbd5; font-size: 0.75rem; letter-spacing: 0.05em; }
  #implementation .ars-area-card:nth-child(5) .ars-area-icon { color: #7340f3; }

  #implementation .ars-area-number {
    font-size: 0.72rem;
  }

  #implementation .ars-area-card h3 {
    font-size: clamp(0.98rem, 1.15vw, 1.3rem);
  }

  #implementation .ars-area-card p {
    margin-top: 0.45rem;
    font-size: clamp(0.68rem, 0.76vw, 0.86rem);
    line-height: 1.27;
  }

  #implementation .ars-implementation-motto {
    position: absolute;
    z-index: 3;
    top: clamp(16rem, 19vw, 21rem);
    right: -0.5rem;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.34em;
    line-height: 1.7;
    text-transform: uppercase;
    text-shadow: 0 0.1rem 0.5rem #082652;
  }

  #implementation .ars-implementation-detail {
    grid-template-columns: minmax(18rem, 0.9fr) minmax(31rem, 1.15fr) minmax(25rem, 0.85fr);
    gap: 0;
    margin-top: 1.1rem;
    padding-top: 1.25rem;
    padding-bottom: 1.2rem;
  }

  #implementation .ars-implementation-detail > * {
    min-width: 0;
    padding-inline: clamp(1rem, 2vw, 2.2rem);
  }

  #implementation .ars-implementation-detail > :first-child { padding-left: 0; }
  #implementation .ars-implementation-detail > * + * { border-left: 1px solid #b9dafa; }

  #implementation .ars-implementation-copy .ars-eyebrow {
    color: #153970;
  }

  #implementation .ars-implementation-copy .ars-heading {
    max-width: 12ch;
    margin-top: 1.25rem;
    font-size: clamp(2.5rem, 3vw, 3.7rem);
    line-height: 0.98;
  }

  #implementation .ars-implementation-copy .ars-copy {
    margin-top: 0.8rem;
    font-size: clamp(0.92rem, 0.95vw, 1.08rem);
    line-height: 1.38;
  }

  #implementation .ars-button {
    border-radius: 1.8rem;
  }

  #implementation .ars-task-engineering .ars-eyebrow::before { display: none; }

  #implementation .ars-task-engineering h3 {
    font-size: clamp(1.1rem, 1.25vw, 1.5rem);
  }

  #implementation .ars-task-engineering > p:not(.ars-eyebrow, .ars-handwritten-note) {
    margin-top: 0.15rem;
    font-size: 0.78rem;
  }

  #implementation .ars-task-sequence {
    gap: 0.8rem;
    margin-top: 1rem;
  }

  #implementation .ars-task-sequence li::before {
    display: none;
  }

  #implementation .ars-task-sequence .ars-icon-disc {
    display: grid;
    place-items: center;
    width: clamp(3.6rem, 4.5vw, 4.8rem);
    height: clamp(3.6rem, 4.5vw, 4.8rem);
    margin: 0 auto;
    color: #fff;
    border: 0.2rem solid rgb(255 255 255 / 0.85);
    box-shadow: 0 0 0 0.15rem rgb(91 77 241 / 0.2), 0 0.7rem 1.5rem rgb(55 77 220 / 0.22);
    font-size: 1rem;
  }

  #implementation .ars-task-sequence li:nth-child(1) .ars-icon-disc { background: linear-gradient(145deg, #9245f7, #d34af7); }
  #implementation .ars-task-sequence li:nth-child(2) .ars-icon-disc { background: linear-gradient(145deg, #0f83f7, #64b7ff); }
  #implementation .ars-task-sequence li:nth-child(3) .ars-icon-disc { background: linear-gradient(145deg, #00bce9, #63e5f1); }
  #implementation .ars-task-sequence li:nth-child(4) .ars-icon-disc { background: linear-gradient(145deg, #00be8c, #47e5ad); }

  #implementation .ars-task-sequence li:not(:last-child)::after {
    top: 2.1rem;
    right: -0.7rem;
    color: #00a9e9;
    font-size: 1.7rem;
  }

  #implementation .ars-task-sequence strong { font-size: 0.9rem; }
  #implementation .ars-task-sequence li > span:last-child { font-size: 0.68rem; }
  #implementation .ars-task-engineering .ars-handwritten-note { margin-top: 0.5rem; font-size: 1.15rem; }

  #implementation .ars-support-card {
    display: grid;
    grid-template-columns: minmax(10rem, 0.68fr) minmax(13rem, 1.32fr);
    grid-template-rows: auto auto 1fr;
    gap: 0.3rem 1rem;
    padding: 0;
    overflow: visible;
  }

  #implementation .ars-task-force-icon,
  #implementation .ars-support-card > h3,
  #implementation .ars-support-card > p,
  #implementation .ars-support-card > .ars-button {
    grid-column: 1;
  }

  #implementation .ars-task-force-icon {
    align-self: end;
    color: #0877f9;
    font-size: 0.75rem;
    font-weight: 900;
  }

  #implementation .ars-support-card > h3 {
    font-size: 1.05rem;
  }

  #implementation .ars-support-card > p {
    font-size: 0.72rem;
  }

  #implementation .ars-support-card > .ars-button {
    align-self: end;
    min-height: 2.4rem;
    margin-top: 0.7rem;
    padding: 0.5rem 0.8rem;
    font-size: 0.72rem;
  }

  #implementation .ars-support-card-media {
    grid-row: 1 / -1;
    grid-column: 2;
    min-height: 19rem;
    margin: -1.25rem 0 -1.2rem;
    border-radius: 0;
  }

  #implementation .ars-support-card-media img {
    object-position: 50% 20%;
  }

  #implementation .ars-photo-note {
    position: absolute;
    z-index: 2;
    top: 1rem;
    right: 0.8rem;
    color: #183469;
    font-family: var(--ars-font-script);
    font-size: 0.85rem;
    line-height: 1.6;
    transform: rotate(-4deg);
  }

  #implementation .ars-support-card-media figcaption {
    right: 0.6rem;
    bottom: 0.6rem;
    left: auto;
    width: min(91%, 17rem);
    padding: 0.8rem 1rem;
    background: rgb(4 24 52 / 0.88);
    border-radius: 0.35rem;
    font-size: 0.66rem;
  }

  #implementation .ars-support-card-media cite {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.52rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
  }

  #implementation .ars-section-signoff {
    display: grid;
    grid-template-columns: auto 1fr auto;
    margin: 0 calc((100vw - var(--ars-container)) / -2);
    padding: 1rem max(clamp(2rem, 6vw, 7.2rem), calc((100vw - 121rem) / 2));
    background: #fff;
    border-top: 1px solid #e2eaf2;
  }

  #implementation .ars-section-signoff strong {
    color: #0877f9;
    font-size: 1rem;
    letter-spacing: -0.03em;
    text-transform: none;
  }

  #implementation .ars-section-signoff span:first-of-type {
    padding-left: 1.5rem;
    border-left: 1px solid #9ebee6;
  }

  /* 06 — featured challenge */
  #challenge.ars-section {
    padding: clamp(4.5rem, 4.8vw, 5.2rem) 0 clamp(3rem, 4vw, 4rem);
    background:
      linear-gradient(73deg, transparent 0 64%, rgb(0 201 230 / 0.16) 64.08% 64.18%, transparent 64.28%),
      linear-gradient(73deg, transparent 0 66%, rgb(104 52 242 / 0.2) 66.08% 66.18%, transparent 66.28%),
      repeating-radial-gradient(circle at 84% 17%, transparent 0 6.5rem, rgb(44 60 121 / 0.2) 6.55rem 6.65rem, transparent 6.7rem 10rem),
      radial-gradient(circle at 7% 7%, rgb(0 157 185 / 0.1), transparent 24%),
      radial-gradient(circle at 88% 88%, rgb(94 45 190 / 0.12), transparent 26%),
      #091029;
  }

  #challenge > .ars-container {
    width: min(calc(100% - clamp(2rem, 7vw, 9.5rem)), 90.5rem);
  }

  #challenge .ars-section-intro {
    grid-template-columns: minmax(0, 1.55fr) minmax(25rem, 1fr);
    gap: clamp(3rem, 5vw, 5.3rem);
    align-items: start;
    margin-bottom: clamp(4.2rem, 5.6vw, 5.8rem);
  }

  #challenge .ars-section-intro .ars-heading {
    max-width: none;
    margin-top: 2rem;
    font-size: clamp(3rem, 3.9vw, 3.95rem);
    line-height: 0.99;
  }

  #challenge .ars-section-intro .ars-heading > span { display: block; }

  #challenge .ars-section-intro > .ars-copy {
    margin-top: 3.8rem;
    font-size: clamp(1.06rem, 1.18vw, 1.2rem);
    line-height: 1.48;
  }

  #challenge .ars-challenge-feature {
    grid-template-columns: minmax(0, 1.48fr) minmax(24rem, 1fr);
    gap: 1.4rem;
    margin-top: 0;
  }

  #challenge .ars-challenge-media {
    min-height: 31.25rem;
    aspect-ratio: 1.7;
    border: 0;
    border-radius: 1.75rem;
  }

  #challenge .ars-challenge-media img {
    object-position: 50% 21%;
  }

  #challenge .ars-challenge-media figcaption {
    right: 2.1rem;
    bottom: 2.1rem;
    left: 2.1rem;
    font-size: clamp(1.4rem, 1.65vw, 1.8rem);
    line-height: 1.12;
  }

  #challenge .ars-challenge-media figcaption span {
    display: block;
    margin-bottom: 0.65rem;
    color: #cbd5e7;
    font-size: 0.7rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  #challenge .ars-challenge-media figcaption strong { display: block; }

  #challenge .ars-challenge-card {
    display: flex;
    flex-direction: column;
    min-height: 31.25rem;
    padding: clamp(2rem, 2.6vw, 2.5rem);
    background:
      repeating-radial-gradient(circle at 72% -10%, transparent 0 4.7rem, rgb(64 75 132 / 0.22) 4.75rem 4.85rem, transparent 4.9rem 7rem),
      linear-gradient(145deg, #151a32, #201d3d);
    border: 1px solid rgb(123 139 205 / 0.18);
    border-radius: 1.75rem;
  }

  #challenge .ars-challenge-card > .ars-eyebrow {
    display: grid;
    place-items: center;
    width: 9.6rem;
    min-height: 2.45rem;
    color: #fff;
    background: #00cfe8;
    border-radius: 2rem;
    font-size: 0.7rem;
    letter-spacing: 0;
  }

  #challenge .ars-challenge-card .ars-heading {
    max-width: 13ch;
    margin-top: 2.8rem;
    font-size: clamp(2rem, 2.35vw, 2.45rem);
    line-height: 1.1;
  }

  #challenge .ars-challenge-card > p:not(.ars-eyebrow) {
    margin-top: 1.2rem;
    color: #d0d8e8;
    font-size: clamp(0.95rem, 1.1vw, 1.1rem);
    line-height: 1.48;
  }

  #challenge .ars-challenge-card .ars-button {
    align-self: flex-start;
    min-height: 3.25rem;
    margin-top: auto;
    border-radius: 0.72rem;
    box-shadow: none;
  }

  #challenge .ars-shift-panel {
    grid-template-columns: minmax(17rem, 0.36fr) minmax(0, 1fr);
    gap: 1.3rem;
    min-height: 8rem;
    margin-top: 1.4rem;
    padding: 1.7rem 1.9rem;
    background: #f7f9fd;
    border-radius: 1.45rem;
  }

  #challenge .ars-shift-panel .ars-eyebrow {
    color: #2a385a;
    font-size: 0.68rem;
    letter-spacing: 0;
  }

  #challenge .ars-shift-panel > div > p:last-child {
    margin-top: 0.55rem;
    color: #66728e;
    font-size: 0.72rem;
  }

  #challenge .ars-shift-track {
    gap: 1.7rem;
    background: transparent;
  }

  #challenge .ars-shift-track li {
    padding-top: 1.1rem;
    font-size: 0.8rem;
    letter-spacing: 0;
  }

  #challenge .ars-shift-track li::before {
    height: 0.3rem;
    background: #00cfe8;
    border-radius: 2rem;
  }

  #challenge .ars-shift-track li:nth-child(2)::before { background: #156ff4; }
  #challenge .ars-shift-track li:nth-child(3)::before { background: #7750f5; }
  #challenge .ars-shift-track li:nth-child(4)::before { background: #f33ce4; }
}

@layer fidelity {
  @media (max-width: 88rem) {
    #hero .ars-heading { font-size: clamp(2.8rem, 4.4vw, 4.2rem); }
    #hero .ars-primary-nav-list { gap: 0.25rem; }
    #scan > .ars-container.ars-split { grid-template-columns: minmax(25rem, 0.85fr) minmax(37rem, 1.25fr); }
    #scan .ars-heading { font-size: clamp(2.8rem, 4.2vw, 4.2rem); }
    #implementation .ars-area-card { min-height: 12.5rem; }
    #implementation .ars-implementation-detail { grid-template-columns: minmax(17rem, 0.9fr) minmax(27rem, 1.15fr) minmax(22rem, 0.85fr); }
  }

  @media (max-width: 56rem) {
    #challenge .ars-shift-panel { grid-template-columns:minmax(0,1fr); }
  }

  @media (max-width: 72rem) {
    #scan > .ars-container.ars-split { grid-template-columns:minmax(0,1fr); }
  }

  @media (max-width: 64rem) {
    #hero > .ars-container.ars-hero-layout {
      min-height: 39rem;
    }

    #hero .ars-hero-content {
      width: min(67%, 42rem);
    }

    #hero .ars-heading {
      font-size: clamp(2.7rem, 6vw, 4rem);
      text-wrap: balance;
    }

    #hero .ars-hero-media {
      inset-inline-start: 31%;
      opacity: 0.72;
    }

    #hero .ars-proof-strip .ars-proof-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #hero .ars-proof-strip .ars-proof-item:nth-child(3) { border-left: 0; border-top: 1px solid rgb(255 255 255 / 0.2); }
    #hero .ars-proof-strip .ars-proof-item:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 0.2); }

    #hero .ars-affiliations {
      grid-template-columns: 1fr;
    }

    #hero .ars-affiliations > p { max-width: 24rem; }

    #readiness > .ars-container.ars-split {
      grid-template-columns: minmax(0, 1fr) minmax(23rem, 1fr);
      gap: 2rem;
    }

    #readiness .ars-readiness-visual {
      grid-template-columns: minmax(0, 1fr) minmax(8rem, 0.42fr);
      padding-left: 2rem;
      border-top: 0;
      border-left: 1px solid #c3d8ed;
    }

    #scan > .ars-container.ars-split {
      grid-template-columns: 1fr;
      align-items: start;
    }

    #scan .ars-scan-content {
      padding-bottom: 0;
    }

    #scan .ars-scan-content > .ars-eyebrow { left: 24rem; }
    #scan .ars-heading { max-width: 18ch; }
    #scan .ars-scan-visual { min-height: 38rem; }
    #scan .ars-scan-proof-band { margin-top: 2rem; }
    #scan .ars-proof-list--compact { grid-template-columns: repeat(2, 1fr); width: min(90%, 58rem); margin-inline: auto; }
    #scan .ars-proof-item:nth-child(3) { border-left: 0; border-top: 1px solid #cad9e8; }
    #scan .ars-proof-item:nth-child(4) { border-top: 1px solid #cad9e8; }
    #scan .ars-scan-signoff { position: static; width: min(90%, 58rem); margin: 1rem auto 0; text-align: right; }

    #implementation .ars-implementation-intro .ars-handwritten-note {
      position: static;
      width: auto;
      margin-top: 1rem;
    }

    #implementation .ars-area-list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
      margin-right: 0;
      padding: 0;
      overflow: visible;
    }

    #implementation .ars-area-card,
    #implementation .ars-area-card:first-child {
      min-height: 0;
      margin: 0;
    }

    #implementation .ars-area-card.is-active { transform: none; }
    #implementation .ars-implementation-motto { display: none; }

    #implementation .ars-implementation-detail {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }

    #implementation .ars-implementation-detail > * {
      padding: 1.5rem 0 0;
      border-top: 1px solid #b9dafa;
      border-left: 0;
    }

    #implementation .ars-implementation-detail > :first-child { padding-top: 0; border-top: 0; }
    #implementation .ars-support-card { grid-template-columns: minmax(15rem, 0.7fr) minmax(18rem, 1.3fr); }
    #implementation .ars-section-signoff { margin-inline: 0; padding-inline: 0; }

    #challenge .ars-section-intro,
    #challenge .ars-challenge-feature {
      grid-template-columns: 1fr;
    }

    #challenge .ars-section-intro { gap: 1rem; margin-bottom: 3rem; }
    #challenge .ars-section-intro > .ars-copy { margin-top: 0; }
    #challenge .ars-section-intro .ars-heading > span { display: inline; }
    #challenge .ars-challenge-media { min-height: 0; aspect-ratio: 4 / 3; }
    #challenge .ars-challenge-card { min-height: 26rem; }
  }

  @media (max-width: 46rem) {
    #readiness.ars-section { padding-bottom: 4rem; }

    #readiness > .ars-container.ars-split {
      grid-template-columns: 1fr;
    }

    #readiness .ars-readiness-visual {
      grid-template-columns: 1fr;
      padding: 2rem 0 0;
      border-top: 1px solid #c3d8ed;
      border-left: 0;
    }

    #readiness .ars-callout {
      top: auto;
      width: min(100%, 22rem);
      min-height: 0;
    }

    #readiness .ars-question-list { grid-column: 1; margin-top: 1rem; }
    #readiness .ars-section-signoff { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; }
    #readiness .ars-section-signoff strong { justify-self: start; }
  }

  @media (max-width: 42rem) {
    .ars-site-header,
    .ars-header-inner { min-height: 4.7rem; }

    .ars-header-inner { width: calc(100% - 2rem); }
    .ars-brand { font-size: 0.94rem; }
    .ars-brand img { height: 2.7rem; }

    #hero > .ars-container.ars-hero-layout {
      display: flex;
      min-height: 0;
      padding-inline: 1rem;
    }

    #hero .ars-hero-content {
      width: 100%;
      min-height: 0;
      padding: 3.5rem 0 2rem;
    }

    #hero .ars-heading {
      font-size: clamp(2.35rem, 11.8vw, 3.3rem);
      text-wrap: balance;
    }

    #hero .ars-heading > span { display: block; }
    #hero .ars-copy { font-size: 1rem; }
    #hero .ars-button-group { flex-direction: column; gap: 0.75rem; }
    #hero .ars-button { width: 100%; white-space: normal; }

    #hero .ars-hero-media {
      position: relative;
      inset: auto;
      width: calc(100% + 2rem);
      height: 23rem;
      min-height: 0;
      margin: 0 -1rem;
      opacity: 1;
      order: 2;
    }

    #hero::after {
      background: linear-gradient(180deg, #031534 0 44%, rgb(3 21 52 / 0.92) 58%, transparent 76%);
      pointer-events: none;
    }

    #hero .ars-hero-media img { object-position: 51% 28%; }

    #hero .ars-proof-strip .ars-proof-list {
      grid-template-columns: 1fr;
      width: calc(100% - 2rem);
    }

    #hero .ars-proof-strip .ars-proof-item {
      grid-template-columns: 3.5rem 1fr;
      min-height: 6.4rem;
      padding: 0.8rem 0.25rem;
      border-top: 1px solid rgb(255 255 255 / 0.2);
      border-left: 0;
    }

    #hero .ars-proof-icon { width: 3.2rem; height: 3.2rem; }
    #hero .ars-affiliations { width: calc(100% - 2rem); }
    #hero .ars-affiliation-list { display: grid; grid-template-columns: 1fr 1fr; }
    #hero .ars-affiliation-list li { min-height: 5rem; border-top: 1px solid #b9dafa; }

    #readiness .ars-heading,
    #scan .ars-heading,
    #implementation .ars-implementation-intro .ars-heading,
    #challenge .ars-section-intro .ars-heading {
      font-size: clamp(2.3rem, 10vw, 3.2rem);
    }

    #scan > .ars-container.ars-split { width: calc(100% - 2rem); }
    #scan .ars-scan-content { padding-top: 0; }
    #scan .ars-product-lockup { position: relative; top: auto; border-right: 0; }
    #scan .ars-scan-content > .ars-eyebrow { position: relative; top: auto; left: auto; width: auto; margin-top: 1.5rem; }
    #scan .ars-button-group { display: grid; }
    #scan .ars-button { width: 100%; }
    #scan .ars-scan-visual { display: grid; min-height: 0; gap: 1rem; }
    #scan .ars-scan-device,
    #scan .ars-scan-signals { position: relative; inset: auto; width: 100%; }
    #scan .ars-scan-device { min-height: 0; transform: none; }
    #scan .ars-scan-device::after { display: none; }
    #scan .ars-scan-dashboard { grid-template-columns: 1fr; }
    #scan .ars-radar-chart { max-width: 24rem; margin-inline: auto; }
    #scan .ars-readiness-score { min-height: 15rem; }
    #scan .ars-scan-signals { padding: 1.2rem; }
    #scan .ars-proof-list--compact { grid-template-columns: 1fr; width: calc(100% - 2rem); }
    #scan .ars-proof-item,
    #scan .ars-proof-item:first-child { min-height: 5.5rem; padding-left: 4.8rem; border-top: 1px solid #cad9e8; border-left: 0; }

    #implementation > .ars-container { width: calc(100% - 2rem); }
    #implementation .ars-area-list { grid-template-columns: 1fr; }
    #implementation .ars-area-card { aspect-ratio: auto; min-height: 16rem; border-radius: 50%; }
    #implementation .ars-task-sequence { grid-template-columns: 1fr; }
    #implementation .ars-task-sequence li { grid-template-columns: 4rem 1fr; min-height: 6rem; text-align: left; }
    #implementation .ars-task-sequence .ars-icon-disc { grid-row: 1 / span 2; margin: 0; }
    #implementation .ars-task-sequence li:not(:last-child)::after { top: 4.3rem; right: auto; bottom: -0.3rem; left: 1.9rem; width: 0.15rem; height: auto; background: #0ab8ec; content: ""; }
    #implementation .ars-support-card { display: grid; grid-template-columns: 1fr; }
    #implementation .ars-task-force-icon,
    #implementation .ars-support-card > h3,
    #implementation .ars-support-card > p,
    #implementation .ars-support-card > .ars-button,
    #implementation .ars-support-card-media { grid-column: 1; }
    #implementation .ars-support-card-media { grid-row: auto; min-height: 25rem; margin: 1rem 0 0; }
    #implementation .ars-section-signoff { grid-template-columns: 1fr; gap: 0.8rem; }
    #implementation .ars-section-signoff span:first-of-type { padding-left: 0; border-left: 0; }

    #challenge > .ars-container { width: calc(100% - 2rem); }
    #challenge .ars-section-intro .ars-heading > span { display: inline; }
    #challenge .ars-challenge-media figcaption { right: 1.2rem; bottom: 1.2rem; left: 1.2rem; font-size: 1.15rem; }
    #challenge .ars-challenge-card { min-height: 25rem; padding: 1.5rem; }
    #challenge .ars-shift-panel { grid-template-columns: 1fr; padding: 1.35rem; }
    #challenge .ars-shift-track { grid-template-columns: 1fr; gap: 0.35rem; }
    #challenge .ars-shift-track li { padding: 0.65rem 0 0.65rem 1rem; }
    #challenge .ars-shift-track li::before { top: 0; right: auto; bottom: 0; left: 0; width: 0.25rem; height: auto; }
  }

  @media (prefers-reduced-motion: reduce) {
    #implementation .ars-area-card.is-active { transform: none; }
  }

  @media (forced-colors: active) {
    #hero .ars-proof-icon svg,
    #readiness .ars-callout-icon svg { stroke: CanvasText; }
  }
}

@layer fidelity {
  /* Stable, code-native symbols replace platform-dependent font glyphs. */
  .ars-inline-icon svg,
  #implementation .ars-area-icon svg,
  #implementation .ars-icon-disc svg,
  #implementation .ars-task-force-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
  }

  #readiness .ars-question-list li {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding-left: 0;
  }

  #readiness .ars-question-list li::before,
  #scan .ars-signal-list > div::before,
  #scan .ars-proof-item::before {
    display: none;
  }

  #readiness .ars-question-list .ars-inline-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    padding: 0.65rem;
    color: #0a60dd;
    background: #dceeff;
    border-radius: 50%;
  }

  #scan .ars-signal-list > div {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    column-gap: 0.8rem;
    padding-left: 0;
  }

  #scan .ars-signal-list .ars-inline-icon {
    grid-row: 1 / span 2;
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0.55rem;
    color: #0877f9;
    background: #dceeff;
    border-radius: 50%;
  }

  #scan .ars-signal-list [data-signal="reach"] .ars-inline-icon { color: #7443f4; background: #eee5ff; }
  #scan .ars-signal-list [data-signal="evidence"] .ars-inline-icon { color: #02a77e; background: #dffbf2; }
  #scan .ars-signal-list [data-signal="impact"] .ars-inline-icon { color: #e97700; background: #fff0dc; }

  #scan .ars-proof-item,
  #scan .ars-proof-item:first-child {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    column-gap: 1.1rem;
    padding-left: clamp(1.2rem, 2.2vw, 2.2rem);
  }

  #scan .ars-proof-item .ars-inline-icon {
    grid-row: 1 / span 2;
    align-self: center;
    width: 3.3rem;
    height: 3.3rem;
    padding: 0.45rem;
    color: #0877f9;
  }

  #scan .ars-proof-item[data-proof-icon="quick"] .ars-inline-icon { color: #6c45ed; }
  #scan .ars-proof-item[data-proof-icon="insights"] .ars-inline-icon { color: #00aebf; }
  #scan .ars-proof-item[data-proof-icon="trust"] .ars-inline-icon { color: #0772dc; }

  #implementation .ars-area-icon {
    width: clamp(2.3rem, 2.65vw, 3.1rem);
    height: clamp(2.3rem, 2.65vw, 3.1rem);
    margin-inline: auto;
  }

  #implementation .ars-area-card:first-child .ars-area-icon svg {
    fill: currentColor;
    stroke: none;
  }

  #implementation .ars-area-card:nth-child(4) .ars-area-icon {
    width: clamp(2.5rem, 2.9vw, 3.25rem);
    height: clamp(2.5rem, 2.9vw, 3.25rem);
    font-size: inherit;
    letter-spacing: 0;
  }

  #implementation .ars-area-card p {
    font-size: clamp(0.75rem, 0.76vw, 0.88rem);
  }

  #implementation .ars-task-sequence .ars-icon-disc {
    padding: clamp(0.8rem, 0.95vw, 1rem);
  }

  #implementation .ars-task-sequence li > span:last-child {
    font-size: clamp(0.72rem, 0.72vw, 0.8rem);
    line-height: 1.28;
  }

  #implementation .ars-task-force-icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  #implementation .ars-support-card > p {
    font-size: clamp(0.76rem, 0.76vw, 0.85rem);
    line-height: 1.35;
  }

  @media (max-width: 64rem) {
    #implementation .ars-area-card {
      min-height: 17rem;
    }
  }

  @media (max-width: 42rem) {
    #readiness .ars-question-list li {
      font-size: 1rem;
    }

    #scan .ars-proof-item,
    #scan .ars-proof-item:first-child {
      grid-template-columns: 3.5rem minmax(0, 1fr);
      min-height: 6rem;
      padding: 1rem 0;
    }

    #implementation .ars-area-card {
      display: grid;
      grid-template-columns: 3.2rem minmax(0, 1fr);
      align-content: center;
      column-gap: 1rem;
      min-height: 12rem;
      padding: 1.5rem;
      border-radius: 1.75rem;
      text-align: left;
    }

    #implementation .ars-area-icon {
      grid-row: 1 / span 3;
      align-self: start;
      width: 3rem;
      height: 3rem;
      margin: 0;
    }

    #implementation .ars-area-number,
    #implementation .ars-area-card h3,
    #implementation .ars-area-card p {
      grid-column: 2;
    }

    #implementation .ars-area-card h3 { font-size: 1.2rem; }
    #implementation .ars-area-card p { font-size: 0.94rem; line-height: 1.4; }
    #implementation .ars-task-sequence li > span:last-child { font-size: 0.9rem; }
    #implementation .ars-support-card > p { font-size: 0.95rem; }
  }

  @media (forced-colors: active) {
    .ars-inline-icon svg,
    #implementation .ars-area-icon svg,
    #implementation .ars-icon-disc svg,
    #implementation .ars-task-force-icon svg {
      stroke: CanvasText;
    }

    #implementation .ars-area-card:first-child .ars-area-icon svg {
      fill: CanvasText;
    }
  }
}

@layer tokens {
  :root {
    --ars-navy-950: #020a2e;
    --ars-navy-900: #05123d;
    --ars-navy-850: #07184a;
    --ars-navy-800: #09205b;
    --ars-navy-700: #103076;
    --ars-blue-700: #075de6;
    --ars-blue-600: #0877f9;
    --ars-cyan-500: #00bce9;
    --ars-cyan-400: #00ddf4;
    --ars-violet-600: #6b36f6;
    --ars-violet-500: #8a35ff;
    --ars-magenta-500: #e82bf6;
    --ars-coral-500: #ff5264;
    --ars-mint-500: #13d7a2;
    --ars-ink: #07143f;
    --ars-copy: #29385d;
    --ars-muted: #66728e;
    --ars-line: #d7e2f1;
    --ars-line-blue: #b9dafa;
    --ars-paper: #ffffff;
    --ars-ice: #f5faff;
    --ars-sky-wash: #eaf7ff;
    --ars-focus: #ffca28;
    --ars-gradient: linear-gradient(100deg, var(--ars-cyan-500) 0%, var(--ars-blue-600) 48%, var(--ars-violet-500) 100%);
    --ars-gradient-hot: linear-gradient(102deg, var(--ars-cyan-500) 0%, var(--ars-blue-600) 36%, var(--ars-violet-500) 69%, var(--ars-magenta-500) 100%);
    --ars-gradient-text: linear-gradient(90deg, #03bff0 0%, #1778ff 42%, #7d36fa 78%, #db32fa 100%);
    --ars-shadow-sm: 0 0.55rem 1.6rem rgb(8 38 98 / 0.10);
    --ars-shadow-md: 0 1.2rem 3.5rem rgb(2 13 55 / 0.16);
    --ars-shadow-dark: 0 1.5rem 4.5rem rgb(0 0 0 / 0.32);
    --ars-radius-sm: 0.75rem;
    --ars-radius-md: 1.25rem;
    --ars-radius-lg: 1.9rem;
    --ars-radius-pill: 999px;
    --ars-container: min(84rem, calc(100vw - 3rem));
    --ars-section-space: clamp(5rem, 8vw, 8.5rem);
    --ars-font-sans: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
    --ars-font-display: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
    --ars-font-script: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
  }
}

@layer base {
  body {
    min-width: 20rem;
    overflow-x: clip;
    color: var(--ars-copy);
    background: var(--ars-paper);
    font-family: var(--ars-font-sans);
    font-size: 1rem;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  body.ars-nav-open {
    overflow: hidden;
  }

  :where(.ars-site-header, .ars-main, .ars-site-footer) a {
    color: inherit;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
  }

  :where(.ars-site-header, .ars-main, .ars-site-footer) :where(a, button, input, select, textarea):focus-visible {
    outline: 0.2rem solid var(--ars-focus);
    outline-offset: 0.22rem;
  }

  .ars-skip-link {
    position: fixed;
    inset: 0.75rem auto auto 0.75rem;
    z-index: 1000;
    padding: 0.7rem 1rem;
    border-radius: 0.5rem;
    color: #fff;
    background: var(--ars-navy-950);
    transform: translateY(-200%);
  }

  .ars-skip-link:focus {
    transform: translateY(0);
  }

  .ars-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .ars-container {
    width: var(--ars-container);
    margin-inline: auto;
  }

  .ars-main {
    isolation: isolate;
  }

  .ars-section {
    position: relative;
    isolation: isolate;
    padding-block: var(--ars-section-space);
  }

  .ars-section[aria-labelledby] {
    scroll-margin-top: 6.5rem;
  }

  .ars-eyebrow {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: fit-content;
    color: var(--ars-blue-600);
    font-size: clamp(0.72rem, 0.66rem + 0.15vw, 0.84rem);
    font-weight: 800;
    letter-spacing: 0.28em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .ars-eyebrow::before {
    width: 1.8rem;
    height: 0.11rem;
    background: var(--ars-gradient);
    content: "";
  }

  .ars-heading {
    max-width: 18ch;
    margin-top: 1rem;
    color: var(--ars-ink);
    font-family: var(--ars-font-display);
    font-size: clamp(2.35rem, 4.6vw, 5.25rem);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.99;
    text-wrap: balance;
  }

  .ars-heading--medium,
  .ars-card .ars-heading {
    font-size: clamp(1.8rem, 3vw, 3.4rem);
    line-height: 1.03;
  }

  .ars-gradient-text,
  .ars-heading strong,
  .ars-heading em {
    color: var(--ars-blue-600);
    background: var(--ars-gradient-text);
    -webkit-background-clip: text;
    background-clip: text;
    font-style: normal;
    -webkit-text-fill-color: transparent;
  }

  .ars-copy {
    max-width: 49rem;
    margin-top: 1.25rem;
    color: var(--ars-copy);
    font-size: clamp(1rem, 0.94rem + 0.24vw, 1.22rem);
    line-height: 1.55;
  }

  .ars-section--dark,
  :where(#hero, #model, #challenge, #movement, #person, #insights, #support).ars-section {
    color: #fff;
    background-color: var(--ars-navy-950);
  }

  .ars-section--dark :where(.ars-heading, .ars-copy),
  :is(#hero, #model, #challenge, #movement, #person, #insights, #support) :where(.ars-heading, .ars-copy) {
    color: #fff;
  }

  .ars-section--dark .ars-eyebrow,
  :where(#hero, #model, #challenge, #movement, #person, #insights, #support) .ars-eyebrow {
    color: var(--ars-cyan-400);
  }

  .ars-script-note {
    display: inline-block;
    color: #153970;
    font-family: var(--ars-font-script);
    font-size: clamp(1.2rem, 2.1vw, 2.2rem);
    line-height: 1.2;
    transform: rotate(-4deg);
  }
}

@layer components {
  .ars-site-header {
    position: sticky;
    z-index: 100;
    top: 0;
    min-height: 5.4rem;
    color: var(--ars-ink);
    background: rgb(255 255 255 / 0.94);
    border-bottom: 1px solid rgb(10 74 154 / 0.12);
    box-shadow: 0 0.35rem 1.4rem rgb(2 13 55 / 0.06);
    -webkit-backdrop-filter: blur(1rem) saturate(1.25);
    backdrop-filter: blur(1rem) saturate(1.25);
  }

  .ars-header-inner {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.3vw, 2.5rem);
    width: var(--ars-container);
    min-height: 5.4rem;
    margin-inline: auto;
  }

  .ars-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.7rem;
    min-height: 2.75rem;
    color: var(--ars-ink);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.05;
    text-decoration: none;
  }

  .ars-brand img,
  .ars-brand svg {
    width: auto;
    height: clamp(2.3rem, 3vw, 3.05rem);
    object-fit: contain;
  }

  .ars-primary-nav {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-end;
  }

  .ars-primary-nav-list {
    display: flex;
    align-items: center;
    gap: clamp(0.3rem, 1vw, 1.35rem);
    list-style: none;
  }

  .ars-primary-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding-inline: 0.42rem;
    color: #17274d;
    font-size: clamp(0.76rem, 0.67rem + 0.16vw, 0.9rem);
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
  }

  .ars-primary-nav a:hover,
  .ars-primary-nav a[aria-current="page"] {
    color: var(--ars-blue-600);
  }

  .ars-header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.6rem;
  }

  .ars-menu-toggle {
    display: none;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    color: var(--ars-ink);
    background: #fff;
    border: 1px solid var(--ars-line);
    border-radius: 50%;
    cursor: pointer;
  }

  .ars-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 3.15rem;
    padding: 0.76rem 1.3rem;
    color: var(--ars-ink);
    background: transparent;
    border: 1px solid currentColor;
    border-radius: var(--ars-radius-pill);
    font-size: 0.94rem;
    font-weight: 750;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
  }



  @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .ars-button:not(:disabled):not([aria-disabled="true"]):hover {
      transform: translateY(-2px);
    }
  }

  .ars-button--primary {
    color: #fff;
    background: var(--ars-cta-gradient, var(--ars-gradient-hot));
    border-color: transparent;
    box-shadow: 0 0.65rem 1.8rem rgb(45 95 255 / 0.28);
  }

  .ars-button--secondary {
    color: var(--ars-navy-900);
    background: rgb(255 255 255 / 0.08);
    border-color: rgb(12 49 110 / 0.55);
  }

  .ars-section--dark .ars-button--secondary,
  :where(#hero, #model, #challenge, #movement, #person, #insights, #support) .ars-button--secondary {
    color: #fff;
    border-color: rgb(255 255 255 / 0.65);
  }

  .ars-route-pending {
    position: relative;
  }

  .ars-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 2rem;
  }

  .ars-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 7rem);
  }

  .ars-grid {
    display: grid;
    gap: clamp(1rem, 2vw, 1.65rem);
  }

  .ars-card {
    position: relative;
    overflow: hidden;
    padding: clamp(1.3rem, 2.4vw, 2.2rem);
    color: var(--ars-copy);
    background: rgb(255 255 255 / 0.96);
    border: 1px solid rgb(107 159 219 / 0.25);
    border-radius: var(--ars-radius-md);
    box-shadow: var(--ars-shadow-sm);
  }

  .ars-card :where(h3, h4) {
    color: var(--ars-ink);
    font-size: clamp(1.18rem, 1.1rem + 0.35vw, 1.55rem);
    line-height: 1.08;
    text-wrap: balance;
  }

  .ars-card p + p {
    margin-top: 0.75rem;
  }

  .ars-metric {
    display: grid;
    align-content: start;
    gap: 0.2rem;
  }

  .ars-metric-value {
    color: var(--ars-blue-600);
    font-size: clamp(2rem, 3.7vw, 4.1rem);
    font-weight: 850;
    letter-spacing: -0.055em;
    line-height: 0.95;
  }

  .ars-metric-label {
    color: inherit;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .ars-icon-disc {
    display: inline-grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    color: #fff;
    background: var(--ars-gradient);
    border-radius: 50%;
    box-shadow: 0 0.65rem 1.6rem rgb(12 111 244 / 0.22);
  }
}

@layer sections {
  /* 01 — hero */
  #hero.ars-section,
  .ars-section--hero {
    min-height: min(52rem, calc(100svh - 5.4rem));
    padding-block: clamp(5rem, 9vw, 8.5rem) 0;
    overflow: hidden;
    background:
      radial-gradient(circle at 73% 20%, rgb(17 119 255 / 0.45), transparent 33%),
      radial-gradient(circle at 88% 81%, rgb(127 44 255 / 0.38), transparent 28%),
      linear-gradient(118deg, #020b2e 0%, #031445 51%, #061350 100%);
  }

  #hero::before,
  .ars-section--hero::before {
    position: absolute;
    z-index: -1;
    inset: auto -12% -8rem 25%;
    height: 17rem;
    background:
      radial-gradient(circle, rgb(0 213 245 / 0.8) 0 1px, transparent 1.6px) 0 0 / 9px 9px,
      linear-gradient(90deg, transparent, rgb(9 102 253 / 0.55), rgb(154 42 250 / 0.5));
    filter: blur(0.1px);
    opacity: 0.7;
    content: "";
    transform: rotate(-8deg);
  }

  #hero .ars-container,
  .ars-section--hero .ars-container {
    position: relative;
    z-index: 1;
  }

  .ars-hero-layout,
  #hero > .ars-container > .ars-split {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(25rem, 0.98fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 6rem);
  }

  #hero .ars-heading {
    max-width: 13ch;
    font-size: clamp(3rem, 5.6vw, 6.2rem);
  }

  #hero .ars-copy {
    max-width: 42rem;
    color: #dfeeff;
  }

  .ars-hero-media {
    position: relative;
    align-self: end;
    min-height: clamp(28rem, 44vw, 43rem);
  }

  .ars-hero-media::before {
    position: absolute;
    z-index: -1;
    inset: 6% -9% -5% 2%;
    background: radial-gradient(circle at 50% 38%, rgb(5 205 241 / 0.35), transparent 63%);
    content: "";
  }

  .ars-hero-media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: 50% 35%;
    border-radius: 1.2rem 1.2rem 0 0;
    filter: saturate(0.93) contrast(1.04);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 13%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 13%, #000 100%);
  }

  .ars-proof-strip {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: clamp(2.5rem, 6vw, 5rem);
    padding-block: 1.25rem;
    color: #fff;
    background: rgb(1 9 38 / 0.72);
    border-block: 1px solid rgb(76 184 255 / 0.26);
    box-shadow: 0 0 0 100vmax rgb(1 9 38 / 0.72);
    clip-path: inset(0 -100vmax);
  }

  .ars-proof-strip > * {
    min-width: 0;
    padding: 0.25rem clamp(0.8rem, 2vw, 2rem);
    border-left: 1px solid rgb(255 255 255 / 0.2);
  }

  .ars-proof-strip > :first-child {
    border-left: 0;
  }

  .ars-proof-strip strong {
    display: block;
    color: var(--ars-cyan-400);
    font-size: 1rem;
    letter-spacing: -0.01em;
  }

  .ars-proof-strip span {
    display: block;
    margin-top: 0.2rem;
    color: #cbd8ed;
    font-size: 0.72rem;
    line-height: 1.35;
  }

  .ars-affiliations {
    display: flex;
    align-items: center;
    gap: clamp(1.2rem, 3vw, 3rem);
    min-height: 6rem;
    padding-block: 1rem;
    color: var(--ars-ink);
    background: #fff;
    box-shadow: 0 0 0 100vmax #fff;
    clip-path: inset(0 -100vmax);
  }

  .ars-affiliations > :is(img, picture) {
    flex: 1 1 7rem;
    max-height: 2.75rem;
    object-fit: contain;
  }

  /* 02 — readiness */
  #readiness,
  .ars-section--readiness {
    overflow: hidden;
    background:
      radial-gradient(circle at 78% 12%, rgb(145 216 255 / 0.24), transparent 28%),
      linear-gradient(180deg, #fff 0%, #fff 76%, #f3faff 100%);
  }

  #readiness::after,
  .ars-section--readiness::after {
    position: absolute;
    z-index: -1;
    right: -7%;
    bottom: -5rem;
    left: -7%;
    height: 11rem;
    background:
      radial-gradient(80% 100% at 20% 100%, transparent 56%, rgb(7 195 239 / 0.12) 57% 61%, transparent 62%),
      radial-gradient(80% 100% at 72% 100%, transparent 52%, rgb(116 65 246 / 0.11) 53% 57%, transparent 58%);
    content: "";
  }

  #readiness .ars-split {
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 0.9fr);
  }

  .ars-readiness-visual {
    position: relative;
    min-height: 29rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border-left: 1px solid var(--ars-line-blue);
  }

  .ars-policy-stack {
    display: grid;
    gap: 0.45rem;
    width: min(21rem, 82%);
    margin: 0 auto 2rem;
    padding: 1.5rem;
    background: linear-gradient(150deg, #e8f8ff, #fff);
    border: 1px solid #d6eafb;
    border-radius: 1.4rem;
    box-shadow: var(--ars-shadow-md);
    transform: rotate(-1deg);
  }

  .ars-policy-stack > * {
    padding: 0.75rem 1rem;
    color: var(--ars-ink);
    background: #fff;
    border-left: 0.26rem solid var(--ars-blue-600);
    border-radius: 0.35rem;
    box-shadow: 0 0.35rem 0.8rem rgb(18 72 140 / 0.08);
    font-size: 0.88rem;
    font-weight: 700;
  }

  .ars-question-list,
  .ars-signal-list,
  .ars-proof-list {
    display: grid;
    gap: 0.72rem;
    list-style: none;
  }

  .ars-question-list li {
    position: relative;
    min-height: 2.85rem;
    padding: 0.72rem 0.9rem 0.72rem 3.35rem;
    color: var(--ars-ink);
    background: rgb(255 255 255 / 0.82);
    border: 1px solid #d6e7f6;
    border-radius: var(--ars-radius-pill);
    box-shadow: 0 0.4rem 1rem rgb(15 71 133 / 0.06);
    font-weight: 700;
  }

  .ars-question-list li::before {
    position: absolute;
    top: 50%;
    left: 0.45rem;
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    color: var(--ars-blue-600);
    background: #e5f5ff;
    border-radius: 50%;
    content: "?";
    transform: translateY(-50%);
  }

  /* 03 — system model */
  #model,
  .ars-section--model {
    overflow: hidden;
    background:
      radial-gradient(circle at 7% 77%, rgb(9 179 246 / 0.28), transparent 28%),
      radial-gradient(circle at 72% 18%, rgb(85 32 217 / 0.24), transparent 30%),
      linear-gradient(115deg, #020a2b, #061348 54%, #060a35);
  }

  #model::before,
  .ars-section--model::before {
    position: absolute;
    z-index: -1;
    inset: auto 32% -4rem -8%;
    height: 14rem;
    background: radial-gradient(circle, rgb(1 212 245 / 0.75) 0 1px, transparent 1.5px) 0 0 / 8px 8px;
    opacity: 0.55;
    content: "";
    transform: rotate(8deg);
  }

  #model .ars-split {
    grid-template-columns: minmax(18rem, 0.62fr) minmax(34rem, 1.38fr);
  }

  .ars-model-board {
    position: relative;
    padding: clamp(1.25rem, 2.6vw, 2.25rem);
    background: linear-gradient(150deg, rgb(6 27 84 / 0.94), rgb(4 16 56 / 0.96));
    border: 1px solid rgb(0 204 244 / 0.35);
    border-radius: 1.8rem;
    box-shadow: inset 0 0 2.5rem rgb(40 87 235 / 0.14), var(--ars-shadow-dark);
  }

  .ars-model-board::before {
    position: absolute;
    inset: -1px;
    z-index: -1;
    padding: 1px;
    background: var(--ars-gradient-hot);
    border-radius: inherit;
    content: "";
    opacity: 0.45;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
  }

  .ars-model-phases {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8rem;
    margin: 0 0 1.35rem 13rem;
    color: #fff;
    text-align: center;
  }

  .ars-model-phase strong {
    display: block;
    color: var(--ars-cyan-400);
    font-size: 0.83rem;
    text-transform: uppercase;
  }

  .ars-model-phase span {
    color: #aebedf;
    font-size: 0.64rem;
    letter-spacing: 0.08em;
  }

  .ars-model-row {
    display: grid;
    grid-template-columns: 12rem 1fr;
    align-items: center;
    gap: 1rem;
    min-height: 4.1rem;
    color: #fff;
    border-top: 1px solid rgb(120 176 255 / 0.14);
  }

  .ars-model-row:first-of-type {
    border-top: 0;
  }

  .ars-model-row-label {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-size: 0.82rem;
    font-weight: 750;
  }

  .ars-model-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    min-height: 2.3rem;
  }

  .ars-model-track::before {
    position: absolute;
    right: 0;
    left: 0;
    height: 0.16rem;
    background: linear-gradient(90deg, #00d3f0, #1881ff, #9a3af9, #ef35ee);
    border-radius: var(--ars-radius-pill);
    content: "";
    opacity: 0.85;
  }

  .ars-model-track > * {
    z-index: 1;
    justify-self: center;
    width: 0.78rem;
    height: 0.78rem;
    background: #04123d;
    border: 0.18rem solid var(--ars-cyan-400);
    border-radius: 50%;
    box-shadow: 0 0 0.7rem var(--ars-cyan-400);
  }

  .ars-model-foundation {
    margin-top: 1rem;
    padding: 0.8rem 1rem;
    color: #dfeeff;
    background: rgb(12 61 132 / 0.5);
    border: 1px solid rgb(0 213 245 / 0.3);
    border-radius: var(--ars-radius-pill);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
  }

  /* 04 — scan */
  #scan,
  .ars-section--scan {
    overflow: hidden;
    background:
      radial-gradient(circle at 68% 22%, rgb(4 198 242 / 0.14), transparent 25%),
      linear-gradient(98deg, #fff 0%, #fff 46%, #f2fbff 100%);
  }

  #scan .ars-split {
    grid-template-columns: minmax(20rem, 0.78fr) minmax(35rem, 1.22fr);
  }

  .ars-scan-visual {
    position: relative;
    min-height: clamp(30rem, 43vw, 42rem);
  }

  .ars-scan-device {
    position: absolute;
    inset: 7% 16% 8% 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: linear-gradient(145deg, #13203c, #49546e 5%, #0d1426 8% 92%, #4c5a71 96%, #18233c);
    border-radius: 1rem;
    box-shadow: 0 2.4rem 4.5rem rgb(2 18 59 / 0.28);
    transform: perspective(90rem) rotateY(-7deg) rotateX(2deg);
  }

  .ars-scan-screen {
    width: 100%;
    height: 100%;
    padding: clamp(1.1rem, 2.5vw, 2.2rem);
    overflow: hidden;
    color: var(--ars-ink);
    background: #fff;
    border-radius: 0.45rem;
  }

  .ars-scan-screen .ars-metric-value {
    font-size: clamp(2.5rem, 5vw, 5rem);
  }

  .ars-scan-signals {
    position: absolute;
    z-index: 2;
    top: 13%;
    right: 0;
    width: min(20rem, 42%);
    padding: 1.4rem;
    background: rgb(255 255 255 / 0.92);
    border: 1px solid #d7eafb;
    border-radius: 1.1rem;
    box-shadow: var(--ars-shadow-md);
    -webkit-backdrop-filter: blur(0.8rem);
    backdrop-filter: blur(0.8rem);
  }

  .ars-signal-list li {
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    gap: 0.8rem;
    align-items: center;
    min-height: 3.2rem;
    color: var(--ars-copy);
    font-size: 0.87rem;
  }

  .ars-signal-list li::before {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    color: #fff;
    background: var(--ars-gradient);
    border-radius: 50%;
    content: counter(list-item, decimal-leading-zero);
    font-size: 0.67rem;
    font-weight: 850;
  }

  #scan .ars-proof-strip {
    margin-top: 3.25rem;
    color: var(--ars-ink);
    background: #fff;
    border-color: var(--ars-line);
    box-shadow: 0 0 0 100vmax #fff;
  }

  #scan .ars-proof-strip > * {
    border-color: var(--ars-line);
  }

  #scan .ars-proof-strip strong {
    color: var(--ars-blue-600);
  }

  #scan .ars-proof-strip span {
    color: var(--ars-muted);
  }

  /* 05 — implementation */
  #implementation,
  .ars-section--implementation {
    overflow: hidden;
    padding-top: clamp(4.5rem, 7vw, 7rem);
    background:
      linear-gradient(180deg, rgb(235 248 255 / 0.7), rgb(255 255 255 / 0.88) 42%, #f4fbff 100%);
  }

  #implementation > .ars-container > .ars-heading {
    max-width: 24ch;
    font-size: clamp(2.6rem, 4.6vw, 5.2rem);
  }

  .ars-area-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(10rem, 1fr));
    gap: 0;
    margin-top: clamp(2.5rem, 5vw, 4.7rem);
    list-style: none;
  }

  .ars-area-list::before {
    position: absolute;
    z-index: -1;
    top: 50%;
    right: 5%;
    left: 5%;
    height: 5rem;
    background: linear-gradient(90deg, rgb(18 121 255 / 0.06), rgb(0 205 245 / 0.22), rgb(116 57 246 / 0.14));
    content: "";
    transform: translateY(-50%);
  }

  .ars-area-card {
    position: relative;
    display: grid;
    place-content: center;
    min-height: clamp(13rem, 17vw, 18rem);
    margin-left: -0.65rem;
    padding: clamp(1.3rem, 2vw, 2.1rem);
    color: var(--ars-copy);
    background: rgb(255 255 255 / 0.95);
    border: 1px solid #c8e2f8;
    border-radius: 50%;
    box-shadow: 0 1rem 3rem rgb(34 96 172 / 0.11);
    text-align: center;
  }

  .ars-area-card:first-child {
    margin-left: 0;
  }

  .ars-area-card::after {
    position: absolute;
    z-index: -1;
    inset: -0.45rem;
    background: var(--ars-gradient-hot);
    border-radius: inherit;
    content: "";
    opacity: 0.08;
  }

  .ars-area-card.is-active,
  .ars-area-card[aria-current="true"],
  .ars-area-card[aria-selected="true"] {
    border-width: 0.28rem;
    border-color: var(--ars-blue-600);
    box-shadow: 0 1.2rem 3.6rem rgb(25 100 230 / 0.19), inset 0 0 0 0.14rem rgb(126 49 247 / 0.55);
    transform: translateY(-0.55rem) scale(1.03);
  }

  .ars-area-card strong {
    color: var(--ars-ink);
    font-size: clamp(1.05rem, 1.4vw, 1.45rem);
    line-height: 1.02;
  }

  .ars-area-card p {
    margin-top: 0.65rem;
    font-size: clamp(0.76rem, 0.8vw, 0.9rem);
    line-height: 1.3;
  }

  .ars-area-number {
    color: var(--ars-blue-600);
    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.1em;
  }

  .ars-implementation-detail {
    display: grid;
    grid-template-columns: minmax(19rem, 0.85fr) minmax(33rem, 1.1fr) minmax(17rem, 0.55fr);
    gap: clamp(1.5rem, 3vw, 3.2rem);
    align-items: stretch;
    margin-top: clamp(3rem, 6vw, 5.5rem);
    padding-top: clamp(2.3rem, 4vw, 4rem);
    border-top: 1px solid var(--ars-line-blue);
  }

  .ars-implementation-detail > * + * {
    padding-left: clamp(1.5rem, 3vw, 3rem);
    border-left: 1px solid var(--ars-line-blue);
  }

  .ars-task-sequence {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 1.2rem;
    list-style: none;
  }

  .ars-task-sequence li {
    position: relative;
    min-width: 0;
    text-align: center;
  }

  .ars-task-sequence li:not(:last-child)::after {
    position: absolute;
    top: 2rem;
    right: -0.8rem;
    color: var(--ars-blue-600);
    content: "→";
    font-size: 1.7rem;
    font-weight: 800;
  }

  .ars-task-sequence .ars-icon-disc {
    margin-inline: auto;
  }

  .ars-task-sequence strong {
    display: block;
    margin-top: 0.7rem;
    color: var(--ars-ink);
    font-size: 1rem;
  }

  .ars-task-sequence p {
    margin-top: 0.25rem;
    font-size: 0.78rem;
    line-height: 1.32;
  }

  .ars-task-sequence li:nth-child(1) .ars-icon-disc { background: linear-gradient(135deg, #a845f7, #7330eb); }
  .ars-task-sequence li:nth-child(2) .ars-icon-disc { background: linear-gradient(135deg, #33b7ff, #1868ed); }
  .ars-task-sequence li:nth-child(3) .ars-icon-disc { background: linear-gradient(135deg, #32d4f1, #00aaca); }
  .ars-task-sequence li:nth-child(4) .ars-icon-disc { background: linear-gradient(135deg, #2de0ab, #08ad83); }

  .ars-support-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: rgb(255 255 255 / 0.82);
    border: 1px solid #d8e9f8;
    border-radius: var(--ars-radius-md);
    box-shadow: var(--ars-shadow-sm);
  }

  .ars-support-card .ars-button {
    margin-top: auto;
  }

  /* 06 — challenge */
  #challenge,
  .ars-section--challenge {
    overflow: hidden;
    background:
      linear-gradient(120deg, transparent 0 44%, rgb(44 56 143 / 0.16) 44.2% 44.4%, transparent 44.6%),
      radial-gradient(circle at 82% 19%, rgb(38 63 164 / 0.26), transparent 31%),
      #070b26;
  }

  #challenge .ars-split {
    align-items: start;
    grid-template-columns: minmax(25rem, 1.12fr) minmax(22rem, 0.88fr);
  }

  .ars-challenge-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
    gap: 1.2rem;
    margin-top: 3rem;
  }

  .ars-challenge-media {
    position: relative;
    min-height: 31rem;
    overflow: hidden;
    border: 1px solid rgb(77 109 203 / 0.26);
    border-radius: 1rem;
  }

  .ars-challenge-media::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent, rgb(2 7 26 / 0.92));
    content: "";
  }

  .ars-challenge-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ars-challenge-media figcaption {
    position: absolute;
    z-index: 1;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
    color: #fff;
    font-size: clamp(1rem, 1.7vw, 1.45rem);
    font-weight: 750;
    line-height: 1.2;
  }

  #challenge .ars-card {
    color: #d5def0;
    background: linear-gradient(145deg, rgb(13 22 62 / 0.96), rgb(12 18 52 / 0.98));
    border-color: rgb(94 117 194 / 0.25);
    box-shadow: none;
  }

  #challenge .ars-card :where(h3, h4) {
    color: #fff;
  }

  .ars-shift-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 1.2rem;
    color: var(--ars-ink);
    background: #fff;
    border-radius: 0.8rem;
    list-style: none;
  }

  .ars-shift-track li {
    position: relative;
    padding-top: 0.85rem;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .ars-shift-track li::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 0.2rem;
    background: var(--ars-gradient-hot);
    content: "";
  }

  /* 07 — field evidence */
  #evidence,
  .ars-section--evidence {
    background:
      radial-gradient(circle at 80% 11%, rgb(4 205 245 / 0.1), transparent 28%),
      linear-gradient(180deg, #fff, #f7fbff);
  }

  .ars-evidence-layout {
    display: grid;
    grid-template-columns: minmax(21rem, 0.8fr) minmax(29rem, 1.2fr);
    gap: clamp(2.5rem, 7vw, 8rem);
    align-items: start;
  }

  .ars-evidence-stats {
    display: grid;
    gap: 0;
    margin-top: 2.5rem;
    border-top: 1px solid var(--ars-line);
  }

  .ars-evidence-stats .ars-metric {
    grid-template-columns: minmax(5rem, 8rem) 1fr;
    align-items: center;
    min-height: 6rem;
    border-bottom: 1px solid var(--ars-line);
  }

  .ars-evidence-stats .ars-metric-value {
    font-size: clamp(2.1rem, 4.2vw, 4.7rem);
  }

  .ars-evidence-stats .ars-metric p {
    font-size: 0.92rem;
    line-height: 1.4;
  }

  #evidence .ars-card--dark {
    color: #dce6f7;
    background: linear-gradient(145deg, #07143c, #0a1231);
    border-color: rgb(43 108 191 / 0.25);
    box-shadow: var(--ars-shadow-md);
  }

  #evidence .ars-card--dark :where(h3, h4) {
    color: #fff;
  }

  /* 09 — evidence of movement */
  #movement,
  .ars-section--movement {
    overflow: hidden;
    background:
      radial-gradient(circle at 63% 15%, rgb(10 124 255 / 0.28), transparent 23%),
      radial-gradient(circle at 90% 46%, rgb(146 44 249 / 0.18), transparent 26%),
      linear-gradient(122deg, #020b2e, #061848 52%, #05092c);
  }

  #movement::before,
  .ars-section--movement::before {
    position: absolute;
    z-index: -1;
    inset: 0 -10% auto 35%;
    height: 12rem;
    background: radial-gradient(circle, rgb(0 210 243 / 0.75) 0 1px, transparent 1.5px) 0 0 / 8px 8px;
    opacity: 0.55;
    content: "";
    transform: rotate(-8deg);
  }

  .ars-story-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
    margin-top: 2.4rem;
  }

  .ars-story-grid > * {
    grid-column: span 6;
    min-height: 19rem;
    color: #dbe7fb;
    background: linear-gradient(145deg, rgb(6 30 80 / 0.95), rgb(4 17 51 / 0.96));
    border: 1px solid rgb(54 129 230 / 0.28);
    box-shadow: inset 0 1px rgb(255 255 255 / 0.04);
  }

  .ars-story-grid > :nth-child(n + 3) {
    grid-column: span 4;
  }

  .ars-story-grid :where(h3, h4) {
    color: #fff;
  }

  #movement .ars-metric-value {
    color: var(--ars-cyan-400);
  }

  .ars-before-after {
    display: grid;
    grid-template-columns: auto 2rem auto;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1.1rem;
    color: #fff;
  }

  .ars-before-after strong {
    color: var(--ars-cyan-400);
    font-size: clamp(1.7rem, 3vw, 3.4rem);
    letter-spacing: -0.05em;
  }

  .ars-before-after span {
    color: var(--ars-magenta-500);
    font-size: 1.5rem;
    text-align: center;
  }

  /* 10 — person */
  #person,
  .ars-section--person {
    overflow: hidden;
    background:
      radial-gradient(circle at 13% 31%, rgb(5 102 252 / 0.43), transparent 30%),
      radial-gradient(circle at 60% 18%, rgb(0 211 244 / 0.18), transparent 20%),
      linear-gradient(118deg, #020a2b, #041546 55%, #05082d);
  }

  #person .ars-split {
    grid-template-columns: minmax(23rem, 0.82fr) minmax(34rem, 1.18fr);
    align-items: end;
  }

  .ars-person-media {
    position: relative;
    min-height: clamp(37rem, 52vw, 52rem);
  }

  .ars-person-media::before {
    position: absolute;
    inset: 12% -15% -4% -8%;
    z-index: -1;
    background: radial-gradient(circle at 50% 40%, rgb(0 205 244 / 0.42), transparent 48%);
    content: "";
  }

  .ars-person-media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 2rem 2rem rgb(0 0 0 / 0.38));
  }

  .ars-person-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.85rem;
    margin-top: 2.2rem;
  }

  .ars-person-stats .ars-metric {
    min-height: 8.5rem;
    padding: 1.05rem;
    background: rgb(7 26 77 / 0.74);
    border: 1px solid rgb(26 119 231 / 0.34);
    border-radius: 0.75rem;
  }

  .ars-person-stats .ars-metric-value {
    font-size: clamp(1.7rem, 2.8vw, 3rem);
  }

  .ars-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
    margin-top: 1rem;
  }

  .ars-trust-grid > * {
    min-height: 6rem;
    padding: 1rem;
    color: #dce9ff;
    background: rgb(7 22 63 / 0.84);
    border: 1px solid rgb(121 88 225 / 0.35);
    border-radius: 0.65rem;
  }

  .ars-perspective-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.85rem;
    margin-top: 1rem;
  }

  .ars-perspective-grid .ars-card {
    min-height: 10rem;
    color: #dce8fb;
    background: rgb(4 17 55 / 0.76);
    border-color: rgb(0 192 238 / 0.26);
    box-shadow: none;
  }

  .ars-perspective-grid .ars-card :where(h3, h4) {
    color: #fff;
  }

  /* 11 — ideas and resources */
  #insights,
  .ars-section--insights {
    overflow: hidden;
    background:
      radial-gradient(circle at 67% 20%, rgb(0 199 238 / 0.17), transparent 24%),
      linear-gradient(125deg, #03112e, #06264c 62%, #050c2b);
  }

  #insights .ars-heading {
    max-width: 20ch;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    letter-spacing: -0.045em;
  }

  .ars-resource-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    grid-template-rows: repeat(2, minmax(13rem, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
  }

  .ars-resource-grid > * {
    color: #dce8f7;
    background: linear-gradient(145deg, rgb(6 24 65 / 0.92), rgb(4 14 44 / 0.92));
    border: 1px solid rgb(76 135 210 / 0.25);
    box-shadow: none;
  }

  .ars-resource-grid > :first-child {
    grid-row: 1 / 3;
    min-height: 30rem;
  }

  .ars-resource-grid :where(h3, h4) {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 3.5rem);
    font-weight: 500;
  }

  .ars-resource-grid .ars-card-label {
    color: var(--ars-cyan-400);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .ars-resource-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.5rem;
    margin-top: 1.6rem;
    padding-top: 1.25rem;
    color: #d7e3f6;
    border-top: 1px solid rgb(255 255 255 / 0.16);
    list-style: none;
  }

  .ars-resource-nav a {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
  }

  /* 12 — next steps */
  #support,
  .ars-section--support {
    overflow: hidden;
    background:
      radial-gradient(circle at 65% 12%, rgb(0 197 241 / 0.22), transparent 22%),
      radial-gradient(circle at 92% 61%, rgb(105 46 232 / 0.24), transparent 31%),
      linear-gradient(115deg, #03102e, #072245 53%, #061037);
  }

  #support .ars-heading {
    max-width: 18ch;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    letter-spacing: -0.04em;
  }

  .ars-support-layout {
    display: grid;
    grid-template-columns: minmax(30rem, 1fr) minmax(23rem, 0.8fr);
    gap: clamp(2rem, 5vw, 5.5rem);
    align-items: end;
  }

  .ars-support-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2.2rem;
  }

  .ars-support-actions .ars-card {
    display: flex;
    flex-direction: column;
    min-height: 17rem;
    color: #d8e6f7;
    background: rgb(4 20 57 / 0.82);
    border-color: rgb(23 181 237 / 0.31);
    box-shadow: none;
  }

  .ars-support-actions .ars-card :where(h3, h4) {
    color: #fff;
  }

  .ars-support-actions .ars-button {
    margin-top: auto;
  }

  .ars-support-media {
    position: relative;
    min-height: clamp(30rem, 42vw, 45rem);
  }

  .ars-support-media img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 2rem 2.5rem rgb(0 0 0 / 0.38));
  }

  .ars-phase-path {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 2rem;
    color: #dce9fa;
    list-style: none;
  }

  .ars-phase-path li {
    position: relative;
    padding-top: 1.6rem;
    font-size: 0.78rem;
  }

  .ars-phase-path li::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0.75rem;
    height: 0.75rem;
    background: var(--ars-cyan-400);
    border: 0.18rem solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 1rem var(--ars-cyan-400);
    content: "";
  }

  .ars-phase-path li:not(:last-child)::after {
    position: absolute;
    top: 0.32rem;
    right: 0;
    left: 0.7rem;
    height: 0.12rem;
    background: linear-gradient(90deg, var(--ars-cyan-400), var(--ars-blue-600), transparent);
    content: "";
  }

  /* 13 — footer */
  #footer,
  .ars-site-footer {
    position: relative;
    overflow: hidden;
    padding-top: clamp(4rem, 7vw, 7rem);
    color: #d9e4f5;
    background:
      linear-gradient(180deg, rgb(4 16 48 / 0.4), rgb(2 8 27 / 0.98)),
      #020a24;
  }

  .ars-footer-grid {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, 0.78fr) 1.15fr;
    gap: clamp(1.6rem, 3.5vw, 4rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
  }

  .ars-site-footer h2,
  .ars-site-footer h3 {
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  .ars-site-footer ul {
    display: grid;
    gap: 0.55rem;
    margin-top: 1rem;
    list-style: none;
  }

  .ars-site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 2.3rem;
    color: #c9d7ed;
    font-size: 0.84rem;
    text-decoration: none;
  }

  .ars-site-footer a:hover {
    color: var(--ars-cyan-400);
  }

  .ars-newsletter-form {
    display: flex;
    margin-top: 1rem;
  }

  .ars-newsletter-form input {
    min-width: 0;
    flex: 1 1 auto;
    min-height: 3.1rem;
    padding: 0.75rem 1rem;
    color: #fff;
    background: rgb(255 255 255 / 0.08);
    border: 1px solid rgb(255 255 255 / 0.27);
    border-right: 0;
    border-radius: var(--ars-radius-pill) 0 0 var(--ars-radius-pill);
  }

  .ars-newsletter-form input::placeholder {
    color: #aebbd0;
  }

  .ars-newsletter-form button {
    width: 3.1rem;
    min-height: 3.1rem;
    padding: 0;
    color: #fff;
    background: var(--ars-cyan-500);
    border: 0;
    border-radius: 0 var(--ars-radius-pill) var(--ars-radius-pill) 0;
    cursor: pointer;
  }

  .ars-footer-crosslinks,
  .ars-footer-legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.7rem 1.25rem;
    min-height: 4.8rem;
    padding-block: 1rem;
    border-top: 1px solid rgb(255 255 255 / 0.14);
  }

  .ars-footer-crosslinks {
    min-height: 6rem;
  }

  .ars-footer-legal {
    justify-content: space-between;
    color: #9caac0;
    font-size: 0.75rem;
  }

  .ars-footer-landscape {
    position: relative;
    min-height: 10rem;
    margin-top: 1rem;
    background:
      radial-gradient(ellipse at 88% 100%, rgb(247 106 69 / 0.68), transparent 19%),
      linear-gradient(173deg, transparent 0 58%, #071434 59% 67%, #030a20 68%);
  }
}

@layer responsive {
  @media (max-width: 78rem) {
    :root {
      --ars-container: min(100% - 2rem, 72rem);
    }

    .ars-site-header {
      min-height: 4.8rem;
    }

    .ars-header-inner {
      min-height: 4.8rem;
    }

    .ars-primary-nav-list {
      gap: 0.25rem;
    }

    .ars-primary-nav a {
      font-size: 0.72rem;
    }

    .ars-header-actions .ars-button {
      padding-inline: 0.9rem;
      font-size: 0.78rem;
    }

    .ars-area-list {
      grid-template-columns: repeat(5, minmax(8rem, 1fr));
    }

    .ars-area-card {
      min-height: 14rem;
      padding: 1rem;
    }

    .ars-implementation-detail {
      grid-template-columns: minmax(17rem, 0.82fr) minmax(28rem, 1.18fr);
    }

    .ars-implementation-detail > :last-child {
      grid-column: 1 / -1;
      padding: 1.5rem 0 0;
      border-top: 1px solid var(--ars-line-blue);
      border-left: 0;
    }

    .ars-support-card {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 1rem 2rem;
      align-items: center;
    }

    .ars-support-card .ars-button {
      grid-row: 1 / span 2;
      grid-column: 2;
      margin: 0;
    }
  }

  @media (max-width: 64rem) {
    :root {
      --ars-section-space: clamp(4.5rem, 8vw, 6.5rem);
    }

    .ars-menu-toggle {
      display: grid;
      margin-left: auto;
    }

    .ars-primary-nav {
      position: fixed;
      z-index: 90;
      top: var(--ars-header-height, 4.8rem);
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      padding: 1.2rem max(1rem, calc((100vw - 46rem) / 2));
      overflow-y: auto;
      background: rgb(255 255 255 / 0.985);
      visibility: hidden;
      opacity: 0;
      transform: translateY(-0.75rem);
      transition: visibility 180ms ease, opacity 180ms ease, transform 180ms ease;
    }

    .ars-primary-nav.is-open,
    .ars-site-header[data-nav-open="true"] .ars-primary-nav {
      visibility: visible;
      opacity: 1;
      transform: translateY(0);
    }

    .ars-primary-nav-list {
      display: grid;
      gap: 0.25rem;
    }

    .ars-primary-nav a {
      min-height: 3.25rem;
      padding: 0.7rem 0.5rem;
      border-bottom: 1px solid var(--ars-line);
      font-size: 1.02rem;
    }

    .ars-header-actions .ars-button {
      display: none;
    }

    .ars-split,
    .ars-hero-layout,
    #hero > .ars-container > .ars-split,
    #readiness .ars-split,
    #model .ars-split,
    #scan .ars-split,
    #challenge .ars-split,
    #person .ars-split,
    .ars-support-layout {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-hero-media {
      min-height: 31rem;
      margin-top: -4rem;
      margin-right: -6rem;
      margin-left: 34%;
      opacity: 0.86;
    }

    .ars-proof-strip {
      grid-template-columns: repeat(2, 1fr);
    }

    .ars-proof-strip > :nth-child(3) {
      border-left: 0;
    }

    .ars-proof-strip > :nth-child(n + 3) {
      border-top: 1px solid rgb(255 255 255 / 0.2);
    }

    .ars-affiliations {
      flex-wrap: wrap;
    }

    .ars-affiliations > * {
      flex-basis: calc(33.333% - 2rem);
    }

    .ars-readiness-visual {
      min-height: 24rem;
      border-top: 1px solid var(--ars-line-blue);
      border-left: 0;
    }

    .ars-model-board {
      margin-top: 1rem;
    }

    .ars-scan-visual {
      min-height: 35rem;
    }

    .ars-area-list {
      grid-template-columns: repeat(5, minmax(12rem, 1fr));
      gap: 0.75rem;
      margin-right: calc((100vw - var(--ars-container)) / -2);
      padding: 0.5rem calc((100vw - var(--ars-container)) / 2) 1.5rem 0;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scroll-snap-type: inline mandatory;
      scrollbar-width: thin;
    }

    .ars-area-card {
      min-height: 12rem;
      margin: 0;
      border-radius: 1.35rem;
      scroll-snap-align: start;
    }

    .ars-area-card.is-active,
    .ars-area-card[aria-current="true"],
    .ars-area-card[aria-selected="true"] {
      transform: translateY(-0.2rem);
    }

    .ars-implementation-detail {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-implementation-detail > * + * {
      padding: 1.5rem 0 0;
      border-top: 1px solid var(--ars-line-blue);
      border-left: 0;
    }

    .ars-support-card {
      display: flex;
    }

    .ars-support-card .ars-button {
      margin-top: 1.5rem;
    }

    .ars-challenge-feature {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-challenge-media {
      min-height: 28rem;
    }

    .ars-evidence-layout {
      grid-template-columns: minmax(0, 1fr);
      gap: 3rem;
    }

    .ars-story-grid > *,
    .ars-story-grid > :nth-child(n + 3) {
      grid-column: span 6;
    }

    .ars-person-media {
      min-height: 34rem;
      order: 2;
    }

    .ars-resource-grid {
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: none;
    }

    .ars-resource-grid > :first-child {
      grid-row: auto;
      min-height: 24rem;
    }

    .ars-support-media {
      min-height: 32rem;
    }

    .ars-footer-grid {
      grid-template-columns: repeat(2, 1fr);
    }

    .ars-footer-grid > :first-child,
    .ars-footer-grid > :last-child {
      grid-column: 1 / -1;
    }
  }

  @media (max-width: 42rem) {
    :root {
      --ars-container: calc(100vw - 2rem);
      --ars-section-space: 4.5rem;
    }

    html {
      scroll-padding-top: var(--ars-header-height, 4.8rem);
    }

    .ars-heading {
      font-size: clamp(2.25rem, 11.5vw, 3.45rem);
      line-height: 0.98;
    }

    .ars-copy {
      font-size: 1rem;
      line-height: 1.55;
    }

    .ars-eyebrow {
      max-width: 100%;
      font-size: 0.68rem;
      letter-spacing: 0.2em;
    }

    .ars-button-group,
    .ars-button-group .ars-button {
      width: 100%;
    }

    .ars-button {
      min-height: 3.25rem;
    }

    #hero.ars-section,
    .ars-section--hero {
      min-height: auto;
      padding-top: 4.5rem;
    }

    #hero .ars-heading {
      font-size: clamp(2.65rem, 13vw, 4.1rem);
    }

    .ars-hero-layout,
    #hero > .ars-container > .ars-split {
      display: flex;
      flex-direction: column;
    }

    .ars-hero-media {
      width: calc(100% + 3rem);
      min-height: 26rem;
      margin: -0.5rem -1.5rem 0;
    }

    .ars-hero-media img {
      border-radius: 0;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
      mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 100%);
    }

    .ars-proof-strip {
      grid-template-columns: minmax(0, 1fr);
      margin-top: 0;
    }

    .ars-proof-strip > * {
      min-height: 4.6rem;
      padding: 1rem 0.25rem;
      border-top: 1px solid rgb(255 255 255 / 0.2);
      border-left: 0;
    }

    .ars-affiliations {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }

    .ars-affiliations > * {
      width: 100%;
    }

    .ars-readiness-visual {
      min-height: auto;
      padding-inline: 0;
    }

    .ars-policy-stack {
      width: calc(100% - 1rem);
    }

    .ars-model-board {
      padding: 1rem;
      overflow-x: auto;
    }

    .ars-model-board > * {
      min-width: 39rem;
    }

    .ars-model-phases {
      margin-left: 11rem;
    }

    .ars-model-row {
      grid-template-columns: 10rem 1fr;
    }

    .ars-scan-visual {
      display: flex;
      flex-direction: column;
      min-height: auto;
      gap: 1rem;
    }

    .ars-scan-device,
    .ars-scan-signals {
      position: relative;
      inset: auto;
      width: 100%;
    }

    .ars-scan-device {
      min-height: 25rem;
      transform: none;
    }

    #scan .ars-proof-strip {
      grid-template-columns: minmax(0, 1fr);
    }

    #scan .ars-proof-strip > * {
      border-color: var(--ars-line);
    }

    .ars-area-list {
      grid-template-columns: repeat(5, minmax(16.5rem, 82vw));
    }

    .ars-area-card {
      min-height: 15.5rem;
      padding: 1.7rem;
    }

    .ars-task-sequence {
      grid-template-columns: minmax(0, 1fr);
      gap: 0;
    }

    .ars-task-sequence li {
      display: grid;
      grid-template-columns: 3.25rem 1fr;
      gap: 0 1rem;
      min-height: 6rem;
      padding-bottom: 1rem;
      text-align: left;
    }

    .ars-task-sequence li:not(:last-child)::after {
      top: 3.4rem;
      right: auto;
      bottom: 0.15rem;
      left: 1.55rem;
      width: 0.12rem;
      height: auto;
      background: var(--ars-gradient);
      content: "";
    }

    .ars-task-sequence .ars-icon-disc {
      grid-row: 1 / span 2;
      margin: 0;
    }

    .ars-task-sequence strong,
    .ars-task-sequence p {
      margin-top: 0;
    }

    .ars-challenge-media {
      min-height: 23rem;
    }

    .ars-shift-track {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-shift-track li {
      padding: 0.55rem 0 0.55rem 1rem;
    }

    .ars-shift-track li::before {
      right: auto;
      bottom: 0;
      width: 0.2rem;
      height: auto;
    }

    .ars-evidence-stats .ars-metric {
      grid-template-columns: minmax(4.5rem, 6.7rem) 1fr;
    }

    .ars-story-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-story-grid > *,
    .ars-story-grid > :nth-child(n + 3) {
      grid-column: auto;
      min-height: auto;
    }

    .ars-person-media {
      min-height: 29rem;
    }

    .ars-person-stats,
    .ars-trust-grid,
    .ars-perspective-grid,
    .ars-support-actions,
    .ars-phase-path {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-person-stats .ars-metric {
      min-height: 6.5rem;
    }

    .ars-resource-grid > :first-child {
      min-height: auto;
    }

    .ars-support-media {
      min-height: 28rem;
    }

    .ars-phase-path li:not(:last-child)::after {
      top: 0.7rem;
      right: auto;
      bottom: -1.6rem;
      left: 0.34rem;
      width: 0.12rem;
      height: auto;
      background: linear-gradient(var(--ars-cyan-400), var(--ars-blue-600), transparent);
    }

    .ars-footer-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .ars-footer-grid > :first-child,
    .ars-footer-grid > :last-child {
      grid-column: auto;
    }

    .ars-footer-legal {
      align-items: flex-start;
      flex-direction: column;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
      scroll-behavior: auto !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }

    .ars-button:hover,
    .ars-area-card.is-active,
    .ars-area-card[aria-current="true"],
    .ars-area-card[aria-selected="true"] {
      transform: none;
    }
  }

  @media (forced-colors: active) {
    .ars-gradient-text,
    .ars-heading strong,
    .ars-heading em {
      color: LinkText;
      background: none;
      -webkit-text-fill-color: currentColor;
    }

    .ars-button,
    .ars-card,
    .ars-model-board,
    .ars-area-card {
      border: 1px solid CanvasText;
    }
  }

  @media print {
    .ars-site-header,
    .ars-menu-toggle,
    .ars-button-group,
    .ars-newsletter-form {
      display: none !important;
    }

    .ars-section,
    .ars-site-footer {
      color: #000 !important;
      background: #fff !important;
      break-inside: avoid;
    }

    .ars-section :where(.ars-heading, .ars-copy, .ars-eyebrow),
    .ars-site-footer * {
      color: #000 !important;
      -webkit-text-fill-color: currentColor !important;
    }
  }
}

/* Final navigation integration: the production markup ships distinct desktop
 * and mobile nav elements, so only the latter becomes the small-screen drawer. */
@layer responsive {
  @media (max-width: 78rem) {
    .ars-site-header .ars-primary-nav {
      display: none;
    }

    .ars-site-header .ars-mobile-nav-toggle {
      display: inline-grid;
    }

    .ars-mobile-nav:not([hidden]) {
      display: block;
      visibility: visible;
      opacity: 1;
      transform: none;
    }
  }

  @media print {
    .ars-mobile-nav-toggle,
    .ars-mobile-nav {
      display: none !important;
    }
  }
}

/* Last-mile interaction overrides intentionally follow all legacy rules. */
@layer fidelity {
  .ars-site-header .ars-brand .ars-header-logo {
    display: block;
    width: clamp(10rem, 15vw, 13.5rem);
    height: auto;
    max-height: none;
    object-fit: contain;
  }
}

@layer responsive {
  @media (max-width: 78rem) {
    .ars-site-header .ars-header-actions {
      margin-left: auto;
    }
  }
}

@layer fidelity {
  /* Approved generated photography is used only as imagery; all meaningful
     headings, labels, controls and data remain live HTML. */
  #hero .ars-hero-media {
    inset: 0;
  }

  #hero .ars-hero-media img {
    object-position: center 48%;
    filter: saturate(0.92) contrast(1.04) brightness(0.94);
  }

  #readiness .ars-policy-stack {
    background:
      linear-gradient(180deg, rgb(255 255 255 / 0.02), rgb(240 247 252 / 0.08)),
      url("/assets/policy-document-stack-1000.webp") center / cover no-repeat;
    box-shadow: 0 1rem 2rem rgb(18 52 90 / 0.1);
  }

  #readiness .ars-policy-stack li {
    color: #182337;
    background: rgb(247 248 248 / 0.74);
    border-color: rgb(173 185 197 / 0.56);
    box-shadow: 0 0.2rem 0.35rem rgb(26 38 58 / 0.09);
    backdrop-filter: blur(1px);
  }

  #scan.ars-section {
    background:
      linear-gradient(90deg, rgb(255 255 255 / 0.98) 0%, rgb(255 255 255 / 0.94) 37%, rgb(245 251 255 / 0.45) 62%, rgb(232 247 255 / 0.18) 100%),
      url("/assets/scan-office-background-2000.webp") center / cover no-repeat;
  }

  #implementation.ars-section::before {
    background:
      linear-gradient(90deg, rgb(255 255 255 / 0.08), transparent 30%),
      linear-gradient(180deg, transparent 67%, rgb(4 27 58 / 0.24)),
      url("/assets/implementation-mountain-1600.webp") center / cover no-repeat;
  }

  #implementation .ars-support-card-media img {
    object-fit: cover;
    object-position: 54% center;
    filter: saturate(0.94) contrast(1.03);
  }

  @media (min-width: 64.01rem) {
    #hero > .ars-container.ars-hero-layout {
      min-height: clamp(34rem, 34vw, 36.5rem);
    }

    #hero .ars-heading {
      font-size: clamp(3.2rem, 3.75vw, 4.15rem);
    }

    #implementation .ars-area-list {
      grid-template-columns: repeat(5, minmax(0, 14.6rem));
      justify-content: center;
    }

    #implementation .ars-area-card {
      width: 100%;
      min-height: 0;
    }
  }

  @media (min-width: 40.01rem) and (max-width: 46rem) {
    #readiness > .ars-container.ars-split {
      grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.95fr);
      gap: 2rem;
    }

    #readiness .ars-readiness-visual {
      grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 0.42fr);
      padding: 0 0 0 2rem;
      border-top: 0;
      border-left: 1px solid #c3d8ed;
    }

    #readiness .ars-callout {
      top: 1.1rem;
      width: 100%;
    }

    #readiness .ars-question-list {
      grid-column: 1 / -1;
    }

    #readiness .ars-section-signoff {
      grid-template-columns: 1fr 1fr;
    }

    #readiness .ars-section-signoff strong {
      justify-self: end;
    }
  }

  #implementation .ars-area-card.is-active {
    transform: translateY(-0.3rem) scale(1.045);
  }





  @media (max-width: 42rem) {
    #hero .ars-hero-media img {
      object-position: 69% center;
    }

    #scan.ars-section {
      background-position: 64% center;
    }

    #implementation.ars-section::before {
      opacity: 0.5;
    }

    #implementation .ars-area-list {
      display: grid;
      grid-template-columns: none;
      grid-auto-flow: column;
      grid-auto-columns: minmax(17rem, 82vw);
      gap: 1rem;
      margin-inline: -1rem;
      padding: 1.1rem 1rem 2rem;
      overflow-x: auto;
      overflow-y: visible;
      scroll-padding-inline: 1rem;
      scroll-snap-type: x mandatory;
      scrollbar-width: thin;
    }

    #implementation .ars-area-card {
      display: flex;
      width: 100%;
      min-height: 0;
      aspect-ratio: 1;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding: 2rem;
      border-radius: 50%;
      text-align: center;
      scroll-snap-align: center;
    }

    #implementation .ars-area-icon,
    #implementation .ars-area-number,
    #implementation .ars-area-card h3,
    #implementation .ars-area-card p {
      grid-column: auto;
      grid-row: auto;
    }

    #implementation .ars-area-icon {
      align-self: auto;
      width: 3rem;
      height: 3rem;
      margin: 0 auto 0.25rem;
    }

    #implementation .ars-area-card.is-active{
      transform: scale(1.025);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #implementation .ars-area-card,
    #implementation .ars-area-card.is-active{
      transform: none;
    }
  }
}

/* Keep the first headline close to the navigation across screen sizes. */
@layer fidelity {
  #hero > .ars-container.ars-hero-layout {
    min-height: clamp(31rem, 32vw, 33rem);
  }

  #hero .ars-hero-content {
    justify-content: flex-start;
    padding-block: clamp(2.5rem, 3.5vw, 3.5rem);
  }

  #hero .ars-heading {
    margin-top: 0;
  }

  @media (max-width: 42rem) {
    #hero > .ars-container.ars-hero-layout {
      min-height: 0;
      gap: 1rem;
    }

    #hero .ars-hero-content {
      padding: 2rem 0 1.5rem;
    }
  }
}

/* The hero photograph remains a full-bleed backdrop as the headline wraps. */
@layer fidelity {
  @media (max-width: 64rem) {
    #hero .ars-hero-media {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      min-height: 0;
      margin: 0;
      opacity: 1;
      pointer-events: none;
    }

    #hero .ars-hero-media img {
      width: 100%;
      height: 100%;
      min-height: 0;
      object-fit: cover;
      object-position: 60% center;
    }

    #hero .ars-hero-media::after {
      position: absolute;
      inset: 0;
      display: block;
      background: linear-gradient(90deg, rgb(3 21 52 / 0.92), rgb(3 21 52 / 0.76) 54%, rgb(3 21 52 / 0.32));
      content: "";
    }
  }

  @media (max-width: 42rem) {
    #hero .ars-hero-media img {
      object-position: 69% center;
    }

    #hero .ars-hero-media::after {
      background: linear-gradient(180deg, rgb(3 21 52 / 0.7), rgb(3 21 52 / 0.72) 62%, rgb(3 21 52 / 0.78));
    }
  }
}
