:root{
  /* type */
  --font-display:'Oswald',Impact,sans-serif;

  /* body type scale — four steps, plus one micro step used only
     inside the card diagrams where 14px would not fit */
  --fs-2xs:10px;
  --fs-xs:12px;
  --fs-sm:14px;
  --fs-md:16px;
  --fs-lg:18px;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* brand palette */
  --blue:#3D3BFF;
  --blue-2:#4D5AFF;
  --blue-3:#6E8CFF;
  --blue-4:#94ACFF;
  --blue-5:#BDCDFF;
  --blue-bg:#EBF0FF;
  --orange:#FF6424;
  --orange-warm:#F0875C;
  --orange-soft:#E8A78D;
  --beige:#ECDFDA;
  --page:#F8F7F6;
  --white:#FFFFFF;

  /* derived ink */
  --ink:#0A0F4D;
  --ink-2:#3A3F63;
  --ink-3:#727795;
  --line:#DFE6FA;
  --line-soft:#EDF1FC;

  /* geometry */
  --pad:40px;
  --maxw:1360px;
  --r-panel:28px;
  --r-card:16px;
  --r-btn:10px;

  /* spacing scale */
  --s-1:8px;  --s-2:16px; --s-3:24px; --s-4:32px;
  --s-5:48px; --s-6:64px; --s-7:80px; --s-8:100px; --s-9:140px;

  /* shadows — layered, colour-tinted */
  --sh-1:0 1px 2px rgba(10,15,77,.04), 0 4px 12px rgba(10,15,77,.04);
  --sh-2:0 2px 6px rgba(10,15,77,.05), 0 12px 32px rgba(10,15,77,.07);
  --sh-3:0 4px 12px rgba(10,15,77,.06), 0 24px 60px rgba(10,15,77,.10);
  --sh-blue:0 8px 20px rgba(61,59,255,.20), 0 2px 6px rgba(61,59,255,.14);
  --sh-orange:0 8px 20px rgba(255,100,36,.24), 0 2px 6px rgba(255,100,36,.16);

  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{
  margin:0;
  background:var(--page);
  color:var(--ink-2);
  font-family:var(--font-body);
  font-size:var(--fs-md);
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,.h4,.h5,.h6{
  font-family:var(--font-display);
  color:var(--ink);
  text-transform:uppercase;
  font-weight:700;
  margin:0;
  letter-spacing:-.005em;
  overflow-wrap:normal;
  hyphens:none;
}
h1{font-size:clamp(40px,5.0vw,72px);line-height:1.02}
h2{font-size:clamp(28px,3.9vw,56px);line-height:1.05}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.foot{padding:var(--s-8) 0 var(--s-5)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,.75fr));gap:var(--s-5);padding-bottom:var(--s-7)}
.foot-brand img{height:44px;width:auto;margin-bottom:26px}
.foot-brand p{font-size:var(--fs-md);color:var(--ink-2);max-width:330px}
.foot .h6{font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-lg);color:var(--ink);margin:0 0 22px;letter-spacing:.02em;font-weight:600}
.foot-col ul{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
.foot-col a{font-size:var(--fs-md);color:var(--ink-2);transition:color .25s var(--ease),transform .25s var(--ease);display:inline-block;overflow-wrap:anywhere}
.foot-col a:hover{color:var(--blue);transform:translateX(3px)}
.soc{display:flex;gap:10px;margin-top:22px}
.soc a{
  width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background-color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.soc svg{width:19px;height:19px;fill:var(--ink);transition:fill .3s var(--ease)}
.soc a:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}
.soc a:hover svg{fill:#fff}
.foot-bottom{border-top:1px solid var(--line);padding-top:var(--s-4);display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-3)}
.foot-legal{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:var(--s-3)}
.foot-legal a{
  font-size:var(--fs-sm);color:var(--ink-3);border-radius:4px;
  transition:color .25s var(--ease);
}
.foot-legal a:hover{color:var(--blue)}
.foot-legal a:active{color:var(--blue-2)}
.tbd{color:var(--ink-3);font-style:normal}
.foot-col a.foot-ct{display:flex;align-items:flex-start;gap:10px}
.foot-ct svg{width:17px;height:17px;flex:none;fill:currentColor;margin-top:4px}
.foot-ct span{min-width:0;overflow-wrap:anywhere}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
html{scroll-behavior:auto}
}
@media (max-width:1180px){
:root{--pad:28px;--s-9:110px;--s-8:80px}
.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
h2,.form-aside h2{font-size:clamp(26px,7.6vw,37px)}
}
@media (max-width:960px){
.foot-col ul{gap:6px}
.foot-col a{display:block;padding:7px 0}
}
@container (max-width: 330px){
  .vt-caps{justify-content:space-between}
  .vt-caps span:not(:first-child):not(:last-child){display:none}
}
@media (max-width:640px){
:root{--pad:18px;--r-panel:20px;--s-9:76px;--s-8:60px;--s-7:48px}
.foot-top{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}
}
.foot{padding:var(--s-8) 0 var(--s-5)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,.75fr));gap:var(--s-5);padding-bottom:var(--s-7)}
.foot-brand img{height:44px;width:auto;margin-bottom:26px}
.foot-brand p{font-size:var(--fs-md);color:var(--ink-2);max-width:330px}
.foot .h6{font-family:var(--font-display);text-transform:uppercase;font-size:var(--fs-lg);color:var(--ink);margin:0 0 22px;letter-spacing:.02em;font-weight:600}
.foot-col ul{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
.foot-col a{font-size:var(--fs-md);color:var(--ink-2);transition:color .25s var(--ease),transform .25s var(--ease);display:inline-block;overflow-wrap:anywhere}
.foot-col a:hover{color:var(--blue);transform:translateX(3px)}
.soc{display:flex;gap:10px;margin-top:22px}
.soc a{
  width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background-color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.soc svg{width:19px;height:19px;fill:var(--ink);transition:fill .3s var(--ease)}
.soc a:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}
.soc a:hover svg{fill:#fff}
.foot-bottom{border-top:1px solid var(--line);padding-top:var(--s-4);display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-3)}
.tbd{color:var(--ink-3);font-style:normal}
.foot-col a.foot-ct{display:flex;align-items:flex-start;gap:10px}
.foot-ct svg{width:17px;height:17px;flex:none;fill:currentColor;margin-top:4px}
.foot-ct span{min-width:0;overflow-wrap:anywhere}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
html{scroll-behavior:auto}
}
@media (max-width:1180px){
:root{--pad:28px;--s-9:110px;--s-8:80px}
.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
h2,.form-aside h2{font-size:clamp(26px,7.6vw,37px)}
}
@media (max-width:960px){
.foot-col ul{gap:6px}
.foot-col a{display:block;padding:7px 0}
}
@container (max-width: 330px){
  .vt-caps{justify-content:space-between}
  .vt-caps span:not(:first-child):not(:last-child){display:none}
}
@media (max-width:640px){
:root{--pad:18px;--r-panel:20px;--s-9:76px;--s-8:60px;--s-7:48px}
.foot-top{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}
}
.docnav{position:sticky;top:0;z-index:80;background:rgba(248,247,246,.92);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line)}
.docnav-in{max-width:calc(var(--maxw) + var(--pad)*2);margin:0 auto;padding:0 var(--pad);
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}
.docnav img{height:34px;width:auto;display:block}
.docback{display:inline-flex;align-items:center;gap:9px;font-size:var(--fs-sm);color:var(--ink-2);
  border-radius:8px;padding:8px 2px;transition:color .25s var(--ease),transform .25s var(--ease)}
