:root {
  --navy:#07152f;
  --ink:#17233f;
  --blue:#1e63ff;
  --orange:#ffb04a;
  --paper:#f6f8fc;
  --line:#dce3ee;
  --muted:#58667d;
  --white:#fff;
  --header-height:5.5rem;
  color-scheme:light
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + 1.25rem)
}
body {
  margin:0;
  background:var(--white);
  color:var(--ink);
  font:1rem/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased
}
button,input {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a {
  color:inherit;
  text-decoration:none
}
button {
  cursor:pointer
}
img {
  max-width:100%;
  height:auto;
  display:block
}
h1,h2,h3,h4,p {
  margin:0
}
h1,h2,h3,h4 {
  font-family:Manrope,Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:-.045em;
  line-height:1.12
}
h2 {
  font-size:clamp(2.05rem,3.45vw,3.25rem);
  font-weight:650
}
h3 {
  font-weight:650
}
p {
  max-width:70ch
}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:5px;
  border-radius:4px
}
[hidden] {
  display:none!important
}
.wrap {
  width:min(100% - 5rem,76rem);
  margin-inline:auto
}
.section {
  padding-block:6.75rem
}
.eyebrow {
  font-size:.8125rem;
  font-weight:750;
  letter-spacing:.135em;
  color:#1851bb;
  line-height:1.5;
  margin-bottom:1.2rem
}
.eyebrow.light {
  color:#b6c9ea
}
.section-heading {
  margin-bottom:2.75rem
}
.section-heading>.section-intro {
  margin-top:1.5rem
}
.section-intro {
  font-size:1.125rem;
  color:var(--muted);
  line-height:1.75;
  max-width:39ch
}
.split-heading {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:5rem;
  align-items:end
}
.skip-link {
  position:fixed;
  left:1rem;
  top:-10rem;
  background:white;
  color:var(--ink);
  padding:.75rem 1rem;
  z-index:100;
  border:2px solid var(--blue)
}
.skip-link:focus {
  top:1rem
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e7ecf3
}
.header-inner {
  min-height:var(--header-height);
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:center
}
.brand {
  flex-shrink:0;
  display:block
}
.brand img {
  width:8.5rem;
  aspect-ratio:738/322;
  object-fit:contain
}
#site-nav {
  display:flex;
  gap:2rem;
  align-items:center
}
#site-nav>a {
  font-size:.9375rem;
  font-weight:650;
  transition:color .15s
}
#site-nav>a:hover {
  color:var(--blue)
}
#site-nav>a.nav-cta {
  background:#edf3ff;
  border:1px solid #dbe6fb;
  padding:.7rem 1.15rem;
  border-radius:.625rem;
  color:#154fba
}
.menu-toggle {
  display:none;
  border:1px solid var(--line);
  background:white;
  border-radius:.625rem;
  min-height:2.8rem;
  padding:.45rem .75rem;
  align-items:center;
  gap:.6rem;
  font-size:.875rem;
  font-weight:650
}
.menu-icon {
  width:1rem;
  height:.75rem;
  border-top:2px solid currentColor;
  border-bottom:2px solid currentColor;
  position:relative
}
.menu-icon:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(50% - 1px);
  border-top:2px solid currentColor
}
.hero {
  background:var(--navy);
  color:#fff;
  position:relative;
  overflow:hidden
}
.hero-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:4rem;
  align-items:center;
  padding-block:4.1rem 3.5rem
}
.hero-copy {
  padding-block:1rem
}
.hero h1 {
  font-size:clamp(3.65rem,6.55vw,6.05rem);
  font-weight:650;
  line-height:1.06;
  letter-spacing:-.06em
}
.hero h1 span {
  color:var(--orange)
}
.hero-description {
  font-size:1.1875rem;
  line-height:1.75;
  color:#c7d2e6;
  max-width:42ch;
  margin-top:1.9rem
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:1.6rem;
  flex-wrap:wrap;
  margin-top:2.2rem
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3.25rem;
  padding:.8rem 1.3rem;
  border-radius:.625rem;
  font-weight:700;
  font-size:1rem;
  line-height:1.45;
  border:1px solid transparent;
  transition:background .18s,transform .18s
}
.button:hover {
  transform:translateY(-2px)
}
.button-orange {
  background:var(--orange);
  color:#15213b
}
.button-orange:hover {
  background:#ffbd66
}
.button-blue {
  background:var(--blue);
  color:#fff
}
.button-blue:hover {
  background:#174fc8
}
.text-link {
  font-size:1rem;
  font-weight:650;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px
}
.light-link {
  color:#d8e4fb
}
.hero-note {
  color:#a5b5d0;
  font-size:.875rem;
  margin-top:1.65rem
}
.hero-visual {
  position:relative;
  min-width:0;
  height:32rem;
  overflow:hidden;
  border-radius:1rem;
  background:#17345a;
  border:1px solid rgba(157,187,237,.25)
}
.hero-visual video {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% 50%;
  display:block
}
.visual-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,21,47,.12) 35%,rgba(7,21,47,.9));
  pointer-events:none
}
.visual-caption {
  position:absolute;
  bottom:2rem;
  left:2rem;
  right:2rem
}
.caption-label {
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  color:#cad6e9
}
.visual-caption p {
  font-size:1.65rem;
  line-height:1.35;
  letter-spacing:-.035em;
  margin-top:.65rem;
  max-width:22ch;
  font-weight:550
}
.video-toggle {
  position:absolute;
  top:1rem;
  right:1rem;
  border:1px solid rgba(255,255,255,.38);
  border-radius:.5rem;
  padding:.4rem .7rem;
  min-height:2.25rem;
  background:rgba(7,21,47,.8);
  color:#fff;
  font-size:.875rem
}
.video-toggle:hover {
  background:#07152f
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.4rem 0 1.65rem;
  border-top:1px solid rgba(171,191,223,.23);
  color:#c8d6ed;
  font-size:.9375rem
}
.hero-bottom span {
  display:flex;
  align-items:center;
  gap:.65rem
}
.hero-bottom span:before {
  content:"";
  height:.45rem;
  width:.45rem;
  background:#6b91dc;
  border-radius:50%;
  flex-shrink:0
}
.solutions {
  background:#fff
}
.solution-rows {
  border-top:1px solid var(--line)
}
.solution-row {
  display:grid;
  grid-template-columns:3.5rem 1fr 10rem;
  align-items:center;
  gap:2rem;
  padding:2rem 0;
  border-bottom:1px solid var(--line)
}
.row-number {
  font-size:1.125rem;
  font-weight:650;
  color:#1e63ff;
  font-variant-numeric:tabular-nums
}
.solution-row h3 {
  font-size:1.55rem;
  letter-spacing:-.035em
}
.solution-row p {
  margin-top:.6rem;
  font-size:1.0625rem;
  color:var(--muted);
  max-width:66ch
}
.row-keyword {
  justify-self:end;
  font-size:.8125rem;
  letter-spacing:.1em;
  font-weight:700;
  color:#63728a
}
.workflow {
  background:var(--paper)
}
.role-tabs {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  margin-bottom:2.75rem;
  padding-bottom:1rem
}
.role-tabs button {
  background:transparent;
  color:var(--muted);
  border:1px solid transparent;
  border-radius:.625rem;
  min-height:3rem;
  font-size:1rem;
  font-weight:650;
  padding:.6rem 1.15rem
}
.role-tabs button[aria-selected=true] {
  background:#e6eeff;
  color:#154fba;
  border-color:#cddcf8
}
.role-tabs button:hover {
  color:#154fba;
  background:#ebf0f8
}
.workflow-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:6rem;
  align-items:start
}
.role-content {
  min-height:24rem
}
.role-label {
  display:block;
  font-size:.8125rem;
  color:#546781;
  font-weight:750;
  letter-spacing:.1em;
  margin-bottom:1.15rem
}
.role-panel h3 {
  font-size:2rem;
  line-height:1.2;
  letter-spacing:-.04em
}
.role-panel>p {
  font-size:1.0625rem;
  color:var(--muted);
  margin-top:1.2rem
}
.role-panel ul {
  padding:0;
  margin:1.6rem 0 0;
  list-style:none;
  display:grid;
  gap:.7rem;
  font-size:1rem
}
.role-panel li {
  padding-left:1.3rem;
  position:relative
}
.role-panel li:before {
  content:"";
  position:absolute;
  left:0;
  top:.65rem;
  width:.45rem;
  height:.45rem;
  border:2px solid #356dd2;
  border-radius:50%
}
.journey-flow {
  background:#fff;
  border:1px solid #d9e2ef;
  padding:2rem;
  border-radius:.875rem
}
.flow-label {
  font-size:.75rem;
  color:#66758e;
  font-weight:750;
  letter-spacing:.105em;
  margin-bottom:1.4rem
}
.journey-flow ol {
  list-style:none;
  padding:0;
  margin:0
}
.journey-flow li {
  position:relative;
  display:flex;
  gap:1.15rem;
  padding-bottom:2.1rem
}
.journey-flow li:last-child {
  padding-bottom:0
}
.journey-flow li:not(:last-child):before {
  content:"";
  position:absolute;
  left:1.125rem;
  top:2.7rem;
  bottom:.45rem;
  border-left:1px solid #c8d7ee
}
.step-number {
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d3e1fc;
  background:#eff4ff;
  color:#1b56be;
  flex-shrink:0;
  width:2.3rem;
  height:2.3rem;
  border-radius:50%;
  font-size:.8125rem;
  font-weight:700
}
.journey-flow h4 {
  font-size:1.125rem;
  line-height:1.4;
  letter-spacing:-.025em;
  margin-top:.25rem
}
.journey-flow li p {
  font-size:.9375rem;
  color:var(--muted);
  margin-top:.35rem
}
.flow-note {
  margin-top:1.6rem;
  padding-top:1.25rem;
  border-top:1px solid var(--line);
  font-size:.875rem;
  color:#66758e
}
.ownership {
  background:#fff;
  border-bottom:1px solid var(--line)
}
.ownership-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:5rem;
  align-items:center
}
.ownership h2 {
  font-size:clamp(1.85rem,2.6vw,2.6rem)
}
.ownership .eyebrow {
  max-width:44ch
}
.ownership-copy p {
  font-size:1.0625rem;
  color:var(--muted)
}
.ownership-copy p+p {
  margin-top:1rem
}
.direction {
  background:#fff
}
.direction-intro {
  max-width:40ch
}
.development-label {
  display:inline-block;
  border:1px solid #e4c898;
  background:#fff5e5;
  color:#71460b;
  border-radius:100px;
  padding:.35rem .85rem;
  font-size:.875rem;
  font-weight:650;
  margin-bottom:1rem
}
.direction-intro p {
  font-size:1.0625rem;
  color:var(--muted)
}
.channels {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem;
  padding:2.25rem 0 2.75rem;
  margin:0;
  list-style:none;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.channel-number {
  font-size:.875rem;
  color:#1e63ff;
  letter-spacing:.1em;
  font-weight:700;
  display:block;
  margin-bottom:1rem
}
.channels h3 {
  font-size:1.6rem;
  letter-spacing:-.035em
}
.channels p {
  font-size:1.0625rem;
  color:var(--muted);
  margin-top:.85rem
}
.joined-story {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:4rem;
  align-items:center;
  padding:3rem;
  margin-top:3rem;
  background:#edf3ff;
  border-left:4px solid #1e63ff;
  border-radius:0 .875rem .875rem 0
}
.joined-story .eyebrow {
  margin-bottom:.75rem
}
.joined-story h3 {
  font-size:2.1rem;
  line-height:1.15
}
.joined-story>p {
  font-size:1.0625rem;
  color:#4e6080
}
.ecosystem {
  background:#f6f8fc
}
.ecosystem-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:6rem;
  align-items:center
}
.ecosystem-grid>div:first-child>p:last-child {
  margin-top:1.5rem;
  color:var(--muted);
  font-size:1.125rem;
  max-width:47ch
}
.temubus-story {
  padding:2.5rem 2rem;
  border-left:1px solid #cfdaed
}
.temubus-story img {
  width:13rem;
  height:auto;
  max-height:5rem;
  object-fit:contain;
  object-position:left center
}
.temubus-story>p {
  margin:1.3rem 0 1.7rem;
  font-size:1.5rem;
  line-height:1.5;
  font-weight:600;
  letter-spacing:-.035em
}
.faq-grid {
  display:grid;
  grid-template-columns:.9fr 1.2fr;
  gap:6rem
}
.faq-grid .section-intro {
  margin-top:1.5rem;
  max-width:32ch
}
.faq-list {
  border-top:1px solid var(--line)
}
.faq-list details {
  border-bottom:1px solid var(--line)
}
.faq-list summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  list-style:none;
  cursor:pointer;
  padding:1.55rem 0;
  font-size:1.125rem;
  line-height:1.5;
  font-weight:650
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-symbol {
  width:1rem;
  height:1rem;
  position:relative;
  flex-shrink:0
}
.faq-symbol:before,.faq-symbol:after {
  content:"";
  position:absolute;
  top:calc(50% - 1px);
  width:1rem;
  border-top:2px solid #5c6b81
}
.faq-symbol:after {
  transform:rotate(90deg)
}
details[open] .faq-symbol:after {
  transform:rotate(0)
}
.faq-list details>p {
  padding:0 2.5rem 1.5rem 0;
  color:var(--muted);
  font-size:1.0625rem
}
.closing {
  background:var(--navy);
  color:#fff;
  padding-block:4rem
}
.closing-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:3rem
}
.closing h2 {
  font-size:clamp(1.9rem,3.05vw,2.9rem)
}
.closing .eyebrow {
  margin-bottom:1rem
}
.closing .button {
  flex-shrink:0
}
.site-footer {
  padding-block:2.25rem 1.5rem;
  background:#fff
}
.footer-top {
  display:flex;
  gap:2.75rem;
  align-items:center;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--line)
}
.footer-top>.brand img {
  width:7rem
}
.footer-top>p {
  color:var(--muted);
  font-size:1rem
}
.footer-top nav {
  margin-left:auto;
  display:flex;
  gap:1.75rem;
  font-size:.9375rem;
  font-weight:650
}
.footer-top nav a:hover {
  color:var(--blue)
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  padding-top:1.35rem;
  font-size:.8125rem;
  color:#637189
}
@media(min-width:1600px) {
  .hero-grid {
    gap:6rem
  }
  .hero-visual {
    height:34rem
  }
}
@media(max-width:1050px) {
  .wrap {
    width:min(100% - 3rem,76rem)
  }
  #site-nav {
    gap:1.25rem
  }
  .hero-grid {
    gap:2.5rem;
    grid-template-columns:1.2fr 1fr
  }
  .hero h1 {
    font-size:clamp(3.3rem,6.4vw,5rem)
  }
  .hero-visual {
    height:30rem
  }
  .hero-actions {
    gap:1.25rem
  }
  .workflow-grid,.ecosystem-grid,.faq-grid {
    gap:3rem
  }
  .split-heading,.ownership-grid {
    gap:3rem
  }
  .hero-bottom {
    font-size:.875rem
  }
  .channels {
    gap:2rem
  }
  .section {
    padding-block:5.5rem
  }
}
@media(max-width:800px) {
  :root {
    --header-height:4.5rem
  }
  .wrap {
    width:min(100% - 2.5rem,76rem)
  }
  .header-inner {
    position:relative;
    gap:1rem
  }
  .brand img {
    width:7.4rem
  }
  .menu-toggle {
    display:inline-flex
  }
  #site-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:calc(100% - 1px);
    background:white;
    border:1px solid var(--line);
    border-radius:0 0 .8rem .8rem;
    padding:1.1rem;
    box-shadow:0 10px 20px #07152f0d;
    align-items:stretch;
    gap:.25rem
  }
  #site-nav.is-open {
    display:flex;
    flex-direction:column
  }
  #site-nav>a {
    padding:.7rem .75rem;
    min-height:2.8rem
  }
  #site-nav>a.nav-cta {
    margin-top:.5rem;
    text-align:center
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:2.5rem;
    padding-block:3rem 2.5rem
  }
  .hero-copy {
    padding:0
  }
  .hero h1 {
    font-size:clamp(3.3rem,9vw,5rem)
  }
  .hero-description {
    font-size:1.125rem;
    max-width:47ch
  }
  .hero-visual {
    height:23rem;
    max-width:100%;
    border-radius:.875rem
  }
  .hero-visual video {
    object-position:center 50%
  }
  .hero-note {
    margin-top:1.4rem
  }
  .hero-bottom {
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:.8rem 2rem;
    padding-block:1.25rem
  }
  .section {
    padding-block:4.5rem
  }
  .split-heading {
    grid-template-columns:1fr;
    gap:1.5rem
  }
  .section-heading {
    margin-bottom:2rem
  }
  .section-intro {
    max-width:50ch
  }
  .solution-row {
    grid-template-columns:2.2rem 1fr;
    gap:1rem;
    padding-block:1.75rem
  }
  .row-keyword {
    display:none
  }
  .solution-row h3 {
    font-size:1.4rem
  }
  .solution-row p {
    font-size:1rem
  }
  .workflow-grid,.ownership-grid,.ecosystem-grid,.faq-grid {
    grid-template-columns:1fr;
    gap:2.5rem
  }
  .role-content {
    min-height:0
  }
  .role-panel h3 {
    font-size:1.8rem
  }
  .role-tabs {
    gap:.25rem;
    margin-bottom:2rem
  }
  .role-tabs button {
    font-size:.9375rem;
    padding:.6rem .85rem
  }
  .journey-flow {
    padding:1.65rem
  }
  .channels {
    gap:1.5rem
  }
  .channels h3 {
    font-size:1.3rem
  }
  .channels p {
    font-size:1rem
  }
  .joined-story {
    grid-template-columns:1fr;
    gap:1.5rem;
    padding:2rem;
    margin-top:2rem
  }
  .joined-story h3 {
    font-size:1.95rem
  }
  .ecosystem-grid {
    gap:2rem
  }
  .temubus-story {
    padding:2rem 0 0;
    border-left:0;
    border-top:1px solid var(--line)
  }
  .faq-grid .section-intro {
    max-width:45ch
  }
  .closing {
    padding-block:3rem
  }
  .closing-inner {
    flex-direction:column;
    align-items:flex-start;
    gap:2rem
  }
  .footer-top {
    flex-wrap:wrap;
    gap:1rem 2rem
  }
  .footer-top nav {
    margin-left:0;
    width:100%;
    gap:1.5rem
  }
  .footer-bottom {
    flex-direction:column;
    gap:.5rem
  }
}
@media(max-width:480px) {
  .wrap {
    width:calc(100% - 2.25rem)
  }
  .hero h1 {
    font-size:clamp(2.75rem,11vw,3.9rem);
    letter-spacing:-.055em
  }
  .hero-grid {
    padding-top:2.75rem;
    gap:2.25rem
  }
  .hero-description {
    font-size:1.0625rem;
    margin-top:1.5rem
  }
  .hero-actions {
    align-items:flex-start;
    flex-direction:column;
    gap:1.2rem;
    margin-top:1.75rem
  }
  .hero-actions .button {
    width:auto
  }
  .hero-visual {
    height:18.5rem
  }
  .visual-caption {
    left:1.5rem;
    right:1.5rem;
    bottom:1.5rem
  }
  .visual-caption p {
    font-size:1.4rem
  }
  .hero-bottom {
    display:grid;
    gap:.65rem;
    font-size:.875rem
  }
  .hero-note {
    font-size:.875rem;
    max-width:33ch
  }
  .section {
    padding-block:3.75rem
  }
  h2 {
    font-size:2rem
  }
  .eyebrow {
    font-size:.75rem;
    letter-spacing:.105em;
    max-width:37ch
  }
  .section-intro {
    font-size:1.0625rem
  }
  .role-tabs {
    gap:.4rem;
    border:0;
    padding:0
  }
  .role-tabs button {
    min-height:2.85rem;
    border-color:var(--line);
    font-size:.875rem;
    padding:.6rem .75rem
  }
  .role-label {
    font-size:.75rem
  }
  .role-panel h3 {
    font-size:1.65rem
  }
  .role-panel>p,.role-panel ul {
    font-size:1rem
  }
  .channels {
    grid-template-columns:1fr;
    gap:0;
    padding:0
  }
  .channels li {
    padding:1.6rem 0
  }
  .channels li+li {
    border-top:1px solid var(--line)
  }
  .channel-number {
    margin-bottom:.65rem
  }
  .channels h3 {
    font-size:1.4rem
  }
  .joined-story {
    padding:1.5rem
  }
  .joined-story>p {
    font-size:1rem
  }
  .ownership h2 {
    font-size:1.8rem
  }
  .ownership-copy p {
    font-size:1rem
  }
  .faq-list summary {
    font-size:1rem
  }
  .faq-list details>p {
    font-size:1rem;
    padding-right:0
  }
  .footer-top nav {
    gap:1.25rem;
    font-size:.875rem
  }
  .footer-top>p {
    font-size:.875rem
  }
  .footer-bottom {
    font-size:.8125rem
  }
  .closing h2 {
    font-size:1.9rem
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
  .button:hover {
    transform:none
  }
}
