:root{
  --bg:#FAFAF9;
  --surface:#FFFFFF;
  --ink:#1C1E1D;
  --muted:#6B7570;
  --accent:#00B383;
  --accent-deep:#009469;
  --radius:12px;
  --font-display:'Sora',sans-serif;
  --font-body:'Manrope',sans-serif;

  --step--1:0.75rem;
  --step-0:1rem;
  --step-1:1.333rem;
  --step-2:1.777rem;
  --step-3:2.369rem;
  --step-4:3.158rem;
  --step-5:4.210rem;
  --step-6:9.262rem;

  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;

  --section-pad:var(--space-9);
  --measure:38ch;
  --shadow-1:0 1px 2px rgba(28,30,29,0.06);
  --shadow-2:0 8px 24px rgba(28,30,29,0.08);
  --ease:cubic-bezier(.2,.8,.2,1);
  --dur-1:0.5s;
  --dur-2:0.9s;
}

*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--step-0);
  line-height:1.6;
}
h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0;line-height:1.15}
p{margin:0;color:var(--muted)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
section{padding-block:var(--section-pad);overflow:hidden}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--space-5)}

/* header */
.bar{
  position:sticky;top:0;z-index:10;
  background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter:none;
  border-block-end:1px solid color-mix(in srgb, var(--ink) 8%, transparent);
}
.bar-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:var(--space-4);padding-inline:var(--space-5);
  max-width:1200px;margin-inline:auto;
}
.wordmark{font-family:var(--font-display);font-weight:700;font-size:var(--step-1);letter-spacing:-0.02em}
.nav-links{display:flex;gap:var(--space-6);list-style:none;margin:0;padding:0}
.nav-links a{font-size:var(--step--1);color:var(--muted);transition:color var(--dur-1) var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-cta{
  background:var(--accent);color:#fff;font-size:var(--step--1);
  padding-block:var(--space-2);padding-inline:var(--space-4);
  border-radius:4px;transition:background var(--dur-1) var(--ease), letter-spacing var(--dur-1) var(--ease);
}
.nav-cta:hover{background:var(--accent-deep);letter-spacing:0.2px}

/* hero */
.hero{padding-block:var(--space-9);text-align:center}
.hero-eyebrow{
  display:block;font-size:var(--step--1);color:var(--accent);
  letter-spacing:0.08em;text-transform:uppercase;margin-block-end:var(--space-4);
  font-weight:600;
}
.hero-headline{
  font-size:clamp(2.6rem, 6vw + 1rem, 5rem);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.02;
  max-width:16ch;margin-inline:auto;
}
.hero-sub{
  font-size:var(--step-1);color:var(--muted);
  max-width:var(--measure);margin-inline:auto;margin-block-start:var(--space-5);
}
.hero-cta-wrap{margin-block-start:var(--space-6)}
.btn{
  display:inline-block;background:var(--accent);color:#fff;
  font-size:var(--step-0);font-weight:600;
  padding-block:var(--space-3);padding-inline:var(--space-6);
  border-radius:4px;border:none;cursor:pointer;
  transition:background var(--dur-1) var(--ease), letter-spacing var(--dur-1) var(--ease);
}
.btn:hover{background:var(--accent-deep);letter-spacing:0.2px}

.hero-image-wrap{margin-block-start:var(--space-8);max-width:420px;margin-inline:auto}
.ph{
  aspect-ratio:4/5;border-radius:var(--radius);
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--ink) 88%, var(--accent) 12%) 0%, var(--ink) 60%),
    repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 25%, transparent) 0 2px, transparent 2px 14px);
  position:relative;overflow:hidden;
}
.ph::after{
  content:'';position:absolute;inset-inline-start:0;inset-block-end:0;
  width:100%;height:40%;
  background:linear-gradient(0deg, color-mix(in srgb, var(--accent) 30%, transparent), transparent);
}

.hero-image-wrap img.ph{
  object-fit:cover;width:100%;height:100%;
  background:none;
}
.hero-image-wrap img.ph::after{display:none}

/* moves */
.moves-row{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);
  align-items:center;padding-block:var(--space-6);
  border-block-end:1px solid color-mix(in srgb, var(--ink) 6%, transparent);
}
.moves-row:last-child{border-block-end:none}
.moves-row.alt .moves-text{order:2}
.moves-row.alt .moves-visual{order:1}
.moves-claim{font-size:var(--step-2);font-weight:600;max-width:16ch}
.moves-visual .ph{
  aspect-ratio:1/1;max-width:280px;margin-inline:auto;
  border-radius:50% 12% 50% 12%;
  background:
    radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 60%),
    linear-gradient(200deg, var(--ink) 10%, color-mix(in srgb, var(--ink) 80%, var(--accent) 20%) 90%);
}
.moves-visual .ph::after{display:none}

