/* =================================================================
   About Us (views/aboutUs.php) — same tokens as the Products page.
   ================================================================= */
.ab-page{
  --ab-orange:#ff7f00; --ab-orange-dark:#d96500; --ab-orange-soft:#fff1e2;
  --ab-violet:#6d4aff; --ab-violet-soft:#f1edff;
  --ab-ink:#14161a; --ab-navy:#12182b; --ab-gray:#5d6575; --ab-border:#eceef2; --ab-bg:#fbfbfa;
  margin:0; background:var(--ab-bg); color:var(--ab-ink);
  font-family:'Inter','Inter Fallback',sans-serif; -webkit-font-smoothing:antialiased;
}
.ab-page *, .ab-page *::before, .ab-page *::after{ box-sizing:border-box; }
.ab-page main h1, .ab-page main h2, .ab-page main h3{ font-family:'Plus Jakarta Sans','Plus Jakarta Sans Fallback',sans-serif; margin:0; }
.ab-page main p{ margin:0; }
.ab-page main a{ text-decoration:none; color:inherit; }
.ab-page main ul, .ab-page main ol{ list-style:none; margin:0; padding:0; }
.ab-page main :focus-visible{ outline:3px solid var(--ab-orange); outline-offset:3px; border-radius:10px; }
.ab-container{ max-width:1240px; margin:0 auto; padding:0 32px; }

