:root{
  --cream:#FBF3E9;
  --cream-deep:#F6EADC;
  --green:#2E4034;
  --green-soft:#3F5A49;
  --green-pale:#E3EBDD;
  --green-pale-2:#D6E2CD;
  --terra:#E0A074;
  --terra-deep:#C9824F;
  --peach:#F8DFC9;
  --ink:#34403A;
  --muted:#6B7770;
  --white:#FFFDFA;
  --radius:22px;
  --shadow:0 18px 50px -22px rgba(46,64,52,.45);
  --shadow-sm:0 8px 24px -14px rgba(46,64,52,.4);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.12;color:var(--green);letter-spacing:-.01em}
.accent{color:var(--terra-deep)}
.em{font-style:italic;font-weight:500}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

.bg-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:0;pointer-events:none}

.logo{display:flex;align-items:center;gap:11px;min-width:0}
.logo-mark{width:44px;height:44px;flex-shrink:0;object-fit:contain}
.logo-text{display:flex;flex-direction:column;line-height:1;min-width:0}
.logo-name{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.5rem;color:var(--green);letter-spacing:.01em}
.logo-tag{font-size:.62rem;color:var(--terra-deep);letter-spacing:.02em;margin-top:2px;font-weight:500}

header.site-header{position:sticky;top:0;z-index:50;background:rgba(251,243,233,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(46,64,52,.07)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:12px;flex-wrap:nowrap}
.nav-links{display:flex;align-items:center;gap:34px;flex-shrink:0}
.nav-links a{font-size:.95rem;color:var(--green);font-weight:500;transition:color .2s}
.nav-links a:not(.btn):hover,.nav-links a:not(.btn):focus-visible{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.nav-links a.btn{color:var(--cream);background:var(--green)}
.nav-links a.btn:hover,.nav-links a.btn:focus-visible{
  color:var(--cream);background:var(--green-soft);text-decoration:none;
}
.nav-end{display:flex;align-items:center;gap:10px;flex-shrink:0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--green);color:var(--cream);
  padding:13px 26px;border-radius:100px;font-weight:600;font-size:.95rem;
  border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;
  font-family:'Nunito',sans-serif;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);background:var(--green-soft)}
.btn:focus-visible{
  outline:3px solid var(--green);
  outline-offset:3px;
  background:var(--green);
  color:var(--cream);
}
.nav .btn{padding:11px 22px;white-space:nowrap}

.lang-desktop{display:flex;align-items:center;gap:2px;list-style:none}
.lang-desktop li{display:flex;align-items:center}
.lang-desktop li+li::before{content:"·";color:var(--muted);margin:0 4px;font-weight:700}
.lang-desktop a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 6px;font-size:.82rem;font-weight:700;letter-spacing:.04em;
  color:var(--green);
}
.lang-desktop a[aria-current="page"]{text-decoration:underline;text-underline-offset:3px;font-weight:800}
.lang-desktop a:hover,.lang-desktop a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.lang-mobile{display:none;position:relative}
.lang-mobile summary{
  list-style:none;cursor:pointer;
  min-width:44px;min-height:44px;padding:0 8px;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.82rem;letter-spacing:.04em;color:var(--green);
  border-radius:10px;
}
.lang-mobile summary::-webkit-details-marker{display:none}
.lang-mobile summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.lang-mobile ul{
  position:absolute;right:0;top:calc(100% + 6px);
  background:var(--white);border-radius:14px;padding:8px;
  box-shadow:var(--shadow-sm);border:1px solid rgba(46,64,52,.08);
  min-width:180px;list-style:none;z-index:60;
}
.lang-mobile a{
  display:flex;align-items:center;min-height:44px;padding:0 12px;
  color:var(--green);font-weight:600;border-radius:10px;
}
.lang-mobile a[aria-current="page"]{background:var(--green-pale);font-weight:800}
.lang-mobile a:hover,.lang-mobile a:focus-visible{background:var(--cream-deep)}

