:root{
  color-scheme: dark;
}

/* Preserve deferred content in the template while keeping it out of the live site. */
.temporarily-hidden{
  display:none!important;
}

@keyframes orbitNodePulse{
  0%,100%{
    opacity:.38;
    transform:translateY(-50%) scale(.88);
  }
  50%{
    opacity:1;
    transform:translateY(-50%) scale(1.16);
  }
}

@keyframes orbitSignalLeft{
  0%{
    opacity:0;
    transform:translateY(-50%) translateX(0) scale(.7);
  }
  18%{
    opacity:1;
  }
  82%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translateY(-50%) translateX(118px) scale(1);
  }
}

@keyframes orbitSignalRight{
  0%{
    opacity:0;
    transform:translateY(-50%) translateX(0) scale(.7);
  }
  18%{
    opacity:1;
  }
  82%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translateY(-50%) translateX(-118px) scale(1);
  }
}

@keyframes architectureTabletSignalLeft{
  0%{opacity:0;transform:translateY(-50%) translateX(0) scale(.72)}
  18%,82%{opacity:1}
  100%{opacity:0;transform:translateY(-50%) translateX(32px) scale(1)}
}

@keyframes architectureTabletSignalRight{
  0%{opacity:0;transform:translateY(-50%) translateX(0) scale(.72)}
  18%,82%{opacity:1}
  100%{opacity:0;transform:translateY(-50%) translateX(-32px) scale(1)}
}

@keyframes architectureTabletSpineSignal{
  0%{opacity:0;top:320px}
  10%,90%{opacity:1}
  100%{opacity:0;top:calc(100% - 48px)}
}

body{
  background:var(--theme-bg);
  color:var(--theme-text);
}

/* Keep the Platform panel closed before its interaction script initializes. */
.ix-011{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.ix-009.is-open .ix-011{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* Center the hero message and remove the device showcase. */
.ix-038{
  min-height:calc(100svh - 90px);
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center;
  align-content:center;
  gap:0!important;
  max-width:none;
  background-color:#0c1733;
  background-image:
    radial-gradient(circle at 18% 48%,rgba(63,124,255,.25),transparent 30%),
    radial-gradient(circle at 84% 42%,rgba(180,192,219,.13),transparent 27%),
    linear-gradient(180deg,#0c1733,#102147 76%,#0c1733);
}

.ix-040{
  width:100%;
  max-width:1240px;
  margin-inline:auto;
  text-align:center;
  align-self:center;
}

.ix-041,
.ix-043{
  margin-inline:auto;
}

.ix-042{
  max-width:1200px;
  margin:28px auto 24px;
  font-size:clamp(52px,6.4vw,92px)!important;
  line-height:.9!important;
  letter-spacing:-.065em;
  text-wrap:unset;
}

.ix-042 > span{
  display:block;
  white-space:nowrap;
}

.ix-042 > span:last-child{
  color:transparent;
  background:linear-gradient(90deg,#fff 15%,#90b5ff 55%,#fff 90%);
  background-clip:text;
  -webkit-background-clip:text;
}

.ix-041{
  border-color:rgba(96,145,255,.25);
  background:rgba(54,112,236,.14);
  color:#79a6ff;
}

.ix-043{
  max-width:760px!important;
  font-size:clamp(15px,1.25vw,19px)!important;
  line-height:1.7!important;
}

.ix-044{
  margin-top:38px;
}

.ix-044{
  justify-content:center;
}

.ix-047{
  display:none!important;
}

/* Keep the audience switcher compact directly beneath the hero. */
#audiences{
  background-color:#0c1733;
  background-image:
    radial-gradient(circle at 18% 22%,rgba(63,124,255,.18),transparent 30%),
    radial-gradient(circle at 84% 18%,rgba(180,192,219,.1),transparent 27%),
    linear-gradient(180deg,#0c1733,#102147 72%,var(--theme-bg-alt));
}

#audiences.ix-281::before{
  display:none!important;
}

#audiences .ix-283{
  justify-content:center;
  margin-bottom:clamp(22px,3vw,34px);
}

#audiences .ix-287{
  width:min(100%,620px);
  height:auto;
  padding:5px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  position:relative;
  border:1px solid rgba(143,174,235,.18);
  border-radius:999px;
  background:rgba(9,20,44,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 46px rgba(0,0,0,.12);
  overflow:hidden;
  backdrop-filter:blur(18px);
}

#audiences .ix-288{
  top:5px;
  bottom:5px;
  left:5px;
  width:calc((100% - 10px)/3);
  border-radius:999px;
  background:linear-gradient(135deg,#4a83ff,#2e68ea);
  box-shadow:0 10px 28px rgba(48,105,235,.3);
  transform:translateX(var(--audience-pill-shift));
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}

#audiences .ix-289,
#audiences .ix-290,
#audiences .audience-admin-tab{
  width:100%;
  padding:13px 10px;
  font-size:13px;
  font-weight:800;
  transition:color .35s ease;
}

#audiences .ix-291{
  max-width:70ch;
  margin:0 auto clamp(28px,4vw,44px);
  text-align:center;
}

#audiences .ix-292{
  width:min(100%,1240px);
  min-height:440px;
  margin-bottom:0;
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  grid-template-rows:1fr 1fr;
  gap:22px;
}

#audiences .ix-293{
  min-height:209px;
  padding:26px;
  border-radius:28px;
  background:rgba(17,31,61,.76);
  backdrop-filter:blur(18px);
  box-shadow:0 25px 80px rgba(0,0,0,.16);
}

#audiences .ix-293:first-child{
  grid-column:1;
  grid-row:1 / 3;
  padding:clamp(34px,5vw,66px);
  border-radius:36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}

#audiences .ix-293:first-child::before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  top:-150px;
  right:-80px;
  border:1px solid rgba(112,160,255,.24);
  border-radius:50%;
  box-shadow:0 0 0 40px rgba(63,124,255,.035),0 0 0 90px rgba(63,124,255,.02);
}

#audiences .ix-293:first-child .ix-294{
  color:#7ca8ff!important;
  font-size:14px!important;
  letter-spacing:.12em;
}

#audiences .ix-293:first-child .ix-295{
  max-width:650px;
  margin:14px 0 18px;
  font-size:clamp(36px,4.4vw,62px)!important;
  line-height:.96;
  letter-spacing:-.055em;
}

#audiences .ix-293:first-child .ix-296{
  max-width:580px;
  font-size:14px!important;
  line-height:1.7!important;
}

#audiences .ix-293:nth-child(2){grid-column:2;grid-row:1}
#audiences .ix-293:nth-child(3){grid-column:3;grid-row:1}
#audiences .ix-293:nth-child(4){grid-column:2 / 4;grid-row:2}

#audiences .ix-293:not(:first-child):hover{
  transform:translateY(-7px);
  border-color:rgba(124,168,255,.48);
}

@media (min-width:1200px){
  .ix-038{
    padding:70px max(64px,calc((100vw - 1440px) / 2 + 64px));
  }

  .ix-041{
    margin-bottom:18px;
    padding-block:6px;
  }

  .ix-042{
    margin-bottom:24px;
  }

  .ix-042 > span{
    padding-bottom:.06em;
  }

  .ix-043{
    max-width:760px;
    margin-bottom:30px;
  }

  .ix-045,
  .ix-046{
    padding-block:14px;
  }

  #audiences{
    padding:44px 64px 64px;
  }

  #audiences .ix-283{
    margin-bottom:24px;
  }

  #audiences .ix-287{
    height:50px;
    padding:5px;
  }

  #audiences .ix-288{
    top:5px;
    bottom:5px;
    left:5px;
  }

  #audiences .ix-289,
  #audiences .ix-290,
  #audiences .audience-admin-tab{
    padding-block:9px;
  }

  #audiences .ix-291{
    max-width:88ch;
    margin-bottom:32px;
    font-size:14px;
    line-height:1.65;
  }

  #audiences .ix-293{
    min-height:209px;
    padding:26px;
  }

  #audiences .ix-294{
    margin-bottom:10px;
    font-size:28px;
  }

  #audiences .ix-295{
    margin-bottom:6px;
    font-size:15px;
  }

  #audiences .ix-296{
    font-size:12.5px;
    line-height:1.55;
  }
}

@media (max-width:960px){
  #audiences .ix-292{
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:16px;
  }

  #audiences .ix-293,
  #audiences .ix-293:first-child,
  #audiences .ix-293:nth-child(2),
  #audiences .ix-293:nth-child(3),
  #audiences .ix-293:nth-child(4){
    grid-column:1;
    grid-row:auto;
    min-height:0;
  }

  #audiences .ix-293:first-child{
    min-height:360px;
  }
}

@media (max-width:620px){
  .ix-038{
    min-height:calc(100svh - 78px);
    padding-top:96px!important;
    padding-bottom:70px!important;
  }

  .ix-042{
    font-size:clamp(44px,13.5vw,62px)!important;
    line-height:.92!important;
  }

  .ix-042 > span{
    white-space:normal;
  }

  #audiences .ix-293:first-child{
    min-height:330px;
    padding:28px;
  }
}

@media (min-width:1025px){
  #top{
    background-color:#0c1733;
    background-image:
      radial-gradient(circle at 18% 330px,rgba(63,124,255,.25),transparent 32%),
      radial-gradient(circle at 84% 300px,rgba(180,192,219,.13),transparent 30%),
      linear-gradient(180deg,#0c1733 0,#102147 76%,var(--theme-bg-alt) 100%);
    background-repeat:no-repeat;
    background-size:100% 1100px;
  }

  .ix-038,
  #audiences{
    background-color:transparent;
    background-image:none;
  }

  .ix-003{
    background:rgba(10,23,50,.62);
    border-color:rgba(143,174,235,.18);
    backdrop-filter:blur(24px) saturate(140%);
  }
}

@keyframes audienceSharedAxisIn{
  from{opacity:0;transform:translateX(28px) scale(.992);filter:blur(6px)}
  to{opacity:1;transform:none;filter:none}
}

#audiences.audience-axis-transition .ix-291{
  animation:audienceSharedAxisIn .58s cubic-bezier(.22,1,.36,1) both;
}

#audiences.audience-axis-transition .ix-293{
  animation:audienceSharedAxisIn .72s cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--stagger-delay,0ms);
}

/* Make the exchange journey selector a clear, centered primary control. */
.ix-219 .ix-403{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:28px;
  margin-bottom:34px;
  text-align:center;
}

.ix-219 .ix-403 > div:first-child{
  max-width:680px;
}

.ix-219 .ix-405{
  margin:12px auto 0;
}

