/* SaydiVoice — lightweight, content-first SEO landing pages (no studio JS).
   Visual language: noiz.ai-inspired coral palette + display headings. */
:root{
  --accent:#fe655d; --accent2:#fc3e57; --grad:linear-gradient(135deg,#ff9e99,#fe655d 55%,#fc3e57);
  --text:#36353a; --text2:#7d7d7d; --text3:#b3b3b3; --bg:#ffffff; --bg2:#fafafa;
  --border:#ececee; --radius:16px; --shadow:0 2px 10px rgba(20,20,25,.05),0 16px 34px rgba(20,20,25,.07);
  --coral:#fe655d; --coral-soft:#ffafab; --yellow:#fed35d; --purple:#9b5dfe; --blue:#5dc8fe;
  --head:'Poppins','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;
  background-color:#fff;
  background-image:
    radial-gradient(760px 520px at 8% 40px, rgba(254,101,93,.14), transparent 62%),
    radial-gradient(720px 520px at 96% 240px, rgba(155,93,254,.10), transparent 60%),
    radial-gradient(860px 640px at 26% 100%, rgba(254,211,93,.10), transparent 60%);
  background-attachment:fixed;background-repeat:no-repeat}
a{color:inherit}
img{max-width:100%}
h1,h2,h3,.hero h1,.sec h2,.home-content h2{font-family:var(--head);}

/* Header */
/* ---- Header (bolder brand + signal, elevated on scroll) ------------------- */
.site-head{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:12px 24px;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;transition:box-shadow .2s,background .2s,border-color .2s}
.site-head.scrolled{background:rgba(255,255,255,.92);border-bottom-color:var(--border);
  box-shadow:0 6px 24px rgba(20,20,25,.08)}
.head-left{display:inline-flex;align-items:center;gap:18px;min-width:0}
.site-actions{display:inline-flex;align-items:center;gap:12px}

/* Brand: larger, full-gradient wordmark + a "Free" positioning pill. */
.site-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:21px;
  letter-spacing:-.03em;text-decoration:none;color:var(--text)}
.brand-badge{flex:none;width:38px;height:38px;display:grid;place-items:center}
.brand-logo{width:38px;height:38px;display:block;filter:drop-shadow(0 3px 10px rgba(254,101,93,.30))}
.brand-name,.brand-acc{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.site-brand:hover .brand-logo{transform:translateY(-1px) rotate(-4deg);
  filter:drop-shadow(0 6px 16px rgba(254,101,93,.48));transition:transform .18s,filter .18s}
.brand-free{flex:none;font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--accent);
  background:#fff2f0;border:1px solid #ffd7d3;border-radius:999px;padding:3px 9px;line-height:1}

/* Nav: bold, dark, small icon + tactile hover pill (reads as primary nav). */
.site-nav{display:flex;align-items:center;gap:4px;min-width:0}
.site-nav a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--text);
  font-weight:650;font-size:14px;padding:8px 11px;border-radius:10px;white-space:nowrap;
  transition:background .15s,color .15s}
.site-nav a:hover{background:var(--bg2)}
.nav-ic{display:inline-flex;color:var(--accent);opacity:.9}
.nav-ic svg{width:15px;height:15px}

