[hidden] { display: none !important; }
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/inter-latin-var.woff2') format('woff2');
}
:root {
  --ink:          #14181F;
  --ink-soft:     #2B333D;
  --accent:       #198865;
  --accent-deep:  #12694E;
  --accent-wash:  #EAF6F1;
  --surface:      #FFFFFF;
  --surface-alt:  #F6F8F7;
  --danger:       #B03A2E;
  --stat-soft-bg: #F2F5F4;
  --hairline:     #E4E9E7;
  --hairline-str: #CFD8D4;
  --navy:         #1A2E4C;
  --royal:        #3759BF;
  --navy-wash:    #EAEFF6;
  --navy-line:    #C6D2E4;
  --muted:        #1A2E4C;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
          'Helvetica Neue', Arial, sans-serif;
  --max:    1392px;
  --narrow: 760px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --pad-section: clamp(4rem, 8vw, 7rem);
  --shadow-modal: 0 24px 64px rgba(20, 24, 31, .18);
  --header-bg:    rgba(255, 255, 255, .88);
  --field-bg:     #FFFFFF;
  --ms-bg:        #F3F4F7;
  --ms-bg-0:      rgba(243, 244, 247, 0);
  --shadow-card:  0 1px 2px rgba(20,24,31,.04), 0 12px 32px rgba(20,24,31,.05);
  --shadow-menu:  0 1px 2px rgba(20,24,31,.05), 0 14px 34px rgba(20,24,31,.10);
  --scene-line:   #C2CCD4;
  --page:         var(--surface);
  --cta-bg:       #14181F;
  color-scheme: light;
}
:root {
  --dk-ink:          #E9EDF2;
  --dk-ink-soft:     #C3CBD5;
  --dk-accent:       #23A97E;
  --dk-accent-deep:  #2FC98C;
  --dk-accent-wash:  #10241D;
  --dk-surface:      #14181F;
  --dk-surface-alt:  #1A1F27;
  --dk-hairline:     #272D37;
  --dk-hairline-str: #3A424E;
  --dk-navy:         #7593F2;
  --dk-royal:        #7593F2;
  --dk-navy-wash:    #161C2B;
  --dk-navy-line:    #2A3550;
  --dk-muted:        #98A3B4;
  --dk-header-bg:    rgba(16, 19, 25, .88);
  --dk-field-bg:     #1A1F27;
  --dk-ms-bg:        #1A1F27;
  --dk-ms-bg-0:      rgba(26, 31, 39, 0);
  --dk-shadow-card:  0 0 0 1px rgba(255,255,255,.03), 0 12px 32px rgba(0,0,0,.45);
  --dk-shadow-menu:  0 0 0 1px rgba(255,255,255,.04), 0 14px 34px rgba(0,0,0,.55);
  --dk-shadow-modal: 0 24px 64px rgba(0, 0, 0, .65);
  --dk-scene-line:   #56636F;
  --dk-page:         #0F1319;
  --dk-cta-bg:       #1B222C;
  --mt-shade:        #000000;
  --dk-mt-top: 50%; --dk-mt-mid: 74%; --dk-mt-low: 74%; --dk-mt-btm: 58%;
}
[data-theme="dark"] {
  --mt-top: var(--dk-mt-top); --mt-mid: var(--dk-mt-mid); --mt-low: var(--dk-mt-low); --mt-btm: var(--dk-mt-btm); --mt-shade: white;
  --ink: var(--dk-ink);
  --ink-soft: var(--dk-ink-soft);
  --accent: var(--dk-accent);
  --accent-deep: var(--dk-accent-deep);
  --accent-wash: var(--dk-accent-wash);
  --surface: var(--dk-surface);
  --surface-alt: var(--dk-surface-alt);
  --danger: #F0857A;
  --stat-soft-bg: var(--dk-surface);
  --hairline: var(--dk-hairline);
  --hairline-str: var(--dk-hairline-str);
  --navy: var(--dk-navy);
  --royal: var(--dk-royal);
  --navy-wash: var(--dk-navy-wash);
  --navy-line: var(--dk-navy-line);
  --muted: var(--dk-muted);
  --header-bg: var(--dk-header-bg);
  --field-bg: var(--dk-field-bg);
  --ms-bg: var(--dk-ms-bg);
  --ms-bg-0: var(--dk-ms-bg-0);
  --shadow-card: var(--dk-shadow-card);
  --shadow-menu: var(--dk-shadow-menu);
  --shadow-modal: var(--dk-shadow-modal);
  --scene-line: var(--dk-scene-line);
  --page: var(--dk-page);
  --cta-bg: var(--dk-cta-bg);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --mt-top: var(--dk-mt-top); --mt-mid: var(--dk-mt-mid); --mt-low: var(--dk-mt-low); --mt-btm: var(--dk-mt-btm); --mt-shade: white;
  --ink: var(--dk-ink);
  --ink-soft: var(--dk-ink-soft);
  --accent: var(--dk-accent);
  --accent-deep: var(--dk-accent-deep);
  --accent-wash: var(--dk-accent-wash);
  --surface: var(--dk-surface);
  --surface-alt: var(--dk-surface-alt);
  --danger: #F0857A;
  --stat-soft-bg: var(--dk-surface);
  --hairline: var(--dk-hairline);
  --hairline-str: var(--dk-hairline-str);
  --navy: var(--dk-navy);
  --royal: var(--dk-royal);
  --navy-wash: var(--dk-navy-wash);
  --navy-line: var(--dk-navy-line);
  --muted: var(--dk-muted);
  --header-bg: var(--dk-header-bg);
  --field-bg: var(--dk-field-bg);
  --ms-bg: var(--dk-ms-bg);
  --ms-bg-0: var(--dk-ms-bg-0);
  --shadow-card: var(--dk-shadow-card);
  --shadow-menu: var(--dk-shadow-menu);
  --shadow-modal: var(--dk-shadow-modal);
  --scene-line: var(--dk-scene-line);
  --page: var(--dk-page);
  --cta-bg: var(--dk-cta-bg);
    color-scheme: dark;
  }
}
.wp {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 1250px) { .wp { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px)  { .wp { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px)  { .wp { grid-template-columns: minmax(0, 1fr); } }
.wp__tile {
  position: relative;
  margin: 0;
  padding: 1.5rem 1.25rem 1.35rem;
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  background: var(--surface);
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.wp__tile::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(0deg,   var(--hairline) 0 1px, transparent 1px 22px),
    repeating-linear-gradient(90deg,  var(--hairline) 0 1px, transparent 1px 22px);
  opacity: .32;
  mask-image: linear-gradient(160deg, #000 0%, transparent 62%);
}
.wp__tile::after {
  content: "";
  position: absolute;
  top: 10px; right: 10px;
  width: 12px; height: 12px;
  border-top: 1px solid var(--accent);
  border-right: 1px solid var(--accent);
  opacity: .5;
  transition: opacity .2s ease;
  pointer-events: none;
}
.wp__tile:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: var(--shadow-card);
}
.wp__tile:hover::after { opacity: 1; }
.wp__idx {
  position: relative;
  margin: 0 0 .9rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  color: var(--muted);
  opacity: .55;
}
.wp__glyph {
  position: relative;
  display: block;
  width: 34px; height: 34px;
  color: var(--accent-deep);
  margin-bottom: .85rem;
}
.wp__name {
  position: relative;
  margin: 0 0 .45rem;
  font-size: 1.08rem;
  line-height: 1.3;
}
.wp__blurb {
  position: relative;
  margin: 0;
  font-size: .88rem;
  line-height: 1.55;
  color: var(--ink-soft);
}
.wp__chips {
  position: relative;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.wp__chips li {
  margin: 0;
  padding: .22rem .5rem;
  border: 1px solid var(--hairline-str);
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--ink-soft);
  white-space: nowrap;
  background: var(--surface-alt);
}
.social { display: flex; gap: .5rem; list-style: none; margin: .9rem 0 0; padding: 0; }
.social__link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px;
  border: 1px solid var(--hairline-str);
  border-radius: var(--r-sm);
  color: var(--ink-soft);
}
.social__link:hover { color: var(--ink); border-color: var(--ink); background: var(--surface-alt); }
.social__link svg { width: 17px; height: 17px; display: block; }
.brand svg,
.logo-lockup--footer,
.logo-hero,
.wh__mark { color: var(--ink); }
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 1rem);
}
body {
  margin: 0;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-soft);
  background: var(--page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4 {
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -.021em;
  line-height: 1.15;
  margin: 0 0 .6em;
  text-wrap: balance;
}
h1 { font-size: clamp(1.4rem, 3.1vw, 2.24rem); letter-spacing: -.024em; }
h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
h3 { font-size: clamp(1.15rem, 1.7vw, 1.35rem); }
h4 { font-size: 1.02rem; }
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
a { color: var(--accent-deep); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.15em; }
li { margin-bottom: .45em; }
img, svg { max-width: 100%; height: auto; }
strong { color: var(--ink); font-weight: 600; }
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 3px;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--ink);
  color: #fff;
  padding: .75rem 1.15rem;
  z-index: 200;
  border-radius: 0 0 var(--r-sm) 0;
}
.skip-link:focus { left: 0; }
.staging-badge {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 150;
  margin: 0;
  display: flex;
  align-items: center;
  gap: .55rem;
  background: #14181F;
  color: #fff;
  font-size: .8rem;
  font-weight: 500;
  line-height: 1.3;
  padding: .6rem .95rem;
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(20, 24, 31, .22);
  max-width: calc(100vw - 2rem);
}
.staging-badge__dot {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: #E8B93B;
}
@media print { .staging-badge { display: none; } }
.wrap {
  width: 100%;
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: clamp(1.15rem, 4vw, 2rem);
}
.wrap--narrow { max-width: var(--narrow); }
.wrap--measure > * { max-width: var(--narrow); }
.section { padding-block: var(--pad-section); }
.section--lead { padding-top: clamp(3rem, 6vw, 5rem); }
.section--lead .split { align-items: start; }
.section--lead .eyebrow { margin-bottom: .75rem; }
.section--alt {
  background: var(--surface-alt);
  border-block: 1px solid var(--hairline);
  --page: var(--surface-alt);
}
.section--tight { padding-block: clamp(2.75rem, 5vw, 4rem); }
.lede {
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  color: var(--muted);
  max-width: 62ch;
}
.h-navy { color: var(--navy); }
.page-title { margin-bottom: .4rem; }
.page-sub {
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--muted);
}
.eyebrow {
  display: inline-block;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 1rem;
}
.section-head { max-width: 66ch; margin-bottom: clamp(2.25rem, 4vw, 3.25rem); }
.section-head--tight { margin-bottom: 1.15rem; }
.section-head--wide { max-width: none; }
.section-head--oneline,
.section-head--oneline p { max-width: none; }
.section-head--snug { margin-bottom: .575rem; }
.about__mission { margin: 1.75rem 0 .5rem; }
.about__lead > p,
.about__lead > .checklist { max-width: var(--narrow); }
.about__values-intro { margin: 1.5rem 0 .9rem; }
#our-mission h1 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
#our-mission .checklist li { margin-bottom: .6rem; }
#our-mission .checklist li:last-child { margin-bottom: 0; }
.section-head--wide p { max-width: 92ch; }
.section-head p:last-child { margin-bottom: 0; }
.lead-line {
  margin: 0 0 .35rem;
  font-size: 1.2em;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.45;
}
.lead-line + p { margin-top: 0; }
.statement {
  font-size: clamp(.95rem, 1.75vw, 1.4rem);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--ink);
  max-width: 100%;
  margin: 0;
}
.statement span { display: block; white-space: nowrap; }
.statement span + span { margin-top: .35em; }
.statement { margin-bottom: 1.15rem; }
@media (max-width: 620px) {
  .statement span { white-space: normal; }
}
.statement em {
  font-style: normal;
  color: var(--accent);
  white-space: nowrap;
}
.chev {
  width: 34px;
  height: 34px;
  flex: none;
  display: block;
}
.chev .chev-ink    { stroke: var(--ink);   fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: miter; }
.chev .chev-accent { stroke: var(--accent); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: miter; }
.chev .chev-dot    { fill: var(--royal); }
.rule-chev {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.5rem;
  color: var(--hairline-str);
}
.rule-chev::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--hairline);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font: inherit;
  font-weight: 600;
  font-size: .97rem;
  line-height: 1;
  padding: .82rem 1.4rem;
  border-radius: var(--r-sm);
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
  white-space: nowrap;
}
.btn:hover { text-decoration: none; }
.btn--primary {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  border-color: var(--accent-deep);
  background-color: var(--accent);
  background-image: linear-gradient(135deg,
      #23a97e 0%,
      #198865 34%,
      #12694E 62%,
      #1b9673 86%,
      #27b487 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30),
              inset 0 -1px 0 rgba(0,0,0,.22),
              0 1px 2px rgba(20,24,31,.20);
  transition: background-position .2s ease, box-shadow .2s ease, transform .12s ease;
}
.btn--primary::after {
  content: "";
  position: absolute;
  inset: -2px -40%;
  pointer-events: none;
  background: linear-gradient(104deg,
      rgba(255,255,255,0)   38%,
      rgba(255,255,255,.46) 50%,
      rgba(255,255,255,0)   62%);
  transform: translateX(-100%);
  transition: transform .65s cubic-bezier(.22,.61,.36,1);
}
.btn--primary:hover,
.btn--primary:focus-visible {
  background-image: linear-gradient(135deg,
      #2ab98a 0%,
      #1d9772 32%,
      #147456 60%,
      #1fa57e 86%,
      #2ec293 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42),
              inset 0 -1px 0 rgba(0,0,0,.24),
              0 2px 8px rgba(18,105,78,.32);
}
.btn--primary:hover::after,
.btn--primary:focus-visible::after { transform: translateX(100%); }
.btn--primary:active { transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) {
  .btn--primary,
  .btn--primary::after { transition: none; }
  .btn--primary::after { display: none; }
}
.btn--ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--hairline-str);
}
.btn--ghost:hover { border-color: var(--ink); background: var(--surface-alt); }
.btn--sm { padding: .62rem 1.05rem; font-size: .9rem; }
.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-weight: 500;
}
.link-arrow::after { content: '→'; transition: transform .15s ease; }
.link-arrow:hover::after { transform: translateX(3px); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 90;
  background: var(--header-bg);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--hairline);
}
.site-header__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  min-height: 68px;
}
.site-header > .site-header__inner { max-width: none; }
.brand { display: flex; align-items: center; flex: none; }
.brand svg { height: 38px; width: auto; display: block; }
.nav {
  display: flex;
  align-items: center;
  gap: 1.35rem;
  margin-left: auto;
}
.nav a:not(.btn) {
  color: var(--ink-soft);
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none;
}
.nav a:not(.btn):hover { color: var(--ink); text-decoration: none; }
.nav a:not(.btn)[aria-current="page"] { color: var(--ink); font-weight: 600; }
.nav__group { position: relative; display: flex; align-items: center; }
.nav__link--group {
  appearance: none; background: none; border: 0; padding: 0;
  font: inherit; font-size: .95rem; font-weight: 500;
  color: var(--ink-soft); cursor: pointer;
  display: inline-flex; align-items: center; gap: .3rem;
}
.nav__link--group:hover { color: var(--ink); }
.nav__link--group[data-current="true"] { color: var(--ink); font-weight: 600; }
.nav__link--group:focus-visible { outline: 2px solid var(--royal); outline-offset: 3px; border-radius: 2px; }
.nav__chev { width: 10px; height: 7px; flex: none; transition: transform .16s ease; }
.nav__sub {
  appearance: none; border: 0; background: none; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 24px; min-height: 24px;
  padding: .35rem .25rem; margin-left: -.15rem;
  color: var(--muted);
}
.nav__sub:hover { color: var(--ink); }
.nav__sub:focus-visible { outline: 2px solid var(--royal); outline-offset: 2px; border-radius: 4px; }
.nav__link--linked { text-decoration: none; }
.nav__group[data-open="true"] .nav__chev { transform: rotate(180deg); }
.nav__menu {
  position: absolute;
  top: 100%; left: -0.9rem;
  min-width: 12.5rem;
  display: none;
  flex-direction: column;
  margin-top: .55rem;
  padding: .4rem;
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-menu);
  z-index: 5;
}
.nav__group::after {
  content: ""; position: absolute; top: 100%; left: 0; right: 0; height: .6rem;
}
.nav__group:hover .nav__menu,
.nav__group[data-open="true"] .nav__menu { display: flex; }
.nav__group[data-closed="true"]:hover .nav__menu { display: none; }
.nav__menu a {
  padding: .5rem .7rem;
  border-radius: var(--r-sm);
  font-size: .92rem;
  white-space: nowrap;
}
.nav__menu a:hover { background: var(--surface-alt); color: var(--ink); }
.nav__actions { display: flex; align-items: center; gap: .6rem; margin-left: .5rem; }
.theme-toggle {
  appearance: none; background: none; cursor: pointer;
  border: 1px solid var(--hairline-str);
  border-radius: var(--r-sm);
  color: var(--ink);
  padding: .5rem;
  display: inline-flex; align-items: center; justify-content: center;
  flex: none;
}
.theme-toggle:hover { border-color: var(--ink); background: var(--surface-alt); }
.theme-toggle:focus-visible { outline: 2px solid var(--royal); outline-offset: 2px; }
.theme-toggle svg { display: block; width: 17px; height: 17px; }
.theme-toggle svg.theme-toggle__moon { display: none; }
[data-theme="dark"] .theme-toggle svg.theme-toggle__sun  { display: none; }
[data-theme="dark"] .theme-toggle svg.theme-toggle__moon { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle svg.theme-toggle__sun  { display: none; }
  :root:not([data-theme="light"]) .theme-toggle svg.theme-toggle__moon { display: block; }
}
.nav-toggle {
  display: none;
  margin-left: auto;
  background: none;
  border: 1px solid var(--hairline-str);
  border-radius: var(--r-sm);
  padding: .5rem .6rem;
  cursor: pointer;
  color: var(--ink);
}
.nav-toggle svg { display: block; width: 20px; height: 20px; }
@media (max-width: 1080px) {
  .nav-toggle { display: block; }
  .nav {
    position: fixed;
    inset: 68px 0 auto 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--surface);
    border-bottom: 1px solid var(--hairline);
    padding: .5rem clamp(1.15rem, 4vw, 2rem) 1.5rem;
    margin: 0;
    display: none;
    max-height: calc(100svh - 68px);
    overflow-y: auto;
    z-index: 3;
  }
  .nav[data-open="true"] { display: flex; }
  .nav a:not(.btn) {
    padding: .85rem 0;
    border-bottom: 1px solid var(--hairline);
    font-size: 1.05rem;
  }
  .nav .btn { margin-top: 1rem; width: 100%; }
  .nav__group {
    display: flex; flex-wrap: wrap; align-items: center;
    position: static;
    border-bottom: 1px solid var(--hairline);
  }
  .nav__link--group {
    flex: 1 1 auto;
    width: auto;
    justify-content: flex-start;
    padding: .85rem 0;
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--ink);
    cursor: pointer;
  }
  .nav__link--group .nav__chev { margin-left: auto; }
  .nav__chev { display: block; width: 12px; height: 8px; }
  .nav__sub { padding: .85rem .25rem .85rem 1rem; }
  .nav__group::after { content: none; }
  .nav__group > .nav__link--group { border-bottom: 0; }
  .nav__menu {
    flex: 1 0 100%;
    position: static;
    min-width: 0;
    margin: 0; padding: 0 0 .5rem .9rem;
    border: 0; border-radius: 0; box-shadow: none;
    background: none;
    display: none;
  }
  .nav__group:hover .nav__menu,
  .nav__group:focus-within .nav__menu { display: none; }
  .nav__group[data-open="true"] .nav__menu { display: flex; }
  .nav__menu a:last-child { border-bottom: 0; }
  .nav__menu a { padding: .85rem 0; border-bottom: 1px solid var(--hairline); border-radius: 0; font-size: 1.05rem; }
  .nav__actions { display: flex; flex-direction: column; align-items: stretch; gap: .6rem; margin: 1rem 0 0; }
  .nav__actions .btn { margin-top: 0; }
  .theme-toggle { align-self: flex-start; }
}
.hero {
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--surface);
  border-bottom: 1px solid var(--hairline);
}
.hero__col { max-width: 62ch; }
.hero h1 { max-width: none; }
.hero__mission {
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  zoom: 1.152;
  line-height: 1.25;
  letter-spacing: -.021em;
  text-wrap: balance;
  color: var(--ink-soft);
  max-width: none;
  margin: 0 0 clamp(1.25rem, 3vw, 2.25rem);
}
@media (max-width: 1200px) { .hero__mission { font-size: clamp(1.5rem, 5.6vw, 2.24rem); zoom: .96; } }
@media (max-width: 600px)  { .hero__mission { zoom: .864; } }
.hero__mission strong { color: var(--ink); font-weight: 700; }
.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(1.75rem, 3.5vw, 2.75rem);
  align-items: center;
}
.hero__col--panel { max-width: none; min-width: 0; }
.hero__grid {
  zoom: 1.152;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(1.75rem, 3.5vw, 2.75rem);
}
.hero__col--panel { max-width: none; justify-self: stretch; }
@media (max-width: 1200px) { .hero__grid { zoom: .96; } }
@media (max-width: 600px)  { .hero__grid { zoom: .864; } }
@media (max-width: 1200px) {
  .hero__grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .hero__col--panel { max-width: 560px; }
}
.logo-lockup--footer { height: 36px; width: auto; }
.form-actions--centred { justify-content: center; }
.page-404 { padding-block: clamp(5rem, 12vw, 9rem); }
.page-404__inner { text-align: center; }
.page-404 .chev { width: 56px; height: 56px; margin: 0 auto 1.5rem; }
.page-404 h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); }
.page-404 .lede { margin-inline: auto; margin-bottom: 2rem; }
.legal-title { font-size: clamp(2rem, 4vw, 2.8rem); }
.boundary--spaced { margin-block: 2rem; }
.ms {
  --ms-speed: 60s;
  display: flex;
  align-items: stretch;
  background: var(--ms-bg);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  overflow: hidden;
}
.ms__sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ms__label {
  flex: none;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 1rem 0 clamp(1.15rem, 4vw, 2rem);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ink);
  white-space: nowrap;
}
.ms__viewport { position: relative; flex: 1 1 auto; overflow: hidden; display: flex; align-items: center; }
.ms__viewport::before,
.ms__viewport::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 40px;
  z-index: 2;
  pointer-events: none;
}
.ms__viewport::before { left: 0;  width: 22px; background: linear-gradient(90deg, var(--ms-bg), var(--ms-bg-0)); }
.ms__viewport::after  { right: 0; background: linear-gradient(270deg, var(--ms-bg), var(--ms-bg-0)); }
.ms__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: ms-scroll var(--ms-speed) linear infinite;
}
@keyframes ms-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ms__group { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; }
.ms__item {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem 1.28rem;
  white-space: nowrap;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1;
  color: var(--ink-soft);
  margin: 0;
}
.ms__name {
  display: block;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
.ms__logo {
  width: 19.5px; height: 19.5px; flex: none; display: block;
  fill: var(--ink);
}
@media (max-width: 760px) {
  .ms__label { font-size: .72rem; letter-spacing: .1em; padding: 0 .65rem 0 1rem; }
  .ms__item { font-size: .78rem; padding: .42rem .9rem; gap: .38rem; }
  .ms__logo { width: 16px; height: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ms__track { animation: none; width: auto; }
  .ms__viewport { overflow-x: auto; }
  .ms__group + .ms__group { display: none; }
}
@media print { .ms { display: none; } }
.hero,
main > .section,
main > .cta-band {
  min-height: 75vh;
  min-height: 75svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero > .wrap,
main > .section > .wrap,
main > .cta-band > .wrap { width: 100%; }
main > .section--lead { min-height: 0; justify-content: flex-start; }
:root { --header-h: 107px; }
:target, [id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.hero { min-height: calc(90vh - var(--header-h)); min-height: calc(90svh - var(--header-h)); }
@media (max-height: 700px), (max-width: 760px) {
  .hero,
  main > .section,
  main > .cta-band { min-height: 0; display: block; }
}
.card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .6rem;
}
.card__fig {
  margin-left: auto;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  color: var(--accent-deep);
}
.card--chev.is-navy .card__fig { color: var(--navy); }
.head-art.head-art--wide { grid-template-columns: minmax(0, 616px) minmax(0, 1fr); }
.head-art.head-art--reverse .section-head { order: 2; padding-right: 0; padding-left: 2.75rem; }
.head-art.head-art--reverse .head-art__media { order: 1; }
.head-art.head-art--reverse { align-items: center; }
.head-art.head-art--wide { align-items: start; }
.head-art .head-art__media--bt {
  align-self: start;
  transform: none;
  width: 88%;
  margin-left: auto;
}
.head-art--wide .section-head { position: relative; top: -8px; }
@media (max-width: 1080px) {
  .head-art--reverse .section-head { padding-left: 0; order: 1; }
  .head-art .head-art__media--bt { display: block; margin-top: 1.75rem; }
}
.checklist--tight { margin-top: 1.1rem; }
.placeholder-note {
  margin-top: 1.1rem;
  padding: .85rem 1rem;
  border: 1px dashed var(--hairline-str, var(--hairline));
  border-radius: var(--r-sm);
  background: var(--surface-alt);
  font-size: .9rem;
  color: var(--muted);
}
.placeholder-note code { font-size: .86em; }
:root{ --wh-clock: 27.3s; }
.wh{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(2rem, 5vw, 4.5rem);
}
.wh__stage{ display:flex; justify-content:center;
  padding-bottom:1.5rem; }
.wh__wheel{
  position:relative;
  width:100%;
  max-width:400px;
  aspect-ratio:1;
}
.wh__track{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.wh__track-ring{ fill:none; stroke:var(--hairline); stroke-width:1.5; }
.wh__track-arc{
  fill:none; stroke:var(--royal); stroke-width:1.25; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:1;
  transform:rotate(-90deg); transform-origin:center;
  animation:wh-arc var(--wh-clock) linear infinite both;
}
@keyframes wh-arc{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }
.wh__centre{
  position:absolute; left:50%; top:50%;
  width:46%; height:46%;
  transform:translate(-50%,-50%);
  display:flex; align-items:center; justify-content:center;
}
.wh__mark{ width:100%; height:100%; display:block; overflow:visible; color:var(--ink); }
.wh__ring{ position:absolute; inset:0; animation:wh-turn var(--wh-clock) linear infinite both; }
.wh__slot{ position:absolute; inset:0; pointer-events:none; }
.wh__nodebtn{ pointer-events:auto; }
.wh__up{
  position:absolute; left:50%; top:12%;
  width:5.5rem; height:5.5rem;
  margin:calc(5.5rem / -2) 0 0 calc(5.5rem / -2);
  display:flex; align-items:center; justify-content:center;
  animation:wh-unturn var(--wh-clock) linear infinite both;
}
.wh__spoke{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.wh__node{
  display:flex; flex-direction:column; align-items:center; gap:.35rem;
  text-align:center;
}
.wh__node .chev{
  width:2.4rem; height:2.4rem; display:block;
  padding:.55rem; box-sizing:content-box;
  border:1px solid var(--hairline);
  border-radius:50%;
  background:var(--surface);
  color:var(--ink);
  transition:border-color .25s ease, background-color .25s ease;
}
.wh__labels{ position:absolute; inset:0; pointer-events:none; }
.wh__lab{ position:absolute; width:9rem; margin-left:-4.5rem; margin-top:2.2rem;
  display:grid; place-items:center; }
.wh__labw{
  grid-area:1 / 1;
  font-size:.82rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase;
  white-space:nowrap;
  color:transparent;
  animation:wh-lab var(--wh-clock) linear infinite both;
}
.wh__lab--0{ left:50%; top:12%; }
.wh__lab--1{ left:88%; top:50%; }
.wh__lab--2{ left:50%; top:88%; }
.wh__lab--3{ left:12%; top:50%; }
.wh__lab--1{ margin-left:calc(-9rem - 1.25rem); justify-items:end; }
.wh__lab--3{ margin-left:1.25rem; justify-items:start; }
@keyframes wh-lab{
  0% { color:var(--c); }
  22.0476% { color:var(--c); }
  25.0% { color:transparent; }
  97.0476% { color:transparent; }
  100% { color:var(--c); }
}
@keyframes wh-turn{
  0% { transform:rotate(0deg); }
  22.0476% { transform:rotate(0deg); }
  25.0% { transform:rotate(90deg); }
  47.0476% { transform:rotate(90deg); }
  50.0% { transform:rotate(180deg); }
  72.0476% { transform:rotate(180deg); }
  75.0% { transform:rotate(270deg); }
  97.0476% { transform:rotate(270deg); }
  100.0% { transform:rotate(360deg); }
}
@keyframes wh-unturn{
  0% { transform:rotate(0deg); }
  22.0476% { transform:rotate(0deg); }
  25.0% { transform:rotate(-90deg); }
  47.0476% { transform:rotate(-90deg); }
  50.0% { transform:rotate(-180deg); }
  72.0476% { transform:rotate(-180deg); }
  75.0% { transform:rotate(-270deg); }
  97.0476% { transform:rotate(-270deg); }
  100.0% { transform:rotate(-360deg); }
}
.wh__slot--detect{ transform:rotate(0deg); }
.wh__slot--detect .wh__spoke{ transform:rotate(0deg); }
.wh__slot--delay{ transform:rotate(270deg); }
.wh__slot--delay .wh__spoke{ transform:rotate(-270deg); }
.wh__slot--deny{ transform:rotate(180deg); }
.wh__slot--deny .wh__spoke{ transform:rotate(-180deg); }
.wh__slot--extract{ transform:rotate(90deg); }
.wh__slot--extract .wh__spoke{ transform:rotate(-90deg); }
.wh__node .chev{ animation:var(--wh-clock) linear infinite both; }
.wh__slot--detect .chev{ animation-name:wh-live-green; animation-delay:0s; }
.wh__slot--delay .chev{ animation-name:wh-live-green; animation-delay:-20.475s; }
.wh__slot--deny .chev{ animation-name:wh-live-green; animation-delay:-13.65s; }
.wh__slot--extract .chev{ animation-name:wh-live-royal; animation-delay:-6.825s; }
.wh__lab--0 .wh__labw--detect{ --c:var(--accent-deep); animation-delay:0s; }
.wh__lab--0 .wh__labw--delay{ --c:var(--accent-deep); animation-delay:-20.475s; }
.wh__lab--0 .wh__labw--deny{ --c:var(--accent-deep); animation-delay:-13.65s; }
.wh__lab--0 .wh__labw--extract{ --c:var(--royal); animation-delay:-6.825s; }
.wh__lab--1 .wh__labw--detect{ --c:var(--muted); animation-delay:-20.475s; }
.wh__lab--1 .wh__labw--delay{ --c:var(--muted); animation-delay:-13.65s; }
.wh__lab--1 .wh__labw--deny{ --c:var(--muted); animation-delay:-6.825s; }
.wh__lab--1 .wh__labw--extract{ --c:var(--muted); animation-delay:0s; }
.wh__lab--2 .wh__labw--detect{ --c:var(--muted); animation-delay:-13.65s; }
.wh__lab--2 .wh__labw--delay{ --c:var(--muted); animation-delay:-6.825s; }
.wh__lab--2 .wh__labw--deny{ --c:var(--muted); animation-delay:0s; }
.wh__lab--2 .wh__labw--extract{ --c:var(--muted); animation-delay:-20.475s; }
.wh__lab--3 .wh__labw--detect{ --c:var(--muted); animation-delay:-6.825s; }
.wh__lab--3 .wh__labw--delay{ --c:var(--muted); animation-delay:0s; }
.wh__lab--3 .wh__labw--deny{ --c:var(--muted); animation-delay:-20.475s; }
.wh__lab--3 .wh__labw--extract{ --c:var(--muted); animation-delay:-13.65s; }
@keyframes wh-live-green{
  0% { border-color:var(--accent); box-shadow:inset 0 0 0 40px rgba(25,136,101,.12), 0 0 0 4px rgba(25,136,101,.13), 0 0 16px rgba(25,136,101,.45); }
  22.047619047619047% { border-color:var(--accent); box-shadow:inset 0 0 0 40px rgba(25,136,101,.12), 0 0 0 4px rgba(25,136,101,.13), 0 0 16px rgba(25,136,101,.45); }
  25.0% { border-color:var(--hairline); box-shadow:inset 0 0 0 40px rgba(25,136,101,0), 0 0 0 0 rgba(25,136,101,0), 0 0 0 rgba(25,136,101,0); }
  100% { border-color:var(--hairline); box-shadow:inset 0 0 0 40px rgba(25,136,101,0), 0 0 0 0 rgba(25,136,101,0), 0 0 0 rgba(25,136,101,0); }
}
@keyframes wh-live-royal{
  0% { border-color:var(--royal); box-shadow:inset 0 0 0 40px rgba(55,89,191,.12), 0 0 0 4px rgba(55,89,191,.13), 0 0 16px rgba(55,89,191,.45); }
  22.047619047619047% { border-color:var(--royal); box-shadow:inset 0 0 0 40px rgba(55,89,191,.12), 0 0 0 4px rgba(55,89,191,.13), 0 0 16px rgba(55,89,191,.45); }
  25.0% { border-color:var(--hairline); box-shadow:inset 0 0 0 40px rgba(55,89,191,0), 0 0 0 0 rgba(55,89,191,0), 0 0 0 rgba(55,89,191,0); }
  100% { border-color:var(--hairline); box-shadow:inset 0 0 0 40px rgba(55,89,191,0), 0 0 0 0 rgba(55,89,191,0), 0 0 0 rgba(55,89,191,0); }
}
.wh__ln,.wh__dot{ animation:var(--wh-clock) linear infinite both; }
.wh__ln--1{ opacity:.9; animation-name:wh-glow; animation-delay:0s; }
.wh__ln--2{ opacity:.62; animation-name:wh-glow; animation-delay:-20.475s; }
.wh__ln--3{ opacity:1; animation-name:wh-glow; animation-delay:-13.65s; }
.wh__dot{ opacity:1; animation-name:wh-glow-royal; animation-delay:-6.825s; }
@keyframes wh-glow{
  0% { filter:drop-shadow(0 0 7px rgba(25,136,101,.75)); }
  22.047619047619047% { filter:drop-shadow(0 0 7px rgba(25,136,101,.75)); }
  25.0% { filter:drop-shadow(0 0 0 rgba(25,136,101,0)); }
  100% { filter:drop-shadow(0 0 0 rgba(25,136,101,0)); }
}
@keyframes wh-glow-royal{
  0% { filter:drop-shadow(0 0 7px rgba(55,89,191,.75)); }
  22.047619047619047% { filter:drop-shadow(0 0 7px rgba(55,89,191,.75)); }
  25.0% { filter:drop-shadow(0 0 0 rgba(55,89,191,0)); }
  100% { filter:drop-shadow(0 0 0 rgba(55,89,191,0)); }
}
.wh__panels{ display:grid; grid-template-columns:minmax(0,1fr); }
.wh__panel{
  grid-area:1 / 1;
  opacity:0; pointer-events:none;
  animation:wh-panel var(--wh-clock) linear infinite both;
}
.wh__fig{
  display:block; margin:0 0 .2rem;
  font-size:clamp(2.4rem, 4.4vw, 3.4rem); line-height:1; letter-spacing:-.025em;
  font-weight:700; color:var(--accent-deep);
}
.wh__panel--extract .wh__fig{ color:var(--royal); }
.wh__head{ margin:0 0 .6rem; font-size:clamp(1.25rem, 2.1vw, 1.6rem); line-height:1.25; }
.wh__body{ margin:0; max-width:46ch; color:var(--ink-soft); }
@keyframes wh-panel{
  0% { opacity:0; transform:translateY(9px); }
  1.9231% { opacity:0; transform:translateY(9px); }
  4.6154% { opacity:1; transform:translateY(0); }
  22.047619047619047% { opacity:1; transform:translateY(0); }
  25.0% { opacity:0; transform:translateY(-9px); }
  100% { opacity:0; transform:translateY(-9px); }
}
.wh__panel--detect{ animation-delay:0s; }
.wh__panel--delay{ animation-delay:-20.475s; }
.wh__panel--deny{ animation-delay:-13.65s; }
.wh__panel--extract{ animation-delay:-6.825s; }
.wh.is-manual .wh__ring,
.wh.is-manual .wh__up,
.wh.is-manual .wh__track-arc,
.wh.is-manual .wh__ln,
.wh.is-manual .wh__dot,
.wh.is-manual .wh__node .chev,
.wh.is-manual .wh__labw,
.wh.is-manual .wh__panel{ animation:none !important; }
.wh.is-manual .wh__labw{ color:transparent; }
.wh.is-manual .wh__track-arc{ transition:stroke-dashoffset .45s cubic-bezier(.4,0,.2,1); }
.wh.is-manual .wh__panel{ opacity:0; transform:none; }
.wh.is-manual .wh__panel.is-on{ opacity:1; pointer-events:auto; }
.wh.is-manual .wh__ln,
.wh.is-manual .wh__dot{ filter:none; transition:filter .3s ease; }
.wh.is-manual .wh__ln.is-on{ filter:drop-shadow(0 0 7px rgba(25,136,101,.75)); }
.wh.is-manual .wh__dot.is-on{ filter:drop-shadow(0 0 7px rgba(55,89,191,.75)); }
.wh.is-manual .wh__node .chev{ box-shadow:none; }
.wh.is-manual .wh__slot.is-on .chev{
  border-color:var(--accent); background:var(--accent-wash);
  box-shadow:0 0 0 4px rgba(25,136,101,.13), 0 0 16px rgba(25,136,101,.45);
}
.wh.is-manual .wh__slot--extract.is-on .chev{
  border-color:var(--royal); background:var(--navy-wash);
  box-shadow:0 0 0 4px rgba(55,89,191,.13), 0 0 16px rgba(55,89,191,.45);
}
.wh__nodebtn{
  appearance:none; border:0; background:none; padding:0; font:inherit; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:.3rem;
}
.wh__nodebtn:focus-visible{ outline:2px solid var(--royal); outline-offset:4px; border-radius:var(--r-sm); }
.wh.is-manual .wh__ring{ transition:transform .45s cubic-bezier(.4,0,.2,1); }
.wh.is-manual .wh__up{ transition:transform .45s cubic-bezier(.4,0,.2,1); }
.wh.is-manual[data-at="0"] .wh__ring{ transform:rotate(0deg); }
.wh.is-manual[data-at="0"] .wh__up{ transform:rotate(0deg); }
.wh.is-manual[data-at="0"] .wh__track-arc{ stroke-dashoffset:0.75; }
.wh.is-manual[data-at="0"] .wh__lab--0 .wh__labw--detect{ color:var(--accent-deep); }
.wh.is-manual[data-at="0"] .wh__lab--1 .wh__labw--extract{ color:var(--muted); }
.wh.is-manual[data-at="0"] .wh__lab--2 .wh__labw--deny{ color:var(--muted); }
.wh.is-manual[data-at="0"] .wh__lab--3 .wh__labw--delay{ color:var(--muted); }
.wh.is-manual[data-at="1"] .wh__ring{ transform:rotate(90deg); }
.wh.is-manual[data-at="1"] .wh__up{ transform:rotate(-90deg); }
.wh.is-manual[data-at="1"] .wh__track-arc{ stroke-dashoffset:0.5; }
.wh.is-manual[data-at="1"] .wh__lab--0 .wh__labw--delay{ color:var(--accent-deep); }
.wh.is-manual[data-at="1"] .wh__lab--1 .wh__labw--detect{ color:var(--muted); }
.wh.is-manual[data-at="1"] .wh__lab--2 .wh__labw--extract{ color:var(--muted); }
.wh.is-manual[data-at="1"] .wh__lab--3 .wh__labw--deny{ color:var(--muted); }
.wh.is-manual[data-at="2"] .wh__ring{ transform:rotate(180deg); }
.wh.is-manual[data-at="2"] .wh__up{ transform:rotate(-180deg); }
.wh.is-manual[data-at="2"] .wh__track-arc{ stroke-dashoffset:0.25; }
.wh.is-manual[data-at="2"] .wh__lab--0 .wh__labw--deny{ color:var(--accent-deep); }
.wh.is-manual[data-at="2"] .wh__lab--1 .wh__labw--delay{ color:var(--muted); }
.wh.is-manual[data-at="2"] .wh__lab--2 .wh__labw--detect{ color:var(--muted); }
.wh.is-manual[data-at="2"] .wh__lab--3 .wh__labw--extract{ color:var(--muted); }
.wh.is-manual[data-at="3"] .wh__ring{ transform:rotate(270deg); }
.wh.is-manual[data-at="3"] .wh__up{ transform:rotate(-270deg); }
.wh.is-manual[data-at="3"] .wh__track-arc{ stroke-dashoffset:0; }
.wh.is-manual[data-at="3"] .wh__lab--0 .wh__labw--extract{ color:var(--royal); }
.wh.is-manual[data-at="3"] .wh__lab--1 .wh__labw--deny{ color:var(--muted); }
.wh.is-manual[data-at="3"] .wh__lab--2 .wh__labw--delay{ color:var(--muted); }
.wh.is-manual[data-at="3"] .wh__lab--3 .wh__labw--detect{ color:var(--muted); }
@media (max-width: 900px){
  .wh{ grid-template-columns:minmax(0,1fr); gap:2.25rem; }
  .wh__wheel{ max-width:260px; }
  .wh__lab{ width:7rem; margin-left:-3.5rem; }
  .wh__lab--1{ margin-left:calc(-7rem - 1.1rem); }
  .wh__lab--3{ margin-left:1.1rem; }
  .wh__up{ width:4.6rem; height:4.6rem; margin:-2.3rem 0 0 -2.3rem; }
  .wh__node .chev{ width:1.9rem; height:1.9rem; padding:.42rem; }
  .wh__labw{ font-size:.72rem; }
  .wh__lab{ margin-top:1.9rem; }
}
@media (prefers-reduced-motion: reduce){
  .wh__ring,.wh__up,.wh__track-arc,.wh__ln,.wh__dot,
  .wh__node .chev,.wh__labw,.wh__panel{ animation:none !important; }
  .wh__ring,.wh__up{ transform:none; }
  .wh__track-arc{ stroke-dashoffset:0; }
  .wh__ln,.wh__dot{ filter:none; }
  .wh__node .chev{ box-shadow:none; }
  .wh__panels{ grid-auto-rows:auto; gap:2rem; }
  .wh__panel{ grid-area:auto; opacity:1; transform:none; pointer-events:auto; }
  .wh__labw{ color:transparent; }
  .wh__lab--0 .wh__labw--detect{ color:var(--accent-deep); }
  .wh__lab--1 .wh__labw--extract{ color:var(--muted); }
  .wh__lab--2 .wh__labw--deny{ color:var(--muted); }
  .wh__lab--3 .wh__labw--delay{ color:var(--muted); }
}
@media print{
  .wh__ring,.wh__up,.wh__track-arc,.wh__ln,.wh__dot,
  .wh__node .chev,.wh__labw,.wh__panel{ animation:none !important; }
  .wh__ln,.wh__dot{ filter:none; }
  .wh__node .chev{ box-shadow:none; }
  .wh__panels{ grid-auto-rows:auto; gap:2rem; }
  .wh__panel{ grid-area:auto; opacity:1; transform:none; }
  .wh__labw{ color:transparent; }
  .wh__lab--0 .wh__labw--detect{ color:var(--accent-deep); }
  .wh__lab--1 .wh__labw--extract{ color:var(--muted); }
  .wh__lab--2 .wh__labw--deny{ color:var(--muted); }
  .wh__lab--3 .wh__labw--delay{ color:var(--muted); }
}
.bt{
  container-type:inline-size;
  --bt-clock: 12s;
  --bt-alert:#D3202A;
  margin:0;
  border:1px solid var(--hairline);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 1px 2px rgba(20,24,31,.04), 0 12px 32px rgba(20,24,31,.05);
  padding:22px 24px 18px;
}
.bt__title{
  margin:0 0 1.1rem;
  font-size:.74rem;
  font-size:clamp(.62rem, 2.85cqi, .74rem);
  font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted);
  text-wrap:balance;
}
.bt__rows{ list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.bt__row{
  display:grid;
  grid-template-columns:3.1rem minmax(0,1fr) 4.2rem;
  align-items:center;
  gap:.75rem;
}
.bt__yr{ font-size:.86rem; font-weight:600; color:var(--muted); }
.bt__track{
  position:relative; height:14px; border-radius:7px;
  background:var(--surface-alt);
  box-shadow:inset 0 0 0 1px var(--hairline);
  overflow:hidden;
}
.bt__track i{
  display:block; height:100%; border-radius:7px;
  background:var(--navy);
  transform-origin:left center; transform:scaleX(0);
  animation-duration:var(--bt-clock);
  animation-timing-function:cubic-bezier(.22,.61,.36,1);
  animation-iteration-count:infinite;
  animation-fill-mode:both;
}
.bt__val{
  font-size:.92rem; font-weight:700; color:var(--ink); text-align:right;
  font-variant-numeric:tabular-nums;
  animation-duration:var(--bt-clock);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  animation-fill-mode:both;
}
:root[data-theme="dark"] .bt { --bt-alert:#EF5B60; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bt { --bt-alert:#EF5B60; }
}
.bt__row--latest .bt__yr,
.bt__row--latest .bt__val{ color:var(--bt-alert); }
.bt__row--latest .bt__track i{ background:var(--bt-alert); }
@keyframes bt-bar-1{
  0%              { transform:scaleX(0); }
  6.0%  { transform:scaleX(0); }
  22.0%    { transform:scaleX(1.0); }
  100%            { transform:scaleX(1.0); }
}
@keyframes bt-val-1{
  0%              { opacity:0; }
  6.0%  { opacity:0; }
  22.0%    { opacity:1; }
  100%            { opacity:1; }
}
.bt__row--1 .bt__track i{ animation-name:bt-bar-1; }
.bt__row--1 .bt__val{ animation-name:bt-val-1; }
@keyframes bt-bar-2{
  0%              { transform:scaleX(0); }
  16.0%  { transform:scaleX(0); }
  32.0%    { transform:scaleX(0.7381); }
  100%            { transform:scaleX(0.7381); }
}
@keyframes bt-val-2{
  0%              { opacity:0; }
  16.0%  { opacity:0; }
  32.0%    { opacity:1; }
  100%            { opacity:1; }
}
.bt__row--2 .bt__track i{ animation-name:bt-bar-2; }
.bt__row--2 .bt__val{ animation-name:bt-val-2; }
@keyframes bt-bar-3{
  0%              { transform:scaleX(0); }
  26.0%  { transform:scaleX(0); }
  42.0%    { transform:scaleX(0.5714); }
  100%            { transform:scaleX(0.5714); }
}
@keyframes bt-val-3{
  0%              { opacity:0; }
  26.0%  { opacity:0; }
  42.0%    { opacity:1; }
  100%            { opacity:1; }
}
.bt__row--3 .bt__track i{ animation-name:bt-bar-3; }
.bt__row--3 .bt__val{ animation-name:bt-val-3; }
@keyframes bt-bar-4{
  0%              { transform:scaleX(0); }
  36.0%  { transform:scaleX(0); }
  52.0%    { transform:scaleX(0.3452); }
  100%            { transform:scaleX(0.3452); }
}
@keyframes bt-val-4{
  0%              { opacity:0; }
  36.0%  { opacity:0; }
  52.0%    { opacity:1; }
  100%            { opacity:1; }
}
.bt__row--4 .bt__track i{ animation-name:bt-bar-4; }
.bt__row--4 .bt__val{ animation-name:bt-val-4; }
.bt__note{
  margin:1.1rem 0 0; padding-top:.85rem;
  border-top:1px solid var(--hairline);
  font-size:.88rem; font-weight:600; color:var(--bt-alert);
  animation: bt-note var(--bt-clock) linear infinite both;
}
.bt__src{ margin:.3rem 0 0; font-size:.75rem; color:var(--muted); }
@keyframes bt-note{
  0%      { opacity:0; }
  52.0%  { opacity:0; }
  58.0%  { opacity:1; }
  100%    { opacity:1; }
}
@media (prefers-reduced-motion: reduce), print{
  .bt__track i,.bt__val,.bt__note{ animation:none !important; opacity:1; }
  .bt__row--1 .bt__track i{ transform:scaleX(1.0); }
  .bt__row--2 .bt__track i{ transform:scaleX(0.7381); }
  .bt__row--3 .bt__track i{ transform:scaleX(0.5714); }
  .bt__row--4 .bt__track i{ transform:scaleX(0.3452); }
}
@media (max-width: 520px){
  .bt{ padding:18px 16px 14px; }
  .bt__row{ grid-template-columns:2.6rem minmax(0,1fr) 3.6rem; gap:.5rem; }
}
:root{ --hero-clock: 32s; --cap-solo: 2.9s; }
.h1-glow{ display:flex; flex-wrap:nowrap; gap:0 .3em; white-space:nowrap; }
.hero .h1-glow{ font-size:clamp(1.35rem, 2.4vw, 2rem); }
@media (max-width: 1200px){
  .h1-glow{ flex-wrap:wrap; white-space:normal; }
  .hero .h1-glow{ font-size:clamp(1.5rem, 5.6vw, 2.24rem); }
}
.h1-glow .gw{
  color:var(--ink);
  animation: hero-colour var(--hero-clock) linear infinite both;
}
.h1-glow .gw--1{ --g:25,136,101; animation-delay:0s; }
.h1-glow .gw--2{ --g:25,136,101; animation-delay:-24s; }
.h1-glow .gw--3{ --g:25,136,101; animation-delay:-16s; }
.h1-glow .gw--4{ --g:55,89,191; animation-delay:-8s; }
@keyframes hero-colour{
  0%, 1.5% { color:var(--ink); }
  2.5%, 22% { color:rgb(var(--g)); }
  23%, 100% { color:var(--ink); }
}
@supports ((-webkit-background-clip:text) or (background-clip:text)) and (color:color-mix(in srgb, red 50%, white)){
  .h1-glow .gw{
    background-image:
      linear-gradient(100deg, transparent 0 45%, color-mix(in srgb, rgb(var(--g)) 60%, white) 48%,
        color-mix(in srgb, rgb(var(--g)) 30%, white) 50%, color-mix(in srgb, rgb(var(--g)) 60%, white) 52%, transparent 55% 100%),
      linear-gradient(180deg, color-mix(in srgb, rgb(var(--g)) var(--mt-top, 55%), white) 0%,
        color-mix(in srgb, rgb(var(--g)) var(--mt-mid, 100%), white) 46%,
        color-mix(in srgb, rgb(var(--g)) var(--mt-low, 72%), var(--mt-shade, black)) 54%,
        color-mix(in srgb, rgb(var(--g)) var(--mt-btm, 82%), white) 100%);
    background-size:300% 100%, 100% 100%;
    background-repeat:no-repeat;
    -webkit-background-clip:text; background-clip:text;
    animation-name: hero-metal, hero-sweep;
  }
}
@keyframes hero-metal{
  0%, 1.5% { color:var(--ink); }
  2.5%, 22% { color:transparent; }
  23%, 100% { color:var(--ink); }
}
@keyframes hero-sweep{
  0%, 1.5% { background-position:100% 0, 0 0; }
  6% { background-position:0% 0, 0 0; }
  6.01%, 100% { background-position:100% 0, 0 0; }
}
.cap{
  position:relative;
  border:1px solid var(--hairline);
  border-radius:14px;
  background:var(--surface);
  box-shadow:0 1px 2px rgba(20,24,31,.04), 0 12px 32px rgba(20,24,31,.05);
  overflow:hidden;
}
.cap__tabs{ display:flex; border-bottom:1px solid var(--hairline); background:var(--surface-alt); }
.cap__tab{
  position:relative; flex:1 1 0;
  appearance:none; border:0; background:none; cursor:pointer;
  font:inherit; font-size:.92rem; font-weight:600; letter-spacing:.01em;
  color:var(--muted); opacity:.8;
  padding:13px 6px 12px;
  transition:opacity .18s ease, color .18s ease;
  animation: cap-tab var(--hero-clock) linear infinite both;
}
.cap__tab + .cap__tab{ box-shadow:inset 1px 0 0 var(--hairline); }
.cap__tab:hover{ opacity:1; }
.cap__tab:focus-visible{ outline:2px solid var(--royal); outline-offset:-3px; }
.cap__tab::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:var(--accent); transform-origin:left center; transform:scaleX(0);
  animation-duration: var(--hero-clock);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
.cap__tab--4::after{ background:var(--royal); }
@keyframes cap-tab{
  0%     { color:var(--muted); opacity:.8; }
  0.75% { color:var(--accent-deep); opacity:1; }
  24.25% { color:var(--accent-deep); opacity:1; }
  25%    { color:var(--muted); opacity:.8; }
  100%   { color:var(--muted); opacity:.8; }
}
.cap__tab--4{ animation-name: cap-tab-4; }
@keyframes cap-tab-4{
  0%     { color:var(--muted); opacity:.8; }
  0.75% { color:var(--royal); opacity:1; }
  24.25% { color:var(--royal); opacity:1; }
  25%    { color:var(--muted); opacity:.8; }
  100%   { color:var(--muted); opacity:.8; }
}
.cap__tab--1{ animation-delay:0s; }
.cap__tab--2{ animation-delay:-24s; }
.cap__tab--3{ animation-delay:-16s; }
.cap__tab--4{ animation-delay:-8s; }
@keyframes cap-ul-1{
  0%        { transform:scaleX(0); }
  0.0%     { transform:scaleX(0); }
  25.0%     { transform:scaleX(1); }
  25.01% { transform:scaleX(0); }
  100%      { transform:scaleX(0); }
}
.cap__tab--1::after{ animation-name:cap-ul-1; }
@keyframes cap-ul-2{
  0%        { transform:scaleX(0); }
  25.0%     { transform:scaleX(0); }
  50.0%     { transform:scaleX(1); }
  50.01% { transform:scaleX(0); }
  100%      { transform:scaleX(0); }
}
.cap__tab--2::after{ animation-name:cap-ul-2; }
@keyframes cap-ul-3{
  0%        { transform:scaleX(0); }
  50.0%     { transform:scaleX(0); }
  75.0%     { transform:scaleX(1); }
  75.01% { transform:scaleX(0); }
  100%      { transform:scaleX(0); }
}
.cap__tab--3::after{ animation-name:cap-ul-3; }
@keyframes cap-ul-4{
  0%        { transform:scaleX(0); }
  75.0%     { transform:scaleX(0); }
  100.0%     { transform:scaleX(1); }
  100.01% { transform:scaleX(0); }
  100%      { transform:scaleX(0); }
}
.cap__tab--4::after{ animation-name:cap-ul-4; }
.cap__stage{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  padding:24px 28px;
}
.cap__panel{
  grid-area:1 / 1;
  position:relative;
  display:flex; flex-direction:column;
  opacity:0; pointer-events:none;
  animation: cap-panel var(--hero-clock) linear infinite both;
}
@keyframes cap-panel{
  0%       { opacity:0; transform:translateY(7px); }
  1.3125%   { opacity:1; transform:translateY(0); }
  23.875%   { opacity:1; transform:translateY(0); }
  25%      { opacity:0; transform:translateY(-7px); }
  100%     { opacity:0; transform:translateY(-7px); }
}
.cap__q{ margin:0; font-size:1rem; line-height:1.5; color:var(--ink-soft); }
.cap__ycrow{
  flex:1 1 auto; display:flex; align-items:center; margin:.38rem 0 0;
  min-height:3.25rem;
}
.cap__yc{
  position:absolute; left:0; top:50%;
  display:inline-block; margin:0;
  font-size:1.3rem; line-height:1.25; font-weight:650; color:var(--accent-deep);
  animation: cap-yc var(--hero-clock) linear infinite both;
}
.cap__panel--extract .cap__yc{ color:var(--royal); }
@keyframes cap-yc{
  0%       { opacity:0; transform:translateY(calc(-50% + 4px)); }
  5.625%   { opacity:0; transform:translateY(calc(-50% + 4px)); }
  7.125%   { opacity:1; transform:translateY(-50%); }
  23.875%   { opacity:1; transform:translateY(-50%); }
  25%      { opacity:0; transform:translateY(-50%); }
  100%     { opacity:0; transform:translateY(-50%); }
}
.cap__figrow{
  display:flex; align-items:baseline; flex-wrap:nowrap;
  column-gap:.55rem;
  margin:.9rem 0 0;
}
.cap__big{
  display:block; margin:0;
  font-size:2.35rem; line-height:1.04; letter-spacing:-.02em; font-weight:700;
  color:var(--accent-deep);
}
.cap__panel--extract .cap__big{ color:var(--royal); }
.cap__stat{
  margin:0; min-width:0; flex:0 1 auto;
  font-size:.9rem; line-height:1.35; color:var(--ink);
  white-space:nowrap;
}
.cap__big, .cap__stat{ animation: cap-reveal var(--hero-clock) linear infinite both; }
@keyframes cap-reveal{
  0%       { opacity:0; transform:translateY(6px); }
  11.75%   { opacity:0; transform:translateY(6px); }
  13.625%   { opacity:1; transform:translateY(0); }
  23.875%   { opacity:1; transform:translateY(0); }
  25%      { opacity:0; }
  100%     { opacity:0; }
}
.cap__panel--detect,
.cap__panel--detect .cap__yc,
.cap__panel--detect .cap__big,
.cap__panel--detect .cap__stat{ animation-delay:0s; }
.cap__panel--delay,
.cap__panel--delay .cap__yc,
.cap__panel--delay .cap__big,
.cap__panel--delay .cap__stat{ animation-delay:-24s; }
.cap__panel--deny,
.cap__panel--deny .cap__yc,
.cap__panel--deny .cap__big,
.cap__panel--deny .cap__stat{ animation-delay:-16s; }
.cap__panel--extract,
.cap__panel--extract .cap__yc,
.cap__panel--extract .cap__big,
.cap__panel--extract .cap__stat{ animation-delay:-8s; }
.cap__icon{
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:66px; height:66px; overflow:visible;
}
.cap__icon *{ transform-box:view-box; }
@keyframes ic-detect-ring{
  0% { r:6px; opacity:.95; }
  0.0% { r:6px; opacity:.95; }
  3.165% { r:19px; opacity:0; }
  4.7375% { r:19px; opacity:0; }
  4.75% { r:6px; opacity:.95; }
  7.915% { r:19px; opacity:0; }
  9.485% { r:19px; opacity:0; }
  9.4975% { r:6px; opacity:.95; }
  12.6625% { r:19px; opacity:0; }
  14.235% { r:19px; opacity:0; }
  14.2475% { r:6px; opacity:.95; }
  17.4125% { r:19px; opacity:0; }
  18.9825% { r:19px; opacity:0; }
  18.995% { r:6px; opacity:.95; }
  22.1625% { r:19px; opacity:0; }
  23.7325% { r:19px; opacity:0; }
  23.745% { r:6px; opacity:.95; }
  25.0% { r:19px; opacity:0; }
  100% { r:19px; opacity:0; }
}
@keyframes ic-detect-ring-solo{
  0% { r:6px; opacity:.95; }
  0.0% { r:6px; opacity:.95; }
  7.82% { r:19px; opacity:0; }
  14.46% { r:19px; opacity:0; }
  14.51% { r:6px; opacity:.95; }
  27.87% { r:19px; opacity:0; }
  34.5% { r:19px; opacity:0; }
  34.55% { r:6px; opacity:.95; }
  47.92% { r:19px; opacity:0; }
  54.55% { r:19px; opacity:0; }
  54.61% { r:6px; opacity:.95; }
  67.97% { r:19px; opacity:0; }
  74.6% { r:19px; opacity:0; }
  74.65% { r:6px; opacity:.95; }
  88.02% { r:19px; opacity:0; }
  94.65% { r:19px; opacity:0; }
  94.7% { r:6px; opacity:.95; }
  100.0% { r:19px; opacity:0; }
  100% { r:19px; opacity:0; }
}
@keyframes ic-detect-dot{
  0% { opacity:.3; }
  0.0% { opacity:.3; }
  2.5% { opacity:1; }
  6.5% { opacity:.5; }
  10.0% { opacity:1; }
  25.0% { opacity:.55; }
  100% { opacity:.55; }
}
@keyframes ic-detect-dot-solo{
  0% { opacity:.3; }
  0.0% { opacity:.3; }
  5.01% { opacity:1; }
  21.9% { opacity:.5; }
  36.68% { opacity:1; }
  100.0% { opacity:.55; }
  100% { opacity:.55; }
}
@keyframes ic-detect-blip{
  0% { opacity:0; transform:translate(-19px,-7px); }
  0.0% { opacity:0; transform:translate(-19px,-7px); }
  3.0% { opacity:1; transform:translate(-15.2px,-7px); }
  10.0% { opacity:1; transform:translate(-4px,-7px); }
  25.0% { opacity:1; transform:translate(-4px,-7px); }
  100% { opacity:1; transform:translate(-4px,-7px); }
}
@keyframes ic-detect-blip-solo{
  0% { opacity:0; transform:translate(-19px,-7px); }
  0.0% { opacity:0; transform:translate(-19px,-7px); }
  7.12% { opacity:1; transform:translate(-15.2px,-7px); }
  36.68% { opacity:1; transform:translate(-4px,-7px); }
  100.0% { opacity:1; transform:translate(-4px,-7px); }
  100% { opacity:1; transform:translate(-4px,-7px); }
}
@keyframes ic-detect-halo{
  0% { opacity:0; transform:scale(.4); }
  0.0% { opacity:0; transform:scale(.4); }
  8.5% { opacity:0; transform:scale(.4); }
  10.0% { opacity:.75; transform:scale(1); }
  14.0% { opacity:0; transform:scale(1.9); }
  25.0% { opacity:0; transform:scale(1.9); }
  100% { opacity:0; transform:scale(1.9); }
}
@keyframes ic-detect-halo-solo{
  0% { opacity:0; transform:scale(.4); }
  0.0% { opacity:0; transform:scale(.4); }
  30.34% { opacity:0; transform:scale(.4); }
  36.68% { opacity:.75; transform:scale(1); }
  53.56% { opacity:0; transform:scale(1.9); }
  100.0% { opacity:0; transform:scale(1.9); }
  100% { opacity:0; transform:scale(1.9); }
}
@keyframes ic-detect-core{
  0% { fill:rgb(211,32,42); }
  0.0% { fill:rgb(211,32,42); }
  10.0% { fill:rgb(211,32,42); }
  11.5% { fill:rgb(55,89,191); }
  25.0% { fill:rgb(55,89,191); }
  100% { fill:rgb(55,89,191); }
}
@keyframes ic-detect-core-solo{
  0% { fill:rgb(211,32,42); }
  0.0% { fill:rgb(211,32,42); }
  36.68% { fill:rgb(211,32,42); }
  43.01% { fill:rgb(55,89,191); }
  100.0% { fill:rgb(55,89,191); }
  100% { fill:rgb(55,89,191); }
}
.ic-detect .ring1,
.ic-detect .ring2{ animation: ic-detect-ring var(--hero-clock) linear infinite both; }
.ic-detect .ring2{ animation-delay:0.76s; }
.ic-detect .dot { animation: ic-detect-dot  var(--hero-clock) linear infinite both; }
.ic-detect .blip{ animation: ic-detect-blip var(--hero-clock) linear infinite both; }
.ic-detect .core{ animation: ic-detect-core var(--hero-clock) linear infinite both; }
.ic-detect .blip-halo{ transform-origin:22px 15px; animation: ic-detect-halo var(--hero-clock) linear infinite both; }
@keyframes ic-delay-hand{
  0% { transform:rotate(0deg); }
  25.0% { transform:rotate(0deg); }
  32.5% { transform:rotate(-84deg); }
  35.5% { transform:rotate(-84deg); }
  45.5% { transform:rotate(276deg); }
  50.0% { transform:rotate(276deg); }
  100% { transform:rotate(276deg); }
}
@keyframes ic-delay-hand-solo{
  0% { transform:rotate(0deg); }
  0.0% { transform:rotate(0deg); }
  26.12% { transform:rotate(-84deg); }
  38.79% { transform:rotate(-84deg); }
  81.0% { transform:rotate(276deg); }
  100.0% { transform:rotate(276deg); }
  100% { transform:rotate(276deg); }
}
@keyframes ic-delay-arc{
  0% { stroke-dashoffset:1; }
  25.0% { stroke-dashoffset:1; }
  35.5% { stroke-dashoffset:1; }
  45.5% { stroke-dashoffset:.35; }
  50.0% { stroke-dashoffset:.35; }
  100% { stroke-dashoffset:.35; }
}
@keyframes ic-delay-arc-solo{
  0% { stroke-dashoffset:1; }
  0.0% { stroke-dashoffset:1; }
  38.79% { stroke-dashoffset:1; }
  81.0% { stroke-dashoffset:.35; }
  100.0% { stroke-dashoffset:.35; }
  100% { stroke-dashoffset:.35; }
}
@keyframes ic-delay-plus{
  0% { opacity:0; transform:translateY(3px) scale(.7); }
  25.0% { opacity:0; transform:translateY(3px) scale(.7); }
  35.0% { opacity:0; transform:translateY(3px) scale(.7); }
  38.0% { opacity:1; transform:translateY(0) scale(1); }
  50.0% { opacity:1; transform:translateY(0) scale(1); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes ic-delay-plus-solo{
  0% { opacity:0; transform:translateY(3px) scale(.7); }
  0.0% { opacity:0; transform:translateY(3px) scale(.7); }
  36.68% { opacity:0; transform:translateY(3px) scale(.7); }
  49.34% { opacity:1; transform:translateY(0) scale(1); }
  100.0% { opacity:1; transform:translateY(0) scale(1); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
.ic-delay .hand{ transform-origin:20px 24px; animation: ic-delay-hand var(--hero-clock) linear infinite both; }
.ic-delay .arc { stroke-dasharray:1; stroke-dashoffset:1; animation: ic-delay-arc var(--hero-clock) linear infinite both; }
.ic-delay .plus{ transform-origin:35.5px 10px; animation: ic-delay-plus var(--hero-clock) linear infinite both; }
@keyframes ic-deny-sign{
  0% { opacity:0; transform:scale(.55) rotate(-14deg); }
  50.0% { opacity:0; transform:scale(.55) rotate(-14deg); }
  53.5% { opacity:1; transform:scale(1.1) rotate(4deg); }
  56.0% { opacity:1; transform:scale(1) rotate(0deg); }
  75.0% { opacity:1; transform:scale(1) rotate(0deg); }
  100% { opacity:1; transform:scale(1) rotate(0deg); }
}
@keyframes ic-deny-sign-solo{
  0% { opacity:0; transform:scale(.55) rotate(-14deg); }
  0.0% { opacity:0; transform:scale(.55) rotate(-14deg); }
  9.23% { opacity:1; transform:scale(1.1) rotate(4deg); }
  19.79% { opacity:1; transform:scale(1) rotate(0deg); }
  100.0% { opacity:1; transform:scale(1) rotate(0deg); }
  100% { opacity:1; transform:scale(1) rotate(0deg); }
}
@keyframes ic-deny-word{
  0% { opacity:0; }
  50.0% { opacity:0; }
  55.0% { opacity:0; }
  57.5% { opacity:1; }
  75.0% { opacity:1; }
  100% { opacity:1; }
}
@keyframes ic-deny-word-solo{
  0% { opacity:0; }
  0.0% { opacity:0; }
  15.57% { opacity:0; }
  26.12% { opacity:1; }
  100.0% { opacity:1; }
  100% { opacity:1; }
}
.ic-deny .sign{ transform-origin:22px 22px; animation: ic-deny-sign var(--hero-clock) linear infinite both; }
.ic-deny .word{ animation: ic-deny-word var(--hero-clock) linear infinite both; }
@keyframes ic-extract-l0{
  0% { stroke-dashoffset:1; }
  75.0% { stroke-dashoffset:1; }
  82.5% { stroke-dashoffset:1; }
  86.5% { stroke-dashoffset:0; }
  100.0% { stroke-dashoffset:0; }
  100% { stroke-dashoffset:0; }
}
@keyframes ic-extract-l0-solo{
  0% { stroke-dashoffset:1; }
  0.0% { stroke-dashoffset:1; }
  26.12% { stroke-dashoffset:1; }
  43.01% { stroke-dashoffset:0; }
  100.0% { stroke-dashoffset:0; }
  100% { stroke-dashoffset:0; }
}
.ic-extract .l0{ stroke-dasharray:1; stroke-dashoffset:1; animation: ic-extract-l0 var(--hero-clock) linear infinite both; }
@keyframes ic-extract-l1{
  0% { stroke-dashoffset:1; }
  75.0% { stroke-dashoffset:1; }
  86.5% { stroke-dashoffset:1; }
  90.5% { stroke-dashoffset:0; }
  100.0% { stroke-dashoffset:0; }
  100% { stroke-dashoffset:0; }
}
@keyframes ic-extract-l1-solo{
  0% { stroke-dashoffset:1; }
  0.0% { stroke-dashoffset:1; }
  43.01% { stroke-dashoffset:1; }
  59.89% { stroke-dashoffset:0; }
  100.0% { stroke-dashoffset:0; }
  100% { stroke-dashoffset:0; }
}
.ic-extract .l1{ stroke-dasharray:1; stroke-dashoffset:1; animation: ic-extract-l1 var(--hero-clock) linear infinite both; }
@keyframes ic-extract-l2{
  0% { stroke-dashoffset:1; }
  75.0% { stroke-dashoffset:1; }
  90.5% { stroke-dashoffset:1; }
  94.0% { stroke-dashoffset:0; }
  100.0% { stroke-dashoffset:0; }
  100% { stroke-dashoffset:0; }
}
@keyframes ic-extract-l2-solo{
  0% { stroke-dashoffset:1; }
  0.0% { stroke-dashoffset:1; }
  59.89% { stroke-dashoffset:1; }
  74.67% { stroke-dashoffset:0; }
  100.0% { stroke-dashoffset:0; }
  100% { stroke-dashoffset:0; }
}
.ic-extract .l2{ stroke-dasharray:1; stroke-dashoffset:1; animation: ic-extract-l2 var(--hero-clock) linear infinite both; }
@keyframes ic-extract-pen{
  0% { opacity:0; transform:translate(0px,0px); }
  75.0% { opacity:0; transform:translate(0px,0px); }
  81.5% { opacity:1; transform:translate(0px,0px); }
  86.5% { opacity:1; transform:translate(0px,6px); }
  90.5% { opacity:1; transform:translate(-9px,12px); }
  94.5% { opacity:0; transform:translate(-9px,12px); }
  100.0% { opacity:0; transform:translate(-9px,12px); }
  100% { opacity:0; transform:translate(-9px,12px); }
}
@keyframes ic-extract-pen-solo{
  0% { opacity:0; transform:translate(0px,0px); }
  0.0% { opacity:0; transform:translate(0px,0px); }
  21.9% { opacity:1; transform:translate(0px,0px); }
  43.01% { opacity:1; transform:translate(0px,6px); }
  59.89% { opacity:1; transform:translate(-9px,12px); }
  76.78% { opacity:0; transform:translate(-9px,12px); }
  100.0% { opacity:0; transform:translate(-9px,12px); }
  100% { opacity:0; transform:translate(-9px,12px); }
}
.ic-extract .pen{ animation: ic-extract-pen var(--hero-clock) linear infinite both; }
.ic-extract .pen-bar{ animation: ic-extract-blink .8s steps(1,end) infinite; }
@keyframes ic-extract-blink{ 0%,54%{opacity:1} 55%,100%{opacity:.18} }
.cap.is-manual .cap__panel.is-on .ic-detect .ring1, .cap.is-manual .cap__panel.is-on .ic-detect .ring2{ animation: ic-detect-ring-solo var(--cap-solo) linear infinite both !important; }
.cap.is-manual .cap__panel.is-on .ic-detect .dot{ animation: ic-detect-dot-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-detect .blip{ animation: ic-detect-blip-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-detect .blip-halo{ animation: ic-detect-halo-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-detect .core{ animation: ic-detect-core-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-delay .hand{ animation: ic-delay-hand-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-delay .arc{ animation: ic-delay-arc-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-delay .plus{ animation: ic-delay-plus-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-deny .sign{ animation: ic-deny-sign-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-deny .word{ animation: ic-deny-word-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-extract .l0{ animation: ic-extract-l0-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-extract .l1{ animation: ic-extract-l1-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-extract .l2{ animation: ic-extract-l2-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-extract .pen{ animation: ic-extract-pen-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .ic-extract .pen-bar{ animation: ic-extract-blink .8s steps(1,end) infinite !important; }
.cap__foot{
  border-top:1px solid var(--hairline);
  background:var(--surface-alt);
  padding:11px 28px 12px;
  font-size:.8rem; line-height:1.45; letter-spacing:.01em;
  color:var(--muted);
}
.cap.is-manual .cap__tab,
.cap.is-manual .cap__tab::after,
.cap.is-manual .cap__panel,
.cap.is-manual .cap__yc,
.cap.is-manual .cap__big,
.cap.is-manual .cap__stat,
.cap.is-manual .cap__icon *{ animation:none !important; }
.cap.is-manual .cap__tab{ color:var(--muted); opacity:.8; }
.cap.is-manual .cap__tab[aria-selected="true"]{ color:var(--accent-deep); opacity:1; }
.cap.is-manual .cap__tab--4[aria-selected="true"]{ color:var(--royal); }
.cap.is-manual .cap__tab[aria-selected="true"]::after{ transform:scaleX(1); }
.cap.is-manual .cap__panel{ opacity:0; transform:none; }
.cap.is-manual .cap__panel.is-on{ opacity:1; pointer-events:auto; }
.cap.is-manual .cap__panel.is-on .cap__yc{
  animation: cap-yc-solo var(--cap-solo) linear both !important; }
.cap.is-manual .cap__panel.is-on .cap__big,
.cap.is-manual .cap__panel.is-on .cap__stat{
  animation: cap-reveal-solo var(--cap-solo) linear both !important; }
@keyframes cap-yc-solo{
  0%     { opacity:0; transform:translateY(calc(-50% + 4px)); }
  18.21% { opacity:0; transform:translateY(calc(-50% + 4px)); }
  24.54% { opacity:1; transform:translateY(-50%); }
  100%   { opacity:1; transform:translateY(-50%); }
}
@keyframes cap-reveal-solo{
  0%     { opacity:0; transform:translateY(6px); }
  44.06% { opacity:0; transform:translateY(6px); }
  51.98% { opacity:1; transform:translateY(0); }
  100%   { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  .h1-glow .gw{ animation:none; color:var(--ink); background:none; }
  .cap__tab,.cap__tab::after,.cap__panel,.cap__yc,.cap__big,.cap__stat,
  .cap__icon *{ animation:none !important; }
  .cap__tab{ color:var(--muted); opacity:.8; }
  .cap__tab--1{ color:var(--accent-deep); opacity:1; }
  .cap__tab--1::after{ transform:scaleX(1); }
  .cap__panel{ opacity:0; }
  .cap__panel--detect{ opacity:1; transform:none; }
  .cap__big,.cap__stat{ opacity:1; transform:none; }
  .cap__yc{ opacity:1; transform:translateY(-50%); }
  .ic-detect .ring1,.ic-detect .ring2{ opacity:.3; }
  .ic-detect .blip{ opacity:1; transform:translate(-4px,-7px); }
  .ic-detect .core{ fill:var(--royal); }
  .ic-detect .blip-halo{ opacity:0; }
  .ic-delay .arc{ stroke-dashoffset:.35; }
  .ic-delay .hand{ transform:rotate(276deg); }
  .ic-delay .plus{ opacity:1; }
  .ic-deny .sign,.ic-deny .word{ opacity:1; transform:none; }
  .ic-extract .l0,.ic-extract .l1,.ic-extract .l2{ stroke-dashoffset:0; }
  .ic-extract .pen,.ic-extract .pen-bar{ opacity:0; }
  .cap.is-manual .cap__panel.is-on{ opacity:1; }
  .cap.is-manual .cap__panel.is-on .cap__big,
  .cap.is-manual .cap__panel.is-on .cap__stat{ animation:none !important; opacity:1; transform:none; }
  .cap.is-manual .cap__panel.is-on .cap__yc{ animation:none !important; opacity:1; transform:translateY(-50%); }
}
@media print{
  .h1-glow .gw{ animation:none; color:var(--ink); background:none; }
  .cap__tab,.cap__tab::after,.cap__panel,.cap__yc,.cap__big,.cap__stat{ animation:none !important; }
  .cap__panel{ opacity:0; }
  .cap__panel--detect{ opacity:1; transform:none; }
  .cap__big,.cap__stat{ opacity:1; transform:none; }
  .cap__yc{ opacity:1; transform:translateY(-50%); }
  .cap__icon{ display:none; }
}
@media (min-width: 1201px) and (max-width: 1391px){
  .cap__stat{ font-size:clamp(.75rem, 1.02vw, .9rem); }
}
@media (max-width: 760px){
  .cap__tab{ font-size:.85rem; padding:12px 4px 11px; }
  .cap__big{ font-size:2.05rem; }
  .cap__icon{ width:52px; height:52px; }
}
@media (max-width: 560px){
  .cap__stat{ white-space:normal; }
}
@media (prefers-reduced-motion: reduce){
  .cap.is-manual .cap__panel.is-on .ic-detect .ring1, .cap.is-manual .cap__panel.is-on .ic-detect .ring2{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-detect .dot{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-detect .blip{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-detect .blip-halo{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-detect .core{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-delay .hand{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-delay .arc{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-delay .plus{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-deny .sign{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-deny .word{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-extract .l0{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-extract .l1{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-extract .l2{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-extract .pen{ animation:none !important; }
  .cap.is-manual .cap__panel.is-on .ic-extract .pen-bar{ animation:none !important; }
}
.cap__panel .cap__q{ color: var(--ink); font-weight: 650; font-size: 1.06rem; }
@media (min-width: 1201px) and (max-width: 1391px){
  .cap__panel .cap__q{ font-size: clamp(.88rem, calc(1.55vw - 3.68px), 1.06rem); }
}
.hero__sub {
  font-size: clamp(.95rem, 1.35vw, 1.05rem);
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 100%;
  margin-bottom: 2rem;
}
.hero__tag {
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 1.4rem;
}
.inline-capture { max-width: 560px; }
.inline-capture__row {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.inline-capture__lead {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--ink-soft);
}
.inline-capture__row .btn { flex: none; }
@media (max-width: 560px) {
  .inline-capture__row { flex-direction: column; align-items: stretch; gap: .85rem; }
  .inline-capture .btn { width: 100%; min-height: 2.75rem; }
}
@media (max-width: 560px) {
  .field input,
  .field textarea { font-size: 16px; }
}
main p a:not([class]),
main li a:not([class]) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.is-offscreen, .is-offscreen * { animation-play-state: paused !important; }
.ms:hover .ms__track, .ms:focus-within .ms__track { animation-play-state: paused; }
@media (max-width: 1080px) { html.nav-open { overflow: hidden; } }
.ms__viewport:focus-visible { outline: 2px solid var(--royal); outline-offset: 2px; }
.page-404__links { margin-top: 1.25rem; color: var(--ink-soft); }
.form-done__alt { margin-top: .75rem; font-size: .95rem; }
@media print {
  .site-footer__grid, .nav-toggle, .modal, .skip-link { display: none !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; }
}
.grid { display: grid; gap: 1.25rem; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1080px) { .grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .grid--3 { grid-template-columns: 1fr; } .grid--2 { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .grid--4 { grid-template-columns: 1fr; } }
.card {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 1.9rem 1.75rem;
}
.card h3 { margin-bottom: .5rem; }
.card p { color: var(--muted); margin-bottom: 0; font-size: .97rem; }
.card--chev { display: flex; flex-direction: column; gap: .5rem; }
.card__row { display: flex; align-items: flex-start; gap: .85rem; }
.card__row > div { min-width: 0; flex: 1 1 auto; }
.card--chev h3 {
  font-size: clamp(.95rem, 1.15vw, 1.06rem);
}
.card--chev .step {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
}
.card--chev.is-accent { border-color: var(--accent); background: var(--accent-wash); }
.card--chev.is-accent .step { color: var(--accent-deep); }
.card--chev.is-accent p { color: var(--ink-soft); }
.card--chev.is-navy { border-color: var(--navy-line); background: var(--navy-wash); }
.card--chev.is-navy .step { color: var(--navy); }
.card--chev.is-navy p { color: var(--ink-soft); }
.chev .chev-navy { stroke: var(--navy); fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.chev .chev-dot-navy { fill: var(--navy); }
.stats-label {
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink);
  margin: 0 0 .9rem;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 3rem;
}
@media (max-width: 900px) { .stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .stats { grid-template-columns: 1fr; } }
.stat {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  padding: .85rem 1.35rem;
  text-align: center;
}
.stat .stat__value {
  display: block;
  font-size: clamp(2rem, 4vw, 2.7rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1;
  color: var(--accent);
  margin-bottom: .15rem;
}
.stats--slab .stat {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(158deg, #1B222C 0%, #151B23 58%, #121820 100%);
  border: 1px solid rgba(255,255,255,.055);
  border-radius: var(--r-lg);
  padding: 1.5rem 1.4rem 1.6rem;
  text-align: left;
  min-height: 9.5rem;
  display: flex;
  flex-direction: column;
}
.stats--slab .stat::after {
  content: "";
  position: absolute;
  right: -28%;
  bottom: -52%;
  width: 78%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(47,201,140,.30) 0%, rgba(47,201,140,0) 68%);
  pointer-events: none;
  z-index: -1;
}
.stats--slab .stat--extract::after {
  background: radial-gradient(circle, rgba(117,147,242,.32) 0%, rgba(117,147,242,0) 68%);
}
.stats--slab .stat__word {
  display: block;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #9AA7B4;
  margin-bottom: .9rem;
}
.stats--slab .stat__value {
  display: block;
  margin-top: auto;
  font-size: clamp(2.1rem, 3.4vw, 3rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1;
  color: #FFFFFF;
}
.stat__value--pending {
  height: clamp(2rem, 4vw, 2.7rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.stat__value--pending::before {
  content: '';
  display: block;
  width: 58px;
  height: 10px;
  border-radius: 5px;
  background: var(--hairline);
}
.stat__label {
  display: block;
  font-size: .92rem;
  color: var(--muted);
  line-height: 1.35;
}
.vendor-row {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 2.2rem;
  align-items: center;
  justify-content: flex-start;
  padding-block: 1.5rem;
  border-block: 1px solid var(--hairline);
}
.vendor-row__item {
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink);
  white-space: nowrap;
}
.vendor-caption {
  font-size: .82rem;
  color: var(--muted);
  margin-top: 1rem;
}
.meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 2rem;
  margin-top: 1.75rem;
  font-size: .93rem;
  color: var(--muted);
}
.meta-line strong { color: var(--ink); font-weight: 600; }
.split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.split--center { align-items: center; }
.split--wide { grid-template-columns: minmax(0, 1.32fr) minmax(0, .68fr); }
@media (max-width: 900px) { .split--wide { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; } }
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li {
  position: relative;
  padding-left: 1.85rem;
  margin-bottom: 1rem;
  color: var(--muted);
}
.checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .52em;
  width: 11px;
  height: 7px;
  border-left: 2.5px solid var(--accent);
  border-bottom: 2.5px solid var(--accent);
  transform: rotate(-45deg);
  border-radius: 1px;
}
.checklist strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: .15rem; }
.checklist li.ck--accent strong { color: var(--accent); }
.checklist li.ck--royal  strong { color: var(--royal); }
.head-art {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: end;
  gap: 0;
  margin-bottom: clamp(2.25rem, 4vw, 3.25rem);
}
.head-art .section-head { max-width: none; margin-bottom: 0; padding-right: 2.75rem; }
.head-art__media { transform: translateY(4.92%); }
.scene-1 {
  width: 100%;
  aspect-ratio: 553 / 404;
  background: none;
  border: 0;
}
.scene-1 svg { display: block; width: 100%; height: 100%; }
.scene-1 text { font-family: var(--font); }
@media (max-width: 1080px) {
  .head-art { grid-template-columns: 1fr; }
  .head-art.head-art--wide { grid-template-columns: 1fr; }
  .head-art .section-head { padding-right: 0; max-width: 66ch; }
  .head-art__media { display: none; transform: none; }
}
.boundary {
  border: 1px solid var(--hairline-str);
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  padding: 1.9rem 2rem;
  background: var(--surface);
}
.boundary h3 { margin-bottom: .7rem; }
.boundary p { color: var(--muted); }
.faq { border-top: 1px solid var(--hairline); }
.faq details {
  border-bottom: 1px solid var(--hairline);
}
.faq summary {
  cursor: pointer;
  list-style: none;
  padding: 1.35rem 3rem 1.35rem 0;
  position: relative;
  font-weight: 600;
  font-size: 1.04rem;
  color: var(--ink);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: '';
  position: absolute;
  right: .55rem;
  top: 1.75rem;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(45deg);
  transition: transform .18s ease;
}
.faq details[open] summary::after { transform: rotate(-135deg); top: 1.95rem; }
.faq summary:hover { color: var(--accent-deep); }
.faq__body { padding: 0 3rem 1.6rem 0; color: var(--muted); }
.faq__body p:last-child { margin-bottom: 0; }
.faq__points { list-style: none; margin: .6rem 0 0; padding: 0; }
.faq__points li { list-style: none; padding-left: 1.6rem; text-indent: -1.6rem; }
.faq__points li::marker { content: none; }
.faq__points li + li { margin-top: .5rem; }
.faq__body a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 2px; }
.faq__body a:hover { color: var(--ink); }
.person {
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 1.9rem 1.75rem;
  background: var(--surface);
}
.person__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--accent-wash);
  border: 1px solid var(--hairline);
  display: grid;
  place-items: center;
  font-weight: 700;
  color: var(--accent-deep);
  font-size: 1.05rem;
  letter-spacing: .02em;
  margin-bottom: 1.15rem;
}
.person__photo {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 1px solid var(--hairline);
  object-fit: cover;
  margin-bottom: 1.15rem;
}
.person h3 { margin-bottom: .15rem; }
.person__role {
  font-size: .88rem;
  font-weight: 600;
  color: var(--accent-deep);
  letter-spacing: .01em;
  margin-bottom: .9rem;
}
.person p { font-size: .96rem; color: var(--muted); margin-bottom: 0; }
.person { position: relative; }
.person__bio + .person__bio { margin-top: .8rem; }
.person__linkedin { position: absolute; top: 1.25rem; right: 1.25rem; }
.placeholder-note {
  font-size: .88rem;
  color: var(--muted);
  font-style: italic;
}
.table-wrap { overflow-x: auto; border: 1px solid var(--hairline); border-radius: var(--r-md); }
table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: .95rem;
  background: var(--surface);
}
table.data th,
table.data td {
  text-align: left;
  padding: .95rem 1.15rem;
  border-bottom: 1px solid var(--hairline);
  vertical-align: top;
}
table.data thead th {
  background: var(--surface-alt);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}
table.data tbody tr:last-child td { border-bottom: 0; }
table.data td:first-child { font-weight: 600; color: var(--ink); white-space: nowrap; }
.gate {
  background: var(--surface-alt);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: clamp(1.9rem, 4vw, 2.75rem);
}
.gate h3 { margin-bottom: .6rem; }
.modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.modal[data-open="true"] { display: flex; }
.modal__scrim {
  position: absolute;
  inset: 0;
  background: rgba(20, 24, 31, .55);
  backdrop-filter: blur(3px);
  border: 0;
  padding: 0;
  cursor: pointer;
}
.modal__panel {
  position: relative;
  width: 100%;
  max-width: 470px;
  background: var(--surface);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-modal);
  padding: clamp(1.75rem, 4vw, 2.4rem);
  max-height: calc(100vh - 2.5rem);
  overflow-y: auto;
}
.modal__close {
  position: absolute;
  top: .9rem;
  right: .9rem;
  background: none;
  border: 0;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--muted);
  cursor: pointer;
  padding: .35rem .5rem;
  border-radius: var(--r-sm);
}
.modal__close:hover { color: var(--ink); background: var(--surface-alt); }
.modal__panel h2 { font-size: 1.5rem; margin-bottom: .4rem; }
.modal__intro { font-size: .95rem; color: var(--muted); margin-bottom: 1.6rem; }
.steps {
  display: flex;
  gap: .4rem;
  margin-bottom: 1.6rem;
}
.steps__bar {
  flex: 1;
  height: 3px;
  border-radius: 2px;
  background: var(--hairline);
  transition: background-color .2s ease;
}
.steps__bar.is-done { background: var(--accent); }
.steps__label {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .7rem;
}
.field { margin-bottom: 1rem; }
.field label {
  display: block;
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: .4rem;
}
.field input,
.field textarea {
  width: 100%;
  font: inherit;
  font-size: .97rem;
  padding: .78rem .95rem;
  border: 1px solid var(--hairline-str);
  border-radius: var(--r-sm);
  background: var(--field-bg);
  color: var(--ink);
}
.field textarea { resize: vertical; min-height: 5.5rem; line-height: 1.55; }
.field input:focus,
.field textarea:focus {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-wash);
}
.field input[aria-invalid="true"],
.field textarea[aria-invalid="true"] { border-color: var(--danger); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 420px) { .field-row { grid-template-columns: 1fr; gap: 0; } }
.hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}
.form-step { display: none; }
.form-step[data-active="true"] { display: block; }
.form-actions {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: 1.4rem;
}
.form-actions .btn--primary { flex: 1; }
.btn-tick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
}
.btn-tick svg { width: 16px; height: 16px; flex: none; }
.btn-back {
  background: none;
  border: 0;
  font: inherit;
  font-size: .9rem;
  color: var(--muted);
  cursor: pointer;
  padding: .5rem;
  border-radius: var(--r-sm);
}
.btn-back:hover { color: var(--ink); }
.form-error {
  font-size: .88rem;
  color: var(--danger);
  margin: .6rem 0 0;
  min-height: 1.2em;
}
.form-error:empty { margin: 0; min-height: 0; }
.agree {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  font-size: .87rem;
  color: var(--muted);
  margin-top: 1.15rem;
  line-height: 1.5;
}
.agree input[type="checkbox"] {
  -webkit-appearance: none; appearance: none;
  flex: none; width: 1.25rem; height: 1.25rem; margin: .1em 0 0;
  border: 2px solid var(--muted); border-radius: 4px;
  background: var(--field-bg, var(--surface)) center / .85rem no-repeat;
  cursor: pointer;
}
.agree input[type="checkbox"][aria-invalid="true"] { border-color: var(--danger); }
.agree input[type="checkbox"]:checked {
  border-color: var(--accent);
  background-color: var(--accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.agree input[type="checkbox"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (forced-colors: active) {
  .agree input[type="checkbox"] { -webkit-appearance: auto; appearance: auto; }
}
.agree a { text-decoration: underline; text-underline-offset: .18em; }
.form-done { text-align: center; padding: 1rem 0 .5rem; }
.form-done__mark {
  width: 52px; height: 52px;
  margin: 0 auto 1.2rem;
  border-radius: 50%;
  background: var(--accent-wash);
  display: grid; place-items: center;
}
.form-done__mark svg { width: 24px; height: 24px; stroke: var(--accent); }
.enquiry-panel {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: clamp(1.5rem, 3vw, 2.1rem);
}
.enquiry-panel .steps { margin-bottom: 1.4rem; }
.contact-card {
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  padding: 1.9rem 1.75rem;
  background: var(--surface);
}
.contact-card h3 { margin-bottom: .35rem; }
.contact-card a { font-weight: 600; }
.prose { max-width: 70ch; }
.prose h2 { font-size: 1.5rem; margin-top: 2.75rem; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 1.1rem; margin-top: 1.9rem; }
.prose li { color: var(--muted); }
.prose p { color: var(--muted); }
.cta-band {
  background: var(--cta-bg);
  color: #fff;
  padding-block: clamp(3.25rem, 6vw, 5rem);
}
.cta-band h2 { color: #fff; max-width: 20ch; }
.cta-band p { color: #A9B4BC; max-width: 54ch; margin-bottom: 2rem; }
.cta-band__line { max-width: none; }
.cta-band .btn--ghost { color: #fff; border-color: rgba(255,255,255,.3); }
.cta-band .btn--ghost:hover { background: rgba(255,255,255,.08); border-color: #fff; }
.cta-band--bird {
  --bird-h: clamp(300px, 56vh, 520px);
  --bird-cut: .8904;
  --bird-gap: calc(var(--bird-h) * .03);
  --strip-h: calc(var(--bird-h) * (1 - var(--bird-cut)) + var(--bird-gap));
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.cta-band--bird::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: var(--strip-h);
  background: linear-gradient(180deg, #1B8F6A, #12684D);
  z-index: -1;
}
.cta-band__bird {
  position: absolute;
  right: 0;
  bottom: var(--bird-gap);
  height: var(--bird-h);
  aspect-ratio: 521 / 1060;
  pointer-events: none;
}
.cta-band__bird::before {
  content: "";
  position: absolute;
  inset: -18% -45% 10% -55%;
  background:
    radial-gradient(closest-side, rgba(25,136,101,.30), transparent 70%) 40% 62% / 70% 60% no-repeat,
    radial-gradient(closest-side, rgba(55,89,191,.38), transparent 75%) 45% 35% / 100% 80% no-repeat;
  z-index: -1;
}
.cta-band__bird img { display: block; width: 100%; height: 100%; }
.cta-band .cta-band__kicker {
  font-size: clamp(1.1rem, 1.7vw, 1.4rem);
  font-weight: 600;
  letter-spacing: -.01em;
  color: #E9EDF2;
  margin-bottom: .6rem;
}
.cta-band .cta-band__kicker span { color: #23A97E; }
.cta-band--bird > .wrap { padding-right: calc(var(--bird-h) * .5 + 2rem); padding-bottom: var(--strip-h); }
@media (max-width: 760px) {
  .cta-band--bird { --bird-h: 300px; padding-bottom: 0; }
  .cta-band--bird > .wrap { padding-right: clamp(1.15rem, 4vw, 2rem); padding-bottom: calc(var(--bird-h) + 1.5rem); }
}
.site-footer {
  background: var(--surface-alt);
  border-top: 1px solid var(--hairline);
  padding-block: 3.25rem 2rem;
  font-size: .93rem;
}
.site-footer__grid {
  display: grid;
  grid-template-columns: 1fr repeat(5, auto);
  gap: 2.5rem clamp(2rem, 3.6vw, 3.75rem);
  margin-bottom: 2.5rem;
}
.site-footer > .wrap { max-width: none; }
@media (max-width: 1080px) {
  .site-footer__grid > :first-child { grid-column: 1 / -1; }
  .site-footer__grid > :nth-child(2) { grid-column-start: 2; }
}
@media (max-width: 860px)  {
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .site-footer__grid > :nth-child(2) { grid-column-start: auto; }
}
@media (max-width: 420px)  { .site-footer__grid { grid-template-columns: 1fr; } }
.site-footer h2 {
  font-size: .8rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: .9rem;
}
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: .55rem; }
.site-footer a { color: var(--ink-soft); }
.site-footer a:hover { color: var(--accent-deep); }
.site-footer__aside { margin: .9rem 0 0; font-size: .9rem; color: var(--ink-soft); }
.site-footer__aside a { text-decoration: underline; text-underline-offset: .15em; }
.site-footer__legal {
  border-top: 1px solid var(--hairline);
  padding-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  justify-content: space-between;
  color: var(--muted);
  font-size: .87rem;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}
@media print {
  .site-header, .modal, .cta-band, .nav-toggle { display: none !important; }
  body { font-size: 11pt; }
}
.logo-hero { overflow: visible; }
.logo-anim .logo-mark { animation: logo-reset 6.81s linear infinite; }
@keyframes logo-reset {
  0%, 95.59% { opacity: 1; }
  100%       { opacity: 0; }
}
.logo-anim .logo-draw {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: 6.81s cubic-bezier(.32, .72, .35, 1) infinite;
}
.logo-anim .logo-draw--1 { animation-name: logo-draw-1; }
.logo-anim .logo-draw--2 { animation-name: logo-draw-2; }
.logo-anim .logo-draw--3 { animation-name: logo-draw-3; }
@keyframes logo-draw-1 {
  0%, 5.87%    { stroke-dashoffset: 1; }
  30.10%, 100% { stroke-dashoffset: 0; }
}
@keyframes logo-draw-2 {
  0%, 17.33%   { stroke-dashoffset: 1; }
  41.56%, 100% { stroke-dashoffset: 0; }
}
@keyframes logo-draw-3 {
  0%, 28.78%   { stroke-dashoffset: 1; }
  53.01%, 100% { stroke-dashoffset: 0; }
}
.logo-anim .logo-pop {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(0);
  opacity: 0;
  animation: logo-pop 6.81s cubic-bezier(.34, 1.5, .64, 1) infinite;
}
@keyframes logo-pop {
  0%, 53.89%   { transform: scale(0); opacity: 0; }
  66.23%, 100% { transform: scale(1); opacity: 1; }
}
.logo-anim .logo-word { animation-duration: 6.81s; animation-timing-function: ease-out; animation-iteration-count: infinite; }
.logo-anim .logo-word--1 { animation-name: logo-word-1; }
.logo-anim .logo-word--2 { animation-name: logo-word-2; }
.logo-anim .logo-word--3 { animation-name: logo-word-3; }
.logo-anim .logo-word--4 { animation-name: logo-word-4; }
@keyframes logo-word-1 {
  0%, 22.76%      { fill: #9AA4A9; }
  30.10%, 95.59%  { fill: #14181F; }
  100%            { fill: #9AA4A9; }
}
@keyframes logo-word-2 {
  0%, 34.21%      { fill: #9AA4A9; }
  41.56%, 95.59%  { fill: #14181F; }
  100%            { fill: #9AA4A9; }
}
@keyframes logo-word-3 {
  0%, 45.67%      { fill: #9AA4A9; }
  53.01%, 95.59%  { fill: #198865; }
  100%            { fill: #9AA4A9; }
}
@keyframes logo-word-4 {
  0%, 58.88%      { fill: #9AA4A9; }
  66.23%, 95.59%  { fill: #3759BF; }
  100%            { fill: #9AA4A9; }
}
@media (prefers-reduced-motion: reduce), print {
  .logo-anim .logo-mark { opacity: 1; animation: none; }
  .logo-anim .logo-draw { stroke-dashoffset: 0; animation: none; }
  .logo-anim .logo-pop  { transform: none; opacity: 1; animation: none; }
  .logo-anim .logo-word { animation: none; }
  .logo-anim .logo-word--1, .logo-anim .logo-word--2 { fill: #14181F; }
  .logo-anim .logo-word--3 { fill: #198865; }
  .logo-anim .logo-word--4 { fill: #3759BF; }
}
.scene-1 { --T: 16s; }
.scene-1 .tl{animation-duration:var(--T);animation-iteration-count:infinite;animation-timing-function:linear;animation-fill-mode:both}
.scene-1 #s1-scene{animation-name:s1-seam}
@keyframes s1-seam{0%,96.25%{opacity:1}100%{opacity:0}}
.scene-1 #s1-atk-ring{transform-box:fill-box;transform-origin:center;animation-name:s1-atkspin}
@keyframes s1-atkspin{0%{transform:rotate(0)}100%{transform:rotate(1440deg)}}
.scene-1 #s1-atk-glow{animation-name:s1-atkglow}
@keyframes s1-atkglow{0%,10%{opacity:0}17.5%,57.5%{opacity:.78}61%,100%{opacity:0}}
.scene-1 #s1-atk-core{animation-name:s1-atkcore}
@keyframes s1-atkcore{0%,10%{fill:#1B242F}17.5%,57.5%{fill:#2A1A1A}61%,100%{fill:#161C23}}
.scene-1 #s1-atk-stroke{animation-name:s1-atkstroke}
@keyframes s1-atkstroke{0%,10%{stroke:#2C3845}17.5%,57.5%{stroke:#E4584A}61%,100%{stroke:#2C3845}}
.scene-1 #s1-atk-label{animation-name:s1-atklab}
@keyframes s1-atklab{0%,10%{fill:#97A7B6}17.5%,57.5%{fill:#FFC9C1}61%,100%{fill:#6B7885}}
.scene-1 #s1-atk-halt{transform-box:fill-box;transform-origin:center;animation-name:s1-halt}
@keyframes s1-halt{0%,57.5%{opacity:0;transform:scale(.6)}60%,100%{opacity:1;transform:scale(1)}}
.scene-1 #s1-brw-edge{animation-name:s1-brwedge}
@keyframes s1-brwedge{0%,25.5%{stroke:#26323F}27%,88%{stroke:#E4584A}90%,100%{stroke:#2FC98C}}
.scene-1 #s1-brw-tint{animation-name:s1-brwtint}
@keyframes s1-brwtint{0%,25.5%{opacity:0;fill:#E4584A}27.5%,88%{opacity:.14;fill:#E4584A}90%,100%{opacity:.14;fill:#2FC98C}}
.scene-1 #s1-brw-halo{animation-name:s1-brwhalo}
@keyframes s1-brwhalo{0%,25.5%{opacity:0;stroke:#F04A3C}28%{opacity:.85;stroke:#F04A3C}
  33%,88.5%{opacity:.34;stroke:#F04A3C}90%{opacity:.85;stroke:#1FA97C}95%,100%{opacity:.38;stroke:#1FA97C}}
.scene-1 #s1-brw-sweep{animation-name:s1-brwsweep}
@keyframes s1-brwsweep{0%,25.5%{opacity:0;transform:translateY(0)}27%{opacity:.9}32%{opacity:0;transform:translateY(128px)}100%{opacity:0;transform:translateY(128px)}}
.scene-1 #s1-brw-clear{animation-name:s1-brwclear}
@keyframes s1-brwclear{0%,89%{opacity:0;transform:translateY(128px)}90%{opacity:.9}95%{opacity:0;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
.scene-1 #s1-drawer{transform-box:fill-box;transform-origin:left center;animation-name:s1-drawer}
@keyframes s1-drawer{0%,32.5%{opacity:0;transform:translateX(-10px)}36%,100%{opacity:1;transform:translateX(0)}}
.scene-1 #s1-chip-red{animation-name:s1-chipred}
@keyframes s1-chipred{0%,36%{opacity:0}37.5%,43.5%{opacity:1}44.5%,100%{opacity:0}}
.scene-1 #s1-red-ring{transform-box:fill-box;transform-origin:center;animation-name:s1-redring}
@keyframes s1-redring{0%,36.5%{opacity:0;transform:scale(.3)}38%{opacity:1}42.5%{opacity:0;transform:scale(2.2)}100%{opacity:0}}
.scene-1 .led{animation-name:s1-led}
@keyframes s1-led{0%,43%{fill:#2E5C4A}44.5%,100%{fill:#2FC98C}}
.scene-1 #s1-wA{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wA}
@keyframes s1-wA{0%,17.5%{stroke-dashoffset:1;stroke:#D9433A}25%,57%{stroke-dashoffset:0;stroke:#D9433A}
  60%,61%{stroke-dashoffset:0;stroke:var(--scene-line)}63%,100%{stroke-dashoffset:0;stroke:#3759BF}}
.scene-1 #s1-wAg{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wAg}
@keyframes s1-wAg{0%,17.5%{stroke-dashoffset:1;opacity:0;stroke:#D9433A}19%{opacity:.6}25%,57%{stroke-dashoffset:0;opacity:.6;stroke:#D9433A}
  60%,61%{opacity:0;stroke:var(--scene-line)}63%,100%{opacity:.5;stroke:#3759BF}}
.scene-1 #s1-wB{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wB}
@keyframes s1-wB{0%,28.75%{stroke-dashoffset:1;stroke:#D9433A}35%,57%{stroke-dashoffset:0;stroke:#D9433A}
  60%,61%{stroke-dashoffset:0;stroke:var(--scene-line)}63%,100%{stroke-dashoffset:0;stroke:#3759BF}}
.scene-1 #s1-wBg{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wBg}
@keyframes s1-wBg{0%,28.75%{stroke-dashoffset:1;opacity:0;stroke:#D9433A}30%{opacity:.6}35%,57%{stroke-dashoffset:0;opacity:.6;stroke:#D9433A}
  60%,61%{opacity:0;stroke:var(--scene-line)}63%,100%{opacity:.5;stroke:#3759BF}}
.scene-1 #s1-wD{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wD}
@keyframes s1-wD{0%,44%{stroke-dashoffset:1;stroke:#198865}50%,61%{stroke-dashoffset:0;stroke:#198865}63%,100%{stroke-dashoffset:0;stroke:#3759BF}}
.scene-1 #s1-wDg{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wDg}
@keyframes s1-wDg{0%,44%{stroke-dashoffset:1;opacity:0;stroke:#198865}46%{opacity:.5}50%,61%{stroke-dashoffset:0;opacity:.5;stroke:#198865}63%,100%{stroke-dashoffset:0;opacity:.5;stroke:#3759BF}}
.scene-1 #s1-wE{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wE}
@keyframes s1-wE{0%,85%{stroke-dashoffset:1}89.5%,100%{stroke-dashoffset:0}}
.scene-1 #s1-wEg{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-wEg}
@keyframes s1-wEg{0%,85%{stroke-dashoffset:1;opacity:0}86.5%{opacity:.5}89.5%,100%{stroke-dashoffset:0;opacity:.3}}
.scene-1 .pkt{offset-rotate:0deg}
.scene-1 #s1-pA1{offset-path:path('M 65 179 C 103 179 103 100 153 100');animation-name:s1-pA1}
@keyframes s1-pA1{0%,17.5%{offset-distance:0%;opacity:0}18.4%{opacity:1}25%{offset-distance:100%;opacity:1}25.8%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pB1{offset-path:path('M 258 156 L 258 206');animation-name:s1-pB1}
@keyframes s1-pB1{0%,28.75%{offset-distance:0%;opacity:0}29.6%{opacity:1}35%{offset-distance:100%;opacity:1}35.8%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pB2{offset-path:path('M 258 206 L 258 156');animation-name:s1-pB2}
@keyframes s1-pB2{0%,50%{offset-distance:0%;opacity:0}50.8%{opacity:1}54%{offset-distance:100%;opacity:1}54.6%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pA2{offset-path:path('M 153 100 C 103 100 103 179 65 179');animation-name:s1-pA2}
@keyframes s1-pA2{0%,54%{offset-distance:0%;opacity:0}54.7%{opacity:1}57.5%{offset-distance:100%;opacity:1}58%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pD{offset-path:path('M 363 279 C 381 279 383 140 397 100');animation-name:s1-pD}
@keyframes s1-pD{0%,44%{offset-distance:0%;opacity:0}44.8%{opacity:1}50%{offset-distance:100%;opacity:1}50.6%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pR1{offset-path:path('M 65 179 C 103 179 103 100 153 100');animation-name:s1-pR1}
@keyframes s1-pR1{0%,63%{offset-distance:0%;opacity:0}63.8%{opacity:1}67%{offset-distance:100%;opacity:1}67.4%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pR2{offset-path:path('M 258 156 L 258 206');animation-name:s1-pR2}
@keyframes s1-pR2{0%,67%{offset-distance:0%;opacity:0}67.6%{opacity:1}69.5%{offset-distance:100%;opacity:1}69.9%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pR3{offset-path:path('M 363 279 C 381 279 383 140 397 100');animation-name:s1-pR3}
@keyframes s1-pR3{0%,69.5%{offset-distance:0%;opacity:0}70.2%{opacity:1}73.5%{offset-distance:100%;opacity:1}74%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-pF{offset-path:path('M 463 28 C 463 14 457 12 441 12 L 280 12 C 264 12 258 16 258 28');animation-name:s1-pF}
@keyframes s1-pF{0%,85%{offset-distance:0%;opacity:0}85.8%{opacity:1}89.5%{offset-distance:100%;opacity:1}90.2%,100%{offset-distance:100%;opacity:0}}
.scene-1 #s1-bloom-a{transform-box:fill-box;transform-origin:center;animation-name:s1-bloomA}
@keyframes s1-bloomA{0%,43%{opacity:0;transform:scale(.25)}44.5%{opacity:1}50%{opacity:0;transform:scale(2.6)}100%{opacity:0}}
.scene-1 #s1-bloom-b{transform-box:fill-box;transform-origin:center;animation-name:s1-bloomB}
@keyframes s1-bloomB{0%,44%{opacity:0;transform:scale(.25)}45.5%{opacity:.75}52%{opacity:0;transform:scale(3.4)}100%{opacity:0}}
.scene-1 #s1-chip-hit{animation-name:s1-chiphit}
@keyframes s1-chiphit{0%,43.5%{opacity:0}44.5%,100%{opacity:1}}
.scene-1 #s1-doc{transform-box:fill-box;transform-origin:center top;animation-name:s1-docin}
@keyframes s1-docin{0%,73%{opacity:0;transform:translateY(-12px) scale(.94)}76.5%,100%{opacity:1;transform:none}}
.scene-1 .docline{stroke-dasharray:1;stroke-dashoffset:1}
.scene-1 #s1-dl1{animation-name:s1-dl}  @keyframes s1-dl {0%,76%{stroke-dashoffset:1}78.5%,100%{stroke-dashoffset:0}}
.scene-1 #s1-dl2{animation-name:s1-dl2} @keyframes s1-dl2{0%,78%{stroke-dashoffset:1}80.5%,100%{stroke-dashoffset:0}}
.scene-1 #s1-dl3{animation-name:s1-dl3} @keyframes s1-dl3{0%,80%{stroke-dashoffset:1}82.5%,100%{stroke-dashoffset:0}}
.scene-1 #s1-dl4{animation-name:s1-dl4} @keyframes s1-dl4{0%,82%{stroke-dashoffset:1}84%,100%{stroke-dashoffset:0}}
.scene-1 #s1-dl5{animation-name:s1-dl5} @keyframes s1-dl5{0%,83.5%{stroke-dashoffset:1}85.5%,100%{stroke-dashoffset:0}}
.scene-1 #s1-caret{animation-name:s1-caret;animation-timing-function:steps(1)}
@keyframes s1-caret{0%,75%{opacity:0}76%{opacity:1}77%{opacity:0}78%{opacity:1}79%{opacity:0}80%{opacity:1}81%{opacity:0}82%{opacity:1}83%{opacity:0}84%{opacity:1}85%{opacity:0}86%{opacity:1}87%,100%{opacity:0}}
.scene-1 #s1-con-edge{animation-name:s1-conedge}
@keyframes s1-conedge{0%,44.5%{stroke:#26323F}46%,61%{stroke:#2FC98C}63%,100%{stroke:#7593F2}}
.scene-1 #s1-con-halo{animation-name:s1-conhalo}
@keyframes s1-conhalo{0%,44.5%{opacity:0;stroke:#1FA97C}46.5%,61%{opacity:.85;stroke:#1FA97C}63%,100%{opacity:.85;stroke:#4A6EE0}}
.scene-1 #s1-con-row{animation-name:s1-conrow}
@keyframes s1-conrow{0%,45%{opacity:0}46.5%,100%{opacity:1}}
.scene-1 #s1-con-rowbg{animation-name:s1-conrowbg}
@keyframes s1-conrowbg{0%,61%{fill:#12332A;stroke:#2FC98C}63%,100%{fill:#141E3A;stroke:#7593F2}}
.scene-1 #s1-con-dot{animation-name:s1-condot} @keyframes s1-condot{0%,61%{fill:#2FC98C}63%,100%{fill:#7593F2}}
.scene-1 #s1-con-bar{animation-name:s1-conbar} @keyframes s1-conbar{0%,61%{fill:#2FC98C}63%,100%{fill:#7593F2}}
.scene-1 #s1-con-spike{stroke-dasharray:1;stroke-dashoffset:1;animation-name:s1-conspike}
@keyframes s1-conspike{0%,45%{stroke-dashoffset:1;stroke:#2FC98C}50%,61%{stroke-dashoffset:0;stroke:#2FC98C}63%,100%{stroke-dashoffset:0;stroke:#7593F2}}
.scene-1 #s1-v-detect{animation-name:s1-vdet} @keyframes s1-vdet{0%,43%{fill:#B4BFC6}44.5%,100%{fill:var(--ink)}}
.scene-1 #s1-v-delay{animation-name:s1-vdel} @keyframes s1-vdel{0%,57.5%{fill:#B4BFC6}60%,100%{fill:var(--ink)}}
.scene-1 #s1-v-deny{animation-name:s1-vden} @keyframes s1-vden{0%,57.5%{fill:#B4BFC6}60%,100%{fill:#198865}}
.scene-1 #s1-v-extr{animation-name:s1-vext} @keyframes s1-vext{0%,61.5%{fill:#B4BFC6}63%,100%{fill:#3759BF}}
@media (prefers-reduced-motion: reduce){
  .scene-1 .tl{animation:none !important}
  .scene-1 #s1-pA1,.scene-1 #s1-pB1,.scene-1 #s1-pA2,.scene-1 #s1-pB2,.scene-1 #s1-pD,.scene-1 #s1-pR1,.scene-1 #s1-pR2,.scene-1 #s1-pR3,.scene-1 #s1-pF,.scene-1 #s1-atk-glow,.scene-1 #s1-brw-sweep,.scene-1 #s1-brw-clear,.scene-1 #s1-bloom-a,.scene-1 #s1-bloom-b,.scene-1 #s1-caret,.scene-1 #s1-chip-red,.scene-1 #s1-red-ring{opacity:0}
  .scene-1 #s1-wA,.scene-1 #s1-wB,.scene-1 #s1-wD,.scene-1 #s1-wE,.scene-1 #s1-wAg,.scene-1 #s1-wBg,.scene-1 #s1-wDg,.scene-1 #s1-wEg,.scene-1 .docline,.scene-1 #s1-con-spike{stroke-dashoffset:0}
  .scene-1 #s1-wA,.scene-1 #s1-wB,.scene-1 #s1-wD{stroke:#3759BF}.scene-1 #s1-wAg,.scene-1 #s1-wBg,.scene-1 #s1-wDg{opacity:.5;stroke:#3759BF}
  .scene-1 #s1-atk-halt,.scene-1 #s1-doc,.scene-1 #s1-con-row,.scene-1 #s1-chip-hit,.scene-1 #s1-drawer{opacity:1}
  .scene-1 #s1-brw-edge{stroke:#2FC98C}.scene-1 #s1-brw-tint{opacity:.14;fill:#2FC98C}.scene-1 #s1-brw-halo{opacity:.2;stroke:#198865}
  .scene-1 #s1-con-edge{stroke:#7593F2}.scene-1 #s1-con-halo{opacity:.5;stroke:#3759BF}
  .scene-1 #s1-con-rowbg{fill:#141E3A;stroke:#7593F2}.scene-1 #s1-con-dot,.scene-1 #s1-con-bar{fill:#7593F2}.scene-1 #s1-con-spike{stroke:#7593F2}
  .scene-1 #s1-v-detect,.scene-1 #s1-v-delay{fill:var(--ink)}.scene-1 #s1-v-deny{fill:#198865}.scene-1 #s1-v-extr{fill:#3759BF}
}
.scenarios { margin-top: 1.5rem; display: grid; gap: 1rem; }
.scenario {
  position: relative;
  padding: 1.15rem 1.25rem 1.25rem;
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--accent);
  border-radius: var(--r-md);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.scenario__label {
  margin: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--accent-deep);
}
.scenario__name {
  margin: .3rem 0 0;
  font-size: 1.1rem;
  line-height: 1.3;
  color: var(--ink);
}
.scenario__body { margin: .55rem 0 0; color: var(--ink-soft); font-size: .96rem; }
.scenario__body + .scenario__body { margin-top: .75rem; }
.scenarios__more { margin: 1.25rem 0 0; color: var(--ink-soft); }
.scenarios__others { margin: .6rem 0 0; padding-left: 1.25rem; color: var(--ink-soft); }
.scenarios__others li { margin-bottom: .45rem; }
.scenarios__others li::marker { color: var(--accent); }
.scenarios__others strong { color: var(--ink); font-weight: 600; }
.scenarios__more--last { margin-top: 1rem; }
.scenarios-others { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.scenarios-others .scenarios__more:first-child { margin-top: 0; }
@media (min-width: 1060px) {
  .scenarios__others li { white-space: nowrap; }
}
:root{ --diff-clock: 21.6s; }
.diff{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.85fr);
  gap:clamp(2rem, 5vw, 4rem);
  align-items:start;
}
.diff__aside{ position:sticky; top:calc(var(--header-h, 107px) + 2.25rem); }
.diff__title{ margin:0; }
.diff__list{
  list-style:none; margin:0; padding:0;
  position:relative;
  padding-left:clamp(1.6rem, 3vw, 2.4rem);
}
.diff__list::before,
.diff__list::after{
  content:""; position:absolute; left:0; top:.45rem; bottom:.45rem; width:2px;
  border-radius:2px;
}
.diff__list::before{ background:var(--hairline-str); }
.diff__list::after{
  background:linear-gradient(180deg, var(--accent-deep), var(--accent));
  transform-origin:50% 0;
  animation:diff-fill var(--diff-clock) linear infinite;
}
@keyframes diff-fill{
  from{ transform:scaleY(0); }
  to  { transform:scaleY(1); }
}
.diff__item{
  position:relative;
  padding:1.15rem clamp(.9rem, 2vw, 1.4rem) 1.15rem clamp(.9rem, 2vw, 1.4rem);
  border-radius:var(--r-md);
  animation:diff-wash var(--diff-clock) linear infinite;
}
.diff__item + .diff__item{ margin-top:.35rem; }
.diff__dot{
  position:absolute; left:0; top:1.5rem;
  width:12px; height:12px; margin-left:-5px;
  border-radius:50%;
  border:2px solid var(--hairline-str);
  background:var(--hairline-str);
  animation:diff-dot var(--diff-clock) linear infinite;
}
.diff__num{
  display:block;
  font-size:.78rem; font-weight:700; letter-spacing:.12em;
  font-variant-numeric:tabular-nums;
  color:var(--muted);
  margin-bottom:.3rem;
  animation:diff-num var(--diff-clock) linear infinite;
}
.diff__lead{
  margin:0;
  font-size:clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight:600; line-height:1.35;
  color:var(--ink);
}
.diff__body{
  margin:.4rem 0 0;
  color:var(--ink-soft);
  max-width:60ch;
}
.diff__body strong{ color:var(--ink); font-weight:650; }
@keyframes diff-wash{
  0%                     { background-color:transparent; }
  1.6%              { background-color:rgba(25,136,101,.12); }
  15.0667%         { background-color:rgba(25,136,101,.12); }
  16.6667%                { background-color:transparent; }
  100%                   { background-color:transparent; }
}
@keyframes diff-dot{
  0%             { background:var(--hairline-str); border-color:var(--hairline-str); box-shadow:0 0 0 0 transparent; transform:scale(1); }
  1.6%      { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px rgba(25,136,101,.14), 0 0 14px rgba(25,136,101,.5); transform:scale(1.2); }
  15.0667% { background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px rgba(25,136,101,.14), 0 0 14px rgba(25,136,101,.5); transform:scale(1.2); }
  16.6667%        { background:var(--hairline-str); border-color:var(--hairline-str); box-shadow:0 0 0 0 transparent; transform:scale(1); }
  100%           { background:var(--hairline-str); border-color:var(--hairline-str); box-shadow:0 0 0 0 transparent; transform:scale(1); }
}
@keyframes diff-num{
  0%             { color:var(--muted); }
  1.6%      { color:var(--accent-deep); }
  15.0667% { color:var(--accent-deep); }
  16.6667%        { color:var(--muted); }
  100%           { color:var(--muted); }
}
.diff__item--1,.diff__item--1 .diff__dot,.diff__item--1 .diff__num{ animation-delay:-21.6s; }
.diff__item--2,.diff__item--2 .diff__dot,.diff__item--2 .diff__num{ animation-delay:-18s; }
.diff__item--3,.diff__item--3 .diff__dot,.diff__item--3 .diff__num{ animation-delay:-14.4s; }
.diff__item--4,.diff__item--4 .diff__dot,.diff__item--4 .diff__num{ animation-delay:-10.8s; }
.diff__item--5,.diff__item--5 .diff__dot,.diff__item--5 .diff__num{ animation-delay:-7.2s; }
.diff__item--6,.diff__item--6 .diff__dot,.diff__item--6 .diff__num{ animation-delay:-3.6s; }
@media (max-width: 900px){
  .diff{ grid-template-columns:minmax(0,1fr); gap:2rem; }
  .diff__aside{ position:static; }
}
@media (prefers-reduced-motion: reduce){
  .diff__list::after,.diff__item,.diff__dot,.diff__num{ animation:none !important; }
  .diff__list::after{ transform:scaleY(1); }
  .diff__item{ background-color:transparent; }
  .diff__dot{ background:var(--accent); border-color:var(--accent); box-shadow:none; transform:none; }
  .diff__num{ color:var(--accent-deep); }
}
@media print{
  .diff__list::after,.diff__item,.diff__dot,.diff__num{ animation:none !important; }
  .diff__list::after{ transform:scaleY(1); }
  .diff__item{ background-color:transparent; }
  .diff__dot{ background:var(--accent); border-color:var(--accent); box-shadow:none; transform:none; }
  .diff__num{ color:var(--accent-deep); }
}
.scene-copy { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); align-items: center; }
.scene-copy__text p + p { margin-top: 1rem; }
@media (min-width: 900px) {
  .scene-copy { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .scene-copy__text { grid-column: 1; grid-row: 1; }
  .scene-copy > .dp,
  .scene-copy > .dt { grid-column: 2; grid-row: 1; }
}
.sol {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
}
.sol__copy h3 {
  margin: 1.75rem 0 .5rem;
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
}
.sol__copy p + p { margin-top: 1rem; }
.sol__copy p:first-child { margin-top: 0; }
@media (min-width: 900px) {
  .sol { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
  .sol--reverse .sol__art { grid-column: 2; grid-row: 1; }
  .sol--reverse .sol__copy { grid-column: 1; grid-row: 1; }
  .sol__copy--center { align-self: center; }
  .sol__art--center { align-self: center; }
}
.sol__h3--first { margin-top: 0 !important; }
.toast { position: relative; width: min(100%, 460px); margin-inline: auto; }
.toast img { display: block; width: 100%; height: auto; }
@media (max-width: 899px) { .toast { width: min(85%, 380px); } }
.toast__shine {
  position: absolute;
  left: 51.579%; top: 0; width: 26.316%; height: 47.559%;
  -webkit-mask: url("/assets/img/vegemite-knife.png") 0 0 / 100% 100% no-repeat;
          mask: url("/assets/img/vegemite-knife.png") 0 0 / 100% 100% no-repeat;
  background: linear-gradient(324.5deg, transparent 42%, rgba(255,255,255,.6) 48%,
              rgba(255,255,255,.95) 50%, rgba(255,255,255,.6) 52%, transparent 58%) 0 0 / 300% 300% no-repeat;
  animation: toast-shine 7s ease-in-out infinite;
  pointer-events: none;
}
@keyframes toast-shine {
  0%, 70% { background-position: 0 0; }
  86%, 100% { background-position: 100% 100%; }
}
.toast__glint {
  position: absolute;
  left: 53.2%; top: 2.8%;
  width: 8%; aspect-ratio: 1;
  translate: -50% -50%;
  filter: drop-shadow(0 0 1.5px rgba(70,90,125,.9));
  opacity: 0; scale: 0;
  animation: toast-glint 7s ease-in-out infinite;
  pointer-events: none;
}
.toast__glint::before {
  content: "";
  position: absolute; inset: 0;
  background: #fff;
  clip-path: polygon(50% 0, 57% 43%, 100% 50%, 57% 57%, 50% 100%, 43% 57%, 0 50%, 43% 43%);
}
[data-theme="dark"] .toast__glint { filter: drop-shadow(0 0 3px rgba(255,255,255,.85)); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .toast__glint { filter: drop-shadow(0 0 3px rgba(255,255,255,.85)); }
}
@keyframes toast-glint {
  0%, 84% { opacity: 0; scale: 0; rotate: 0deg; }
  89% { opacity: 1; scale: 1; rotate: 45deg; }
  96%, 100% { opacity: 0; scale: 0; rotate: 90deg; }
}
@media (prefers-reduced-motion: reduce) {
  .toast__shine { animation: none; }
  .toast__glint { display: none; }
}
.cass-card {
  width: min(100%, 232px);
  margin-inline: auto;
}
.cass-card__fig {
  position: relative;
  width: 100%;
  aspect-ratio: 521 / 1060;
}
.cass-card__fig img { display: block; width: 100%; height: 100%; }
[data-theme="dark"] .cass-card__fig img { filter: drop-shadow(0 0 14px rgba(117,147,242,.35)); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cass-card__fig img { filter: drop-shadow(0 0 14px rgba(117,147,242,.35)); }
}
@media (max-width: 899px) { .cass-card { width: min(49.6%, 208px); } }
@media (min-width: 900px) {
  #canaries .sol__art { margin-top: calc(-1.319 * clamp(1.8rem, 3.4vw, 2.6rem) - .575rem); }
  #breadcrumbs .sol__art { margin-top: calc(-1.319 * clamp(1.8rem, 3.4vw, 2.6rem) - .575rem); }
}
@media (min-width: 900px) {
  .sol__copy--bcgap {
    align-self: start;
    margin-top: clamp(16px, min(20vw - 164px, 10vw - 54px), 83px);
  }
}
.cass-card__shine {
  position: absolute;
  left: .192%; top: 27.358%; width: 38.388%; height: 9.717%;
  -webkit-mask: url("/assets/img/cassowary-lenses.png") 0 0 / 100% 100% no-repeat;
          mask: url("/assets/img/cassowary-lenses.png") 0 0 / 100% 100% no-repeat;
  background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.55) 46%,
              rgba(255,255,255,.95) 50%, rgba(255,255,255,.55) 54%, transparent 62%) 0 0 / 260% 100% no-repeat;
  animation: cass-shine 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes cass-shine {
  0%, 74% { background-position: 0 0; }
  88%, 100% { background-position: 100% 0; }
}
.cass-card__glint {
  position: absolute;
  left: 33.8%; top: 29.4%;
  width: 7%; aspect-ratio: 1;
  translate: -50% -50%;
  background: #fff;
  clip-path: polygon(50% 0, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0 50%, 42% 42%);
  opacity: 0;
  scale: 0;
  animation: cass-glint 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes cass-glint {
  0%, 80% { opacity: 0; scale: 0; rotate: 0deg; }
  85% { opacity: 1; scale: 1; rotate: 45deg; }
  92%, 100% { opacity: 0; scale: 0; rotate: 90deg; }
}
@media (prefers-reduced-motion: reduce) {
  .cass-card__shine, .cass-card__glint { animation: none; }
  .cass-card__glint { display: none; }
}
.diff__lead del {
  text-decoration-thickness: .08em;
  text-decoration-color: var(--accent);
  color: var(--muted);
  margin-right: .1em;
}
:root{ --dp-clock: 16s; }
.dp{
  width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
}
.dp__svg{ display:block; width:100%; min-width:560px; height:auto; overflow:visible; }
.dp__down,.dp__up,.dp__box,.dp__glyph,.dp__label,.dp__beat,.dp__ok,
.dp__card,.dp__pill,.dp__pill-a,.dp__pill-b,.dp__pkg,.dp__arrow,.dp__tick{
  animation-duration:var(--dp-clock);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  animation-fill-mode:both;
}
.dp__wire{ fill:none; stroke:var(--hairline-str); stroke-width:2; }
.dp__down,.dp__up{
  fill:none; stroke-width:3; stroke-linecap:round;
  stroke-dasharray:.16 1; stroke-dashoffset:1.16;
}
.dp__down{ stroke:var(--accent); animation-name:dp-down; }
.dp__up{ stroke:var(--royal); animation-name:dp-up; }
.dp__card{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5; animation-name:dp-card; }
.dp__title{ fill:var(--ink); font-size:21px; font-weight:700; }
.dp__pill{ fill:var(--surface-alt); stroke:var(--hairline-str); stroke-width:1.2; animation-name:dp-pill; }
.dp__pill-a,.dp__pill-b{ font-size:14px; font-weight:650; text-anchor:middle; }
.dp__pill-a{ fill:var(--muted); animation-name:dp-pill-a; }
.dp__pill-b{ fill:var(--accent-deep); animation-name:dp-pill-b; }
.dp__pkg{ fill:var(--surface-alt); stroke:var(--hairline-str); stroke-width:1.2; animation-name:dp-pkg; }
.dp__pkg-t{ fill:var(--muted); font-size:13px; font-weight:650; text-anchor:middle; }
.dp__arrow{ fill:none; stroke:var(--accent); stroke-width:2.4; stroke-linecap:round;
  stroke-linejoin:round; animation-name:dp-arrow; }
.dp__rows rect{ fill:var(--hairline-str); }
.dp__box{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5; animation-name:dp-box; }
.dp__glyph{ fill:none; stroke:var(--muted); stroke-width:1.5; stroke-linecap:round;
  stroke-linejoin:round; animation-name:dp-glyph; }
.dp__label{ fill:var(--ink); font-size:17px; font-weight:650; text-anchor:middle;
  animation-name:dp-label; }
.dp__beat{
  fill:none; stroke:var(--accent); stroke-width:2.5; opacity:0;
  transform-box:fill-box; transform-origin:center;
  animation-name:dp-beat;
}
.dp__ok rect{ fill:var(--surface); stroke:var(--accent); stroke-width:1.2; }
.dp__ok text{ fill:var(--accent-deep); font-size:13px; font-weight:700; text-anchor:middle; }
.dp__ok{ opacity:0; animation-name:dp-ok; }
.dp__tick{ fill:none; stroke:var(--accent-deep); stroke-width:2.4; stroke-linecap:round;
  stroke-linejoin:round; }
@keyframes dp-pkg{
  0%,3.75% { stroke:var(--hairline-str); fill:rgba(128,140,150,.10); }
  6.25%,21.25% { stroke:var(--accent); fill:rgba(25,136,101,.12); }
  25.0%,100% { stroke:var(--hairline-str); fill:rgba(128,140,150,.10); }
}
@keyframes dp-arrow{
  0%,3.75% { opacity:.35; transform:translateY(0); }
  6.25% { opacity:1; transform:translateY(3px); }
  10.0% { opacity:1; transform:translateY(0); }
  22.5% { opacity:1; transform:translateY(0); }
  26.25%,100% { opacity:.35; transform:translateY(0); }
}
.dp__down--0{ animation-delay:0s; }
.dp__up--0{ animation-delay:0s; }
.dp__tile--0 .dp__box,.dp__tile--0 .dp__glyph,.dp__tile--0 .dp__label,.dp__tile--0 .dp__ok{ animation-delay:0s; }
.dp__down--1{ animation-delay:0.12s; }
.dp__up--1{ animation-delay:0.12s; }
.dp__tile--1 .dp__box,.dp__tile--1 .dp__glyph,.dp__tile--1 .dp__label,.dp__tile--1 .dp__ok{ animation-delay:0.12s; }
.dp__down--2{ animation-delay:0.24s; }
.dp__up--2{ animation-delay:0.24s; }
.dp__tile--2 .dp__box,.dp__tile--2 .dp__glyph,.dp__tile--2 .dp__label,.dp__tile--2 .dp__ok{ animation-delay:0.24s; }
.dp__down--3{ animation-delay:0.36s; }
.dp__up--3{ animation-delay:0.36s; }
.dp__tile--3 .dp__box,.dp__tile--3 .dp__glyph,.dp__tile--3 .dp__label,.dp__tile--3 .dp__ok{ animation-delay:0.36s; }
.dp__down--4{ animation-delay:0.48s; }
.dp__up--4{ animation-delay:0.48s; }
.dp__tile--4 .dp__box,.dp__tile--4 .dp__glyph,.dp__tile--4 .dp__label,.dp__tile--4 .dp__ok{ animation-delay:0.48s; }
.dp__beat{ animation-delay:0s; }
@keyframes dp-down{
  0%,9.375% { stroke-dashoffset:1.16; opacity:0; }
  10.0% { stroke-dashoffset:1.16; opacity:1; }
  20.0% { stroke-dashoffset:0; opacity:1; }
  21.25%,100% { stroke-dashoffset:0; opacity:0; }
}
@keyframes dp-up{
  0%,56.25% { stroke-dashoffset:0; opacity:0; }
  56.875% { stroke-dashoffset:0; opacity:1; }
  66.875% { stroke-dashoffset:1.16; opacity:1; }
  68.125%,100% { stroke-dashoffset:1.16; opacity:0; }
}
@keyframes dp-box{
  0%,18.75% { stroke:var(--hairline); fill:transparent; }
  22.5%,95.0% { stroke:var(--accent); fill:rgba(25,136,101,.12); }
  99.375%,100% { stroke:var(--hairline); fill:transparent; }
}
@keyframes dp-glyph{
  0%,18.75% { stroke:var(--muted); }
  22.5%,95.0% { stroke:var(--accent-deep); }
  99.375%,100% { stroke:var(--muted); }
}
@keyframes dp-label{
  0%,18.75% { fill:var(--muted); }
  22.5%,95.0% { fill:var(--ink); }
  99.375%,100% { fill:var(--muted); }
}
@keyframes dp-ok{
  0%,68.125% { opacity:0; }
  71.25%,95.0% { opacity:1; }
  99.375%,100% { opacity:0; }
}
@keyframes dp-beat{
  0%,25.0% { opacity:0; transform:scale(.97); }
  25.0% { opacity:0; transform:scale(0.97); }
  25.8125% { opacity:0.85; transform:scale(1.03); }
  26.875% { opacity:0.18; transform:scale(1.0); }
  27.75% { opacity:0.62; transform:scale(1.05); }
  29.5% { opacity:0; transform:scale(0.97); }
  34.375% { opacity:0; transform:scale(0.97); }
  35.1875% { opacity:0.85; transform:scale(1.03); }
  36.25% { opacity:0.18; transform:scale(1.0); }
  37.125% { opacity:0.62; transform:scale(1.05); }
  38.875% { opacity:0; transform:scale(0.97); }
  43.75% { opacity:0; transform:scale(0.97); }
  44.5625% { opacity:0.85; transform:scale(1.03); }
  45.625% { opacity:0.18; transform:scale(1.0); }
  46.5% { opacity:0.62; transform:scale(1.05); }
  48.25% { opacity:0; transform:scale(0.97); }
  53.125% { opacity:0; transform:scale(0.97); }
  53.9375% { opacity:0.85; transform:scale(1.03); }
  55.0% { opacity:0.18; transform:scale(1.0); }
  55.875% { opacity:0.62; transform:scale(1.05); }
  57.625% { opacity:0; transform:scale(0.97); }
  62.5% { opacity:0; transform:scale(0.97); }
  63.3125% { opacity:0.85; transform:scale(1.03); }
  64.375% { opacity:0.18; transform:scale(1.0); }
  65.25% { opacity:0.62; transform:scale(1.05); }
  67.0% { opacity:0; transform:scale(0.97); }
  71.875% { opacity:0; transform:scale(0.97); }
  72.6875% { opacity:0.85; transform:scale(1.03); }
  73.75% { opacity:0.18; transform:scale(1.0); }
  74.625% { opacity:0.62; transform:scale(1.05); }
  76.375% { opacity:0; transform:scale(0.97); }
  81.25% { opacity:0; transform:scale(0.97); }
  82.0625% { opacity:0.85; transform:scale(1.03); }
  83.125% { opacity:0.18; transform:scale(1.0); }
  84.0% { opacity:0.62; transform:scale(1.05); }
  85.75% { opacity:0; transform:scale(0.97); }
  90.625% { opacity:0; transform:scale(0.97); }
  91.4375% { opacity:0.85; transform:scale(1.03); }
  92.5% { opacity:0.18; transform:scale(1.0); }
  93.375% { opacity:0.62; transform:scale(1.05); }
  95.125% { opacity:0; transform:scale(0.97); }
  100% { opacity:0; transform:scale(.97); }
}
@keyframes dp-card{
  0%,68.75% { stroke:var(--hairline); }
  72.5%,95.0% { stroke:var(--accent); }
  99.375%,100% { stroke:var(--hairline); }
}
@keyframes dp-pill{
  0%,68.75% { fill:rgba(128,140,150,.10); stroke:var(--hairline-str); }
  72.5%,95.0% { fill:rgba(25,136,101,.12); stroke:var(--accent); }
  99.375%,100% { fill:rgba(128,140,150,.10); stroke:var(--hairline-str); }
}
@keyframes dp-pill-a{
  0%,68.75% { fill:var(--muted); }
  71.875%,95.625% { fill:transparent; }
  99.375%,100% { fill:var(--muted); }
}
@keyframes dp-pill-b{
  0%,69.375% { fill:transparent; }
  72.5%,95.0% { fill:var(--accent-deep); }
  98.75%,100% { fill:transparent; }
}
@media (prefers-reduced-motion: reduce){
  .dp__down,.dp__up,.dp__arrow,.dp__beat{ animation:none !important; opacity:0; }
  .dp__box,.dp__glyph,.dp__label,.dp__ok,.dp__card,.dp__pill,
  .dp__pill-a,.dp__pill-b,.dp__pkg,.dp__tick{ animation:none !important; }
  .dp__box{ stroke:var(--accent); fill:rgba(25,136,101,.12); }
  .dp__glyph{ stroke:var(--accent-deep); }
  .dp__label{ fill:var(--ink); }
  .dp__ok{ opacity:1; }
  .dp__card{ stroke:var(--accent); }
  .dp__pill{ fill:rgba(25,136,101,.12); stroke:var(--accent); }
  .dp__pill-a{ fill:transparent; }
  .dp__pill-b{ fill:var(--accent-deep); }
}
@media print{
  .dp__down,.dp__up,.dp__arrow,.dp__beat{ animation:none !important; opacity:0; }
  .dp__box,.dp__glyph,.dp__label,.dp__ok,.dp__card,.dp__pill,
  .dp__pill-a,.dp__pill-b,.dp__pkg,.dp__tick{ animation:none !important; }
  .dp__box{ stroke:var(--accent); fill:rgba(25,136,101,.12); }
  .dp__glyph{ stroke:var(--accent-deep); }
  .dp__label{ fill:var(--ink); }
  .dp__ok{ opacity:1; }
  .dp__card{ stroke:var(--accent); }
  .dp__pill{ fill:rgba(25,136,101,.12); stroke:var(--accent); }
  .dp__pill-a{ fill:transparent; }
  .dp__pill-b{ fill:var(--accent-deep); }
}
:root{ --dt-clock: 14s; --dt-alert:#D3202A; --dt-wash:rgba(211,32,42,.10); }
.dt{ width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.dt__svg{ display:block; width:100%; min-width:560px; height:auto; overflow:visible; }
.dt__alert,.dt__ack,.dt__node--live .dt__box,.dt__node--live .dt__glyph,
.dt__node--live .dt__label,.dt__intruder,.dt__panel,.dt__row{
  animation-duration:var(--dt-clock);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  animation-fill-mode:both;
}
.dt__wire{ fill:none; stroke:var(--hairline-str); stroke-width:2; stroke-dasharray:4 6; }
.dt__alert,.dt__ack{
  fill:none; stroke-width:3.6; stroke-linecap:round;
  stroke-dasharray:.16 1; stroke-dashoffset:1.16; opacity:0;
}
.dt__alert{ stroke:var(--dt-alert); animation-name:dt-alert; }
.dt__ack{ stroke:var(--accent); animation-name:dt-ack; }
.dt__link{ fill:none; stroke:var(--hairline-str); stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round; }
.dt__box{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5; }
.dt__glyph{ fill:none; stroke:var(--muted); stroke-width:1.5; stroke-linecap:round;
  stroke-linejoin:round; }
.dt__label{ fill:var(--ink); font-size:16px; font-weight:650; text-anchor:middle; }
.dt__node--live .dt__box{ animation-name:dt-livebox; }
.dt__node--live .dt__glyph{ animation-name:dt-liveglyph; }
.dt__node--live .dt__label{ animation-name:dt-livelabel; }
.dt__intruder{ animation-name:dt-intruder; }
.dt__ring{ fill:none; stroke:var(--dt-alert); stroke-width:2; stroke-dasharray:5 4; }
.dt__core{ fill:var(--dt-alert); }
.dt__drop{ fill:none; stroke:var(--dt-alert); stroke-width:2; stroke-dasharray:3 4; }
.dt__panel{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5; animation-name:dt-panel; }
.dt__siem-t{ fill:var(--ink); font-size:20px; font-weight:700; }
.dt__siem-s{ fill:var(--muted); font-size:13px; font-weight:650; text-anchor:end;
  letter-spacing:.06em; text-transform:uppercase; }
.dt__row{ opacity:0; animation-name:dt-row; }
.dt__row rect{ fill:var(--surface-alt); }
.dt__k{ fill:var(--muted); font-size:12px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; }
.dt__v{ fill:var(--ink); font-size:15px; font-weight:600; }
.dt__row--0{ animation-delay:0s; }
.dt__row--1{ animation-delay:0.18s; }
.dt__row--2{ animation-delay:0.36s; }
.dt__row--3{ animation-delay:0.54s; }
.dt__row--4{ animation-delay:0.72s; }
@keyframes dt-intruder{
  0% { opacity:0; transform:translateY(-14px); }
  5.0% { opacity:1; transform:translateY(0); }
  88.5714% { opacity:1; transform:translateY(0); }
  94.2857%,100% { opacity:0; transform:translateY(-14px); }
}
@keyframes dt-livebox{
  0%,8.5714% { stroke:var(--hairline); fill:transparent; }
  11.4286%,47.1429% { stroke:var(--dt-alert); fill:var(--dt-wash); }
  51.4286%,88.5714% { stroke:var(--accent); fill:rgba(25,136,101,.12); }
  94.2857%,100% { stroke:var(--hairline); fill:transparent; }
}
@keyframes dt-liveglyph{
  0%,8.5714% { stroke:var(--muted); }
  11.4286%,47.1429% { stroke:var(--dt-alert); }
  51.4286%,88.5714% { stroke:var(--accent-deep); }
  94.2857%,100% { stroke:var(--muted); }
}
@keyframes dt-livelabel{
  0%,8.5714% { fill:var(--ink); }
  11.4286%,47.1429% { fill:var(--dt-alert); }
  51.4286%,88.5714% { fill:var(--accent-deep); }
  94.2857%,100% { fill:var(--ink); }
}
@keyframes dt-alert{
  0%,13.5714% { stroke-dashoffset:1.16; opacity:0; }
  14.2857% { stroke-dashoffset:1.16; opacity:1; }
  24.2857% { stroke-dashoffset:0; opacity:1; }
  25.7143%,100% { stroke-dashoffset:0; opacity:0; }
}
@keyframes dt-ack{
  0%,36.4286% { stroke-dashoffset:0; opacity:0; }
  37.1429% { stroke-dashoffset:0; opacity:1; }
  47.1429% { stroke-dashoffset:1.16; opacity:1; }
  48.5714%,100% { stroke-dashoffset:1.16; opacity:0; }
}
@keyframes dt-row{
  0%,24.2857% { opacity:0; }
  27.5%,88.5714% { opacity:1; }
  94.2857%,100% { opacity:0; }
}
@keyframes dt-panel{
  0%,24.2857% { stroke:var(--hairline); }
  27.1429%,88.5714% { stroke:var(--accent); }
  94.2857%,100% { stroke:var(--hairline); }
}
@media (prefers-reduced-motion: reduce){
  .dt__alert,.dt__ack,.dt__intruder,.dt__panel,.dt__row,
  .dt__node--live .dt__box,.dt__node--live .dt__glyph,
  .dt__node--live .dt__label{ animation:none !important; }
  .dt__alert,.dt__ack{ opacity:0; }
  .dt__intruder{ opacity:1; transform:none; }
  .dt__node--live .dt__box{ stroke:var(--accent); fill:rgba(25,136,101,.12); }
  .dt__node--live .dt__glyph{ stroke:var(--accent-deep); }
  .dt__node--live .dt__label{ fill:var(--accent-deep); }
  .dt__panel{ stroke:var(--accent); }
  .dt__row{ opacity:1; }
}
@media print{
  .dt__alert,.dt__ack,.dt__intruder,.dt__panel,.dt__row,
  .dt__node--live .dt__box,.dt__node--live .dt__glyph,
  .dt__node--live .dt__label{ animation:none !important; }
  .dt__alert,.dt__ack{ opacity:0; }
  .dt__intruder{ opacity:1; transform:none; }
  .dt__node--live .dt__box{ stroke:var(--accent); fill:rgba(25,136,101,.12); }
  .dt__node--live .dt__glyph{ stroke:var(--accent-deep); }
  .dt__node--live .dt__label{ fill:var(--accent-deep); }
  .dt__panel{ stroke:var(--accent); }
  .dt__row{ opacity:1; }
}
:root{ --am-clock:14s; --bc-clock:12s; --cn-clock:8s; --cs-clock:14s; --sc-alert:#D3202A; --sc-warn:#C97A0E; --bread:#A9682A; --bread-mid:#D2934C; --bread-soft:#F0D3A8; --canary:#E8B93C; --canary-deep:#C79320; }
.sc{ width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.sc__svg{ display:block; width:100%; min-width:320px; height:auto; overflow:visible; }
.sc__box{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5; }
.sc__soft{ fill:var(--surface-alt); }
.sc__ln{ fill:none; stroke:var(--hairline-str); stroke-width:2; }
.sc__t{ fill:var(--ink); font-size:17px; font-weight:650; }
.sc__ts{ fill:var(--muted); font-size:13px; font-weight:650; letter-spacing:.05em;
  text-transform:uppercase; }
.am__reticle,.am__lock,.am__ring,.am__ring2,.am__chip,.am__road--real,.am__road--decoy,.am__pulse,.am__status,.am__target--real,.am__decoybox,.am__tag--on{ animation-duration:var(--am-clock); animation-timing-function:linear; animation-iteration-count:infinite; animation-fill-mode:both; }
.am__road{ fill:none; stroke:var(--hairline-str); stroke-width:2.5; stroke-dasharray:5 6; }
.am__road--real{ animation-name:am-real; }
.am__road--decoy{ animation-name:am-decoy; }
.am__pulse{ fill:none; stroke:var(--royal); stroke-width:3.5; stroke-linecap:round;
  stroke-dasharray:.18 1; stroke-dashoffset:1.18; animation-name:am-pulse; }
.am__chip{ fill:var(--surface-alt); stroke:var(--hairline-str); stroke-width:2;
  animation-name:am-chip; }
.am__ai{ fill:var(--royal); font-size:34px; font-weight:800; letter-spacing:.02em; }
.am__sub{ fill:var(--muted); font-size:13px; font-weight:650; letter-spacing:.09em;
  text-transform:uppercase; }
.am__net{ fill:var(--royal); stroke:var(--royal); stroke-width:1.6; }
.am__reticle{ transform-box:fill-box; transform-origin:center; animation-name:am-ret; }
.am__ring,.am__ring2,.am__cross{ fill:none; stroke:var(--sc-alert); stroke-width:2; }
.am__ring{ stroke-dasharray:10 12; animation-name:am-spin; transform-box:fill-box;
  transform-origin:center; }
.am__ring2{ opacity:.5; }
.am__lock{ fill:none; stroke:var(--sc-alert); stroke-width:3; stroke-linecap:round;
  stroke-linejoin:round; opacity:0; animation-name:am-lock; }
.am__tag{ fill:var(--muted); font-size:13px; font-weight:650; }
.am__tag--on{ fill:var(--royal); animation-name:am-tagon; }
.am__decoybox{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5;
  animation-name:am-decoybox; }
.am__target--decoy .sc__t{ fill:var(--royal); }
.am__target--real{ animation-name:am-realbox; }
.am__status{ fill:var(--accent-deep); font-size:14px; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; opacity:0; animation-name:am-status; }
@keyframes am-spin{ from{ transform:rotate(0); } to{ transform:rotate(360deg); } }
@keyframes am-ret{
  0% { transform:scale(1.5); opacity:0; }
  8.5714% { transform:scale(1.5); opacity:.25; }
  21.4286% { transform:scale(1); opacity:1; }
  94.2857% { transform:scale(1); opacity:1; }
  100% { transform:scale(1.5); opacity:0; }
}
@keyframes am-lock{
  0%,20.0% { opacity:0; }
  24.2857%,94.2857% { opacity:1; }
  100% { opacity:0; }
}
@keyframes am-chip{
  0%,22.8571% { stroke:var(--hairline-str); fill:rgba(128,140,150,.10); }
  30.0%,94.2857% { stroke:var(--accent); fill:rgba(25,136,101,.12); }
  100% { stroke:var(--hairline-str); fill:rgba(128,140,150,.10); }
}
@keyframes am-real{
  0%,28.5714% { stroke:var(--hairline-str); }
  35.7143%,94.2857% { stroke:var(--hairline); }
  100% { stroke:var(--hairline-str); }
}
@keyframes am-decoy{
  0%,28.5714% { stroke:var(--hairline-str); }
  35.7143%,94.2857% { stroke:var(--royal); }
  100% { stroke:var(--hairline-str); }
}
@keyframes am-pulse{
  0%,34.2857% { stroke-dashoffset:1.18; opacity:0; }
  35.7143% { stroke-dashoffset:1.18; opacity:1; }
  47.1429% { stroke-dashoffset:0; opacity:1; }
  49.2857% { stroke-dashoffset:0; opacity:0; }
  57.1429% { stroke-dashoffset:1.18; opacity:1; }
  68.5714% { stroke-dashoffset:0; opacity:1; }
  70.7143%,100% { stroke-dashoffset:0; opacity:0; }
}
@keyframes am-decoybox{
  0%,45.7143% { stroke:var(--hairline); fill:transparent; }
  50.0%,94.2857% { stroke:var(--royal); fill:rgba(55,89,191,.12); }
  100% { stroke:var(--hairline); fill:transparent; }
}
@keyframes am-realbox{
  0%,45.7143% { opacity:1; }
  50.0%,94.2857% { opacity:.55; }
  100% { opacity:1; }
}
@keyframes am-tagon{
  0%,47.1429% { opacity:0; }
  51.4286%,94.2857% { opacity:1; }
  100% { opacity:0; }
}
@keyframes am-status{
  0%,51.4286% { opacity:0; }
  55.7143%,94.2857% { opacity:1; }
  100% { opacity:0; }
}
.bc__loaf,.bc__fall,.bc__crumb,.bc__trail,.bc__flag,.bc__flagpole,.bc__endt{ animation-duration:var(--bc-clock); animation-timing-function:linear; animation-iteration-count:infinite; animation-fill-mode:both; }
.bc__crust{ fill:var(--bread-mid); stroke:var(--bread); stroke-width:2.5;
  stroke-linejoin:round; }
.bc__crumb-in{ fill:var(--bread-soft); stroke:none; }
.bc__tin{ fill:none; stroke:var(--bread); stroke-width:2; opacity:.7; }
.bc__score{ fill:none; stroke:var(--bread); stroke-width:3; stroke-linecap:round; }
.bc__board{ fill:none; stroke:var(--hairline-str); stroke-width:3; stroke-linecap:round; }
.bc__loaf{ transform-box:fill-box; transform-origin:50% 100%; animation-name:bc-tip; }
.bc__fall{ fill:var(--bread); opacity:0; animation-name:bc-fall; }
.bc__crumb{ fill:var(--bread); opacity:0; animation-name:bc-land; }
.bc__trail{ fill:none; stroke:var(--accent); stroke-width:2.5; stroke-dasharray:4 7;
  opacity:0; animation-name:bc-trail; }
.bc__flagpole{ fill:none; stroke:var(--accent-deep); stroke-width:2.5; stroke-linecap:round;
  opacity:0; animation-name:bc-flag; }
.bc__flag{ fill:var(--accent); stroke:none; opacity:0; animation-name:bc-flag; }
.bc__endt{ fill:var(--accent-deep); font-size:14px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; opacity:0; animation-name:bc-flag; }
@keyframes bc-tip{
  0%,5.0% { transform:rotate(0); }
  9.1667% { transform:rotate(-5deg); }
  14.1667% { transform:rotate(3deg); }
  19.1667%,100% { transform:rotate(0); }
}
.bc__fall--0,.bc__crumb--0{ animation-delay:1s; }
.bc__fall--1,.bc__crumb--1{ animation-delay:1.32s; }
.bc__fall--2,.bc__crumb--2{ animation-delay:1.64s; }
.bc__fall--3,.bc__crumb--3{ animation-delay:1.96s; }
.bc__fall--4,.bc__crumb--4{ animation-delay:2.28s; }
.bc__fall--5,.bc__crumb--5{ animation-delay:2.6s; }
@keyframes bc-fall{
  0% { opacity:0; transform:translate(-90px,-120px) scale(.6); }
  1.25% { opacity:1; transform:translate(-90px,-120px) scale(.6); }
  6.25% { opacity:1; transform:translate(0,0) scale(1); }
  6.6667%,100% { opacity:0; transform:translate(0,0) scale(1); }
}
@keyframes bc-land{
  0%,6.1667% { opacity:0; }
  6.6667%,88.3333% { opacity:1; }
  95.0%,100% { opacity:0; }
}
@keyframes bc-trail{
  0%,11.6667% { opacity:0; }
  20.0%,88.3333% { opacity:1; }
  95.0%,100% { opacity:0; }
}
@keyframes bc-flag{
  0%,28.3333% { opacity:0; }
  35.0%,88.3333% { opacity:1; }
  95.0%,100% { opacity:0; }
}
.cn__fig,.cn__glint,.cn__earled,.cn__crest{ animation-duration:var(--cn-clock); animation-timing-function:linear; animation-iteration-count:infinite; animation-fill-mode:both; }
.cn__shirt{ fill:#1C2230; stroke:#0F1420; stroke-width:2; stroke-linejoin:round; }
.cn__collar{ fill:none; stroke:#3A4560; stroke-width:3; stroke-linejoin:round; }
.cn__shirttx{ fill:#F2F5FA; font-size:18px; font-weight:800; letter-spacing:.08em; }
.cn__head{ fill:var(--canary); stroke:var(--canary-deep); stroke-width:3; }
.cn__crest{ fill:var(--canary); stroke:var(--canary-deep); stroke-width:3;
  stroke-linejoin:round; transform-box:fill-box; transform-origin:50% 100%;
  animation-name:cn-crest; }
.cn__beak{ fill:var(--sc-warn); stroke:var(--sc-warn); stroke-width:2; stroke-linejoin:round; }
.cn__limb{ fill:var(--canary); stroke:var(--canary-deep); stroke-width:2.5;
  stroke-linejoin:round; }
.cn__forebg{ fill:none; stroke:var(--canary-deep); stroke-width:36; stroke-linecap:round; }
.cn__fore{ fill:none; stroke:var(--canary); stroke-width:32; stroke-linecap:round; }
.cn__plume{ fill:var(--canary); stroke:var(--canary-deep); stroke-width:2;
  stroke-linejoin:round; }
.cn__sleeve{ fill:#1C2230; stroke:#0F1420; stroke-width:2; stroke-linejoin:round; }
.cn__seam{ fill:none; stroke:var(--canary-deep); stroke-width:2.2; stroke-linecap:round;
  opacity:.45; }
.cn__leg{ fill:none; stroke:var(--sc-warn); stroke-width:11; stroke-linecap:round; }
.cn__foot{ fill:none; stroke:var(--sc-warn); stroke-width:9; stroke-linecap:round; }
.cn__lens{ fill:#161B26; }
.cn__bridge,.cn__arm-l{ fill:none; stroke:#161B26; stroke-width:5; stroke-linecap:round; }
.cn__glint{ fill:none; stroke:#FFFFFF; stroke-width:4; stroke-linecap:round; opacity:.55;
  animation-name:cn-glint; }
.cn__ear{ fill:#1C2230; }
.cn__earled{ fill:var(--accent); animation-name:cn-led; }
.cn__wire{ fill:none; stroke:#1C2230; stroke-width:3.5; stroke-linecap:round; }
.cn__fig{ transform-box:fill-box; transform-origin:50% 100%; animation-name:cn-breathe; }
@keyframes cn-breathe{
  0%,100% { transform:scale(1); }
  25.0% { transform:scale(1.016); }
  50.0% { transform:scale(1); }
  75.0% { transform:scale(1.016); }
}
@keyframes cn-crest{
  0%,15.0% { transform:rotate(0); }
  21.25% { transform:rotate(-7deg); }
  28.75% { transform:rotate(4deg); }
  37.5%,100% { transform:rotate(0); }
}
@keyframes cn-glint{
  0%,30.0% { opacity:0; transform:translateX(-14px); }
  36.25% { opacity:.75; transform:translateX(0); }
  45.0% { opacity:0; transform:translateX(14px); }
  100% { opacity:0; transform:translateX(14px); }
}
@keyframes cn-led{
  0%,10.0% { opacity:.25; }
  13.75% { opacity:1; }
  23.75% { opacity:.25; }
  60.0% { opacity:.25; }
  63.75% { opacity:1; }
  73.75%,100% { opacity:.25; }
}
.cs__btn,.cs__glow,.cs__footv{ animation-duration:var(--cs-clock); animation-timing-function:linear; animation-iteration-count:infinite; animation-fill-mode:both; }
.cs__win{ fill:var(--surface); stroke:var(--hairline); stroke-width:1.5; }
.cs__title{ fill:var(--ink); font-size:16px; font-weight:700; }
.cs__h{ fill:var(--ink); font-size:19px; font-weight:700; }
.cs__dot{ fill:var(--hairline-str); }
.cs__dot--1{ fill:var(--accent); }
.cs__btn rect{ fill:var(--accent); }
.cs__btn text{ fill:#FFFFFF; font-size:15px; font-weight:700; }
.cs__arrow{ fill:none; stroke:#FFFFFF; stroke-width:2.2; stroke-linecap:round;
  stroke-linejoin:round; }
.cs__btn{ animation-name:cs-btn; transform-box:fill-box; transform-origin:center; }
.cs__card{ fill:var(--surface-alt); stroke-width:2.5; }
.cs__num{ fill:var(--ink); font-size:34px; font-weight:800; }
.cs__lab{ fill:var(--muted); font-size:11px; font-weight:700; letter-spacing:.09em; }
.cs__glow{ fill:none; stroke-width:4; opacity:.5; animation-name:cs-glow; }
.cs__tile--ok    .cs__card{ stroke:var(--accent); }
.cs__tile--ok    .cs__glow{ stroke:var(--accent); filter:blur(6px); }
.cs__tile--warn  .cs__card{ stroke:var(--sc-warn); }
.cs__tile--warn  .cs__glow{ stroke:var(--sc-warn); filter:blur(6px); }
.cs__tile--alert .cs__card{ stroke:var(--sc-alert); }
.cs__tile--alert .cs__glow{ stroke:var(--sc-alert); filter:blur(6px); }
.cs__rule{ opacity:.6; }
.cs__foot{ fill:var(--muted); font-size:13px; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; }
.cs__footv{ fill:var(--ink-soft); font-size:14px; font-weight:600; animation-name:cs-foot; }
.cs__tile--n0 .cs__glow{ animation-delay:0s; }
.cs__tile--n1 .cs__glow{ animation-delay:0.22s; }
.cs__tile--n2 .cs__glow{ animation-delay:0.44s; }
.cs__tile--n3 .cs__glow{ animation-delay:0.66s; }
.cs__tile--n4 .cs__glow{ animation-delay:0.88s; }
@keyframes cs-btn{
  0%,5.7143% { transform:scale(1); opacity:.92; }
  8.5714% { transform:scale(1.04); opacity:1; }
  12.8571%,100% { transform:scale(1); opacity:1; }
}
@keyframes cs-glow{
  0%,100% { opacity:.25; }
  14.2857% { opacity:.75; }
  28.5714% { opacity:.25; }
  57.1429% { opacity:.75; }
  71.4286% { opacity:.25; }
}
@keyframes cs-foot{
  0%,40.0% { opacity:1; }
  42.8571% { opacity:.35; }
  45.7143%,100% { opacity:1; }
}
@media (prefers-reduced-motion: reduce){
  .am__reticle,.am__lock,.am__ring,.am__ring2,.am__chip,.am__road--real,.am__road--decoy,
  .am__pulse,.am__status,.am__target--real,.am__decoybox,.am__tag--on,
  .bc__loaf,.bc__fall,.bc__crumb,.bc__trail,.bc__flag,.bc__flagpole,.bc__endt,
  .cn__fig,.cn__glint,.cn__earled,.cn__crest,
  .cs__btn,.cs__glow,.cs__footv{ animation:none !important; }
  .am__reticle{ transform:none; opacity:1; }
  .am__lock{ opacity:1; }
  .am__chip{ stroke:var(--accent); fill:rgba(25,136,101,.12); }
  .am__road--decoy{ stroke:var(--royal); }
  .am__pulse{ opacity:0; }
  .am__decoybox{ stroke:var(--royal); fill:rgba(55,89,191,.12); }
  .am__target--real{ opacity:.55; }
  .am__tag--on,.am__status{ opacity:1; }
  .bc__fall{ opacity:0; }
  .bc__crumb,.bc__trail,.bc__flag,.bc__flagpole,.bc__endt{ opacity:1; }
  .cn__fig,.cn__crest,.cn__glint{ transform:none; }
  .cn__glint{ opacity:.55; }
  .cn__earled{ opacity:1; }
  .cs__glow{ opacity:.5; }
  .cs__btn{ transform:none; opacity:1; }
  .cs__footv{ opacity:1; }
}
@media print{
  .am__reticle,.am__lock,.am__ring,.am__ring2,.am__chip,.am__road--real,.am__road--decoy,
  .am__pulse,.am__status,.am__target--real,.am__decoybox,.am__tag--on,
  .bc__loaf,.bc__fall,.bc__crumb,.bc__trail,.bc__flag,.bc__flagpole,.bc__endt,
  .cn__fig,.cn__glint,.cn__earled,.cn__crest,
  .cs__btn,.cs__glow,.cs__footv{ animation:none !important; }
  .am__reticle{ transform:none; opacity:1; }
  .am__lock{ opacity:1; }
  .am__chip{ stroke:var(--accent); fill:rgba(25,136,101,.12); }
  .am__road--decoy{ stroke:var(--royal); }
  .am__pulse{ opacity:0; }
  .am__decoybox{ stroke:var(--royal); fill:rgba(55,89,191,.12); }
  .am__target--real{ opacity:.55; }
  .am__tag--on,.am__status{ opacity:1; }
  .bc__fall{ opacity:0; }
  .bc__crumb,.bc__trail,.bc__flag,.bc__flagpole,.bc__endt{ opacity:1; }
  .cn__fig,.cn__crest,.cn__glint{ transform:none; }
  .cn__glint{ opacity:.55; }
  .cn__earled{ opacity:1; }
  .cs__glow{ opacity:.5; }
  .cs__btn{ transform:none; opacity:1; }
  .cs__footv{ opacity:1; }
}
.tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  align-items: stretch;
}
.tier {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  background: var(--surface);
  padding: 2rem 1.75rem 1.75rem;
}
.tier--soft {
  border: 2px solid color-mix(in srgb, var(--accent) 45%, var(--surface));
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent-wash) 55%, var(--surface)), var(--surface) 42%);
}
.tier--accent {
  border: 2px solid var(--accent);
  background: linear-gradient(180deg, var(--accent-wash), var(--surface) 42%);
}
.tier--royal {
  border: 2px solid var(--royal);
  background: linear-gradient(180deg, var(--navy-wash), var(--surface) 42%);
}
.tier__name {
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin: 0 0 .35rem;
}
.tier--soft .tier__name { color: var(--accent); }
.tier--royal .tier__name { color: var(--royal); }
.tier__who { margin: 0; color: var(--muted); font-size: .96rem; }
.tier__price {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin: 1.4rem 0 1.4rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--hairline);
}
.tier__amount {
  font-size: clamp(2.3rem, 3.6vw, 2.9rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.tier__per { font-size: .9rem; color: var(--muted); }
.tier__list { margin-bottom: 1.75rem; }
.tier__list li { margin-bottom: .7rem; color: var(--ink-soft); }
.tier__sublist { list-style: none; margin: .45rem 0 0; padding: 0; }
.checklist .tier__sublist li { padding-left: 1rem; margin-bottom: .3rem; }
.checklist .tier__sublist li::before {
  width: 5px; height: 5px; left: .15rem; top: .62em;
  border: 0; border-radius: 50%; background: currentColor; transform: none;
}
.tier__list li:last-child { margin-bottom: 0; }
.tier__cta { margin-top: auto; width: 100%; justify-content: center; }
.tiers__note { margin: 1rem 0 0; font-size: .88rem; color: var(--muted); }
.fx {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .6rem;
  margin: 1.25rem 0 -.5rem;
  font-size: .9rem;
  color: var(--ink-soft);
}
.fx__select {
  font: inherit;
  color: var(--ink);
  background: var(--field-bg);
  border: 1px solid var(--hairline-str);
  border-radius: var(--r-sm);
  padding: .4rem 2rem .4rem .7rem;
  min-height: 2.25rem;
}
.fx__select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 560px) {
  .fx { justify-content: flex-start; flex-wrap: wrap; }
  .fx__select { font-size: 16px; }
}
.tiers__intro { margin: .5rem 0 0; color: var(--ink-soft); }
.tiers__all {
  margin-top: clamp(2.25rem, 4vw, 3rem);
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  background: var(--surface-alt);
  padding: 1.75rem;
}
.tiers__all-title { font-size: 1.15rem; margin: 0 0 1.1rem; }
.tiers__all-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem 2rem;
}
.tiers__all-list li { margin: 0; }
@media (max-width: 900px) {
  .tiers { grid-template-columns: 1fr; max-width: 480px; }
  .tiers__all-list { grid-template-columns: 1fr; }
}
.modal__panel--booking {
  max-width: 1280px;
  padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 2rem);
}
.booking .modal__intro { margin-bottom: 1rem; }
.booking__frame {
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  overflow: hidden;
  background: #fff;
}
.booking__iframe {
  display: block;
  width: 100%;
  height: min(72vh, 700px);
  border: 0;
}
.booking__frame--page { margin-top: 1.75rem; }
.booking__frame--page .booking__iframe { height: 720px; }
@media (max-width: 760px) {
  .booking__frame--page .booking__iframe { height: 900px; }
}
.booking__alt { margin: .9rem 0 0; font-size: .9rem; color: var(--muted); }
.contact__sub { max-width: var(--narrow); margin: .5rem 0 0; color: var(--ink-soft); }
.linklike {
  appearance: none; background: none; border: 0; padding: 0;
  font: inherit; color: var(--accent-deep); text-decoration: underline;
  text-underline-offset: 2px; cursor: pointer;
}
.linklike:hover { color: var(--ink); }
.linklike:focus-visible { outline: 2px solid var(--royal); outline-offset: 2px; border-radius: 2px; }
.research__intro { max-width: var(--narrow); margin: .75rem 0 0; color: var(--ink-soft); }
.research__method {
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 3rem;
  align-items: start;
}
.research__method a { color: var(--accent-deep); }
.research__avg { margin: 2.5rem 0 1.25rem; color: var(--ink-soft); font-weight: 600; }
@media (max-width: 900px) {
  .research__method { grid-template-columns: minmax(0, 1fr); }
}
.research-scenarios { display: grid; gap: clamp(3.25rem, 6.5vw, 5.2rem); }
.scn-row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}
.scn-row__text .scenario__summary { color: var(--ink); font-weight: 500; }
.scn-row__text .placeholder-note { margin-top: .9rem; }
@media (max-width: 900px) {
  .scn-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .scn-row__art { display: none; }
}
.vendor-cell { display: inline-flex; align-items: center; gap: .6rem; }
.vendor-cell__logo { width: 20px; height: 20px; flex: none; fill: var(--ink); }
table.data--vendors td:first-child { white-space: nowrap; }
main > .section#not-published { min-height: 0; }
.scn { width: 100%; aspect-ratio: 553 / 404; }
.scn svg { display: block; width: 100%; height: 100%; overflow: visible; }
.scn text { font-family: var(--font); }
.scn :is([class^="w-"],[class^="c-"],[class^="s-"],[class^="v-"],[class^="a-"],[class^="cr-"],[class^="d-"],.scn__pkt) {
  animation-duration: var(--scn-clock); animation-timing-function: linear;
  animation-iteration-count: infinite; animation-fill-mode: both;
}
.scn :is(.cr-revoked, .s-alert, .s-second, .a-halt, .a-contained, .c-canary, .c-aim, .d-doc) { opacity: 0; }
.scn__ring-ai {
  transform-box: fill-box; transform-origin: center;
  animation: scn-spin 4s linear infinite;
}
@keyframes scn-spin { to { transform: rotate(360deg); } }
.scn--insider { --scn-clock: 15s; }
.scn--insider .w-ok{animation-name:insider-ln-w-ok;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--insider .w-ok-g{animation-name:insider-lg-w-ok;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--insider .w-ok-p{animation-name:insider-pk-w-ok-p;offset-path:path('M 88 202 C 100 170 104 152 120 152');offset-rotate:0deg;opacity:0;}
.scn--insider .a-core{animation-name:insider-st-a-core;}
.scn--insider .a-stroke{animation-name:insider-st-a-stroke;}
.scn--insider .a-label{animation-name:insider-st-a-label;}
.scn--insider .a-glow{animation-name:insider-st-a-glow;opacity:0;}
.scn--insider .w-atk{animation-name:insider-ln-w-atk;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--insider .w-atk-g{animation-name:insider-lg-w-atk;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--insider .w-atk-p{animation-name:insider-pk-w-atk-p;offset-path:path('M 88 225.5 C 112 318 200 318 270 296');offset-rotate:0deg;opacity:0;}
.scn--insider .c-canary{animation-name:insider-on-c-canary;opacity:0;}
.scn--insider .c-ring{animation-name:insider-pulse-c-ring;opacity:0;transform-box:fill-box;transform-origin:center;}
.scn--insider .v-detect{animation-name:insider-verb-detect;}
.scn--insider .w-def{animation-name:insider-ln-w-def;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--insider .w-def-g{animation-name:insider-lg-w-def;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--insider .w-def-p{animation-name:insider-pk-w-def-p;offset-path:path('M 326 206 C 326 150 360 130 397 130');offset-rotate:0deg;opacity:0;}
.scn--insider .s-alert{animation-name:insider-on-s-alert;opacity:0;}
.scn--insider .s-halo{animation-name:insider-halo-s-halo;opacity:0;}
.scn--insider .s-second{animation-name:insider-on-s-second;opacity:0;}
.scn--insider .w-con1{animation-name:insider-ln-w-con1;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--insider .w-con1-g{animation-name:insider-lg-w-con1;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--insider .w-con1-p{animation-name:insider-pk-w-con1-p;offset-path:path('M 397 130 C 360 130 326 150 326 206');offset-rotate:0deg;opacity:0;}
.scn--insider .w-con2{animation-name:insider-ln-w-con2;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--insider .w-con2-g{animation-name:insider-lg-w-con2;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--insider .w-con2-p{animation-name:insider-pk-w-con2-p;offset-path:path('M 270 296 C 200 318 112 318 88 225.5');offset-rotate:0deg;opacity:0;}
.scn--insider .a-box{animation-name:insider-draw-a-box;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--insider .a-contained{animation-name:insider-on-a-contained;opacity:0;}
.scn--insider .v-deny{animation-name:insider-verb-deny;}
@keyframes insider-ln-w-ok{0%,2%{stroke-dashoffset:1;opacity:1;stroke:#198865}8.667%{stroke-dashoffset:0;stroke:#198865}92.667%{stroke-dashoffset:0;opacity:1;stroke:#198865}96.333%,100%{stroke-dashoffset:0;opacity:0;stroke:#198865}}
@keyframes insider-lg-w-ok{0%,2%{stroke-dashoffset:1;opacity:0}3.333%{opacity:0.5}8.667%{stroke-dashoffset:0;opacity:0.5}92.667%{stroke-dashoffset:0;opacity:0.5}96.333%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes insider-pk-w-ok-p{0%,2%{offset-distance:0%;opacity:0}2.8%{opacity:1}8.667%{offset-distance:100%;opacity:1}9.333%,100%{offset-distance:100%;opacity:0}}
@keyframes insider-st-a-core{0%,12%{fill:#12332A}20%,65.333%{fill:#2A1A1A}68.667%,96.333%{fill:#161C23}100%{fill:#12332A}}
@keyframes insider-st-a-stroke{0%,12%{stroke:#2FC98C}20%,65.333%{stroke:#E4584A}68.667%,96.333%{stroke:#2C3845}100%{stroke:#2FC98C}}
@keyframes insider-st-a-label{0%,12%{fill:#BFF5DD}20%,65.333%{fill:#FFC9C1}68.667%,96.333%{fill:#6B7885}100%{fill:#BFF5DD}}
@keyframes insider-st-a-glow{0%,12%{opacity:.5;fill:#1FA97C}20%,65.333%{opacity:.78;fill:#F04A3C}68.667%,96.333%{opacity:0;fill:#F04A3C}100%{opacity:.5;fill:#1FA97C}}
@keyframes insider-ln-w-atk{0%,20%{stroke-dashoffset:1;opacity:1;stroke:#D9433A}28%{stroke-dashoffset:0;stroke:#D9433A}65.333%{stroke:#D9433A}68.333%{stroke:var(--scene-line)}92.667%{stroke-dashoffset:0;opacity:1;stroke:var(--scene-line)}96.333%,100%{stroke-dashoffset:0;opacity:0;stroke:var(--scene-line)}}
@keyframes insider-lg-w-atk{0%,20%{stroke-dashoffset:1;opacity:0}21.333%{opacity:0.6}28%{stroke-dashoffset:0;opacity:0.6}65.333%{opacity:0.6}68.333%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes insider-pk-w-atk-p{0%,20%{offset-distance:0%;opacity:0}20.8%{opacity:1}28%{offset-distance:100%;opacity:1}28.667%,100%{offset-distance:100%;opacity:0}}
@keyframes insider-on-c-canary{0%,28%{opacity:0}29.667%,92.667%{opacity:1}96.333%,100%{opacity:0}}
@keyframes insider-pulse-c-ring{0%,28%{opacity:0;transform:scale(1)}28.933%{opacity:.9;transform:scale(1)}38.267%,100%{opacity:0;transform:scale(2.1)}}
@keyframes insider-verb-detect{0%,28%{fill:#B4BFC6}29.867%,92.667%{fill:#198865}96.333%,100%{fill:#B4BFC6}}
@keyframes insider-ln-w-def{0%,32%{stroke-dashoffset:1;opacity:1;stroke:#198865}38.667%{stroke-dashoffset:0;stroke:#198865}92.667%{stroke-dashoffset:0;opacity:1;stroke:#198865}96.333%,100%{stroke-dashoffset:0;opacity:0;stroke:#198865}}
@keyframes insider-lg-w-def{0%,32%{stroke-dashoffset:1;opacity:0}33.333%{opacity:0.5}38.667%{stroke-dashoffset:0;opacity:0.5}92.667%{stroke-dashoffset:0;opacity:0.5}96.333%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes insider-pk-w-def-p{0%,32%{offset-distance:0%;opacity:0}32.8%{opacity:1}38.667%{offset-distance:100%;opacity:1}39.333%,100%{offset-distance:100%;opacity:0}}
@keyframes insider-on-s-alert{0%,38.667%{opacity:0}40.333%,92.667%{opacity:1}96.333%,100%{opacity:0}}
@keyframes insider-halo-s-halo{0%,37.733%{opacity:0}40.533%{opacity:.9}49.867%,92.667%{opacity:.35}96.333%,100%{opacity:0}}
@keyframes insider-on-s-second{0%,46%{opacity:0}47.667%,92.667%{opacity:1}96.333%,100%{opacity:0}}
@keyframes insider-ln-w-con1{0%,50%{stroke-dashoffset:1;opacity:1;stroke:#198865}56.667%{stroke-dashoffset:0;stroke:#198865}92.667%{stroke-dashoffset:0;opacity:1;stroke:#198865}96.333%,100%{stroke-dashoffset:0;opacity:0;stroke:#198865}}
@keyframes insider-lg-w-con1{0%,50%{stroke-dashoffset:1;opacity:0}51.333%{opacity:0.5}56.667%{stroke-dashoffset:0;opacity:0.5}92.667%{stroke-dashoffset:0;opacity:0.5}96.333%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes insider-pk-w-con1-p{0%,50%{offset-distance:0%;opacity:0}50.8%{opacity:1}56.667%{offset-distance:100%;opacity:1}57.333%,100%{offset-distance:100%;opacity:0}}
@keyframes insider-ln-w-con2{0%,56.667%{stroke-dashoffset:1;opacity:1;stroke:#198865}64.667%{stroke-dashoffset:0;stroke:#198865}92.667%{stroke-dashoffset:0;opacity:1;stroke:#198865}96.333%,100%{stroke-dashoffset:0;opacity:0;stroke:#198865}}
@keyframes insider-lg-w-con2{0%,56.667%{stroke-dashoffset:1;opacity:0}58%{opacity:0.5}64.667%{stroke-dashoffset:0;opacity:0.5}92.667%{stroke-dashoffset:0;opacity:0.5}96.333%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes insider-pk-w-con2-p{0%,56.667%{offset-distance:0%;opacity:0}57.467%{opacity:1}64.667%{offset-distance:100%;opacity:1}65.333%,100%{offset-distance:100%;opacity:0}}
@keyframes insider-draw-a-box{0%,64.667%{stroke-dashoffset:1;opacity:1}70%,92.667%{stroke-dashoffset:0;opacity:1}96.333%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes insider-on-a-contained{0%,70%{opacity:0}71.667%,92.667%{opacity:1}96.333%,100%{opacity:0}}
@keyframes insider-verb-deny{0%,70%{fill:#B4BFC6}71.867%,92.667%{fill:#198865}96.333%,100%{fill:#B4BFC6}}
.scn--vpn { --scn-clock: 16.5s; }
.scn--vpn .a-core{animation-name:vpn-st-a-core;}
.scn--vpn .a-stroke{animation-name:vpn-st-a-stroke;}
.scn--vpn .a-label{animation-name:vpn-st-a-label;}
.scn--vpn .a-glow{animation-name:vpn-st-a-glow;opacity:0;}
.scn--vpn .w-atk{animation-name:vpn-ln-w-atk;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .w-atk-g{animation-name:vpn-lg-w-atk;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--vpn .w-atk-p{animation-name:vpn-pk-w-atk-p;offset-path:path('M 91 179 L 214 179 C 236 179 240 262 258 262');offset-rotate:0deg;opacity:0;}
.scn--vpn .c-aim{animation-name:vpn-on-c-aim;opacity:0;}
.scn--vpn .c-aimring{animation-name:vpn-pulse-c-aimring;opacity:0;transform-box:fill-box;transform-origin:center;}
.scn--vpn .v-detect{animation-name:vpn-verb-detect;}
.scn--vpn .w-def{animation-name:vpn-ln-w-def;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .w-def-g{animation-name:vpn-lg-w-def;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--vpn .w-def-p{animation-name:vpn-pk-w-def-p;offset-path:path('M 320 200 C 320 150 360 130 397 130');offset-rotate:0deg;opacity:0;}
.scn--vpn .s-alert{animation-name:vpn-on-s-alert;opacity:0;}
.scn--vpn .s-halo{animation-name:vpn-halo-s-halo;opacity:0;}
.scn--vpn .v-delay{animation-name:vpn-verb-delay;}
.scn--vpn .a-halt{animation-name:vpn-on-a-halt;opacity:0;}
.scn--vpn .v-deny{animation-name:vpn-verb-deny;}
.scn--vpn .pk0{animation-name:vpn-pk-pk0;offset-path:path('M 91 179 L 214 179 C 236 179 240 262 258 262 L 320 262 L 320 200 C 320 150 360 130 397 130');offset-rotate:0deg;opacity:0;}
.scn--vpn .pk1{animation-name:vpn-pk-pk1;offset-path:path('M 91 179 L 214 179 C 236 179 240 262 258 262 L 320 262 L 320 200 C 320 150 360 130 397 130');offset-rotate:0deg;opacity:0;}
.scn--vpn .pk2{animation-name:vpn-pk-pk2;offset-path:path('M 91 179 L 214 179 C 236 179 240 262 258 262 L 320 262 L 320 200 C 320 150 360 130 397 130');offset-rotate:0deg;opacity:0;}
.scn--vpn .s-second{animation-name:vpn-on-s-second;opacity:0;}
.scn--vpn .v-extract{animation-name:vpn-verb-extract;}
.scn--vpn .d-doc{animation-name:vpn-rec-in;opacity:0;transform-box:fill-box;transform-origin:center top;}
.scn--vpn .d-l0{animation-name:vpn-draw-d-l0;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .d-l1{animation-name:vpn-draw-d-l1;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .d-l2{animation-name:vpn-draw-d-l2;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .d-l3{animation-name:vpn-draw-d-l3;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .d-l4{animation-name:vpn-draw-d-l4;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .w-rev{animation-name:vpn-ln-w-rev;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--vpn .w-rev-g{animation-name:vpn-lg-w-rev;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--vpn .w-rev-p{animation-name:vpn-pk-w-rev-p;offset-path:path('M 397 98 L 122 98 Q 110 98 110 110 L 110 150 Q 110 161 88 167.5');offset-rotate:0deg;opacity:0;}
.scn--vpn .cr-stolen{animation-name:vpn-off-cr-stolen;}
.scn--vpn .cr-revoked{animation-name:vpn-on-cr-revoked;opacity:0;}
@keyframes vpn-st-a-core{0%,2.424%{fill:#1B242F}9.697%,31.515%{fill:#2A1A1A}34.545%,100%{fill:#161C23}}
@keyframes vpn-st-a-stroke{0%,2.424%{stroke:#2C3845}9.697%,31.515%{stroke:#E4584A}34.545%,100%{stroke:#2C3845}}
@keyframes vpn-st-a-label{0%,2.424%{fill:#97A7B6}9.697%,31.515%{fill:#FFC9C1}34.545%,100%{fill:#6B7885}}
@keyframes vpn-st-a-glow{0%,2.424%{opacity:0;fill:#F04A3C}9.697%,31.515%{opacity:.78;fill:#F04A3C}34.545%,100%{opacity:0}}
@keyframes vpn-ln-w-atk{0%,9.697%{stroke-dashoffset:1;opacity:1;stroke:#D9433A}16.97%{stroke-dashoffset:0;stroke:#D9433A}31.515%{stroke:#D9433A}34.242%{stroke:var(--scene-line)}93.333%{stroke-dashoffset:0;opacity:1;stroke:var(--scene-line)}96.667%,100%{stroke-dashoffset:0;opacity:0;stroke:var(--scene-line)}}
@keyframes vpn-lg-w-atk{0%,9.697%{stroke-dashoffset:1;opacity:0}10.909%{opacity:0.6}16.97%{stroke-dashoffset:0;opacity:0.6}31.515%{opacity:0.6}34.242%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-pk-w-atk-p{0%,9.697%{offset-distance:0%;opacity:0}10.424%{opacity:1}16.97%{offset-distance:100%;opacity:1}17.576%,100%{offset-distance:100%;opacity:0}}
@keyframes vpn-on-c-aim{0%,18.182%{opacity:0}19.697%,93.333%{opacity:1}96.667%,100%{opacity:0}}
@keyframes vpn-pulse-c-aimring{0%,18.182%{opacity:0;transform:scale(1)}19.03%{opacity:.9;transform:scale(1)}27.515%,100%{opacity:0;transform:scale(2.1)}}
@keyframes vpn-verb-detect{0%,18.182%{fill:#B4BFC6}19.879%,93.333%{fill:#198865}96.667%,100%{fill:#B4BFC6}}
@keyframes vpn-ln-w-def{0%,21.818%{stroke-dashoffset:1;opacity:1;stroke:#198865}27.879%{stroke-dashoffset:0;stroke:#198865}93.333%{stroke-dashoffset:0;opacity:1;stroke:#198865}96.667%,100%{stroke-dashoffset:0;opacity:0;stroke:#198865}}
@keyframes vpn-lg-w-def{0%,21.818%{stroke-dashoffset:1;opacity:0}23.03%{opacity:0.5}27.879%{stroke-dashoffset:0;opacity:0.5}93.333%{stroke-dashoffset:0;opacity:0.5}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-pk-w-def-p{0%,21.818%{offset-distance:0%;opacity:0}22.545%{opacity:1}27.879%{offset-distance:100%;opacity:1}28.485%,100%{offset-distance:100%;opacity:0}}
@keyframes vpn-on-s-alert{0%,27.879%{opacity:0}29.394%,93.333%{opacity:1}96.667%,100%{opacity:0}}
@keyframes vpn-halo-s-halo{0%,27.03%{opacity:0}29.576%{opacity:.9}38.061%,93.333%{opacity:.35}96.667%,100%{opacity:0}}
@keyframes vpn-verb-delay{0%,27.879%{fill:#B4BFC6}29.576%,93.333%{fill:#198865}96.667%,100%{fill:#B4BFC6}}
@keyframes vpn-on-a-halt{0%,31.515%{opacity:0}33.03%,93.333%{opacity:1}96.667%,100%{opacity:0}}
@keyframes vpn-verb-deny{0%,31.515%{fill:#B4BFC6}33.212%,93.333%{fill:#198865}96.667%,100%{fill:#B4BFC6}}
@keyframes vpn-pk-pk0{0%,35.152%{offset-distance:0%;opacity:0}35.879%{opacity:1}46.061%{offset-distance:100%;opacity:1}46.667%,100%{offset-distance:100%;opacity:0}}
@keyframes vpn-pk-pk1{0%,37.273%{offset-distance:0%;opacity:0}38%{opacity:1}48.182%{offset-distance:100%;opacity:1}48.788%,100%{offset-distance:100%;opacity:0}}
@keyframes vpn-pk-pk2{0%,39.394%{offset-distance:0%;opacity:0}40.121%{opacity:1}50.303%{offset-distance:100%;opacity:1}50.909%,100%{offset-distance:100%;opacity:0}}
@keyframes vpn-on-s-second{0%,50.909%{opacity:0}52.424%,93.333%{opacity:1}96.667%,100%{opacity:0}}
@keyframes vpn-verb-extract{0%,50.909%{fill:#B4BFC6}52.606%,93.333%{fill:#3759BF}96.667%,100%{fill:#B4BFC6}}
@keyframes vpn-rec-in{0%,53.939%{opacity:0;transform:translateY(-12px) scale(.94)}57.273%,93.333%{opacity:1;transform:none}96.667%,100%{opacity:0;transform:none}}
@keyframes vpn-draw-d-l0{0%,56.667%{stroke-dashoffset:1;opacity:1}59.091%,93.333%{stroke-dashoffset:0;opacity:1}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-draw-d-l1{0%,58.606%{stroke-dashoffset:1;opacity:1}61.03%,93.333%{stroke-dashoffset:0;opacity:1}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-draw-d-l2{0%,60.545%{stroke-dashoffset:1;opacity:1}62.97%,93.333%{stroke-dashoffset:0;opacity:1}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-draw-d-l3{0%,62.485%{stroke-dashoffset:1;opacity:1}64.909%,93.333%{stroke-dashoffset:0;opacity:1}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-draw-d-l4{0%,64.424%{stroke-dashoffset:1;opacity:1}66.848%,93.333%{stroke-dashoffset:0;opacity:1}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-ln-w-rev{0%,66.667%{stroke-dashoffset:1;opacity:1;stroke:#198865}73.939%{stroke-dashoffset:0;stroke:#198865}93.333%{stroke-dashoffset:0;opacity:1;stroke:#198865}96.667%,100%{stroke-dashoffset:0;opacity:0;stroke:#198865}}
@keyframes vpn-lg-w-rev{0%,66.667%{stroke-dashoffset:1;opacity:0}67.879%{opacity:0.5}73.939%{stroke-dashoffset:0;opacity:0.5}93.333%{stroke-dashoffset:0;opacity:0.5}96.667%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes vpn-pk-w-rev-p{0%,66.667%{offset-distance:0%;opacity:0}67.394%{opacity:1}73.939%{offset-distance:100%;opacity:1}74.545%,100%{offset-distance:100%;opacity:0}}
@keyframes vpn-off-cr-stolen{0%,75.152%{opacity:1}76.667%,96.667%{opacity:0}100%{opacity:1}}
@keyframes vpn-on-cr-revoked{0%,75.152%{opacity:0}76.667%,93.333%{opacity:1}96.667%,100%{opacity:0}}
.scn--credentials { --scn-clock: 16s; }
.scn--credentials .a-core{animation-name:credentials-k-a-core;}
.scn--credentials .a-stroke{animation-name:credentials-k-a-stroke;}
.scn--credentials .a-label{animation-name:credentials-k-a-label;}
.scn--credentials .a-glow{animation-name:credentials-k-a-glow;opacity:0;}
.scn--credentials .a-halt{animation-name:credentials-k-a-halt;opacity:0;}
.scn--credentials .w-atk{animation-name:credentials-k-w-atk;stroke-dashoffset:1;stroke-dasharray:1;}
.scn--credentials .w-atk-g{animation-name:credentials-k-w-atk-g;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--credentials .w-atk-p{animation-name:credentials-k-w-atk-p;offset-path:path('M 91 179 C 120 179 120 120 153 120');offset-rotate:0deg;opacity:0;}
.scn--credentials .c-sweep{animation-name:credentials-k-c-sweep;opacity:0;}
.scn--credentials .c-canary{animation-name:credentials-k-c-canary;opacity:0;}
.scn--credentials .c-ring{animation-name:credentials-k-c-ring;opacity:0;transform-box:fill-box;transform-origin:center;}
.scn--credentials .w-dh{animation-name:credentials-k-w-dh;stroke-dasharray:1;stroke-dashoffset:1;}
.scn--credentials .w-dh-g{animation-name:credentials-k-w-dh-g;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;}
.scn--credentials .w-dh-p{animation-name:credentials-k-w-dh-p;offset-path:path('M 363 230 C 381 230 383 160 397 137');offset-rotate:0deg;opacity:0;}
.scn--credentials .s-alert-h{animation-name:credentials-k-s-alert-h;opacity:0;}
.scn--credentials .s-second-h{animation-name:credentials-k-s-second-h;opacity:0;}
.scn--credentials .s-halo{animation-name:credentials-k-s-halo;opacity:0;}
.scn--credentials .v-detect{animation-name:credentials-k-v-detect;}
.scn--credentials .v-deny{animation-name:credentials-k-v-deny;}
@keyframes credentials-k-a-core{0%,2.5%{fill:#1B242F}10%,43.75%{fill:#2A1A1A}46.875%,96.562%{fill:#161C23}100%{fill:#1B242F}}
@keyframes credentials-k-a-stroke{0%,2.5%{stroke:#2C3845}10%,43.75%{stroke:#E4584A}46.875%,96.562%{stroke:#2C3845}100%{stroke:#2C3845}}
@keyframes credentials-k-a-label{0%,2.5%{fill:#97A7B6}10%,43.75%{fill:#FFC9C1}46.875%,96.562%{fill:#6B7885}100%{fill:#97A7B6}}
@keyframes credentials-k-a-glow{0%,2.5%{opacity:0}10%,43.75%{opacity:.78}46.875%,100%{opacity:0}}
@keyframes credentials-k-a-halt{0%,43.75%{opacity:0}45.312%,93.125%{opacity:1}96.562%,100%{opacity:0}}
@keyframes credentials-k-w-atk{0%{stroke-dashoffset:1;opacity:1;stroke:#D9433A}10%{stroke-dashoffset:1;opacity:1;stroke:#D9433A}17.5%{stroke-dashoffset:0;opacity:1;stroke:#D9433A}43.75%{stroke-dashoffset:0;opacity:1;stroke:#D9433A}46.562%{stroke-dashoffset:0;opacity:1;stroke:var(--scene-line)}93.125%{stroke-dashoffset:0;opacity:1;stroke:var(--scene-line)}96.562%{stroke-dashoffset:0;opacity:0;stroke:var(--scene-line)}100%{stroke-dashoffset:1;opacity:0;stroke:#D9433A}}
@keyframes credentials-k-w-atk-g{0%{stroke-dashoffset:1;opacity:0}10%{stroke-dashoffset:1;opacity:0}11.25%{opacity:.6}17.5%{stroke-dashoffset:0;opacity:.6}43.75%{stroke-dashoffset:0;opacity:.6}46.562%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes credentials-k-w-atk-p{0%{offset-distance:0%;opacity:0}10%{offset-distance:0%;opacity:0}10.75%{opacity:1}17.5%{offset-distance:100%;opacity:1}18.125%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes credentials-k-c-sweep{0%{transform:translateY(0);opacity:0}17.5%{transform:translateY(0);opacity:0}18.125%{transform:translateY(0);opacity:.9}26.25%{transform:translateY(166px);opacity:.9}28.125%{transform:translateY(166px);opacity:0}100%{transform:translateY(166px);opacity:0}}
@keyframes credentials-k-c-canary{0%,26.25%{opacity:0}27.812%,93.125%{opacity:1}96.562%,100%{opacity:0}}
@keyframes credentials-k-c-ring{0%,26.25%{opacity:0;transform:scale(1)}27.125%{opacity:.9;transform:scale(1)}35.875%,100%{opacity:0;transform:scale(2.1)}}
@keyframes credentials-k-w-dh{0%,30%{stroke-dashoffset:1;opacity:1}36.25%,93.125%{stroke-dashoffset:0;opacity:1}96.562%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes credentials-k-w-dh-g{0%,30%{stroke-dashoffset:1;opacity:0}31.25%{opacity:.5}36.25%,93.125%{stroke-dashoffset:0;opacity:.5}96.562%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes credentials-k-w-dh-p{0%{offset-distance:0%;opacity:0}30%{offset-distance:0%;opacity:0}30.75%{opacity:1}36.25%{offset-distance:100%;opacity:1}36.875%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes credentials-k-s-alert-h{0%,36.25%{opacity:0}37.812%,93.125%{opacity:1}96.562%,100%{opacity:0}}
@keyframes credentials-k-s-second-h{0%,40.625%{opacity:0}42.188%,93.125%{opacity:1}96.562%,100%{opacity:0}}
@keyframes credentials-k-s-halo{0%,35.375%{opacity:0}38%{opacity:.9}46.75%,93.125%{opacity:.35}96.562%,100%{opacity:0}}
@keyframes credentials-k-v-detect{0%{fill:#B4BFC6}26.25%{fill:#B4BFC6}28%,93.125%{fill:#198865}96.562%,100%{fill:#B4BFC6}}
@keyframes credentials-k-v-deny{0%{fill:#B4BFC6}40.625%{fill:#B4BFC6}42.375%,93.125%{fill:#198865}96.562%,100%{fill:#B4BFC6}}
@media (prefers-reduced-motion: reduce) {
  .scn :is([class^="w-"],[class^="c-"],[class^="s-"],[class^="v-"],[class^="a-"],[class^="cr-"],[class^="d-"],.scn__pkt), .scn__ring-ai { animation: none !important; }
  .scn--credentials :is(.c-canary, .s-alert-h, .s-second-h) { opacity: 1; }
  .scn :is([class^="w-"], [class^="d-l"], .a-box) { stroke-dasharray: none; stroke-dashoffset: 0; }
  .scn :is(.w-atk, .w-use) { stroke: var(--scene-line); }
  .scn [class$="-g"] { opacity: 0; }
  .scn :is(.c-canary, .c-aim, .s-alert, .s-second, .a-halt, .a-contained, .cr-revoked, .d-doc) { opacity: 1; }
  .scn :is(.cr-stolen, .c-sweep, .scn__pkt, [class*="ring"]:not(.scn__ring-ai), .a-glow, .s-halo) { opacity: 0; }
  .scn :is(.v-detect, .v-delay, .v-deny) { fill: #198865; }
  .scn .v-extract { fill: #3759BF; }
}
.stats--soft {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}
.stats--soft .stat {
  border: 1px solid var(--hairline);
  border-radius: var(--r-lg);
  background: var(--stat-soft-bg);
  padding: 1.4rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.stats--soft .stat__word {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-deep);
}
.stats--soft .stat__value {
  font-size: clamp(2.1rem, 3.4vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.stats--soft .stat--extract .stat__word { color: var(--royal); }
@media (max-width: 900px) { .stats--soft { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
