/* ===========================================================
   Abstract Logic — Global Stylesheet (compact rev.)
   Brand: primary #215C5C · secondary #CCE8C9
   Product accents: Swastik #004d40 · Voice #5b3df5 → #e040fb
   =========================================================== */

:root{
  --primary:#215C5C;
  --primary-hover:#144B4B;
  --secondary:#CCE8C9;
  --heading:#16181B;
  --body:#4A4D5B;
  --muted:#7A7D8C;
  --bg:#ffffff;
  --bg-soft:#F7FBF8;
  --bg-tint:rgba(33,92,92,0.06);
  --surface:#ffffff;
  --surface-2:#F4FAF6;
  --border:rgba(73,75,91,0.12);
  --border-strong:rgba(73,75,91,0.18);
  --header-bg:rgba(255,255,255,.88);
  --shadow-sm:0 1px 3px rgba(22,24,27,0.06);
  --shadow-md:0 8px 24px rgba(22,24,27,0.08);
  --shadow-lg:0 18px 48px rgba(22,24,27,0.12);

  --swastik:#004d40;
  --swastik-accent:#00796b;
  --swastik-light:#e0f2f1;

  --voice:#5b3df5;
  --voice-2:#e040fb;
  --voice-soft:#F2EEFF;

  --radius-sm:8px;
  --radius:12px;
  --radius-lg:18px;

  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-head:'Plus Jakarta Sans',var(--font-body);

  --container:1200px;
  --gutter:20px;

  --transition:200ms cubic-bezier(.4,.0,.2,1);
}

[data-theme="dark"]{
  --primary:#5DBFBF;
  --primary-hover:#86D6D6;
  --heading:#F2F4F6;
  --body:#C5C9D2;
  --muted:#8A8F9C;
  --bg:#0F1316;
  --bg-soft:#15191D;
  --bg-tint:rgba(93,191,191,0.14);
  --surface:#1A1F23;
  --surface-2:#222830;
  --border:rgba(255,255,255,0.10);
  --border-strong:rgba(255,255,255,0.18);
  --header-bg:rgba(15,19,22,.82);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.35);
  --shadow-md:0 8px 24px rgba(0,0,0,0.45);
  --shadow-lg:0 18px 48px rgba(0,0,0,0.6);
}
html{color-scheme:light dark;}
html,body{transition:background-color .25s ease,color .25s ease;}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--body);
  background:var(--bg);
  line-height:1.55;
  font-size:15.5px;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;height:auto;}
a{color:var(--primary);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--primary-hover);}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);color:var(--heading);
  font-weight:700;line-height:1.18;margin:0 0 .45em;letter-spacing:-.01em;
}
h1{font-size:clamp(1.85rem,3.8vw,2.95rem);letter-spacing:-.02em;}
h2{font-size:clamp(1.45rem,2.6vw,2.05rem);}
h3{font-size:clamp(1.08rem,1.6vw,1.25rem);}
h4{font-size:1rem;}
p{margin:0 0 .85em;}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.section{padding:44px 0;}
.section-tight{padding:26px 0;}
.section-soft{background:var(--bg-soft);}
.section-tint{background:linear-gradient(180deg,#F4FAF6 0%,#ffffff 100%);}

.eyebrow{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--primary);background:var(--bg-tint);
  padding:5px 11px;border-radius:999px;margin-bottom:10px;
}

.section-head{max-width:680px;margin:0 auto 24px;text-align:center;}
.section-head p{color:var(--muted);font-size:.98rem;margin:0;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 22px;
  font-family:var(--font-head);font-weight:600;font-size:.92rem;
  border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  transition:transform var(--transition),background var(--transition),box-shadow var(--transition),color var(--transition);
  text-align:center;line-height:1;
}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(33,92,92,.22);}
.btn-primary:hover{background:var(--primary-hover);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(33,92,92,.28);}
.btn-ghost{background:transparent;color:var(--heading);border-color:var(--border-strong);}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);}
.btn-swastik{background:var(--swastik);color:#fff;box-shadow:0 6px 16px rgba(0,77,64,.22);}
.btn-swastik:hover{background:var(--swastik-accent);color:#fff;transform:translateY(-1px);}
.btn-voice{background:linear-gradient(120deg,#5b3df5,#e040fb);color:#fff;box-shadow:0 6px 18px rgba(91,61,245,.28);}
.btn-voice:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(91,61,245,.36);color:#fff;}
.btn-sm{padding:8px 16px;font-size:.85rem;}

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky;top:0;z-index:80;
  background:var(--header-bg);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--border);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:24px;}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:800;font-size:1.15rem;color:var(--heading);letter-spacing:-.01em;line-height:1;}
.brand svg,.brand img{flex:none;height:32px;width:auto;}
.brand:hover{color:var(--primary);}
.brand small{display:block;font-family:var(--font-body);font-weight:600;font-size:.62rem;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-top:3px;}
.nav-links{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0;}
.nav-links a{
  color:var(--body);font-weight:500;font-size:.92rem;font-family:var(--font-head);
  padding:6px 0;position:relative;
}
.nav-links a:hover,.nav-links a.active{color:var(--primary);}
.nav-links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;
  background:var(--primary);border-radius:2px;
}
.nav-cta{display:flex;align-items:center;gap:8px;}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;border-radius:10px;align-items:center;justify-content:center;cursor:pointer;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--heading);position:relative;}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--heading);}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}

