:root{
    --forest:#4f6b2a;
    --forest-dark:#3a4f1f;
    --forest-deep:#2c3c18;
    --accent:#7ba33c;
    --sage-50:#f6f8f0;
    --sage-100:#eef3e3;
    --sage-200:#dfe9cb;
    --charcoal:#1c2521;
    --charcoal-soft:#41473f;
    --stone:#767b70;
    --stone-light:#9ea393;
    --cream:#fdfdfb;
    --line:#e2e6da;
    --shadow-color: 90, 106, 60;
    --radius-lg: 32px;
    --radius-md: 22px;
    color-scheme: light;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--charcoal);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{text-decoration:none;color:inherit;}
  ul{margin:0;padding:0;list-style:none;}
  section{position:relative;}

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }

  /* ---------- NAV ---------- */
  .nav{
    position:sticky;
    z-index:100;
    background:rgba(253,253,251,0.78);
    backdrop-filter:blur(16px) saturate(160%);
    -webkit-backdrop-filter:blur(16px) saturate(160%);
    border-bottom:1px solid rgba(28,37,33,0.06);
  }
  .nav .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:auto;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:800;
    font-size:15px;
    letter-spacing:0.01em;
  }
  
  .pill:hover
 {
    background: #7ba33c !important;
}
  .brand img{height:108px;width:108px;border-radius:8px;}
  .brand .word{display:flex;flex-direction:column;line-height:1.05;}
  .brand .word b{font-size:14.5px;}
  .brand .word span{font-size:9px;letter-spacing:0.16em;color:var(--stone);font-weight:600;margin-top:5px;}
  .nav-links{display:flex;align-items:center;gap:36px;}
  .nav-links a{
    font-size:13.5px;
    font-weight:600;
    color:var(--charcoal-soft);
    transition:color .2s ease;
  }
  .nav-links a:hover{color:var(--forest);}
  .nav-cta{
    background:var(--forest);
    color:#fff !important;
    padding:10px 20px;
    border-radius:100px;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.01em;
    box-shadow:0 6px 16px rgba(var(--shadow-color),0.28);
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  }
  .nav-cta:hover{transform:translateY(-1px);background:var(--forest-dark);box-shadow:0 8px 20px rgba(var(--shadow-color),0.36);}
  @media (max-width:860px){ .nav-links{display:none;} }

  /* ---------- HERO ---------- */
  .hero{
    padding:88px 0 40px;
    background:
      radial-gradient(1100px 480px at 18% -10%, rgba(123,163,60,0.16), transparent 60%),
      radial-gradient(900px 500px at 92% 10%, rgba(79,107,42,0.10), transparent 55%),
      var(--cream);
    overflow:hidden;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:24px;
    align-items:center;
  }
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--forest);
    background:var(--sage-100);
    border:1px solid var(--sage-200);
    padding:7px 14px 7px 10px;
    border-radius:100px;
    margin-bottom:26px;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
  .hero h1{
    font-size:clamp(42px,5.6vw,74px);
    line-height:1.02;
    letter-spacing:-0.03em;
    font-weight:800;
    margin:0 0 24px;
    color:var(--charcoal);
  }
  .hero h1 em{
    font-style:normal;
    color:var(--forest);
    position:relative;
    white-space:nowrap;
  }
  .hero p.lede{
    font-size:18px;
    line-height:1.6;
    color:var(--charcoal-soft);
    max-width:460px;
    margin:0 0 36px;
    font-weight:400;
  }
  .hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px;}
  .btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--charcoal);
    color:#fff;
    padding:15px 26px;
    border-radius:100px;
    font-weight:700;
    font-size:14.5px;
    box-shadow:0 12px 28px -8px rgba(28,37,33,0.45);
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, background .25s ease;
    border:none;
    cursor:pointer;
  }
  .btn-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 16px 34px -8px rgba(28,37,33,0.5);background:#000;}
  .btn-secondary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:15px 24px;
    border-radius:100px;
    font-weight:700;
    font-size:14.5px;
    color:var(--charcoal);
    border:1.5px solid var(--line);
    background:#fff;
    transition:border-color .2s ease, transform .2s ease, background .2s ease;
  }
  .btn-secondary:hover{border-color:var(--forest);background:var(--sage-50);transform:translateY(-2px);}
  .store-badge{height:100px;width:auto;border-radius:9px;filter:drop-shadow(0 6px 14px rgba(0,0,0,0.18));transition:transform .2s ease;}
  .store-badge:hover{transform:translateY(-2px) scale(1.02);}
  .hero-meta{font-size:12.5px;color:var(--stone);font-weight:500;margin-top:2px;}

  .hero-visual{
    position:relative;
    height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .phone{
    position:absolute;
    width:220px;
    border-radius:36px;
    background:#0d130f;
    padding:8px;
    box-shadow:0 40px 70px -20px rgba(20,28,18,0.45), 0 10px 24px -8px rgba(20,28,18,0.25);
  }
  .phone .screen{
    position:relative;
    border-radius:29px;
    overflow:hidden;
    background:#fff;
    aspect-ratio:402/874;
  }
  .phone .screen img{width:100%;height:100%;object-fit:cover;object-position:top center;}
  .phone .island{
    position:absolute;
    top:10px;left:50%;
    transform:translateX(-50%);
    width:74px;height:20px;
    background:#0d130f;
    border-radius:20px;
    z-index:5;
  }
  .phone.p-left{
    left:2%;
    top:14%;
    transform:rotate(-9deg);
    z-index:1;
    opacity:0.96;
  }
  .phone.p-right{
    right:0%;
    top:10%;
    transform:rotate(8deg);
    z-index:1;
    opacity:0.96;
  }
  .phone.p-center{
    width:250px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:3;
  }
  .float-chip{
    position:absolute;
    background:#fff;
    border-radius:16px;
    padding:11px 16px;
    box-shadow:0 16px 32px -10px rgba(28,37,33,0.28);
    display:flex;
    align-items:center;
    gap:10px;
    font-size:12.5px;
    font-weight:700;
    color:var(--charcoal);
    z-index:6;
    border:1px solid var(--line);
  }
  .float-chip .ico{width:26px;height:26px;border-radius:8px;background:var(--sage-100);display:flex;align-items:center;justify-content:center;color:var(--forest);}
  .chip-1{top:6%;right:8%;}
  .chip-2{bottom:8%;left:4%;}

  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr;}
    .hero p.lede{max-width:560px;}
    .hero-visual{height:440px;margin-top:20px;}
    .phone{width:170px;}
    .phone.p-center{width:196px;}
  }

  /* ---------- reveal ---------- */
  [data-reveal]{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
  }
  [data-reveal].in-view{opacity:1;transform:translateY(0);}
  [data-reveal="scale"]{transform:translateY(20px) scale(0.96);}
  [data-reveal="scale"].in-view{transform:translateY(0) scale(1);}

  /* ---------- STEPS ---------- */
  .steps-section{
    background:var(--sage-100);
    padding:120px 0;
    border-top:1px solid var(--sage-200);
    border-bottom:1px solid var(--sage-200);
  }
  .section-head{
    text-align:center;
    max-width:620px;
    margin:0 auto 68px;
  }
  .section-head .eyebrow{background:#fff;}
  .section-head h2{
    font-size:clamp(30px,4vw,46px);
    letter-spacing:-0.025em;
    font-weight:800;
    margin:0 0 16px;
    line-height:1.1;
  }
  .section-head p{
    font-size:16.5px;
    color:var(--charcoal-soft);
    line-height:1.6;
    margin:0;
  }
  .steps-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .step-card{
    background:#fff;
    border-radius:var(--radius-lg);
    padding:38px 30px 34px;
    border:1px solid var(--line);
    position:relative;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
  }
  .step-card:hover{transform:translateY(-8px);box-shadow:0 30px 50px -20px rgba(28,37,33,0.2);}
  .step-num{
    font-size:13px;
    font-weight:800;
    color:var(--forest);
    background:var(--sage-100);
    width:38px;height:38px;
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:22px;
  }
  .step-card h3{
    font-size:20px;
    font-weight:800;
    margin:0 0 10px;
    letter-spacing:-0.01em;
  }
  .step-card p{
    font-size:14.5px;
    color:var(--stone);
    line-height:1.55;
    margin:0;
  }
  @media (max-width:860px){ .steps-row{grid-template-columns:1fr;} }

  /* ---------- SPLIT FEATURE SECTIONS ---------- */
  .split{
    padding:130px 0;
  }
  .split .wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
  }
  .split.reverse .wrap{grid-template-columns:1fr 1fr;}
  .split.reverse .split-text{order:2;}
  .split.reverse .split-visual{order:1;}
  .split-text .eyebrow{background:var(--sage-100);}
  .split-text h2{
    font-size:clamp(28px,3.6vw,42px);
    font-weight:800;
    letter-spacing:-0.025em;
    line-height:1.08;
    margin:0 0 20px;
  }
  .split-text > p{
    font-size:16.5px;
    color:var(--charcoal-soft);
    line-height:1.65;
    margin:0 0 32px;
    max-width:440px;
  }
  .feature-list{display:flex;flex-direction:column;gap:16px;}
  .feature-list li{
    display:flex;
    align-items:flex-start;
    gap:14px;
    font-size:15.5px;
    font-weight:600;
    color:var(--charcoal);
  }
  .feature-list .check{
    flex:none;
    width:24px;height:24px;
    border-radius:50%;
    background:var(--forest);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    margin-top:1px;
  }
  .feature-list .check svg{width:12px;height:12px;}

  .split-visual{
    display:flex;
    justify-content:center;
    position:relative;
  }
  .phone-solo{
    position:relative;
    width:270px;
    border-radius:42px;
    background:#0d130f;
    padding:9px;
    box-shadow:0 50px 80px -20px rgba(20,28,18,0.4), 0 14px 30px -10px rgba(20,28,18,0.22);
  }
  .phone-solo .screen{border-radius:34px;overflow:hidden;aspect-ratio:402/874;background:#fff;position:relative;}
  .phone-solo .screen img{width:100%;height:100%;object-fit:cover;object-position:top;}
  .phone-solo .island{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:90px;height:24px;background:#0d130f;border-radius:24px;z-index:5;}
  .glow-blob{
    position:absolute;
    width:420px;height:420px;
    border-radius:50%;
    filter:blur(70px);
    opacity:0.35;
    z-index:0;
  }
  .glow-a{background:var(--accent);top:-10%;left:-10%;}
  .glow-b{background:var(--forest);bottom:-10%;right:-6%;}

  @media (max-width:900px){
    .split .wrap{grid-template-columns:1fr;gap:48px;}
    .split.reverse .split-text{order:1;}
    .split.reverse .split-visual{order:2;}
    .split-text p, .split-text > p{max-width:100%;}
  }

  /* ---------- CONNECT / AUDIENCE ---------- */
  .connect{
    padding:120px 0;
    text-align:center;
    background:var(--charcoal);
    color:#fff;
    position:relative;
    overflow:hidden;
  }
  .connect::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(700px 400px at 50% 0%, rgba(123,163,60,0.22), transparent 60%);
  }
  .connect .wrap{position:relative;max-width:780px;}
  .connect .eyebrow{background:rgba(255,255,255,0.08);color:#c9d9a8;border-color:rgba(255,255,255,0.12);}
  .connect h2{
    font-size:clamp(30px,4.4vw,50px);
    font-weight:800;
    letter-spacing:-0.03em;
    line-height:1.12;
    margin:0 0 26px;
  }
  .connect p{
    font-size:17px;
    line-height:1.7;
    color:#c7ccc3;
    margin:0 auto 44px;
    max-width:600px;
  }
  .pill-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
  }
  .pill{
    padding:10px 18px;
    border-radius:100px;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.14);
    font-size:13.5px;
    font-weight:600;
    color:#e7ebe0;
  }
  .pill.on{background:var(--accent);color:#16220b;border-color:var(--accent);}

  /* ---------- CTA FINAL ---------- */
  .cta-final{
    padding:130px 0 120px;
    text-align:center;
    background:
      radial-gradient(900px 420px at 50% -10%, rgba(123,163,60,0.18), transparent 60%),
      var(--sage-100);
  }
  .cta-final h2{
    font-size:clamp(32px,5vw,56px);
    font-weight:800;
    letter-spacing:-0.03em;
    margin:0 0 18px;
    color:var(--charcoal);
  }
  .cta-final p.sub{
    font-size:17px;
    color:var(--charcoal-soft);
    margin:0 0 44px;
  }
  .cta-buttons{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:40px;
  }
  .btn-forest{
    background:var(--forest);
    color:#fff;
    padding:16px 30px;
    border-radius:100px;
    font-weight:700;
    font-size:15px;
    box-shadow:0 14px 30px -8px rgba(var(--shadow-color),0.4);
    transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
  }
  .btn-forest:hover{transform:translateY(-2px);background:var(--forest-dark);box-shadow:0 18px 36px -8px rgba(var(--shadow-color),0.48);}
  .btn-outline{
    padding:16px 30px;
    border-radius:100px;
    font-weight:700;
    font-size:15px;
    color:var(--charcoal);
    border:1.5px solid var(--charcoal);
    background:transparent;
    transition:all .25s ease;
  }
  .btn-outline:hover{background:var(--charcoal);color:#fff;transform:translateY(-2px);}
  .store-row{display:flex;flex-direction:column;align-items:center;gap:10px;}
  .store-row span{font-size:12px;font-weight:600;color:var(--stone);letter-spacing:0.02em;}

  /* ---------- FOOTER ---------- */
  footer{
    padding:56px 0 40px;
    background:var(--cream);
    border-top:1px solid var(--line);
  }
  footer .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
  }
  .footer-brand{display:flex;align-items:center;gap:12px;}
  .footer-brand img{height:108px;width:108px;border-radius:9px;}
  .footer-brand .word b{display:block;font-size:14px;font-weight:800;}
  .footer-brand .word span{display:block;font-size:10px;letter-spacing:0.14em;color:var(--stone);font-weight:700;margin-top:5px;}
  footer .foot-link{font-size:13px;font-weight:600;color:var(--forest);}
  footer .copy{font-size:12px;color:var(--stone-light);}
  .foot-bottom{
    margin-top:32px;
    padding-top:24px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
  }

  ::selection{background:var(--sage-200);color:var(--charcoal);}