@font-face {
  font-family:Barlow;
  src:url(/assets/font-2.ttf)
}
@font-face {
  font-family:DM;
  src:url(/assets/font-3.ttf)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:auto
}
body {
  margin:0;
  background:#080f1c;
  color:#edf3fc;
  font-family:DM,Arial,sans-serif;
  font-size:16px;
  line-height:1.55
}
.proposal {
  padding:8px 5%;
  background:#b8afff;
  color:#111529;
  font:11px/1.3 monospace;
  letter-spacing:.09em
}
header {
  padding:20px 5%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#080f1c;
  border-bottom:1px solid #253046
}
header img {
  width:218px;
  height:auto
}
nav {
  display:flex;
  gap:23px;
  font-size:12px
}
nav span {
  color:#e0e7f2
}
.navcta {
  padding:10px 14px;
  border:1px solid #9e90ff;
  color:#fff
}
.mobilemenu {
  display:none
}
h1,h2,h3 {
  font-family:Barlow,Arial,sans-serif;
  line-height:1.04;
  font-weight:600;
  letter-spacing:-.02em;
  margin:0
}
h1 {
  font-size:82px;
  max-width:680px
}
h2 {
  font-size:52px;
  max-width:800px
}
h3 {
  font-size:31px
}
p {
  margin:16px 0;
  color:#bac7da
}
.wrap {
  max-width:1180px;
  margin:auto;
  padding:70px 0
}
.hero {
  position:relative;
  min-height:635px;
  display:flex;
  align-items:center;
  overflow:hidden
}
.hero>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:1;
  filter:brightness(1.3) contrast(1.04)
}
.shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#070e1de8 0%,#070e1d8c 47%,#070e1d00 85%)
}
.hero .wrap {
  position:relative;
  width:100%;
  padding-top:65px;
  padding-bottom:64px
}
.eyebrow {
  color:#afa2ff;
  letter-spacing:.17em;
  font:11px/1.5 monospace;
  text-transform:uppercase;
  margin:0 0 23px
}
h1 em,h2 em {
  font-style:normal;
  color:#b5a9ff
}
.hero p {
  max-width:510px;
  font-size:19px;
  line-height:1.6
}
.buttons {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:26px 0 21px
}
.btn {
  display:inline-flex;
  padding:15px 21px;
  align-items:center;
  gap:20px;
  font-size:13px;
  font-weight:bold;
  line-height:1.3;
  background:#aa9aff;
  color:#101426
}
.btn.secondary {
  background:#101b2ab3;
  border:1px solid #9baac0;
  color:#f5f7fc
}
.small {
  font-size:12px;
  color:#a6b5ca
}
.heronote {
  font-size:11px!important;
  letter-spacing:.03em;
  margin-top:27px!important
}
.imagecredit {
  position:absolute;
  right:20px;
  bottom:12px;
  font-size:9px;
  background:#080f1cb0;
  color:#cbd5e3;
  padding:3px 6px
}
.stakes {
  background:#f4f5f9;
  color:#0b1630
}
.stakes p {
  color:#4a5871
}
.stakes .eyebrow,.industries .eyebrow {
  color:#6650a4
}
.stakes .wrap {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:60px;
  padding-top:54px;
  padding-bottom:48px
}
.stakes h2 {
  font-size:42px
}
.numbers {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px
}
.number strong {
  display:block;
  font:48px/1.1 Barlow;
  color:#342383
}
.number p {
  font-size:12px;
  line-height:1.6;
  margin:10px 0
}
.number a {
  color:#473293;
  font-size:11px
}
.scopeline {
  grid-column:1/-1;
  font-size:10px!important;
  margin-top:-27px!important
}
.sectionIntro {
  max-width:680px;
  margin-bottom:36px
}
.sectionIntro p {
  font-size:17px
}
.sevenGrid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:56px
}
.problems {
  order:0
}
.problem {
  display:grid;
  grid-template-columns:30px 1fr;
  gap:12px;
  border-top:1px solid #2c3a51;
  padding:18px 0
}
.n {
  font:14px/1.3 monospace;
  color:#afa2ff
}
.problem h3 {
  font-size:25px;
  line-height:1.1
}
.problem p {
  font-size:12px;
  margin:7px 0 0;
  line-height:1.5
}
.problem small {
  display:block;
  color:#99a8bf;
  font-size:10px;
  margin-top:5px
}
.proofs {
  order:1
}
.proof {
  position:relative;
  background:#122036;
  margin-bottom:20px;
  border:1px solid #2e3d55
}
.proof img {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block
}
.play {
  position:absolute;
  top:27%;
  left:45%;
  width:46px;
  height:46px;
  border:1px solid white;
  border-radius:100%;
  display:grid;
  place-items:center;
  color:white;
  background:#111c2d88
}
.proof .desc {
  padding:15px 20px
}
.proof .eyebrow {
  margin:0 0 5px;
  font-size:9px
}
.proof h3 {
  font-size:27px
}
.proof p {
  font-size:11px;
  line-height:1.55;
  margin:8px 0 0
}
.proofs .proof:nth-child(2) img {
  aspect-ratio:2.4/1
}
.modelcall {
  border-left:3px solid #8bd4e2;
  padding:5px 0 5px 18px;
  font-size:13px;
  color:#b1e8f0
}
.modelcall small {
  display:block;
  color:#9fb1c9;
  font-size:10px;
  line-height:1.5;
  margin-top:5px
}
.loopSection {
  background:#101b2c;
  border-block:1px solid #29394f
}
.loopGrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.loopCard {
  padding:30px;
  border:1px solid #61c2e1;
  border-top:4px solid #61c2e1;
  background:#0a1423
}
.loopCard.work {
  border-color:#b2a4ff
}
.loopCard h3 {
  font-size:38px;
  margin:10px 0
}
.loopCard p {
  font-size:14px
}
.modlist {
  font-size:12px;
  color:#c6d3e4;
  line-height:2.1
}
.direction {
  display:flex;
  justify-content:center;
  gap:30px;
  padding:18px;
  color:#c0cfe5;
  font:11px/1.5 monospace
}
.reviewGate {
  padding:24px 30px;
  background:#20312f;
  border-left:4px solid #73d7b6;
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:20px
}
.reviewGate h3 {
  font-size:30px;
  color:#91e4c7
}
.reviewGate p {
  margin:0;
  font-size:13px;
  color:#c1d9d2
}
.shared {
  font-size:12px;
  border-top:1px solid #314259;
  padding-top:20px;
  margin-top:25px
}
.math {
  background:#090f1b
}
.mathrow {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  margin:35px 0 20px
}
.mathitem {
  border-top:1px solid #677187;
  padding-top:20px
}
.mathitem strong {
  font:57px/1 Barlow;
  color:#b2a4ff
}
.mathitem p {
  font-size:13px;
  max-width:280px
}
.math .small {
  max-width:920px;
  line-height:1.7
}
.industries {
  background:#f4f5f9;
  color:#0d1830
}
.industries p {
  color:#4b5a73
}
.industryGrid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#cad0de;
  border:1px solid #cad0de
}
.industry {
  background:#f4f5f9;
  padding:25px 20px;
  min-height:176px
}
.industry h3 {
  font-size:28px
}
.industry p {
  font-size:11px;
  line-height:1.55
}
.industry .status {
  font:9px/1.4 monospace;
  color:#6555a4
}
.ownership .wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center
}
.ownership img {
  width:100%;
  aspect-ratio:1.1;
  object-fit:cover
}
.ownership p {
  font-size:16px
}
.ownership .small {
  font-size:11px
}
.closing {
  background:#b5a8ff;
  color:#111a31
}
.closing .wrap {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:80px
}
.closing p {
  color:#25304d;
  font-size:15px
}
.closing .btn {
  background:#101a31;
  color:#fff
}
.closing .secondary {
  background:transparent;
  border-color:#4c456b;
  color:#1a2442
}
.steps {
  border-top:1px solid #7d70b2;
  padding-top:15px;
  font-size:13px;
  line-height:1.7;
  color:#182341
}
.steps div {
  margin-bottom:17px
}
footer .wrap {
  padding:35px 0;
  display:flex;
  justify-content:space-between;
  gap:30px;
  font-size:10px;
  color:#8e9eb5
}
footer img {
  width:190px;
  height:auto
}
.links {
  max-width:650px;
  line-height:2.4
}
.links span {
  margin-right:17px
}
a {
  color:inherit
}
.wirelabel {
  font:9px/1.6 monospace;
  color:#7187a3;
  margin-top:20px
}
.reviewlink {
  position:fixed;
  right:15px;
  bottom:15px;
  padding:10px 14px;
  background:#f5f6fa;
  color:#1a2441;
  border:1px solid #9b90df;
  font-size:11px;
  z-index:8;
  text-decoration:none
}
@media(max-width:1230px) {
  .wrap {
    margin:0 5%
  }
  nav {
    gap:15px;
    font-size:11px
  }
}
@media(max-width:760px) {
  body {
    font-size:14px
  }
  .proposal {
    font-size:9px;
    padding:8px 6%
  }
  header {
    padding:18px 6%
  }
  header img {
    width:180px
  }
  nav {
    display:none
  }
  .mobilemenu {
    display:block;
    font-size:12px;
    color:#d2d9e5
  }
  .wrap {
    margin:0 6%;
    padding:50px 0
  }
  h1 {
    font-size:59px;
    max-width:340px
  }
  h2 {
    font-size:42px
  }
  h3 {
    font-size:27px
  }
  .hero {
    min-height:640px;
    align-items:start
  }
  .hero>img {
    object-position:67% center;
    opacity:.6
  }
  .shade {
    background:linear-gradient(90deg,#07101cef 0%,#07101caa 85%)
  }
  .hero .wrap {
    padding:46px 0 48px;
    width:auto
  }
  .hero p {
    font-size:16px;
    max-width:310px;
    line-height:1.65
  }
  .eyebrow {
    font-size:9px;
    margin-bottom:18px
  }
  .buttons {
    gap:12px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    max-width:320px
  }
  .btn {
    justify-content:space-between;
    padding:15px 18px;
    font-size:12px
  }
  .hero .heronote {
    font-size:10px!important;
    max-width:300px
  }
  .imagecredit {
    font-size:8px;
    right:15px;
    bottom:9px
  }
  .stakes .wrap {
    display:block;
    padding:42px 0
  }
  .stakes h2 {
    font-size:36px
  }
  .numbers {
    gap:24px;
    margin-top:25px
  }
  .number strong {
    font-size:39px
  }
  .number p {
    font-size:11px
  }
  .scopeline {
    margin-top:20px!important;
    font-size:9px!important
  }
  .sectionIntro p {
    font-size:14px
  }
  .sevenGrid {
    display:flex;
    flex-direction:column;
    gap:30px
  }
  .proofs {
    order:0
  }
  .problems {
    order:1
  }
  .proofs .proof:nth-child(2) {
    display:none
  }
  .proof img {
    aspect-ratio:16/9
  }
  .proof h3 {
    font-size:27px
  }
  .problem {
    padding:16px 0;
    gap:7px
  }
  .problem h3 {
    font-size:26px
  }
  .problem p {
    font-size:12px
  }
  .problem small {
    font-size:9px
  }
  .loopGrid {
    display:block
  }
  .loopCard {
    padding:25px;
    margin-bottom:20px
  }
  .loopCard h3 {
    font-size:34px
  }
  .loopCard p {
    font-size:13px
  }
  .modlist {
    font-size:11px
  }
  .direction {
    padding:12px 0;
    gap:14px;
    font-size:10px
  }
  .reviewGate {
    display:block;
    padding:21px
  }
  .reviewGate h3 {
    margin-bottom:12px
  }
  .reviewGate p {
    font-size:12px
  }
  .shared {
    font-size:11px
  }
  .mathrow {
    display:block
  }
  .mathitem {
    margin-bottom:24px
  }
  .mathitem strong {
    font-size:49px
  }
  .mathitem p {
    max-width:none;
    font-size:13px
  }
  .math .small {
    font-size:10px
  }
  .industryGrid {
    grid-template-columns:repeat(2,1fr)
  }
  .industry {
    min-height:175px;
    padding:20px 14px
  }
  .industry h3 {
    font-size:27px
  }
  .industry p {
    font-size:10px
  }
  .industry .status {
    font-size:8px
  }
  .ownership .wrap {
    display:flex;
    flex-direction:column;
    gap:28px;
    align-items:start
  }
  .ownership img {
    aspect-ratio:16/9
  }
  .ownership p {
    font-size:14px
  }
  .closing .wrap {
    display:block
  }
  .closing .steps {
    margin-top:30px
  }
  .closing p {
    font-size:14px
  }
  footer .wrap {
    display:block
  }
  footer .links {
    margin-top:25px
  }
  .reviewlink {
    display:none
  }
}
a {
  transition:color .15s,background .15s
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid #94e5ef;
  outline-offset:5px
}
a.btn {
  text-decoration:none
}
.skip {
  position:absolute;
  top:-100px;
  left:15px;
  padding:12px;
  background:#fff;
  color:#152038;
  z-index:100
}
.skip:focus {
  top:10px
}
header {
  position:relative;
  z-index:10
}
header a {
  text-decoration:none
}
header nav a:hover {
  color:#c4b6ff
}
.utility {
  padding:6px 5%;
  display:flex;
  justify-content:space-between;
  gap:15px;
  background:#122037;
  font-size:10px;
  color:#b9c9df
}
.utility a {
  margin-left:18px;
  text-decoration:none
}
.mobilemenu {
  color:#fff;
  background:transparent;
  border:1px solid #6d7790;
  padding:9px 12px;
  font:inherit
}
.btn {
  cursor:pointer;
  border:0;
  font-family:inherit
}
.mobilemenu:hover,.btn:hover {
  filter:brightness(1.12)
}
.hero h1 {
  font-size:76px;
  max-width:720px
}
.hero>img {
  filter:brightness(1.4) contrast(1.04)
}
.play {
  cursor:pointer;
  font:22px Arial
}
.proof iframe {
  width:100%;
  border:0;
  aspect-ratio:16/9;
  display:block
}
.proof .video-action {
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#152239;
  cursor:pointer
}
.proof .play {
  top:calc(50% - 23px);
  left:calc(50% - 23px)
}
.modelcall a {
  text-decoration:none
}
.industry {
  display:block;
  text-decoration:none
}
.industry:hover {
  background:#e6e3f4
}
.modlist a {
  display:block;
  text-decoration:none
}
.modlist a:hover {
  text-decoration:underline
}
.proof .desc a {
  text-decoration:none
}
.badge {
  display:inline-block;
  padding:5px 9px;
  background:#233448;
  color:#a7e1e9;
  font:10px/1.4 monospace;
  letter-spacing:.04em
}
.pagehero {
  border-bottom:1px solid #26364e;
  background:linear-gradient(120deg,#111e36,#080f1c)
}
.pagehero .wrap {
  padding-top:65px;
  padding-bottom:55px
}
.pagehero h1 {
  font-size:66px;
  max-width:850px
}
.pagehero p {
  max-width:740px;
  font-size:18px
}
.crumbs {
  font-size:11px;
  color:#96a9c5;
  margin-bottom:28px
}
.crumbs a {
  text-decoration:none
}
.content .wrap {
  padding-top:48px;
  padding-bottom:48px
}
.content h2 {
  font-size:42px;
  margin-bottom:20px
}
.content h3 {
  font-size:29px
}
.content p {
  max-width:820px
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin:25px 0
}
.tile {
  background:#122037;
  border:1px solid #2c3b52;
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:12px
}
.tile h3 {
  font-size:31px
}
.tile p {
  font-size:13px;
  margin:0
}
.tile a {
  color:#c2b5ff
}
.tile .tilelink {
  margin-top:auto;
  font-size:12px;
  text-decoration:none;
  padding-top:10px
}
.two {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:start
}
.panel {
  padding:30px;
  background:#122037;
  border:1px solid #2c3c53
}
.panel p,.panel li {
  font-size:14px
}
.panel ul {
  padding-left:20px
}
.panel h3 {
  margin-bottom:15px
}
.listlinks {
  list-style:none;
  padding:0
}
.listlinks li {
  border-top:1px solid #2e3c50;
  padding:14px 0
}
.listlinks a {
  text-decoration:none;
  color:#c7bbff
}
.listlinks small {
  display:block;
  font-size:11px;
  color:#a0b1ca
}
.statusline {
  font-size:12px!important;
  color:#a8d8e1!important
}
.plain {
  max-width:850px
}
.plain h2 {
  margin-top:35px
}
.plain p,.plain li {
  font-size:15px
}
.inlineproof {
  max-width:700px
}
.video-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.video-grid .proofs {
  order:0
}
.notice {
  border-left:3px solid #8fb5dd;
  padding:15px 20px;
  background:#15243b;
  font-size:13px;
  margin:25px 0
}
.table {
  width:100%;
  border-collapse:collapse;
  font-size:13px
}
.table th,.table td {
  padding:16px 12px;
  text-align:left;
  border-bottom:1px solid #32415a;
  vertical-align:top
}
.table th {
  color:#c3b5ff
}
.table a {
  color:#c7baff
}
.tablewrap {
  overflow-x:auto
}
.flowtabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:25px 0 15px
}
.flowtabs button {
  padding:12px 16px;
  border:1px solid #53677e;
  background:#101e30;
  color:#d9e4f2;
  font:12px DM,Arial;
  cursor:pointer
}
.flowtabs button[aria-selected=true] {
  background:#aea0ff;
  color:#141e34;
  border-color:#aea0ff
}
.flowpanel {
  padding:27px 30px;
  border:1px solid #506582;
  background:#0b1728;
  min-height:192px
}
.flowpanel h3 {
  font-size:31px
}
.flowpanel p {
  font-size:14px;
  max-width:800px
}
.flowpanel a {
  font-size:12px;
  color:#c2b4ff
}
.filterbar {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:25px
}
.filterbar button {
  background:#15233b;
  border:1px solid #455972;
  color:white;
  padding:10px 14px;
  cursor:pointer;
  font-family:inherit
}
.filterbar button[aria-pressed=true] {
  background:#b5a8ff;
  color:#15203b
}
.demo-card[hidden] {
  display:none
}
model-viewer {
  width:100%;
  height:520px;
  background:radial-gradient(#25364e,#0a1423);
  border:1px solid #344960
}
.model-controls {
  display:flex;
  gap:15px;
  margin-top:15px;
  align-items:center
}
.model-controls button {
  background:#a99aff;
  color:#0e1931;
  border:0;
  padding:12px 18px;
  font-family:inherit;
  cursor:pointer
}
.draftform label {
  display:block;
  font-size:13px;
  margin:18px 0 7px;
  color:#d2dff1
}
.draftform input,.draftform textarea,.draftform select {
  width:100%;
  padding:14px 15px;
  border:1px solid #51657e;
  background:#0b1527;
  color:#f1f5fb;
  font:15px DM,Arial;
  border-radius:0
}
.draftform textarea {
  min-height:135px;
  resize:vertical
}
.draftform .two {
  gap:20px
}
.draftform button {
  margin-top:20px
}
.draft-result {
  margin-top:25px;
  padding:25px;
  background:#203d36;
  border:1px solid #83c6ae
}
.draft-result[hidden] {
  display:none
}
.draft-result pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font:13px/1.6 DM,Arial;
  background:#102923;
  padding:20px
}
.draft-result .buttons {
  margin-bottom:0
}
.feedback {
  font-size:12px;
  color:#ace1c4;
  min-height:20px
}
.draftform small {
  color:#a0b1c9
}
.help-row {
  border-block:1px solid #34445e;
  padding:20px 0;
  margin:25px 0
}
.badgelist {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
footer a {
  color:#a8b7cf;
  text-decoration:none
}
footer a:hover {
  text-decoration:underline
}
footer .links a {
  margin-right:17px
}
.reviewlink {
  display:none
}
@media(prefers-reduced-motion:reduce) {
  * {
    transition:none!important;
    scroll-behavior:auto!important
  }
}
@media(max-width:760px) {
  .utility {
    font-size:8px;
    padding:6px 6%
  }
  .utility a {
    margin-left:10px
  }
  .hero h1 {
    font-size:54px;
    max-width:340px
  }
  .hero {
    min-height:635px
  }
  .pagehero .wrap {
    padding-top:38px;
    padding-bottom:38px
  }
  .pagehero h1 {
    font-size:47px
  }
  .pagehero p {
    font-size:16px
  }
  .cards,.two,.video-grid {
    grid-template-columns:1fr
  }
  .tile {
    padding:24px
  }
  .content h2 {
    font-size:36px
  }
  .content .wrap {
    padding-block:38px
  }
  .content .two {
    gap:22px
  }
  .panel {
    padding:25px
  }
  .menu-open header nav {
    display:flex;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#0c182b;
    border-bottom:1px solid #53647d;
    padding:22px 6%;
    flex-direction:column;
    gap:4px;
    box-shadow:0 15px 20px #0005
  }
  .menu-open header nav a {
    font-size:16px;
    padding:12px 0
  }
  .menu-open header nav .navcta {
    padding:13px 18px
  }
  .flowpanel {
    padding:23px;
    min-height:245px
  }
  .flowtabs {
    gap:6px
  }
  .flowtabs button {
    padding:10px 12px;
    font-size:11px
  }
  .table {
    font-size:11px;
    min-width:500px
  }
  .model-controls {
    flex-wrap:wrap
  }
  model-viewer {
    height:370px
  }
  .draftform .two {
    gap:0
  }
  .badge {
    font-size:9px
  }
  .proofs .proof:nth-child(2) {
    display:block
  }
  .hero .heronote {
    font-size:11px!important
  }
}
.buttons > p {
  flex-basis:100%;
  margin:0
}
.utility span:last-child {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end
}
.utility a {
  margin-left:0
}
@media(max-width:760px) {
  .utility {
    align-items:flex-start;
    flex-direction:column;
    gap:3px
  }
  .utility span:last-child {
    justify-content:flex-start
  }
  .utility a {
    margin-left:0
  }
}
