/* sparevoice.com — styles
   Monochrome system: warm off-white ground, ink type, hairline borders.
   Display: Outfit (variable). Body: Inter (variable). Both self-hosted. */

@font-face{font-family:"Outfit";src:url(/assets/fonts/outfit-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --bg:#FAFAF8; --bg-2:#F3F3EF; --panel:#FFFFFF;
  --ink:#111111; --ink-2:#48484A; --ink-3:#8A8A88; --ink-4:#B5B5B1;
  --line:#E7E7E2; --line-2:#D8D8D2;
  --ok:#1F9D55;
  --r-lg:18px; --r:12px; --r-sm:8px;
  --display:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --w:1160px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.025em;margin:0;line-height:1.05}
p{margin:0}
.container{width:min(var(--w),calc(100% - 48px));margin-inline:auto}
@media (max-width:640px){.container{width:calc(100% - 40px)}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:500;font-size:21px;letter-spacing:-.02em;color:var(--ink)}
.brand svg{width:34px;height:auto}
.nav__links{display:flex;gap:30px;font-size:15px;color:var(--ink-2)}
.nav__links a{padding:6px 0;border-bottom:1px solid transparent;transition:color .16s,border-color .16s}
.nav__links a:hover{color:var(--ink);border-bottom-color:var(--line-2)}
.nav__cta{display:flex;align-items:center;gap:10px}
.nav__burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-sm)}
@media (max-width:900px){
  .nav__links,.nav__cta .btn--ghost{display:none}
  .nav__burger{display:inline-flex}
  .nav.open .nav__links{display:flex;position:absolute;left:0;right:0;top:68px;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 24px 16px}
  .nav.open .nav__links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  .nav.open .nav__links a:last-child{border-bottom:0}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:10px;font-weight:500;font-size:15px;letter-spacing:-.005em;border:1px solid transparent;transition:transform .16s var(--ease),background .16s,border-color .16s,color .16s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--ink);color:#fff}
.btn--primary:hover{background:#000}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--ghost:hover{border-color:var(--ink)}
.btn--lg{height:52px;padding:0 24px;font-size:16px}
.btn svg{width:16px;height:16px}

/* ---------- hero ---------- */
.hero{padding:88px 0 40px}
.hero__grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink)}
.hero h1{font-size:clamp(42px,6.4vw,78px);max-width:24ch;margin-top:22px;text-wrap:balance}
.br-d{display:none}
@media (min-width:900px){.br-d{display:inline}}
.hero__sub{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:56ch;margin-top:24px;text-wrap:pretty}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero__note{margin-top:16px;font-size:13.5px;color:var(--ink-3)}
@media (max-width:640px){.hero{padding:56px 0 32px}}

