/* ============================================================
   ARUSH LABS — DESIGN SYSTEM
   Dark / Blue+Cyan / Glassmorphism
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  /* surfaces */
  --bg:            #05060A;
  --bg-1:          #0A0C14;
  --bg-2:          #0F121C;
  --bg-3:          #141824;
  --glass:         rgba(18, 21, 32, 0.55);
  --glass-border:  rgba(255, 255, 255, 0.08);
  --border:        rgba(255, 255, 255, 0.09);
  --border-strong: rgba(255, 255, 255, 0.16);

  /* text */
  --text:    #F3F5FA;
  --text-2:  #A7ACBD;
  --muted:   #767C8F;

  /* brand */
  --blue:      #2E6BFF;
  --blue-soft: #2E6BFF1a;
  --cyan:      #22D3EE;
  --cyan-soft: #22D3EE1a;
  --grad:      linear-gradient(120deg, #2E6BFF 0%, #22D3EE 100%);

  /* status */
  --success:      #34D399;
  --success-soft: #34D39918;
  --amber:        #F5A623;
  --amber-soft:   #F5A62318;
  --danger:       #F87171;

  --radius-sm: 8px;
  --radius:    14px;
  --radius-lg: 22px;

  --font-display: 'Space Grotesk', 'Inter', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ list-style:none; }
::selection{ background:var(--blue); color:#fff; }

:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
  border-radius:4px;
}

/* ---------- layout ---------- */
.wrap{ max-width:1160px; margin:0 auto; padding:0 1.5rem; }
.section{ padding:6rem 0; position:relative; }
.section-alt{ background:var(--bg-1); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.center{ text-align:center; }

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; color:var(--text); }
h2{ font-size:clamp(1.6rem,3.4vw,2.4rem); }
h3{ font-size:1.1rem; }
p{ color:var(--text-2); }

.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--cyan); margin-bottom:.9rem; display:flex; align-items:center; gap:.5rem;
}
.eyebrow::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--grad); box-shadow:0 0 8px var(--cyan); }
.center .eyebrow{ justify-content:center; }

.section-head{ max-width:640px; margin:0 auto 3rem; text-align:center; }
.section-head p{ margin-top:.75rem; }

/* ---------- nav ---------- */
nav.site-nav{
  position:sticky; top:0; z-index:100;
  background:rgba(5,6,10,0.72);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--border);
}
nav.site-nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:64px; gap:1rem; }
.brand{ display:flex; align-items:center; gap:.55rem; font-family:var(--font-display); font-weight:700; font-size:1.02rem; letter-spacing:-0.01em; }
.brand .mark{
  width:26px; height:26px; border-radius:7px; background:var(--grad);
  display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:800; color:#04050a; flex-shrink:0;
}
.nav-logo{ height:26px; width:auto; object-fit:contain; }
.hero-logo{ height:42px; width:auto; object-fit:contain; margin:0 auto 2rem; }
.nav-links{ display:flex; gap:1.15rem; font-size:.78rem; color:var(--text-2); }
.nav-links a{ transition:color .15s; white-space:nowrap; padding:.3rem 0; border-bottom:1px solid transparent; }
.nav-links a:hover, .nav-links a.active{ color:var(--text); }
.nav-links a.active{ border-color:var(--cyan); }
.nav-cta{
  font-size:.8rem; font-weight:600; color:#04050a; background:var(--grad);
  padding:.58rem 1.05rem; border-radius:9px; white-space:nowrap; flex-shrink:0;
}
.nav-toggle{ display:none; background:none; border:1px solid var(--border); color:var(--text); width:38px; height:38px; border-radius:8px; font-size:1rem; flex-shrink:0; }
@media (max-width:1180px){
  .nav-links{ display:none; }
  .nav-toggle{ display:block; }
}
.mobile-menu{
  display:none; flex-direction:column; gap:.2rem; padding:.5rem 1.5rem 1.25rem;
  border-bottom:1px solid var(--border); background:rgba(5,6,10,0.96);
}
.mobile-menu.open{ display:flex; }
.mobile-menu a{ padding:.65rem 0; font-size:.9rem; color:var(--text-2); border-bottom:1px solid var(--border); }
.mobile-menu a:last-child{ border-bottom:none; }

/* ---------- buttons ---------- */
.btn{
  font-size:.87rem; font-weight:600; padding:.85rem 1.5rem; border-radius:10px;
  display:inline-flex; align-items:center; gap:.5rem; transition:transform .15s, box-shadow .15s, border-color .15s;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--grad); color:#04050a; box-shadow:0 8px 30px -10px rgba(46,107,255,.55); }
