/* ============================================================
   GeneWorks inner-page deck theme
   Matches index.html: #0B1320 ground, plum glow that rotates
   around the frame (tl → tm → tr → br → bl), outline cards,
   teal kickers. Footer stays light paper. No mascot.
   ============================================================ */

body.deck-page{
  --black:#0B1320;
  --plum:#4A154B;
  --teal:#00BFAE;
  --box-line:rgba(255,255,255,.22);
  --d-bright:#fff;
  --d-muted:rgba(255,255,255,.72);
  --d-faint:rgba(255,255,255,.62);
  --ink:#fff;
  --body:#fff;
  --muted:rgba(255,255,255,.72);
  --faint:rgba(255,255,255,.62);
  --accent:#fff;
  --accent-d:#fff;
  --accent-br:#fff;
  --cyan:#fff;
  --cyan-btn:#fff;
  --cyan-ink:#fff;
  --cyan-lift:#fff;
  --blue:#fff;
  --blue-lift:#fff;
  --green:#fff;
  --violet:#fff;
  --amber:#fff;
  --pa:#fff;
  --pa-ink:#fff;
  --paper:transparent;
  --ice:transparent;
  --bg:#0B1320;
  --line:rgba(255,255,255,.22);
  --line-strong:rgba(255,255,255,.32);
  --hair:rgba(255,255,255,.14);
  background:#0B1320;
  color:#fff;
}
body.deck-page .pp{
  --ink:#fff;
  --body:#fff;
  --muted:rgba(255,255,255,.72);
  --faint:rgba(255,255,255,.62);
  --accent:#fff;
  --accent-br:#fff;
  --pa:#fff;
  --pa-ink:#fff;
  --pa-lite:rgba(255,255,255,.72);
  --blue:#fff;
  --paper:transparent;
  --ice:transparent;
  --line:rgba(255,255,255,.22);
  --line-strong:rgba(255,255,255,.32);
  background:#0B1320;
  color:#fff;
}
body.deck-page h1,
body.deck-page h2,
body.deck-page h3,
body.deck-page h4,
body.deck-page .pp h1,
body.deck-page .pp h2,
body.deck-page .pp h3,
body.deck-page .title,
body.deck-page .mark,
body.deck-page .promise,
body.deck-page strong,
body.deck-page b{
  color:#fff;
}
body.deck-page .lede,
body.deck-page .pp .lede,
body.deck-page p{
  color:#fff;
}
body.deck-page .eyebrow,
body.deck-page .kicker,
body.deck-page .ip-kicker{
  color:var(--teal);
}
body.deck-page .lbl,
body.deck-page .lbl.acc,
body.deck-page .pfnum,
body.deck-page .grouplabel{
  color:#fff;
}
body.deck-page .eyebrow .bar{background:var(--teal)}

/* ── rotating plum glow ── */
.slide-dark{
  position:relative;
  background:#0B1320;
  color:#fff;
  overflow:hidden;
}
.slide-dark::before{
  content:"";
  position:absolute;
  width:62%;
  height:72%;
  pointer-events:none;
  z-index:0;
  background:radial-gradient(ellipse at 50% 50%, rgba(74,21,75,.56) 0%, rgba(74,21,75,.2) 42%, transparent 74%);
}
.slide-dark.glow-tl::before{top:-22%;left:-14%;right:auto;bottom:auto;transform:none}
.slide-dark.glow-tm::before{top:-28%;left:50%;right:auto;bottom:auto;width:78%;height:78%;transform:translateX(-50%)}
.slide-dark.glow-tr::before{top:-22%;right:-14%;left:auto;bottom:auto;transform:none}
.slide-dark.glow-br::before{bottom:-22%;right:-14%;top:auto;left:auto;transform:none}
.slide-dark.glow-bl::before{bottom:-22%;left:-14%;top:auto;right:auto;transform:none}
.slide-dark > *{position:relative;z-index:1}
.slide-dark{border-top:1px solid rgba(248,250,252,.42)}
body.deck-page .slide-dark:first-of-type,
body.deck-page header.slide-dark{border-top:0}

/* Thin off-white hairline — the terms-page separator, on every deck document */
body.deck-page{
  --hairline:1px solid rgba(248,250,252,.42);
}
body.deck-page .ip-hero,
body.deck-page .phero,
body.deck-page header.hero,
body.deck-page .pp .hero,
body.deck-page .dochero{
  border-bottom:var(--hairline);
}
body.deck-page .dochero{padding-bottom:40px;margin-bottom:12px}
body.deck-page .stats{border-top:var(--hairline)}
body.deck-page .toc{
  border-bottom:var(--hairline);
  padding-bottom:28px;
  margin-bottom:36px;
}
body.deck-page .doc > [id] + [id]{
  border-top:var(--hairline);
  padding-top:44px;
  margin-top:4px;
}
body.deck-page .docmain section{border-top:var(--hairline)}
body.deck-page .docmain section:first-of-type{border-top:none}
body.deck-page main.wrap > section + section{border-top:var(--hairline)}
body.deck-page .shead{border-bottom:var(--hairline)}