/* Dropdown */
.has-drop{position:relative;}
.has-drop > a::after{
  content:"";display:inline-block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:5px;margin-bottom:2px;
  transition:transform var(--transition);
}
.has-drop:hover > a::after,.has-drop:focus-within > a::after{transform:rotate(225deg);margin-bottom:-2px;}
.drop{
  position:absolute;top:calc(100% + 4px);left:0;min-width:260px;
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:8px;box-shadow:var(--shadow-lg);
  list-style:none;margin:0;display:none;z-index:90;
}
.has-drop:hover .drop,.has-drop:focus-within .drop,.has-drop.open .drop{display:block;}
.drop li{margin:0;}
.drop a{
  display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;
  color:var(--heading);font-weight:600;font-size:.88rem;font-family:var(--font-head);
}
.drop a:hover{background:var(--bg-tint);color:var(--primary);}
.drop a .di{
  width:32px;height:32px;border-radius:8px;background:var(--bg-tint);color:var(--primary);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.drop a small{display:block;color:var(--muted);font-weight:500;font-family:var(--font-body);font-size:.74rem;margin-top:2px;}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  padding:48px 0 40px;
  background:radial-gradient(900px 460px at 92% -20%,rgba(33,92,92,.08),transparent 60%),
             radial-gradient(720px 360px at -10% 90%,rgba(204,232,201,.40),transparent 55%),
             var(--bg);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.hero h1 span.accent{
  background:linear-gradient(90deg,var(--primary) 0%,#3D8C8C 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{font-size:1.02rem;color:var(--muted);max-width:540px;margin-bottom:20px;}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;}
.hero-stats .stat strong{display:block;font-family:var(--font-head);font-size:1.45rem;color:var(--heading);}
.hero-stats .stat span{font-size:.78rem;color:var(--muted);}

.hero-art{position:relative;}
.hero-art .float-card{
  position:absolute;background:var(--surface);border-radius:12px;padding:10px 14px;
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;
  animation:floaty 6s ease-in-out infinite;
}
.hero-art .float-card.one{top:6%;left:-5%;}
.hero-art .float-card.two{bottom:6%;right:-3%;animation-delay:1.5s;}
.float-card .dot{width:32px;height:32px;border-radius:10px;background:var(--bg-tint);display:flex;align-items:center;justify-content:center;color:var(--primary);}
.float-card small{display:block;color:var(--muted);font-size:.7rem;}
.float-card strong{font-family:var(--font-head);color:var(--heading);font-size:.86rem;}

.hero-image{
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);
  background:#eef5ee;
  aspect-ratio:5/4;
  position:relative;
}
.hero-image img{width:100%;height:100%;object-fit:cover;}

@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* ---------- Stats strip (NEW compact) ---------- */
.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  background:var(--surface);border:1px solid var(--border);border-radius:14px;
  overflow:hidden;box-shadow:var(--shadow-sm);
}
.stats-strip > div{
  padding:18px 20px;text-align:center;border-right:1px solid var(--border);
}
.stats-strip > div:last-child{border-right:0;}
.stats-strip strong{display:block;font-family:var(--font-head);font-size:1.55rem;color:var(--primary);line-height:1;margin-bottom:4px;}
.stats-strip span{font-size:.78rem;color:var(--muted);}

/* ---------- Logo cloud / tech strip ---------- */
.logos{padding:28px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);}
.logos p{text-align:center;color:var(--muted);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;}
.logos-row{display:flex;justify-content:center;align-items:center;gap:36px;flex-wrap:wrap;opacity:.78;}
.logos-row span{font-family:var(--font-head);font-weight:700;font-size:1.02rem;color:var(--body);}

