:root{
  --bg0:#060914;
  --bg1:#0b1024;
  --card:#0e152b;
  --card2:#0b1226;
  --text:#e9eefc;
  --muted:#aab6d6;
  --line:rgba(255,255,255,0.08);
  --blue:#2d6bff;
  --blue2:#3a8bff;
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  /* Match Figma Make export defaults (ui-sans stack) */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color:var(--text);

  /*
    Safari can render document-height gradients a bit "bandy" as you scroll.
    So we anchor the background to the viewport using fixed pseudo-elements:
    - ::before = base vertical gradient
    - ::after  = subtle corner wash
  */
  background: transparent;
  position: relative;
  min-height: 100vh;
}

html{background:#030712;}

body::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background: linear-gradient(to bottom, #030712 0%, #111827 100%);
}

body::after{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  /* blue → transparent → purple wash, similar to Figma */
  background: linear-gradient(to bottom right,
    rgba(37, 99, 235, 0.10) 0%,
    rgba(0, 0, 0, 0) 50%,
    rgba(147, 51, 234, 0.10) 100%
  );
}

a{color:inherit; text-decoration:none}

.container{
  width:min(1200px, 100%);
  margin:0 auto;
  padding:0 24px; /* matches reference side padding */
}

.topbar{
  position:sticky;
  top:0;
  z-index:20;
  background: rgba(6,9,20,.75);
  border-bottom:1px solid var(--line);
  backdrop-filter: blur(14px);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; padding:16px 0}
.brand{display:flex; gap:10px; align-items:center}
.brand__dot{width:10px; height:10px; border-radius:999px; background:linear-gradient(135deg, var(--blue2), #7c5cff)}
.brand__name{font-weight:600; letter-spacing:.2px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 24px;
  border-radius:10px; /* Figma site uses 10px */
  border:1px solid var(--line);
  background: rgba(255,255,255,0.03);
  color: var(--text);
  font-weight:400;
  line-height:1.5;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.btn__icon{width:16px; height:16px; display:block}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.14)}
.btn--primary{
  border-color: rgba(45,107,255,.45);
  background: linear-gradient(180deg, rgba(45,107,255,.92), rgba(45,107,255,.72));
  box-shadow: 0 10px 30px rgba(45,107,255,.25);
}
.btn--primary:hover{background: linear-gradient(180deg, rgba(58,139,255,.95), rgba(45,107,255,.78))}
.btn--ghost{background:transparent}
.btn--lg{padding:16px 32px; font-size:18px; line-height:28px}

.hero{
  position:relative;
  /* Figma page has generous vertical padding */
  padding:96px 0 56px;
  overflow:hidden;
}
.hero__inner{position:relative; z-index:2; text-align:center}
.eyebrow{
  display:inline-block;
  margin:0 0 14px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  color: var(--muted);
  background: rgba(255,255,255,0.02);
  font-weight:600;
  font-size:13px;
}
.hero__title{
  margin:0;
  font-size: clamp(44px, 6vw, 72px);
  /* 72px / 90px on desktop */
  line-height: clamp(56px, 7.5vw, 90px);
  font-weight:700;
  letter-spacing: normal;
}
.accent{color: var(--blue2)}
.hero__sub{
  margin:24px auto 40px;
  max-width: 920px;
  color: var(--muted);
  font-size: clamp(16px, 2vw, 24px);
  line-height: clamp(24px, 3.1vw, 39px);
}
.hero__cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}

.chips{
  margin:28px auto 0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  max-width: 980px;
}
.chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,0.02);
  color: var(--muted);
  font-size:13px;
}
.chip__icon{display:grid; place-items:center; opacity:.95}
.chip__icon svg{width:20px; height:20px; color: var(--blue2)}

.hero__glow{
  position:absolute;
  inset:-40% -20% auto -20%;
  height:520px;
  background: radial-gradient(closest-side, rgba(45,107,255,.25), transparent 70%);
  filter: blur(6px);
}

.section{padding:96px 0}
.section__title{margin:0; text-align:center; font-size:48px; line-height:48px; font-weight:700; letter-spacing: normal}
.section__sub{margin:16px auto 44px; text-align:center; color:var(--muted); max-width:860px; font-size:20px; line-height:28px}

.grid{display:grid; gap:14px}
.grid--2{grid-template-columns: repeat(2, minmax(0, 1fr))}
.grid--3{grid-template-columns: repeat(3, minmax(0, 1fr))}
.grid--4{grid-template-columns: repeat(4, minmax(0, 1fr))}

