:root{color-scheme:light;--ink:#17191e;--muted:#525763;--blue:#005dc2;--line:#e5e7ec;--paper:#f5f6f8;font-family:Geist,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff}a{color:var(--blue);text-underline-offset:.2em}a:focus-visible,summary:focus-visible{outline:3px solid #167afd;outline-offset:5px}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.topbar{position:sticky;top:0;z-index:5;background:#fffffff2;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.top{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:9px;color:inherit;font-size:21px;font-weight:720;letter-spacing:-.05em;text-decoration:none}.brand img{width:28px;height:28px}.nav{display:flex;align-items:center;gap:26px}.nav a,footer nav a,.mobile a{color:var(--ink);text-decoration:none;font-size:14px}.nav a:hover,footer nav a:hover,.mobile a:hover{text-decoration:underline}.mobile{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:650;line-height:1.25}.btn-primary{background:var(--blue);color:white}.btn-primary:hover{background:#004eaa}.btn-light{border:1px solid #b6cbed;color:#064a94}.btn-light:hover{background:#e4eeff}.nav .btn{padding:8px 14px;color:#064a94}.hero{background:linear-gradient(175deg,#fff 5%,#f2f7ff 58%,#e8f0ff 100%);text-align:center;padding:78px 0 0;overflow:hidden}.hero h1,.page h1{font-size:clamp(47px,7.6vw,104px);line-height:.96;letter-spacing:-.075em;margin:0}.hero h1 span{display:block;color:#275eaf}.hero p{font-size:clamp(17px,2.1vw,23px);max-width:670px;margin:24px auto 0;line-height:1.45;color:var(--muted)}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.art{position:relative;isolation:isolate;margin:32px auto 0;height:clamp(210px,32vw,420px);width:min(100%,960px);overflow:hidden}.art::before{content:"";position:absolute;inset:8% -6% -20%;background:radial-gradient(ellipse at 49% 65%,#a4c9ff 0,transparent 65%);filter:blur(28px)}.section{padding:88px 0;scroll-margin-top:84px}.section h2{font-size:clamp(38px,5vw,67px);letter-spacing:-.065em;line-height:1;margin:0 0 14px}.lead{max-width:680px;color:var(--muted);font-size:20px;line-height:1.5;margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}.tile{border-radius:25px;background:var(--paper);padding:30px;min-height:165px}.tile h3,.page h2{font-size:25px;letter-spacing:-.045em;margin:0 0 9px}.tile p,.page p,.page li{color:var(--muted);line-height:1.58;margin:0}.solutions{background:#0c1423;color:#f6f8ff}.solutions .lead,.solutions .tile p{color:#c0cbe0}.solutions .tile{background:#182438}.pale{background:#f4f7ff}.pale .tile{background:#fff}.page{padding:72px 0 95px;min-height:58vh}.page h1{font-size:clamp(45px,7vw,80px);max-width:850px}.page .lead{margin-top:22px;font-size:21px}.page section{max-width:760px;padding:25px 0;border-bottom:1px solid var(--line)}.page section:first-of-type{margin-top:24px}.page .btn{margin-top:22px}footer{padding:42px 0 30px;background:var(--paper);border-top:1px solid var(--line);color:var(--muted);font-size:14px}footer .brand{color:var(--ink)}footer nav{display:flex;flex-wrap:wrap;gap:12px 22px;margin:22px 0}footer small{display:block;margin-top:9px;line-height:1.5}.skip{position:absolute;left:10px;top:-100px;background:white;z-index:10;padding:8px}.skip:focus{top:6px}@media(max-width:820px){.nav{display:none}.mobile{display:block}.mobile summary{cursor:pointer;font-weight:650}.mobile div{position:absolute;right:24px;top:56px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 22px;box-shadow:0 12px 40px #0002;display:grid;gap:14px}.hero{padding-top:63px}.section,.page{padding-block:56px}}@media(max-width:540px){.wrap{width:calc(100% - 36px)}.grid{grid-template-columns:1fr}.tile{padding:23px;min-height:0}.hero h1{font-size:clamp(41px,12vw,60px)}}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }

  .btn {
    transition: background-color 160ms ease, border-color 160ms ease;
  }
}

@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: 140ms ease-out both page-fade-out;
}

::view-transition-new(root) {
  animation: 200ms ease-out both page-fade-in;
}

