@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/v3/assets/fonts/manrope-latin-var.woff2") format("woff2");
}

@font-face {
  font-family: "Sora";
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url("/v3/assets/fonts/sora-latin-var.woff2") format("woff2");
}

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("/v3/assets/fonts/space-grotesk-latin-var.woff2") format("woff2");
}

body.v3-polished {
  --v3-ink: #03070b;
  --v3-ink-soft: #071019;
  --v3-panel: rgba(7, 19, 29, .78);
  --v3-line: rgba(133, 203, 233, .18);
  --v3-line-hot: rgba(74, 212, 255, .58);
  --v3-blue: #00aeef;
  --v3-blue-bright: #4ad4ff;
  --v3-copy: #b5c4cf;
  --v3-muted: #758896;
  --muted: #8195a2;
  --blue: #00aeef;
  --cyan: #4ad4ff;
  --v3-font-body: "Manrope", "Outfit", system-ui, sans-serif;
  --v3-font-display: "Sora", "Space Grotesk", "Manrope", system-ui, sans-serif;
  --v3-font-ui: "Space Grotesk", "Manrope", system-ui, sans-serif;
  min-width: 320px;
  overflow-x: clip;
  color: #f4f8fb;
  background: var(--v3-ink);
  font-family: var(--v3-font-body);
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
}

body.v3-polished::before {
  content: "";
  position: fixed;
  z-index: -2;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image:
    linear-gradient(30deg, rgba(74,212,255,.2) 12%, transparent 12.5%, transparent 87%, rgba(74,212,255,.2) 87.5%, rgba(74,212,255,.2)),
    linear-gradient(150deg, rgba(74,212,255,.2) 12%, transparent 12.5%, transparent 87%, rgba(74,212,255,.2) 87.5%, rgba(74,212,255,.2)),
    linear-gradient(30deg, rgba(74,212,255,.2) 12%, transparent 12.5%, transparent 87%, rgba(74,212,255,.2) 87.5%, rgba(74,212,255,.2)),
    linear-gradient(150deg, rgba(74,212,255,.2) 12%, transparent 12.5%, transparent 87%, rgba(74,212,255,.2) 87.5%, rgba(74,212,255,.2)),
    linear-gradient(60deg, rgba(74,212,255,.12) 25%, transparent 25.5%, transparent 75%, rgba(74,212,255,.12) 75%, rgba(74,212,255,.12));
  background-size: 42px 74px;
  background-position: 0 0, 0 0, 21px 37px, 21px 37px, 0 0;
  mask-image: linear-gradient(90deg, transparent, #000 42%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 42%, transparent);
}

body.v3-polished::after {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 72% 20%, rgba(0,174,239,.12), transparent 32%), radial-gradient(circle at 18% 72%, rgba(0,109,158,.08), transparent 30%);
}

body.v3-polished ::selection { color: #001019; background: var(--v3-blue-bright); }
body.v3-polished h1,
body.v3-polished h2,
body.v3-polished h3,
body.v3-polished h4,
body.v3-polished .orb {
  font-family: var(--v3-font-display);
  font-weight: 650;
  font-variation-settings: "wght" 650;
}
body.v3-polished h1,
body.v3-polished h2 {
  line-height: 1.03;
  letter-spacing: -.045em;
}
body.v3-polished a:focus-visible,
body.v3-polished button:focus-visible { outline: 2px solid var(--v3-blue-bright); outline-offset: 4px; }

.v3-subpage-progress {
  position: fixed;
  z-index: 2200;
  inset: 0 0 auto;
  height: 2px;
  background: rgba(255,255,255,.04);
  pointer-events: none;
}
.v3-subpage-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #006d9e, var(--v3-blue-bright));
  box-shadow: 0 0 18px rgba(0,174,239,.75);
  transform: scaleX(0);
  transform-origin: left center;
}

