/* =====================================================================
   KENU BIOPHARMA — style.css  (FINAL)
   Palette from logo: ink-black wordmark + green→indigo swoosh gradient.
   Fonts: Sora (display) + Inter (body).
   ===================================================================== */

/* =========================================================
   1. DESIGN TOKENS
========================================================= */
:root {
   --ink: #14151a;
   --ink-soft: #4a4d57;
   --paper: #faf9f6;
   --paper-alt: #f1efe9;
   --line: #e4e1d8;

   --green: #4CAF50;
   --green-deep: #2f8f4e;
   --green-soft: #eaf6ea;
   --indigo: #2e3192;
   --indigo-deep: #1f2266;
   --indigo-soft: #edeefb;

   --gradient-brand: linear-gradient(135deg, var(--green) 0%, #2f8a63 45%, var(--indigo) 100%);
   --gradient-soft: linear-gradient(135deg, rgba(76, 175, 80, .10), rgba(46, 49, 146, .10));

   --font-display: 'Sora', 'Segoe UI', sans-serif;
   --font-body: 'Inter', 'Segoe UI', sans-serif;

   --radius-s: 8px;
   --radius-m: 16px;
   --radius-l: 28px;
   --shadow-card: 0 10px 30px -14px rgba(20, 21, 26, .18);
   --shadow-md: 0 18px 44px -20px rgba(20, 21, 26, .30);
   --container: 1180px;

   /* topbar ki height — agar topbar lamba/chhota ho to sirf ye badlein */
   --topbar-h: 50px;
}

/* =========================================================
   2. BASE
========================================================= */
*,
*::before,
*::after {
   box-sizing: border-box;
}

/* overflow-x: clip → horizontal scroll band, par sticky header kaam karta hai
   (hidden lagane se sticky toot jata tha) */
html {
   scroll-behavior: smooth;
   overflow-x: clip;
}

body {
   margin: 0;
   font-family: var(--font-body);
   color: var(--ink);
   background: white;
   line-height: 1.6;
   -webkit-font-smoothing: antialiased;
   overflow-x: clip;
   width: 100%;
}

img {
   max-width: 100%;
   display: block;
}

a {
   color: inherit;
   text-decoration: none;
}

ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

button {
   font-family: inherit;
}

h1,
h2,
h3,
h4 {
   font-family: var(--font-display);
   margin: 0 0 .5em;
   line-height: 1.15;
   letter-spacing: -.01em;
}

p {
   margin: 0 0 1em;
   color: var(--ink-soft);
}

.container {
   max-width: var(--container);
   margin: 0 auto;
   padding: 0px 24px;
}

section {
   padding: 70px 0;
}

.section-alt {
   background: white;
   padding: 70px 0;
}

.accent {
   background: var(--gradient-brand);
   -webkit-background-clip: text;
   background-clip: text;
   color: transparent;
}

/* Eyebrow + section head */
.eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: var(--indigo);
   margin-bottom: 14px;
}

.eyebrow::before {
   content: "";
   width: 22px;
   height: 2px;
   border-radius: 2px;
   background: var(--gradient-brand);
}

.section-head {
   max-width: 729px;
   margin: 0 0 48px;
}

.section-head.center {
   margin-inline: auto;
   text-align: center;
}

.section-head h1,
.section-head h2 {
   font-size: clamp(26px, 3.2vw, 38px);
}

.section-head p {
   font-size: 16px;
}

/* Buttons */
.btn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 14px 28px;
   border-radius: 999px;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 15px;
   border: 1px solid transparent;
   cursor: pointer;
   transition: .25s ease;
}

.btn-primary {
   background: var(--gradient-brand);
   color: #fff;
}

.btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: var(--shadow-card);
}

.btn-ghost {
   border-color: var(--line);
   color: var(--ink);
   background: #fff;
}

.btn-ghost:hover {
   border-color: var(--indigo);
   color: var(--indigo);
}

/* =========================================================
   3. HEADER
   Poora header sticky hai. top negative (= topbar height) hai,
   isliye scroll par topbar upar chala jata hai aur sirf navbar
   screen ke top par fixed rehta hai.
========================================================= */
.site-header {
   position: -webkit-sticky;
   position: sticky;
   top: calc(-1 * var(--topbar-h));
   z-index: 100;
   background: #fff;
}

.site-header.scrolled {
   box-shadow: 0 10px 26px -18px rgba(20, 21, 26, .35);
}

.site-header .container {
   max-width: 1320px;
}

.topbar {
   background: var(--ink);
   color: rgba(255, 255, 255, .82);
   font-size: 13px;
   overflow: hidden;
}

.topbar-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: var(--topbar-h);
   gap: 16px;
}

.topbar-left {
   display: flex;
   align-items: center;
   gap: 26px;
   flex-wrap: wrap;
}

.topbar-right {
   display: flex;
   align-items: center;
   gap: 20px;
}

.topbar-link {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   color: rgba(255, 255, 255, .82);
   padding: 6px 14px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .06);
   border: 1px solid rgba(255, 255, 255, .16);
   transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.topbar-link i {
   color: var(--green);
}

.topbar-link:hover {
   color: #fff;
   background: rgba(255, 255, 255, .14);
   border-color: rgba(255, 255, 255, .32);
   transform: translateY(-1px);
}

.topbar-tag {
   font-style: italic;
   opacity: .8;
}

.topbar-social {
   display: flex;
   gap: 6px;
}

.topbar-social a {
   width: 26px;
   height: 26px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: rgba(255, 255, 255, .12);
   color: #fff;
   font-size: 12px;
   transition: .2s;
}

.topbar-social a:hover {
   background: var(--green);
   transform: translateY(-2px);
}

.navbar {
   position: relative;
   z-index: 100;
   background: #fff;
   padding: 6px 0;
   box-shadow: 0 1px 0 var(--line);
   transition: padding .3s ease, box-shadow .3s ease;
}

.site-header.scrolled .navbar {
   box-shadow: 0 10px 26px -18px rgba(20, 21, 26, .35);
}

.nav-inner {
   display: flex;
   align-items: center;
   gap: 20px;
}

.brand {
   display: inline-flex;
   align-items: center;
}

.brand img {
   height: 65px;
   width: auto;
   transition: transform .35s ease, height .3s ease;
}

.brand:hover img {
   transform: scale(1.05) rotate(-2deg);
}

.mobile-enquiry-bar {
   display: none;
}

@media (max-width: 900px) {
   .mobile-enquiry-bar {
      display: block;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 150;
      padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
      background: #fff;
      border-top: 1px solid var(--line);
      box-shadow: 0 -8px 24px -12px rgba(20, 21, 26, .25);
   }

   .mobile-enquiry-bar .btn-primary {
      width: 100%;
      justify-content: center;
   }

   body {
      padding-bottom: 76px;
      /* content bar ke peeche na chhupe */
   }
}

.nav-menu {
   display: flex;
   align-items: center;
   gap: 2px;
   margin: 0 auto;
}

.nav-menu>li>a {
   position: relative;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   white-space: nowrap;
   padding: 10px 12px;
   border-radius: 8px;
   color: var(--ink);
   font-family: var(--font-display);
   font-weight: 500;
   font-size: 15px;
   transition: color .2s;
}

.dropdown-toggle {
   display: none;
}

.nav-menu>li>a::after {
   content: "";
   position: absolute;
   left: 14px;
   right: 14px;
   bottom: 5px;
   height: 2px;
   border-radius: 2px;
   background: var(--gradient-brand);
   transform: scaleX(0);
   transform-origin: left;
   transition: transform .25s ease;
}

.nav-menu>li>a:hover {
   color: var(--indigo);
}

.nav-menu>li>a:hover::after,
.nav-menu>li.active>a::after {
   transform: scaleX(1);
}

.nav-menu>li.active>a {
   color: var(--indigo);
   font-weight: 600;
}

.caret {
   font-size: 10px;
   opacity: .7;
   transition: transform .25s ease;
}

.has-drop:hover .caret {
   transform: rotate(180deg);
}

.nav-cta {
   margin-left: 14px;
}

.nav-cta .btn-primary {
   position: relative;
   overflow: hidden;
   padding: 12px 24px;
   font-size: 14.5px;
   box-shadow: 0 12px 24px -8px rgba(46, 49, 146, .55),
      0 0 20px 3px rgba(76, 175, 80, .45);
}

.nav-cta .btn-primary::before {
   content: "";
   position: absolute;
   inset: 0;
   background: rgba(255, 255, 255, .25);
   transform: translateX(-120%) skewX(-20deg);
   transition: transform .5s ease;
}

.nav-cta .btn-primary:hover::before {
   transform: translateX(120%) skewX(-20deg);
}

/* Dropdown */
.has-drop {
   position: relative;
}

.has-drop::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   top: 100%;
   height: 14px;
}

.dropdown {
   position: absolute;
   top: calc(100% + 12px);
   left: 0;
   min-width: 255px;
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   box-shadow: var(--shadow-md);
   padding: 8px;
   opacity: 0;
   visibility: hidden;
   transform: translateY(10px);
   transition: opacity .22s, transform .22s, visibility .22s;
}

.dropdown.wide {
   min-width: 335px;
}

.dropdown::before {
   content: "";
   position: absolute;
   top: -7px;
   left: 24px;
   width: 13px;
   height: 13px;
   background: #fff;
   border-left: 1px solid var(--line);
   border-top: 1px solid var(--line);
   transform: rotate(45deg);
}

.has-drop:hover .dropdown {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}

.dropdown li a {
   display: block;
   padding: 11px 14px;
   border-radius: 8px;
   font-size: 14.5px;
   font-weight: 500;
   border-left: 3px solid transparent;
   transition: background .18s, color .18s, border-color .18s, padding-left .18s;
}

.dropdown li a:hover {
   background: var(--green-soft);
   color: var(--indigo);
   border-left-color: var(--green);
   padding-left: 18px;
}

.dropdown li {
   opacity: 0;
   transform: translateY(-4px);
   transition: .2s ease;
}

.has-drop:hover .dropdown li {
   opacity: 1;
   transform: translateY(0);
}

.dropdown li:nth-child(1) {
   transition-delay: .03s;
}

.dropdown li:nth-child(2) {
   transition-delay: .06s;
}

.dropdown li:nth-child(3) {
   transition-delay: .09s;
}

.dropdown li:nth-child(4) {
   transition-delay: .12s;
}

.dropdown li:nth-child(5) {
   transition-delay: .15s;
}