/* ---------- product mockup ---------- */
.mock{margin-top:64px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:0 1px 0 rgba(0,0,0,.02),0 30px 60px -40px rgba(0,0,0,.18);overflow:hidden}
.mock__bar{height:44px;display:flex;align-items:center;gap:6px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg)}
.mock__bar i{width:10px;height:10px;border-radius:50%;background:var(--line-2)}
.mock__bar span{margin-left:12px;font-size:12.5px;color:var(--ink-3);font-family:var(--body)}
.mock__body{display:grid;grid-template-columns:200px 300px 1fr;min-height:480px}
.mock__side{border-right:1px solid var(--line);padding:16px 12px;font-size:13.5px}
.mock__side .lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:6px 10px 8px}
.mock__side a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-2);white-space:nowrap}
.mock__side a svg{width:16px;height:16px;stroke-width:1.6}
.mock__side a.on{background:var(--bg-2);color:var(--ink)}
.mock__side a b{margin-left:auto;font-weight:500;font-size:11.5px;min-width:20px;text-align:center;padding:1px 6px;border-radius:999px;background:var(--ink);color:#fff}
.mock__list{border-right:1px solid var(--line);font-size:13.5px}
.mock__list .hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--line)}
.mock__list .hd strong{font-weight:500;font-size:14px}
.mock__list .hd span{font-size:12px;color:var(--ink-3)}
.conv{display:grid;grid-template-columns:34px 1fr auto;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:start}
.conv.on{background:var(--bg-2)}
.conv .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--bg-2),var(--line-2));display:grid;place-items:center;font-size:12px;font-weight:500;color:var(--ink-2)}
.conv .n{font-weight:500;color:var(--ink);display:flex;gap:8px;align-items:center}
.conv .p{color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px;margin-top:2px}
.conv .t{font-size:11.5px;color:var(--ink-4)}
.tag{display:inline-block;font-size:10.5px;font-weight:500;letter-spacing:.02em;padding:1px 7px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2)}
.mock__chat{display:flex;flex-direction:column;min-width:0}
.mock__chat .hd{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13.5px}
.mock__chat .hd strong{font-weight:500}
.mock__chat .hd .st{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}
.mock__chat .hd .st i{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.mock__chat .hd .st em{font-style:normal;color:var(--ink-3)}
.msgs{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}
.msg{max-width:78%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5}
.msg.in{background:var(--bg-2);border-bottom-left-radius:6px;align-self:flex-start}
.msg.out{background:var(--ink);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.msg small{display:block;margin-top:5px;font-size:11px;opacity:.6}
.sys{align-self:center;font-size:11.5px;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px dashed var(--line-2);border-radius:999px}
.sys svg{width:12px;height:12px}
.draft{margin:0 18px 18px;border:1px solid var(--line-2);border-radius:14px;background:var(--panel);overflow:hidden}
.draft .hd{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--bg)}
.draft .hd svg{width:14px;height:14px}
.draft .hd span{margin-left:auto;color:var(--ink-3);font-size:11.5px}
.draft p{padding:12px 14px;font-size:13.5px;line-height:1.55}
.draft .act{display:flex;gap:8px;padding:0 14px 14px}
.draft .act .b{height:32px;padding:0 12px;border-radius:8px;font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2)}
.draft .act .b.p{background:var(--ink);color:#fff;border-color:var(--ink)}
.draft .act .b svg{width:13px;height:13px}
@media (max-width:1000px){.mock__body{grid-template-columns:180px 1fr}.mock__list{display:none}}
@media (max-width:640px){.mock__body{grid-template-columns:1fr;min-height:0}.mock__side{display:none}.msg{max-width:92%}}

/* ---------- channels strip ---------- */
.channels{padding:56px 0 8px}
.channels__lbl{text-align:center;font-size:13px;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase;font-weight:500}
.channels__row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:22px;color:var(--ink-2);font-size:14.5px}
.channels__row span{display:inline-flex;align-items:center;gap:8px;padding:8px 4px}
.channels__row svg{width:18px;height:18px;stroke-width:1.6}

