/* ============ Andaa marketing site — tokens ============ */
:root{
  --purple:#5B4FD9; --purple-lift:#8B7EF5; --purple-050:#EFEDFB; --purple-100:#DEDAF7;
  --paper:#FAF9F6; --ink:#1A1A1F; --dark:#0D0D10;
  --sun:#FFD23F; --coral:#FF6B5B; --sage:#2E7D5B;
  --bg:var(--paper); --bg-2:#FFFFFF; --tx:var(--ink); --tx-2:#5A5866; --line:#E7E4DC;
  --brand:var(--purple); --card-sh:0 10px 30px rgba(26,26,31,.07);
  --font-h:'DM Sans',system-ui,sans-serif; --font-b:'DM Sans',system-ui,sans-serif; --font-m:'IBM Plex Mono',monospace;
  --r:18px; --r-lg:28px; --pad:clamp(20px,5vw,64px);
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.34,1.56,.5,1);
}
[data-theme="dark"]{
  --bg:var(--dark); --bg-2:#17171D; --tx:#F2F1F7; --tx-2:#A5A3B4; --line:#2A2A33;
  --brand:var(--purple-lift); --purple-050:#1D1B2E; --purple-100:#262343;
  --card-sh:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);font-family:var(--font-b);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--purple-lift)}