.dropdown li:nth-child(6) {
   transition-delay: .18s;
}

.dropdown li:nth-child(7) {
   transition-delay: .21s;
}

/* Hamburger + overlay */
.nav-toggle {
   display: none;
   flex-direction: column;
   gap: 5px;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   margin-left: auto;
   background: none;
   border: 1px solid var(--line);
   border-radius: 10px;
   cursor: pointer;
}

.nav-toggle span {
   display: block;
   width: 22px;
   height: 2px;
   background: var(--ink);
   border-radius: 2px;
   transition: transform .3s, opacity .2s;
}

.nav-toggle.open span:nth-child(1) {
   transform: translateY(7px) rotate(45deg);
}

.nav-toggle.open span:nth-child(2) {
   opacity: 0;
}

.nav-toggle.open span:nth-child(3) {
   transform: translateY(-7px) rotate(-45deg);
}

.nav-overlay {
   position: fixed;
   inset: 0;
   background: rgba(20, 21, 26, .5);
   opacity: 0;
   visibility: hidden;
   transition: .3s;
   z-index: 98;
}

.nav-overlay.show {
   opacity: 1;
   visibility: visible;
}

.mobile-cta {
   display: none;
}

/* close (X) button — sirf mobile menu me dikhega */
.nav-close-item {
   display: none;
}

/* =========================================================
   MOBILE SIDEBAR — Enquire Now button (desktop jaisa)
========================================================= */
@media (max-width: 900px) {
   .nav-menu>li.mobile-cta {
      display: block;
      border-bottom: none;
      margin-top: 24px;
   }

   .nav-menu>li.mobile-cta>a.btn {
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      padding: 14px 24px;
      font-size: 15px;
      border-radius: 999px;
      color: #fff;
      background: var(--gradient-brand);
      box-shadow: 0 12px 24px -8px rgba(46, 49, 146, .55),
         0 0 20px 3px rgba(76, 175, 80, .45);
   }

   .nav-menu>li.mobile-cta>a.btn:hover {
      color: #fff;
   }

   /* shine effect (desktop jaisa) */
   .nav-menu>li.mobile-cta>a.btn::before {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(255, 255, 255, .25);
      transform: translateX(-120%) skewX(-20deg);
      transition: transform .5s ease;
   }

   .nav-menu>li.mobile-cta>a.btn:hover::before {
      transform: translateX(120%) skewX(-20deg);
   }
}

/* =========================================================
   4. HERO IMAGE BANNER
   Desktop + Mobile Separate Banners
========================================================= */
.img-hero {
   position: relative;
   overflow: hidden;
   background: var(--paper-alt);
}

/* Slider Track */
.ih-track {
   display: flex;
   transition: transform .8s cubic-bezier(.65, .05, .2, 1);
}

/* Individual Slide */
.ih-slide {
   position: relative;
   flex: 0 0 100%;
   min-width: 100%;
   overflow: hidden;
   background: var(--gradient-brand);
}

/* Desktop Banner Ratio */
.ih-slide::before {
   content: "";
   display: block;
   padding-top: 32%;
}

/* Picture */
.ih-slide picture {
   position: absolute;
   inset: 0;
   display: block;
   width: 100%;
   height: 100%;
}

/* Banner Image */
.ih-slide picture img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   display: block;
   object-fit: cover;
   object-position: center;
}

/* =========================================================
   HERO DOTS (pagination)
========================================================= */
.ih-dots {
   position: absolute;
   left: 50%;
   bottom: 14px;
   transform: translateX(-50%);
   z-index: 3;
   display: flex;
   align-items: center;
   gap: 10px;
}

.ih-dot {
   width: 12px;
   height: 7px;
   padding: 0;
   border: none;
   border-radius: 999px;
   background: rgba(255, 255, 255, .55);
   cursor: pointer;
   transition: width .35s ease, background .35s ease;
}

.ih-dot:hover {
   background: rgba(255, 255, 255, .85);
}

/* active dot — lamba white pill */
.ih-dot.active {
   width: 38px;
   background: #fff;
}

/* MOBILE HERO */
@media (max-width: 600px) {

   .ih-slide::before {
      display: none;
   }

   .ih-slide {
      height: auto;
   }

   .ih-slide picture {
      position: relative;
      display: block;
      width: 100%;
      height: auto;
   }

   .ih-slide picture img {
      position: relative;
      width: 100%;
      height: auto;
      display: block;
      object-fit: contain;
   }

   .ih-dots {
      bottom: 14px;
      gap: 8px;
   }

   .ih-dot {
      width: 10px;
      height: 10px;
   }

   .ih-dot.active {
      width: 30px;
   }
}

/* =========================================================
   6. OUR STORY / WHY
========================================================= */
.split {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 56px;
   align-items: center;
}

.story-media {
   position: relative;
}

.story-panel {
   aspect-ratio: 1/1;
   border-radius: 15px;
   background: var(--gradient-brand);
   position: relative;
   overflow: hidden;
   display: grid;
   place-items: center;
}

.story-panel::after {
   content: "";
   position: absolute;
   inset: 0;
   background-image: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .18), transparent 45%),
      radial-gradient(circle at 75% 80%, rgba(0, 0, 0, .12), transparent 50%);
}

.story-panel i {
   font-size: 130px;
   color: rgba(255, 255, 255, .92);
   position: relative;
   z-index: 1;
}

.story-panel img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: 1;
   border-radius: inherit;
}

/* badge — LEFT bottom, image ke upar (z-index 2) */
.story-badge {
   position: absolute;
   bottom: 0px;
   left: -4px;
   z-index: 2;
   background: #fff;
   box-shadow: var(--shadow-card);
   padding: 22px 26px;
   text-align: center;
   border-radius: 0 10px 0 0;
}

.story-badge strong {
   display: block;
   font-family: var(--font-display);
   font-size: 30px;
   color: var(--indigo);
}

.story-badge span {
   font-size: 13px;
   color: var(--ink-soft);
}

.commit-list {
   display: grid;
   gap: 14px;
   margin: 22px 0 26px;
}

.commit-list li {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   font-size: 15px;
   color: var(--ink);
}

.check {
   flex: none;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   margin-top: 2px;
   background: var(--gradient-brand);
   position: relative;
}

.check::after {
   content: "";
   position: absolute;
   left: 6px;
   top: 4px;
   width: 5px;
   height: 9px;
   border-right: 2px solid #fff;
   border-bottom: 2px solid #fff;
   transform: rotate(40deg);
}

/* =========================================================
   7. PRODUCT CATEGORIES — image cards
========================================================= */
.cat-head {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 20px;
   margin-bottom: 26px;
}

.cat-head h2 {
   font-size: clamp(26px, 3.2vw, 38px);
   margin: 0;
}

.cat-arrows {
   display: flex;
   gap: 10px;
}

.cat-nav {
   width: 46px;
   height: 46px;
   border-radius: 50%;
   background: var(--ink);
   color: #fff;
   border: none;
   cursor: pointer;
   display: grid;
   place-items: center;
   font-size: 15px;
   box-shadow: var(--shadow-card);
   transition: .25s ease;
}

.cat-nav:hover {
   background: var(--indigo);
   transform: scale(1.06);
}

.cat-nav:disabled {
   opacity: .3;
   cursor: default;
   transform: none;
}

.cat-carousel {
   position: relative;
}

.cat-track {
   display: flex;
   gap: 18px;
   overflow-x: auto;
   scroll-behavior: smooth;
   scroll-snap-type: x proximity;
   padding: 6px 2px 16px;
   scrollbar-width: none;
}

.cat-track::-webkit-scrollbar {
   display: none;
}

.concern-card {
   position: relative;
   flex: 0 0 calc((100% - 36px) / 6);
   height: 180px;
   overflow: hidden;
   scroll-snap-align: start;
   background: var(--paper-alt);
   border-radius: 10px;
}

.concern-card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

/* =========================================================
   8. WE OFFER — image cards
   Desktop: hover par text khulta hai
   Mobile : pehle tap par text khulta hai (JS .is-open lagata hai),
            dusre tap par product page khulta hai
========================================================= */
.offer-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 24px;
}

.offer-card {
   position: relative;
   display: block;
   height: 400px;
   border-radius: var(--radius-m);
   overflow: hidden;
   background: var(--gradient-brand);
   box-shadow: var(--shadow-card);
   -webkit-tap-highlight-color: transparent;
   transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease;
}

.offer-card>img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

.offer-panel {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 2;
   padding: 22px 22px 24px;
   color: #fff;
   background: linear-gradient(0deg, rgba(20, 21, 26, .95) 0%, rgba(20, 21, 26, .72) 52%, rgba(20, 21, 26, 0) 100%);
}

.offer-panel h3 {
   color: #fff;
   font-size: 17.5px;
   line-height: 1.25;
   margin: 0;
}

/* smooth TRUE-HEIGHT reveal (0fr -> 1fr) */
.offer-reveal {
   display: grid;
   grid-template-rows: 0fr;
   opacity: 0;
   transform: translateY(10px);
   margin-top: 0;
   transition: grid-template-rows .55s cubic-bezier(.22, .61, .36, 1),
      opacity .4s ease,
      transform .55s cubic-bezier(.22, .61, .36, 1),
      margin-top .55s cubic-bezier(.22, .61, .36, 1);
}

.offer-reveal-in {
   min-height: 0;
   overflow: hidden;
}

.offer-reveal p {
   color: rgba(255, 255, 255, .88);
   font-size: 14px;
   line-height: 1.55;
   margin: 0 0 14px;
}

.offer-link {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 13.5px;
   color: #fff;
   background: var(--gradient-brand);
   padding: 9px 18px;
   border-radius: 999px;
   transition: gap .25s ease;
}

/* ---- Open state (mobile tap) ---- */
.offer-card.is-open {
   transform: translateY(-6px);
   box-shadow: var(--shadow-md);
}

.offer-card.is-open>img {
   transform: scale(1.07);
}

.offer-card.is-open .offer-reveal {
   grid-template-rows: 1fr;
   opacity: 1;
   transform: translateY(0);
   margin-top: 12px;
}

.offer-card.is-open .offer-link {
   gap: 12px;
}

/* ---- Hover — sirf mouse wale devices par ---- */
@media (hover: hover) {
   .offer-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-md);
   }

   .offer-card:hover>img {
      transform: scale(1.07);
   }

   .offer-card:hover .offer-reveal {
      grid-template-rows: 1fr;
      opacity: 1;
      transform: translateY(0);
      margin-top: 12px;
   }

   .offer-card:hover .offer-link {
      gap: 12px;
   }
}