.ix-219 .ix-406{
  width:min(100%,820px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.ix-219 .ix-407{
  min-height:58px;
  padding:15px 20px;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(143,174,235,.24);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.ix-219 .ix-407:hover{
  transform:translateY(-3px);
  border-color:rgba(124,168,255,.56);
  background:rgba(63,124,255,.13);
}

.ix-219 .ix-407.is-active{
  border-color:rgba(124,168,255,.76);
  background:linear-gradient(135deg,#4a83ff,#2e68ea);
  color:#fff;
  box-shadow:0 14px 32px rgba(48,105,235,.3);
}

.ix-222,
.ix-229{
  gap:12px;
}

.ix-222 .ix-224,
.ix-229 .ix-231{
  order:1;
}

.ix-222 .ix-223,
.ix-229 .ix-230{
  order:2;
}

@media (max-width:700px){
  .ix-219 .ix-403{
    gap:22px;
    margin-bottom:26px;
  }

  .ix-219 .ix-406{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .ix-219 .ix-407{
    min-height:52px;
    padding:12px 10px;
    font-size:12.5px;
  }
}

/* Footer alignment polish. */
.ix-333{
  grid-template-columns:minmax(0,1fr) minmax(auto,32ch) minmax(0,1fr);
  align-items:start;
}

.ix-333 > div:first-child{
  grid-column:2;
  text-align:center;
}

.ix-333 > div:first-child .ix-336{
  margin-left:auto;
  margin-right:auto;
}

.ix-333 > div:last-child{
  grid-column:3;
  justify-self:end;
  text-align:left;
}

/* Keep the desktop card connector self-contained for static hosting. */
.ix-449::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 136 62'%3E%3Cpath d='M4 34 C30 8 64 54 132 24' fill='none' stroke='%2388abff' stroke-width='2.4' stroke-linecap='round' stroke-dasharray='4 7'/%3E%3C/svg%3E")!important;
}

/* Preserve hero descenders inside the entrance-animation mask. */
.ix-042{
  line-height:1.12;
  margin-bottom:24px;
}

.ix-042 > span{
  padding-bottom:.14em;
}

.ix-165,
.ix-215,
.ix-236,
.ix-282,
.ix-307,
.ix-332{
  width:min(calc(100% - 40px),1280px);
  margin-inline:auto;
}

.ix-219,
.ix-247,
.ix-324{
  box-shadow:var(--theme-card-shadow);
}

.ix-236{
  width:min(calc(100% - 40px),1460px);
  grid-template-columns:minmax(0,.76fr) minmax(760px,1.24fr);
  align-items:center;
  gap:clamp(32px,3.6vw,52px);
}

.ix-247{
  width:100%;
  max-width:980px;
  justify-self:end;
  min-height:clamp(740px,55vw,900px);
  padding:clamp(26px,2.6vw,38px);
}

@media (min-width:1025px){
  #architecture .ix-247{
    transform:translate(28px,22px);
  }
}

.ix-258,
.ix-261,
.ix-264,
.ix-267,
.ix-270,
.ix-273{
  width:clamp(184px,13.2vw,220px)!important;
  min-height:clamp(164px,12.8vw,194px);
}

.ix-276{
  width:clamp(300px,23vw,340px)!important;
  height:clamp(300px,23vw,340px)!important;
  aspect-ratio:1 / 1!important;
}

.ix-279{
  font-size:clamp(17px,7.2cqw,44px)!important;
  line-height:.96;
}

@media (max-width:1200px){
  .ix-165,
  .ix-215,
  .ix-236,
  .ix-282,
  .ix-307,
  .ix-332{
    width:min(calc(100% - 32px),1120px);
  }

  .ix-038{
    padding-inline:24px;
  }

  .ix-236{
    width:min(calc(100% - 32px),1320px);
    grid-template-columns:minmax(0,.74fr) minmax(680px,1.26fr);
  }

  .ix-247{
    max-width:900px;
    min-height:780px;
  }

  .ix-276{
    width:320px!important;
    height:320px!important;
  }
}

@media (max-width:1024px){
  .ix-038{
    grid-template-columns:1fr;
    gap:28px;
    padding-top:28px;
    padding-inline:20px;
  }

  .ix-040,
  .ix-047{
    max-width:none;
  }

  .ix-047{
    margin-inline:auto;
    width:min(100%,640px);
  }

  .ix-165,
  .ix-215,
  .ix-236,
  .ix-282,
  .ix-307,
  .ix-332{
    width:min(calc(100% - 28px),980px);
  }

  .ix-165,
  .ix-236,
  .ix-283{
    gap:22px;
  }

  .ix-236{
    grid-template-columns:1fr;
    gap:26px;
  }

  .ix-247{
    width:min(100%,760px);
    margin-inline:auto;
    max-width:none;
    min-height:auto;
    padding:22px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
    position:relative;
  }

  .ix-258,
  .ix-261,
  .ix-264,
  .ix-267,
  .ix-270,
  .ix-273{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-height:0;
    margin:0!important;
    z-index:2;
  }

  .ix-276{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    grid-column:1 / -1;
    justify-self:center;
    width:258px!important;
    height:258px!important;
    margin:4px auto 8px;
    z-index:3;
  }

  .ix-248,
  .ix-249{
    display:none!important;
  }

  .ix-258{order:1}
  .ix-261{order:2}
  .ix-264{order:3}
  .ix-267{order:4}
  .ix-270{order:5}
  .ix-273{order:6}
  .ix-276{order:0}

  .ix-279{
    font-size:clamp(15px,6vw,36px)!important;
  }

  .ix-247::before{
    content:"";
    position:absolute;
    top:168px;
    bottom:58px;
    left:50%;
    width:1px;
    transform:translateX(-50%);
    background:linear-gradient(180deg,rgba(90,141,255,.32),rgba(90,141,255,.1) 35%,rgba(90,141,255,.24) 70%,rgba(90,141,255,.06));
    box-shadow:0 0 14px rgba(60,121,255,.14);
    z-index:0;
  }

  .ix-247::after{
    content:"";
    position:absolute;
    left:50%;
    top:206px;
    width:10px;
    height:10px;
    border-radius:999px;
    transform:translateX(-50%);
    background:radial-gradient(circle,#eef5ff 0%,#7fa9ff 44%,rgba(127,169,255,.16) 72%,rgba(127,169,255,0) 100%);
    box-shadow:0 0 16px rgba(127,169,255,.44);
    animation:orbitNodePulse 2.6s ease-in-out infinite;
    z-index:1;
  }

  .ix-258,
  .ix-264,
  .ix-270{
    justify-self:start;
    max-width:220px;
  }

  .ix-261,
  .ix-267,
  .ix-273{
    justify-self:end;
    max-width:220px;
  }

  .ix-258::after,
  .ix-264::after,
  .ix-270::after,
  .ix-261::after,
  .ix-267::after,
  .ix-273::after{
    content:"";
    position:absolute;
    top:50%;
    width:128px;
    height:1px;
    transform:translateY(-50%);
    background:linear-gradient(90deg,rgba(90,141,255,.12),rgba(90,141,255,.72),rgba(90,141,255,.18));
    box-shadow:0 0 12px rgba(60,121,255,.12);
    z-index:0;
  }

  .ix-258::before,
  .ix-264::before,
  .ix-270::before,
  .ix-261::before,
  .ix-267::before,
  .ix-273::before{
    content:"";
    position:absolute;
    top:50%;
    width:10px;
    height:10px;
    border-radius:999px;
    background:radial-gradient(circle,#f8fbff 0%,#a9c6ff 32%,#78a6ff 62%,rgba(120,166,255,.08) 100%);
    box-shadow:0 0 16px rgba(138,177,255,.52);
    z-index:1;
  }

  .ix-258::after,
  .ix-264::after,
  .ix-270::after{
    right:-34px;
  }

  .ix-261::after,
  .ix-267::after,
  .ix-273::after{
    left:-34px;
    background:linear-gradient(90deg,rgba(90,141,255,.18),rgba(90,141,255,.72),rgba(90,141,255,.12));
  }

  .ix-258::before,
  .ix-264::before,
  .ix-270::before{
    right:-6px;
    animation:orbitSignalLeft 2.6s linear infinite;
  }

  .ix-261::before,
  .ix-267::before,
  .ix-273::before{
    left:-6px;
    animation:orbitSignalRight 2.6s linear infinite;
  }

  .ix-292{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ix-301{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
  }

  .ix-333{
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
}

@media (max-width:820px){
  .ix-042{
    max-width:100%;
    line-height:1.14;
    margin-bottom:22px;
  }

  .ix-042 > span{
    white-space:normal;
  }

  .ix-043{
    max-width:42ch;
  }

  .ix-165{
    grid-template-columns:1fr;
    gap:20px;
  }

  .ix-166{
    position:static!important;
    top:auto!important;
  }

  .ix-347{
    display:flex!important;
    flex-direction:column;
    gap:14px;
  }

  .ix-348,
  .ix-352,
  .ix-360,
  .ix-368,
  .ix-376,
  .ix-384,
  .ix-392,
  .ix-400{
    width:100%;
    margin:0!important;
  }

  .ix-351{
    display:none!important;
  }

  .ix-352,
  .ix-360,
  .ix-368,
  .ix-376,
  .ix-384,
  .ix-392{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    min-height:auto!important;
    align-items:start;
  }

  .ix-353,
  .ix-361,
  .ix-369,
  .ix-377,
  .ix-385,
  .ix-393{
    grid-column:1;
    align-self:start;
    padding-top:6px!important;
  }

  .ix-356,
  .ix-364,
  .ix-372,
  .ix-380,
  .ix-388,
  .ix-396{
    grid-column:2;
    width:100%!important;
    justify-self:stretch!important;
  }

  .ix-400{
    margin-left:0!important;
  }

  .ix-219{
    padding:22px 18px;
  }

  .ix-403{
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }

  .ix-406{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
  }

  .ix-407{
    justify-content:center;
    text-align:center;
  }

  .ix-409,
  .ix-415{
    grid-template-columns:1fr!important;
  }

  .ix-247{
    width:min(100%,680px);
    min-height:auto;
    padding:20px 16px;
    gap:14px;
  }

  .ix-258,
  .ix-261,
  .ix-264,
  .ix-267,
  .ix-270,
  .ix-273{
    width:184px!important;
    min-height:160px;
  }

  .ix-276{
    width:228px!important;
    height:228px!important;
  }

  .ix-247::before{
    top:148px;
    bottom:44px;
  }

  .ix-247::after{
    top:184px;
  }

  .ix-258,
  .ix-261,
  .ix-264,
  .ix-267,
  .ix-270,
  .ix-273{
    max-width:184px;
  }

  .ix-258::after,
  .ix-264::after,
  .ix-270::after,
  .ix-261::after,
  .ix-267::after,
  .ix-273::after{
    width:94px;
  }

  .ix-258::after,
  .ix-264::after,
  .ix-270::after{
    right:-24px;
  }

  .ix-261::after,
  .ix-267::after,
  .ix-273::after{
    left:-24px;
  }

  .ix-258::before,
  .ix-264::before,
  .ix-270::before{
    right:-6px;
  }

  .ix-261::before,
  .ix-267::before,
  .ix-273::before{
    left:-6px;
  }

  .ix-283{
    grid-template-columns:1fr;
  }

  .ix-287{
    width:100%;
  }

  .ix-292,
  .ix-301{
    grid-template-columns:1fr;
  }

  .ix-292{
    gap:12px;
  }

  .ix-301{
    gap:0;
  }

  .ix-324{
    padding:56px 20px;
  }

  .ix-333{
    grid-template-columns:1fr;
    gap:22px;
  }

  .ix-333 > div:first-child,
  .ix-333 > div:last-child{
    grid-column:1;
    justify-self:center;
    text-align:center;
  }

  .ix-338{
    align-items:center;
  }
}

@media (max-width:640px){
  .ix-003{
    width:min(calc(100% - 20px),1560px);
    padding:10px 12px;
    top:10px;
  }

  .ix-038{
    padding-inline:16px;
    gap:22px;
  }

  .ix-042{
    font-size:clamp(30px,10vw,42px);
    line-height:1.15;
    margin-bottom:20px;
  }

  .ix-044{
    flex-direction:column;
    align-items:stretch;
  }

  .ix-045,
  .ix-046,
  .ix-328,
  .ix-329{
    width:100%;
    text-align:center;
  }

  .ix-047{
    height:clamp(240px,72vw,300px)!important;
    margin-top:8px!important;
  }

  .ix-050{
    transform:scale(.84);
    transform-origin:center top;
  }

  .ix-084{
    transform:scale(.8);
    transform-origin:center top;
  }

  .ix-112{
    transform:scale(.84);
    transform-origin:center top;
  }

  .ix-162{
    height:50px;
    margin-top:-30px;
  }

  .ix-165,
  .ix-215,
  .ix-236,
  .ix-282,
  .ix-307,
  .ix-332{
    width:min(calc(100% - 20px),640px);
  }

  .ix-352,
  .ix-360,
  .ix-368,
  .ix-376,
  .ix-384,
  .ix-392{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:12px!important;
  }

  .ix-355,
  .ix-363,
  .ix-371,
  .ix-379,
  .ix-387,
  .ix-395{
    width:38px!important;
    height:38px!important;
  }

  .ix-356,
  .ix-364,
  .ix-372,
  .ix-380,
  .ix-388,
  .ix-396{
    border-radius:20px;
    padding:18px!important;
  }

  .ix-358,
  .ix-366,
  .ix-374,
  .ix-382,
  .ix-390,
  .ix-398{
    font-size:22px!important;
  }

  .ix-359,
  .ix-367,
  .ix-375,
  .ix-383,
  .ix-391,
  .ix-399{
    font-size:14px!important;
    line-height:1.6!important;
  }

  .ix-219{
    padding:18px 14px 18px;
    border-radius:22px;
  }

  .ix-405,
  .ix-413,
  .ix-419,
  .ix-234{
    font-size:13.5px!important;
    line-height:1.62!important;
  }

  .ix-247{
    border-radius:24px;
    width:min(100%,620px);
    min-height:auto;
    padding:18px 14px;
    grid-template-columns:1fr;
    gap:12px;
  }

  .ix-248,
  .ix-249{
    display:none!important;
  }

  .ix-247::before,
  .ix-247::after,
  .ix-258::before,
  .ix-261::before,
  .ix-264::before,
  .ix-267::before,
  .ix-270::before,
  .ix-273::before,
  .ix-258::after,
  .ix-261::after,
  .ix-264::after,
  .ix-267::after,
  .ix-270::after,
  .ix-273::after{
    display:none!important;
  }

  .ix-258,
  .ix-261,
  .ix-264,
  .ix-267,
  .ix-270,
  .ix-273,
  .ix-276{
    width:100%!important;
    max-width:none!important;
    margin:0 0 12px;
  }

  .ix-276{
    min-height:220px;
    height:220px!important;
  }

  .ix-279{
    font-size:clamp(40px,12vw,58px)!important;
  }

  .ix-297{
    gap:8px;
  }

  .ix-292{
    grid-template-columns:1fr!important;
  }

  .ix-302{
    padding-block:14px;
  }

  .ix-324{
    border-radius:26px;
    padding:44px 18px;
  }

  .ix-327{
    flex-direction:column;
  }

  .ix-330{
    padding:52px 18px 28px;
  }
}

@media (max-width:430px){
  .ix-003{
    width:min(calc(100% - 16px),1560px);
  }

  .ix-041{
    margin-bottom:14px;
  }

  .ix-043{
    font-size:14px;
  }

  .ix-047{
    height:clamp(220px,74vw,280px)!important;
  }

  .ix-050{
    transform:scale(.78);
  }

  .ix-084{
    transform:scale(.74);
  }

  .ix-112{
    transform:scale(.78);
  }

  .ix-165,
  .ix-215,
  .ix-236,
  .ix-282,
  .ix-307,
  .ix-332{
    width:min(calc(100% - 16px),430px);
  }

  .ix-406{
    grid-template-columns:1fr 1fr;
  }

  .ix-292{
    gap:12px;
  }

  .ix-293{
    padding:14px 14px 16px;
  }

  .ix-301{
    gap:0;
  }

  .ix-302{
    grid-template-columns:14px minmax(0,1fr);
    gap:10px;
  }

  .ix-324{
    padding:40px 16px;
  }

  .ix-336{
    max-width:none;
  }
}

/* Architecture: reliable one-shot mobile reveals and a bounded stacked map. */
@keyframes architectureMobileReveal{
  0%{
    opacity:0;
    transform:translateY(22px) scale(.985);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes architectureMobileFade{
  0%{ opacity:0; }
  100%{ opacity:1; }
}

@media (max-width:767px){
  #architecture{
    overflow:hidden;
    padding:56px 14px 64px;
  }

  #architecture .ix-236{
    width:min(100%,640px);
    max-width:640px;
    margin-inline:auto;
    grid-template-columns:minmax(0,1fr);
    gap:28px;
  }

  #architecture .ix-236 > div:first-child{
    min-width:0;
  }

  #architecture .ix-237{
    max-width:32ch;
    font-size:11px;
    line-height:1.55;
  }

  #architecture .ix-239{
    margin-top:16px;
    font-size:clamp(32px,9vw,42px);
    line-height:1.02;
    text-wrap:balance;
  }

  #architecture .ix-240{
    max-width:38ch;
    margin-top:18px;
    font-size:14.5px;
    line-height:1.7;
  }

  #architecture .ix-241,
  #architecture .ix-244{
    width:100%;
    margin-top:14px;
    padding:17px;
    border-radius:18px;
  }

  #architecture .ix-242,
  #architecture .ix-245{
    font-size:14px;
  }

  #architecture .ix-243,
  #architecture .ix-246{
    font-size:13px;
    line-height:1.62;
  }

  #architecture .sc-l,
  #architecture .sc-sat{
    --t:1;
    opacity:0;
    transform:translateY(22px) scale(.985);
    animation:none;
  }

  #architecture .sc-l.in,
  #architecture .sc-sat.in{
    animation:architectureMobileReveal .68s var(--motion-ease-soft) both;
  }

  #architecture .ix-247{
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    margin:0;
    padding:14px;
    border-radius:24px;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    overflow:hidden;
  }

  #architecture .ix-248,
  #architecture .ix-249,
  #architecture .ix-247::before,
  #architecture .ix-247::after,
  #architecture .sc-sat::before,
  #architecture .sc-sat::after{
    display:none!important;
  }

  #architecture .ix-258,
  #architecture .ix-261,
  #architecture .ix-264,
  #architecture .ix-267,
  #architecture .ix-270,
  #architecture .ix-273{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    min-height:0;
    margin:0!important;
    padding:18px;
    border-radius:20px;
    justify-self:stretch;
  }

  #architecture .ix-258{--arch-delay:40ms;order:1}
  #architecture .ix-261{--arch-delay:80ms;order:2}
  #architecture .ix-264{--arch-delay:120ms;order:3}
  #architecture .ix-267{--arch-delay:160ms;order:4}
  #architecture .ix-270{--arch-delay:200ms;order:5}
  #architecture .ix-273{--arch-delay:240ms;order:6}

  #architecture .sc-sat.in{
    animation-delay:var(--arch-delay,0ms);
  }

  #architecture .ix-259,
  #architecture .ix-262,
  #architecture .ix-265,
  #architecture .ix-268,
  #architecture .ix-271,
  #architecture .ix-274{
    margin-bottom:8px;
    font-size:17px;
    line-height:1.18;
  }

  #architecture .ix-260,
  #architecture .ix-263,
  #architecture .ix-266,
  #architecture .ix-269,
  #architecture .ix-272,
  #architecture .ix-275{
    font-size:13px;
    line-height:1.62;
  }

  #architecture .ix-276{
    --t:1;
    position:relative!important;
    inset:auto!important;
    grid-column:1;
    order:0;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:190px;
    margin:0 0 4px!important;
    padding:24px 18px;
    border-radius:24px!important;
    transform:none!important;
    opacity:0;
    overflow:hidden;
    animation:none;
  }

  #architecture .sc-core.in{
    animation:architectureMobileFade .72s var(--motion-ease-soft) both;
  }

  #architecture .ix-277{
    font-size:9px;
    letter-spacing:.16em;
  }

  #architecture .ix-279{
    width:100%;
    max-width:100%;
    margin:14px 0 0;
    font-size:clamp(34px,10.5vw,46px)!important;
    line-height:.96;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }
}