body.v3-polished > nav,
body.v3-polished > .nav,
body.v3-polished > .loc-nav,
body.v3-polished .site-header {
  border-bottom: 1px solid var(--v3-line) !important;
  background: rgba(3,7,11,.82) !important;
  box-shadow: 0 12px 45px rgba(0,0,0,.24);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
body.v3-polished > nav,
body.v3-polished > .nav,
body.v3-polished > .loc-nav { position: sticky; z-index: 1200; top: 0; }
body.v3-polished .site-header { position: sticky; z-index: 1200; top: 0; }
body.v3-polished .nav-logo img,
body.v3-polished .loc-nav-logo img,
body.v3-polished .brand img,
body.v3-polished .logo img { filter: drop-shadow(0 0 16px rgba(0,174,239,.14)); }
body.v3-polished .nav-logo,
body.v3-polished .loc-nav-logo,
body.v3-polished .brand,
body.v3-polished .logo {
  font-family: var(--v3-font-display);
  font-weight: 700;
  font-variation-settings: "wght" 700;
}
body.v3-polished .nav-links a,
body.v3-polished .loc-nav-links a,
body.v3-polished .site-header a { font-family: var(--v3-font-ui); }
body.v3-polished .hamburger {
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

body.v3-polished .hero,
body.v3-polished .loc-hero {
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 -1px rgba(133,203,233,.14), inset 0 -90px 120px rgba(3,7,11,.78);
}
body.v3-polished .hero::after,
body.v3-polished .loc-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(3,7,11,.72), transparent 58%), linear-gradient(0deg, rgba(3,7,11,.72), transparent 46%);
  mix-blend-mode: multiply;
}
body.v3-polished .hero-content,
body.v3-polished .hero-shell,
body.v3-polished .loc-hero-content { position: relative; z-index: 3; }
body.v3-polished .hero h1,
body.v3-polished .loc-hero h1 { text-wrap: balance; text-shadow: 0 6px 35px rgba(0,0,0,.48); }
body.v3-polished .hero-bg,
body.v3-polished .loc-hero-bg,
body.v3-polished .hero-figure img { filter: saturate(.78) contrast(1.08); }

body.v3-polished .content-section,
body.v3-polished .section,
body.v3-polished .loc-section,
body.v3-polished .faq-section {
  position: relative;
  background-color: rgba(3,8,13,.84) !important;
  border-top: 1px solid rgba(133,203,233,.08);
}
body.v3-polished .content-section.alt,
body.v3-polished .section:nth-of-type(even),
body.v3-polished .loc-section:nth-of-type(even) { background-color: rgba(7,18,28,.86) !important; }
body.v3-polished .section-label,
body.v3-polished .loc-section-label,
body.v3-polished .eyebrow,
body.v3-polished .label {
  color: var(--v3-blue-bright) !important;
  font-family: var(--v3-font-ui);
  letter-spacing: .13em;
}
body.v3-polished .section-title,
body.v3-polished .content-section h2,
body.v3-polished .loc-section h2 { text-wrap: balance; }
body.v3-polished .section-desc,
body.v3-polished .section-text,
body.v3-polished .prose,
body.v3-polished .loc-prose,
body.v3-polished .hero-desc,
body.v3-polished .hero-lead,
body.v3-polished .loc-hero-sub { color: var(--v3-copy); }

.v3-polish-card {
  position: relative !important;
  overflow: hidden;
  border-color: var(--v3-line) !important;
  background: linear-gradient(145deg, rgba(12,29,42,.74), rgba(3,10,16,.82)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025), 0 22px 70px rgba(0,0,0,.2);
  transition: border-color .35s, box-shadow .45s cubic-bezier(.2,.8,.2,1), transform .45s cubic-bezier(.2,.8,.2,1) !important;
}
.v3-polish-card:hover { border-color: var(--v3-line-hot) !important; box-shadow: 0 26px 85px rgba(0,0,0,.32), 0 0 36px rgba(0,174,239,.08); transform: translateY(-4px); }
.v3-card-light {
  position: absolute;
  z-index: 5;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(260px circle at var(--v3-light-x, 50%) var(--v3-light-y, 50%), rgba(74,212,255,.15), transparent 62%);
  transition: opacity .3s;
}
.v3-polish-card:hover > .v3-card-light,
.v3-polish-card:focus-within > .v3-card-light { opacity: 1; }