/* "Tap to explore" hint — sirf touch devices par, card khulne par chhup jata hai */
.offer-hint {
   display: none;
}

@media (hover: none) {
   .offer-hint {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 8px;
      font-size: 12.5px;
      color: rgba(255, 255, 255, .75);
   }

   .offer-card.is-open .offer-hint {
      display: none;
   }
}

/* ---- Mobile: offer card chhota ---- */
@media (max-width: 768px) {


   .offer-panel {
      padding: 18px 18px 20px;
   }

   .offer-panel h3 {
      font-size: 16.5px;
   }

   /* khula text max 4 line — card chhota hai, heading na kate */
   .offer-reveal p {
      font-size: 13.5px;
      line-height: 1.5;
      margin-bottom: 12px;
      display: -webkit-box;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
   }

   .offer-link {
      padding: 8px 16px;
      font-size: 13px;
   }
}

@media (max-width: 480px) {
   .offer-card {
      height: 325px;
   }

   .offer-reveal p {
      -webkit-line-clamp: 3;
   }
}

/* =========================================================
   8b. WHY CHOOSE KENU
========================================================= */
.why-choose {
   background: var(--paper-alt);
   padding: 70px 0;
}

/* stretch → image aur text column dono ki height barabar */
.why-grid {
   display: grid;
   grid-template-columns: .85fr 1.15fr;
   gap: 56px;
   align-items: stretch;
}

.why-media {
   position: relative;
   min-height: 540px;
}

/* image poore column ko bharti hai */
.why-media img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 17px;
   box-shadow: var(--shadow-md);
}

/* text column — content hamesha vertically middle me */
.why-content {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 10px 0;
}

.why-content h1,
.why-content h2 {
   font-size: clamp(26px, 3.2vw, 38px);
   line-height: 1.2;
   margin: 0 0 18px;
}

.why-content p {
   font-size: 15px;
   line-height: 1.75;
   margin: 0 0 14px;
}

/* last element ke neeche extra space nahi */
.why-content> :last-child {
   margin-bottom: 0;
}

.why-badge {
   position: absolute;
   left: -20px;
   bottom: -24px;
   z-index: 2;
   background: var(--gradient-brand);
   color: #fff;
   border-radius: var(--radius-m);
   box-shadow: var(--shadow-card);
   padding: 20px 24px;
   text-align: center;
}

.why-badge strong {
   display: block;
   font-family: var(--font-display);
   font-size: 28px;
}

.why-badge span {
   font-size: 12.5px;
   opacity: .9;
}

.why-lead {
   font-size: 17px;
   font-weight: 600;
   color: var(--ink);
}

.why-features {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin: 12px 0 0;
}

.why-feature {
   display: flex;
   gap: 12px;
   align-items: center;
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 16px;
}

.why-feature-ic {
   flex: none;
   width: 38px;
   height: 38px;
   border-radius: 10px;
   background: var(--gradient-soft);
   color: var(--indigo);
   display: grid;
   place-items: center;
   font-size: 15px;
}

.why-feature p {
   margin: 0;
   font-size: 13.5px;
   color: var(--ink);
   line-height: 1.45;
}

/* ---- Tablet: image upar, text neeche ---- */
@media (max-width:1024px) {
   .why-grid {
      grid-template-columns: 1fr;
      gap: 36px;
   }

   .why-media {
      order: -1;
      min-height: 0;
      max-width: 560px;
      width: 100%;
      margin: 0 auto;
   }

   .why-media img {
      position: static;
      height: auto;
      aspect-ratio: 4/3;
   }

   .why-badge {
      left: 0;
   }
}

/* ---- Mobile ---- */
@media (max-width:600px) {
   .why-choose {
      padding: 50px 0 40px;

   }

   .why-media img {
      aspect-ratio: 5/ 6;
   }

   .why-features {
      grid-template-columns: 1fr;
   }

   .why-badge {
      position: static;
      display: inline-block;
      margin-top: 16px;
   }
}

/* =========================================================
   9. PROCESS STEPS
========================================================= */
.how-track {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 12px;
   margin-top: 106px;
   position: relative;
}

.how-step {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   width: 190px;
   flex: 1 1 0;
}

.how-step:nth-child(even) {
   margin-top: -30px;
}

.how-step:nth-child(odd) {
   margin-top: 30px;
}

.how-step:first-child {
   margin-top: 0;
}

.how-step:not(:first-child)::before {
   content: "";
   position: absolute;
   top: 78px;
   left: -50%;
   width: 100%;
   height: 0;
   border-top: 2px dashed var(--indigo);
   opacity: .35;
   z-index: 0;
}

.how-step:nth-child(even):not(:first-child)::before {
   transform: rotate(-9deg);
}

.how-step:nth-child(odd):not(:first-child)::before {
   transform: rotate(9deg);
}

.how-circle {
   position: relative;
   width: 156px;
   height: 156px;
   border-radius: 50%;
   background: var(--gradient-brand);
   padding: 5px;
   box-shadow: var(--shadow-card);
   z-index: 1;
   transition: transform .3s ease;
}

.how-step:nth-child(3n+2) .how-circle {
   background: linear-gradient(135deg, var(--indigo) 0%, #4a4fc7 100%);
}

.how-step:nth-child(3n+3) .how-circle {
   background: linear-gradient(135deg, var(--green-deep) 0%, var(--green) 100%);
}

.how-circle:hover {
   transform: translateY(-6px);
}

.how-photo {
   position: relative;
   width: 100%;
   height: 100%;
   border-radius: 50%;
   overflow: hidden;
   background: var(--paper-alt);
   border: 3px solid #fff;
}

.how-photo img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.how-num {
   position: absolute;
   top: -6px;
   right: -5px;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   background: var(--ink);
   color: #fff;
   font-family: var(--font-display);
   font-weight: 700;
   font-size: 14px;
   display: grid;
   place-items: center;
   border: 4px solid #fff;
   box-shadow: var(--shadow-card);
}

.how-step h3 {
   margin-top: 24px;
   font-size: 16.5px;
}

.how-step p {
   font-size: 13.5px;
   padding: 0 6px;
}

@media (max-width:1024px) {
   .how-track {
      flex-wrap: wrap;
      row-gap: 56px;
      justify-content: center;
   }

   .how-step {
      width: 45%;
      margin-top: 0 !important;
   }

   .how-step:not(:first-child)::before {
      display: none;
   }
}

@media (max-width:600px) {
   .how-step {
      width: 100%;
   }

   .how-circle {
      width: 130px;
      height: 130px;
   }
}

/* =========================================================
   COUNTER SECTION
========================================================= */
.counter-section {
   background: #fff;
   padding: 0px;
}

.counter-card {
   background: var(--gradient-brand);
   box-shadow: var(--shadow-card);
   padding: 52px 44px;
   position: relative;
   overflow: hidden;
}

.counter-card::before {
   content: "";
   position: absolute;
   inset: 0;
   background-image:
      radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .12), transparent 40%),
      radial-gradient(circle at 88% 80%, rgba(255, 255, 255, .10), transparent 45%);
   pointer-events: none;
}

.counter-heading {
   text-align: center;
   max-width: 620px;
   margin: 0 auto 46px;
   position: relative;
   z-index: 1;
}

.counter-eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: #fff;
   opacity: .85;
   margin-bottom: 12px;
}

.counter-eyebrow::before {
   content: "";
   width: 22px;
   height: 2px;
   border-radius: 2px;
   background: #fff;
}

.counter-heading h2 {
   font-family: var(--font-display);
   font-weight: 700;
   font-size: clamp(26px, 3.2vw, 36px);
   line-height: 1.2;
   color: #fff;
   margin: 0;
}

.counter-heading .accent {
   color: #fff;
   opacity: .9;
   -webkit-background-clip: unset;
   background-clip: unset;
   background: none;
}

.counter-grid {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 24px;
}

.counter-box {
   background: rgba(255, 255, 255, .12);
   border: 1px solid rgba(255, 255, 255, .25);
   backdrop-filter: blur(6px);
   border-radius: var(--radius-m);
   padding: 30px 20px;
   text-align: center;
   transition: transform .3s ease, background .3s ease;
}

.counter-box:hover {
   transform: translateY(-6px);
   background: rgba(255, 255, 255, .18);
}

.counter-icon {
   width: 58px;
   height: 58px;
   margin: 0 auto 16px;
   border-radius: 50%;
   background: #fff;
   color: var(--indigo);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 22px;
   box-shadow: var(--shadow-card);
}

.counter-box strong {
   display: block;
   font-family: var(--font-display);
   font-weight: 700;
   font-size: clamp(30px, 3.4vw, 42px);
   line-height: 1;
   color: #fff;
   margin-bottom: 10px;
}

.counter-box p {
   margin: 0;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 14px;
   color: rgba(255, 255, 255, .9);
}

@media (max-width: 900px) {
   .counter-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
   }

   .counter-card {
      padding: 42px 28px;
      border-radius: var(--radius-m);
   }
}

@media (max-width: 480px) {
   .counter-grid {
      grid-template-columns: 1fr;
      gap: 16px;
   }

   .counter-heading {
      margin-bottom: 34px;
   }

   .counter-card {
      padding: 34px 18px;
   }

   .counter-box {
      padding: 26px 18px;
   }

   .counter-icon {
      width: 50px;
      height: 50px;
      font-size: 19px;
   }
}

@media (max-width: 400px) {
   .counter-container {
      padding: 0 14px;
   }
}

/* =========================================================
   11. CTA BAND
========================================================= */
.cta-band {
   background: var(--gradient-brand);
   border-radius: var(--radius-l);
   padding: 52px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
   flex-wrap: wrap;
   color: #fff;
   margin-bottom: 60px;
}

.cta-band h2 {
   color: #fff;
   margin-bottom: 6px;
   font-size: 28px;
}

.cta-band p {
   color: rgba(255, 255, 255, .9);
   margin: 0;
}

.cta-band .btn {
   background: #fff;
   color: var(--ink);
   border-color: #fff;
}

.cta-band .btn:hover {
   transform: translateY(-2px);
   box-shadow: var(--shadow-md);
}

/* CTA IMAGE BANNER */
.cta-image-section {
   padding: 80px 0;
}

.cta-image {
   display: block;
   width: 100%;
}