@media (max-width:390px){
  #architecture{
    padding-inline:10px;
  }

  #architecture .ix-247{
    padding:11px;
    border-radius:21px;
  }

  #architecture .ix-276{
    min-height:174px;
    padding-inline:14px;
  }

  #architecture .ix-279{
    font-size:clamp(31px,10vw,39px)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #architecture .sc-l,
  #architecture .sc-sat,
  #architecture .sc-core{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
}

/* Manager review restoration: original audience cards and principles timeline. */
#audiences .ix-292{
  width:min(100%,1240px);
  min-height:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:auto;
  gap:20px;
}

#audiences .ix-293,
#audiences .ix-293:first-child,
#audiences .ix-293:nth-child(2),
#audiences .ix-293:nth-child(3),
#audiences .ix-293:nth-child(4){
  grid-column:auto;
  grid-row:auto;
  min-height:230px;
  padding:28px;
  display:block;
  position:relative;
  border:1px solid rgba(132,165,231,.18);
  border-radius:24px;
  background:rgba(17,31,61,.76);
  box-shadow:0 20px 55px rgba(0,0,0,.13);
  overflow:hidden;
  transition:transform var(--motion-standard) var(--motion-ease),border-color var(--motion-fast) ease!important;
}

#audiences .ix-293:first-child::before{
  display:none;
}

#audiences .ix-293:first-child .ix-294,
#audiences .ix-294{
  display:block;
  margin-bottom:14px;
  font-size:30px!important;
  line-height:1;
  letter-spacing:0;
}

#audiences .ix-293:first-child .ix-295,
#audiences .ix-295{
  max-width:none;
  margin:0 0 12px;
  font-size:16px!important;
  line-height:1.25;
  letter-spacing:-.02em;
}

#audiences .ix-293:first-child .ix-296,
#audiences .ix-296{
  max-width:none;
  margin:0;
  font-size:13px!important;
  line-height:1.7!important;
}

#audiences .ix-293:hover{
  transform:translateY(-6px);
  border-color:rgba(124,168,255,.42);
}

#platform{
  padding:clamp(104px,9vw,142px) 24px;
  background-color:var(--theme-bg-alt);
  background-image:
    radial-gradient(circle at 82% 16%,rgba(63,124,255,.1),transparent 28%),
    linear-gradient(180deg,var(--theme-bg-alt),var(--theme-bg));
}

#platform .ix-165{
  width:min(100%,1320px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(650px,1.28fr);
  align-items:start;
  gap:clamp(48px,6vw,88px);
}

#platform .ix-166{
  width:auto;
  margin:0;
  position:sticky!important;
  top:132px!important;
  align-self:start!important;
  text-align:left;
}

#platform .ix-169{
  max-width:13ch;
  margin:0;
  font-size:clamp(42px,4.4vw,62px);
  line-height:1.02;
  letter-spacing:-.055em;
}

#platform .ix-170{
  max-width:48ch;
  margin:24px 0 0;
  font-size:14px;
  line-height:1.75;
}

#platform .ix-347{
  width:100%;
  min-width:0;
  padding:0;
  display:block;
  position:relative;
}

#platform .ix-348{
  width:100%;
  max-width:none;
  margin:0 0 50px;
  padding-left:calc(50% + 40px);
  text-align:left;
}

#platform .ix-349{
  justify-content:flex-start;
}

#platform .ix-350{
  max-width:440px;
  margin:14px 0 0;
}

#platform .ix-351{
  display:block;
  position:absolute;
  top:145px;
  bottom:190px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,82,112,.42),rgba(255,174,77,.36) 25%,rgba(165,235,68,.34) 52%,rgba(72,199,247,.32) 76%,rgba(172,106,255,.28));
  box-shadow:0 0 18px rgba(83,137,255,.12);
}

#platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){
  width:100%!important;
  min-height:300px;
  margin:0!important;
  padding:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);
  align-items:start;
  gap:0;
  position:relative!important;
  inset:auto!important;
  overflow:visible;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}

#platform :is(.ix-352,.ix-368,.ix-384) :is(.ix-353,.ix-369,.ix-385),
#platform :is(.ix-360,.ix-376,.ix-392) :is(.ix-361,.ix-377,.ix-393){
  grid-column:2;
  grid-row:1;
}

#platform :is(.ix-352,.ix-368,.ix-384) :is(.ix-356,.ix-372,.ix-388){
  grid-column:1;
  grid-row:1;
}

#platform :is(.ix-360,.ix-376,.ix-392) :is(.ix-364,.ix-380,.ix-396){
  grid-column:3;
  grid-row:1;
}

#platform :is(.ix-353,.ix-361,.ix-369,.ix-377,.ix-385,.ix-393){
  min-height:0;
  padding-top:0;
  display:flex;
  flex-direction:column!important;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  position:relative;
  z-index:2;
}

#platform :is(.ix-354,.ix-362,.ix-370,.ix-378,.ix-386,.ix-394){
  font-size:30px;
  line-height:1;
}

#platform :is(.ix-355,.ix-363,.ix-371,.ix-379,.ix-387,.ix-395){
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(124,168,255,.2);
  border-radius:50%;
  background:#111d3b;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}

#platform :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){
  width:100%;
  min-height:0;
  padding:28px!important;
  position:relative!important;
  inset:auto!important;
  border:1px solid rgba(137,174,255,.34)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%)!important;
  box-shadow:0 24px 50px rgba(28,58,132,.28)!important;
  transition:transform var(--motion-standard) var(--motion-ease),border-color var(--motion-fast) ease,box-shadow var(--motion-standard) var(--motion-ease)!important;
}

#platform :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396):hover{
  transform:translateY(-6px);
  border-color:rgba(145,183,255,.58)!important;
  box-shadow:0 30px 62px rgba(28,58,132,.38)!important;
}

#platform :is(.ix-357,.ix-365,.ix-373,.ix-381,.ix-389,.ix-397){
  display:block;
  margin-bottom:13px;
  color:#aebddd;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#platform :is(.ix-358,.ix-366,.ix-374,.ix-382,.ix-390,.ix-398){
  margin:0 0 13px;
  color:#f6f8ff;
  font-size:clamp(24px,2.2vw,30px);
  line-height:1.05;
  letter-spacing:-.045em;
}

#platform :is(.ix-359,.ix-367,.ix-375,.ix-383,.ix-391,.ix-399){
  max-width:34ch;
  margin:0;
  color:#d6ddf0;
  font-size:13.5px;
  line-height:1.7;
}

#platform .ix-400{
  width:min(calc(100% - 80px),760px);
  margin:10px auto 0;
  padding:28px 34px;
  border:1px solid rgba(132,165,231,.24);
  border-radius:26px;
  background:linear-gradient(110deg,rgba(39,78,151,.82),rgba(180,192,219,.78));
  box-shadow:0 24px 58px rgba(0,0,0,.2);
  text-align:center;
}

#platform .ix-402{
  max-width:620px;
  margin:14px auto 0;
}

@media (max-width:1024px){
  #audiences .ix-292{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #platform .ix-165{
    grid-template-columns:1fr;
    gap:52px;
  }

  #platform .ix-166{
    width:min(100%,780px);
    margin-inline:auto;
    position:relative!important;
    top:auto!important;
    text-align:center;
  }

  #platform .ix-169,
  #platform .ix-170{
    max-width:none;
    margin-inline:auto;
  }
}

@media (max-width:820px){
  #platform .ix-348{
    padding-left:0;
    text-align:center;
  }

  #platform .ix-349{
    justify-content:center;
  }

  #platform .ix-350{
    margin-inline:auto;
  }

  #platform .ix-351{
    top:160px;
    bottom:165px;
    left:22px;
    transform:none;
  }

  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){
    min-height:0;
    margin-bottom:18px!important;
    grid-template-columns:44px minmax(0,1fr);
    gap:14px;
  }

  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392) :is(.ix-353,.ix-361,.ix-369,.ix-377,.ix-385,.ix-393){
    grid-column:1;
    grid-row:1;
  }

  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392) :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){
    grid-column:2;
    grid-row:1;
  }

  #platform :is(.ix-354,.ix-362,.ix-370,.ix-378,.ix-386,.ix-394){
    font-size:20px;
  }

  #platform :is(.ix-355,.ix-363,.ix-371,.ix-379,.ix-387,.ix-395){
    width:40px;
    height:40px;
  }

  #platform .ix-400{
    width:calc(100% - 58px);
    margin-left:58px;
    text-align:left;
  }
}

@media (max-width:620px){
  #audiences .ix-292{
    grid-template-columns:1fr;
    gap:14px;
  }

  #audiences .ix-293,
  #audiences .ix-293:first-child,
  #audiences .ix-293:nth-child(2),
  #audiences .ix-293:nth-child(3),
  #audiences .ix-293:nth-child(4){
    min-height:0;
    padding:22px;
  }

  #platform{
    padding:84px 14px;
  }

  #platform .ix-169{
    font-size:clamp(32px,9vw,42px);
  }

  #platform .ix-347{
    padding-inline:0;
  }

  #platform .ix-351{
    left:18px;
  }

  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
  }

  #platform :is(.ix-355,.ix-363,.ix-371,.ix-379,.ix-387,.ix-395){
    width:34px;
    height:34px;
  }

  #platform :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){
    padding:20px!important;
    border-radius:22px!important;
  }

  #platform :is(.ix-358,.ix-366,.ix-374,.ix-382,.ix-390,.ix-398){
    font-size:22px;
  }

  #platform .ix-400{
    width:calc(100% - 46px);
    margin-left:46px;
    padding:22px 20px;
  }
}

/* Visual continuity pass: strengthen existing sections without adding content. */
#platform,
.ix-214,
#architecture,
#contact{
  background-color:#0c1733;
  background-repeat:no-repeat;
}

@media (max-width:0px){
#platform{
  padding:clamp(96px,9vw,140px) 24px;
  background-image:
    radial-gradient(circle at 12% 12%,rgba(63,124,255,.16),transparent 28%),
    radial-gradient(circle at 88% 72%,rgba(98,132,196,.1),transparent 25%),
    linear-gradient(180deg,#0c1733,#102147 52%,#0c1733);
}

#platform .ix-165{
  width:min(100%,1240px);
  margin-inline:auto;
  display:block;
  grid-template-columns:none;
}

#platform .ix-166{
  width:min(100%,980px);
  margin:0 auto clamp(48px,6vw,78px);
  position:relative!important;
  top:auto!important;
  align-self:auto!important;
  text-align:center;
}

#platform .ix-169{
  max-width:18ch;
  margin-inline:auto;
  font-size:clamp(42px,5.2vw,70px);
  line-height:.94;
  letter-spacing:-.06em;
}

#platform .ix-170{
  max-width:720px;
  margin:24px auto 0;
  font-size:15px;
  line-height:1.75;
}

#platform .ix-347{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding:0;
  position:relative;
}

#platform .ix-348{
  grid-column:1 / -1;
  width:min(100%,680px);
  margin:0 auto 16px;
  text-align:center;
}

#platform .ix-349{
  justify-content:center;
}

#platform .ix-350{
  max-width:620px;
  margin:14px auto 0;
  line-height:1.7;
}

#platform .ix-351{
  display:none;
}

#platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  min-width:0;
  min-height:330px;
  margin:0!important;
  padding:26px;
  display:flex!important;
  flex-direction:column;
  gap:18px;
  border:1px solid rgba(134,164,224,.16);
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(31,61,118,.48),rgba(14,28,58,.82));
  box-shadow:0 24px 70px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
  transition:transform var(--motion-standard) var(--motion-ease),border-color var(--motion-fast) ease,box-shadow var(--motion-standard) var(--motion-ease)!important;
}

#platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392)::after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-105px;
  bottom:-125px;
  border:1px solid rgba(111,160,255,.14);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(63,124,255,.025);
  pointer-events:none;
  transition:transform var(--motion-slow) var(--motion-ease),opacity var(--motion-fast) ease;
}

#platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392):is(:hover,:focus-within){
  transform:translateY(-8px)!important;
  border-color:rgba(124,168,255,.42);
  box-shadow:0 30px 76px rgba(0,0,0,.25),0 12px 34px rgba(40,96,216,.12);
}

#platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392):is(:hover,:focus-within)::after{
  opacity:.85;
  transform:scale(1.15);
}

#platform :is(.ix-353,.ix-361,.ix-369,.ix-377,.ix-385,.ix-393){
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-direction:row!important;
  position:relative;
  z-index:1;
}

#platform :is(.ix-354,.ix-362,.ix-370,.ix-378,.ix-386,.ix-394){
  font-size:28px;
  line-height:1;
}

#platform :is(.ix-355,.ix-363,.ix-371,.ix-379,.ix-387,.ix-395){
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(124,168,255,.22);
  border-radius:15px;
  background:rgba(7,18,42,.46);
}

#platform :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){
  flex:1;
  min-height:0;
  padding:0!important;
  position:relative!important;
  inset:auto!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

#platform :is(.ix-357,.ix-365,.ix-373,.ix-381,.ix-389,.ix-397){
  display:block;
  margin-bottom:13px;
  color:#7fa9ff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#platform :is(.ix-358,.ix-366,.ix-374,.ix-382,.ix-390,.ix-398){
  margin:0 0 14px;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1.02;
  letter-spacing:-.045em;
}

#platform :is(.ix-359,.ix-367,.ix-375,.ix-383,.ix-391,.ix-399){
  max-width:34ch;
  margin:0;
  color:#aebbd4;
  font-size:13.5px;
  line-height:1.7;
}

#platform .ix-400{
  grid-column:1 / -1;
  width:min(100%,860px);
  margin:24px auto 0;
  padding:28px 36px;
  border:1px solid rgba(132,165,231,.22);
  border-radius:26px;
  background:linear-gradient(110deg,rgba(39,78,151,.72),rgba(180,192,219,.68));
  box-shadow:0 24px 58px rgba(0,0,0,.2);
  text-align:center;
}

#platform .ix-402{
  max-width:650px;
  margin:14px auto 0;
}
}

.ix-214{
  padding:clamp(96px,9vw,138px) 24px;
  background-image:
    radial-gradient(circle at 50% 20%,rgba(47,108,239,.13),transparent 34%),
    linear-gradient(180deg,#0c1733,#0e1d3d 50%,#102147);
}

.ix-214 .ix-215{
  width:min(100%,1240px);
  margin-inline:auto;
}

.ix-214 .ix-216{
  margin-bottom:clamp(46px,6vw,74px);
  text-align:center;
}

.ix-214 .ix-218{
  margin-top:15px;
  font-size:clamp(42px,5vw,68px);
  line-height:.95;
  letter-spacing:-.055em;
}

.ix-214 .ix-219{
  padding:clamp(28px,4vw,54px);
  border-color:rgba(132,165,231,.2);
  border-radius:38px;
  background:
    radial-gradient(circle at 50% 0,rgba(63,124,255,.14),transparent 30%),
    rgba(8,20,45,.72);
  box-shadow:0 38px 100px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035);
}

.ix-214 .ix-403{
  align-items:end;
  gap:30px;
}

.ix-214 .ix-406{
  padding:5px;
  border:1px solid rgba(132,165,231,.16);
  border-radius:999px;
  background:rgba(9,19,42,.56);
}

.ix-214 .ix-407{
  border-color:transparent;
}

.ix-214 .ix-408{
  margin-top:26px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(26,52,101,.26),rgba(9,20,44,.08));
}

.ix-214 .ix-410,
.ix-214 .ix-415{
  background:linear-gradient(145deg,rgba(38,65,118,.76),rgba(20,34,67,.76));
  border-color:rgba(139,169,229,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.ix-214 .ix-410{
  transition:transform var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) ease;
}

.ix-214 .ix-410:hover{
  transform:translateY(-5px);
  border-color:rgba(124,168,255,.42);
}

#architecture{
  padding:clamp(96px,9vw,140px) 24px;
  background-image:
    radial-gradient(circle at 50% 48%,rgba(52,109,233,.18),transparent 33%),
    radial-gradient(circle at 14% 72%,rgba(113,149,215,.08),transparent 24%),
    linear-gradient(180deg,#102147,#132a53 55%,#0c1733);
}

#architecture .architecture-orbit-heading{
  margin-bottom:clamp(34px,5vw,62px);
}

#architecture .ix-247{
  border-color:rgba(132,165,231,.18);
  background:
    radial-gradient(circle at 50% 50%,rgba(38,89,191,.16),transparent 36%),
    rgba(8,19,42,.56);
  box-shadow:0 38px 100px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03);
}

#architecture .sc-sat{
  background:linear-gradient(145deg,rgba(27,47,87,.94),rgba(14,28,57,.94));
  border-color:rgba(129,160,221,.2);
  box-shadow:0 18px 48px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.035);
}

#contact{
  width:min(calc(100% - 48px),1180px);
  min-height:0;
  margin:clamp(92px,9vw,140px) auto;
  padding:clamp(58px,8vw,98px) clamp(28px,7vw,88px);
  border:1px solid rgba(132,165,231,.2);
  border-radius:40px;
  background-image:
    radial-gradient(circle at 18% 0,rgba(63,124,255,.3),transparent 38%),
    radial-gradient(circle at 88% 100%,rgba(95,142,236,.16),transparent 34%),
    linear-gradient(135deg,#112855,#0d1d3d 64%);
  box-shadow:0 38px 100px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05);
}

#contact .ix-325{
  max-width:820px;
  margin-inline:auto;
  font-size:clamp(40px,5vw,66px);
  line-height:.96;
  letter-spacing:-.055em;
}

#contact .ix-326{
  max-width:680px;
  margin-inline:auto;
  font-size:15px;
  line-height:1.75;
}

#contact .ix-327{
  justify-content:center;
}

@media (max-width:960px){
  #platform .ix-347{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){
    min-height:310px;
  }

  .ix-214 .ix-403{
    align-items:stretch;
  }
}

@media (max-width:620px){
  #platform,
  .ix-214,
  #architecture{
    padding:82px 14px;
  }

  #platform .ix-166{
    margin-bottom:44px;
  }

  #platform .ix-169{
    max-width:14ch;
    font-size:clamp(34px,10vw,46px);
  }

  #platform .ix-347{
    grid-template-columns:1fr;
    gap:14px;
  }

  #platform .ix-348,
  #platform .ix-400{
    grid-column:1;
  }

  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){
    min-height:0;
    padding:22px;
    border-radius:24px;
  }

  #platform .ix-400{
    margin-top:12px;
    padding:24px 20px;
  }

  .ix-214 .ix-216{
    margin-bottom:38px;
  }

  .ix-214 .ix-218{
    font-size:clamp(36px,10vw,48px);
  }

  .ix-214 .ix-219{
    padding:24px 16px;
    border-radius:28px;
  }

  .ix-214 .ix-406{
    border-radius:22px;
  }

  #architecture .ix-247{
    border-radius:28px;
  }

  #contact{
    width:calc(100% - 28px);
    margin:82px auto;
    padding:52px 20px;
    border-radius:30px;
  }

  #contact .ix-325{
    font-size:clamp(34px,10vw,46px);
  }
}

/* Demo request modal: matches the promotions and automation card language. */
@keyframes demoDialogEnter{
  from{
    opacity:0;
    transform:translateX(min(28vw,340px)) scale(.985);
  }
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

@keyframes demoDialogExit{
  from{
    opacity:1;
    transform:translateX(0) scale(1);
  }
  to{
    opacity:0;
    transform:translateX(min(18vw,220px)) scale(.99);
  }
}

@keyframes demoBackdropIn{
  from{background:rgba(5,14,34,0)}
  to{background:rgba(5,14,34,.76)}
}

body.demo-dialog-open{
  overflow:hidden;
}

.demo-dialog{
  width:min(calc(100% - 32px),980px);
  max-width:none;
  max-height:min(90dvh,820px);
  margin:auto;
  padding:0;
  color:#17336e;
  background:transparent;
  border:0;
  overflow:visible;
}

.demo-dialog[open]{
  display:grid;
  animation:demoDialogEnter var(--motion-standard) var(--motion-ease) both;
}

.demo-dialog.is-closing{
  animation:demoDialogExit var(--motion-fast) var(--motion-ease) both;
}

.demo-dialog::backdrop{
  background:rgba(5,14,34,.76);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  animation:demoBackdropIn var(--motion-fast) ease-out both;
}

.demo-dialog-card{
  position:relative;
  max-height:min(90dvh,820px);
  padding:clamp(26px,4vw,46px);
  background:linear-gradient(145deg,#eff5ff 0%,#dce8ff 100%);
  border:1px solid rgba(126,164,255,.42);
  border-radius:34px;
  box-shadow:0 38px 110px rgba(2,18,55,.48),inset 0 1px 0 rgba(255,255,255,.92);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#9ab8f2 transparent;
}

.demo-dialog-close{
  position:sticky;
  z-index:2;
  top:0;
  width:42px;
  height:42px;
  margin-left:auto;
  margin-bottom:-42px;
  display:grid;
  place-items:center;
  color:#2856b9;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(91,140,255,.24);
  border-radius:50%;
  cursor:pointer;
  transition:transform var(--motion-fast) var(--motion-ease),
    background var(--motion-fast) var(--motion-ease);
}

.demo-dialog-close:hover{
  background:#fff;
  transform:rotate(6deg);
}

.demo-dialog-heading{
  max-width:690px;
  padding-right:48px;
}

.demo-dialog-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
  color:#2e68e7;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.demo-dialog-kicker::before{
  content:"";
  width:28px;
  height:2px;
  background:#3c79ff;
  border-radius:999px;
}

.demo-dialog-heading h2{
  margin:0;
  color:#142e67;
  font-size:clamp(28px,4vw,46px);
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1.04;
  text-wrap:balance;
}

.demo-dialog-heading p{
  max-width:62ch;
  margin:14px 0 0;
  color:#506b9f;
  font-size:15px;
  line-height:1.65;
  text-wrap:pretty;
}

.demo-form{
  margin-top:28px;
  transition:opacity var(--motion-medium) var(--motion-ease),
    transform var(--motion-medium) var(--motion-ease);
}

.demo-dialog-card.is-success .demo-dialog-heading,
.demo-dialog-card.is-success .demo-form{
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
}

.demo-dialog-card.is-success .demo-form{
  position:absolute;
  inset:auto clamp(26px,4vw,46px) clamp(26px,4vw,46px);
}

.demo-success-panel{
  min-height:420px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  padding:clamp(36px,7vw,78px) 18px;
  color:#142e67;
  text-align:center;
  animation:demoSuccessIn var(--motion-medium) var(--motion-ease) both;
}

.demo-success-panel[hidden]{
  display:none;
}

.demo-success-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#11735d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.demo-success-kicker::before{
  content:"";
  width:28px;
  height:2px;
  background:#20a67d;
  border-radius:999px;
}

.demo-success-panel h3{
  max-width:640px;
  margin:0;
  color:#142e67;
  font-size:clamp(28px,4vw,44px);
  font-weight:800;
  line-height:1.06;
  text-wrap:balance;
}

.demo-success-panel p{
  max-width:48ch;
  margin:0;
  color:#506b9f;
  font-size:15px;
  line-height:1.65;
}

.demo-success-back{
  margin-top:10px;
  min-width:140px;
  color:#fff;
  background:linear-gradient(135deg,#3c79ff,#2550db);
  border:0;
  box-shadow:0 15px 30px rgba(37,80,219,.24);
  cursor:pointer;
}

.demo-honeypot{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.demo-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.demo-field{
  display:grid;
  gap:7px;
  min-width:0;
}

.demo-field > span{
  color:#24437f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.025em;
}

.demo-field input,
.demo-field select,
.demo-field textarea{
  width:100%;
  min-width:0;
  color:#172f64;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(91,140,255,.28);
  border-radius:14px;
  padding:13px 14px;
  font:inherit;
  font-size:14px;
  line-height:1.4;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
  transition:border-color var(--motion-fast) var(--motion-ease),
    box-shadow var(--motion-fast) var(--motion-ease),
    background var(--motion-fast) var(--motion-ease);
}

.demo-field select{
  min-height:49px;
}

.demo-field textarea{
  min-height:112px;
  resize:vertical;
}

.demo-field input:focus,
.demo-field select:focus,
.demo-field textarea:focus{
  background:#fff;
  border-color:#3c79ff;
  box-shadow:0 0 0 4px rgba(60,121,255,.14),inset 0 1px 0 #fff;
}

.demo-field input:user-invalid,
.demo-field select:user-invalid{
  border-color:#d8445a;
}

.demo-field-full{
  grid-column:1 / -1;
}

.demo-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:20px;
}

.demo-form-note{
  max-width:48ch;
  margin:0;
  color:#6077a5;
  font-size:12px;
  line-height:1.55;
}

.demo-form-submit{
  position:relative;
  flex:0 0 auto;
  min-width:160px;
  color:#fff;
  background:linear-gradient(135deg,#3c79ff,#2550db);
  border:0;
  box-shadow:0 15px 30px rgba(37,80,219,.24);
  cursor:pointer;
  overflow:hidden;
}

.demo-form-submit:active{
  transform:translateY(1px) scale(.985);
}

.demo-form-submit:disabled{
  cursor:wait;
  opacity:.72;
}

.demo-form-status{
  min-height:20px;
  margin:12px 0 0;
  color:#2459c8;
  font-size:13px;
  font-weight:700;
}

.demo-form-status.is-success{
  color:#11735d;
}

.demo-form-status.is-error{
  color:#b92f49;
}

@keyframes demoSuccessIn{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width:700px){
  .demo-dialog{
    width:min(calc(100% - 20px),560px);
    max-height:94dvh;
  }

  .demo-dialog-card{
    max-height:94dvh;
    padding:24px 18px 20px;
    border-radius:26px;
  }

  .demo-dialog-close{
    width:38px;
    height:38px;
    margin-bottom:-38px;
  }

  .demo-dialog-heading{
    padding-right:40px;
  }

  .demo-dialog-heading h2{
    font-size:clamp(26px,8.6vw,36px);
  }

  .demo-form{
    margin-top:22px;
  }

  .demo-form-grid{
    grid-template-columns:1fr;
    gap:13px;
  }

  .demo-field-full{
    grid-column:auto;
  }

  .demo-form-footer{
    align-items:stretch;
    flex-direction:column;
    gap:14px;
  }

  .demo-form-submit{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  .demo-dialog[open],
  .demo-dialog.is-closing,
  .demo-dialog::backdrop{
    animation:none!important;
  }
}

/* Three-platform audience switcher. */
.ix-283{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}

.ix-287{
  width:min(100%,560px);
  margin-inline:auto;
  justify-self:center;
}

.ix-288{
  width:calc(33.333% - 4px);
  transition:transform var(--motion-standard) var(--motion-ease);
}

.ix-289,
.ix-290,
.audience-admin-tab{
  position:relative;
  z-index:1;
  flex:1;
  min-width:0;
  padding:12px 20px;
  background:transparent;
  border:0;
  border-radius:999px;
  cursor:pointer;
  font-size:14.5px;
  font-weight:700;
  transition:color var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease);
}

.audience-admin-tab{
  color:var(--audience-admin-fg);
}

.ix-289:hover,
.ix-290:hover,
.audience-admin-tab:hover{
  transform:translateY(-1px);
}

@media (max-width:420px){
  .ix-289,
  .ix-290,
  .audience-admin-tab{
    padding:11px 8px;
    font-size:12.5px;
  }
}

/* Give the final orbit row clear space at common laptop widths. */
@media (min-width:1025px) and (max-width:1600px){
  #architecture .ix-247{
    min-height:clamp(860px,62vw,940px);
  }

  #architecture .ix-270,
  #architecture .ix-273{
    bottom:3%;
  }
}

