/* chatq.io — shared styles */
:root{
  --bg:#f5f8f7; --card:#ffffff; --ink:#0f1e1b; --muted:#5b6b66;
  --line:#e3ebe8; --accent:#0f766e; --accent-2:#10b981; --accent-soft:#d6f0ea;
  --slate:#475569; --slate-soft:#eef2f5; --radius:16px;
  --maxw:1080px; --docw:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

/* nav */
.nav{position:sticky; top:0; z-index:20; background:rgba(245,248,247,.85); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.nav .inner{max-width:var(--maxw); margin:0 auto; padding:14px 22px; display:flex; align-items:center; gap:16px}
.brand{display:flex; align-items:center; gap:9px; font-weight:800; font-size:1.15rem; letter-spacing:-.02em; color:var(--ink)}
.brand:hover{text-decoration:none}
.brand .dot{width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.nav .links{margin-left:auto; display:flex; gap:22px; align-items:center; font-size:.92rem}
.nav .links a{color:var(--muted); font-weight:500}
.nav .links a:hover{color:var(--ink); text-decoration:none}
.btn{background:var(--accent); color:#fff!important; padding:9px 18px; border-radius:10px; font-weight:600; font-size:.92rem; display:inline-block}
.btn:hover{background:#0b5e57; text-decoration:none}
.btn.lg{padding:13px 26px; font-size:1rem}

/* hero */
.hero{max-width:var(--maxw); margin:0 auto; padding:72px 22px 40px; text-align:center}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); background:var(--accent-soft); padding:6px 14px; border-radius:99px; margin-bottom:22px}
.hero h1{font-size:clamp(2rem,5vw,3.25rem); line-height:1.08; letter-spacing:-.035em; margin:0 auto 18px; max-width:16ch; text-wrap:balance}
.hero p.lede{font-size:clamp(1.05rem,2.2vw,1.3rem); color:var(--muted); max-width:60ch; margin:0 auto 30px}
.hero .cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.ghost{padding:13px 24px; border-radius:10px; font-weight:600; border:1px solid var(--line); color:var(--ink)}
.ghost:hover{border-color:var(--muted); text-decoration:none}
.note{font-size:.82rem; color:var(--muted); margin-top:16px}

/* sections */
.section{max-width:var(--maxw); margin:0 auto; padding:56px 22px}
.section h2{font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.02em; text-align:center; margin:0 0 8px; text-wrap:balance}
.section .sub{text-align:center; color:var(--muted); max-width:56ch; margin:0 auto 40px}
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px}
.feature{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px}
.feature .ico{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px}
.feature h3{margin:0 0 6px; font-size:1.08rem; letter-spacing:-.01em}
.feature p{margin:0; color:var(--muted); font-size:.92rem}

/* steps */
.steps{counter-reset:step; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin-top:16px}
.step{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px; position:relative}
.step::before{counter-increment:step; content:counter(step); position:absolute; top:-14px; left:22px; width:32px;height:32px; background:var(--accent); color:#fff; border-radius:9px; display:flex; align-items:center; justify-content:center; font-weight:800}
.step h3{margin:10px 0 6px; font-size:1.05rem}
.step p{margin:0; color:var(--muted); font-size:.92rem}

.cta-band{background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center; padding:56px 22px}
.cta-band h2{font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.02em; margin:0 0 10px}
.cta-band p{color:var(--muted); margin:0 auto 24px; max-width:50ch}

/* footer */
footer{max-width:var(--maxw); margin:0 auto; padding:40px 22px 60px; color:var(--muted); font-size:.9rem}
footer .cols{display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between; border-top:1px solid var(--line); padding-top:32px}
footer .brand{color:var(--ink); margin-bottom:10px}
footer .fcol h4{font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:var(--slate); margin:0 0 10px}
footer .fcol a{display:block; color:var(--muted); margin-bottom:7px}
footer .fine{margin-top:28px; font-size:.82rem; color:var(--muted)}

/* legal doc pages */
.doc{max-width:var(--docw); margin:0 auto; padding:48px 22px 80px}
.doc h1{font-size:clamp(1.8rem,4vw,2.4rem); letter-spacing:-.03em; margin:0 0 6px}
.doc .updated{color:var(--muted); font-size:.9rem; margin:0 0 32px; padding-bottom:20px; border-bottom:1px solid var(--line)}
.doc h2{font-size:1.25rem; letter-spacing:-.01em; margin:36px 0 10px}
.doc h3{font-size:1.05rem; margin:24px 0 8px}
.doc p, .doc li{color:#25322e; font-size:.98rem}
.doc ul{padding-left:22px}
.doc li{margin-bottom:7px}
.doc .toc{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px 24px; margin-bottom:30px}
.doc .toc h4{margin:0 0 10px; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--slate)}
.doc .toc a{font-size:.92rem}
.doc .placeholder{background:#fef3c7; color:#92400e; padding:1px 6px; border-radius:5px; font-size:.9em; font-weight:600}
.doc .box{background:var(--accent-soft); border:1px solid #bfe4dc; border-radius:12px; padding:16px 20px; margin:20px 0; font-size:.94rem}
.backlink{display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:.9rem; margin-bottom:20px}