/* Tech stack icon grid (NEW) */
.tech-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}
.tech-stack .tech{
  display:flex;align-items:center;gap:8px;padding:10px 12px;
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
  font-family:var(--font-head);font-weight:600;font-size:.84rem;color:var(--heading);
  transition:border-color var(--transition),transform var(--transition);
}
.tech-stack .tech:hover{border-color:var(--primary);transform:translateY(-1px);}
.tech-stack .tech-ic{width:22px;height:22px;border-radius:6px;background:var(--bg-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:none;}

/* ---------- Cards / Services ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
  position:relative;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(33,92,92,.25);}
.card .icon{
  width:42px;height:42px;border-radius:10px;
  background:var(--bg-tint);color:var(--primary);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.card h3{margin-bottom:6px;font-size:1.04rem;}
.card p{color:var(--muted);font-size:.9rem;margin:0;line-height:1.55;}
.card .meta{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.card .meta span{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);background:var(--bg-tint);padding:3px 8px;border-radius:999px;}

/* Compact card variant */
.cards-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
.cards-compact .card{padding:16px;}
.cards-compact .icon{width:34px;height:34px;border-radius:8px;margin-bottom:10px;}
.cards-compact h3{font-size:.96rem;margin-bottom:4px;}
.cards-compact p{font-size:.84rem;}

/* ---------- Process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;}
.step{text-align:center;padding:8px;}
.step-num{
  width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
  font-family:var(--font-head);font-weight:700;font-size:1rem;
  box-shadow:0 8px 18px rgba(33,92,92,.22);
}
.step h4{margin:0 0 4px;color:var(--heading);font-family:var(--font-head);font-size:.98rem;}
.step p{font-size:.86rem;color:var(--muted);margin:0;}

/* ---------- Feature split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.split-reverse{direction:rtl;}
.split-reverse > *{direction:ltr;}
.split-media{
  border-radius:var(--radius-lg);overflow:hidden;background:var(--secondary);
  box-shadow:var(--shadow-md);aspect-ratio:5/4;
}
.split-media img{width:100%;height:100%;object-fit:cover;}
.split-media-contain{aspect-ratio:5/4;display:flex;align-items:center;justify-content:center;padding:18px;}
.split-media-contain img{width:auto;height:100%;max-height:100%;object-fit:contain;}
.checklist{list-style:none;padding:0;margin:14px 0 22px;}
.checklist li{position:relative;padding-left:26px;margin-bottom:8px;color:var(--body);font-size:.94rem;line-height:1.55;}
.checklist li::before{
  content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;
  background:var(--bg-tint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23215C5C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;
}
.checklist-compact{columns:2;column-gap:24px;}
.checklist-compact li{break-inside:avoid;}

/* ---------- Comparison table (NEW) ---------- */
.compare{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);width:100%;border-collapse:collapse;
}
.compare th,.compare td{
  padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem;
}
.compare th{
  background:var(--bg-soft);color:var(--heading);font-family:var(--font-head);
  font-weight:700;font-size:.84rem;letter-spacing:.04em;
}
.compare th.center,.compare td.center{text-align:center;}
.compare tr:last-child td{border-bottom:0;}
.compare td.row-label{font-weight:600;color:var(--heading);}
.compare .ok{color:#059652;font-weight:700;}
.compare .no{color:#7A7D8C;}
.compare .hl{background:rgba(33,92,92,.05);}

/* ---------- Swastik product band ---------- */
.swastik-band{
  background:linear-gradient(135deg,#004d40 0%,#00796b 70%,#009688 100%);
  color:#e6f4f1;border-radius:var(--radius-lg);padding:36px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;
  box-shadow:var(--shadow-lg);position:relative;overflow:hidden;
}
.swastik-band::before{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%);
  top:-140px;right:-100px;pointer-events:none;
}
.swastik-band h2{color:#fff;}
.swastik-band p{color:rgba(255,255,255,.85);font-size:.95rem;}
.swastik-band .pill{
  display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#b2dfdb;
  background:rgba(255,255,255,.10);padding:5px 10px;border-radius:999px;margin-bottom:12px;
}
.swastik-feats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px;}
.swastik-feats span{
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
  padding:7px 11px;border-radius:8px;font-size:.82rem;color:#e6f4f1;
}
.swastik-mock{
  background:#fff;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-lg);
  transform:rotate(-1.2deg);
}
.swastik-mock img{border-radius:10px;}

/* Voice band uses .swastik-band base with gradient override */

/* ---------- Pricing ---------- */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.plan{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;
  display:flex;flex-direction:column;position:relative;transition:transform var(--transition),box-shadow var(--transition);
}
.plan:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.plan.featured{border-color:var(--primary);box-shadow:var(--shadow-md);}
.plan .badge{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--primary);color:#fff;font-size:.68rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;
}
.plan h3{margin-bottom:4px;}
.plan .price{font-family:var(--font-head);font-size:1.8rem;font-weight:700;color:var(--heading);margin:4px 0;}
.plan .price small{font-size:.78rem;color:var(--muted);font-weight:500;}
.plan ul{list-style:none;padding:0;margin:14px 0;flex:1;}
.plan ul li{padding:6px 0 6px 24px;position:relative;color:var(--body);font-size:.88rem;border-bottom:1px dashed var(--border);}
.plan ul li:last-child{border-bottom:0;}
.plan ul li::before{
  content:"";position:absolute;left:0;top:10px;width:14px;height:14px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23215C5C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;
}

/* ---------- Testimonials ---------- */
.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.testi{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;
}
.testi p{color:var(--body);font-style:italic;margin-bottom:14px;font-size:.94rem;}
.testi-meta{display:flex;align-items:center;gap:10px;}
.testi-meta .avatar{width:38px;height:38px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;color:var(--primary);font-weight:700;font-family:var(--font-head);font-size:.86rem;}
.testi-meta strong{display:block;color:var(--heading);font-family:var(--font-head);font-size:.92rem;}
.testi-meta span{font-size:.78rem;color:var(--muted);}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;}
.faq details{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px 18px;margin-bottom:8px;transition:border-color var(--transition);
}
.faq details[open]{border-color:rgba(33,92,92,.35);box-shadow:var(--shadow-sm);}
.faq summary{
  cursor:pointer;font-family:var(--font-head);font-weight:600;color:var(--heading);
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.95rem;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";font-size:1.3rem;color:var(--primary);transition:transform var(--transition);
}
.faq details[open] summary::after{content:"−";}
.faq details p{margin:10px 0 0;color:var(--muted);font-size:.92rem;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(120deg,#215C5C 0%,#144B4B 100%);color:#fff;
  padding:44px;border-radius:var(--radius-lg);text-align:center;position:relative;overflow:hidden;
}
.cta-banner::after{
  content:"";position:absolute;inset:0;background:
    radial-gradient(320px 220px at 90% 0%,rgba(204,232,201,.16),transparent 60%),
    radial-gradient(320px 220px at 8% 100%,rgba(255,255,255,.10),transparent 60%);
  pointer-events:none;
}
.cta-banner h2{color:#fff;}
.cta-banner p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 20px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;}
.contact-info{background:var(--bg-soft);border-radius:var(--radius);padding:26px;border:1px solid var(--border);}
.contact-info ul{list-style:none;padding:0;margin:16px 0 0;}
.contact-info li{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start;}
.contact-info .icn{width:34px;height:34px;border-radius:9px;background:var(--bg-tint);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:none;}
.contact-info strong{display:block;color:var(--heading);font-family:var(--font-head);margin-bottom:2px;font-size:.92rem;}
.contact-info span{color:var(--muted);font-size:.88rem;}

.form{display:grid;gap:12px;}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form label{font-size:.8rem;color:var(--heading);font-weight:600;font-family:var(--font-head);margin-bottom:3px;display:block;}
.form input,.form select,.form textarea{
  width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:9px;
  font-family:inherit;font-size:.92rem;color:var(--heading);background:var(--surface);
  transition:border-color var(--transition),box-shadow var(--transition);
}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(33,92,92,.12);
}
.form textarea{min-height:120px;resize:vertical;}