/* Ghost secondary action to balance the primary CTA. */
.site-ghost{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:999px;
  text-decoration:none;font-weight:700;font-size:14px;color:var(--text);border:1px solid var(--border);
  background:#fff;white-space:nowrap;transition:border-color .15s,color .15s}
.site-ghost:hover{border-color:#dcdce0;color:var(--accent)}

.site-cta{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;white-space:nowrap;
  background:var(--grad);color:#fff!important;font-weight:700;box-shadow:0 8px 20px rgba(254,101,93,.34);
  transition:transform .15s,box-shadow .15s}
.site-cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(254,101,93,.44)}

/* Language switcher (zero-JS <details> dropdown of crawlable locale links) */
.lang-menu{position:relative}
.lang-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:40px;
  padding:0 12px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:600;
  font-size:14px;color:var(--text2)}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary:hover{color:var(--text);border-color:#dcdce0}
.lang-cur{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lang-chev{transition:transform .2s}
.lang-menu[open] .lang-chev{transform:rotate(180deg)}
.lang-pop{position:absolute;top:48px;right:0;z-index:40;width:300px;max-height:340px;overflow-y:auto;
  background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px;
  display:grid;grid-template-columns:1fr 1fr;gap:2px}
.lang-pop a{display:block;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--text2);
  font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang-pop a:hover{background:var(--bg2);color:var(--text)}
.lang-pop a.on{background:var(--grad);color:#fff}

/* Progressive collapse so 5 nav items + signals never overflow. */
@media(max-width:1180px){ .head-left{gap:12px} .site-nav{gap:2px} .site-nav a{padding:8px 9px} }
@media(max-width:1080px){ .nav-ic{display:none} .site-ghost{display:none} }
@media(max-width:900px){ .site-nav{display:none} }
@media(max-width:640px){
  .site-head{padding:10px 14px}
  .site-brand{font-size:18px}
  .brand-logo,.brand-badge{width:34px;height:34px}
  .brand-free{display:none}
  .lang-menu summary{height:38px;padding:0 10px}
  .lang-cur{max-width:64px}
  .site-cta{height:38px;padding:0 14px}
  .lang-pop{position:fixed;left:12px;right:12px;top:60px;width:auto}
}

/* Layout */
.site-main{max-width:1080px;margin:0 auto;padding:48px 24px 20px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;text-align:left;margin-bottom:8px}
.hero h1{font-size:40px;line-height:1.12;letter-spacing:-.025em;font-weight:800;margin-bottom:14px}
.hero-lead{font-size:19px;color:var(--text2);margin:0 0 18px;max-width:560px}
.hero-stats{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-bottom:16px}
.hero-stats span{background:#fff;border:1px solid var(--border);border-radius:999px;
  padding:8px 15px;font-size:13.5px;font-weight:600;color:var(--text2);box-shadow:0 2px 10px rgba(20,20,25,.10)}
/* Live social-proof pill */
.hero-proof{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:999px;background:#fff;
  border:1px solid var(--border);box-shadow:0 2px 10px rgba(20,20,25,.10);font-size:13.5px;font-weight:700;color:var(--text)}
.hero-proof-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.16);animation:proofpulse 2s ease-in-out infinite}
@keyframes proofpulse{0%,100%{opacity:1}50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.hero-proof-dot{animation:none}}
@media(max-width:860px){
  .hero{grid-template-columns:1fr;gap:26px;text-align:center;max-width:640px;margin:0 auto 8px}
  .hero-lead{margin:0 auto 16px}
  .hero-stats{justify-content:center}
  .hero-proof{margin:0 auto}
}
@media(max-width:640px){.hero h1{font-size:30px}.hero-lead{font-size:17px}.site-main{padding:26px 16px}}

/* Try box (holds the mini widget) */
.hero-try{min-width:0}
.try-box{width:100%;margin:0;background:linear-gradient(180deg,#fff,#fafafa);
  border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:22px}
@media(max-width:860px){.try-box{max-width:560px;margin:0 auto}}
.try-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent2);
  margin-bottom:12px;text-align:left}