/* Keep every promotion label inside the shared preview height. */
#trading .ix-441[data-visual="img-discount"] .trading-visual-frame{
  min-height:94px;
  margin-top:8px;
}

#trading .ix-441[data-visual="img-discount"] .trading-visual-badges{
  position:absolute;
  left:clamp(14px,1.8vw,28px);
  bottom:16px;
  width:calc(100% - clamp(112px,9vw,132px));
  margin:0;
  transform:none;
}

@media (max-width:767px){
  #trading .ix-441[data-visual="img-discount"] .trading-visual-frame{
    min-height:82px;
    margin-top:6px;
  }

  #trading .ix-441[data-visual="img-discount"] .trading-visual-badges{
    left:18px;
    bottom:14px;
    width:calc(100% - 104px);
    margin:0;
    transform:none;
  }
}

@media (max-width:420px){
  #trading .ix-441[data-visual="img-discount"] .trading-visual-frame{
    min-height:76px;
  }

  #trading .ix-441[data-visual="img-discount"] .trading-visual-badges{
    left:14px;
    bottom:12px;
    width:calc(100% - 92px);
    transform:none;
  }
}

/* Six comparison variants for the principles cards only */
.ix-356,
.ix-364,
.ix-372,
.ix-380,
.ix-388,
.ix-396{
  border-width:1px;
  border-style:solid;
  box-shadow:0 22px 46px rgba(0,0,0,.2);
}

.ix-357,
.ix-365,
.ix-373,
.ix-381,
.ix-389,
.ix-397{
  color:#aebddd;
}

.ix-358,
.ix-366,
.ix-374,
.ix-382,
.ix-390,
.ix-398{
  color:#f6f8ff;
}

.ix-359,
.ix-367,
.ix-375,
.ix-383,
.ix-391,
.ix-399{
  color:#d6ddf0;
}

.ix-356{
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%);
  border-color:rgba(137,174,255,.34);
  box-shadow:0 24px 50px rgba(28,58,132,.34);
}

.ix-364{
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%);
  border-color:rgba(137,174,255,.34);
  box-shadow:0 24px 50px rgba(28,58,132,.34);
}

.ix-372{
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%);
  border-color:rgba(137,174,255,.34);
  box-shadow:0 24px 50px rgba(28,58,132,.34);
}

.ix-380{
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%);
  border-color:rgba(137,174,255,.34);
  box-shadow:0 24px 50px rgba(28,58,132,.34);
}

.ix-388{
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%);
  border-color:rgba(137,174,255,.34);
  box-shadow:0 24px 50px rgba(28,58,132,.34);
}

.ix-396{
  background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%);
  border-color:rgba(137,174,255,.34);
  box-shadow:0 24px 50px rgba(28,58,132,.34);
}

/* Production polish: one motion system, no layout-changing animation. */
:root{
  --motion-fast:300ms;
  --motion-standard:600ms;
  --motion-slow:900ms;
  --motion-ease:cubic-bezier(.22,1,.36,1);
  --motion-ease-soft:var(--motion-ease);
}

[data-anim].in{
  animation-duration:var(--motion-standard)!important;
  animation-delay:var(--stagger-delay,0ms)!important;
  animation-timing-function:var(--motion-ease)!important;
}

.reveal,
.reveal-left,
.reveal-right,
.mo-pop,
.ring-pop{
  animation-duration:var(--motion-slow)!important;
  animation-timing-function:var(--motion-ease)!important;
}

.hin{
  animation-duration:var(--motion-standard)!important;
  animation-timing-function:var(--motion-ease)!important;
}

.hin-mask > span{
  animation-duration:var(--motion-slow)!important;
  animation-timing-function:var(--motion-ease)!important;
}

.ix-441{
  animation-duration:var(--motion-standard)!important;
  animation-delay:var(--stagger-delay,0ms)!important;
  animation-timing-function:var(--motion-ease)!important;
}

/* Blend alternating section colours without changing section geometry. */
.ix-164,
.ix-214,
.ix-281,
.ix-235,
.ix-306,
.ix-324{
  position:relative;
  isolation:isolate;
}

.ix-164::before,
.ix-214::before,
.ix-281::before,
.ix-235::before,
.ix-306::before,
.ix-324::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  right:0;
  left:0;
  height:clamp(56px,8vw,108px);
  pointer-events:none;
}

.ix-164::before,
.ix-235::before{
  background:linear-gradient(180deg,var(--theme-bg),transparent);
}

.ix-214::before,
.ix-281::before,
.ix-306::before,
.ix-324::before{
  background:linear-gradient(180deg,var(--theme-bg-alt),transparent);
}

/* Current-section feedback uses a transform-only underline. */
.ix-010,
.ix-030,
.ix-031,
.ix-032{
  position:relative;
}

.ix-032.platform-intelligence-link{
  background:transparent!important;
  border-color:transparent!important;
  color:var(--theme-text-sub)!important;
  transition:transform .22s var(--motion-ease),background .22s ease,color .22s ease,box-shadow .22s ease!important;
  border-radius:999px!important;
  font-size:14.5px!important;
  font-weight:600!important;
  margin-left:0!important;
  padding:10px 14px!important;
}

.ix-032.platform-intelligence-link:hover{
  color:var(--theme-text)!important;
  background:var(--theme-badge-bg)!important;
  transform:translateY(-1px);
}

.ix-032.platform-intelligence-link.is-current{
  color:var(--theme-text)!important;
}

.ix-010::after,
.ix-030::after,
.ix-031::after,
.ix-032::after{
  content:"";
  position:absolute;
  right:14px;
  bottom:5px;
  left:14px;
  height:2px;
  border-radius:999px;
  background:var(--theme-accent);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--motion-fast) var(--motion-ease);
}

.ix-010.is-current::after,
.ix-030.is-current::after,
.ix-031.is-current::after,
.ix-032.is-current::after{
  transform:scaleX(1);
}

.ix-010.is-current,
.ix-030.is-current,
.ix-031.is-current,
.ix-032.is-current{
  color:var(--theme-text);
}

/* Restrained CTA sweep and press feedback. */
.ix-037,
.ix-045,
.ix-328{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform var(--motion-fast) var(--motion-ease),
    box-shadow var(--motion-fast) var(--motion-ease),
    border-color var(--motion-fast) var(--motion-ease)!important;
}

.ix-037::after,
.ix-045::after,
.ix-328::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-80%;
  bottom:-80%;
  left:-38%;
  width:30%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:translateX(-220%) rotate(16deg);
  transition:transform var(--motion-standard) var(--motion-ease);
}

@media (hover:hover) and (pointer:fine){
  .ix-037:hover::after,
  .ix-045:hover::after,
  .ix-328:hover::after{
    transform:translateX(620%) rotate(16deg);
  }
}

.ix-037:active,
.ix-045:active,
.ix-328:active{
  transform:translateY(1px) scale(.985)!important;
}

/* Architecture cards expose their central relationship on pointer and keyboard. */
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  #architecture .sc-sat{
    transition:border-color var(--motion-fast) var(--motion-ease),
      box-shadow var(--motion-fast) var(--motion-ease),
      filter var(--motion-fast) var(--motion-ease)!important;
  }

  #architecture .sc-sat:is(:hover,:focus-visible){
    border-color:rgba(107,161,255,.68)!important;
    box-shadow:0 24px 52px rgba(36,92,216,.28),inset 0 1px 0 rgba(255,255,255,.1)!important;
    filter:brightness(1.08);
  }

  #architecture .ix-247:has(.sc-sat:is(:hover,:focus-visible)) .ix-276{
    border-color:rgba(107,161,255,.76)!important;
    box-shadow:0 0 0 10px rgba(60,121,255,.08),0 30px 70px rgba(18,55,137,.34)!important;
    transition:border-color var(--motion-fast) var(--motion-ease),
      box-shadow var(--motion-fast) var(--motion-ease)!important;
  }

  #architecture .ix-247:has(.sc-sat:is(:hover,:focus-visible)) .orb-lines{
    opacity:.78;
    transition:opacity var(--motion-fast) var(--motion-ease);
  }
}

/* Architecture is one centered eight-card orbit with no side column. */
#architecture .ix-236{
  width:min(calc(100% - 40px),1320px);
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:0;
}

#architecture .architecture-orbit-heading{
  width:100%;
  display:flex;
  justify-content:center;
  margin-bottom:clamp(24px,3vw,38px);
  text-align:center;
}

#architecture .ix-247{
  width:100%;
  max-width:1240px;
  justify-self:center;
}

.architecture-axis-line{
  --s:.16;
}

@media (min-width:1025px){
  #architecture .ix-247{
    min-height:960px;
    transform:none;
  }

  #architecture .sc-sat{
    width:clamp(220px,15.5vw,250px)!important;
    min-height:176px;
  }

  #architecture .ix-276{
    width:380px!important;
    height:380px!important;
  }

  #architecture .architecture-flow-card,
  #architecture .architecture-scale-card{
    left:50%;
    right:auto;
    translate:-50% 0;
    transform:none;
  }

  #architecture .architecture-flow-card{
    top:2.5%;
    bottom:auto;
  }

  #architecture .architecture-scale-card{
    top:auto;
    bottom:2.5%;
  }

  #architecture .architecture-flow-card:hover,
  #architecture .architecture-scale-card:hover{
    transform:translateY(-6px) scale(1.03);
  }
}

@media (max-width:1024px){
  #architecture .architecture-orbit-heading{
    margin-bottom:24px;
  }

  #architecture .architecture-flow-card,
  #architecture .architecture-scale-card{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:220px;
    margin:0!important;
    translate:none;
    transform:none!important;
  }

  #architecture .architecture-flow-card::before,
  #architecture .architecture-flow-card::after,
  #architecture .architecture-scale-card::before,
  #architecture .architecture-scale-card::after{
    display:none!important;
  }

  #architecture .architecture-flow-card{order:1}
  #architecture .ix-258:not(.architecture-flow-card){order:2}
  #architecture .ix-261:not(.architecture-scale-card){order:3}
  #architecture .ix-264{order:4}
  #architecture .ix-267{order:5}
  #architecture .ix-270{order:6}
  #architecture .ix-273{order:7}
  #architecture .architecture-scale-card{order:8}
}

@media (min-width:641px) and (max-width:1024px){
  #architecture .ix-247{
    width:min(100%,820px);
    padding:24px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  #architecture .sc-sat,
  #architecture .architecture-flow-card,
  #architecture .architecture-scale-card{
    width:min(100%,220px)!important;
    max-width:220px!important;
    min-height:190px;
    margin:0!important;
    translate:none;
    transform:none!important;
  }

  #architecture .ix-247::before{
    display:block!important;
    top:170px;
    bottom:44px;
  }

  #architecture .ix-247::after{
    display:block!important;
    top:320px;
    animation:architectureTabletSpineSignal 7s linear infinite!important;
  }

  #architecture .sc-sat::after{
    display:block!important;
    top:50%;
    width:38px;
    height:1px;
    transform:translateY(-50%);
    background:linear-gradient(90deg,rgba(90,141,255,.16),rgba(90,141,255,.72),rgba(90,141,255,.16));
  }

  #architecture .sc-sat::before{
    display:block!important;
    top:50%;
    width:10px;
    height:10px;
  }

  #architecture .sc-sat:nth-of-type(odd)::after{
    right:-38px!important;
    left:auto!important;
  }

  #architecture .sc-sat:nth-of-type(even)::after{
    right:auto!important;
    left:-38px!important;
  }

  #architecture .sc-sat:nth-of-type(odd)::before{
    right:-6px!important;
    left:auto!important;
    animation:architectureTabletSignalLeft 2.6s linear infinite!important;
  }

  #architecture .sc-sat:nth-of-type(even)::before{
    right:auto!important;
    left:-6px!important;
    animation:architectureTabletSignalRight 2.6s linear infinite!important;
  }

  #architecture .sc-sat:nth-of-type(odd){
    justify-self:start;
  }

  #architecture .sc-sat:nth-of-type(even){
    justify-self:end;
  }

  #architecture .ix-276{
    grid-column:1 / -1!important;
    justify-self:center;
    width:290px!important;
    height:290px!important;
    margin-bottom:12px;
  }
}

/* Final CTA: consistently rounded edges and a one-shot upward entrance. */
#contact{
  overflow:hidden;
  scroll-margin-top:108px;
  background-clip:padding-box;
}

#contact.final-cta-ready{
  animation:none!important;
  opacity:0;
  transform:translateY(76px) scale(.982);
  transition:
    opacity .72s var(--motion-ease),
    transform .9s var(--motion-ease),
    border-color .72s ease,
    box-shadow .9s var(--motion-ease)!important;
  will-change:transform,opacity;
}

#contact.final-cta-ready > :is(.ix-325,.ix-326,.ix-327){
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .58s var(--motion-ease),
    transform .72s var(--motion-ease);
}

#contact.final-cta-visible{
  opacity:1;
  transform:none;
  border-color:rgba(132,175,255,.34);
  box-shadow:0 42px 110px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.07);
}

#contact.final-cta-visible > :is(.ix-325,.ix-326,.ix-327){
  opacity:1;
  transform:none;
}

