:root{
  --paper:#FCFAF4; --card:#FFFFFF; --cream:#F4EDDE;
  --forest:#04613C; --forest-deep:#0B4A30; --ink:#0F1D16;
  --mint:#DCEFDF; --mint-strong:#A9D9B8;
  --muted:#5B6B62; --line:#E7E2D5;
  --radius:22px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--forest)}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
header{position:sticky;top:0;background:rgba(252,250,244,.9);backdrop-filter:blur(10px);border-bottom:1px solid transparent;z-index:20;transition:border-color .3s,box-shadow .3s}
header.scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px rgba(15,29,22,.06)}
.nav{display:flex;align-items:center;gap:18px;padding:14px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none}
.brand img{width:38px;height:38px;border-radius:11px;transition:transform .5s var(--ease)}
.brand:hover img{transform:rotate(-8deg) scale(1.06)}
.nav .links{margin-left:auto;display:flex;gap:18px;align-items:center}
.nav .links a{text-decoration:none;color:var(--ink);font-size:.95rem;position:relative}
.nav .links a:not(.lang)::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--forest);border-radius:2px;transition:width .3s var(--ease)}
.nav .links a:hover::after{width:100%}
.nav .links a:hover{color:var(--forest)}
.lang{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.85rem;background:var(--card);transition:background .3s,border-color .3s}
.lang:hover{background:var(--mint);border-color:var(--mint-strong)}