.lang-hint{
  background:var(--green-pale);
  color:var(--green);
  font-size:.85rem;
  padding:6px 12px 6px 16px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.lang-hint[hidden]{display:none !important}
.lang-hint p{margin:0;flex:1;min-width:0}
.lang-hint a{font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.lang-hint-dismiss{
  min-width:44px;min-height:44px;border:none;background:transparent;
  color:var(--green);font-size:1.3rem;cursor:pointer;border-radius:8px;flex-shrink:0;
}
.lang-hint-dismiss:focus-visible{outline:3px solid var(--green);outline-offset:2px}

@media(max-width:780px){
  .nav-links{display:none}
  .lang-desktop{display:none}
  .lang-mobile{display:block}
  .nav-end{gap:6px}
}
@media(max-width:520px){
  .logo-tag{display:none}
  .nav .btn{padding:10px 12px;font-size:.82rem}
  .wrap{padding:0 16px}
  .logo-name{font-size:1.28rem}
}

html.is-ios .store-android{display:none !important}
html.is-android .store-ios{display:none !important}
.store-alt{display:none;margin-top:10px;font-size:.92rem;font-weight:600}
.store-alt a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
html.is-ios .store-alt-android{display:block}
html.is-android .store-alt-ios{display:block}

.hero{position:relative;padding:70px 0 90px;overflow:hidden}
.hero .blob1{width:520px;height:520px;background:var(--green-pale);top:-160px;right:-120px}
.hero .blob2{width:380px;height:380px;background:var(--peach);bottom:-140px;left:-100px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--green-pale);color:var(--green);padding:7px 16px;border-radius:100px;font-size:.82rem;font-weight:600;margin-bottom:24px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--terra-deep)}
.hero h1{font-size:clamp(2.4rem,5.2vw,3.7rem);margin-bottom:22px}
.hero h1 .accent{white-space:nowrap}
.hero p.lead{font-size:1.16rem;color:var(--green-soft);max-width:520px;margin-bottom:34px}

.store-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.store-badges a{display:inline-flex;align-items:center;line-height:0;border-radius:8px}
.store-badges a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.store-badges .badge-apple{height:40px;width:auto}
.store-badges .badge-google{height:58px;width:auto;margin-left:-8px}
.trust-pills{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}
.trust-pills span{font-size:.9rem;color:var(--green-soft);font-weight:500;display:flex;align-items:center;gap:7px}
.trust-pills svg{width:17px;height:17px;color:var(--terra-deep)}

.phone-stage{position:relative;display:flex;justify-content:center;align-items:center;min-width:0}
.hero-mock{
  width:min(360px,100%);
  height:auto;
  border-radius:28px;
  box-shadow:var(--shadow);
  display:block;
}

@media(max-width:880px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero{padding:48px 0 70px}
  .hero-mock{width:min(280px,100%)}
}

section{position:relative}
.section-pad{padding:90px 0}
.sec-label{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra-deep);margin-bottom:14px}
.sec-h{font-size:clamp(1.9rem,4vw,2.7rem);max-width:680px;margin-bottom:18px}
.sec-intro{font-size:1.1rem;color:var(--green-soft);max-width:640px;margin-bottom:50px}

.why{background:var(--cream-deep)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card{background:var(--white);border-radius:18px;padding:26px 22px;border:1px solid rgba(46,64,52,.06);transition:transform .3s,box-shadow .3s}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}
.why-card .ic{width:48px;height:48px;border-radius:14px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.why-card h3{font-size:1.12rem;margin-bottom:8px}
.why-card p{font-size:.92rem;color:var(--muted)}
@media(max-width:880px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr}}

.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.feat{background:var(--white);border-radius:18px;padding:24px;border:1px solid rgba(46,64,52,.06);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.feat:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.feat .ic{width:46px;height:46px;border-radius:13px;background:var(--green-pale);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.feat:nth-child(3n) .ic{background:var(--peach)}
.feat h3{font-size:1.05rem;margin-bottom:6px}
.feat p{font-size:.88rem;color:var(--muted)}
.disclaimer{margin-top:34px;background:var(--green-pale);border-radius:14px;padding:16px 20px;font-size:.9rem;color:var(--green-soft);display:flex;gap:10px;align-items:flex-start}
.disclaimer svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--terra-deep)}