#contact.final-cta-visible > .ix-325{transition-delay:140ms}
#contact.final-cta-visible > .ix-326{transition-delay:260ms}
#contact.final-cta-visible > .ix-327{transition-delay:380ms}

@media (prefers-reduced-motion:reduce){
  #contact.final-cta-ready,
  #contact.final-cta-ready > :is(.ix-325,.ix-326,.ix-327){
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

@media (max-width:620px){
  #contact{
    scroll-margin-top:86px;
  }
}

@media (max-width:767px){
  #architecture .architecture-flow-card,
  #architecture .architecture-scale-card{
    max-width:none;
    padding:18px;
    border-radius:20px;
    justify-self:stretch;
  }
}

/* Balanced headings and cleaner final lines at every breakpoint. */
.ix-042,
.ix-169,
.ix-239,
.ix-286,
.ix-310,
.ix-325,
.ix-358,
.ix-366,
.ix-374,
.ix-382,
.ix-390,
.ix-398,
.ix-445{
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}

.ix-043,
.ix-170,
.ix-240,
.ix-291,
.ix-326,
.ix-438,
.ix-446{
  text-wrap:pretty;
}

.ix-169{
  font-size:50px;
  line-height:1.03;
  max-width:15ch;
}

@media (max-width:1024px){
  .ix-169{
    font-size:clamp(34px,6vw,46px);
  }
}

@media (max-width:560px){
  .ix-169{
    font-size:clamp(28px,8.6vw,38px);
    max-width:13ch;
  }
}

/* Keyboard and landmark accessibility. */
.skip-link{
  position:fixed;
  z-index:10000;
  top:12px;
  left:12px;
  padding:11px 16px;
  color:#0c1a38;
  background:#fff;
  border:2px solid var(--theme-accent);
  border-radius:12px;
  font-weight:800;
  transform:translateY(-160%);
  transition:transform var(--motion-fast) var(--motion-ease);
}

.skip-link:focus{
  transform:translateY(0);
}

:where(a,button,[tabindex="0"]):focus-visible{
  outline:3px solid #82b5ff;
  outline-offset:4px;
  box-shadow:0 0 0 6px rgba(15,29,62,.78);
}

#main-content:focus{
  outline:none;
}

@media (max-width:1024px){
  #architecture .sc-sat.in{
    animation-duration:var(--motion-standard)!important;
    animation-delay:var(--stagger-delay,0ms)!important;
    animation-timing-function:var(--motion-ease)!important;
  }

  #architecture .sc-core.in{
    animation-duration:var(--motion-standard)!important;
    animation-timing-function:var(--motion-ease)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto!important;
  }

  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }

  [data-anim],
  .reveal,
  .reveal-left,
  .reveal-right,
  .mo-pop,
  .ring-pop,
  .hin,
  .hin-mask > span,
  #architecture .sc-l,
  #architecture .sc-sat,
  #architecture .sc-core{
    opacity:1!important;
    transform:none!important;
  }

  .ix-037::after,
  .ix-045::after,
  .ix-328::after{
    display:none;
  }
}

/* Keep the restored sections authoritative at responsive breakpoints. */
@media (max-width:1024px){
  #platform .ix-347{display:block;grid-template-columns:none;gap:0}
  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
}

@media (max-width:820px){
  #platform .ix-348{padding-left:0;text-align:center}
  #platform .ix-351{display:block;left:22px;top:160px;bottom:165px;transform:none}
  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:14px;margin-bottom:18px!important}
  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392) :is(.ix-353,.ix-361,.ix-369,.ix-377,.ix-385,.ix-393){grid-column:1;grid-row:1}
  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392) :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){grid-column:2;grid-row:1}
}

@media (max-width:620px){
  #platform{padding:84px 14px}
  #platform .ix-166{margin-bottom:0}
  #platform .ix-347{display:block;grid-template-columns:none;gap:0;padding-inline:0}
  #platform .ix-348,#platform .ix-400{grid-column:auto}
  #platform :is(.ix-352,.ix-360,.ix-368,.ix-376,.ix-384,.ix-392){min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;grid-template-columns:36px minmax(0,1fr);gap:10px}
  #platform :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){padding:20px!important;border:1px solid rgba(137,174,255,.34)!important;border-radius:22px!important;background:linear-gradient(180deg,#3151a3 0%,#1e2f62 100%)!important;box-shadow:0 24px 50px rgba(28,58,132,.28)!important}
  #platform .ix-400{width:calc(100% - 46px);margin:10px 0 0 46px;padding:22px 20px}
}

/* Live trade journey: centred introduction, content first, flow visual second. */
.ix-214 .ix-219{
  display:flex;
  flex-direction:column;
}

.ix-214 .ix-403{
  order:1;
  width:100%;
  align-items:center;
  text-align:center;
}

.ix-214 .ix-403 > div:first-child{
  width:min(100%,720px);
  max-width:720px;
  margin-inline:auto;
  text-align:center;
}

.ix-214 .ix-404{
  justify-content:center;
}

.ix-214 .ix-405{
  max-width:680px;
  margin:12px auto 0;
  text-align:center;
}

.ix-214 .ix-406{
  width:min(100%,820px);
  margin-inline:auto;
}

.ix-214 .ix-409{order:2}
.ix-214 .ix-408{order:3;margin-top:30px}
.ix-214 .ix-415{order:4}
.ix-214 .ix-234{order:5}

@keyframes exchangeBlockSweep{
  from{opacity:0;transform:translateX(-46px);filter:blur(6px)}
  to{opacity:1;transform:none;filter:none}
}

.ix-214 .ix-219.story-is-changing .ix-410,
.ix-214 .ix-219.story-is-changing .ix-408,
.ix-214 .ix-219.story-is-changing .ix-415{
  animation:exchangeBlockSweep .68s var(--motion-ease) both;
  will-change:transform,opacity,filter;
}

.ix-214 .ix-219.story-is-changing .ix-410:nth-child(1){animation-delay:0ms}
.ix-214 .ix-219.story-is-changing .ix-410:nth-child(2){animation-delay:120ms}
.ix-214 .ix-219.story-is-changing .ix-410:nth-child(3){animation-delay:240ms}
.ix-214 .ix-219.story-is-changing .ix-408{animation-delay:360ms}
.ix-214 .ix-219.story-is-changing .ix-415{animation-delay:500ms}

@media (max-width:620px){
  .ix-214 .ix-408{margin-top:18px}
}

@media (prefers-reduced-motion:reduce){
  .ix-214 .ix-219.story-is-changing .ix-410,
  .ix-214 .ix-219.story-is-changing .ix-408,
  .ix-214 .ix-219.story-is-changing .ix-415{
    animation:none!important;
  }
}

/* Start the audience controls at the top instead of vertically centring the block. */
#audiences.ix-281{
  min-height:0;
  scroll-margin-top:96px;
  padding-top:clamp(30px,3vw,46px)!important;
  padding-bottom:clamp(56px,6vw,84px)!important;
  align-content:start;
}

@media (min-width:1025px){
  #audiences.ix-281{
    margin-top:calc(clamp(110px,16vh,180px) * -1);
  }
}

#audiences .ix-282{
  min-height:0;
  margin-top:0;
}

#audiences .ix-283{
  margin-top:0;
}

@media (max-width:620px){
  #audiences.ix-281{
    margin-top:0;
    scroll-margin-top:82px;
    padding-top:28px!important;
    padding-bottom:56px!important;
  }
}

/* Architecture reveal: cards emerge from the core and connect one by one. */
#architecture .ix-247{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#architecture{
  scroll-margin-top:96px;
}

@media (min-width:1025px){
  #architecture.architecture-sequence-ready .sc-sat{
    opacity:0!important;
    z-index:1!important;
    scale:.42;
    transition:
      opacity .58s var(--motion-ease),
      translate .9s var(--motion-ease),
      scale .9s var(--motion-ease),
      border-color var(--motion-fast) var(--motion-ease),
      box-shadow var(--motion-fast) var(--motion-ease),
      filter var(--motion-fast) var(--motion-ease)!important;
    transition-delay:calc(var(--orbit-card-delay,0ms) + 460ms),var(--orbit-card-delay,0ms),var(--orbit-card-delay,0ms),0ms,0ms,0ms!important;
    will-change:translate,scale,opacity;
  }

  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(1){--orbit-card-delay:0ms;translate:-50% 330px}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(2){--orbit-card-delay:140ms;translate:330px 250px}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(3){--orbit-card-delay:280ms;translate:-330px 250px}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(4){--orbit-card-delay:420ms;translate:390px 0}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(5){--orbit-card-delay:560ms;translate:-390px 0}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(6){--orbit-card-delay:700ms;translate:330px -250px}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(7){--orbit-card-delay:840ms;translate:-330px -250px}
  #architecture.architecture-sequence-ready .sc-sat:nth-of-type(8){--orbit-card-delay:980ms;translate:-50% -330px}

  #architecture.architecture-sequence-active .sc-sat,
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(2),
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(3),
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(4),
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(5),
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(6),
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(7){
    opacity:1!important;
    scale:1;
    translate:0 0;
  }

  #architecture.architecture-sequence-active .sc-sat:nth-of-type(1),
  #architecture.architecture-sequence-active .sc-sat:nth-of-type(8){
    translate:-50% 0;
  }

  #architecture .ix-276{
    z-index:4!important;
  }

  #architecture.architecture-sequence-ready .sc-line{
    opacity:0!important;
    stroke-dasharray:1100;
    stroke-dashoffset:1100;
    animation:none!important;
    transition:
      stroke-dashoffset .72s var(--motion-ease),
      opacity .28s ease!important;
    transition-delay:var(--orbit-line-delay,0ms)!important;
  }

  #architecture.architecture-sequence-ready .sc-line:nth-child(1){--orbit-line-delay:590ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(2){--orbit-line-delay:730ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(3){--orbit-line-delay:870ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(4){--orbit-line-delay:1010ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(5){--orbit-line-delay:1150ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(6){--orbit-line-delay:1290ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(7){--orbit-line-delay:450ms}
  #architecture.architecture-sequence-ready .sc-line:nth-child(8){--orbit-line-delay:1430ms}

  #architecture.architecture-sequence-active .sc-line{
    opacity:.62!important;
    stroke-dashoffset:0;
  }

  #architecture.architecture-sequence-active .ix-276{
    animation:architectureCoreWake .8s var(--motion-ease) both;
  }
}

@keyframes architectureCoreWake{
  0%{filter:brightness(.82);box-shadow:0 0 0 0 rgba(60,121,255,0)}
  55%{filter:brightness(1.12);box-shadow:0 0 0 18px rgba(60,121,255,.1)}
  100%{filter:none;box-shadow:0 0 0 8px rgba(60,121,255,.04)}
}

@keyframes architectureCoreBreath{
  0%,100%{
    filter:brightness(1);
    box-shadow:0 0 0 8px rgba(60,121,255,.04),0 24px 70px rgba(18,55,137,.3);
  }
  50%{
    filter:brightness(1.1);
    box-shadow:0 0 0 15px rgba(60,121,255,.09),0 30px 82px rgba(35,91,218,.42);
  }
}

#architecture .architecture-signal-node{
  opacity:0;
}

@media (min-width:1025px){
  #architecture .architecture-signal-node{
    opacity:0;
    fill:#f7fbff;
    stroke:#74a2ff;
    stroke-width:2px;
    filter:drop-shadow(0 0 5px #a9c6ff) drop-shadow(0 0 12px rgba(83,137,255,.92));
    transition:opacity .35s ease;
  }

  #architecture.architecture-sequence-complete .architecture-signal-node{
    opacity:1;
  }

  #architecture.architecture-sequence-complete .sc-line{
    opacity:.52!important;
    stroke-dasharray:7 12;
    stroke-dashoffset:0;
    animation:dashOrbit 10s linear infinite!important;
    transition:none!important;
  }

  #architecture.architecture-sequence-complete .ix-276{
    animation:architectureCoreBreath 3.8s ease-in-out infinite;
  }
}

@media (prefers-reduced-motion:reduce){
  #architecture.architecture-sequence-ready .sc-sat,
  #architecture.architecture-sequence-active .sc-sat{
    opacity:1!important;
    translate:0 0!important;
    scale:1!important;
  }

  #architecture.architecture-sequence-ready .sc-line{
    opacity:.62!important;
    stroke-dashoffset:0!important;
    animation:none!important;
  }

  #architecture .architecture-signal-node{
    display:none;
  }
}

@media (max-width:1024px){
  #architecture .architecture-signal-nodes{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce) and (min-width:1025px){
  #architecture.architecture-sequence-ready .architecture-flow-card,
  #architecture.architecture-sequence-ready .architecture-scale-card{
    translate:-50% 0!important;
  }
}

@media (min-width:641px) and (max-width:1024px){
  #architecture.architecture-sequence-ready:not(.architecture-sequence-complete) .ix-247::after,
  #architecture.architecture-sequence-ready:not(.architecture-sequence-complete) .sc-sat::before{
    opacity:0!important;
  }
}

/* Navigation colour lab: current palette plus two light directions. */
:root,
html[data-colour-theme="ocean"]{
  --site-tone-a:#0c1733;
  --site-tone-b:#102147;
  --site-text:#eef1f8;
  --site-text-sub:#a6b0cc;
  --site-card:#141d33;
  --site-nav:rgba(16,29,61,.88);
  --site-track:#182140;
  --site-border:#22304d;
  --site-orbit-card:linear-gradient(145deg,rgba(27,47,87,.94),rgba(14,28,57,.94));
  --site-footer-a:#0f1b3d;
  --site-footer-mid:#123a8f;
  --site-footer-end:#2c62e0;
  --site-accent:#3c79ff;
  --site-accent-deep:#2c62e0;
  --site-accent-soft:#7fa9ff;
}

html[data-colour-theme="arctic"]{
  --site-tone-a:#f7faff;
  --site-tone-b:#dce9fb;
  --site-text:#102449;
  --site-text-sub:#5c6f90;
  --site-card:rgba(255,255,255,.84);
  --site-nav:rgba(255,255,255,.82);
  --site-track:rgba(255,255,255,.7);
  --site-border:rgba(57,102,171,.22);
  --site-orbit-card:linear-gradient(145deg,rgba(255,255,255,.95),rgba(224,235,250,.94));
  --site-footer-a:#15335f;
  --site-footer-mid:#1f63d8;
  --site-footer-end:#174ba7;
  --site-accent:#1f63d8;
  --site-accent-deep:#174ba7;
  --site-accent-soft:#78a7ed;
}

