:root{--bg:#F5FAF9;--card:#fff;--primary:#23806E;--primary-dark:#1B6656;--btn:#2F9A82;--tint:#E1F3EE;--text:#23262B;--muted:#6E6A66;--border:#E1ECE9;--g1:#41A489;--g2:#4A9FD8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary)}
a:hover{color:var(--primary-dark)}
:focus-visible{outline:3px solid var(--g2);outline-offset:2px;border-radius:6px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.top{background:rgba(255,255,255,.85);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--text);text-decoration:none}
.brand img{border-radius:9px}
.navlink{font-weight:600;text-decoration:none}
.hero{background:linear-gradient(135deg,#E3F4EF 0%,#E2EFFA 100%);padding:48px 0 56px}
.hero-grid{display:grid;gap:36px;align-items:center}
h1{font-size:clamp(32px,6vw,52px);line-height:1.12;margin:0 0 16px;letter-spacing:-.02em;color:var(--primary-dark)}
.lead{font-size:19px;color:#3d4148;margin:0 0 24px;max-width:36em}
.lead-emphasis{font-size:19px;color:var(--primary-dark);margin:-8px 0 24px;font-weight:700}
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.badge{display:inline-block;background-color:var(--g1);background-image:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font-weight:700;padding:12px 18px;border-radius:999px;text-decoration:none;border:0;box-shadow:none}
a.badge,a.badge:link,a.badge:visited,a.badge:hover,a.badge:active,a.badge:focus{color:#fff;background-color:var(--g1);background-image:linear-gradient(135deg,var(--g1),var(--g2));border:0;box-shadow:none;text-decoration:none}
.btn{display:inline-block;background:#fff;color:var(--primary-dark);border:2px solid var(--btn);font-weight:700;padding:10px 18px;border-radius:999px;text-decoration:none}
.btn:hover{background:var(--tint)}
.btn-play{background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;border:2px solid transparent}
.btn-play:hover{background:linear-gradient(135deg,var(--primary),var(--g2));color:#fff}
.btn-secondary{background:#fff}

.small{color:var(--muted);font-size:15px;margin-top:18px}
.hero-shot img{width:min(300px,75vw);margin:0 auto;border-radius:24px;box-shadow:0 20px 50px rgba(35,128,110,.22)}
h2{font-size:clamp(26px,4vw,34px);margin:0 0 20px;color:var(--primary-dark);letter-spacing:-.01em}
.features{padding:56px 20px 24px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px}
.card h3{margin:0 0 6px;font-size:18px;color:var(--primary)}
.card p{margin:0;color:#4a4e55}
.shots{padding:32px 0}
.shot-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shot-row figure{margin:0}
.shot-row img{border-radius:18px;border:1px solid var(--border)}
figcaption{text-align:center;color:var(--muted);font-size:15px;margin-top:8px}
.android{padding:32px 20px}
.android p{max-width:40em}
.note{padding:8px 20px 40px}
.note p{background:var(--tint);border-radius:14px;padding:16px 18px;color:#3d4148;font-size:15px;margin:0}
.foot{border-top:1px solid var(--border);background:#fff;padding:22px 0;font-size:15px;color:var(--muted)}
.foot-row{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:18px}
@media (min-width:820px){.hero-grid{grid-template-columns:1.2fr .8fr}.hero{padding:72px 0 80px}}
@media (max-width:640px){.shot-row{grid-template-columns:repeat(3,70%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.shot-row figure{scroll-snap-align:start}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.notfound{padding:80px 20px;text-align:center}.notfound .lead{margin:0 auto 24px}

/* Early access (Oct 14 2026) */
.navlinks{display:flex;align-items:center;gap:16px}
.btn-nav{padding:7px 14px;font-size:15px}
.early{padding:24px 20px 40px;scroll-margin-top:72px}
.ea-card{background:linear-gradient(135deg,#E3F4EF 0%,#E2EFFA 100%);border:1px solid var(--border);border-radius:22px;padding:28px 22px;max-width:640px;margin:0 auto}
.ea-card h2{margin-bottom:8px}
.ea-intro{margin:0 0 20px;color:#3d4148}
.ea-form{display:grid;gap:18px}
.field{margin:0;padding:0;border:0;min-width:0}
.field>label,.field legend{display:block;font-weight:700;margin-bottom:8px;padding:0;color:var(--text)}
.ea-form input[type=email]{width:100%;font:inherit;padding:12px 14px;border:2px solid var(--border);border-radius:12px;background:#fff;color:var(--text)}
.ea-form input[type=email]:focus{border-color:var(--g2);outline:none}
.choices{display:flex;flex-wrap:wrap;gap:10px}
.choices.stack{flex-direction:column}
.choice{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--border);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600;min-height:48px}
.choice:has(input:checked){border-color:var(--btn);background:var(--tint)}
.choice input,.consent input{width:20px;height:20px;accent-color:var(--btn);margin:0;flex:none}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#3d4148;cursor:pointer}
.consent input{margin-top:3px}
.ea-submit{font-size:17px;padding:13px 22px;cursor:pointer;justify-self:start}
.ea-submit[disabled]{opacity:.6;cursor:wait}
.err{color:#B3261E;font-size:14px;font-weight:600;margin:6px 0 0}
.invalid input[type=email],.invalid .choice{border-color:#B3261E}
.form-msg{margin:0;font-weight:600;color:#B3261E}
.ea-done{background:#fff;border:2px solid var(--btn);border-radius:16px;padding:18px;font-size:18px;font-weight:700;color:var(--primary-dark)}
.ea-done:focus{outline:none}
.ea-alt{margin-bottom:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:640px){.ea-submit{width:100%;justify-self:stretch}.ea-card{padding:22px 16px}}
@media (max-width:400px){.navlink{display:none}}

/* Cookie banner (Oct 14 2026) */
.cookie-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:20;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--border);border-top:4px solid var(--btn);border-radius:18px;padding:16px 18px;box-shadow:0 12px 36px rgba(35,128,110,.22);font-size:15px;color:#3d4148}
.cookie-banner p{margin:0 0 12px}
.cookie-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.cookie-actions .btn{font:inherit;font-weight:700;padding:9px 20px;cursor:pointer}
.cookie-settings{cursor:pointer}
@media (max-width:480px){.cookie-actions .btn{flex:1}}

/* Legal pages on calmtalk.app (Oct 15 2026) */
.legal{padding:32px 20px 56px}
.legal-doc{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:22px;padding:32px 28px 40px;overflow-wrap:anywhere}
.legal-doc h1{font-size:clamp(28px,5vw,40px);margin:0 0 8px}
.legal-doc h2{font-size:1.3rem;margin:2em 0 .6em;padding-top:1em;border-top:1px solid var(--border);scroll-margin-top:76px}
.legal-doc h3{font-size:1.08rem;margin:1.5em 0 .4em;color:var(--primary)}
.legal-doc table{border-collapse:collapse;width:100%;font-size:.93rem;display:block;overflow-x:auto}
.legal-doc th,.legal-doc td{border:1px solid #d6e7e2;padding:8px 10px;text-align:left;vertical-align:top}
.legal-doc th{background:#eef7f4}
.legal-doc .button{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;padding:12px 20px;border-radius:10px;font-weight:600}
.legal-foot{margin-top:3em;font-size:.85rem;color:var(--muted)}
@media (max-width:640px){.legal{padding:16px 10px 40px}.legal-doc{padding:22px 16px 30px;border-radius:16px}}

/* Promo video (Oct 15 2026) */
.promo{padding:48px 20px 8px;text-align:center}
.promo h2{margin-bottom:18px}
.promo-frame{max-width:960px;margin:0 auto;border-radius:22px;overflow:hidden;border:1px solid var(--border);background:#E3F4EF;box-shadow:0 20px 50px rgba(35,128,110,.18)}
.promo-video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#E3F4EF}
@media (max-width:640px){.promo{padding:36px 16px 4px}.promo-frame{max-width:min(100%,calc(78vh * 9 / 16));border-radius:18px}.promo-video{aspect-ratio:9/16}}

/* ea8: who it's for, free note, tags */
.who { padding-top: 8px; padding-bottom: 8px; }
.who-list { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .who-list { grid-template-columns: 1fr 1fr; } }
.who-list li { background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: 12px 14px; line-height: 1.45; }
.free-note { margin-top: 10px; font-size: .92em; font-weight: 600; }
.tag { display: inline-block; font-size: .62em; font-weight: 600; vertical-align: middle; padding: 2px 8px; border-radius: 999px; background: rgba(0,0,0,.07); margin-left: 4px; }