/* Buttons and labels */
.ab-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.ab-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; border-radius:12px;
  background:var(--ab-orange); color:#fff !important; font-weight:700; font-size:14.5px; line-height:1.2;
  box-shadow:0 12px 24px -10px rgba(255,127,0,.55); transition:background .2s, transform .2s, box-shadow .2s;
}
.ab-btn:hover{ background:var(--ab-orange-dark); transform:translateY(-2px); }
.ab-btn-ghost{ background:#fff; color:var(--ab-ink) !important; border:1.5px solid var(--ab-border); box-shadow:none; }
.ab-btn-ghost:hover{ background:#fff; border-color:#ffd2a6; }
.ab-btn-light{ background:#fff; color:var(--ab-ink) !important; box-shadow:none; }
.ab-btn-light:hover{ background:#fff4e8; }
.ab-btn-outline{ background:transparent; border:1.5px solid rgba(255,255,255,.6); box-shadow:none; }
.ab-btn-outline:hover{ background:rgba(255,255,255,.12); }
.ab-eyebrow{
  display:inline-flex; align-items:center; gap:8px; padding:7px 15px; border-radius:50px;
  background:var(--ab-orange-soft); color:#9a4500; font-weight:700; font-size:12px; letter-spacing:.6px; text-transform:uppercase;
}
.ab-eyebrow-dark{ background:rgba(255,255,255,.1); color:#ffc48a; }
.ab-kicker{ display:inline-flex; align-items:center; gap:8px; color:#9a4500; font-weight:700; font-size:13px; letter-spacing:.6px; text-transform:uppercase; }
.ab-small{ font-size:13.5px !important; color:var(--ab-gray); }
.ab-center{ text-align:center; margin-top:34px !important; }

/* Hero */
.ab-hero{
  position:relative; overflow:hidden; padding:56px 0 76px;
  background:
    radial-gradient(600px 320px at 88% 20%, rgba(109,74,255,.11), transparent 70%),
    radial-gradient(520px 300px at 8% 0%, rgba(255,127,0,.13), transparent 70%),
    linear-gradient(180deg,#fff7ef 0%, var(--ab-bg) 100%);
}
.ab-hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.ab-crumbs{ display:flex; gap:8px; margin-bottom:22px !important; font-size:13px; color:var(--ab-gray); }
.ab-crumbs li + li::before{ content:'/'; margin-right:8px; color:#c3c7d0; }
.ab-crumbs a:hover{ color:var(--ab-orange-dark); }
.ab-crumbs [aria-current]{ color:var(--ab-ink); font-weight:600; }
.ab-hero h1{ margin-top:20px !important; font-size:52px; line-height:1.08; font-weight:800; letter-spacing:-1.4px; }
.ab-hero h1 span{
  display:block; background:linear-gradient(90deg,var(--ab-orange),#ff4f1f 55%, var(--ab-violet));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ab-lead{ margin-top:22px !important; font-size:18px; line-height:1.7; color:var(--ab-gray); max-width:580px; }
.ab-hero .ab-actions{ margin-top:32px; }

.ab-stack{ position:relative; height:360px; }
.ab-stack-card{
  position:absolute; display:flex; align-items:center; gap:16px; width:min(100%,380px); padding:22px 24px; border-radius:20px;
  background:#fff; border:1px solid var(--ab-border); box-shadow:0 26px 50px -26px rgba(20,22,26,.4);
}
.ab-stack-card i{
  width:50px; height:50px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:14px;
  background:linear-gradient(135deg,var(--ab-orange),#ff5a1f 60%,var(--ab-violet)); color:#fff; font-size:19px;
}
.ab-stack-card strong{ display:block; font:800 17px/1.3 'Plus Jakarta Sans','Plus Jakarta Sans Fallback',sans-serif; }
.ab-stack-card small{ display:block; margin-top:3px; color:var(--ab-gray); font-size:13.5px; }
.ab-stack-card.s1{ top:0; right:0; }
.ab-stack-card.s2{ top:120px; right:48px; }
.ab-stack-card.s3{ top:240px; right:96px; }
.ab-stack-glow{ position:absolute; inset:15% 10% 0 25%; z-index:-1; border-radius:50%; background:radial-gradient(circle, rgba(255,127,0,.22), transparent 70%); }

/* Sections */
.ab-section{ padding:84px 0; }
.ab-alt{ background:#fff; border-top:1px solid var(--ab-border); border-bottom:1px solid var(--ab-border); }
.ab-head{ max-width:760px; margin:0 auto 40px; text-align:center; }
.ab-head h2, .ab-split h2{ margin-top:12px !important; font-size:36px; line-height:1.2; font-weight:800; letter-spacing:-.7px; }
.ab-head p{ margin-top:14px !important; color:var(--ab-gray); font-size:16.5px; line-height:1.7; }

/* Who we are */
.ab-split{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.ab-split p{ margin-top:18px !important; color:#3d4452; font-size:16.5px; line-height:1.8; }
.ab-focus{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px !important; }
.ab-focus li{
  display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:50px;
  background:#fff; border:1px solid var(--ab-border); font-size:14px; font-weight:600;
}
.ab-focus i{ color:var(--ab-orange); }
.ab-photo{ margin:0; position:relative; }
.ab-photo img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:26px; box-shadow:0 34px 60px -34px rgba(20,22,26,.5); }
.ab-photo::before{ content:''; position:absolute; inset:-14px 14px 14px -14px; z-index:-1; border-radius:26px; background:linear-gradient(135deg,rgba(255,127,0,.25),rgba(109,74,255,.2)); }

/* Vision & mission */
.ab-vm{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ab-vm-card{ position:relative; padding:36px; border-radius:24px; background:var(--ab-bg); border:1px solid var(--ab-border); }
.ab-vm-icon{
  display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:18px; border-radius:16px;
  background:var(--ab-navy); color:#ffb066; font-size:21px;
}
.ab-vm-card h2{ margin-top:10px !important; font-size:26px; line-height:1.25; font-weight:800; letter-spacing:-.4px; }
.ab-vm-card p{ margin-top:14px !important; color:#3d4452; font-size:16px; line-height:1.75; }

/* AI Lab */
.ab-lab{ color:#fff; background:radial-gradient(700px 360px at 90% 0%, rgba(109,74,255,.38), transparent 70%), var(--ab-navy); }
.ab-head-light p{ color:#c6cbe0; }
.ab-head-light strong{ color:#fff; }
.ab-lab-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ab-lab-card{
  display:flex; flex-direction:column; gap:12px; padding:26px 24px; border-radius:20px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); transition:transform .25s, background .25s, border-color .25s;
}
.ab-lab-card:hover{ transform:translateY(-6px); background:rgba(255,255,255,.09); border-color:rgba(255,196,138,.4); }
.ab-lab-status{ align-self:flex-start; padding:5px 11px; border-radius:50px; font-size:11.5px; font-weight:700; color:#ffd2a6; border:1px dashed rgba(255,196,138,.6); }
.ab-lab-icon{ display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:14px; background:rgba(255,127,0,.18); color:#ffb066; font-size:20px; }
.ab-lab-card h3{ font-size:18px; font-weight:800; }
.ab-lab-card p{ color:#c6cbe0; font-size:14.5px; line-height:1.6; flex-grow:1; }
.ab-lab-more{ font-weight:700; font-size:14px; color:#ffc48a; }

/* What we build */
.ab-build-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ab-build-card{
  display:flex; flex-direction:column; gap:10px; padding:26px; border-radius:20px; background:#fff; border:1px solid var(--ab-border);
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.ab-build-card:hover{ transform:translateY(-6px); border-color:#ffe0bd; box-shadow:0 26px 44px -22px rgba(255,127,0,.32); }
.ab-build-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:6px; }
.ab-build-icon{ display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:15px; background:var(--ab-orange-soft); color:var(--ab-orange); font-size:21px; }
.ab-badge{ padding:5px 11px; border-radius:50px; font-size:11.5px; font-weight:700; white-space:nowrap; }
.ab-badge.is-live{ background:#e6f6ee; color:#0f7b4a; }
.ab-badge.is-part{ background:#eaefff; color:#2949c7; }
.ab-build-card h3{ font-size:19px; font-weight:800; }
.ab-build-card p{ color:var(--ab-gray); font-size:14.5px; line-height:1.6; flex-grow:1; }
.ab-build-more{ font-weight:700; font-size:14px; color:var(--ab-orange-dark); }

/* Why */
.ab-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ab-why-card{ position:relative; padding:28px; border-radius:20px; background:var(--ab-bg); border:1px solid var(--ab-border); }
.ab-why-num{ position:absolute; top:22px; right:24px; font:800 30px/1 'Plus Jakarta Sans','Plus Jakarta Sans Fallback',sans-serif; color:#eef0f4; }
.ab-why-icon{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; flex-shrink:0; border-radius:13px; background:var(--ab-violet-soft); color:var(--ab-violet); font-size:18px; }
.ab-why-card h3{ margin-top:16px !important; font-size:18px; font-weight:800; }
.ab-why-card p{ margin-top:8px !important; color:var(--ab-gray); font-size:14.5px; line-height:1.65; }

/* Bharat */
.ab-bharat-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:center; }
.ab-bharat h2{ margin-top:12px !important; font-size:40px; font-weight:800; letter-spacing:-.8px; }
.ab-bharat p{ margin-top:16px !important; color:#3d4452; font-size:16.5px; line-height:1.8; }
.ab-tricolor{ display:inline-block; width:26px; height:6px; border-radius:3px; background:linear-gradient(90deg,#ff9933 33%,#fff 33% 66%,#138808 66%); box-shadow:0 0 0 1px #e5e7eb; }
.ab-bharat-list{ display:grid; gap:14px; }
.ab-bharat-list li{ display:flex; gap:16px; align-items:flex-start; padding:18px 20px; border-radius:18px; background:#fff; border:1px solid var(--ab-border); }
.ab-bharat-list strong{ display:block; margin-bottom:3px; font-size:16px; }
.ab-bharat-list li > span:last-child{ color:var(--ab-gray); font-size:14.5px; line-height:1.6; }

/* CTA */
.ab-cta{
  margin:10px 0 84px; padding:46px 50px; border-radius:26px; color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  background:radial-gradient(520px 260px at 100% 0%, rgba(109,74,255,.45), transparent 70%), linear-gradient(120deg,#ff7f00,#ff5a1f);
  box-shadow:0 30px 60px -30px rgba(255,90,31,.7);
}
.ab-cta h2{ font-size:30px; font-weight:800; letter-spacing:-.5px; max-width:620px; }
.ab-cta p{ margin-top:8px !important; font-size:16px; color:#fff3e6; }

/* Responsive */
@media (max-width:1100px){
  .ab-lab-grid{ grid-template-columns:repeat(2,1fr); }
  .ab-build-grid, .ab-why-grid{ grid-template-columns:repeat(2,1fr); }
  .ab-hero h1{ font-size:44px; }
}
@media (max-width:900px){
  .ab-hero-grid, .ab-split, .ab-bharat-grid{ grid-template-columns:1fr; }
  .ab-stack{ height:330px; max-width:460px; width:100%; margin:0 auto; }
  .ab-photo{ max-width:520px; margin:0 auto; }
  .ab-vm{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .ab-container{ padding:0 16px; }
  .ab-hero{ padding:36px 0 52px; }
  .ab-hero h1{ font-size:33px; letter-spacing:-.8px; }
  .ab-lead{ font-size:16px; }
  .ab-hero .ab-actions a, .ab-cta .ab-actions a{ flex:1 1 100%; }
  .ab-stack{ height:300px; }
  .ab-stack-card{ padding:16px 18px; width:calc(100% - 40px); }
  .ab-stack-card.s2{ top:105px; right:20px; } .ab-stack-card.s3{ top:210px; right:40px; }
  .ab-section{ padding:56px 0; }
  .ab-head h2, .ab-split h2{ font-size:27px; }
  .ab-bharat h2{ font-size:30px; }
  .ab-vm-card{ padding:26px 22px; }
  .ab-vm-card h2{ font-size:22px; }
  .ab-lab-grid, .ab-build-grid, .ab-why-grid{ grid-template-columns:1fr; }
  .ab-cta{ padding:32px 22px; margin-bottom:56px; }
  .ab-cta h2{ font-size:24px; }
}
@media (prefers-reduced-motion: reduce){
  .ab-btn, .ab-lab-card, .ab-build-card{ transition:none; }
  .ab-btn:hover, .ab-lab-card:hover, .ab-build-card:hover{ transform:none; }
}