html[data-colour-theme="pearl"]{
  --site-tone-a:#f7f8fb;
  --site-tone-b:#d9dfeb;
  --site-text:#111d35;
  --site-text-sub:#59667e;
  --site-card:rgba(255,255,255,.86);
  --site-nav:rgba(255,255,255,.82);
  --site-track:rgba(255,255,255,.72);
  --site-border:rgba(52,75,119,.2);
  --site-orbit-card:linear-gradient(145deg,rgba(255,255,255,.97),rgba(220,226,238,.95));
  --site-footer-a:#192a4b;
  --site-footer-mid:#274d91;
  --site-footer-end:#1d396d;
  --site-accent:#274d91;
  --site-accent-deep:#1d396d;
  --site-accent-soft:#7391c5;
}

html[data-colour-theme]{
  --theme-bg:var(--site-tone-a)!important;
  --theme-bg-alt:var(--site-tone-b)!important;
  --theme-text:var(--site-text)!important;
  --theme-text-sub:var(--site-text-sub)!important;
  --theme-card-bg:var(--site-card)!important;
  --theme-card-shadow:0 32px 80px color-mix(in srgb,var(--site-text) 12%,transparent)!important;
  --theme-card-shadow-2:0 18px 44px color-mix(in srgb,var(--site-text) 10%,transparent)!important;
  --theme-nav-bg:var(--site-nav)!important;
  --theme-nav-border:var(--site-border)!important;
  --theme-tab-track-bg:var(--site-track)!important;
  --theme-badge-bg:color-mix(in srgb,var(--site-accent) 16%,transparent)!important;
  --theme-border:var(--site-border)!important;
  --theme-accent:var(--site-accent)!important;
  --theme-accent-soft:var(--site-accent-soft)!important;
  --theme-accent-grad:linear-gradient(135deg,var(--site-accent),var(--site-accent-deep))!important;
  --theme-accent-ink:#fff!important;
  --theme-glow-a:color-mix(in srgb,var(--site-accent) 6%,transparent)!important;
  --theme-glow-b:color-mix(in srgb,var(--site-accent-soft) 4%,transparent)!important;
  --theme-glow-a-2:color-mix(in srgb,var(--site-accent) 10%,transparent)!important;
  --theme-glow-b-2:color-mix(in srgb,var(--site-accent-soft) 7%,transparent)!important;
  --theme-core-mid:color-mix(in srgb,var(--site-accent) 12%,transparent)!important;
  --theme-core-deep:var(--site-tone-a)!important;
}

html[data-colour-theme]:not([data-colour-theme="ocean"]){
  color-scheme:light;
}

.colour-theme-picker{
  position:relative;
  z-index:8;
}

.colour-theme-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--theme-text-sub);
  cursor:pointer;
  transition:color .22s ease,background .22s ease,box-shadow .22s ease;
}

.colour-theme-trigger:hover,
.colour-theme-picker.is-open .colour-theme-trigger{
  color:var(--theme-text);
  background:var(--theme-badge-bg);
  box-shadow:0 10px 24px color-mix(in srgb,var(--site-tone-a) 50%,transparent);
}

.colour-theme-trigger svg{
  transition:transform .24s var(--motion-ease);
}

.colour-theme-picker.is-open .colour-theme-trigger svg{
  transform:rotate(180deg);
}

.colour-theme-trigger-swatch{
  width:22px;
  height:12px;
  border:1px solid color-mix(in srgb,var(--site-accent-soft) 60%,#fff);
  border-radius:999px;
  background:linear-gradient(90deg,var(--site-tone-a) 0 50%,var(--site-tone-b) 50% 100%);
  box-shadow:0 0 12px color-mix(in srgb,var(--site-accent) 32%,transparent);
}

.colour-theme-panel{
  position:absolute;
  top:calc(100% + 14px);
  right:-36px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:min(430px,calc(100vw - 32px));
  padding:14px;
  border:1px solid var(--theme-border);
  border-radius:22px;
  background:color-mix(in srgb,var(--site-tone-a) 94%,transparent);
  box-shadow:0 28px 70px color-mix(in srgb,#000 50%,transparent);
  -webkit-backdrop-filter:blur(22px);
  backdrop-filter:blur(22px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px) scale(.98);
  transform-origin:top right;
  transition:opacity .22s ease,visibility .22s ease,transform .22s var(--motion-ease);
}

.colour-theme-picker.is-open .colour-theme-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.colour-theme-label{
  grid-column:1 / -1;
  padding:2px 4px 7px;
  color:var(--theme-text-sub);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.colour-theme-option{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-height:56px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:15px;
  color:var(--theme-text-sub);
  background:color-mix(in srgb,var(--site-tone-b) 22%,transparent);
  cursor:pointer;
  text-align:left;
  font-size:12px;
  font-weight:700;
  transition:transform .2s var(--motion-ease),border-color .2s ease,color .2s ease,background .2s ease;
}

.colour-theme-option:hover,
.colour-theme-option:focus-visible{
  color:var(--theme-text);
  border-color:var(--theme-border);
  background:color-mix(in srgb,var(--site-tone-b) 42%,transparent);
  transform:translateY(-1px);
}

.colour-theme-option[aria-pressed="true"]{
  color:var(--theme-text);
  border-color:var(--site-accent);
  background:var(--theme-badge-bg);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--site-accent) 18%,transparent);
}

.colour-theme-swatch{
  width:42px;
  height:30px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  background:linear-gradient(135deg,var(--swatch-a) 0 48%,var(--swatch-b) 52% 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 5px 12px rgba(0,0,0,.2);
}

html[data-colour-theme] body{
  background:var(--site-tone-a);
}

html[data-colour-theme] .ix-001{
  background:var(--site-tone-a);
}

html[data-colour-theme] #top{
  background-color:var(--site-tone-a)!important;
  background-image:
    radial-gradient(circle at 18% 330px,color-mix(in srgb,var(--site-accent) 20%,transparent),transparent 32%),
    radial-gradient(circle at 84% 300px,color-mix(in srgb,var(--site-accent-soft) 13%,transparent),transparent 30%),
    linear-gradient(180deg,var(--site-tone-a) 0,var(--site-tone-b) 76%,var(--site-tone-a) 100%)!important;
  background-repeat:no-repeat;
  background-size:100% 1100px;
}

html[data-colour-theme] .ix-003{
  background:var(--theme-nav-bg)!important;
  border-color:var(--theme-nav-border)!important;
}

html[data-colour-theme] .ix-038{
  background-color:var(--site-tone-a)!important;
  background-image:
    radial-gradient(circle at 18% 48%,color-mix(in srgb,var(--site-accent) 27%,transparent),transparent 31%),
    radial-gradient(circle at 84% 42%,color-mix(in srgb,var(--site-accent-soft) 14%,transparent),transparent 28%),
    linear-gradient(180deg,var(--site-tone-a),var(--site-tone-b) 76%,var(--site-tone-a))!important;
}

html[data-colour-theme] .ix-042 > span:last-child{
  background:linear-gradient(90deg,var(--site-text) 15%,var(--site-accent) 55%,var(--site-text) 90%);
  background-clip:text;
  -webkit-background-clip:text;
}

html[data-colour-theme] .ix-041{
  color:var(--site-accent-soft);
  border-color:color-mix(in srgb,var(--site-accent) 28%,transparent);
  background:color-mix(in srgb,var(--site-accent) 14%,transparent);
}

html[data-colour-theme] #audiences .ix-288,
html[data-colour-theme] .ix-219 .ix-407.is-active{
  border-color:color-mix(in srgb,var(--site-accent-soft) 72%,transparent);
  background:var(--theme-accent-grad);
  box-shadow:0 12px 30px color-mix(in srgb,var(--site-accent) 34%,transparent);
}

html[data-colour-theme] #audiences .ix-287,
html[data-colour-theme] .ix-219 .ix-406{
  color:var(--site-text-sub);
  border-color:var(--site-border);
  background:var(--site-track);
}

html[data-colour-theme] #audiences :is(.ix-289,.ix-290,.audience-admin-tab)[aria-selected="false"]{
  color:var(--site-text-sub)!important;
}

html[data-colour-theme] #audiences :is(.ix-289,.ix-290,.audience-admin-tab)[aria-selected="true"]{
  color:#fff!important;
}

html[data-colour-theme] .ix-219 .ix-407:hover{
  border-color:var(--theme-border);
  background:var(--theme-badge-bg);
}

html[data-colour-theme] #audiences{
  background-color:var(--site-tone-a)!important;
  background-image:
    radial-gradient(circle at 50% 0,color-mix(in srgb,var(--site-accent) 17%,transparent),transparent 30%),
    linear-gradient(180deg,var(--site-tone-a),var(--site-tone-b) 74%,var(--site-tone-a))!important;
}

html[data-colour-theme] #platform,
html[data-colour-theme] .ix-214,
html[data-colour-theme] #architecture,
html[data-colour-theme] #contact{
  background-color:var(--site-tone-a)!important;
  background-image:
    radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--site-accent) 11%,transparent),transparent 31%),
    linear-gradient(180deg,var(--site-tone-a),var(--site-tone-b) 54%,var(--site-tone-a))!important;
}

html[data-colour-theme] .ix-330{
  background:
    radial-gradient(circle at 18% 15%,color-mix(in srgb,var(--site-accent-soft) 20%,transparent),transparent 32%),
    linear-gradient(160deg,var(--site-footer-a),var(--site-footer-mid) 60%,var(--site-footer-end))!important;
}

html[data-colour-theme="ocean"] #top{
  background-color:#0c1733!important;
  background-image:
    radial-gradient(circle at 18% 330px,rgba(63,124,255,.25),transparent 32%),
    radial-gradient(circle at 84% 300px,rgba(180,192,219,.13),transparent 30%),
    linear-gradient(180deg,#0c1733 0,#102147 76%,var(--theme-bg-alt) 100%)!important;
}

html[data-colour-theme="ocean"] .ix-038{
  background-color:#0c1733!important;
  background-image:
    radial-gradient(circle at 18% 48%,rgba(63,124,255,.25),transparent 30%),
    radial-gradient(circle at 84% 42%,rgba(180,192,219,.13),transparent 27%),
    linear-gradient(180deg,#0c1733,#102147 76%,#0c1733)!important;
}

html[data-colour-theme="ocean"] .ix-042 > span:last-child{
  background:linear-gradient(90deg,#fff 15%,#90b5ff 55%,#fff 90%);
  background-clip:text;
  -webkit-background-clip:text;
}

html[data-colour-theme] :is(.ix-293,.ix-410,.ix-415,.sc-sat){
  background-color:var(--theme-card-bg);
  border-color:var(--theme-border);
}

html[data-colour-theme] #platform :is(.ix-355,.ix-363,.ix-371,.ix-379,.ix-387,.ix-395){
  border-color:var(--theme-border);
  background:color-mix(in srgb,var(--site-tone-a) 74%,var(--site-tone-b));
}

html[data-colour-theme] #platform :is(.ix-356,.ix-364,.ix-372,.ix-380,.ix-388,.ix-396){
  border-color:var(--theme-border)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-accent) 32%,var(--site-tone-b)),color-mix(in srgb,var(--site-tone-a) 68%,var(--site-tone-b)))!important;
  box-shadow:0 24px 50px color-mix(in srgb,var(--site-tone-a) 62%,transparent)!important;
}

html[data-colour-theme] #architecture .sc-sat{
  background:var(--site-orbit-card);
  border-color:var(--theme-border);
}

html[data-colour-theme] #architecture :is(.sc-line,.orb-lines path){
  stroke:var(--site-accent)!important;
}

html[data-colour-theme] #architecture .architecture-signal-node{
  stroke:var(--site-accent-soft);
  filter:drop-shadow(0 0 5px var(--site-accent-soft)) drop-shadow(0 0 12px var(--site-accent));
}

html[data-colour-theme] #contact{
  border-color:var(--theme-border);
}

html.colour-theme-changing :is(.ix-038,#audiences,#platform,.ix-214,#intelligence,#architecture,#contact,.ix-330){
  animation:colourThemeSettle .5s var(--motion-ease) both;
}

@keyframes colourThemeSettle{
  0%{filter:saturate(.72);opacity:.86}
  100%{filter:saturate(1);opacity:1}
}

@media (max-width:1024px){
  .colour-theme-picker{
    width:100%;
  }

  .colour-theme-trigger{
    justify-content:center;
    width:100%;
  }

  .colour-theme-panel{
    position:relative;
    top:auto;
    right:auto;
    display:none;
    width:100%;
    margin-top:10px;
    transform:translateY(-8px) scale(.98);
  }

  .colour-theme-picker.is-open .colour-theme-panel{
    display:grid;
    transform:translateY(0) scale(1);
  }
}

@media (max-width:560px){
  .colour-theme-panel{
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion:reduce){
  html.colour-theme-changing :is(.ix-038,#audiences,#platform,.ix-214,#intelligence,#architecture,#contact,.ix-330){
    animation:none!important;
  }
}

/* Aggregation introduces why all three participant portals belong together. */
#audiences .audience-aggregation-intro{
  width:min(100%,980px);
  margin:0 auto clamp(28px,3vw,42px);
  text-align:center;
}

#audiences .audience-aggregation-kicker{
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-bottom:clamp(16px,2vw,22px);
  color:var(--site-accent-soft);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.2em;
  text-transform:uppercase;
}

#audiences .audience-aggregation-kicker::before,
#audiences .audience-aggregation-kicker::after{
  content:"";
  width:34px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--site-accent));
}

#audiences .audience-aggregation-kicker::after{
  background:linear-gradient(90deg,var(--site-accent),transparent);
}

#audiences .audience-aggregation-kicker strong{
  color:var(--site-accent);
  font-size:15px;
}

#audiences .audience-aggregation-intro h2{
  max-width:17ch;
  margin:0 auto clamp(18px,2vw,24px);
  color:var(--site-text);
  font-size:clamp(34px,4.2vw,62px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.055em;
  text-wrap:balance;
}

#audiences .audience-aggregation-intro p{
  max-width:82ch;
  margin:0 auto;
  color:var(--site-text-sub);
  font-size:clamp(14px,1.15vw,17px);
  line-height:1.75;
  text-wrap:pretty;
}