/* ---------- Footer ---------- */
.site-footer{background:#0F1418;color:#cbd1d4;padding:52px 0 22px;margin-top:24px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;margin-bottom:32px;}
.site-footer h4{color:#fff;font-size:.9rem;font-family:var(--font-head);margin-bottom:14px;letter-spacing:.04em;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:7px;}
.site-footer a{color:#a3aab0;font-size:.88rem;}
.site-footer a:hover{color:#CCE8C9;}
.site-footer .brand{color:#fff;margin-bottom:12px;}
.site-footer .brand:hover{color:#CCE8C9;}
.footer-about p{color:#8e959b;font-size:.88rem;}
.newsletter{display:flex;gap:6px;margin-top:10px;}
.newsletter input{flex:1;padding:9px 12px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-family:inherit;font-size:.86rem;}
.newsletter input::placeholder{color:#7c828a;}
.newsletter button{padding:9px 14px;border-radius:7px;border:0;background:var(--secondary);color:var(--primary-hover);font-weight:700;font-family:var(--font-head);cursor:pointer;font-size:.86rem;transition:background var(--transition);}
.newsletter button:hover{background:#b6ddb1;}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#7c828a;font-size:.82rem;}
.socials{display:flex;gap:8px;}
.socials a{
  width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;color:#cbd1d4;transition:background var(--transition),color var(--transition);
}
.socials a:hover{background:var(--secondary);color:var(--primary-hover);}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Utility ---------- */
.lockup{display:inline-flex;align-items:center;gap:10px;}
.lockup img{height:34px;width:auto;}
.lockup strong{font-family:var(--font-head);font-weight:800;color:var(--heading);font-size:1.05rem;letter-spacing:-.01em;}
.lockup small{display:block;font-size:.7rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;}
.kicker-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.kicker-row span{font-size:.74rem;font-weight:600;color:var(--heading);background:var(--surface);border:1px solid var(--border);padding:5px 10px;border-radius:999px;}

/* Mini-meta info chips */
.chips{display:flex;gap:6px;flex-wrap:wrap;}
.chips span{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);background:var(--bg-tint);padding:3px 8px;border-radius:999px;}

/* Module pill grid */
.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;}
.modules div{
  background:#fff;border:1px solid #cfece8;border-radius:9px;padding:10px 12px;
  font-weight:600;color:#004d40;font-family:var(--font-head);font-size:.84rem;
  display:flex;align-items:center;gap:8px;
}
.modules .mdot{width:6px;height:6px;border-radius:50%;background:#00796b;flex:none;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .section{padding:36px 0;}
  .hero{padding:36px 0 32px;}
  .hero-grid,.split,.contact-grid,.swastik-band{grid-template-columns:1fr;gap:32px;}
  .split-reverse{direction:ltr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .pricing,.testis,.footer-grid{grid-template-columns:1fr 1fr;}
  .stats-strip{grid-template-columns:repeat(2,1fr);}
  .stats-strip > div{border-right:none;border-bottom:1px solid var(--border);}
  .stats-strip > div:nth-child(odd){border-right:1px solid var(--border);}
  .stats-strip > div:nth-last-child(-n+2){border-bottom:0;}
  .swastik-band,.cta-banner{padding:28px;}
  .nav-links{
    position:absolute;top:100%;right:14px;left:14px;background:var(--surface);
    border:1px solid var(--border);border-radius:var(--radius);padding:14px;
    flex-direction:column;align-items:flex-start;gap:10px;
    box-shadow:var(--shadow-lg);display:none;
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:flex;}
  .hero-art .float-card.one{left:0;}
  .hero-art .float-card.two{right:0;}
  .has-drop .drop{position:static;box-shadow:none;border:0;padding:4px 0 0 6px;min-width:0;}
  .has-drop > a::after{display:none;}
  .checklist-compact{columns:1;}
}

@media (max-width:620px){
  .steps,.pricing,.testis,.footer-grid,.stats-strip{grid-template-columns:1fr;}
  .form .row{grid-template-columns:1fr;}
  .swastik-feats{grid-template-columns:1fr;}
  .swastik-band,.cta-banner{padding:22px 18px;}
  .stats-strip > div{border-right:0!important;border-bottom:1px solid var(--border);}
  .stats-strip > div:last-child{border-bottom:0;}
}

/* ---------- Theme toggle button (header) ---------- */
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:10px;
  background:var(--bg-tint);color:var(--primary);border:1px solid transparent;
  cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition);
}
.theme-toggle:hover{background:var(--surface-2);border-color:var(--border);}
.theme-toggle:active{transform:scale(.94);}
.theme-toggle .sun{display:none;}
.theme-toggle .moon{display:block;}
[data-theme="dark"] .theme-toggle .sun{display:block;}
[data-theme="dark"] .theme-toggle .moon{display:none;}

/* ---------- Dark-mode targeted overrides ---------- */
[data-theme="dark"] .hero{
  background:
    radial-gradient(900px 460px at 92% -20%,rgba(93,191,191,.18),transparent 60%),
    radial-gradient(720px 360px at -10% 90%,rgba(93,191,191,.10),transparent 55%),
    var(--bg);
}
[data-theme="dark"] .hero-image{background:#1d2528;}
[data-theme="dark"] .modules div{background:var(--surface);border-color:rgba(0,121,107,.45);color:#5DBFBF;}
[data-theme="dark"] .modules .mdot{background:#26C5B3;}
[data-theme="dark"] .swastik-mock{background:#0b1e1c;color:#cfece8;}
[data-theme="dark"] .swastik-mock div[style*="background:#e0f2f1"],
[data-theme="dark"] .swastik-mock div[style*="background:#f4fbf9"]{background:#0e2c29!important;}
[data-theme="dark"] .swastik-mock strong[style*="color:#004d40"]{color:#9be8c5!important;}
[data-theme="dark"] .swastik-mock span[style*="color:#00796b"]{color:#cfece8!important;}
[data-theme="dark"] .logos-row{opacity:.92;}
[data-theme="dark"] .compare .hl{background:rgba(93,191,191,.10);}
[data-theme="dark"] .faq details[open]{border-color:rgba(93,191,191,.40);}
[data-theme="dark"] .checklist li::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%235DBFBF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}
[data-theme="dark"] .plan ul li::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235DBFBF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}
[data-theme="dark"] .form input,
[data-theme="dark"] .form select,
[data-theme="dark"] .form textarea{color:var(--heading);}
[data-theme="dark"] .testi-meta .avatar{background:rgba(93,191,191,.18);color:#9bdcdc;}
[data-theme="dark"] .nav-toggle span,
[data-theme="dark"] .nav-toggle span::before,
[data-theme="dark"] .nav-toggle span::after{background:var(--heading);}

/* Inline-style overrides — flip pastel surfaces & brand text colors so dark mode reads cleanly.
   Uses attribute selectors + !important because inline `style="..."` otherwise wins. */
[data-theme="dark"] [style*="background:#fff"]{background:var(--surface)!important;}
[data-theme="dark"] [style*="background:#ffffff"]{background:var(--surface)!important;}

/* Swastik / blue-tinted pastels */
[data-theme="dark"] [style*="background:#DBEAFE"]{background:#162538!important;}
[data-theme="dark"] [style*="background:#EFF6FF"]{background:#13202b!important;}
[data-theme="dark"] [style*="background:#BFDBFE"]{background:#1d2f44!important;}
[data-theme="dark"] [style*="border:1px solid #BFDBFE"]{border-color:rgba(127,170,250,.28)!important;}
[data-theme="dark" i] [style*="border-color:#BFDBFE" i]{border-color:rgba(127,170,250,.28)!important;}

/* Swastik / teal-green pastels (used in product band mock cards) */
[data-theme="dark"] [style*="background:#e0f2f1"]{background:#0e2c29!important;}
[data-theme="dark"] [style*="background:#f4fbf9"]{background:#10221f!important;}
[data-theme="dark"] [style*="background-color:#e0f2f1"]{background-color:#0e2c29!important;}

/* Light-green Abstract Logic pastels (section-tight on about.html etc.) */
[data-theme="dark"] [style*="linear-gradient(135deg,#F4FAF6"]{background:linear-gradient(135deg,var(--bg-soft) 0%,var(--bg) 100%)!important;}

/* The illustration frames inside `.split-media-contain` and `.hero-image` are intentionally light —
   they're "windows" around the SVG illustrations (which themselves have light internal panels).
   Keep them, but dim slightly so they don't glare against the dark page. */
[data-theme="dark"] .split-media-contain[style*="linear-gradient"],
[data-theme="dark"] .hero-image[style*="linear-gradient"]{filter:brightness(.94);}

/* Branded hero radial backgrounds (swastik.html, voice-agent.html use inline radial-gradients ending in #fff) */
[data-theme="dark"] .hero[style*="background:radial-gradient"]{
  background:
    radial-gradient(900px 460px at 92% -10%,rgba(93,191,191,.16),transparent 60%),
    radial-gradient(700px 360px at -10% 110%,rgba(91,61,245,.14),transparent 55%),
    var(--bg) !important;
}

/* Swastik blue brand-color text — readable on dark surfaces */
[data-theme="dark"] [style*="color:#1E3A8A"]{color:#9CC2F8!important;}
[data-theme="dark"] [style*="color:#2563EB"]{color:#85AAF7!important;}
[data-theme="dark"] [style*="color:#004d40"]{color:#5DCFB6!important;}
[data-theme="dark"] [style*="color:#00796b"]{color:#86E0CC!important;}

/* Heading-black and muted-grey hex literals embedded inline → flip to themed equivalents */
[data-theme="dark"] [style*="color:#16181B"]{color:var(--heading)!important;}
[data-theme="dark"] [style*="color:#7A7D8C"]{color:var(--muted)!important;}
[data-theme="dark"] [style*="color:#4A4D5B"]{color:var(--body)!important;}

/* Swastik branded gradient text — keep it but recolor for dark contrast */
[data-theme="dark"] [style*="-webkit-background-clip:text"][style*="linear-gradient(90deg,#1E3A8A"]{
  background:linear-gradient(90deg,#9CC2F8,#67E8F9)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}

/* Bright blue product-band on swastik.html / voice-agent.html stays as designed (already dark on light). */
[data-theme="dark"] .cta-banner[style*="linear-gradient(120deg,#1E3A8A"]{
  background:linear-gradient(120deg,#1E3A8A 0%,#3D71D6 100%)!important;
}

/* Doctor / attendant inline status panels (light blue dots with dark blue text) */
[data-theme="dark"] .form input::placeholder,
[data-theme="dark"] .form textarea::placeholder{color:var(--muted);}

/* Better separation for the hero floating cards in dark mode */
[data-theme="dark"] .hero-art .float-card{box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06);}

/* Newsletter input on footer was light-on-dark already — keep but slightly soften in dark */
[data-theme="dark"] .newsletter input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);}

/* Floating brand chip backgrounds inside the swastik product band on index.html (have inline color:#1E3A8A) */
[data-theme="dark"] .swastik-band [style*="color:#1E3A8A"]{color:#9CC2F8!important;}

/* Voice-agent page accent badges (handled via page-specific :root vars in voice-agent.html style block) */
[data-theme="dark"] .voice-pill{background:rgba(91,61,245,.22)!important;color:#C9B8FF!important;}

/* Pricing badge readability */
[data-theme="dark"] .plan .badge{background:var(--primary);color:#0F1316;}

/* Tech-stack tile icons */
[data-theme="dark"] .tech-stack .tech-ic{background:var(--bg-tint);color:var(--primary);}

/* Make sure links inside .hero text are visible in dark mode */
[data-theme="dark"] .hero-lead a,
[data-theme="dark"] p a{color:var(--primary);}

/* Stronger surface separation for plans/cards on dark */
[data-theme="dark"] .card,
[data-theme="dark"] .plan,
[data-theme="dark"] .testi,
[data-theme="dark"] .faq details{box-shadow:0 1px 0 rgba(255,255,255,.03) inset;}

/* Section-soft + section-tint adjustments for dark */
[data-theme="dark"] .section-tint{background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%);}

/* The Voice-agent page extends with its own gradient hero — keep the violet branding in both modes */
[data-theme="dark"] .voice-band{box-shadow:0 18px 48px rgba(91,61,245,.30);}

/* Pricing page: voice-pricing section uses a soft green→violet wash; flip to dark mode */
[data-theme="dark"] [style*="linear-gradient(180deg,#F7FBF8 0%,#F2EEFF"]{background:linear-gradient(180deg,var(--bg-soft) 0%,#1a1530 100%)!important;}
[data-theme="dark"] [style*="background:#F2EEFF"]{background:rgba(91,61,245,.20)!important;}

/* ---------- Scroll to top ---------- */
.scroll-top{position:fixed;right:18px;bottom:18px;z-index:90;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;color:#fff;background:linear-gradient(135deg,#215C5C,#3D8C8C);box-shadow:0 10px 24px rgba(33,92,92,.30);opacity:0;transform:translateY(8px) scale(.92);pointer-events:none;transition:opacity .18s ease,transform .18s ease,background .15s;}
.scroll-top.is-visible{opacity:1;transform:none;pointer-events:auto;}
.scroll-top:hover{background:linear-gradient(135deg,#144B4B,#215C5C);}
.scroll-top:active{transform:translateY(1px) scale(.97);}
body.has-modal .scroll-top{opacity:0!important;pointer-events:none!important;}
@media (max-width:620px){.scroll-top{right:14px;bottom:14px;width:42px;height:42px;}}

/* ---------- Video modal ---------- */
.video-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;}
.video-modal[hidden]{display:none!important;}
.video-modal__backdrop{position:absolute;inset:0;background:rgba(15,20,24,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.video-modal__dialog{position:relative;width:min(960px,100%);background:#0F1418;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden;}
.video-modal:not([hidden]) .video-modal__dialog{animation:vm-pop .22s cubic-bezier(.2,.7,.3,1.2);}
.video-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;background:#0F1418;border-bottom:1px solid rgba(255,255,255,.06);}
.video-modal__title{margin:0;color:#fff;font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:-.01em;}
.video-modal__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;border:0;cursor:pointer;transition:background .15s;}
.video-modal__close:hover{background:rgba(255,255,255,.18);}
.video-modal__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
.video-modal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@keyframes vm-pop{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}
body.has-modal{overflow:hidden;}

/* ---------- Accessibility ---------- */
:focus-visible{outline:3px solid rgba(33,92,92,.40);outline-offset:2px;border-radius:6px;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .reveal{opacity:1;transform:none;}
  .video-modal__dialog{animation:none;}
}