.docback svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.docback:hover{color:var(--blue)}
.docback:hover svg{transform:translateX(-3px)}
.docback:active{color:var(--blue-2)}
.doc{padding:var(--s-7) 0 var(--s-8)}
.doc-head{max-width:760px;margin-bottom:var(--s-6)}
.doc-head h1{font-size:clamp(28px,4.4vw,46px);line-height:1.06;margin-bottom:14px}
.doc-head .doc-sub{font-size:var(--fs-md);color:var(--ink-3)}
.doc-body{max-width:760px}
.doc-body h2{
  font-size:clamp(19px,2.4vw,23px);line-height:1.25;margin:var(--s-5) 0 14px;
  padding-top:var(--s-4);border-top:1px solid var(--line-soft);
}
.doc-body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.doc-body p{font-size:var(--fs-md);line-height:1.75;color:var(--ink-2);margin-bottom:12px}
.doc-body ul{margin:0 0 14px;padding:0;list-style:none}
.doc-body li{
  position:relative;padding-left:20px;margin-bottom:8px;
  font-size:var(--fs-md);line-height:1.7;color:var(--ink-2);
}
.doc-body li::before{content:'';position:absolute;left:3px;top:.72em;
  width:6px;height:1.5px;background:var(--blue-3);border-radius:1px}
.doc-body .lbl{font-size:var(--fs-sm);color:var(--ink-3);margin-bottom:2px}
.doc-body .lbl + p{margin-bottom:16px;color:var(--ink)}
.doc-body hr{border:0;height:1px;background:var(--line-soft);margin:var(--s-5) 0}
.doc-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;
  border-radius:3px;transition:color .25s var(--ease)}
.doc-body a:hover{color:var(--orange)}
.doc-body a:active{color:var(--blue-2)}
@media (max-width:640px){
.docnav-in{height:64px}
.doc{padding:var(--s-6) 0 var(--s-7)}
}