.cta-image picture {
   display: block;
   width: 100%;
}

.cta-image img {
   width: 100%;
   height: auto;
   display: block;
}

@media (max-width: 768px) {
   .cta-image-section {
      padding: 40px 0;
   }
}

/* =========================================================
   12. FOOTER
========================================================= */
.site-footer {
   background: var(--ink);
   color: #c9c9d1;
   padding: 70px 0 26px;
}

.footer-grid {
   display: grid;
   grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
   gap: 40px;
}

.footer-brand img {
   height: 100px;
   filter: brightness(0) invert(1);
}

.footer-brand p {
   color: #9a9aa4;
   font-size: 14px;
}

.site-footer h4 {
   color: #fff;
   font-size: 15px;
   margin-bottom: 18px;
}

.footer-links {
   display: grid;
   gap: 10px;
}

.footer-links a {
   color: #b9b9c2;
   font-size: 14px;
   transition: color .2s, padding-left .2s;
}

.footer-links a:hover {
   color: #fff;
   padding-left: 4px;
}

.footer-contact li {
   display: flex;
   gap: 10px;
   font-size: 14px;
   color: #b9b9c2;
   margin-bottom: 14px;
}

.footer-contact i {
   color: var(--green);
   margin-top: 3px;
}

.footer-bottom {
   border-top: 1px solid #2a2b33;
   margin-top: 50px;
   padding-top: 22px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   font-size: 13px;
   color: #8c8c96;
   flex-wrap: wrap;
   gap: 12px;
}

.social {
   display: flex;
   gap: 10px;
}

.social a {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   border: 1px solid #34353e;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 13px;
   transition: .25s;
}

.social a:hover {
   background: var(--gradient-brand);
   border-color: transparent;
   color: #fff;
}

/* =========================================================
   13. BACK TO TOP
========================================================= */
.back-to-top {
   position: fixed;
   right: 24px;
   bottom: 45px;
   z-index: 200;
   width: 52px;
   height: 52px;
   border-radius: 50%;
   background: #fff;
   box-shadow: 0 14px 30px -10px rgba(20, 21, 26, .35);
   border: 1px solid var(--line);
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   visibility: hidden;
   transform: translateY(14px);
   transition: .3s ease;
   cursor: pointer;
   color: var(--indigo);
   font-size: 18px;
}

.back-to-top img {
   width: 30px;
   height: 30px;
   object-fit: contain;
   display: block;
}

.back-to-top.show {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}

.back-to-top:hover {
   transform: translateY(-4px);
   box-shadow: 0 18px 36px -10px rgba(20, 21, 26, .45);
}

/* =========================================================
   14. INNER PAGE HEADER + CONTACT
========================================================= */
.page-hero {
   padding: 66px 0 56px;
   text-align: center;
   background: radial-gradient(600px 300px at 50% -20%, rgba(76, 175, 80, .14), transparent 60%), var(--paper-alt);
   border-bottom: 1px solid var(--line);
}

.breadcrumb {
   font-size: 13.5px;
   color: var(--ink-soft);
   margin-bottom: 14px;
}

.breadcrumb a {
   color: var(--indigo);
}

.page-hero h1 {
   font-size: clamp(30px, 4vw, 44px);
}

label {
   display: block;
   font-size: 13.5px;
   font-weight: 600;
   margin-bottom: 7px;
}

input,
textarea {
   width: 100%;
   border: 1px solid var(--line);
   border-radius: var(--radius-s);
   padding: 13px 14px;
   font-family: var(--font-body);
   font-size: 14.5px;
   background: var(--paper);
}

input:focus,
textarea:focus {
   outline: 2px solid var(--indigo);
   outline-offset: 1px;
}

textarea {
   resize: vertical;
   min-height: 130px;
}

/* =========================================================
   15. RESPONSIVE
========================================================= */
@media (max-width:1200px) {
   .nav-menu>li>a {
      padding: 9px 9px;
      font-size: 14px;
   }

   .nav-cta .btn-primary {
      padding: 11px 16px;
      font-size: 14px;
   }

   .nav-inner {
      gap: 12px;
   }
}

@media (max-width:1024px) {

   .split,
   .contact-grid {
      grid-template-columns: 1fr;
      gap: 48px;
   }

   .grid-4 {
      grid-template-columns: repeat(2, 1fr);
   }

   .steps {
      grid-template-columns: repeat(3, 1fr);
   }

   .footer-grid {
      grid-template-columns: 1fr 1fr;
   }

   .story-badge {
      left: 0;
   }
}

/* ---------- MOBILE NAVIGATION ---------- */
@media (max-width:900px) {

   /* mobile par topbar hidden hai → header top 0 par chipke */
   .site-header {
      top: 0;
   }

   .topbar {
      display: none;
   }

   .nav-toggle {
      display: flex;
   }

   .nav-cta {
      display: none;
   }

   /* slide-in menu panel */
   .nav-menu {
      position: fixed;
      top: 0;
      right: 0;
      height: 100vh;
      height: 100dvh;
      width: min(340px, 86vw);
      margin: 0;
      background: #fff;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 80px 20px 30px;
      box-shadow: -12px 0 40px rgba(0, 0, 0, .15);
      transform: translateX(100%);
      transition: transform .32s cubic-bezier(.4, 0, .2, 1);
      overflow-y: auto;
      z-index: 999;
   }

   .nav-menu.open {
      transform: translateX(0);
   }

   /* Close (X) button */
   .nav-close-item {
      display: block;
      position: absolute;
      top: 18px;
      right: 18px;
      border-bottom: none !important;
   }

   .nav-close {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: #fff;
      color: var(--ink);
      font-size: 20px;
      cursor: pointer;
      transition: .2s;
   }

   .nav-close:hover {
      background: var(--green-soft);
      color: var(--indigo);
   }

   .nav-menu>li {
      border-bottom: 1px solid var(--line);
   }

   .nav-menu>li>a {
      padding: 15px 4px;
      font-size: 16px;
      justify-content: space-between;
      border-radius: 0;
   }

   .nav-menu>li>a::after {
      display: none;
   }

   /* mobile accordion dropdown */
   .has-drop::after {
      display: none;
   }

   .has-drop:hover .caret {
      transform: none;
   }

   .has-drop.open .caret {
      transform: rotate(180deg);
   }

   .dropdown {
      position: static;
      opacity: 1;
      visibility: visible;
      transform: none;
      box-shadow: none;
      border: none;
      padding: 0 0 0 10px;
      min-width: 0;
      max-height: 0;
      overflow: hidden;
      transition: max-height .3s ease;
      background: transparent;
   }

   .dropdown.wide {
      min-width: 0;
   }

   .dropdown::before {
      display: none;
   }

   .dropdown li {
      opacity: 1;
      transform: none;
   }

   .has-drop.open .dropdown {
      max-height: 540px;
      padding-bottom: 8px;
   }


   .mobile-cta .btn {
      width: 100%;
      justify-content: center;
   }

   .cat-track {
      gap: 12px;
   }

   .concern-card {
      flex: 0 0 calc((100% - 2 * 12px) / 3);
      height: 150px;
      border-radius: 8px;
   }
}

@media (max-width:768px) {
   section {
      padding: 62px 0;
   }

   .grid-3,
   .grid-4,
   .steps {
      grid-template-columns: 1fr;
   }

   .offer-grid {
      grid-template-columns: 1fr;
   }

   .footer-grid {
      grid-template-columns: 1fr;
      gap: 32px;
   }

   .cta-band {
      flex-direction: column;
      text-align: center;
      padding: 40px 26px;
   }

   .form-row {
      grid-template-columns: 1fr;
   }

   .quick-info {
      margin-top: 28px;
   }

   .section-alt {
      background: white;
      padding: 50px 0 30px;
   }

   .story-badge {
      left: 0px;
      right: auto;
      bottom: 0px;
      padding: 12px 16px;
   }

   .story-badge strong {
      font-size: 20px;
   }

   .story-badge span {
      font-size: 11px;
   }

   .footer-bottom {
      justify-content: center;
      text-align: center;
   }

   /* How We Work — swipeable carousel on mobile */
   .how-track {
      flex-wrap: nowrap;
      overflow-x: auto;
      scroll-snap-type: x proximity;
      justify-content: flex-start;
      gap: 16px;
      margin-top: 56px;
      padding: 6px 4px 22px;
      scrollbar-width: none;
   }

   .how-track::-webkit-scrollbar {
      display: none;
   }

   .how-step {
      flex: 0 0 76%;
      width: auto;
      scroll-snap-align: start;
   }
}

@media (max-width:600px) {
   .cat-track {
      gap: 10px;
   }

   .concern-card {
      flex: 0 0 50%;
      height: 112px;
      border-radius: 8px;
   }
}

@media (max-width: 1024px) {
   .topbar-link {
      padding: 5px 11px;
      font-size: 12.5px;
   }

   .topbar-left {
      gap: 12px;
   }
}

@media (max-width:460px) {
   .offer-grid {
      grid-template-columns: 1fr;
   }

   .topbar-left .topbar-link:nth-child(2) {
      display: none;
   }

   .brand img {
      height: 60px;
   }
}

/* ===================== ABOUT PAGE ===================== */

.about-media img {
   width: 100%;
   box-shadow: var(--shadow-md);
   aspect-ratio: 4/3;
   object-fit: cover;
}

/* ABOUT PAGE HERO */
.page-hero {
   background-image: url("../images/about-hero.jpg");
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
}

.page-hero .container {
   position: relative;
   z-index: 2;
}

.page-hero .breadcrumb {
   margin-bottom: 20px;
}

.page-hero h1 {
   margin-bottom: 0;
}

.page-hero p {
   position: relative;
   z-index: 2;
}

/* LEADERSHIP */
.leadership-section {
   background: var(--paper-alt);
}

.leader-card {
   display: grid;
   grid-template-columns: 300px 1fr;
   gap: 40px;
   align-items: center;
   background: var(--gradient-soft);
   border: 1px solid var(--line);
   border-radius: var(--radius-l);
   padding: 34px;
   margin-bottom: 28px;
}

.leader-card:last-child {
   margin-bottom: 0;
}

.leader-card.reverse {
   grid-template-columns: 1fr 300px;
}

.leader-card.reverse .leader-photo {
   order: 2;
}

.leader-card.reverse .leader-content {
   order: 1;
}

.leader-photo {
   position: relative;
   border-radius: var(--radius-m);
   overflow: hidden;
   aspect-ratio: 1/1;
   background: var(--gradient-brand);
   box-shadow: var(--shadow-card);
}