.btn-ghost{ border:1px solid var(--border-strong); color:var(--text); background:rgba(255,255,255,.02); }
.btn-ghost:hover{ border-color:var(--cyan); }
.cta-row{ display:flex; gap:.9rem; flex-wrap:wrap; }
.center .cta-row{ justify-content:center; }

/* ---------- glass card ---------- */
.glass{
  background:var(--glass);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:var(--radius-lg);
}

/* ---------- hero ---------- */
.hero{ position:relative; overflow:hidden; padding:6rem 0 5rem; text-align:center; }
.hero::before, .hero::after{
  content:""; position:absolute; width:560px; height:560px; border-radius:50%; filter:blur(70px); pointer-events:none; z-index:0;
}
.hero::before{ top:-18%; left:-14%; background:radial-gradient(circle,#2E6BFF3d 0%,transparent 70%); }
.hero::after{ bottom:-24%; right:-12%; background:radial-gradient(circle,#22D3EE33 0%,transparent 70%); }
.hero-inner{ position:relative; z-index:1; }
.hero .badge-pill{
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.72rem;
  color:var(--cyan); background:var(--cyan-soft); border:1px solid #22D3EE33; padding:.45rem .9rem; border-radius:99px; margin-bottom:1.75rem;
}
.hero h1{ font-size:clamp(2.2rem,5.5vw,3.6rem); line-height:1.1; max-width:760px; margin:0 auto 1.4rem; }
.hero h1 .accent{ background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero p.lede{ color:var(--text-2); font-size:1.08rem; max-width:560px; margin:0 auto 2.5rem; }

/* ---------- terminal / demo signature element ---------- */
.term{
  max-width:640px; margin:0 auto; text-align:left; border-radius:16px; overflow:hidden;
  border:1px solid #2E6BFF3d; box-shadow:0 0 80px -10px rgba(46,107,255,.18), 0 30px 60px -30px rgba(0,0,0,.6);
}
.term-bar{ background:var(--bg-2); padding:.65rem 1rem; display:flex; align-items:center; gap:.5rem; border-bottom:1px solid var(--border); }
.term-dot{ width:9px; height:9px; border-radius:50%; background:#2a2d3a; }
.term-title{ margin-left:.5rem; font-family:var(--font-mono); font-size:.7rem; color:var(--muted); }
.term-body{ padding:1.5rem; }
.term-line{ font-family:var(--font-mono); font-size:.85rem; color:#D7DAE6; min-height:1.4em; margin-bottom:1.1rem; }
.term-line .cursor{ display:inline-block; width:7px; height:1em; background:var(--cyan); vertical-align:middle; animation:blink 1s step-end infinite; }
@keyframes blink{ 50%{ opacity:0; } }
.term-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.term-block{
  border:1px solid var(--border); border-radius:10px; padding:.8rem .95rem; background:var(--bg-3);
  opacity:0; transform:translateY(6px); transition:opacity .5s,transform .5s;
}
.term-block.show{ opacity:1; transform:translateY(0); }
.term-block .k{ font-family:var(--font-mono); font-size:.65rem; color:var(--cyan); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:.3rem; }
.term-block .v{ font-size:.85rem; color:var(--text); font-weight:600; }

/* ---------- stats ---------- */
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3rem; }
@media (max-width:820px){ .stat-row{ grid-template-columns:1fr 1fr; } }
.stat{ text-align:center; padding:1.5rem 1rem; border:1px solid var(--border); border-radius:var(--radius); background:var(--bg-1); }
.stat .n{ font-family:var(--font-display); font-size:1.9rem; font-weight:700; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.stat .l{ font-size:.78rem; color:var(--muted); margin-top:.3rem; }

/* ---------- product / tool cards ---------- */
.card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.35rem; }
@media (max-width:920px){ .card-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .card-grid{ grid-template-columns:1fr; } }

.p-card{
  background:var(--bg-1); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:1.75rem; display:flex; flex-direction:column; position:relative; transition:border-color .2s, transform .2s;
}
.p-card:hover{ border-color:#2E6BFF55; transform:translateY(-3px); }
.p-icon{
  width:50px; height:50px; border-radius:13px; background:var(--bg-3); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.1rem;
}
.p-status{
  position:absolute; top:1.6rem; right:1.6rem; font-family:var(--font-mono); font-size:.63rem; font-weight:700;
  padding:.28rem .6rem; border-radius:99px; text-transform:uppercase; letter-spacing:.05em; border:1px solid transparent;
}
.status-live{ background:var(--success-soft); color:var(--success); border-color:#34D39933; }
.status-building{ background:var(--cyan-soft); color:var(--cyan); border-color:#22D3EE33; }
.status-roadmap{ background:var(--bg-3); color:var(--muted); border-color:var(--border); }
.status-soon{ background:var(--amber-soft); color:var(--amber); border-color:#F5A62333; }

.p-card h3{ padding-right:5.5rem; margin-bottom:.55rem; }
.p-card p.desc{ font-size:.87rem; color:var(--text-2); flex:1; margin-bottom:1.1rem; }
.p-meta{ display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.1rem; }
.tag{ font-family:var(--font-mono); font-size:.67rem; color:var(--text-2); background:var(--bg-3); border:1px solid var(--border); padding:.25rem .55rem; border-radius:6px; }
.p-foot{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding-top:1rem; border-top:1px solid var(--border); }
.p-price{ font-family:var(--font-mono); font-size:.85rem; font-weight:600; color:var(--text); }
.p-price .u{ font-size:.68rem; color:var(--muted); font-weight:400; }
.link-cta{ font-size:.82rem; font-weight:600; color:var(--cyan); }
.link-cta:hover{ text-decoration:underline; }

/* empty / content-needed state (never fake data) */
.needs-content{
  border:1px dashed var(--border-strong); border-radius:var(--radius); padding:1.5rem; text-align:center;
  color:var(--muted); font-size:.85rem; background:var(--bg-1);
}
.needs-content strong{ color:var(--text-2); display:block; margin-bottom:.3rem; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }

/* ---------- timeline (open source / roadmap) ---------- */
.timeline{ position:relative; padding-left:2rem; border-left:1px solid var(--border); display:flex; flex-direction:column; gap:2rem; }
.t-item{ position:relative; }
.t-item::before{ content:""; position:absolute; left:-2.42rem; top:.2rem; width:11px; height:11px; border-radius:50%; background:var(--grad); box-shadow:0 0 0 4px var(--bg); }
.t-item .t-date{ font-family:var(--font-mono); font-size:.7rem; color:var(--cyan); margin-bottom:.35rem; }
.t-item h3{ font-size:.98rem; margin-bottom:.3rem; }
.t-item p{ font-size:.85rem; }

/* ---------- socials ---------- */
.social-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem; }
@media (max-width:820px){ .social-grid{ grid-template-columns:1fr 1fr; } }
.social-btn{
  display:flex; align-items:center; gap:.65rem; background:var(--bg-1); border:1px solid var(--border);
  border-radius:11px; padding:.9rem 1.05rem; font-size:.85rem; font-weight:600; transition:border-color .15s, transform .15s;
}
.social-btn:hover{ border-color:var(--cyan); transform:translateY(-2px); }
.social-btn .ico{ font-size:1.05rem; }

/* ---------- footer ---------- */
footer{ border-top:1px solid var(--border); padding:2.75rem 0; background:var(--bg-1); }
.foot-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.foot-row p{ color:var(--muted); font-size:.82rem; }
.foot-links{ display:flex; gap:1.5rem; font-size:.82rem; color:var(--text-2); flex-wrap:wrap; }
.foot-links a:hover{ color:var(--text); }

/* ---------- split ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
@media (max-width:820px){ .split{ grid-template-columns:1fr; } }
.split h2{ font-size:1.5rem; margin-bottom:.9rem; }

/* ---------- reveal on scroll ---------- */
[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
[data-reveal].in{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  [data-reveal]{ opacity:1; transform:none; }
}

/* ---------- page hero (secondary pages) ---------- */
.page-hero{ padding:4.5rem 0 3rem; border-bottom:1px solid var(--border); background:var(--bg-1); position:relative; overflow:hidden; }
.page-hero::before{ content:""; position:absolute; top:-40%; right:-10%; width:480px; height:480px; background:radial-gradient(circle,#22D3EE22 0%,transparent 70%); filter:blur(60px); }
.page-hero h1{ font-size:clamp(1.9rem,4.4vw,2.8rem); max-width:640px; }
.page-hero p{ max-width:560px; margin-top:.9rem; font-size:1rem; }

/* ---------- contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{ padding:2rem; }
.contact-row{ display:flex; align-items:center; gap:.9rem; padding:1rem 0; border-bottom:1px solid var(--border); }
.contact-row:last-child{ border-bottom:none; }
.contact-row .ic{ width:38px; height:38px; border-radius:10px; background:var(--bg-3); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-row .lbl{ font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-family:var(--font-mono); }
.contact-row .val{ font-size:.92rem; font-weight:600; color:var(--text); }
/* ============================================================
   SERVICES PAGE
   ============================================================ */
.services-toc{
  position:sticky; top:64px; z-index:90; background:rgba(5,6,10,0.92);
  backdrop-filter:blur(16px); border-bottom:1px solid var(--border);
  padding:.9rem 0; overflow-x:auto; scrollbar-width:none;
}
.services-toc::-webkit-scrollbar{ display:none; }
.services-toc .wrap{ display:flex; gap:.55rem; padding:0 1.5rem; }
.toc-chip{
  flex-shrink:0; font-size:.78rem; font-weight:600; color:var(--text-2);
  background:var(--bg-1); border:1px solid var(--border); padding:.5rem .95rem;
  border-radius:99px; white-space:nowrap; transition:border-color .15s, color .15s, background .15s;
  display:inline-flex; align-items:center; gap:.4rem;
}
.toc-chip:hover{ color:var(--text); border-color:var(--border-strong); }
.toc-chip.active{ color:#04050a; background:var(--grad); border-color:transparent; }

.cat-section{ padding:4.5rem 0; border-bottom:1px solid var(--border); scroll-margin-top:150px; }
.cat-section:last-of-type{ border-bottom:none; }
.cat-head{ display:flex; align-items:flex-start; gap:1rem; margin-bottom:2.5rem; max-width:720px; }
.cat-head .cat-icon{
  width:52px; height:52px; border-radius:14px; background:var(--bg-1); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; flex-shrink:0;
}
.cat-head h2{ margin-bottom:.4rem; }
.cat-head p{ font-size:.92rem; }

.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width:980px){ .svc-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .svc-grid{ grid-template-columns:1fr; } }

.svc-card{
  background:var(--bg-1); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:1.5rem; display:flex; flex-direction:column; transition:border-color .2s, transform .2s;
}
.svc-card:hover{ border-color:#2E6BFF55; transform:translateY(-3px); }
.svc-card .p-icon{ width:44px; height:44px; font-size:1.15rem; margin-bottom:.9rem; }
.svc-card h3{ font-size:1.02rem; margin-bottom:.5rem; }
.svc-card .desc{ font-size:.84rem; margin-bottom:1rem; }

.svc-block{ margin-bottom:.9rem; }
.svc-block .lbl{
  font-family:var(--font-mono); font-size:.63rem; font-weight:700; color:var(--cyan);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:.45rem; display:block;
}
.svc-list{ display:flex; flex-direction:column; gap:.32rem; }
.svc-list li{ font-size:.78rem; color:var(--text-2); padding-left:1rem; position:relative; }
.svc-list li::before{ content:"→"; position:absolute; left:0; color:var(--cyan); font-size:.72rem; }
.svc-tags{ display:flex; flex-wrap:wrap; gap:.35rem; }

.svc-foot{ margin-top:auto; padding-top:1rem; border-top:1px solid var(--border); }
.svc-foot a{
  font-size:.8rem; font-weight:600; color:var(--cyan); display:inline-flex; align-items:center; gap:.35rem;
}
.svc-foot a:hover{ text-decoration:underline; }

.services-hero-stats{ display:flex; gap:2.5rem; flex-wrap:wrap; margin-top:2rem; }
.services-hero-stats .s{ }
.services-hero-stats .s .n{ font-family:var(--font-display); font-size:1.5rem; font-weight:700; color:var(--text); }
.services-hero-stats .s .l{ font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }

.sticky-contact-bar{
  position:fixed; bottom:1.25rem; right:1.25rem; z-index:200;
}
.sticky-contact-bar a{
  display:flex; align-items:center; gap:.5rem; background:var(--grad); color:#04050a;
  font-size:.85rem; font-weight:700; padding:.85rem 1.3rem; border-radius:99px;
  box-shadow:0 10px 40px -10px rgba(46,107,255,.6);
}
@media (max-width:640px){ .sticky-contact-bar{ right:1rem; bottom:1rem; } .sticky-contact-bar a span.long{ display:none; } }

/* ---------- service pricing ---------- */
.price-toggle{
  display:flex; align-items:center; justify-content:space-between; width:100%;
  background:var(--bg-2); border:1px solid var(--border); border-radius:10px;
  padding:.65rem .85rem; margin-bottom:0; font-size:.8rem; font-weight:600; color:var(--text-2);
  cursor:pointer; transition:border-color .15s, color .15s;
  font-family:var(--font-body);
}
.price-toggle:hover{ border-color:var(--border-strong); color:var(--text); }
.price-toggle.open{ color:var(--cyan); border-color:#22D3EE44; border-bottom-left-radius:0; border-bottom-right-radius:0; }
.price-toggle .chev{ font-size:.7rem; }

.svc-price{
  max-height:0; overflow:hidden; opacity:0;
  border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px;
  padding:0 .85rem; margin-bottom:0;
  transition:max-height .25s ease, opacity .2s ease, padding .25s ease;
}
.svc-price.open{
  max-height:220px; opacity:1; padding:.85rem .85rem; margin-bottom:.9rem; border-color:var(--border);
}
.svc-price .fixed-price{ display:flex; align-items:baseline; gap:.4rem; flex-wrap:wrap; }
.svc-price .inr{ font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:var(--text); }
.svc-price .usd{ font-family:var(--font-mono); font-size:.75rem; color:var(--muted); }
.svc-price .suffix{ font-size:.72rem; color:var(--muted); }
.svc-price .starting{ font-family:var(--font-mono); font-size:.62rem; color:var(--cyan); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:.25rem; }

.tier-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
.tier-box{
  border:1px solid var(--border); border-radius:10px; padding:.6rem .5rem; text-align:center; background:var(--bg-2);
}
.tier-box .tn{ font-family:var(--font-mono); font-size:.6rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:.3rem; }
.tier-box.pro{ border-color:#2E6BFF55; }
.tier-box.premium{ border-color:#22D3EE55; }
.tier-box .ti{ font-family:var(--font-display); font-size:.88rem; font-weight:700; color:var(--text); }
.tier-box .tu{ font-family:var(--font-mono); font-size:.6rem; color:var(--muted); }

.svc-price .custom-quote{
  display:flex; align-items:center; gap:.4rem; font-size:.85rem; font-weight:600; color:var(--cyan);
}

/* proposed pricing note on product cards */
.price-note{
  font-family:var(--font-mono); font-size:.66rem; color:var(--amber); background:var(--amber-soft);
  border:1px solid #F5A62333; padding:.35rem .65rem; border-radius:8px; display:inline-block; margin-top:.6rem;
}
.plan-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem; }
@media (max-width:820px){ .plan-grid{ grid-template-columns:1fr; } }
.plan-card{
  border:1px solid var(--border); border-radius:var(--radius); padding:1.4rem; background:var(--bg-2); position:relative;
}
.plan-card.pro{ border-color:#2E6BFF66; }
.plan-card.premium{ border-color:#22D3EE66; }
.plan-card .pn{ font-family:var(--font-mono); font-size:.68rem; color:var(--cyan); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
.plan-card .pp{ font-family:var(--font-display); font-size:1.5rem; font-weight:700; color:var(--text); }
.plan-card .pp .u{ font-size:.75rem; color:var(--muted); font-weight:400; }
.plan-card .pu{ font-family:var(--font-mono); font-size:.72rem; color:var(--muted); margin-bottom:.9rem; }
.plan-card ul{ display:flex; flex-direction:column; gap:.4rem; }
.plan-card li{ font-size:.8rem; color:var(--text-2); padding-left:1rem; position:relative; }
.plan-card li::before{ content:"✓"; position:absolute; left:0; color:var(--success); }

/* --- Blog article typography --- */
.blog-article{ max-width:760px; margin:0 auto; }
.blog-article h2{ margin-top:2.75rem; margin-bottom:1rem; }
.blog-article h3{ margin-top:2rem; margin-bottom:.75rem; font-size:1.3rem; }
.blog-article p{ color:var(--text-2); line-height:1.75; margin-bottom:1.15rem; }
.blog-article ul, .blog-article ol{ color:var(--text-2); line-height:1.75; margin:0 0 1.15rem 1.4rem; }
.blog-article li{ margin-bottom:.4rem; }
.blog-article table{ width:100%; border-collapse:collapse; margin:1.5rem 0 2rem; font-size:.92rem; }
.blog-article th, .blog-article td{ border:1px solid var(--border); padding:.6rem .8rem; text-align:left; }
.blog-article th{ background:var(--bg-1); color:var(--text); }
.blog-article strong{ color:var(--text); }
.blog-cta{ margin:2.5rem 0; padding:1.5rem; border-radius:14px; background:var(--bg-1); border:1px solid var(--border); text-align:center; }
.blog-tags{ margin:1.5rem 0; display:flex; flex-wrap:wrap; gap:.5rem; }
.tag-pill{ font-size:.8rem; padding:.3rem .8rem; border-radius:999px; border:1px solid var(--border); color:var(--text-2); }
