/* ============================================================
   راوی — Design System  (Otter-benchmarked)
   Palette: electric blue · near-black ink · white · soft lavender
   Type:    Vazirmatn only (clean geometric sans, airy weights)
   ============================================================ */
:root{
  /* ---- Brand blue ---- */
  --blue-700:#0B3FD4;
  --blue-600:#1450E8;
  --blue:#1F5BFF;        /* primary interactive */
  --blue-400:#5C86FF;
  --blue-200:#B9CBFF;
  --blue-50:#ECF1FF;     /* light tint surface */

  /* ---- Ink / text ---- */
  --ink:#13151B;         /* headlines, near-black */
  --ink-2:#2C3038;
  --body:#5A6473;        /* paragraph gray */
  --muted:#8B94A3;       /* captions */

  /* ---- Surfaces ---- */
  --white:#FFFFFF;
  --paper:#F7F8FA;       /* off-white section bg */
  --paper-2:#F1F3F7;
  --line:#EAECF1;        /* hairline border */
  --line-2:#DFE3EA;

  /* ---- Soft ambient pastels (glows only) ---- */
  --lav:#ECE7FB;
  --lav-2:#E4DBFA;
  --blush:#FBEAF1;
  --sky:#E7F0FD;
  --mint:#E4F6F1;

  /* ---- Semantic ---- */
  --success:#10936A;
  --warning:#C9871F;
  --danger:#D83A3A;

  /* ---- Type ---- */
  --sans:'Vazirmatn', system-ui, -apple-system, sans-serif;

  /* ---- Radius / shadow ---- */
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(19,21,27,.05);
  --sh-sm:0 4px 14px rgba(19,21,27,.06);
  --sh-md:0 14px 40px rgba(19,21,27,.09);
  --sh-lg:0 30px 70px rgba(19,21,27,.12);
  --sh-blue:0 12px 30px rgba(31,91,255,.28);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  background:var(--white);
  color:var(--ink);
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-weight:600;line-height:1.16;letter-spacing:-.01em;color:var(--ink);}

/* ---------- layout ---------- */
.wrap{max-width:1200px;margin-inline:auto;padding-inline:48px;}
section{padding-block:104px;}
.sec-head{max-width:680px;margin-bottom:52px;}
.eyebrow{display:inline-block;font-size:14px;font-weight:600;color:var(--blue);letter-spacing:.01em;margin-bottom:18px;}
.sec-title{font-size:46px;font-weight:600;margin-bottom:16px;letter-spacing:-.02em;}
.sec-sub{font-size:20px;color:var(--body);line-height:1.65;}
.card-label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.brand .word{font-size:25px;font-weight:700;color:var(--ink);letter-spacing:-.01em;}
.nav-links{display:flex;gap:34px;}
.nav-links a{color:var(--body);text-decoration:none;font-size:15px;font-weight:500;transition:color .18s;}
.nav-links a:hover{color:var(--ink);}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--white);}
.hero .ambient{position:absolute;inset:0;pointer-events:none;z-index:0;}
.hero .ambient::before{content:"";position:absolute;width:760px;height:760px;right:-160px;top:-220px;border-radius:50%;
  background:radial-gradient(closest-side, var(--lav) 0%, rgba(236,231,251,0) 70%);filter:blur(8px);}
.hero .ambient::after{content:"";position:absolute;width:620px;height:620px;left:-120px;top:120px;border-radius:50%;
  background:radial-gradient(closest-side, var(--blush) 0%, rgba(251,234,241,0) 70%);}