.leader-photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.leader-photo.no-img::after {
   content: "\f007";
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
   position: absolute;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 64px;
   color: rgba(255, 255, 255, .85);
}

.leader-content h3 {
   font-size: clamp(22px, 2.4vw, 28px);
   margin-bottom: 4px;
   color: var(--ink);
}

.leader-role {
   display: inline-block;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 13.5px;
   color: var(--indigo);
   background: var(--indigo-soft);
   padding: 6px 14px;
   border-radius: 999px;
   margin: 7px 0px 16px;
}

.leader-content p {
   font-size: 14.5px;
   margin-bottom: 12px;
}

.leader-content p:last-child {
   margin-bottom: 0;
}

/* QUALITY */
.quality-split {
   align-items: center;
}

.quality-list {
   display: grid;
   gap: 14px;
   margin-top: 24px;
}

.quality-list li {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   font-size: 15px;
   color: var(--ink);
   font-weight: 500;
}

.quality-list li i {
   flex: none;
   width: 26px;
   height: 26px;
   border-radius: 50%;
   background: var(--gradient-brand);
   color: #fff;
   font-size: 11px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-top: 1px;
}

.quality-media img {
   width: 100%;
   box-shadow: var(--shadow-md);
   aspect-ratio: 4/3;
   object-fit: cover;
}

/* INNOVATION BAND */
.innovation-band {
   background: linear-gradient(180deg, var(--indigo-soft) 0%, #fff 100%);
}

.innovation-grid {
   display: grid;
   grid-template-columns: .9fr 1.1fr;
   gap: 48px;
   align-items: center;
}

.innovation-media img {
   width: 100%;
   height: 100%;
   min-height: 160px;
   object-fit: cover;
   box-shadow: var(--shadow-card);
}

/* MISSION & VISION */
.mv-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 28px;
}

.mv-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-l);
   padding: 36px;
   box-shadow: var(--shadow-card);
   transition: transform .3s ease, box-shadow .3s ease;
}

.mv-card:hover {
   transform: translateY(-6px);
   box-shadow: var(--shadow-md);
}

.mv-icon {
   width: 56px;
   height: 56px;
   border-radius: 14px;
   background: var(--gradient-brand);
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 22px;
   margin-bottom: 18px;
}

.mv-card h3 {
   font-size: 20px;
   margin-bottom: 10px;
}

.mv-card p {
   font-size: 14.5px;
   margin: 0;
}

@media (max-width: 1024px) {
   .about-story-grid {
      grid-template-columns: 1fr;
   }

   .leader-card,
   .leader-card.reverse {
      grid-template-columns: 220px 1fr;
   }

   .innovation-grid {
      grid-template-columns: 1fr;
   }

   .innovation-media {
      order: -1;
   }
}

@media (max-width: 768px) {

   .leader-card,
   .leader-card.reverse {
      grid-template-columns: 1fr;
      padding: 26px;
      text-align: center;
   }

   .leader-card.reverse .leader-photo,
   .leader-card.reverse .leader-content {
      order: 0;
   }

   .leader-photo {
      max-width: 220px;
      margin: 0 auto;
   }

   .quality-split {
      display: flex;
      flex-direction: column-reverse;
      gap: 32px;
   }

   .mv-grid {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 480px) {
   .innovation-media {
      grid-template-columns: 1fr;
   }

   .innovation-media img:first-child {
      margin-top: 0;
   }

   .leader-card,
   .leader-card.reverse {
      padding: 20px;
   }

   .mv-card {
      padding: 26px;
   }
}

/* =========================================================
   CAREER HERO
========================================================= */
.career-hero {
   position: relative;
   overflow: hidden;
}

.career-hero .hero-deco {
   position: absolute;
   inset: 0;
   z-index: 0;
   pointer-events: none;
}

.career-hero .hero-deco .deco {
   position: absolute;
   color: var(--indigo);
   opacity: .08;
}

.career-hero .deco-1 {
   top: 16%;
   left: 7%;
   font-size: 50px;
   color: var(--green);
   transform: rotate(-10deg);
}

.career-hero .deco-2 {
   top: 58%;
   left: 12%;
   font-size: 38px;
}

.career-hero .deco-3 {
   top: 18%;
   right: 9%;
   font-size: 54px;
   color: var(--green);
   transform: rotate(8deg);
}

.career-hero .deco-4 {
   bottom: 14%;
   left: 24%;
   font-size: 32px;
   color: var(--green);
}

.career-hero .deco-5 {
   bottom: 18%;
   right: 15%;
   font-size: 44px;
}

.career-hero .deco-6 {
   top: 10%;
   left: 44%;
   font-size: 28px;
}

.career-hero .deco-7 {
   bottom: 24%;
   right: 34%;
   font-size: 30px;
   color: var(--green);
   transform: rotate(-6deg);
}

.career-hero .container {
   position: relative;
   z-index: 1;
}

@media (max-width: 768px) {
   .career-hero .hero-deco .deco {
      opacity: .06;
   }

   .career-hero .deco-1 {
      font-size: 34px;
   }

   .career-hero .deco-2 {
      font-size: 26px;
   }

   .career-hero .deco-3 {
      font-size: 36px;
   }

   .career-hero .deco-4 {
      font-size: 22px;
   }

   .career-hero .deco-5 {
      font-size: 30px;
   }

   .career-hero .deco-6,
   .career-hero .deco-7 {
      display: none;
   }
}

@media (max-width: 480px) {

   .career-hero .deco-3,
   .career-hero .deco-4,
   .career-hero .deco-5 {
      display: none;
   }
}

/* CULTURE + JOIN TEAM */
.career-grid {
   display: grid;
   grid-template-columns: 1.15fr .85fr;
   gap: 32px;
   align-items: start;
}

.culture-card,
.join-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-l);
   box-shadow: var(--shadow-card);
   padding: 40px;
}

.culture-card h2,
.join-card h2 {
   font-size: clamp(24px, 2.6vw, 32px);
   margin-top: 2px;
}

.culture-card>p {
   font-size: 15px;
   margin-bottom: 28px;
}

.culture-points {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 18px;
   margin-bottom: 32px;
}

.culture-point {
   position: relative;
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 30px 22px 26px;
   text-align: center;
   overflow: hidden;
   transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.culture-point::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   background: var(--gradient-brand);
   transform: scaleX(0);
   transform-origin: left;
   transition: transform .35s ease;
}

.culture-point:hover {
   transform: translateY(-6px);
   box-shadow: var(--shadow-md);
   border-color: transparent;
}

.culture-point:hover::before {
   transform: scaleX(1);
}

.culture-point-ic {
   width: 52px;
   height: 52px;
   margin: 0 auto 16px;
   border-radius: 50%;
   background: var(--gradient-brand);
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 19px;
   box-shadow: 0 10px 22px -8px rgba(46, 49, 146, .45);
   transition: transform .3s ease;
}

.culture-point:hover .culture-point-ic {
   transform: scale(1.08) rotate(-4deg);
}

.culture-point h4 {
   font-size: 15.5px;
   margin-bottom: 8px;
   color: var(--ink);
}

.culture-point p {
   font-size: 13.5px;
   margin: 0;
   line-height: 1.6;
}

.commit-title {
   font-size: 18px;
   margin-bottom: 12px;
   color: var(--ink);
}

.culture-card p {
   font-size: 14.5px;
}

/* JOIN OUR TEAM — form
   top = navbar height + gap, taaki sticky card fixed header ke neeche rahe */
.join-card {
   position: sticky;
   top: 100px;
}

.join-card>p {
   font-size: 14.5px;
   margin-bottom: 26px;
}

.career-form .form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 14px;
   margin-bottom: 14px;
}

.career-form .form-row.full {
   grid-template-columns: 1fr;
}

.career-form label {
   font-size: 13px;
   margin-bottom: 6px;
}

.career-form input[type="text"],
.career-form input[type="email"],
.career-form input[type="tel"],
.career-form textarea {
   background: var(--paper-alt);
}

.career-form .file-input {
   background: var(--paper-alt);
   padding: 10px 12px;
   font-size: 13.5px;
   cursor: pointer;
}

.career-form textarea {
   min-height: 110px;
}

.form-submit {
   width: 100%;
   justify-content: center;
   margin-top: 4px;
   border: none;
}

/* CLOSING NOTE */
.career-closing {
   text-align: center;
   padding-top: 0;
}

.career-closing .container {
   max-width: 820px;
}

.career-closing p {
   font-size: 15.5px;
}

.closing-note {
   font-size: 14px;
   color: var(--ink-soft);
}

@media (max-width: 1024px) {
   .career-grid {
      grid-template-columns: 1fr;
   }

   .join-card {
      position: static;
   }

   .culture-points {
      grid-template-columns: 1fr 1fr;
   }
}

@media (max-width: 768px) {

   .culture-card,
   .join-card {
      padding: 28px 22px;
   }

   .culture-points {
      grid-template-columns: 1fr;
   }

   .career-form .form-row {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 480px) {

   .culture-card,
   .join-card {
      padding: 22px 16px;
      border-radius: var(--radius-m);
   }
}

/* =====================================================================
   CONTACT PAGE
   ===================================================================== */
.contact-grid {
   display: grid;
   grid-template-columns: .9fr 1.1fr;
   gap: 50px;
   align-items: start;
}

.contact-grid h2 {
   font-size: 26px;
   margin-bottom: 8px;
}

.contact-lead {
   margin-bottom: 26px;
   max-width: 430px;
}

.info-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 18px 20px;
   display: flex;
   align-items: center;
   gap: 16px;
   margin-bottom: 14px;
   transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.info-card:hover {
   transform: translateY(-3px);
   box-shadow: var(--shadow-card);
   border-color: transparent;
}

.info-card .info-icon {
   flex: none;
   width: 52px;
   height: 52px;
   border-radius: 14px;
   background: var(--gradient-brand);
   color: #fff;
   display: grid;
   place-items: center;
   font-size: 19px;
   box-shadow: 0 10px 20px -8px rgba(46, 49, 146, .55);
}

.info-body {
   display: flex;
   flex-direction: column;
}

.info-label {
   font-family: var(--font-display);
   font-size: 11.5px;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: var(--indigo);
   margin-bottom: 3px;
}

.info-body p {
   margin: 0;
   font-size: 14.5px;
   color: var(--ink);
   line-height: 1.5;
}

.info-body a {
   color: var(--ink);
   transition: color .2s;
}

.info-body a:hover {
   color: var(--indigo);
}

.info-social {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-top: 22px;
}

.info-social span {
   font-size: 13px;
   color: var(--ink-soft);
   margin-right: 4px;
}

.info-social a {
   width: 38px;
   height: 38px;
   border-radius: 50%;
   display: grid;
   place-items: center;
   border: 1px solid var(--line);
   color: var(--ink);
   font-size: 14px;
   transition: .25s ease;
}

.info-social a:hover {
   background: var(--gradient-brand);
   color: #fff;
   border-color: transparent;
   transform: translateY(-2px);
}

.form-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 36px;
   box-shadow: var(--shadow-card);
}