body.v3-polished .fact-strip,
body.v3-polished .loc-trust { border-color: var(--v3-line) !important; background: rgba(5,15,23,.82) !important; }
body.v3-polished .fact strong,
body.v3-polished .stat h3,
body.v3-polished .num,
body.v3-polished .loc-trust-num { color: var(--v3-blue-bright) !important; text-shadow: 0 0 24px rgba(0,174,239,.2); }
body.v3-polished .faq-item,
body.v3-polished .loc-faq-item,
body.v3-polished .faq-list details { border-color: var(--v3-line) !important; }
body.v3-polished .faq-q,
body.v3-polished .loc-faq-q,
body.v3-polished .faq-list summary { color: #edf7fb; }
body.v3-polished .cta-section,
body.v3-polished .cta-band,
body.v3-polished .loc-cta-section {
  position: relative;
  overflow: hidden;
  border-block: 1px solid rgba(74,212,255,.18);
  background: radial-gradient(circle at 78% 45%, rgba(0,174,239,.16), transparent 34%), linear-gradient(120deg, #03080d, #071721 64%, #03080d) !important;
}
body.v3-polished .btn-primary,
body.v3-polished .hero-btn,
body.v3-polished .hero-cta,
body.v3-polished .nav-cta,
body.v3-polished .loc-cta-btn,
body.v3-polished .loc-nav-cta,
body.v3-polished .button:not(.secondary) {
  border-color: var(--v3-blue-bright) !important;
  color: #001019 !important;
  background: linear-gradient(135deg, var(--v3-blue-bright), var(--v3-blue)) !important;
  box-shadow: 0 12px 35px rgba(0,174,239,.16);
  font-family: var(--v3-font-ui) !important;
  font-weight: 700;
  letter-spacing: .08em;
}
body.v3-polished .faq-q,
body.v3-polished .loc-faq-q,
body.v3-polished .faq-list summary,
body.v3-polished button,
body.v3-polished [role="button"] { font-family: var(--v3-font-ui); }
body.v3-polished .site-footer,
body.v3-polished .footer,
body.v3-polished .mini-footer,
body.v3-polished .loc-footer {
  border-top: 1px solid var(--v3-line) !important;
  background: #02070b !important;
}

body.v3-polished.legal-page > nav { position: fixed; right: 0; left: 0; }
body.v3-polished.legal-page .wrap { width: min(1060px, calc(100% - 40px)); max-width: none; padding: 130px clamp(0px, 4vw, 46px) 110px; }
body.v3-polished.legal-page .wrap > h1 { margin-bottom: 10px; color: #fff; font-size: clamp(2.7rem, 7vw, 6.7rem); line-height: .92; text-transform: uppercase; }
body.v3-polished.legal-page .updated { margin-bottom: 48px; color: var(--v3-muted); font-family: var(--v3-font-ui); letter-spacing: .1em; text-transform: uppercase; }
body.v3-polished.legal-page .back { color: var(--v3-blue-bright); }
body.v3-polished.legal-page .wrap h2 { margin: 52px 0 16px; padding-top: 22px; border-top: 1px solid var(--v3-line); color: var(--v3-blue-bright); font-size: clamp(.9rem, 2vw, 1.15rem); letter-spacing: .07em; }
body.v3-polished.legal-page .wrap h3 { color: #edf7fb; }
body.v3-polished.legal-page .wrap p,
body.v3-polished.legal-page .wrap li { color: var(--v3-copy); font-size: .95rem; }
body.v3-polished.legal-page .highlight,
body.v3-polished.legal-page .notice-box,
body.v3-polished.legal-page .sig-block {
  border: 1px solid var(--v3-line) !important;
  border-left: 3px solid var(--v3-blue-bright) !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, rgba(0,174,239,.08), rgba(5,14,22,.8)) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.18);
}
body.v3-polished.legal-page .critical { border: 1px solid rgba(255,128,111,.26) !important; border-left: 3px solid #ff806f !important; border-radius: 0 !important; background: rgba(255,128,111,.055) !important; }
body.v3-polished.legal-page .tab-bar {
  position: sticky;
  z-index: 40;
  top: 74px;
  border-color: var(--v3-line);
  border-radius: 0;
  background: rgba(3,8,13,.92);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.v3-subpage-reveal { opacity: 0; transform: translateY(24px); }
.v3-subpage-reveal.is-visible { opacity: 1; transform: none; transition: opacity .72s cubic-bezier(.2,.8,.2,1), transform .72s cubic-bezier(.2,.8,.2,1); }
.v3-return-rail {
  position: fixed;
  z-index: 1500;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(74,212,255,.28);
  background: rgba(3,9,15,.9);
  box-shadow: 0 18px 65px rgba(0,0,0,.34), 0 0 30px rgba(0,174,239,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.v3-return-rail a { min-height: 44px; display: grid; place-items: center; padding: 0 16px; color: #d7e7ee; font-family: var(--v3-font-ui); font-size: .57rem; letter-spacing: .08em; text-decoration: none !important; text-transform: uppercase; }
.v3-return-rail a + a { color: #001019; background: var(--v3-blue-bright); font-weight: 700; }
.v3-consent-panel {
  position: fixed;
  z-index: 2600;
  right: auto;
  bottom: 24px;
  left: 24px;
  width: min(680px, calc(100% - 48px));
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 24px;
  padding: 22px 24px;
  border: 1px solid rgba(74,212,255,.3);
  color: #f4f8fb;
  background: rgba(3,10,16,.96);
  box-shadow: 0 24px 80px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.04);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0,16px,0);
  transition: opacity .25s ease, transform .25s ease;
  clip-path: polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.v3-consent-panel.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.v3-consent-panel span { color: var(--v3-blue-bright); font: 700 .55rem var(--v3-font-ui); letter-spacing: .13em; }
.v3-consent-panel h2 { margin: 8px 0; color: #fff; font-size: clamp(1.25rem,2vw,1.75rem); line-height: 1.05; }
.v3-consent-panel p { max-width: 54ch; margin: 0 0 4px; color: #b5c4cf; font-size: .76rem; line-height: 1.55; }
.v3-consent-panel a { color: var(--v3-blue-bright); font-size: .68rem; }
.v3-consent-actions { display: flex; gap: 8px; }
.v3-consent-actions button { min-height: 44px; padding: 9px 13px; border: 1px solid var(--v3-line); color: #e9f4f8; background: rgba(8,21,31,.92); font: 700 .56rem var(--v3-font-ui); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.v3-consent-actions button:last-child { border-color: transparent; color: #001018; background: linear-gradient(135deg,var(--v3-blue-bright),var(--v3-blue)); }
.v3-injected-footer { padding: 55px 20px 90px; border-top: 1px solid var(--v3-line); color: var(--v3-muted); background: #02070b; text-align: center; }
.v3-injected-footer img { width: 150px; height: auto; margin-bottom: 16px; }
.v3-injected-footer p { margin: 0; font-size: .72rem; }

@media (max-width: 760px) {
  body.v3-polished.legal-page .wrap { width: min(100% - 28px, 760px); padding-top: 112px; }
  body.v3-polished.legal-page .wrap > h1 { font-size: 3rem; }
  body.v3-polished.legal-page .tab-bar { top: 61px; }
  body.v3-polished.legal-page .tab-btn { padding: 13px 8px; }
  .v3-consent-panel { right: 10px; bottom: 68px; left: 10px; width: auto; grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .v3-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .v3-return-rail { right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; border-width: 1px 0 0; }
  .v3-return-rail a { min-height: 56px; }
  body.v3-polished .loc-card-link,
  body.v3-polished .footer-links a,
  body.v3-polished footer .links a,
  body.v3-polished .site-footer a,
  body.v3-polished .loc-footer a,
  body.v3-polished .related-links a,
  body.v3-polished.legal-page .back {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding-block: 10px;
  }
  body.v3-polished .hero::after,
  body.v3-polished .loc-hero::after { background: linear-gradient(0deg, rgba(3,7,11,.88), transparent 72%); }
  body.v3-polished .site-footer,
  body.v3-polished .footer,
  body.v3-polished .mini-footer,
  body.v3-polished .loc-footer,
  .v3-injected-footer { padding-bottom: 88px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.v3-polished *,
  body.v3-polished *::before,
  body.v3-polished *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .v3-subpage-reveal { opacity: 1; transform: none; }
}