/* ── nav: solid black over dark pages ── */
body.deck-page nav,
body.deck-page nav.scrolled,
body.deck-page header.nav,
body.deck-page .nav{
  background:#0B1320;
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
}
body.deck-page nav .nav-links a,
body.deck-page nav .nav-prod-trigger,
body.deck-page .nav .nav-links a,
body.deck-page .nav .nav-prod-trigger{
  color:rgba(255,255,255,.86);
}
body.deck-page nav .nav-links a:hover,
body.deck-page nav .nav-links a.active,
body.deck-page nav .nav-prod-trigger:hover,
body.deck-page nav .nav-prod-trigger.active{
  color:#fff;
}
body.deck-page nav .nav-wait,
body.deck-page .nav .nav-wait{
  background:#fff;
  color:#0B1320;
}
body.deck-page nav .nav-wait:hover,
body.deck-page .nav .nav-wait:hover{
  background:#F2F2F3;
  color:#0B1320;
}
body.deck-page nav .nav-burger span,
body.deck-page .nav-burger span{background:#fff}
body.deck-page nav .brand,
body.deck-page .nav .brand,
body.deck-page .brand{
  font-family:Outfit,sans-serif;
  font-size:29px;
  font-weight:700;
  letter-spacing:-.045em;
  line-height:1;
  color:#fff;
}
body.deck-page nav .brand img,
body.deck-page .nav .brand img,
body.deck-page .gw-sitebar-brand img{
  filter:none;
}
body.deck-page .brand i,
body.deck-page nav .brand i,
body.deck-page .nav .brand i{
  color:#00BFAE;
  font-style:normal;
  font-family:inherit;
}
body.deck-page .mnav .brand,
body.deck-page footer .brand,
body.deck-page .foot-brand{
  font-size:24px;
  color:#0B1320;
}
body.deck-page .mnav .brand i,
body.deck-page footer .brand i,
body.deck-page .foot-brand i{
  color:#00BFAE;
}

/* Products mega — dark station board */
body.deck-page .mega{
  background:radial-gradient(ellipse 72% 90% at 6% -10%,rgba(74,21,75,.42),transparent 58%),#0B1320;
  border-color:rgba(255,255,255,.22);
}
body.deck-page nav .nav-links a.mprod-card,
body.deck-page .nav .nav-links a.mprod-card{
  color:#fff;
  border:0;
}
body.deck-page nav .nav-links a.mprod-card:hover,
body.deck-page .nav .nav-links a.mprod-card:hover,
body.deck-page nav .nav-links a.mprod-card:focus-visible,
body.deck-page .nav .nav-links a.mprod-card:focus-visible{
  color:#fff;
  background:rgba(255,255,255,.045);
  border:0;
}

/* ── kill light bands ── */
body.deck-page .sec,
body.deck-page .sec.bg,
body.deck-page .sec.paper,
body.deck-page .sec.ice,
body.deck-page .sec.dark,
body.deck-page .sec.plum,
body.deck-page .phero,
body.deck-page .pp .hero,
body.deck-page .pp .pfsec,
body.deck-page .pp .pfsec.ice,
body.deck-page .pp .band,
body.deck-page .pp .cap,
body.deck-page .pp .gov,
body.deck-page .pp .suite,
body.deck-page .pp .close,
body.deck-page .pp .ro{
  background:#0B1320;
  background-image:none;
  color:#fff;
}
body.deck-page .pp .hero::after{background:none}
body.deck-page .pp .hero{
  background:#0B1320;
}

/* ── outline cards, no filled boxes ── */
body.deck-page .formcard,
body.deck-page .custitem,
body.deck-page .oitem,
body.deck-page .outitem,
body.deck-page .vcard,
body.deck-page .vcard.us,
body.deck-page .mod,
body.deck-page .plan,
body.deck-page .cmp .c,
body.deck-page .pp .lay,
body.deck-page .pp .ro,
body.deck-page .vp,
body.deck-page .card{
  background:transparent;
  background-image:none;
  box-shadow:none;
  border:1px solid var(--box-line);
  color:#fff;
  border-radius:18px;
}
body.deck-page .olist{
  background:transparent;
  border:0;
  gap:14px;
}
body.deck-page .closing{
  background:transparent;
  background-image:none;
  box-shadow:none;
  border:0;
  color:#fff;
}
body.deck-page .phero-line{color:#fff}

body.deck-page .field input,
body.deck-page .field select,
body.deck-page .field textarea{
  background:transparent;
  color:#fff;
  border:1px solid var(--box-line);
}
body.deck-page .field input::placeholder,
body.deck-page .field textarea::placeholder{color:rgba(255,255,255,.42)}
body.deck-page .field select option{background:#0B1320;color:#fff}

body.deck-page .tbl th,
body.deck-page .tbl td,
body.deck-page .pp .mtx th,
body.deck-page .pp .mtx td,
body.deck-page .pp .vsr,
body.deck-page .pp .vs,
body.deck-page .pp .tierline,
body.deck-page .faqitem,
body.deck-page .case,
body.deck-page .tlitem{
  border-color:var(--box-line);
  color:#fff;
}
body.deck-page .tbl td.strong,
body.deck-page .tbl td.big,
body.deck-page .pp .mtx td.lead b{color:#fff}

body.deck-page .callout{
  background:transparent;
  border-left:1px solid var(--box-line);
  color:#fff;
}
body.deck-page .docnav{
  border-color:var(--box-line);
}
body.deck-page .docnav a{color:rgba(255,255,255,.72)}
body.deck-page .docnav a:hover{color:#fff}

/* why / pricing standalone pages */
body.deck-page .sec.plum,
body.deck-page .sec.dark{
  background:#0B1320;
  color:#fff;
}

/* buttons on dark */
body.deck-page .btn.ghost,
body.deck-page .btn-ghost{
  border-color:rgba(255,255,255,.24);
  color:#fff;
  background:transparent;
}
body.deck-page .pp .band,
body.deck-page .pp .fig,
body.deck-page .pp .chip,
body.deck-page .vp h3,
body.deck-page .vp p,
body.deck-page .formcard h3,
body.deck-page .formcard .fsub,
body.deck-page .phero h1 em{
  color:#fff;
}
body.deck-page .pp .chip{
  background:transparent;
  border:1px solid var(--box-line);
}
body.deck-page .gw-sitebar{
  background:#0B1320;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.deck-page .gw-sitebar a{color:rgba(255,255,255,.86)}

/* Site chrome footer stays light paper — same as index.
   Do not paint in-document colophons (technical capabilities). */
body.deck-page footer:has(.foot-in){
  background:#F2F2F3;
  color:#0F1F2E;
  border-top:1px solid rgba(15,31,46,.08);
}
body.deck-page footer:has(.foot-in),
body.deck-page footer:has(.foot-in) a,
body.deck-page footer:has(.foot-in) p,
body.deck-page footer:has(.foot-in) .foot-copy,
body.deck-page footer:has(.foot-in) .foot-links a{
  color:#0F1F2E;
}
body.deck-page footer:has(.foot-in) .brand img{filter:none}

body.deck-page ::selection{background:rgba(255,255,255,.22);color:#fff}

/* Chromatic lock — teal only on eyebrow/kicker and the wordmark period.
   Every other live page except index.html uses body.deck-page. */
body.deck-page .doc li:before,
body.deck-page .feat li:before,
body.deck-page .it .mk,
body.deck-page .col3 .ix,
body.deck-page .mod .ml,
body.deck-page .appblock .tagline,
body.deck-page .tbl td.acc,
body.deck-page .th .pct,
body.deck-page .code .a,
body.deck-page .code .g,
body.deck-page .code .r,
body.deck-page .code .c{
  color:#fff;
}
body.deck-page .callout{
  border-color:var(--box-line);
  background:transparent;
  color:#fff;
}
body.deck-page .tag,
body.deck-page .cap-note .tag,
body.deck-page .pill,
body.deck-page .step .sn,
body.deck-page .step.gate .sn{
  color:#fff;
}
body.deck-page .eyebrow,
body.deck-page .eyebrow .ix,
body.deck-page .kicker,
body.deck-page .ip-kicker,
body.deck-page .updated,
body.deck-page .grouplabel,
body.deck-page .docnav .grp,
body.deck-page .ip-card .n,
body.deck-page .sec.dark .eyebrow,
body.deck-page .sec.plum .eyebrow,
body.deck-page .sec.dark .eyebrow .ix,
body.deck-page .sec.plum .eyebrow .ix{
  color:var(--teal);
}
body.deck-page .eyebrow .bar{background:var(--teal)}
body.deck-page .brand i{color:var(--teal)}

body.deck-page .btn-cyan,
body.deck-page .btn-primary,
body.deck-page .btn-light{
  background:#fff;color:#0B1320;box-shadow:none;
}
body.deck-page .btn-cyan:hover,
body.deck-page .btn-primary:hover,
body.deck-page .btn-light:hover{
  background:#F2F2F3;color:#0B1320;
}
body.deck-page .skip-link{background:#fff;color:#0B1320}
body.deck-page .title em,
body.deck-page h1 em,
body.deck-page .stat .v,
body.deck-page .oitem .on,
body.deck-page .outitem .ov{
  color:#fff;background:none;
}
body.deck-page .outitem::before{display:none;background:none}

body.deck-page .pp .ro-row .v.ok,
body.deck-page .pp .tick,
body.deck-page .pp .cmp.good h5,
body.deck-page .pp .cmp.good li span,
body.deck-page .pp .fnode.ok .fv,
body.deck-page .pp .chip.ok{
  color:#fff;background:transparent;border-color:var(--box-line);box-shadow:none;
}
body.deck-page .pp .ro-row .v.ok::before{background:#fff;box-shadow:none}
body.deck-page .pp .tick{background:rgba(255,255,255,.12);color:#fff}

body.deck-page footer .foot-social a,
body.deck-page footer .foot-social a[aria-label="YouTube"],
body.deck-page footer .foot-social a[aria-label="X"],
body.deck-page footer .foot-social a[aria-label="LinkedIn"]{
  color:#0F1F2E;
}
body.deck-page .vid-play svg{fill:#0B1320}