/* Widget */
.ov-widget{text-align:left}
.ovw-ta{width:100%;min-height:88px;border:1px solid var(--border);border-radius:12px;padding:12px 14px;
  font-family:inherit;font-size:16px;line-height:1.55;color:var(--text);resize:vertical;outline:none;background:#fff}
.ovw-ta:focus{border-color:var(--accent)}
.ovw-count{font-size:12px;color:var(--text3);text-align:right;margin:6px 2px 10px}
.ovw-row{display:flex;gap:10px;margin-top:14px}
.ovw-btn{flex:none;height:50px;padding:0 26px;border:none;border-radius:999px;background:var(--grad);color:#fff;
  font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(254,101,93,.34)}
.ovw-btn-wide{flex:1}
.ovw-btn:hover{filter:brightness(1.06)}
.ovw-btn:disabled{opacity:.65;cursor:default}

/* Voice picker — previewable, same-language voice chips (replaces the dropdown) */
.ovw-pick{margin-top:14px}
.ovw-pick-label{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--text3);margin-bottom:8px}
.ovw-voices{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch}
.ovw-voices::-webkit-scrollbar{height:6px}
.ovw-voices::-webkit-scrollbar-thumb{background:#ececee;border-radius:999px}
.ovw-voice{flex:none;scroll-snap-align:start;display:flex;align-items:center;gap:10px;cursor:pointer;
  border:1.5px solid var(--border);border-radius:14px;padding:8px 12px 8px 8px;background:#fff;
  transition:border-color .15s,box-shadow .15s,transform .15s;outline:none;max-width:230px}
.ovw-voice:hover{border-color:#ececee;box-shadow:0 6px 16px rgba(20,20,25,.14)}
.ovw-voice.sel{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;
  box-shadow:0 8px 20px rgba(20,20,25,.20)}
.ovw-voice:focus-visible{box-shadow:0 0 0 3px rgba(20,20,25,.35)}
.ovw-av{position:relative;overflow:hidden;flex:none;width:38px;height:38px;border-radius:50%;display:grid;
  place-items:center;font-weight:800;font-size:16px;color:#fff;background:var(--accent);
  box-shadow:0 4px 10px rgba(254,101,93,.24)}
.ovw-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ovw-vmeta{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.ovw-vn{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.ovw-vsub{font-size:11.5px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.ovw-play{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:#fafafa;
  color:var(--accent2);font-size:12px;cursor:pointer;display:grid;place-items:center;line-height:1;transition:background .15s}
.ovw-play:hover{background:#f4f4f6}
.ovw-play.playing{background:var(--accent);color:#fff;border-color:transparent}
.ovw-audio{width:100%;margin-top:14px}
.ovw-note{font-size:13px;color:#dc2626;min-height:18px;margin-top:8px}
.ovw-more{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--accent);text-decoration:none}
.ovw-more:hover{text-decoration:underline}

/* Content sections */
.sec{margin:44px auto 0;max-width:820px}
.sec h2{font-size:26px;font-weight:800;letter-spacing:-.02em;text-align:center;margin-bottom:22px}
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.g3,.g2{grid-template-columns:1fr}}
.card{border:1px solid var(--border);border-radius:20px;padding:22px 24px;
  background:linear-gradient(180deg,#ffffff,#fafafa);transition:transform .16s,box-shadow .16s,border-color .16s}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(20,20,25,.16);border-color:#ececee}
.card h3{font-size:17px;font-weight:700;margin-bottom:6px}
.card p{font-size:14.5px;color:var(--text2)}
.card a.card-link,.card .card-link{display:inline-block;margin-top:10px;font-weight:700;color:var(--accent2);text-decoration:none}
.tool-card{display:block;text-decoration:none;position:relative;overflow:hidden}
.tool-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);opacity:0;transition:opacity .16s}
.tool-card:hover::before{opacity:1}
.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800;color:var(--accent2);text-align:center;margin-bottom:6px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.checks{grid-template-columns:1fr}}
.check{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.check .ck{flex:none;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#16a34a;font-weight:800;
  display:grid;place-items:center;font-size:14px}
.check span.t{font-size:14.5px;color:var(--text2);line-height:1.55}
.prose{max-width:680px;margin:0 auto;color:var(--text2);font-size:16px}
.prose h2{text-align:center}
.steps{max-width:640px;margin:0 auto;padding-left:24px}
.steps li{font-size:16px;color:var(--text2);margin-bottom:12px}
.faq-item{border-top:1px solid var(--border);padding:18px 0}
.faq-item h3{font-size:16px;font-weight:700;margin-bottom:6px}
.faq-item p{font-size:15px;color:var(--text2)}
.more-tools{text-align:center;margin-top:14px}
.more-tools a{margin:0 8px;color:var(--accent);font-weight:600;text-decoration:none}

/* Footer */
.site-foot{max-width:900px;margin:56px auto 0;padding:26px 24px 48px;border-top:1px solid var(--border);
  text-align:center;color:var(--text3);font-size:14px}
.foot-links{margin-bottom:10px}
.foot-links a{margin:0 10px;color:var(--text2);text-decoration:none;font-weight:600}
.foot-links a:hover{color:var(--text)}
.foot-copy a{color:var(--text2);text-decoration:none}

/* ===== Home marketing block (moved off the studio) =====================
   Warm pastel canvas with floating blobs + a friendly mascot, sitting below
   the home hero. Full-bleed (rendered outside .site-main). */
.home-content{ position:relative; overflow:hidden; }
.home-wrap{ position:relative; z-index:1; max-width:1080px; margin:0 auto; padding:64px 24px 84px; }
.home-content h2{ font-size:28px; font-weight:800; letter-spacing:-.02em; margin:8px 0 18px;
  color:var(--text); text-align:center; }

/* Soft decorative pastel blobs floating behind the content. */
.home-blob{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.5; z-index:0; pointer-events:none;
  animation:home-float 14s ease-in-out infinite; }
.home-blob.b1{ width:340px; height:340px; top:-60px; left:-80px;
  background:radial-gradient(circle,#ddd6fe,rgba(221,214,254,0)); }
.home-blob.b2{ width:300px; height:300px; top:240px; right:-90px;
  background:radial-gradient(circle,#fbcfe8,rgba(251,207,232,0)); animation-delay:-4s; }
.home-blob.b3{ width:260px; height:260px; bottom:40px; left:8%;
  background:radial-gradient(circle,#fde68a,rgba(253,230,138,0)); animation-delay:-8s; }
@keyframes home-float{ 0%,100%{ transform:translate(0,0) } 50%{ transform:translate(20px,-26px) } }

/* Friendly mascot atop the home hero: gentle bob + glowing halo + hover wiggle. */
.home-mascot{ position:relative; width:88px; height:88px; margin:0 auto 18px; }
.home-mascot::before{ content:""; position:absolute; inset:-16px; border-radius:50%; z-index:0;
  background:radial-gradient(circle,rgba(254,101,93,.30),rgba(20,20,25,0) 70%);
  animation:home-glow 3s ease-in-out infinite; }
.home-face{ position:relative; z-index:1; width:88px; height:88px; display:block; cursor:pointer;
  transform-origin:50% 85%; filter:drop-shadow(0 12px 26px rgba(20,20,25,.36));
  animation:home-bob 4.2s ease-in-out infinite; }
.home-face:hover{ animation:home-wiggle .7s ease-in-out; }
@keyframes home-bob{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-7px) } }
@keyframes home-glow{ 0%,100%{ transform:scale(.9); opacity:.65 } 50%{ transform:scale(1.1); opacity:1 } }
@keyframes home-wiggle{ 0%,100%{ transform:rotate(0) } 20%{ transform:rotate(-10deg) }
  45%{ transform:rotate(8deg) } 70%{ transform:rotate(-4deg) } }
@media (prefers-reduced-motion:reduce){ .home-face,.home-mascot::before,.home-blob{ animation:none } }

/* CTA pill (opens the full studio). */
.home-cta{ display:inline-flex; align-items:center; justify-content:center; gap:9px; height:52px; padding:0 30px;
  border-radius:999px; color:#fff!important; text-decoration:none; font-weight:700; font-size:15px; letter-spacing:-.01em;
  background:linear-gradient(135deg,#a78bfa,#f472b6 55%,#fbbf24);
  box-shadow:0 10px 26px rgba(254,101,93,.34); transition:transform .15s, box-shadow .15s; }
.home-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(254,101,93,.46); }
.home-cta-wrap{ text-align:center; margin-top:40px; }

/* Soft rounded cards for features + use cases. */
.home-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr)); gap:18px; margin:0 0 16px; }
.home-card{ border:1px solid #ececee; border-radius:20px; padding:22px 24px;
  background:linear-gradient(180deg,#ffffff,#fafafa);
  transition:transform .16s, box-shadow .16s, border-color .16s; }
.home-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px rgba(20,20,25,.16); border-color:#ececee; }
.home-card strong{ display:block; margin-bottom:6px; color:var(--text); font-size:16px;
  font-weight:700; letter-spacing:-.01em; }
.home-card .home-d{ display:block; font-size:14.5px; line-height:1.6; color:var(--text2); }
.home-grid.home-feats{ grid-template-columns:1fr 1fr; }
.home-card.feat .home-ft-ic{ display:inline-flex; margin-bottom:14px; }
.home-ft-ic svg{ width:36px; height:36px; display:block; }
.home-card.feat strong{ font-size:17px; }
.home-grid.home-scenarios{ grid-template-columns:1fr 1fr; }
.home-card.sc{ padding:26px 28px; }
.home-sc-ic{ display:inline-flex; align-items:center; gap:12px; margin-bottom:16px; }
.home-sc-ic svg{ width:40px; height:40px; display:block; }
.home-card.sc strong{ font-size:18px; margin-bottom:4px; }
.home-card.sc .home-sc-link{ display:block; font-size:13px; font-weight:600; color:var(--accent); margin-bottom:9px; }
@media (max-width:720px){
  .home-grid.home-feats,.home-grid.home-scenarios{ grid-template-columns:1fr; }
  .home-wrap{ padding:44px 16px 60px; }
  .home-mascot,.home-face{ width:72px; height:72px; }
  .home-content h2{ font-size:23px; }
  .home-blob{ opacity:.38; }
}

/* ===== Quick tutorial (numbered steps) ===== */
.home-how{ max-width:820px; margin:60px auto 0; padding:0 24px; }
.home-how h2{ font-size:26px; font-weight:800; letter-spacing:-.02em; text-align:center; margin-bottom:24px; color:var(--text); }
.how-steps{ list-style:none; display:grid; gap:14px; margin:0; padding:0; }
.how-step{ display:flex; gap:16px; align-items:center; border:1px solid var(--border); border-radius:18px;
  padding:16px 20px; background:linear-gradient(180deg,#ffffff,#fafafa); }
.how-num{ flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-weight:800;
  font-size:15px; color:#fff; background:var(--accent); box-shadow:0 6px 14px rgba(254,101,93,.26); }
.how-step p{ font-size:15.5px; color:var(--text2); line-height:1.6; margin:0; }

/* ===== FAQ accordion (zero-JS <details>) ===== */
.home-faq{ max-width:760px; margin:60px auto 0; padding:0 24px; }
.home-faq h2{ font-size:26px; font-weight:800; letter-spacing:-.02em; text-align:center; margin-bottom:22px; color:var(--text); }
.faq-ac{ background:linear-gradient(180deg,#ffffff,#fafafa); border:1px solid var(--border); border-radius:16px;
  padding:0 20px; margin-bottom:12px; box-shadow:0 2px 10px rgba(20,20,25,.08); }
.faq-ac summary{ list-style:none; cursor:pointer; font-weight:700; color:var(--text); font-size:16px;
  padding:16px 0; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.faq-ac summary::-webkit-details-marker{ display:none; }
.faq-ac summary::after{ content:"+"; flex:none; font-size:24px; font-weight:400; line-height:1; color:var(--accent2); transition:transform .2s; }
.faq-ac[open] summary::after{ content:"\2212"; }
.faq-ac .faq-a{ padding:0 0 18px; color:var(--text2); font-size:15px; line-height:1.65; }

/* ===== Testimonials marquee (social proof) ===== */
.reviews{ margin:64px 0 0; overflow:hidden; }
.reviews-head{ text-align:center; padding:0 24px; margin-bottom:26px; }
.reviews-head h2{ font-size:26px; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.marquee{ position:relative; overflow:hidden; padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee-track{ display:flex; gap:18px; width:max-content; padding:8px 9px;
  animation:marquee 46s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }
.review-card{ flex:none; width:336px; background:linear-gradient(180deg,#ffffff,#fafafa);
  border:1px solid var(--border); border-radius:18px; padding:20px 22px;
  box-shadow:0 2px 10px rgba(20,20,25,.08); }
.review-stars{ color:#fbbf24; font-size:14px; letter-spacing:3px; margin-bottom:10px; }
.review-q{ font-size:14.5px; color:var(--text2); line-height:1.62; margin:0 0 16px; font-style:normal; }
.review-au{ display:flex; align-items:center; gap:12px; }
.review-av{ flex:none; width:40px; height:40px; border-radius:50%; object-fit:cover; background:#f4f4f6;
  border:1px solid var(--border); }
.review-meta{ display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.review-nm{ font-weight:700; font-size:14px; color:var(--text); }
.review-ro{ font-size:12.5px; color:var(--text3); }
@media (prefers-reduced-motion:reduce){ .marquee-track{ animation:none; } }
@media(max-width:640px){ .review-card{ width:290px; } }

/* ===== Voice detail / language / voices-hub (programmatic SEO) ===== */
.badges{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; max-width:820px; margin:0 auto; }
.badge{ background:#fff; border:1px solid var(--border); border-radius:999px; padding:7px 14px; font-size:13px;
  color:var(--text2); box-shadow:0 2px 10px rgba(20,20,25,.08); }
.badge b{ color:var(--text); font-weight:700; }
.sample-line{ max-width:680px; margin:0 auto; font-size:18px; line-height:1.6; color:var(--text); font-style:italic;
  text-align:center; border:1px solid var(--border); border-left:3px solid var(--accent); background:#fafafa;
  border-radius:12px; padding:16px 20px; }
.vcard{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.vcard-av{ flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-weight:800;
  color:#fff; background:var(--accent); font-size:16px; }
.vcard-meta{ display:flex; flex-direction:column; min-width:0; }
.vcard-meta strong{ font-size:15px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vcard-sub{ font-size:12.5px; color:var(--text3); }
.chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:760px; margin:0 auto; }
.chip{ background:#fff; border:1px solid var(--border); border-radius:999px; padding:9px 16px; font-size:14px;
  font-weight:600; color:var(--text2); box-shadow:0 2px 10px rgba(20,20,25,.08); }

/* ===== Blog / guides (best-of lists) ===== */
.guide-list{ max-width:760px; margin:0 auto; display:grid; gap:14px; }
.guide-item{ display:flex; gap:16px; align-items:flex-start; border:1px solid var(--border); border-radius:16px;
  padding:16px 20px; background:linear-gradient(180deg,#ffffff,#fafafa); }
.guide-rank{ flex:none; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-weight:800;
  color:#fff; background:var(--accent); font-size:15px; }
.guide-body h3{ font-size:16px; font-weight:700; margin:0 0 4px; }
.guide-body h3 a{ color:var(--text); text-decoration:none; }
.guide-body h3 a:hover{ color:var(--accent2); }
.guide-body p{ font-size:14.5px; color:var(--text2); margin:0; line-height:1.55; }
.table-wrap{ max-width:760px; margin:0 auto; overflow-x:auto; }
.gtable{ width:100%; border-collapse:collapse; font-size:14.5px; background:#fff; border:1px solid var(--border);
  border-radius:14px; overflow:hidden; }
.gtable th,.gtable td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--border); }
.gtable thead th{ background:var(--bg2); color:var(--text); font-weight:700; font-size:13px;
  text-transform:uppercase; letter-spacing:.03em; }
.gtable tbody tr:last-child td{ border-bottom:none; }
.gtable td a{ color:var(--accent2); text-decoration:none; font-weight:600; }
.gtable td a:hover{ text-decoration:underline; }

/* ==========================================================================
   noiz.ai-inspired home landing blocks (coral). Original implementation.
   1) hero blobs  2) demo tabs  3) feature selector  4) best model
   5) capabilities bento  6) big CTA
   ========================================================================== */

/* Shared display headline used across the noiz-style blocks. */
.nz-h{font-family:var(--head);font-weight:800;letter-spacing:-.03em;line-height:1.1;
  text-align:center;color:var(--text);font-size:clamp(26px,3.4vw,40px);margin:0 auto 12px;max-width:820px}
.nz-sub{text-align:center;color:var(--text2);font-size:clamp(15px,1.6vw,18px);max-width:640px;
  margin:0 auto 34px;line-height:1.6}
.nz-grad-txt{background:linear-gradient(120deg,var(--coral),var(--purple));-webkit-background-clip:text;
  background-clip:text;color:transparent}

/* ---- 1) Hero blob backdrop (behind the shared .hero) -------------------- */
.hero{position:relative}
.hero-fx{position:absolute;inset:-40px -10px auto;height:520px;z-index:-1;pointer-events:none;
  overflow:hidden;filter:blur(0)}
.hero-fx b{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:.55;
  animation:nz-float 16s ease-in-out infinite}
.hero-fx b:nth-child(1){width:360px;height:360px;left:2%;top:-80px;background:var(--coral);opacity:.4}
.hero-fx b:nth-child(2){width:320px;height:320px;right:4%;top:-40px;background:var(--purple);animation-delay:-4s}
.hero-fx b:nth-child(3){width:300px;height:300px;left:40%;top:120px;background:var(--yellow);opacity:.45;animation-delay:-8s}
.hero-fx b:nth-child(4){width:260px;height:260px;right:22%;top:200px;background:var(--blue);opacity:.35;animation-delay:-11s}
@keyframes nz-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-26px) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.hero-fx b{animation:none}}

/* Section shell used by the noiz blocks (full width, centered inner). */
.nz-sec{max-width:1080px;margin:64px auto 0;padding:0 24px}
.nz-sec.tight{max-width:960px}
@media(max-width:640px){.nz-sec{margin-top:44px;padding:0 16px}}

/* ---- 2) Shared avatar chip (used by the capabilities Voice Library card) - */
.nz-av{flex:none;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--purple));
  display:grid;place-items:center;color:#fff;font-weight:800;overflow:hidden}
.nz-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

/* ---- 3) Feature selector (left buttons / right panel) ------------------- */
.nz-fsel-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:20px;align-items:stretch}
.nz-fsel-btns{display:flex;flex-direction:column;gap:10px}
.nz-fbtn{text-align:left;border:1px solid var(--border);background:#fff;border-radius:16px;padding:16px 18px;
  font-weight:700;font-size:15px;color:var(--text2);cursor:pointer;transition:all .16s;font-family:inherit}
.nz-fbtn:hover{border-color:#dcdce0;color:var(--text)}
.nz-fbtn.on{border-color:transparent;color:#fff;background:linear-gradient(120deg,var(--coral),var(--accent2))}
.nz-fpanel{position:relative;border:1px solid var(--border);border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,#fff,var(--bg2));min-height:208px;box-shadow:var(--shadow)}
.nz-fpane{position:absolute;inset:0;padding:28px 30px;opacity:0;transform:translateX(16px);
  transition:opacity .3s,transform .3s;pointer-events:none;display:flex;flex-direction:column;justify-content:center;gap:2px}
.nz-flink{margin-top:16px;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;
  color:var(--accent);text-decoration:none}
.nz-flink:hover{gap:10px}
.nz-fpane.on{position:relative;opacity:1;transform:none;pointer-events:auto}
.nz-fpane .nz-chip{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:700;color:var(--accent);
  background:#fff2f0;border-radius:999px;padding:6px 12px;margin-bottom:12px}
.nz-fpane h3{font-family:var(--head);font-size:22px;letter-spacing:-.02em;margin-bottom:10px}
.nz-fpane p{color:var(--text2);font-size:15.5px;line-height:1.65}
@media(max-width:760px){.nz-fsel-grid{grid-template-columns:1fr}}

/* ---- 4) Best model cards ------------------------------------------------ */
.nz-bm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nz-bm-card{border:1px solid var(--border);border-radius:20px;padding:22px 24px;background:#fff;
  transition:transform .16s,box-shadow .16s}
.nz-bm-card.hot{background:linear-gradient(180deg,#fff,#fff5f4);border-color:#ffd7d3;
  box-shadow:0 18px 40px rgba(254,101,93,.16)}
.nz-bm-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(20,20,25,.1)}
.nz-bm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.nz-bm-name{font-family:var(--head);font-weight:800;font-size:16px}
.nz-bm-pill{font-size:11px;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;padding:3px 10px}
.nz-bm-body{color:var(--text2);font-size:14.5px;line-height:1.65}
.nz-bm-body .nz-emoji{color:var(--purple)}
.nz-bm-actions{text-align:center;margin-top:22px}
@media(max-width:760px){.nz-bm-grid{grid-template-columns:1fr}}

/* ---- 5) Capabilities bento grid ----------------------------------------- */
.nz-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nz-bento .cell{grid-column:auto;position:relative;border:1px solid var(--border);border-radius:22px;
  padding:22px;background:linear-gradient(180deg,#fff,var(--bg2));overflow:hidden;text-decoration:none;
  color:inherit;transition:transform .16s,box-shadow .16s,border-color .16s;min-height:158px;display:flex;
  flex-direction:column}
.nz-bento .cell:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(20,20,25,.1);border-color:#dcdce0}
.nz-bento .cell.wide{grid-column:auto}
.nz-bento .cell.tall{grid-column:auto}
.nz-bento h3{font-family:var(--head);font-size:19px;letter-spacing:-.02em;margin-bottom:6px}
.nz-bento h3 b{color:var(--accent)}
.nz-bento p{color:var(--text2);font-size:14px;line-height:1.6}
.nz-bento .cell-badge{align-self:flex-start;font-size:12px;font-weight:700;color:var(--accent);
  background:#fff2f0;border-radius:999px;padding:5px 12px;margin-bottom:12px}
.nz-visit{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13.5px;
  color:var(--accent);padding-top:14px}
.nz-avatars{display:flex;margin-top:14px}
.nz-avatars .nz-av{margin-left:-8px;border:2px solid #fff;font-size:13px}
.nz-avatars .nz-av:first-child{margin-left:0}
@media(max-width:860px){.nz-bento{grid-template-columns:repeat(2,1fr)}
  .nz-bento .cell,.nz-bento .cell.wide,.nz-bento .cell.tall{grid-column:span 1}}
@media(max-width:520px){.nz-bento{grid-template-columns:1fr}}
/* Lite capabilities grid (non-en/vi locales): leading icon + localized name +
   optional localized description; CTA is a bare arrow so no English leaks. */
.nz-sec-lite{margin-top:36px}
.cell-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;
  background:#fff2f0;color:var(--accent);margin-bottom:14px}
.cell-ic svg{width:23px;height:23px}
.nz-bento .cell-lite h3{color:var(--ink,#16151a)}
.nz-bento .cell-lite .nz-visit{font-size:19px;line-height:1}
[dir="rtl"] .nz-bento .cell-lite .nz-visit{transform:scaleX(-1)}

/* ---- 6) Big closing CTA ------------------------------------------------- */
.nz-cta{position:relative;margin:72px auto 0;max-width:1080px;padding:0 24px}
.nz-cta-inner{position:relative;overflow:hidden;border-radius:32px;padding:64px 24px;text-align:center;
  background:linear-gradient(135deg,#2f2d2c,#1a1a1f)}
.nz-cta-inner::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  left:-120px;top:-200px;background:radial-gradient(circle,rgba(254,101,93,.55),transparent 65%);filter:blur(20px)}
.nz-cta-inner::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;
  right:-140px;bottom:-220px;background:radial-gradient(circle,rgba(155,93,254,.5),transparent 65%);filter:blur(20px)}
.nz-cta h2{position:relative;font-family:var(--head);font-weight:800;letter-spacing:-.03em;color:#fff;
  font-size:clamp(28px,4vw,44px);line-height:1.1;margin-bottom:10px}
.nz-cta p{position:relative;color:rgba(255,255,255,.8);font-size:17px;margin:0 auto 26px;max-width:520px}
.nz-cta-btn{position:relative;display:inline-flex;align-items:center;gap:9px;height:56px;padding:0 34px;
  border-radius:999px;background:var(--grad);color:#fff!important;text-decoration:none;font-weight:700;
  font-size:16px;box-shadow:0 14px 34px rgba(254,101,93,.4);transition:transform .15s,box-shadow .15s}
.nz-cta-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(254,101,93,.5)}
@media(max-width:640px){.nz-cta-inner{padding:48px 18px}}

/* Bento "coming soon" card: reads as a feature but is not a link. */
.nz-bento .cell.soon{background:var(--bg2);cursor:default}
.nz-bento .cell.soon:hover{transform:none;box-shadow:none;border-color:var(--border)}
.nz-bento .cell.soon .cell-badge{color:var(--text2);background:#eeeef1}
.nz-bento .cell.soon .nz-visit{color:var(--text3)}

/* ==========================================================================
   Coherence layer — one visual language + one rhythm across every block.
   Applied last so it wins over the older per-section rules above.
   ========================================================================== */

/* Every section title (old + new) shares the same display style. */
.sec h2, .home-how h2, .home-faq h2, .reviews-head h2, .home-content h2, .nz-h{
  font-family:var(--head); font-weight:800; letter-spacing:-.03em;
  font-size:clamp(24px,3.2vw,36px); line-height:1.12; color:var(--text); text-align:center;
}
/* One consistent vertical rhythm between sections. */
.nz-sec{ margin-top:80px; }
.sec, .home-how, .home-faq{ margin-top:80px; }
.reviews{ margin-top:88px; }
.nz-cta{ margin-top:96px; }
@media(max-width:640px){
  .nz-sec, .sec, .home-how, .home-faq{ margin-top:56px; }
  .reviews{ margin-top:60px; }
  .nz-cta{ margin-top:64px; }
}

/* Cards across old + new blocks share the same surface + hover. */
.card, .how-step, .faq-ac, .review-card, .nz-bm-card, .nz-bento .cell, .try-box, .nz-fpanel{
  background:linear-gradient(180deg,#fff,var(--bg2));
}
/* Softer, neutral hover shadow everywhere (no purple glow). */
.card:hover, .nz-bento .cell:hover, .nz-bm-card:hover{
  box-shadow:0 16px 34px rgba(20,20,25,.10); border-color:#dcdce0;
}

/* Section eyebrows use the coral accent consistently. */
.eyebrow{ color:var(--accent); }

/* Keep the hero headline in the same display family + tighter tracking. */
.hero h1{ letter-spacing:-.035em; }

/* Hero: align the mascot with the left-aligned copy (was centered → looked off). */
.home-mascot{ margin:0 0 16px; }
@media(max-width:860px){ .home-mascot{ margin:0 auto 16px; } }
