@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --ink:#12211c; --muted:#63716c; --cream:#f5f4ed; --lime:#cdf56a; --lime-dark:#b7e34b; --green:#123f33; --green-deep:#0b2f27; --mint:#dff6e9; font-family:'DM Sans',sans-serif; color:var(--ink); background:var(--cream); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.topbar { height:76px; padding:0 max(5vw,24px); display:flex; align-items:center; justify-content:space-between; background:var(--green-deep); color:white; position:relative; z-index:20; }
.brand { display:inline-flex; align-items:center; gap:10px; font:800 23px 'Manrope',sans-serif; letter-spacing:-1px; }
.brand-symbol { width:31px; height:31px; display:grid; place-items:center; border-radius:9px 9px 9px 2px; color:var(--green-deep); background:var(--lime); font-size:17px; letter-spacing:0; }
.nav-cta { border:1px solid rgba(255,255,255,.27); border-radius:99px; padding:10px 17px; font-size:13px; font-weight:700; transition:.2s ease; }
.nav-cta:hover { color:var(--green-deep); background:var(--lime); border-color:var(--lime); }
.section-wrap { width:min(1160px,calc(100% - 48px)); margin:0 auto; }
.launch-hero { min-height:calc(100vh - 76px); background:var(--green-deep); color:white; display:grid; place-items:center; text-align:center; position:relative; overflow:hidden; }
.launch-hero::before,.launch-hero::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.launch-hero::before { width:720px; height:720px; left:-400px; top:-400px; box-shadow:0 0 0 110px rgba(255,255,255,.018),0 0 0 230px rgba(255,255,255,.012); }
.launch-hero::after { width:560px; height:560px; right:-350px; bottom:-360px; box-shadow:0 0 0 95px rgba(205,245,106,.025); }
.hero-glow { position:absolute; border-radius:50%; filter:blur(2px); }
.glow-one { width:330px; height:330px; left:3%; bottom:-210px; background:rgba(205,245,106,.09); }
.glow-two { width:260px; height:260px; right:7%; top:-160px; background:rgba(93,189,145,.1); }
.hero-content { position:relative; z-index:2; width:min(900px,calc(100% - 40px)); padding:72px 0 118px; }
.launch-pill { width:max-content; margin:0 auto 25px; padding:8px 13px; border:1px solid rgba(205,245,106,.3); border-radius:99px; background:rgba(205,245,106,.08); color:#e9f8c9; text-transform:uppercase; letter-spacing:1.8px; font-size:11px; font-weight:700; }
.launch-pill span { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(205,245,106,.13); }
.launch-hero h1 { font:700 clamp(48px,7.5vw,84px)/.98 'Manrope',sans-serif; letter-spacing:-5px; margin:0 0 28px; }
.launch-hero h1 em { font-family:Georgia,serif; font-weight:400; color:var(--lime); }
.hero-subtitle { width:min(670px,100%); margin:0 auto 36px; color:#bfd0c9; font-size:17px; line-height:1.7; }
.signup-wrap { width:min(640px,100%); margin:0 auto; }
.signup-form { height:66px; display:flex; align-items:center; gap:4px; padding:7px 7px 7px 18px; background:white; border-radius:10px; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.signup-form svg { flex:0 0 20px; width:20px; fill:none; stroke:#6c7773; stroke-width:1.7; stroke-linejoin:round; }
.signup-form input[type="email"] { min-width:0; flex:1; height:100%; padding:0 10px; color:var(--ink); background:transparent; border:0; outline:0; }
.signup-form button,.button-primary { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:7px; padding:15px 22px; background:var(--lime); color:var(--green-deep); font-weight:800; transition:.2s ease; }
.signup-form button:hover,.button-primary:hover { background:var(--lime-dark); transform:translateY(-1px); }
.privacy-note { margin:14px 0 0; font-size:12px; color:#8fa8a0; }
.signal-card { position:absolute; z-index:3; display:flex; align-items:center; gap:12px; padding:13px 16px; border:1px solid rgba(255,255,255,.12); border-radius:11px; background:rgba(27,75,61,.72); box-shadow:0 18px 50px rgba(0,0,0,.16); backdrop-filter:blur(12px); text-align:left; animation:float 5s ease-in-out infinite; }
.signal-card strong,.signal-card small { display:block; }
.signal-card strong { font-size:12px; }
.signal-card small { margin-top:3px; color:#9db4ac; font-size:10px; }
.signal-one { left:5%; top:25%; transform:rotate(-4deg); }
.signal-two { right:4%; bottom:25%; transform:rotate(3deg); animation-delay:-2.5s; }
.signal-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:var(--green-deep); background:var(--lime); font-weight:800; }
.signal-stars { color:var(--lime); font-size:12px; letter-spacing:1px; }
@keyframes float { 50% { translate:0 -8px; } }
.scroll-cue { position:absolute; z-index:3; bottom:24px; display:flex; flex-direction:column; align-items:center; gap:7px; color:#829d93; text-transform:uppercase; letter-spacing:1.7px; font-size:9px; }
.scroll-cue i { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:50%; font-style:normal; }
.promise-section { padding:115px 0 125px; }
.promise-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:80px; align-items:end; margin-bottom:60px; }
.promise-intro .eyebrow { grid-column:1 / -1; }
.eyebrow { margin:0 0 16px; color:#4f7668; text-transform:uppercase; letter-spacing:2.1px; font-size:11px; font-weight:800; }
.eyebrow.light { color:var(--lime); }
.promise-intro h2,.final-cta h2 { font:700 clamp(34px,4.6vw,54px)/1.08 'Manrope',sans-serif; letter-spacing:-3px; margin:0; }
.promise-intro>p:last-child { margin:0; color:var(--muted); line-height:1.75; }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ccd4ce; }
.promise-grid article { position:relative; min-height:330px; padding:35px 40px 10px 0; border-right:1px solid #d8ded9; }
.promise-grid article+article { padding-left:40px; }
.promise-grid article:last-child { border-right:0; }
.feature-number { position:absolute; top:36px; right:27px; color:#9ba7a1; font-size:11px; }
.feature-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:65px; border-radius:13px; background:var(--mint); color:#287456; }
.feature-icon svg { width:27px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.promise-grid h3 { margin:0 0 13px; font:700 20px 'Manrope',sans-serif; letter-spacing:-.5px; }
.promise-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.final-cta { padding:100px 24px; background:var(--green); color:white; text-align:center; }
.final-cta h2 { margin-bottom:30px; }
.button-primary { padding:16px 23px; font-size:14px; }
footer { min-height:92px; display:flex; align-items:center; gap:32px; padding:25px max(5vw,24px); background:var(--green-deep); color:#91aaa1; font-size:11px; }
footer p { flex:1; margin:0; }
.brand-light { color:white; }
@media (max-width:950px) { .signal-card { display:none; } .promise-grid article { padding-right:26px; } .promise-grid article+article { padding-left:26px; } }
@media (max-width:700px) {
  .topbar { height:68px; padding:0 18px; }
  .brand { font-size:20px; }
  .brand-symbol { width:28px; height:28px; }
  .nav-cta { padding:9px 13px; }
  .launch-hero { min-height:calc(100svh - 68px); }
  .hero-content { padding:60px 0 100px; }
  .launch-hero h1 { letter-spacing:-3px; }
  .hero-subtitle { font-size:15px; }
  .signup-form { height:auto; padding:7px; flex-wrap:wrap; }
  .signup-form svg { margin-left:10px; }
  .signup-form input[type="email"] { height:49px; }
  .signup-form button { width:100%; }
  .promise-section { width:calc(100% - 36px); padding:80px 0; }
  .promise-intro { display:block; margin-bottom:45px; }
  .promise-intro h2 { margin-bottom:22px; }
  .promise-grid { grid-template-columns:1fr; }
  .promise-grid article,.promise-grid article+article { min-height:0; padding:28px 0 32px; border-right:0; border-bottom:1px solid #d8ded9; }
  .promise-grid article:last-child { border-bottom:0; }
  .feature-number { top:30px; right:0; }
  .feature-icon { margin-bottom:32px; }
  .final-cta { padding:75px 20px; }
  .final-cta h2 { letter-spacing:-2px; }
  footer { align-items:flex-start; flex-direction:column; gap:13px; }
}