.hero .wrap{position:relative;z-index:1;text-align:center;padding-block:120px 130px;}
.hero h1{font-size:78px;font-weight:600;letter-spacing:-.03em;line-height:1.08;margin:26px auto 22px;max-width:14ch;}
.hero h1 .em{color:var(--blue);}
.hero p{font-size:22px;color:var(--body);max-width:600px;margin-inline:auto;line-height:1.6;}
.hero-cta{margin-top:40px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hero-note{margin-top:24px;font-size:15px;color:var(--muted);}

/* ---------- buttons ---------- */
.btn{font-family:var(--sans);font-weight:600;font-size:16px;border:none;border-radius:var(--r-pill);
  padding:14px 28px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  transition:transform .14s ease, box-shadow .22s, background .18s, border-color .18s;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-lg{font-size:17px;padding:17px 34px;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--sh-blue);}
.btn-primary:hover{background:var(--blue-600);}
.btn-outline{background:#fff;color:var(--blue);border:1.5px solid var(--blue-200);}
.btn-outline:hover{border-color:var(--blue);background:var(--blue-50);}
.btn-ink{background:var(--ink);color:#fff;}
.btn-ink:hover{background:#000;}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-2);}
.btn-ghost:hover{border-color:var(--ink);}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:24px;}
.g-2{grid-template-columns:repeat(2,1fr);}
.g-3{grid-template-columns:repeat(3,1fr);}
.g-4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;box-shadow:var(--sh-xs);}
.card.soft{box-shadow:var(--sh-sm);border-color:transparent;}

/* ---------- logo lockups ---------- */
.lockup{display:inline-flex;align-items:center;gap:14px;}
.lockup .word{font-weight:700;letter-spacing:-.01em;color:var(--ink);}
.logo-stage{display:flex;align-items:center;justify-content:center;min-height:210px;border-radius:var(--r-lg);}
.stage-white{background:var(--white);border:1px solid var(--line);}
.stage-paper{background:var(--paper);border:1px solid var(--line);}
.stage-blue{background:var(--blue);}
.stage-ink{background:var(--ink);}
.stage-soft{background:linear-gradient(135deg,var(--sky),var(--lav));}
.stage-grid{background:#fff;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--line);}
.stage-cap{padding:16px 22px;border-top:1px solid var(--line);font-size:14px;color:var(--body);}

/* ---------- color swatches ---------- */
.swatch{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:#fff;}
.swatch .chip{height:108px;}
.swatch .info{padding:14px 16px;}
.swatch .name{font-weight:600;font-size:15px;}
.swatch .hex{font-size:12.5px;color:var(--muted);font-family:ui-monospace,monospace;direction:ltr;text-align:left;margin-top:3px;letter-spacing:.02em;}

/* ---------- type specimen ---------- */
.type-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);}
.type-row:last-child{border-bottom:none;}
.type-spec{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--muted);direction:ltr;white-space:nowrap;}
.wght{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;}
.wght span{font-size:40px;line-height:1;}

/* ---------- UI bits ---------- */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.chip{font-size:14px;font-weight:500;padding:8px 16px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);color:var(--body);}
.chip.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:6px 13px;border-radius:var(--r-pill);}
.badge.live{background:var(--blue-50);color:var(--blue-600);}
.badge.done{background:var(--mint);color:var(--success);}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;}
.dot.pulse{animation:pulse 1.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.input{width:100%;font-family:var(--sans);font-size:16px;padding:15px 18px;border:1.5px solid var(--line-2);border-radius:var(--r-md);background:#fff;color:var(--ink);}
.input::placeholder{color:var(--muted);}
.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-50);}

/* transcript demo */
.tx{display:flex;gap:13px;padding:13px 0;}
.tx .av{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:14px;}
.tx .who{font-weight:600;font-size:14.5px;}
.tx .t{font-size:12px;color:var(--muted);font-family:ui-monospace,monospace;direction:ltr;}
.tx .said{font-size:14.5px;color:var(--body);margin-top:2px;}
.summary{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--r-md);padding:16px 18px;font-size:14.5px;color:var(--ink-2);margin-top:8px;}
.summary .lbl{font-weight:600;color:var(--blue-600);margin-bottom:5px;font-size:13px;}

/* ---------- clearspace & misuse ---------- */
.dont{position:relative;}
.dont .x{position:absolute;top:12px;left:12px;width:24px;height:24px;border-radius:50%;background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;}

/* ---------- voice & tone ---------- */
.vt{border-radius:var(--r-md);padding:24px 26px;}
.vt.good{background:var(--mint);border:1px solid rgba(16,147,106,.25);}
.vt.bad{background:#FCEDEC;border:1px solid rgba(216,58,58,.2);}
.vt .h{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:14px;font-size:15px;}
.vt.good .h{color:var(--success);}
.vt.bad .h{color:var(--danger);}
.vt p{font-size:17px;color:var(--ink-2);}
.vt p+p{margin-top:10px;}

footer{background:var(--paper);border-top:1px solid var(--line);text-align:center;padding-block:44px;font-size:14px;color:var(--muted);}

@media(max-width:920px){
  .g-3,.g-4{grid-template-columns:repeat(2,1fr);}
  .g-2{grid-template-columns:1fr;}
  .hero h1{font-size:50px;}
  .sec-title{font-size:34px;}
  .wrap{padding-inline:26px;}
}