@keyframes page-fade-out {
  to { opacity: 0; }
}

@keyframes page-fade-in {
  from { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}

#main {
  scroll-margin-top: 64px;
}

:root {
  font-family: -apple-system, BlinkMacSystemFont, Inter, system-ui, sans-serif;
  --muted: #545b66;
}

.wrap {
  width: min(1080px, calc(100% - 48px));
}

.brand {
  font-size: 19px;
  letter-spacing: -.035em;
}

.hero {
  position: relative;
  padding-top: clamp(64px, 9vw, 126px);
  background: linear-gradient(180deg, #fff 18%, #f0f5ff 100%);
}

.hero h1 {
  font-size: clamp(43px, 6.3vw, 82px);
  letter-spacing: -.055em;
  line-height: 1.04;
  text-wrap: balance;
}

.hero p {
  font-size: clamp(17px, 1.8vw, 21px);
  max-width: 540px;
  margin-top: 20px;
  line-height: 1.55;
}

.actions { margin-top: 24px; }
.btn { font-size: 15px; }

.art {
  width: 100%;
  height: clamp(85px, 16vw, 210px);
  margin-top: 16px;
}

.art::before {
  inset: 0;
  background: radial-gradient(circle, #5091ea 1px, transparent 1.6px) 0 0 / 12px 12px;
  mask-image: radial-gradient(ellipse 53% 85% at 50% 100%, #000 10%, transparent 93%);
  filter: none;
}

.section { padding-block: clamp(52px, 7vw, 96px); }

.section h2 {
  font-size: clamp(34px, 4.3vw, 52px);
  letter-spacing: -.045em;
  line-height: 1.12;
}

.lead,
.page .lead {
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.55;
  max-width: 58ch;
}

.grid { gap: 14px; }
.tile { min-height: 0; border-radius: 18px; padding: clamp(20px, 3vw, 30px); }

.tile h3,
.page h2,
.contact h2 {
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.page {
  width: min(740px, calc(100% - 48px));
  padding-block: clamp(54px, 8vw, 96px);
}

.page h1,
.contact h1 {
  font-size: clamp(40px, 5.5vw, 66px);
  line-height: 1.06;
  letter-spacing: -.05em;
  margin: 0;
  text-wrap: balance;
}

.page .lead { margin-top: 16px; }

.contact {
  background: linear-gradient(140deg, #f3f7ff, #fff 62%);
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: clamp(32px, 7vw, 100px);
  padding-block: clamp(54px, 9vw, 116px);
}

.contact-intro .lead { margin-top: 16px; }

.contact address {
  margin-top: 34px;
  font: inherit;
  color: var(--muted);
  line-height: 1.6;
}

.contact h2 { margin: 0 0 8px; color: var(--ink); }

.contact-channels {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding-inline: clamp(20px, 3vw, 32px);
}

.contact-channels section { padding-block: 23px; }
.contact-channels section + section { border-top: 1px solid var(--line); }

.contact-channels p {
  margin: 0 0 8px;
  color: var(--muted);
  line-height: 1.55;
}

.contact-channels a { overflow-wrap: anywhere; }

@media (max-width: 700px) {
  .contact-layout { grid-template-columns: 1fr; }
  .contact address { margin-top: 22px; }
}

@media (max-width: 540px) {
  .wrap, .page { width: calc(100% - 36px); }
}

.spend-preview {
  width: min(660px, calc(100% - 36px));
  margin: 38px auto 54px;
  padding: clamp(14px, 3vw, 28px);
  background: #fff;
  border: 1px solid #dce7fa;
  border-radius: 22px;
  box-shadow: 0 18px 44px #173a7620;
  text-align: left;
}

.spend-preview figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 16px;
  margin-bottom: 16px;
}

.spend-preview figcaption strong { font-size: 19px; }
.spend-preview figcaption span, .spend-preview thead { color: var(--muted); }
.spend-preview table { width: 100%; border-collapse: collapse; font-size: clamp(13px, 2vw, 16px); }
.spend-preview th, .spend-preview td { padding: 9px 4px; border-top: 1px solid var(--line); }
.spend-preview td, .spend-preview thead th:not(:first-child) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.spend-preview tbody th { font-weight: 500; }
.spend-preview tfoot { font-weight: 650; }