/* security */
.security{text-align:center}
.security-inner{max-width:700px;margin-inline:auto}
.security-statement{font-size:var(--step-3);font-weight:600;line-height:1.3}
.security-underline{
  display:inline-block;border-block-end:3px solid var(--accent);
  padding-block-end:var(--space-1);
}
.security .ph{
  aspect-ratio:16/9;max-width:640px;margin-inline:auto;
  border-radius:4px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 20%, transparent) 0 1px, transparent 1px 32px),
    linear-gradient(120deg, var(--ink) 0%, color-mix(in srgb, var(--ink) 70%, var(--accent) 30%) 100%);
}
.security .ph::after{display:none}

/* for-you */
.for-you-grid{
  display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-7);align-items:center;
}
.for-you-eyebrow{
  font-size:var(--step--1);color:var(--accent);text-transform:uppercase;
  letter-spacing:0.08em;font-weight:600;display:block;margin-block-end:var(--space-3);
}
.for-you-headline{font-size:var(--step-3);max-width:14ch}
.for-you-visual .ph{
  aspect-ratio:4/5;
  border-radius:var(--radius) 0 var(--radius) 0;
  background:
    conic-gradient(from 210deg at 70% 30%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 40%),
    linear-gradient(180deg, var(--ink) 0%, color-mix(in srgb, var(--ink) 85%, var(--accent) 15%) 100%);
}
.for-you-visual .ph::after{display:none}

/* backed */
.backed{text-align:center;padding-block:var(--space-8)}
.backed-line{
  font-size:var(--step--1);text-transform:uppercase;letter-spacing:0.12em;
  color:var(--muted);font-weight:600;
}

/* waitlist */
.waitlist{text-align:center}
.waitlist-headline{font-size:var(--step-3);max-width:18ch;margin-inline:auto}
.waitlist-form{
  display:flex;align-items:stretch;gap:0;
  max-width:480px;margin-inline:auto;margin-block-start:var(--space-6);
  background:var(--surface);
  border-radius:var(--radius);
  border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);
  overflow:hidden;
}
.waitlist-form input{
  flex:1;border:none;background:none;padding-block:var(--space-3);
  padding-inline:var(--space-4);font-family:var(--font-body);font-size:var(--step-0);
  color:var(--ink);outline:none;border-radius:0;
}
.waitlist-form button{
  background:var(--accent);color:#fff;border:none;font-weight:600;
  padding-block:var(--space-3);padding-inline:var(--space-5);
  border-radius:0;cursor:pointer;white-space:nowrap;
  transition:background var(--dur-1) var(--ease), letter-spacing var(--dur-1) var(--ease);
}
.waitlist-form button:hover{background:var(--accent-deep);letter-spacing:0.2px}

/* faq */
.faq-list{max-width:700px;margin-inline:auto}
.faq-row{
  padding-block:var(--space-5);border-block-end:1px solid color-mix(in srgb, var(--ink) 8%, transparent);
}
.faq-row:last-child{border-block-end:none}
.faq-q{font-size:var(--step-1);font-weight:600;color:var(--ink);margin-block-end:var(--space-2)}
.faq-a{color:var(--muted);line-height:1.7}

/* contact */
.contact{text-align:center}
.contact-card{
  background:var(--surface);border-radius:2px;
  max-width:560px;margin-inline:auto;margin-block-start:var(--space-6);
  padding:var(--space-7);box-shadow:var(--shadow-2);text-align:start;
}
.lead-form{display:flex;flex-direction:column;gap:var(--space-4)}
.lead-form input,.lead-form textarea{
  font-family:var(--font-body);font-size:var(--step-0);color:var(--ink);
  border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);
  border-radius:2px;padding-block:var(--space-3);padding-inline:var(--space-4);
  background:var(--bg);outline:none;
}
.lead-form button{
  background:var(--accent);color:#fff;font-weight:600;border:none;
  padding-block:var(--space-3);border-radius:2px;cursor:pointer;
  transition:background var(--dur-1) var(--ease), letter-spacing var(--dur-1) var(--ease);
}
.lead-form button:hover{background:var(--accent-deep);letter-spacing:0.2px}
.lead-done{color:var(--accent);font-weight:600}

/* footer */
footer{padding-block:var(--space-7);text-align:center}
.footer-line{color:var(--muted);font-size:var(--step--1)}
.footer-note{color:var(--muted);font-size:var(--step--1);margin-block-start:var(--space-2)}

@media (max-width:768px){
  .moves-row,.for-you-grid{grid-template-columns:1fr}
  .moves-row.alt .moves-text,.moves-row.alt .moves-visual{order:initial}
  .for-you-visual{order:-1}
  .waitlist-form{flex-direction:column;border-radius:var(--radius);background:none;border:none;padding:0;gap:var(--space-3)}
  .waitlist-form input{background:var(--surface);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:var(--radius);width:100%}
  .waitlist-form button{width:100%;border-radius:var(--radius)}
  .bar-inner{padding-inline:var(--space-4)}
  .nav-links{display:none}
}
@media (min-width:1440px){
  .wrap{max-width:1320px}
}


@media (prefers-reduced-motion: reduce){[data-motion]{opacity:1;transform:none}}