/* download dropdown */
.dl{position:relative}
.dl-btn{background:var(--forest);color:#fff;border:none;border-radius:999px;padding:9px 20px;font-family:var(--sans);font-size:.92rem;font-weight:600;cursor:pointer;transition:background .3s,transform .3s var(--ease),box-shadow .3s}
.dl-btn:hover{background:var(--forest-deep);transform:translateY(-2px);box-shadow:0 10px 22px rgba(4,97,60,.25)}
.dl-menu{position:absolute;right:0;top:calc(100% + 12px);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 20px 50px rgba(15,29,22,.16);width:250px;display:none;flex-direction:column;gap:10px;z-index:30}
.dl.open .dl-menu{display:flex;animation:menuIn .3s var(--ease)}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.dl-menu .store-badge{width:100%;justify-content:flex-start}
.dl-menu small{color:var(--muted);font-size:.78rem;line-height:1.4}

/* ---------- hero (centered, phones below) ---------- */
.hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 0 30px}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);z-index:-1;animation:blob 14s ease-in-out infinite alternate}
.hero::before{width:420px;height:420px;background:rgba(169,217,184,.45);top:-60px;right:4%}
.hero::after{width:340px;height:340px;background:rgba(244,237,222,.9);bottom:40px;left:-120px;animation-delay:-7s}
@keyframes blob{from{transform:translate(0,0) scale(1)}to{transform:translate(30px,24px) scale(1.12)}}
.hero .copy{max-width:760px}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.13;letter-spacing:-.02em}
.hero h1 em{color:var(--forest);font-style:normal;position:relative;white-space:nowrap}
.hero h1 em svg{position:absolute;left:0;bottom:-.28em;width:100%;height:.32em}
.hero h1 em svg path{stroke:var(--mint-strong);stroke-width:6;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s .9s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero p.lead{margin:18px auto 26px;font-size:1.12rem;color:var(--muted);max-width:36rem}
.hero .copy>*{opacity:0;transform:translateY(22px);animation:rise .8s var(--ease) forwards}
.hero .copy>*:nth-child(1){animation-delay:.05s}
.hero .copy>*:nth-child(2){animation-delay:.18s}
.hero .copy>*:nth-child(3){animation-delay:.31s}
.hero .copy>*:nth-child(4){animation-delay:.42s}
@keyframes rise{to{opacity:1;transform:none}}
.badges{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center}
.store-badge{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:12px;padding:10px 16px;text-decoration:none;line-height:1.15;opacity:.55;cursor:default}
.store-badge svg{width:22px;height:22px;fill:#fff;flex:none}
.store-badge small{display:block;font-size:.65rem;font-weight:400;opacity:.8}
.store-badge span{font-weight:600;font-size:.98rem}
.soon{font-size:.85rem;color:var(--muted);margin-top:10px}
/* two tilted phones under the copy */
.hero-phones{display:flex;justify-content:center;align-items:flex-start;margin-top:56px;opacity:0;transform:translateY(46px);animation:phonesIn 1.1s .4s var(--ease) forwards}
@keyframes phonesIn{to{opacity:1;transform:none}}
.hp{width:min(268px,56vw)}
.hp.l{transform:rotate(-9deg) translateY(40px);margin-right:-38px;z-index:1}
.hp.r{transform:rotate(7deg);z-index:2}
.hp .phone{width:100%;animation:float 6s ease-in-out infinite alternate}
.hp.l .phone{animation-delay:1.9s}
.hp.r .phone{animation-delay:1.5s}
@keyframes float{from{transform:translateY(0)}to{transform:translateY(-10px)}}

/* ---------- phone frame ---------- */
.phone{width:min(290px,80vw);border-radius:40px;border:10px solid var(--ink);box-shadow:0 24px 60px rgba(15,29,22,.18);overflow:hidden;background:#000;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.phone img{width:100%}
.phone.small{width:min(250px,72vw)}
section.feature .phone:hover{transform:translateY(-8px) rotate(-1.2deg);box-shadow:0 34px 70px rgba(15,29,22,.22)}

/* ---------- trust section ---------- */
.trust{background:linear-gradient(135deg,#EFF6EF,#FAF5E9);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:72px 30px;text-align:center;margin:36px 0 64px}
.trust h2{font-size:1.5rem;letter-spacing:-.01em;margin-bottom:34px;color:var(--forest-deep)}
.trust-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pill{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s}
.pill:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(4,97,60,.10);border-color:var(--mint-strong)}
.pill-icon{width:46px;height:46px;border-radius:14px;background:var(--mint);display:grid;place-items:center;margin-bottom:4px}
.pill-icon svg{width:24px;height:24px;stroke:var(--forest)}
.pill strong{font-size:1.02rem;color:var(--ink)}
.pill>span:not(.pill-icon){font-size:.88rem;color:var(--muted);line-height:1.45}

/* ---------- features ---------- */
section.feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:52px 0;border-top:1px solid var(--line)}
#features + section.feature{border-top:none;padding-top:8px}
section.feature .txt h2{font-size:1.75rem;letter-spacing:-.01em;margin-bottom:12px}
section.feature .txt p{color:var(--muted);max-width:30rem}
section.feature ul{margin:14px 0 0 0;list-style:none}
section.feature li{padding-left:28px;position:relative;margin-bottom:8px;color:var(--ink)}
section.feature li::before{content:"✓";position:absolute;left:0;top:0;color:var(--forest);font-weight:700}
section.feature .art{justify-self:center}
section.feature.alt .art{order:-1}
.ill{max-width:420px;border-radius:var(--radius);transition:transform .6s var(--ease)}
.ill:hover{transform:scale(1.03) rotate(.6deg)}
.duo{display:flex;gap:18px}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);background:var(--mint);border-radius:999px;padding:3px 12px;margin-bottom:10px}

/* ---------- scroll reveal (added by script.js) ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.from-left{transform:translateX(-36px)}
.reveal.from-right{transform:translateX(36px)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

/* ---------- faq ---------- */
.faq{padding:48px 0;border-top:1px solid var(--line)}
.faq h2{font-size:1.75rem;margin-bottom:18px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:10px;transition:border-color .3s,box-shadow .3s}
.faq details:hover{border-color:var(--mint-strong)}
.faq details[open]{box-shadow:0 10px 26px rgba(15,29,22,.07)}
.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--forest);transition:transform .35s var(--ease);line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:8px;color:var(--muted);animation:fadeIn .45s var(--ease)}
@keyframes fadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);margin-top:40px;padding:30px 0 42px;font-size:.9rem;color:var(--muted)}
footer .cols{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
footer a{color:var(--muted);transition:color .25s}
footer a:hover{color:var(--forest)}

/* ---------- legal pages ---------- */
.legal{max-width:760px;margin:0 auto;padding:48px 20px}
.legal h1{font-size:2rem;margin-bottom:6px}
.legal .updated{color:var(--muted);font-size:.9rem;margin-bottom:26px}
.legal h2{font-size:1.25rem;margin:28px 0 8px}
.legal p,.legal li{color:#2A3830;font-size:.98rem}
.legal ul{margin:8px 0 8px 22px}
.legal .placeholder{background:#FFF3CD;border-radius:6px;padding:0 6px}
.notice{background:var(--mint);border:1px solid var(--mint-strong);border-radius:14px;padding:12px 16px;margin:18px 0;font-size:.92rem}

/* ---------- responsive ---------- */
@media(max-width:820px){
  section.feature{grid-template-columns:1fr;gap:26px;text-align:center;padding:40px 0}
  section.feature .txt p,section.feature ul{margin-inline:auto;text-align:left}
  section.feature.alt .art{order:0}
  .duo{justify-content:center}
  .trust{padding:52px 22px}
  .trust-pills{grid-template-columns:1fr}
  .hp.l{margin-right:-26px}
}
@media(max-width:560px){
  .nav{gap:12px}
  .nav .links{gap:12px}
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero .copy>*,.hero-phones{opacity:1;transform:none}
  .hp.l{transform:rotate(-9deg) translateY(40px)}
  .hp.r{transform:rotate(7deg)}
  .reveal{opacity:1;transform:none}
}