.form-card>p {
   margin-bottom: 24px;
}

.form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin-bottom: 16px;
}

.form-row.full {
   grid-template-columns: 1fr;
}

.form-card label {
   display: block;
   font-size: 13.5px;
   font-weight: 600;
   margin-bottom: 7px;
}

.form-card input,
.form-card textarea {
   width: 100%;
   border: 1px solid var(--line);
   border-radius: var(--radius-s);
   padding: 13px 14px;
   font-family: var(--font-body);
   font-size: 14.5px;
   background: var(--paper);
   transition: border-color .2s, box-shadow .2s, background .2s;
}

.form-card input:focus,
.form-card textarea:focus {
   outline: none;
   background: #fff;
   border-color: var(--indigo);
   box-shadow: 0 0 0 3px rgba(46, 49, 146, .12);
}

.form-card textarea {
   resize: vertical;
   min-height: 140px;
}

.form-card .btn-primary {
   margin-top: 4px;
}

.alert-success {
   background: rgba(76, 175, 80, .12);
   border: 1px solid var(--green);
   color: var(--green-deep);
   padding: 14px 18px;
   border-radius: var(--radius-s);
   margin-bottom: 20px;
   font-size: 14.5px;
}

.alert-error {
   background: rgba(200, 60, 60, .08);
   border: 1px solid #d9534f;
   color: #b02a2a;
   padding: 14px 18px;
   border-radius: var(--radius-s);
   margin-bottom: 20px;
   font-size: 14.5px;
}

.alert-error div {
   margin: 2px 0;
}

.map-section {
   padding: 0px;
}

.contact-map-full {
   line-height: 0;
}

.contact-map-full iframe {
   width: 100%;
   height: 460px;
   border: 0;
   display: block;
   filter: grayscale(.12) contrast(1.02);
}

.hp-field {
   position: absolute;
   left: -9999px;
   opacity: 0;
   height: 0;
   overflow: hidden;
}

@media (max-width: 1024px) {
   .contact-grid {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   .contact-lead {
      max-width: none;
   }
}

@media (max-width: 768px) {
   .form-card {
      padding: 26px;
   }

   .form-row {
      grid-template-columns: 1fr;
   }

   .contact-map-full iframe {
      height: 320px;
   }
}

/* =====================================================================
   PRODUCTS LISTING
   ===================================================================== */
.product-hero {
   position: relative;
   background: var(--gradient-brand);
   background-size: cover;
   background-position: center;
   color: #fff;
   text-align: center;
   padding: 76px 16px;
}

.product-hero .breadcrumb {
   color: rgba(255, 255, 255, .85);
   margin-bottom: 10px;
}

.product-hero .breadcrumb a {
   color: #fff;
}

.product-hero h1 {
   color: #fff;
   font-size: clamp(30px, 4vw, 46px);
   margin: 0;
}

.cat-pills {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
   margin: 34px 0 4px;
}

.cat-pill {
   padding: 9px 18px;
   border-radius: 999px;
   border: 1px solid var(--line);
   background: #fff;
   font-family: var(--font-display);
   font-weight: 500;
   font-size: 14px;
   color: var(--ink);
   transition: .22s ease;
}

.cat-pill:hover {
   border-color: var(--indigo);
   color: var(--indigo);
}

.cat-pill.active {
   background: var(--gradient-brand);
   color: #fff;
   border-color: transparent;
}

.products-section {
   padding-top: 34px;
}

.products-count {
   font-size: 15px;
   color: var(--ink-soft);
   margin-bottom: 22px;
}

.products-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 24px;
}

.pcard {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   overflow: hidden;
   display: flex;
   flex-direction: column;
   transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.pcard:hover {
   transform: translateY(-6px);
   box-shadow: var(--shadow-md);
   border-color: transparent;
}

.pcard-media {
   display: block;
   aspect-ratio: 1/1;
   overflow: hidden;
   background: var(--paper-alt);
}

.pcard-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .5s ease;
}

.pcard:hover .pcard-media img {
   transform: scale(1.07);
}

.pcard-body {
   padding: 18px 16px 20px;
   text-align: center;
}

.pcard-cat {
   font-size: 12px;
   color: var(--ink-soft);
}

.pcard-name {
   font-family: var(--font-display);
   font-size: 17px;
   margin: 4px 0 0;
}

.pcard-name a {
   color: inherit;
   transition: color .2s;
}

.pcard-name a:hover {
   color: var(--indigo);
}

.pcard-enquire {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   margin-top: 12px;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 13px;
   color: var(--indigo);
   opacity: 0;
   transform: translateY(4px);
   transition: .28s ease;
}

.pcard:hover .pcard-enquire {
   opacity: 1;
   transform: translateY(0);
}

.pcard-enquire i {
   transition: transform .25s ease;
}

.pcard-enquire:hover i {
   transform: translateX(4px);
}

.products-empty {
   text-align: center;
   padding: 56px 20px;
   color: var(--ink-soft);
   background: var(--paper-alt);
   border: 1px dashed var(--line);
   border-radius: var(--radius-m);
   font-size: 15px;
}

/* =====================================================================
   PRODUCT DETAIL
   ===================================================================== */
.pd-hero {
   background: var(--paper-alt);
   border-bottom: 1px solid var(--line);
   padding: 22px 0;
}

.pd-hero .breadcrumb {
   margin: 0;
}

.pd-section {
   padding: 50px 0;
}

.pd-grid {
   display: grid;
   grid-template-columns: 1fr 1.1fr;
   gap: 46px;
   align-items: start;
}

.pd-media {
   border: 1px solid var(--line);
   border-radius: var(--radius-l);
   overflow: hidden;
   background: var(--paper-alt);
   box-shadow: var(--shadow-card);
}

.pd-media img {
   width: 100%;
   aspect-ratio: 1/1;
   object-fit: cover;
   display: block;
}

.pd-info h1 {
   font-size: clamp(26px, 3vw, 38px);
   margin: 8px 0 12px;
}

.pd-lead {
   font-size: 15.5px;
   color: var(--ink-soft);
   margin-bottom: 24px;
   line-height: 1.7;
}

.pd-specs {
   margin: 0 0 28px;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   overflow: hidden;
}

.pd-specs li {
   display: flex;
   justify-content: space-between;
   gap: 16px;
   padding: 13px 18px;
   font-size: 14px;
}

.pd-specs li:nth-child(odd) {
   background: var(--paper-alt);
}

.pd-specs li span {
   color: var(--ink-soft);
}

.pd-specs li strong {
   color: var(--ink);
   font-weight: 600;
   text-align: right;
}

.pd-actions {
   display: flex;
   gap: 14px;
   flex-wrap: wrap;
}

.pd-desc-section h2 {
   font-size: clamp(22px, 2.4vw, 30px);
   margin-bottom: 14px;
}

.pd-desc-section h3 {
   font-size: 19px;
   margin: 26px 0 10px;
}

.pd-desc {
   font-size: 15px;
   color: var(--ink-soft);
   line-height: 1.8;
}

.pd-related {
   padding: 60px 0;
}

.pd-related h2 {
   text-align: center;
   margin-bottom: 30px;
   font-size: clamp(22px, 2.4vw, 30px);
}

@media (max-width:1024px) {
   .products-grid {
      grid-template-columns: repeat(3, 1fr);
   }
}

@media (max-width:900px) {
   .pd-grid {
      grid-template-columns: 1fr;
      gap: 28px;
   }

   .pd-media {
      max-width: 460px;
   }
}

@media (max-width:768px) {
   .products-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
   }

   .product-hero {
      padding: 54px 16px;
   }

   .pcard-enquire {
      opacity: 1;
      transform: none;
   }
}

@media (max-width:480px) {
   .products-grid {
      grid-template-columns: 1fr 1fr;
      gap: 12px;
   }

   .pcard-body {
      padding: 14px 10px 16px;
   }

   .pcard-name {
      font-size: 15px;
   }

   .pd-actions .btn {
      width: 100%;
      justify-content: center;
   }
}

/* ============================ HOME — BLOG cards ============================ */
.blog-section {
   padding: 70px 0;
}

.blog-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 26px;
   margin-top: 42px;
}

.blog-card {
   position: relative;
   display: flex;
   flex-direction: column;
   background: #fff;
   border-radius: 16px;
   overflow: hidden;
   text-decoration: none;
   box-shadow: 0 8px 22px rgba(15, 118, 110, .08);
   transition: transform .3s ease, box-shadow .3s ease;
}

.blog-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 18px 38px rgba(15, 118, 110, .16);
}

.blog-media {
   aspect-ratio: 16 / 10;
   position: relative;
   background: linear-gradient(135deg, #E6F7F4, #ECFEFF);
   overflow: hidden;
}

.blog-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.blog-cat {
   position: absolute;
   top: 14px;
   left: 14px;
   background: #F59E0B;
   color: #fff;
   font-family: 'Oswald', sans-serif;
   text-transform: uppercase;
   letter-spacing: .08em;
   font-size: 11px;
   font-weight: 600;
   padding: 5px 14px;
   border-radius: 30px;
}

.blog-body {
   padding: 22px 22px 26px;
}

.blog-date {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   color: #0F766E;
   font-size: 12.5px;
   font-weight: 600;
   margin-bottom: 10px;
}

.blog-date i {
   color: #F59E0B;
   font-size: 12px;
}

.blog-body h3 {
   font-family: 'Poppins', sans-serif;
   font-size: 18px;
   font-weight: 600;
   color: #1F2937;
   line-height: 1.4;
   margin: 0 0 10px;
   transition: color .25s ease;
}

.blog-card:hover .blog-body h3 {
   color: #0F766E;
}

.blog-body p {
   font-size: 13.5px;
   color: #6B7280;
   line-height: 1.7;
   margin: 0 0 16px;
}

.blog-link {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   color: #0F766E;
   font-weight: 700;
   font-size: 13.5px;
}

.blog-link i {
   transition: transform .25s ease;
}

.blog-card:hover .blog-link i {
   transform: translateX(5px);
}

.blog-cta {
   text-align: center;
   margin-top: 44px;
}

@media (max-width: 991px) {
   .blog-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 22px;
   }
}