/* ---------- sections ---------- */
.section{padding:112px 0}
.section--tight{padding:88px 0}
.section--alt{background:var(--bg-2)}
.sh{max-width:720px}
.sh h2{font-size:clamp(32px,4.2vw,50px);text-wrap:balance}
.sh p{margin-top:18px;font-size:18px;color:var(--ink-2);text-wrap:pretty}
.sh.center{margin-inline:auto;text-align:center}
@media (max-width:640px){.section{padding:72px 0}.section--tight{padding:60px 0}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.step{padding:28px 26px 30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}
.step .n{font-family:var(--display);font-size:13px;letter-spacing:.06em;color:var(--ink-3)}
.step h3{font-size:22px;margin-top:14px}
.step p{margin-top:12px;color:var(--ink-2);font-size:15.5px}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

/* features */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:56px}
.f{background:var(--panel);padding:30px 28px 32px;transition:background .2s}
.f:hover{background:var(--bg)}
.f svg{width:24px;height:24px;stroke-width:1.5;color:var(--ink)}
.f h3{font-size:19px;margin-top:20px;letter-spacing:-.015em}
.f p{margin-top:10px;color:var(--ink-2);font-size:15px;line-height:1.55}
@media (max-width:900px){.feat{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.feat{grid-template-columns:1fr}}

/* control / ownership */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;margin-top:8px}
.split .sh p{font-size:17px}
.checks{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:16px;color:var(--ink-2)}
.checks li svg{width:22px;height:22px;stroke-width:1.6;color:var(--ink);margin-top:2px}
.checks li b{font-weight:500;color:var(--ink)}
.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);padding:22px;display:grid;gap:12px}
.ctl{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-size:14.5px}
.ctl .l b{display:block;font-weight:500}
.ctl .l span{color:var(--ink-3);font-size:13px}
.sw{width:40px;height:24px;border-radius:999px;background:var(--ink);position:relative;flex:none}
.sw::after{content:"";position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#fff}
.sw.off{background:var(--line-2)}
.sw.off::after{right:auto;left:3px}
.range{height:6px;border-radius:999px;background:var(--line);position:relative;flex:1;max-width:160px}
.range::before{content:"";position:absolute;left:0;top:0;bottom:0;width:62%;background:var(--ink);border-radius:999px}
.range::after{content:"";position:absolute;top:50%;left:62%;width:16px;height:16px;border-radius:50%;background:#fff;border:1px solid var(--line-2);transform:translate(-50%,-50%)}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;font-size:12.5px}
.seg span{padding:6px 10px;color:var(--ink-3)}
.seg span.on{background:var(--ink);color:#fff}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}}

/* compliance */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.card{padding:30px 28px 32px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}
.card svg{width:26px;height:26px;stroke-width:1.5}
.card h3{font-size:21px;margin-top:20px}
.card p{margin-top:12px;color:var(--ink-2);font-size:15.5px}
.card .fine{margin-top:16px;font-size:13px;color:var(--ink-3);padding-top:14px;border-top:1px solid var(--line)}
@media (max-width:900px){.trio{grid-template-columns:1fr}}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;align-items:stretch}
.plan{padding:30px 28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);display:flex;flex-direction:column}
.plan.hot{border-color:var(--ink);box-shadow:0 30px 60px -44px rgba(0,0,0,.35)}
.plan .nm{display:flex;align-items:center;justify-content:space-between;font-family:var(--display);font-size:18px;font-weight:500}
.plan .nm .tag{font-family:var(--body)}
.plan .pr{margin-top:18px;display:flex;align-items:baseline;gap:6px}
.plan .pr b{font-family:var(--display);font-size:46px;font-weight:500;letter-spacing:-.03em;line-height:1}
.plan .pr span{color:var(--ink-3);font-size:14px}
.plan .ds{margin-top:8px;color:var(--ink-2);font-size:14.5px;min-height:44px}
.plan ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px;font-size:14.5px;color:var(--ink-2);flex:1}
.plan li{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start}
.plan li svg{width:16px;height:16px;margin-top:3px;stroke-width:1.8;color:var(--ink)}
.plan .btn{margin-top:26px;width:100%}
.plans__note{margin-top:22px;text-align:center;font-size:13.5px;color:var(--ink-3)}
@media (max-width:900px){.plans{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}

/* faq */
.faq{max-width:780px;margin:48px auto 0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--display);font-size:19px;font-weight:500;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:20px;height:20px;flex:none;stroke-width:1.6;transition:transform .25s var(--ease)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .a{padding:0 0 24px;color:var(--ink-2);font-size:16px;max-width:64ch}

/* cta band */
.cta{padding:112px 0}
.cta__box{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:72px 40px;text-align:center}
.cta__box h2{font-size:clamp(30px,4vw,48px);text-wrap:balance}
.cta__box p{margin:16px auto 0;max-width:52ch;color:var(--ink-2);font-size:17px}
.cta__box .btn{margin-top:30px}
.cta__box .fine{margin-top:16px;font-size:13px;color:var(--ink-3)}
@media (max-width:640px){.cta{padding:64px 0}.cta__box{padding:48px 22px}}

/* footer */
.footer{border-top:1px solid var(--line);padding:48px 0 40px;font-size:14px;color:var(--ink-3)}
.footer__in{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:start}
.footer__links{display:flex;flex-wrap:wrap;gap:8px 22px}
.footer__links a{color:var(--ink-2)}
.footer__links a:hover{color:var(--ink)}
.footer .brand{font-size:18px}
.footer .brand svg{width:28px}
.footer__legal{margin-top:14px;max-width:60ch;line-height:1.55}
@media (max-width:700px){.footer__in{grid-template-columns:1fr}}

/* ---------- legal pages ---------- */
.legal{padding:64px 0 96px}
.legal .container{width:min(760px,calc(100% - 48px))}
.legal h1{font-size:clamp(34px,4.5vw,46px)}
.legal .meta{margin-top:12px;color:var(--ink-3);font-size:14px}
.legal .lang{display:inline-flex;gap:0;margin-top:20px;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;font-size:13px}
.legal .lang a{padding:6px 12px;color:var(--ink-3)}
.legal .lang a.on{background:var(--ink);color:#fff}
.legal h2{font-size:24px;margin-top:48px;letter-spacing:-.015em}
.legal h3{font-size:18px;margin-top:28px;font-family:var(--body);font-weight:600;letter-spacing:0}
.legal p,.legal li{color:var(--ink-2);font-size:16px}
.legal p{margin-top:14px}
.legal ul,.legal ol{margin:12px 0 0;padding-left:22px}
.legal li{margin-top:6px}
.legal li::marker{color:var(--ink-4)}
.legal a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.legal a:hover{text-decoration-color:var(--ink)}
.legal table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.legal th{font-weight:600;color:var(--ink);font-size:13px;letter-spacing:.02em;text-transform:uppercase;background:var(--bg-2)}
.legal .box{margin-top:22px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.legal .box p{margin-top:0}
.legal .box p + p{margin-top:10px}
.legal address{font-style:normal;line-height:1.7;color:var(--ink-2);margin-top:10px}
.legal code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--bg-2);padding:1px 6px;border-radius:5px}
.legal .steps-ol li{margin-top:10px}