#audiences .audience-aggregation-connector{
  display:block;
  width:1px;
  height:clamp(30px,3vw,46px);
  margin:clamp(22px,2.5vw,32px) auto 0;
  position:relative;
  background:linear-gradient(180deg,transparent,var(--site-accent));
}

#audiences .audience-aggregation-connector::after{
  content:"";
  width:7px;
  height:7px;
  position:absolute;
  right:50%;
  bottom:-3px;
  border-radius:50%;
  background:var(--site-accent-soft);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--site-accent) 12%,transparent),0 0 18px var(--site-accent);
  transform:translateX(50%);
}

@media (max-width:620px){
  #audiences .audience-aggregation-intro{
    margin-bottom:24px;
  }

  #audiences .audience-aggregation-kicker{
    letter-spacing:.15em;
  }

  #audiences .audience-aggregation-kicker::before,
  #audiences .audience-aggregation-kicker::after{
    width:22px;
  }

  #audiences .audience-aggregation-intro h2{
    max-width:13ch;
    letter-spacing:-.045em;
  }

  #audiences .audience-aggregation-intro p{
    font-size:14px;
    line-height:1.7;
  }
}

/* Staged upward motion for the strategic narrative pillars. */
@keyframes strategicRise{
  0%{opacity:0;transform:translateY(38px)}
  100%{opacity:1;transform:translateY(0)}
}

@keyframes strategicConnector{
  0%{opacity:0;transform:scaleY(0)}
  100%{opacity:1;transform:scaleY(1)}
}

[data-anim="rise"].in{
  animation-name:strategicRise!important;
  animation-duration:850ms!important;
  animation-fill-mode:both;
}

[data-anim="connector"]{
  opacity:0;
  transform:scaleY(0);
  transform-origin:top;
}

[data-anim="connector"].in{
  animation:strategicConnector 720ms var(--motion-ease) var(--stagger-delay,0ms) both!important;
}

/* Intelligence ledger: editorial layout using the active website theme. */
.intelligence-section{
  --ledger-ink:var(--site-text);
  --ledger-muted:var(--site-text-sub);
  --ledger-blue:var(--site-accent);
  --ledger-line:var(--site-border);
  padding:clamp(94px,9vw,146px) 24px;
  position:relative;
  z-index:0;
  overflow:hidden;
  color:var(--ledger-ink);
  background-color:var(--site-tone-a)!important;
  background-image:
    radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--site-accent) 12%,transparent),transparent 29%),
    linear-gradient(180deg,var(--site-tone-a),var(--site-tone-b) 54%,var(--site-tone-a))!important;
}

.intelligence-section::before{
  content:"";
  width:min(760px,48vw);
  height:190px;
  position:absolute;
  z-index:-1;
  top:0;
  right:5%;
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-accent) 10%,transparent),transparent);
  pointer-events:none;
}

.intelligence-shell{
  width:min(100%,1340px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(330px,.82fr) minmax(560px,1.18fr);
  align-items:start;
  gap:clamp(56px,8vw,128px);
}

.intelligence-intro{
  position:sticky;
  top:clamp(105px,12vh,145px);
  text-align:left;
}

.intelligence-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:clamp(28px,3vw,42px);
  color:var(--ledger-blue);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.intelligence-kicker::before{
  content:"";
  width:38px;
  height:1px;
  background:var(--ledger-blue);
}

.intelligence-kicker strong{
  font-size:12px;
}

.intelligence-intro h2{
  max-width:9.4ch;
  margin:0 0 clamp(26px,3vw,38px);
  color:var(--ledger-ink);
  font-size:clamp(50px,5.45vw,82px);
  font-weight:800;
  line-height:.99;
  letter-spacing:-.065em;
  text-wrap:balance;
}

.intelligence-intro>p{
  max-width:50ch;
  margin:0;
  color:var(--ledger-muted);
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.82;
  text-wrap:pretty;
}

.intelligence-live{
  margin-top:clamp(34px,4vw,54px);
  padding-top:20px;
  display:flex;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--ledger-line);
  color:var(--site-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.intelligence-live span{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--site-accent-soft);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--site-accent) 10%,transparent),0 0 14px color-mix(in srgb,var(--site-accent) 48%,transparent);
}

.intelligence-ledger{
  position:relative;
  border-top:1px solid var(--ledger-line);
}

.intelligence-ledger-item{
  position:relative;
  border-bottom:1px solid var(--ledger-line);
  transition:background .35s ease;
}

.intelligence-ledger-item:hover,
.intelligence-ledger-item.is-open{
  background:color-mix(in srgb,var(--site-accent) 8%,transparent);
}

.intelligence-ledger-trigger{
  width:100%;
  min-height:116px;
  padding:22px 14px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 48px;
  align-items:center;
  gap:18px;
  color:var(--ledger-ink);
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:padding .4s var(--motion-ease);
}

.intelligence-ledger-item:hover .intelligence-ledger-trigger,
.intelligence-ledger-item.is-open .intelligence-ledger-trigger{
  padding-inline:24px;
}

.intelligence-ledger-number{
  color:var(--ledger-blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}

.intelligence-ledger-title{
  font-size:clamp(21px,2vw,30px);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.intelligence-ledger-plus{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  position:relative;
  border:1px solid color-mix(in srgb,var(--site-accent) 28%,transparent);
  border-radius:50%;
  transition:color .3s ease,background .3s ease,border-color .3s ease,transform .45s var(--motion-ease);
}

.intelligence-ledger-plus::before,
.intelligence-ledger-plus::after{
  content:"";
  width:12px;
  height:1.5px;
  position:absolute;
  border-radius:99px;
  background:var(--ledger-blue);
}

.intelligence-ledger-plus::after{
  transform:rotate(90deg);
}

.intelligence-ledger-trigger:hover .intelligence-ledger-plus,
.intelligence-ledger-trigger:focus-visible .intelligence-ledger-plus{
  border-color:var(--ledger-blue);
  background:var(--ledger-blue);
  transform:scale(1.06);
}

.intelligence-ledger-trigger:hover .intelligence-ledger-plus::before,
.intelligence-ledger-trigger:hover .intelligence-ledger-plus::after,
.intelligence-ledger-trigger:focus-visible .intelligence-ledger-plus::before,
.intelligence-ledger-trigger:focus-visible .intelligence-ledger-plus::after{
  background:#fff;
}

.intelligence-ledger-trigger:focus-visible{
  outline:2px solid var(--ledger-blue);
  outline-offset:-3px;
}

.intelligence-ledger-item.is-open .intelligence-ledger-plus{
  border-color:var(--ledger-blue);
  background:var(--ledger-blue);
  transform:rotate(135deg);
}

.intelligence-ledger-item.is-open .intelligence-ledger-plus::before,
.intelligence-ledger-item.is-open .intelligence-ledger-plus::after{
  background:#fff;
}

.intelligence-ledger-panel{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .62s var(--motion-ease),opacity .35s ease;
}

.intelligence-ledger-panel>div{
  min-height:0;
  overflow:hidden;
}

.intelligence-ledger-panel p{
  max-width:62ch;
  margin:0;
  color:var(--ledger-muted);
  font-size:13px;
  line-height:1.72;
}

.intelligence-ledger-panel p+p{
  margin-top:9px;
}

.intelligence-ledger-panel p:last-child{
  padding-bottom:30px;
}

.intelligence-ledger-panel p,
.intelligence-ledger-item.is-open .intelligence-ledger-panel p{
  margin-right:74px;
  margin-left:104px;
}

.intelligence-ledger-item.is-open .intelligence-ledger-panel{
  grid-template-rows:1fr;
  opacity:1;
}

@media (max-width:1024px){
  .intelligence-shell{
    grid-template-columns:1fr;
    gap:58px;
  }

  .intelligence-intro{
    max-width:820px;
    margin-inline:auto;
    position:relative;
    top:auto;
    text-align:center;
  }

  .intelligence-intro h2{
    max-width:14ch;
    margin-inline:auto;
  }

  .intelligence-intro>p{
    max-width:68ch;
    margin-inline:auto;
  }

  .intelligence-live{
    justify-content:center;
  }
}

@media (max-width:620px){
  .intelligence-section{
    padding:76px 16px 84px;
  }

  .intelligence-intro h2{
    font-size:clamp(40px,12vw,58px);
  }

  .intelligence-kicker{
    margin-bottom:26px;
    letter-spacing:.14em;
  }

  .intelligence-ledger-trigger{
    min-height:96px;
    padding:18px 4px;
    grid-template-columns:38px minmax(0,1fr) 38px;
    gap:10px;
  }

  .intelligence-ledger-item:hover .intelligence-ledger-trigger,
  .intelligence-ledger-item.is-open .intelligence-ledger-trigger{
    padding-inline:8px;
  }

  .intelligence-ledger-title{
    font-size:19px;
  }

  .intelligence-ledger-plus{
    width:36px;
    height:36px;
  }

  .intelligence-ledger-panel p,
  .intelligence-ledger-item.is-open .intelligence-ledger-panel p{
    margin-right:46px;
    margin-left:48px;
  }
}

@media (prefers-reduced-motion:reduce){
  .intelligence-ledger-panel{
    transition:none!important;
  }
}

/* Light themes: replace Ocean-only pale text across every live content surface. */
html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]){
  color:var(--site-text);
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) :is(
  .ix-043,.ix-170,.ix-291,.ix-350,.ix-402,.ix-405,.ix-413,.ix-419,.ix-234,
  .ix-240,.ix-260,.ix-263,.ix-266,.ix-269,.ix-272,.ix-275,.ix-280,.ix-326
){
  color:var(--site-text-sub)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]){
  --dark-card-heading:#eef1f8;
  --dark-card-copy:#a6b0cc;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #audiences .ix-295{
  color:var(--dark-card-heading)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #audiences .ix-296{
  color:var(--dark-card-copy)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #platform :is(
  .ix-357,.ix-365,.ix-373,.ix-381,.ix-389,.ix-397
){
  color:var(--site-accent)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #platform :is(
  .ix-358,.ix-366,.ix-374,.ix-382,.ix-390,.ix-398
){
  color:var(--site-text-sub)!important;
  font-weight:800!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #platform :is(
  .ix-359,.ix-367,.ix-375,.ix-383,.ix-391,.ix-399
){
  color:var(--site-text-sub)!important;
  font-weight:600!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) .ix-214 :is(
  .ix-412,.ix-418
){
  color:var(--dark-card-heading)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) .ix-214 :is(
  .ix-404,.ix-411,.ix-417
){
  color:var(--site-accent)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) .ix-214 :is(
  .ix-405,.ix-413,.ix-419,.ix-234
){
  color:var(--dark-card-copy)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #architecture :is(
  .ix-239,.ix-259,.ix-262,.ix-265,.ix-268,.ix-271,.ix-274,.ix-279
){
  color:var(--dark-card-heading)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #architecture :is(
  .ix-240,.ix-260,.ix-263,.ix-266,.ix-269,.ix-272,.ix-275,.ix-280
){
  color:var(--dark-card-copy)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #architecture :is(
  .ix-237,.ix-277
){
  color:var(--site-accent)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #architecture .sc-core{
  color:var(--dark-card-heading)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #contact :is(.ix-325){
  color:var(--dark-card-heading)!important;
}

html:is([data-colour-theme="arctic"],[data-colour-theme="pearl"]) #contact .ix-326{
  color:var(--dark-card-copy)!important;
}

/* Production typography pass: keep large display headings readable. */
.ix-042,
#platform .ix-169,
.ix-214 .ix-218,
#audiences .audience-aggregation-intro h2,
.intelligence-intro h2,
.trading-hero h2,
.trading-intro h2,
#trading h2,
#architecture h2,
#contact h2{
  letter-spacing:0!important;
  line-height:1.08!important;
}

.ix-042{
  font-size:clamp(48px,5.8vw,86px)!important;
}

.ix-042 > span{
  line-height:inherit!important;
}

#platform .ix-169,
.intelligence-intro h2{
  font-size:clamp(44px,4.8vw,74px)!important;
}

.ix-214 .ix-218,
#audiences .audience-aggregation-intro h2,
#trading h2,
#architecture h2,
#contact h2{
  font-size:clamp(34px,4vw,60px)!important;
}

@media (max-width:620px){
  .ix-042,
  #platform .ix-169,
  .ix-214 .ix-218,
  #audiences .audience-aggregation-intro h2,
  .intelligence-intro h2,
  #trading h2,
  #architecture h2,
  #contact h2{
    line-height:1.12!important;
  }

  .ix-042{
    font-size:clamp(38px,11vw,58px)!important;
  }

  #platform .ix-169,
  .intelligence-intro h2{
    font-size:clamp(36px,10vw,54px)!important;
  }
}

/* Production footer navigation pass: strategy links are separate from platform links. */
.ix-333{
  grid-template-columns:minmax(260px,360px) minmax(260px,32ch) minmax(360px,1fr)!important;
  justify-content:space-between;
  align-items:start;
  gap:clamp(28px,5vw,64px);
}

.footer-logo{
  display:block;
  width:min(100%,360px);
  height:auto;
  margin:0;
}

.ix-333 > .footer-logo-panel{
  grid-column:1!important;
  justify-self:start!important;
  text-align:left!important;
}

.ix-333 > .footer-copy-panel{
  grid-column:2!important;
  justify-self:center!important;
  text-align:center!important;
}

.ix-333 > .footer-copy-panel .ix-336{
  margin-left:auto;
  margin-right:auto;
}

.footer-nav-groups{
  grid-column:3!important;
  justify-self:end!important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:clamp(28px,5vw,56px);
  min-width:min(100%,420px);
}

.footer-strategic-links{
  flex-direction:column;
  gap:10px;
}

@media (max-width:1024px){
  .ix-010,
  .ix-030,
  .ix-031,
  .ix-032,
  .ix-037{
    justify-content:center;
    width:100%;
  }
}

@media (max-width:900px){
  .ix-333{
    grid-template-columns:1fr!important;
  }

  .ix-333 > .footer-logo-panel,
  .ix-333 > .footer-copy-panel,
  .footer-nav-groups{
    grid-column:1!important;
  }

  .ix-333 > .footer-logo-panel{
    justify-self:start!important;
  }

  .footer-nav-groups{
    justify-items:start;
    text-align:left;
    justify-self:center!important;
    margin-inline:auto;
  }

  .footer-strategic-links{
    align-items:flex-start;
  }
}

@media (max-width:420px){
  .footer-nav-groups{
    gap:22px;
    min-width:0;
  }
}