@media (max-width: 640px) {
   .blog-grid {
      grid-template-columns: 1fr;
      gap: 20px;
      margin-top: 30px;
   }

   .blog-body h3 {
      font-size: 16px;
   }
}

/* =====================================================================
   BLOG PAGE
   ===================================================================== */
.blog-filters {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   justify-content: center;
   margin: 34px 0 4px;
}

.blog-section {
   padding-top: 66px;
}

.blog-count {
   font-size: 15px;
   color: var(--ink-soft);
   margin-bottom: 22px;
}

.blog-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 28px;
}

.blog-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   overflow: hidden;
   display: flex;
   flex-direction: column;
   transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.blog-card:hover {
   transform: translateY(-6px);
   box-shadow: var(--shadow-md);
   border-color: transparent;
}

.blog-card-media {
   position: relative;
   display: block;
   aspect-ratio: 16 / 10;
   overflow: hidden;
   background: var(--paper-alt);
}

.blog-card-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .5s ease;
}

.blog-card:hover .blog-card-media img {
   transform: scale(1.07);
}

.blog-card-cat {
   position: absolute;
   top: 14px;
   left: 14px;
   z-index: 2;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 11.5px;
   letter-spacing: .04em;
   text-transform: uppercase;
   color: #fff;
   background: var(--gradient-brand);
   padding: 6px 14px;
   border-radius: 999px;
   box-shadow: var(--shadow-card);
}

.blog-card-body {
   padding: 22px 22px 24px;
   display: flex;
   flex-direction: column;
   flex: 1;
}

.blog-card-meta {
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 12.5px;
   color: var(--ink-soft);
   margin-bottom: 10px;
}

.blog-card-meta i {
   color: var(--green-deep);
}

.blog-card-title {
   font-family: var(--font-display);
   font-size: 18px;
   line-height: 1.35;
   margin: 0 0 10px;
}

.blog-card-title a {
   color: var(--ink);
   transition: color .2s;
}

.blog-card-title a:hover {
   color: var(--indigo);
}

.blog-card-excerpt {
   font-size: 14px;
   color: var(--ink-soft);
   line-height: 1.6;
   margin: 0 0 18px;
   flex: 1;
}

.blog-card-link {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 13.5px;
   color: var(--indigo);
   margin-top: auto;
}

.blog-card-link i {
   transition: transform .25s ease;
}

.blog-card-link:hover i {
   transform: translateX(4px);
}

.blog-empty {
   text-align: center;
   padding: 56px 20px;
   color: var(--ink-soft);
   background: var(--paper-alt);
   border: 1px dashed var(--line);
   border-radius: var(--radius-m);
   font-size: 15px;
}

@media (max-width: 1024px) {
   .blog-grid {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 768px) {
   .blog-grid {
      grid-template-columns: 1fr;
      gap: 20px;
   }

   .blog-card-title {
      font-size: 17px;
   }
}

@media (max-width: 480px) {
   .blog-card-body {
      padding: 18px 18px 20px;
   }
}

/* =====================================================================
   BLOG LIST — filter pills count + pagination
   ===================================================================== */
.blog-hero {
   background-image: none;
}

.blog-filters {
   margin: 0 0 30px;
}

.cat-pill-count {
   display: inline-grid;
   place-items: center;
   min-width: 22px;
   height: 22px;
   margin-left: 6px;
   padding: 0 6px;
   border-radius: 999px;
   font-size: 11.5px;
   background: var(--paper-alt);
   color: var(--ink-soft);
}

.cat-pill.active .cat-pill-count {
   background: rgba(255, 255, 255, .25);
   color: #fff;
}

.blog-pagination {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 44px;
}

.pg-btn {
   min-width: 42px;
   height: 42px;
   padding: 0 12px;
   display: inline-grid;
   place-items: center;
   border-radius: 12px;
   border: 1px solid var(--line);
   background: #fff;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 14px;
   color: var(--ink);
   transition: .2s ease;
}

.pg-btn:hover {
   border-color: var(--indigo);
   color: var(--indigo);
}

.pg-btn.active {
   background: var(--gradient-brand);
   border-color: transparent;
   color: #fff;
}

.blog-filters-wrap {
   position: relative;
   margin: 0 0 30px;
}

.blog-filters-wrap .blog-filters {
   margin: 0;
}

/* arrows default me hidden */
.bf-arrow {
   display: none;
}

/* ---------- DESKTOP / TABLET carousel (categories > 6) ---------- */
@media (min-width: 641px) {
   .blog-filters-wrap.is-carousel {
      padding: 0 56px;
   }

   .is-carousel .blog-filters {
      flex-wrap: nowrap;
      justify-content: flex-start;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-behavior: smooth;
      scrollbar-width: none;
      padding: 6px 2px;
   }

   .is-carousel .blog-filters::-webkit-scrollbar {
      display: none;
   }

   .is-carousel .cat-pill {
      flex: 0 0 auto;
      white-space: nowrap;
   }

   .is-carousel .bf-arrow {
      display: grid;
      place-items: center;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid var(--line);
      background: #fff;
      color: var(--ink);
      font-size: 14px;
      box-shadow: var(--shadow-card);
      cursor: pointer;
      transition: .25s ease;
   }

   .bf-prev {
      left: 0;
   }

   .bf-next {
      right: 0;
   }

   .is-carousel .bf-arrow:hover:not(:disabled) {
      background: var(--gradient-brand);
      color: #fff;
      border-color: transparent;
   }

   .is-carousel .bf-arrow:disabled {
      opacity: .35;
      cursor: default;
   }
}

/* ---------- MOBILE carousel (hamesha) ---------- */
@media (max-width: 640px) {
   .blog-filters-wrap {
      margin-bottom: 18px;
   }

   .blog-filters-wrap .blog-filters {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      gap: 10px;
      /* screen ke edge tak full-bleed */
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      padding: 6px 16px 12px;
      /* swipe */
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x proximity;
      scroll-padding-left: 16px;
      scrollbar-width: none;
      -ms-overflow-style: none;
      /* right side fade = "aur bhi hai" hint */
      -webkit-mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent 100%);
      mask-image: linear-gradient(90deg, #000 0, #000 88%, transparent 100%);
   }

   .blog-filters-wrap .blog-filters::-webkit-scrollbar {
      display: none;
   }

   .blog-filters .cat-pill {
      flex: 0 0 auto;
      white-space: nowrap;
      scroll-snap-align: start;
      font-size: 13.5px;
      padding: 10px 18px;
      box-shadow: 0 2px 8px rgba(20, 21, 26, .06);
   }

   .blog-filters .cat-pill.active {
      box-shadow: 0 6px 16px rgba(45, 45, 130, .25);
   }

   .blog-filters::after {
      content: "";
      flex: 0 0 6px;
   }
}

/* =====================================================================
   BLOG DETAIL PAGE
   ===================================================================== */

/* ---- reading progress bar ---- */
.bd-progress {
   position: fixed;
   top: 0;
   left: 0;
   height: 3px;
   width: 0;
   z-index: 1000;
   background: var(--gradient-brand);
   transition: width .1s linear;
}

/* ---- Hero (brand gradient — products page jaisa) ---- */
.bd-hero {
   position: relative;
   padding: 70px 0 60px;
   text-align: center;
   background: var(--gradient-brand);
   color: #fff;
   overflow: hidden;
}

/* halka glow effect */
.bd-hero::before {
   content: "";
   position: absolute;
   inset: 0;
   background-image:
      radial-gradient(circle at 12% 20%, rgba(255, 255, 255, .14), transparent 40%),
      radial-gradient(circle at 88% 85%, rgba(255, 255, 255, .10), transparent 45%);
   pointer-events: none;
}

.bd-hero .container {
   position: relative;
   z-index: 1;
   max-width: 880px;
}

.bd-hero .breadcrumb {
   margin-bottom: 18px;
   color: rgba(255, 255, 255, .85);
}

.bd-hero .breadcrumb a {
   color: #fff;
   font-weight: 500;
}

.bd-hero .breadcrumb a:hover {
   text-decoration: underline;
   text-underline-offset: 3px;
}

/* category pill — gradient par white */
.bd-cat {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   margin-bottom: 16px;
   padding: 7px 16px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .16);
   border: 1px solid rgba(255, 255, 255, .35);
   backdrop-filter: blur(6px);
   color: #fff;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 12px;
   letter-spacing: .07em;
   text-transform: uppercase;
   transition: background .2s ease;
}

.bd-cat:hover {
   background: rgba(255, 255, 255, .28);
}

.bd-title {
   color: #fff;
   font-size: clamp(26px, 3.8vw, 46px);
   line-height: 1.2;
   letter-spacing: -.02em;
   margin: 0 auto 22px;
   max-width: 820px;
}

/* title me .accent ho to white hi dikhe */
.bd-hero .accent {
   background: none;
   -webkit-background-clip: unset;
   background-clip: unset;
   color: #fff;
}

.bd-meta {
   display: inline-flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 10px;
}

.bd-meta span {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 8px 14px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .14);
   border: 1px solid rgba(255, 255, 255, .28);
   font-size: 13.5px;
   color: #fff;
}

.bd-meta i {
   color: #fff;
   opacity: .85;
}

/* 404 page ka text bhi white */
.bd-hero p {
   color: rgba(255, 255, 255, .9);
}

.bd-hero .btn-primary {
   background: #fff;
   color: var(--ink);
}

/* ---- Layout: article + sidebar ---- */
.bd-section {
   padding: 60px 0 40px;
}

.bd-layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 320px;
   gap: 56px;
   align-items: start;
}

.bd-article {
   min-width: 0;
   max-width: 800px;
}

.bd-cover {
   margin: 0 0 34px;
   border-radius: 20px;
   overflow: hidden;
   background: var(--paper-alt);
   box-shadow: var(--shadow-md);
}

.bd-cover img {
   width: 100%;
   aspect-ratio: 16 / 9;
   object-fit: cover;
}