.trust{background:var(--white)}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.trust-card{background:var(--cream);border-radius:18px;padding:32px 28px;border:1px solid rgba(46,64,52,.06)}
.trust-card h3{font-size:1.35rem;margin-bottom:12px}
.trust-card p{font-size:1.02rem;color:var(--green-soft)}
@media(max-width:720px){.trust-grid{grid-template-columns:1fr}}

.pricing{background:var(--cream-deep)}
.price-box{background:var(--white);border-radius:22px;padding:36px 32px;border:1px solid rgba(46,64,52,.06);max-width:720px}
.price-box h3{font-size:1.4rem;margin-bottom:12px}
.price-box p{color:var(--green-soft);margin-bottom:10px}
.price-list{margin:16px 0 8px;padding-left:20px;color:var(--ink)}
.price-list li{margin-bottom:6px}
.premium-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.premium-col{background:var(--white);border-radius:18px;padding:28px 24px;border:1px solid rgba(46,64,52,.06);min-width:0}
.premium-col h3{font-size:1.28rem;margin-bottom:14px}
.premium-col ul{margin:0;padding-left:20px}
.premium-col li{margin-bottom:8px;color:var(--ink);font-size:.98rem}
.premium-faq{max-width:720px;margin-top:28px;display:grid;gap:14px}
.premium-faq details{background:var(--white);border-radius:14px;padding:16px 20px;border:1px solid rgba(46,64,52,.06)}
.premium-faq summary{cursor:pointer;font-weight:700;color:var(--green);font-size:1.02rem}
.premium-faq details p{margin-top:10px;color:var(--green-soft);font-size:.96rem}
@media(max-width:720px){.premium-cols{grid-template-columns:1fr}}
.glyph{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.glyph svg{width:20px;height:20px;stroke:#2C4A3E;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.feat .glyph svg,.why-card .glyph svg{width:24px;height:24px}

.story{background:var(--green);color:var(--cream);overflow:hidden;position:relative}
.story .blob{width:460px;height:460px;background:rgba(224,160,116,.22);top:-120px;right:-120px}
.story-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center}
.story-photo{aspect-ratio:1;border-radius:24px;background:linear-gradient(150deg,var(--terra) 0%,var(--terra-deep) 100%);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.story-photo .ph-note{text-align:center;color:#fff;opacity:.92;padding:24px;font-size:.9rem}
.story-photo .ph-note .big{font-family:'DM Serif Display',Georgia,serif;font-size:3rem;display:block;margin-bottom:8px}
.story h2{color:var(--cream)}
.story .sec-label{color:var(--terra)}
.story p{color:rgba(251,243,233,.86);font-size:1.06rem;margin-top:18px}
.story .sig{margin-top:24px;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:1.15rem;color:var(--cream)}
@media(max-width:780px){.story-grid{grid-template-columns:1fr;gap:34px}.story-photo{max-width:260px}}

.download{background:var(--cream-deep);position:relative;overflow:hidden}
.download .blob{width:420px;height:420px;background:var(--green-pale);bottom:-160px;left:-100px}
.dl-card{position:relative;z-index:2;background:var(--white);border-radius:28px;padding:54px;box-shadow:var(--shadow);max-width:680px;margin:0 auto;text-align:center;border:1px solid rgba(46,64,52,.06)}
.dl-card h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:14px}
.dl-card p.lead{font-size:1.08rem;color:var(--green-soft);margin-bottom:28px}
.dl-card .store-badges{justify-content:center}
.dl-card .store-alt{text-align:center}
@media(max-width:560px){.dl-card{padding:36px 24px}}

footer.site-footer{background:var(--green);color:rgba(251,243,233,.72);padding:54px 0 34px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:28px;padding-bottom:30px;border-bottom:1px solid rgba(251,243,233,.14)}
footer .logo-name{color:var(--cream)}
footer .foot-links{display:flex;gap:26px;flex-wrap:wrap}
footer .foot-links a{color:var(--cream);font-size:.92rem;transition:color .2s}
footer .foot-links a:hover,footer .foot-links a:focus-visible{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.foot-bottom{padding-top:24px;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer .foot-bottom a{color:var(--cream)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