h1,h2,h3{font-family:var(--font-h);font-weight:700;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
h2{font-size:clamp(30px,4.4vw,52px)}
h3{font-size:22px}
p{text-wrap:pretty}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--font-m);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:500;margin-bottom:14px}
.sub{color:var(--tx-2);font-size:clamp(17px,1.6vw,20px);max-width:54ch}
section{padding:clamp(64px,9vw,120px) 0;position:relative}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
/* ============ buttons / badges ============ */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-h);font-weight:700;font-size:16.5px;padding:15px 26px;border-radius:999px;border:none;cursor:pointer;transition:transform .15s var(--spring),box-shadow .2s;will-change:transform}
.btn:active{transform:scale(.96)}
.btn-p{background:var(--brand);color:#fff;box-shadow:0 6px 20px rgba(91,79,217,.35)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(91,79,217,.45);color:#fff}
.btn-g{background:transparent;color:var(--tx);border:1.5px solid var(--line)}
.btn-g:hover{border-color:var(--brand);color:var(--brand)}
.storebadge{display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:#fff;border-radius:14px;padding:11px 22px 11px 16px;transition:transform .15s var(--spring)}
[data-theme="dark"] .storebadge{background:#fff;color:var(--dark)}
.storebadge:hover{transform:translateY(-2px);color:#fff}
[data-theme="dark"] .storebadge:hover{color:var(--dark)}
.storebadge small{display:block;font-size:10.5px;opacity:.75;font-weight:400;letter-spacing:.02em}
.storebadge b{font-size:17px;font-family:var(--font-h);line-height:1.1}
.storebadge.soon{opacity:.55;cursor:default;position:relative}
.storebadge.soon:hover{transform:none}
.soon-tag{position:absolute;top:-9px;right:-8px;background:var(--sun);color:var(--ink);font-family:var(--font-m);font-size:9.5px;font-weight:600;letter-spacing:.06em;padding:3px 8px;border-radius:999px;opacity:1}
/* ============ nav ============ */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.nav-in{display:flex;align-items:center;gap:22px;height:64px}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--font-h);font-weight:700;font-size:21px;color:var(--tx);letter-spacing:-.02em}
.logo svg{width:30px;height:30px}
.nav-links{display:flex;gap:24px;margin-left:auto;font-size:15px;font-weight:500}
.nav-links a{color:var(--tx-2)}
.nav-links a:hover{color:var(--brand)}
.nav .btn{padding:9px 18px;font-size:14.5px}
.themetog,.langtog{height:38px;border-radius:999px;border:1.5px solid var(--line);background:none;color:var(--tx-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:color .2s,border-color .2s}
.themetog{width:38px}
.langtog{padding:0 14px;font-family:var(--font-m);font-size:12.5px;font-weight:500;letter-spacing:.06em}
.themetog:hover,.langtog:hover{color:var(--brand);border-color:var(--brand)}
/* ============ hero ============ */
.hero{overflow:hidden;padding:clamp(48px,7vw,96px) 0 clamp(56px,7vw,100px)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 70% 0%,var(--sky-tint,#EFEDFB) 0%,transparent 60%);pointer-events:none;transition:background 1s}
.hero.t-morning{--sky-tint:#FFF3D6}.hero.t-afternoon{--sky-tint:#EFEDFB}.hero.t-evening{--sky-tint:#E4E0F7}
[data-theme="dark"] .hero.t-morning{--sky-tint:#2A2418}[data-theme="dark"] .hero.t-afternoon{--sky-tint:#1D1B2E}[data-theme="dark"] .hero.t-evening{--sky-tint:#221E38}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;position:relative}
.hero h1{font-size:clamp(40px,5.6vw,72px);margin:10px 0 18px}
.hero h1 em{font-style:normal;color:var(--brand);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:.28em;background:var(--sun);opacity:.45;border-radius:4px;z-index:-1}
.greet{font-family:var(--font-m);font-size:14px;color:var(--tx-2)}
.greet b{color:var(--brand);font-weight:500}
.hero-cta{display:flex;gap:14px;align-items:center;margin-top:30px;flex-wrap:wrap}
.hero-note{font-size:13.5px;color:var(--tx-2);margin-top:14px}
/* launch waitlist — the site's only working call to action until the app ships */
.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}
.waitlist{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;max-width:460px}
.waitlist input{flex:1 1 220px;min-width:0;padding:13px 15px;font:inherit;font-size:15px;
  color:var(--tx);background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px}
.waitlist input::placeholder{color:var(--tx-2)}
.waitlist input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,79,217,.15)}
.waitlist button{padding:13px 20px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;
  color:#fff;background:var(--brand);border:0;border-radius:12px;box-shadow:0 6px 20px rgba(91,79,217,.35)}
.waitlist button:disabled{opacity:.55;cursor:default;box-shadow:none}
.waitlist.done{display:none}
#wl-note.ok{color:var(--brand);font-weight:600}
/* ============ hero today card ============ */
.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--card-sh);padding:22px;position:relative}
.today{min-height:440px;display:flex;flex-direction:column;gap:10px}
.today-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.today-head .tt{font-family:var(--font-h);font-weight:700;font-size:16.5px}
.today-head .td{font-family:var(--font-m);font-size:12px;color:var(--tx-2)}
.today-count{margin-left:auto;font-family:var(--font-m);font-size:13px;color:var(--brand);font-weight:500;background:var(--purple-050);padding:6px 13px;border-radius:999px}
.pbar{height:6px;border-radius:999px;background:var(--purple-050);overflow:hidden;margin-bottom:6px}
.pbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--purple-lift),var(--purple));border-radius:999px;transition:width .6s var(--ease)}
.task{display:flex;align-items:center;gap:13px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 15px;transition:opacity .4s,transform .45s var(--spring)}
.task .cbx{width:24px;height:24px;border-radius:50%;border:2px solid var(--purple-100);flex:none;display:grid;place-items:center;color:transparent;font-size:12px;transition:background .3s,border-color .3s,transform .35s var(--spring)}
.task .tm{font-family:var(--font-m);font-size:12.5px;color:var(--brand);font-weight:500;flex:none;width:46px}
.task .lb{font-size:15px;font-weight:500;transition:color .3s}
.task.done .cbx{background:var(--sage);border-color:var(--sage);color:#fff;transform:scale(1.12)}
.task.done .lb{color:var(--tx-2);text-decoration:line-through}
.task.done{opacity:.72}
.praise{margin-top:auto;background:linear-gradient(135deg,var(--purple-lift),var(--purple));color:#fff;border-radius:16px;padding:16px 18px;display:flex;gap:13px;align-items:center;opacity:0;transform:translateY(16px) scale(.95);transition:opacity .4s,transform .55s var(--spring)}
.praise.on{opacity:1;transform:none}
.praise .pe{font-size:26px;flex:none}
.praise b{font-family:var(--font-h);font-size:15.5px;display:block}
.praise span{font-size:13px;color:#E2DEFF}
/* hero mascot */
.mascot-hero{position:absolute;right:-14px;bottom:-20px;width:clamp(90px,10vw,130px);filter:drop-shadow(0 12px 22px rgba(26,26,31,.18));z-index:2}
.m-eye{transform-origin:center;animation:mblink 4.5s infinite}
@keyframes mblink{0%,94%,100%{transform:scaleY(1)}96%,98%{transform:scaleY(.08)}}
.m-arm{transform-origin:96px 250px}
.mascot-hero.wave .m-arm,.mascot-side.wave .m-arm{animation:mwave 1.6s ease-in-out}
@keyframes mwave{0%,100%{transform:rotate(0)}25%{transform:rotate(-26deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-20deg)}}
.mascot-hero.nod{animation:mnod .9s ease-in-out}
@keyframes mnod{0%,100%{transform:rotate(0)}30%{transform:rotate(-5deg) translateY(4px)}65%{transform:rotate(3deg)}}
/* ============ chat demo section ============ */
.chat-sec{background:var(--purple-050)}
.chat-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center}
.demo{min-height:430px;display:flex;flex-direction:column;gap:14px}
.demo-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.demo-head .st{font-size:12.5px;color:var(--sage);font-weight:600}
.demo-head b{font-family:var(--font-h);font-size:16px}
.bub{max-width:88%;padding:12px 16px;border-radius:18px;font-size:15.5px;line-height:1.45;opacity:0;transform:translateY(12px) scale(.97);transition:opacity .35s var(--ease),transform .45s var(--spring)}
.bub.on{opacity:1;transform:none}
.bub-u{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:6px}
.bub-a{align-self:flex-start;background:var(--purple-050);border-bottom-left-radius:6px}
.chat-sec .bub-a{background:var(--bg)}
.bub-u .cursor{display:inline-block;width:2px;height:1em;background:#fff;vertical-align:-2px;margin-left:1px;animation:blinkc 1s steps(1) infinite}
@keyframes blinkc{50%{opacity:0}}
.mic{display:inline-flex;align-items:center;gap:8px}
.mic i{width:3px;border-radius:2px;background:#fff;animation:mic .9s ease-in-out infinite}
.mic i:nth-child(2){animation-delay:.15s}.mic i:nth-child(3){animation-delay:.3s}.mic i:nth-child(4){animation-delay:.45s}
@keyframes mic{0%,100%{height:6px}50%{height:16px}}
.typing{display:inline-flex;gap:4px;align-items:center}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--brand);opacity:.4;animation:tp 1s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}
@keyframes tp{40%{opacity:1;transform:translateY(-3px)}}
.rem-card{align-self:stretch;background:var(--bg-2);border:1.5px solid var(--brand);border-radius:16px;padding:14px 16px;display:flex;gap:13px;align-items:center;opacity:0;transform:translateY(16px) scale(.95);transition:opacity .35s,transform .55s var(--spring);box-shadow:0 8px 24px rgba(91,79,217,.16)}
.rem-card.on{opacity:1;transform:none}
.rem-ic{width:42px;height:42px;border-radius:12px;background:var(--purple-050);display:grid;place-items:center;font-size:19px;flex:none}
.rem-t{font-weight:700;font-family:var(--font-h);font-size:15.5px}
.rem-d{font-size:13px;color:var(--tx-2)}
.rem-d b{font-family:var(--font-m);font-weight:500;color:var(--brand)}
.rem-chk{margin-left:auto;width:24px;height:24px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-size:12px;flex:none}
.demo-foot{margin-top:auto;display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:14px;color:var(--tx-2)}
.demo-foot svg{margin-left:auto;flex:none}
/* ============ how it works ============ */
.beats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.beat{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--card-sh);transition:transform .25s var(--ease)}
.beat:hover{transform:translateY(-5px)}
.beat .n{font-family:var(--font-m);font-size:13px;color:var(--brand);letter-spacing:.1em}
.beat h3{margin:10px 0 8px}
.beat p{color:var(--tx-2);font-size:15.5px}
.beat .art{height:120px;margin:-6px -8px 14px;display:grid;place-items:center}
.inputs-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;background:var(--purple-050);color:var(--brand)}
/* ============ family ============ */
.fam-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.snap{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--card-sh);padding:20px;position:relative}
.snap .photo{background:repeating-linear-gradient(0deg,var(--purple-050) 0 34px,var(--bg) 34px 36px);border:1.5px dashed var(--purple-100);border-radius:14px;height:150px;display:grid;place-items:center;color:var(--tx-2);font-size:13.5px;font-family:var(--font-m);transform:rotate(-2deg)}
.snap .arrow{text-align:center;font-size:22px;color:var(--brand);margin:8px 0}
.snap-items{display:flex;flex-direction:column;gap:9px}
.snap-item{display:flex;align-items:center;gap:11px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:14.5px;opacity:0;transform:translateX(-14px);transition:opacity .4s,transform .5s var(--spring)}
.snap-item.in{opacity:1;transform:none}
.snap-item b{font-family:var(--font-m);font-weight:500;font-size:13px;color:var(--brand);flex:none}
.fam-points{display:flex;flex-direction:column;gap:18px;margin-top:30px;padding:0}
.fam-points li{list-style:none;display:flex;gap:14px;align-items:flex-start;font-size:16.5px}
.fam-points .dot{width:26px;height:26px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-items:center;font-size:13px;flex:none;margin-top:2px}
/* ============ day timeline + mock screens ============ */
.tl{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.tl-time{font-family:var(--font-m);font-size:13.5px;color:var(--brand);margin-bottom:10px;font-weight:500}
.tl-phone{border-radius:34px;background:var(--ink);padding:9px;box-shadow:var(--card-sh)}
[data-theme="dark"] .tl-phone{background:#2A2A33}
.tl-phone .scrn{border-radius:26px;overflow:hidden;aspect-ratio:9/16.5;background:#F6F4FE;color:#1A1A1F;padding:18px 15px;display:flex;flex-direction:column;gap:10px;font-size:12.5px}
.tl-cap{margin-top:14px;font-size:15px;color:var(--tx-2)}
.tl-cap b{color:var(--tx)}
.mk-greet{font-family:var(--font-h);font-weight:700;font-size:17px}
.mk-sub{font-size:10.5px;color:#7A7788;font-family:var(--font-m)}
.mk-brief{background:linear-gradient(135deg,#8B7EF5,#5B4FD9);color:#fff;border-radius:14px;padding:12px 13px}
.mk-brief .bt{font-family:var(--font-m);font-size:8.5px;letter-spacing:.12em;color:#D9D4FF}
.mk-brief .bx{font-family:var(--font-h);font-weight:600;font-size:12.5px;line-height:1.35;margin-top:4px}
.mk-brief .bp{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.16);border-radius:999px;padding:4px 10px;font-size:9.5px;font-weight:600;margin-top:8px}
.mk-row{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #E9E6F5;border-radius:11px;padding:9px 11px}
.mk-row>div{flex:1;min-width:0}
.mk-row .mt{font-family:var(--font-m);font-size:9.5px;color:#5B4FD9;font-weight:500;flex:none;width:34px}
.mk-row .ml{font-weight:600;font-size:11.5px;line-height:1.3}
.mk-row .md{font-size:9.5px;color:#7A7788}
.mk-row .mc{width:15px;height:15px;border-radius:50%;border:1.8px solid #DEDAF7;margin-left:auto;flex:none}
.mk-row .mc.ok{background:#2E7D5B;border-color:#2E7D5B;position:relative}
.mk-row .mc.ok::after{content:"✓";color:#fff;font-size:8.5px;position:absolute;inset:0;display:grid;place-items:center}
.mk-row.mkdone .ml{color:#9a97a8;text-decoration:line-through}
.mk-moon{background:#221E38;color:#fff;border-radius:14px;padding:13px;flex:1;display:flex;flex-direction:column;gap:7px}
.mk-moon .bt{font-family:var(--font-m);font-size:8.5px;letter-spacing:.12em;color:#B9B3E8}
.mk-moon .big{font-family:var(--font-h);font-weight:700;font-size:15px;line-height:1.3}
.mk-moon .sm{font-size:10.5px;color:#B9B3E8;line-height:1.45}
.mk-ring{width:52px;height:52px;border-radius:50%;background:conic-gradient(#FFD23F 0 100%,#3A3557 0);display:grid;place-items:center;margin:4px 0}
.mk-ring i{width:40px;height:40px;border-radius:50%;background:#221E38;display:grid;place-items:center;font-style:normal;font-family:var(--font-m);font-size:10px;color:#FFD23F}
/* ============ widget ============ */
.widget-sec .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.homescreen{background:linear-gradient(160deg,#8B7EF5,#5B4FD9);border-radius:var(--r-lg);padding:clamp(24px,3vw,44px);display:grid;place-items:center}
.widg{background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(8px);border-radius:22px;padding:18px 20px;width:min(300px,100%);box-shadow:0 18px 44px rgba(13,13,16,.3);color:var(--ink)}
.widg .wt{font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;color:#5B4FD9;font-weight:600}
.widg .we{display:flex;gap:11px;align-items:center;margin-top:10px}
.widg .we b{font-family:var(--font-m);font-weight:500;font-size:13px;color:#5B4FD9;flex:none}
.widg .we span{font-weight:600;font-size:15px}
.widg .we+.we{margin-top:8px;padding-top:8px;border-top:1px solid #eceaf5}
/* ============ bilingual strip ============ */
.bi{background:var(--ink);color:#fff;padding:clamp(40px,5vw,64px) 0;text-align:center}
[data-theme="dark"] .bi{background:var(--bg-2)}
.bi h2{font-size:clamp(24px,3.4vw,40px)}
.bi .mn{color:var(--sun)}
.bi p{color:#B9B6C9;margin-top:12px;font-size:16px}
/* ============ pricing ============ */
.plans{display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:22px;margin-top:48px;align-items:start}
.plan{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 30px;box-shadow:var(--card-sh)}
.plan.pro{border:2px solid var(--brand);position:relative}
.plan .tag{position:absolute;top:-14px;right:26px;background:var(--sun);color:var(--ink);font-family:var(--font-m);font-size:11.5px;font-weight:600;letter-spacing:.08em;padding:6px 14px;border-radius:999px}
.plan .pname{font-family:var(--font-h);font-weight:700;font-size:19px}
.plan .price{font-family:var(--font-h);font-weight:700;font-size:42px;letter-spacing:-.03em;margin:10px 0 2px}
.plan .price small{font-size:16px;color:var(--tx-2);font-weight:500}
.plan .per{font-size:13.5px;color:var(--tx-2)}
.plan ul{list-style:none;padding:0;margin:22px 0 26px;display:flex;flex-direction:column;gap:11px}
.plan li{display:flex;gap:10px;font-size:15px;align-items:flex-start}
.plan li .ck{color:var(--sage);flex:none;font-weight:700}
.plan li.dim{color:var(--tx-2)}
.plan li.dim .ck{color:var(--tx-2);opacity:.5}
.plan .btn{width:100%;justify-content:center}
.plan.vip{background:var(--ink);border-color:var(--ink);color:#F2F1F7}
[data-theme="dark"] .plan.vip{background:#221E38;border-color:#3A3557}
.plan.vip .per,.plan.vip li .ck{color:#B9B6C9}
.plan.vip .pname{color:var(--sun)}
.plan.vip .price small{color:#B9B6C9}
.plan.vip .btn{background:#fff;color:var(--ink)}
.billing-note{text-align:center;font-size:13.5px;color:var(--tx-2);margin-top:22px}
/* ============ trust ============ */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.trust .t{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;gap:14px;align-items:flex-start}
.trust .t svg{flex:none;margin-top:2px}
.trust .t b{display:block;font-family:var(--font-h);margin-bottom:3px}
.trust .t span{font-size:14.5px;color:var(--tx-2)}
/* ============ faq ============ */
.faq{max-width:760px;margin:44px auto 0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-family:var(--font-h);font-weight:700;font-size:17.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--brand);font-weight:400;transition:transform .3s var(--spring)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 4px 20px;color:var(--tx-2);font-size:15.5px;max-width:60ch}
/* ============ footer ============ */
footer{border-top:1px solid var(--line);padding:44px 0 60px;font-size:14px;color:var(--tx-2)}
.foot-in{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.foot-in .logo{font-size:17px}.foot-in .logo svg{width:24px;height:24px}
/* legal identity block — multi-line, so it must not be squeezed by the flex row */
.foot-in .legal{font-size:12.5px;line-height:1.65;color:var(--tx-2);flex:1 1 320px;min-width:280px}
.foot-links{display:flex;gap:22px;margin-left:auto;flex-wrap:wrap}
.foot-links a{color:var(--tx-2)}.foot-links a:hover{color:var(--brand)}
/* ============ team ============ */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:640px;margin:48px auto 0}
.team-grid.ai{grid-template-columns:repeat(3,1fr);max-width:880px;margin-top:22px}
.tcard{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;text-align:center;box-shadow:var(--card-sh);transition:transform .25s var(--ease)}
.tcard:hover{transform:translateY(-5px) rotate(-.5deg)}
.tcard img{width:118px;height:118px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:4px solid var(--purple-050)}
.tcard .tbot{width:96px;height:96px;margin:0 auto 14px}
.tname{font-family:var(--font-h);font-weight:700;font-size:19px}
.trole{font-family:var(--font-m);font-size:12.5px;color:var(--brand);font-weight:500;margin-top:4px;letter-spacing:.04em}
.tfun{font-size:13.5px;color:var(--tx-2);margin-top:10px;line-height:1.45}
.ai-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-m);font-size:11.5px;font-weight:500;letter-spacing:.06em;padding:7px 15px;border-radius:999px;background:var(--purple-050);color:var(--brand);margin-top:26px}
@media(max-width:640px){.team-grid,.team-grid.ai{grid-template-columns:1fr}}
/* mascot cameos */
.cameo{position:absolute;width:74px;opacity:0;transform:translateY(20px) rotate(-6deg);transition:opacity .6s,transform .7s var(--spring);pointer-events:none}
.cameo.in{opacity:1;transform:none}
/* ============ responsive ============ */
@media(max-width:920px){
  .hero-grid,.fam-grid,.widget-sec .wrap,.chat-grid{grid-template-columns:1fr}
  .beats,.tl,.trust{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr}
  .plan.pro{order:-1}
  .mascot-hero{right:6px;bottom:-14px}
}
@media(max-width:640px){
  .beats,.tl,.trust{grid-template-columns:1fr}
  .nav-links{display:none}
  .hero h1{font-size:clamp(36px,10vw,46px)}
  .today{min-height:400px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ── 2026-07-17 content-review fixes ─────────────────────────────
   2 plans (VIP removed — not sold in-app), robot avatars for AI staff */
.plans{grid-template-columns:1fr 1.08fr;max-width:780px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.plans{grid-template-columns:1fr;max-width:440px}}
.botav{width:118px;height:118px;border-radius:50%;background:var(--purple-050);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:4px solid var(--purple-050);position:relative}
.botav svg{width:72px;height:78px;display:block}
.botav .bem{position:absolute;right:-4px;bottom:-2px;font-size:24px}