.bd-lead {
   position: relative;
   margin: 0 0 32px;
   padding: 22px 24px 22px 28px;
   border-radius: var(--radius-m);
   background: var(--gradient-soft);
   font-size: 17.5px;
   line-height: 1.7;
   font-weight: 500;
   color: var(--ink);
}

.bd-lead::before {
   content: "";
   position: absolute;
   left: 0;
   top: 16px;
   bottom: 16px;
   width: 4px;
   border-radius: 4px;
   background: var(--gradient-brand);
}

/* ---- Article typography (DB se aane wala HTML) ---- */
.bd-content {
   font-size: 16.5px;
   line-height: 1.85;
   color: #3d404a;
}

.bd-content>*:first-child {
   margin-top: 0;
}

.bd-content p {
   margin: 0 0 20px;
   color: #3d404a;
}

.bd-content h2 {
   position: relative;
   font-size: clamp(21px, 2.3vw, 27px);
   line-height: 1.3;
   color: var(--ink);
   margin: 46px 0 16px;
   padding-left: 16px;
   scroll-margin-top: 110px;
}

.bd-content h2::before {
   content: "";
   position: absolute;
   left: 0;
   top: .18em;
   bottom: .18em;
   width: 4px;
   border-radius: 4px;
   background: var(--gradient-brand);
}

.bd-content h3 {
   font-size: 19px;
   line-height: 1.35;
   color: var(--ink);
   margin: 32px 0 12px;
}

.bd-content strong {
   color: var(--ink);
   font-weight: 600;
}

.bd-content a {
   color: var(--indigo);
   font-weight: 500;
   text-decoration: underline;
   text-decoration-color: rgba(46, 49, 146, .35);
   text-underline-offset: 3px;
}

.bd-content a:hover {
   text-decoration-color: var(--indigo);
}

/* bullet list — green check */
.bd-content ul {
   margin: 0 0 24px;
   padding: 0;
   list-style: none;
   display: grid;
   gap: 12px;
}

.bd-content ul li {
   position: relative;
   padding-left: 34px;
   line-height: 1.7;
}

.bd-content ul li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 3px;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   background: var(--gradient-brand);
}

.bd-content ul li::after {
   content: "";
   position: absolute;
   left: 8px;
   top: 8px;
   width: 5px;
   height: 9px;
   border-right: 2px solid #fff;
   border-bottom: 2px solid #fff;
   transform: rotate(40deg);
}

/* numbered list */
.bd-content ol {
   margin: 0 0 24px;
   padding: 0;
   list-style: none;
   counter-reset: bd;
   display: grid;
   gap: 12px;
}

.bd-content ol li {
   position: relative;
   padding-left: 40px;
   counter-increment: bd;
}

.bd-content ol li::before {
   content: counter(bd);
   position: absolute;
   left: 0;
   top: 1px;
   width: 26px;
   height: 26px;
   border-radius: 8px;
   display: grid;
   place-items: center;
   background: var(--indigo-soft);
   color: var(--indigo);
   font-family: var(--font-display);
   font-weight: 700;
   font-size: 13px;
}

.bd-content blockquote {
   margin: 30px 0;
   padding: 24px 28px;
   border-radius: var(--radius-m);
   background: var(--gradient-soft);
   border-left: 4px solid var(--indigo);
   font-family: var(--font-display);
   font-size: 18.5px;
   line-height: 1.55;
   font-weight: 500;
   color: var(--ink);
}

.bd-content img {
   width: 100%;
   height: auto;
   border-radius: var(--radius-m);
   margin: 26px 0;
}

.bd-content table {
   width: 100%;
   border-collapse: collapse;
   margin: 26px 0;
   font-size: 14.5px;
   display: block;
   overflow-x: auto;
}

.bd-content th,
.bd-content td {
   border: 1px solid var(--line);
   padding: 11px 14px;
   text-align: left;
}

.bd-content th {
   background: var(--paper-alt);
   color: var(--ink);
}

/* ---- FAQ accordion ---- */
.bd-faq {
   display: grid;
   gap: 12px;
   margin: 8px 0 10px;
}

.bd-faq details {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   overflow: hidden;
   transition: border-color .25s ease, box-shadow .25s ease;
}

.bd-faq details[open] {
   border-color: transparent;
   box-shadow: var(--shadow-card);
}

.bd-faq summary {
   position: relative;
   list-style: none;
   cursor: pointer;
   padding: 17px 56px 17px 20px;
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 15.5px;
   line-height: 1.45;
   color: var(--ink);
}

.bd-faq summary::-webkit-details-marker {
   display: none;
}

.bd-faq summary::after {
   content: "+";
   position: absolute;
   right: 18px;
   top: 50%;
   transform: translateY(-50%);
   width: 28px;
   height: 28px;
   border-radius: 50%;
   display: grid;
   place-items: center;
   background: var(--gradient-brand);
   color: #fff;
   font-size: 18px;
   line-height: 1;
}

.bd-faq details[open] summary {
   color: var(--indigo);
}

.bd-faq details[open] summary::after {
   content: "−";
}

.bd-content .bd-faq p {
   margin: 0;
   padding: 0 20px 18px;
   font-size: 15px;
   line-height: 1.75;
}

/* ---- Share ---- */
.bd-share {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: 44px;
   padding: 20px 22px;
   border-radius: var(--radius-m);
   background: var(--paper-alt);
}

.bd-share span {
   font-family: var(--font-display);
   font-weight: 600;
   font-size: 14.5px;
   margin-right: auto;
}

.bd-share a,
.bd-copy {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   display: grid;
   place-items: center;
   border: 1px solid var(--line);
   background: #fff;
   color: var(--ink);
   font-size: 15px;
   cursor: pointer;
   transition: .25s ease;
}

.bd-share a:hover,
.bd-copy:hover,
.bd-copy.copied {
   background: var(--gradient-brand);
   border-color: transparent;
   color: #fff;
   transform: translateY(-2px);
}

/* ---- Prev / Next ---- */
.bd-nav {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin-top: 24px;
}

.bd-nav-item {
   display: flex;
   flex-direction: column;
   gap: 6px;
   padding: 18px 20px;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   background: #fff;
   transition: .25s ease;
}

.bd-nav-item.next {
   text-align: right;
   grid-column: 2;
}

.bd-nav-item small {
   font-size: 12.5px;
   font-weight: 600;
   color: var(--indigo);
}

.bd-nav-item strong {
   font-family: var(--font-display);
   font-size: 15px;
   line-height: 1.4;
   color: var(--ink);
}

.bd-nav-item:hover {
   border-color: transparent;
   box-shadow: var(--shadow-card);
   transform: translateY(-3px);
}

/* ---- Sidebar ---- */
.bd-sidebar {
   position: sticky;
   top: 110px;
   display: grid;
   gap: 22px;
}

.bd-widget {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 22px;
}

.bd-widget h4 {
   font-size: 16px;
   margin: 0 0 16px;
   padding-bottom: 12px;
   border-bottom: 1px solid var(--line);
}

.bd-recent li+li {
   margin-top: 14px;
}

.bd-recent a {
   display: flex;
   gap: 12px;
   align-items: center;
}

.bd-recent img {
   flex: none;
   width: 70px;
   height: 58px;
   border-radius: 10px;
   object-fit: cover;
   background: var(--paper-alt);
}

.bd-recent strong {
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   font-family: var(--font-display);
   font-size: 13.5px;
   line-height: 1.35;
   color: var(--ink);
   transition: color .2s;
}

.bd-recent small {
   font-size: 12px;
   color: var(--ink-soft);
}

.bd-recent a:hover strong {
   color: var(--indigo);
}

.bd-cats li+li {
   border-top: 1px dashed var(--line);
}

.bd-cats a {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 0;
   font-size: 14.5px;
   color: var(--ink);
   transition: color .2s, padding-left .2s;
}

.bd-cats a:hover {
   color: var(--indigo);
   padding-left: 4px;
}

.bd-cats span {
   min-width: 26px;
   height: 24px;
   display: grid;
   place-items: center;
   border-radius: 999px;
   background: var(--paper-alt);
   font-size: 12px;
   color: var(--ink-soft);
}

.bd-cta {
   background: var(--gradient-brand);
   border: none;
   color: #fff;
}

.bd-cta h4 {
   color: #fff;
   border-bottom-color: rgba(255, 255, 255, .25);
}

.bd-cta p {
   color: rgba(255, 255, 255, .9);
   font-size: 14px;
}

.bd-cta .btn {
   width: 100%;
   justify-content: center;
   background: #fff;
   color: var(--ink);
}

/* ---- Related ---- */
.bd-related {
   background: var(--paper-alt);
   padding: 70px 0;
}

/* =====================================================================
   BLOG DETAIL — RESPONSIVE
   ===================================================================== */
@media (max-width: 1100px) {
   .bd-layout {
      grid-template-columns: minmax(0, 1fr) 280px;
      gap: 40px;
   }
}

@media (max-width: 1024px) {
   .bd-layout {
      grid-template-columns: 1fr;
   }

   .bd-article {
      max-width: none;
   }

   .bd-sidebar {
      position: static;
      grid-template-columns: repeat(2, 1fr);
   }

   .bd-cta {
      grid-column: 1 / -1;
   }
}

@media (max-width: 768px) {
   .bd-hero {
      padding: 40px 0 34px;
      text-align: left;
   }

   .bd-title {
      margin-left: 0;
   }

   .bd-meta {
      justify-content: flex-start;
      gap: 8px;
   }

   .bd-meta span {
      padding: 6px 12px;
      font-size: 12.5px;
   }

   .bd-section {
      padding: 32px 0 20px;
   }

   .bd-cover {
      border-radius: 14px;
      margin-bottom: 24px;
   }

   .bd-lead {
      font-size: 16px;
      padding: 18px 18px 18px 22px;
   }

   .bd-content {
      font-size: 15.5px;
      line-height: 1.8;
   }

   .bd-content h2 {
      margin-top: 34px;
   }

   .bd-sidebar {
      grid-template-columns: 1fr;
   }

   .bd-nav {
      grid-template-columns: 1fr;
   }

   .bd-nav-item.next {
      grid-column: auto;
      text-align: left;
   }

   .bd-share span {
      width: 100%;
      margin: 0 0 4px;
   }

   .bd-faq summary {
      font-size: 14.5px;
      padding: 14px 50px 14px 16px;
   }

   .bd-content .bd-faq p {
      padding: 0 16px 16px;
      font-size: 14.5px;
   }

   .bd-related {
      padding: 50px 0;
   }
}