.card{
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.card__top{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px}
.badge{
  width:30px; height:30px;
  display:grid; place-items:center;
  border-radius:10px;
  background: rgba(45,107,255,.18);
  border:1px solid rgba(45,107,255,.35);
  color: #cfe0ff;
  font-weight:700;
}
.icon{
  width:34px; height:34px;
  display:grid; place-items:center;
  border-radius:12px;
  background: rgba(255,255,255,0.03);
  border:1px solid var(--line);
  color: var(--blue2);
}
.icon svg{width:20px; height:20px}
.card__title{margin:0 0 8px; font-size:15px; letter-spacing:-.01em}
.card__text{margin:0; color:var(--muted); font-size:13px; line-height:1.5}

.card--compact .icon{margin-bottom:12px}
.card--compact .card__title{font-size:14px}

.card--large{padding:24px}
.card--large .card__title--large{font-size:20px; margin:12px 0 8px}
.card--large .card__text--large{font-size:15px; line-height:1.6}
.card__list{margin:16px 0 0; padding:0 0 0 18px; color:var(--muted); font-size:14px; line-height:1.8}
.card__list li{margin:2px 0}

.icon--large{width:48px; height:48px; border-radius:14px}
.icon--large svg{width:26px; height:26px}

.benefit-card{
  padding:24px;
  border:1px solid var(--line);
  background: rgba(255,255,255,0.02);
  border-radius: var(--radius);
  text-align:center;
}
.benefit-card .benefit__icon{
  width:56px; height:56px;
  margin:0 auto 16px;
  display:grid; place-items:center;
  border-radius:16px;
  background: rgba(45,107,255,.12);
  border:1px solid rgba(45,107,255,.30);
}
.benefit-card .benefit__icon svg{width:28px; height:28px; color: var(--blue2)}
.benefit-card .benefit__title{font-size:18px; font-weight:700; margin:0 0 8px}
.benefit-card .benefit__text{color:var(--muted); font-size:14px; line-height:1.5; margin:0}

.flow{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,0.02);
}
.flow__item{display:flex; flex-direction:column; align-items:center; gap:6px; flex:1}
.flow__icon{width:40px; height:40px; display:grid; place-items:center; border-radius:14px; background: rgba(255,255,255,0.03); border:1px solid var(--line); color: var(--blue2)}
.flow__icon svg{width:22px; height:22px}
.flow__label{font-size:12px; color:var(--muted); font-weight:600}
.flow__arrow{color: rgba(255,255,255,0.35)}

.tile{
  border:1px solid var(--line);
  background: rgba(255,255,255,0.02);
  border-radius: var(--radius);
  padding:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height: 108px;
}
.tile__icon{width:42px; height:42px; display:grid; place-items:center; border-radius:16px; background: rgba(45,107,255,.12); border:1px solid rgba(45,107,255,.30); color: var(--blue2)}
.tile__icon svg{width:24px; height:24px}
.tile__title{color: var(--text); font-weight:600; font-size:13px}

.split{display:grid; grid-template-columns: 1.1fr .9fr; gap:18px; align-items:start}

.benefits{display:grid; gap:12px}
.benefit{display:flex; gap:12px; align-items:flex-start; padding:12px; border-radius: var(--radius); border:1px solid var(--line); background: rgba(255,255,255,0.02)}
.benefit__icon{width:42px; height:42px; display:grid; place-items:center; border-radius:16px; background: rgba(255,255,255,0.03); border:1px solid var(--line)}
.benefit__icon svg{width:22px; height:22px; color: var(--blue2)}
.benefit__title{font-weight:700; font-size:14px; margin-bottom:4px}
.benefit__text{color:var(--muted); font-size:13px; line-height:1.4}

.calc{padding:18px}
.calc__header{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px}
.calc__title{margin:0; font-size:16px}

.field{display:flex; flex-direction:column; gap:8px; margin-top:12px}
.field__label{color: var(--muted); font-size:12px; font-weight:600}
.field__input{
  background: rgba(0,0,0,0.25);
  border:1px solid var(--line);
  color: var(--text);
  border-radius: 14px;
  padding:12px 12px;
  font-size:14px;
  outline:none;
}
.field__input:focus{border-color: rgba(45,107,255,.55); box-shadow: 0 0 0 4px rgba(45,107,255,.12)}
.field--readonly{padding:12px; border-radius: 14px; border:1px solid var(--line); background: rgba(255,255,255,0.02)}
.field__output{font-weight:800; letter-spacing:-.02em; font-size:18px}

.divider{height:1px; background: var(--line); margin:14px 0}

.result{display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:8px 0}
.result__label{color: var(--muted); font-weight:600; font-size:13px}
.result__value{font-weight:900; font-size:18px; color: #ff5a6a}

.fineprint{margin:10px 0 0; color: rgba(170,182,214,.85); font-size:11px; line-height:1.45}

.cta{
  padding:64px 0 74px;
  /* Match Figma's section wash: bg-gradient-to-br from-blue-600/20 to-purple-600/20 */
  background: linear-gradient(to bottom right, rgba(37, 99, 235, 0.20), rgba(147, 51, 234, 0.20));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position: relative;
}

/* Fade in the CTA background so it blends with the page background (removes seam/band) */
.cta::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:-160px;
  height:160px;
  pointer-events:none;
  background: linear-gradient(to bottom,
    rgba(37, 99, 235, 0.00) 0%,
    rgba(37, 99, 235, 0.08) 100%
  );
}
.cta__inner{text-align:center}
.cta__title{margin:0; font-size: clamp(30px, 4.3vw, 44px); letter-spacing:-.02em}
.cta__sub{margin:10px auto 18px; color:var(--muted); max-width:720px; line-height:1.55}

.footer{padding:18px 0; color: rgba(170,182,214,.9)}
.footer__inner{display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid var(--line); padding-top:18px}
.footer__left{font-weight:600}
.footer__right{font-size:12px}

@media (max-width: 980px){
  .grid--2{grid-template-columns: 1fr}
  .grid--3{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .grid--4{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .flow{flex-wrap:wrap; justify-content:center}
  .flow__arrow{display:none}
  .split{grid-template-columns: 1fr}
}

@media (max-width: 560px){
  .hero{padding:96px 0 56px}

  /* Match reference mobile typography (390px wide) */
  .hero__title{font-size:48px; line-height:60px}
  .hero__sub{font-size:20px; line-height:32.5px; margin:24px auto 40px}

  .section{padding:96px 0}
  .section__title{font-size:36px; line-height:40px}
  .section__sub{font-size:20px; line-height:28px}

  .grid--2{grid-template-columns: 1fr}
  .grid--3{grid-template-columns: 1fr}
  .grid--4{grid-template-columns: 1fr}
}
