/* Shared site navigation and cross-document navigation baseline. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: site-vt-out 160ms ease both; }
::view-transition-new(root) { animation: site-vt-in 340ms cubic-bezier(.22, 1, .36, 1) both; }
@keyframes site-vt-out { to { opacity: 0; } }
@keyframes site-vt-in { from { opacity: 0; transform: translateY(12px); } }

html { background: #f6f8fb; scroll-behavior: smooth; }
/* No visible page scrollbar (classic Mac/Windows scrollbars drew a grey strip on the right); the page still scrolls. */
html { scrollbar-width: none; }
html::-webkit-scrollbar { display: none; }
:root { --nav: 76px; }
#how-it-works, #discovery, #pricing, #faq { scroll-margin-top: calc(var(--nav) - 18px); }
.site-header { position: sticky; top: 0; z-index: 30; height: 76px; margin-bottom: 0; color: #fff; isolation: isolate; background: transparent; transition: color 220ms ease-out, background 220ms ease-out, backdrop-filter 220ms ease-out, -webkit-backdrop-filter 220ms ease-out; view-transition-name: site-header; }
/* Legal pages do not use a hero, so retain their content's normal clearance below the shared header. */
body.sub main.sub-main { margin-top: 0; }
body:has(#hero) .site-header { margin-bottom: -76px; }
.site-header.nav::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; background: rgba(15, 42, 74, 0.86); border-bottom: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 12px 32px -22px rgba(6, 18, 36, 0.55); transition: opacity 260ms ease-out; }
/* Invisible until you scroll: at the top the header has no background; once scrolled a translucent navy frosted bar fades in. It never changes layout. */
.site-header.scrolled { color: #fff; -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4); }
/* Pages without a full-bleed hero (legal, deep pages): the transparent header sits on the light page, so it uses ink text from the start. */
body:not(:has(section.hero)) .site-header:not(.scrolled) { color: var(--ink, #0f1623); }
body:not(:has(section.hero)) .site-header:not(.scrolled) .site-header-logo-white { display: none !important; }
body:not(:has(section.hero)) .site-header:not(.scrolled) .site-header-logo-ink { display: block !important; }
body:not(:has(section.hero)) .site-header:not(.scrolled) .site-header-cta { background: var(--ink, #0f1623) !important; color: #fff !important; }
body:not(:has(section.hero)) .site-header:not(.scrolled) .site-header-menu { background: rgba(15,22,35,.06) !important; color: var(--ink, #0f1623) !important; }
/* Open mobile menu: the header floats over the dark sheet, so it goes back to white on every page. */
body.site-header-open .site-header, body.site-header-open:not(:has(section.hero)) .site-header { color: #fff; }
body.site-header-open .site-header.nav::before { opacity: 0; }
body.site-header-open .site-header.scrolled { -webkit-backdrop-filter: none; backdrop-filter: none; }
body.site-header-open .site-header .site-header-logo-white, body.site-header-open:not(:has(section.hero)) .site-header .site-header-logo-white { display: block !important; }
body.site-header-open .site-header .site-header-logo-ink, body.site-header-open:not(:has(section.hero)) .site-header .site-header-logo-ink { display: none !important; }
body.site-header-open .site-header .site-header-menu, body.site-header-open:not(:has(section.hero)) .site-header .site-header-menu { background: transparent !important; color: #fff !important; }
.site-header.scrolled::before { opacity: 1; }
.site-header-inner { box-sizing: border-box; width: min(100%, 1360px); height: 100%; margin-inline: auto; padding-inline: clamp(24px, 5vw, 80px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-header-logo { justify-self: start; display: inline-flex; align-items: center; width: 84.7px; min-height: 44px; text-decoration: none; }
.site-header-logo img { display: block; width: 84.7px; height: auto; }
.site-header-logo-ink { display: none !important; }
.site-header-links { display: flex; align-items: center; gap: clamp(12px, 1.9vw, 28px); }
.site-header-links { position: relative; }
.site-header-dropdown { position: relative; }
.site-header-trigger { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 8px 8px; border: 0; border-radius: 999px; color: inherit; background: transparent; font: 500 14px/1 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer; white-space: nowrap; opacity: .85; transition: opacity 160ms ease; }
.site-header-trigger:hover, .site-header-trigger:focus-visible, .site-header-dropdown.is-open .site-header-trigger { opacity: 1; }
.site-header-trigger[aria-current="page"] { opacity: 1; font-weight: 600; }
.site-header-trigger:focus-visible, .site-header-dropdown-panel a:focus-visible { outline: 2px solid #59b1ef; outline-offset: 3px; }
.site-header-chevron { width: 12px; height: 12px; transition: transform 160ms ease; }
.site-header-dropdown.is-open .site-header-chevron { transform: rotate(180deg); }
.site-header-links::after { content: ""; position: absolute; z-index: 2; top: 100%; left: 0; right: 0; height: 12px; }
.site-header-indicator { position: absolute; z-index: 0; top: 0; left: 0; height: 100%; width: 0; border-radius: 999px; pointer-events: none; opacity: 0; background: rgba(255,255,255,.12); transition: transform 280ms cubic-bezier(.22,1,.36,1), width 280ms cubic-bezier(.22,1,.36,1), opacity 200ms ease; }
body:not(:has(section.hero)) .site-header:not(.scrolled) .site-header-indicator { background: rgba(15,22,35,.06); }
.site-header-dropdown-panel { position: absolute; z-index: 3; top: calc(100% + 12px); left: 0; overflow: hidden; width: 0; height: 0; border-radius: 16px; color: #0f2a4a; background: rgba(255,255,255,.97); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 0 0 1px rgba(15,42,74,.07), 0 18px 40px -18px rgba(6,18,36,.35), 0 4px 12px -6px rgba(6,18,36,.12); opacity: 0; visibility: hidden; pointer-events: none; scale: .97; transform-origin: top center; transition: opacity 180ms ease, visibility 0s linear 180ms, translate 280ms cubic-bezier(.22,1,.36,1), width 280ms cubic-bezier(.22,1,.36,1), height 280ms cubic-bezier(.22,1,.36,1), scale 220ms cubic-bezier(.22,1,.36,1); }
.site-header-dropdown-panel.is-open { opacity: 1; visibility: visible; pointer-events: auto; scale: 1; transition: opacity 180ms ease, visibility 0s, translate 280ms cubic-bezier(.22,1,.36,1), width 280ms cubic-bezier(.22,1,.36,1), height 280ms cubic-bezier(.22,1,.36,1), scale 220ms cubic-bezier(.22,1,.36,1); }
.site-header-panel-view { position: absolute; top: 0; left: 0; width: max-content; padding: 6px; opacity: 0; visibility: hidden; transform: translateX(0); transition: opacity 200ms ease, transform 280ms cubic-bezier(.22,1,.36,1), visibility 0s linear 200ms; }
.site-header-panel-view.is-active { opacity: 1; visibility: visible; transform: none; transition: opacity 220ms ease 60ms, transform 280ms cubic-bezier(.22,1,.36,1), visibility 0s; }
.site-header-panel-view.from-right { transform: translateX(14px); }
.site-header-panel-view.from-left { transform: translateX(-14px); }
.site-header-panel-view.leave-left { transform: translateX(-14px); }
.site-header-panel-view.leave-right { transform: translateX(14px); }
.site-header-panel-list { position: relative; display: grid; }
.site-header-dropdown-panel a { position: relative; z-index: 1; display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: center; box-sizing: border-box; width: 268px; padding: 9px 10px; border-radius: 11px; color: #0f2a4a !important; text-decoration: none; }
.site-header-ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: #eef4fb; color: #1c58a8; box-shadow: inset 0 0 0 1px rgba(28,88,168,.08); transition: background 180ms ease, color 180ms ease; }
.site-header-ic svg { width: 18px; height: 18px; }
.site-header-dropdown-panel a.is-hovered .site-header-ic, .site-header-dropdown-panel a:hover .site-header-ic { background: #1c58a8; color: #fff; }
.site-header-tx { display: grid; gap: 2px; }
.site-header-dropdown-panel a b { font: 600 13.5px/1.25 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.site-header-tx > span { color: #6a7a90; font: 400 12.5px/1.35 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.site-header-panel-highlight { position: absolute; z-index: 0; top: 0; left: 0; width: 0; height: 0; border-radius: 11px; pointer-events: none; opacity: 0; background: #f1f6fc; transition: transform 200ms cubic-bezier(.22,1,.36,1), width 200ms cubic-bezier(.22,1,.36,1), height 200ms cubic-bezier(.22,1,.36,1), opacity 160ms ease; }
.site-header-actions { justify-self: end; display: flex; align-items: center; gap: clamp(16px, 2.2vw, 34px); }
.site-header-signin { justify-self: end; color: inherit !important; opacity: .85; font: 500 14px/1 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; text-decoration: none; white-space: nowrap; transition: opacity 160ms ease; }
.site-header-signin:hover, .site-header-signin:focus-visible { opacity: 1; text-decoration: none; }
.site-header-cta { justify-self: end; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 21px; border-radius: 999px; background: #fff !important; color: var(--forest, #0f2a4a) !important; font: 600 15px/1 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; text-decoration: none; white-space: nowrap; }
.site-header-menu { display: none; justify-self: end; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.15) !important; color: #fff !important; cursor: pointer; position: relative; }
.site-header-menu svg { display: none; }
.site-header-menu::before, .site-header-menu::after { content: ""; position: absolute; top: 50%; left: 50%; margin: -0.9px 0 0 -9px; width: 18px; height: 1.8px; border-radius: 2px; background: currentColor; transition: transform 320ms cubic-bezier(.22, 1, .36, 1); }
.site-header-menu::before { transform: translateY(-3.9px); }
.site-header-menu::after { transform: translateY(2.1px); }
.site-header-menu[aria-expanded="true"]::before { transform: translateY(-.9px) rotate(45deg); }
.site-header-menu[aria-expanded="true"]::after { transform: translateY(-.9px) rotate(-45deg); }
.site-header-sheet { position: fixed !important; inset: 0 !important; z-index: 29 !important; display: flex !important; flex-direction: column; padding: calc(var(--nav, 76px) + 22px) 24px 28px; box-sizing: border-box; color: #fff; background: #0b1626 !important; opacity: 0; clip-path: inset(0 0 100% 0); transition: opacity 260ms ease, clip-path 300ms cubic-bezier(.4, 0, .2, 1); }
.site-header-sheet[hidden] { display: none !important; }
.site-header-sheet.is-open { opacity: 1; clip-path: inset(0); transition: opacity 240ms ease, clip-path 460ms cubic-bezier(.22, 1, .36, 1); }
.site-header-sheet nav { display: grid; align-content: start; }
.site-header-sheet a { color: #fff; text-decoration: none; }
.site-header-sheet .site-header-mobile-main { display: grid; gap: 6px; padding: 0 6px; }
.site-header-sheet .site-header-mobile-link { display: block; padding: 4px 0; font: 600 28px/1.15 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: -.025em; color: #f2f6fb; }
.site-header-sheet .site-header-mobile-link small { display: block; margin-top: 3px; font: 400 14px/1.3 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0; color: #8a9bb2; }
.site-header-sheet .site-header-mobile-more { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; margin: 20px 6px 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.site-header-sheet .site-header-mobile-more a { padding: 11px 0; font: 500 16px/1.3 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; color: #b7c6d8; }
.site-header-sheet a:focus-visible { outline: 2px solid #59b1ef; outline-offset: 4px; border-radius: 6px; }
.site-header-sheet .site-header-mobile-cta { margin-top: auto; display: grid; place-items: center; min-height: 56px; border-radius: 999px; background: #fff; color: #0f2a4a; font: 600 17px/1 "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
body.site-header-open { overflow: hidden; }

@media (max-width: 900px) {
  :root { --nav: 72px; }
  .site-header { height: 72px; }
  body:has(#hero) .site-header { margin-bottom: -72px; }
  .site-header-inner { grid-template-columns: 1fr auto auto; gap: 8px; }
  .site-header-links, .site-header-actions { display: none; }
  .site-header-menu { display: grid; }
  .site-header-sheet { padding-top: 94px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .site-header-sheet, .site-header-menu::before, .site-header-menu::after, .site-header-dropdown-panel, .site-header-panel-view, .site-header-panel-highlight, .site-header-indicator, .site-header-chevron { transition: none !important; }
}
