/* =====================================================================
   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;
}

/* =========================================================
   2. BASE
========================================================= */
*,
*::before,
*::after {
   box-sizing: border-box;
}

html {
   scroll-behavior: smooth;
}

body {
   margin: 0;
   font-family: var(--font-body);
   color: var(--ink);
   background: white;
   line-height: 1.6;
   -webkit-font-smoothing: antialiased;
}

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;
}

.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 h2 {
   font-size: clamp(28px, 3.4vw, 40px);
}

.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  (topbar collapses on scroll)
========================================================= */
.site-header {
   position: sticky;
   top: 0;
   z-index: 100;
   background: #fff;
   box-shadow: 0 1px 0 var(--line);
   transition: box-shadow .3s ease;
}

.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;
   transition: height .3s ease, padding .3s ease;
}

.topbar-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-height: 42px;
   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);
   transition: color .2s;
}

.topbar-link i {
   color: var(--green);
}

.topbar-link:hover {
   color: #fff;
}

.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);
}

.site-header.scrolled .topbar {
   height: 0;
}

.navbar {
   padding: 14px 0;
   transition: padding .3s ease;
}

.site-header.scrolled .navbar {
   padding: 8px 0;
}

.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);
}

.site-header.scrolled .brand img {
   height: 65px;
}

.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;
}

.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;
}

.nav-cta .btn-primary {
   box-shadow: 0 12px 24px -8px rgba(46, 49, 146, .55),
      0 0 20px 3px rgba(76, 175, 80, .45);
}

/* =========================================================
   4. HERO IMAGE BANNER (image only — arrows left+right center, slow zoom)
========================================================= */
.img-hero {
   position: relative;
   overflow: hidden;
   background: var(--paper-alt);
}

.ih-track {
   display: flex;
   transition: transform .8s cubic-bezier(.65, .05, .2, 1);
}

.ih-slide {
   position: relative;
   flex: 0 0 100%;
   min-width: 100%;
   overflow: hidden;
   background: var(--gradient-brand);
}

.ih-slide::before {
   content: "";
   display: block;
   padding-top: 32%;
}

.ih-slide img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}


/* ARROWS : ek LEFT-center, ek RIGHT-center */
.ih-arrows {
   position: absolute;
   top: 50%;
   left: 0;
   right: 0;
   transform: translateY(-50%);
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 0 18px;
   z-index: 3;
   pointer-events: none;
}

.ih-arrow {
   pointer-events: auto;
   width: 38px;
   height: 38px;
   border-radius: 50%;
   border: 1px solid rgba(255, 255, 255, .6);
   background: rgba(0, 0, 0, .28);
   backdrop-filter: blur(6px);
   color: #fff;
   font-size: 15px;
   cursor: pointer;
   display: grid;
   place-items: center;
   transition: .25s;
}

.ih-arrow:hover {
   background: #fff;
   color: var(--ink);
}

.ih-dots {
   position: absolute;
   right: 24px;
   bottom: 20px;
   display: flex;
   gap: 8px;
   z-index: 3;
}

.ih-dot {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .55);
   border: 0;
   cursor: pointer;
   transition: .25s;
}

.ih-dot.active {
   width: 26px;
   border-radius: 6px;
   background: #fff;
}

@media(max-width:600px) {
   .ih-slide::before {
      padding-top: 115%;
   }

   .ih-arrow {
      width: 40px;
      height: 40px;
   }
}

/* =========================================================
   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: var(--radius-l);
   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: -24px;
   left: -18px;
   z-index: 2;
   background: #fff;
   border-radius: var(--radius-m);
   box-shadow: var(--shadow-card);
   padding: 22px 26px;
   text-align: center;
}

.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 — 3 image cards per screen (no text/overlay)
========================================================= */
.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;
}

/* card = sirf image, koi text / overlay nahi. 3 per screen */
.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 with smooth hover reveal
========================================================= */
.offer-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 24px;
   padding-bottom: 90px;
}

.offer-card {
   position: relative;
   display: block;
   height: 400px;
   border-radius: var(--radius-m);
   overflow: hidden;
   background: var(--gradient-brand);
   box-shadow: var(--shadow-card);
   transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease;
}

.offer-card:hover {
   transform: translateY(-6px);
   box-shadow: var(--shadow-md);
}

.offer-card>img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

.offer-card:hover>img {
   transform: scale(1.07);
}

.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-card:hover .offer-reveal {
   grid-template-rows: 1fr;
   opacity: 1;
   transform: translateY(0);
   margin-top: 12px;
}

.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;
}

.offer-card:hover .offer-link {
   gap: 12px;
}

/* =========================================================
   8b. WHY CHOOSE KENU
========================================================= */
.why-choose {
   background: var(--paper-alt);
}

.why-grid {
   display: grid;
   grid-template-columns: .85fr 1.15fr;
   gap: 56px;
   align-items: center;
}

.why-media {
   position: relative;
}

.why-media img {
   width: 100%;
   aspect-ratio: 4/5;
   object-fit: cover;
   border-radius: var(--radius-l);
   box-shadow: var(--shadow-md);
}

.why-badge {
   position: absolute;
   left: -20px;
   bottom: -24px;
   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-content p {
   font-size: 15px;
}

.why-features {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin: 10px 0 28px;
}

.why-feature {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   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;
   padding-top: 3px;
}

/* ---- Responsive ---- */
@media (max-width:1024px) {
   .why-grid {
      grid-template-columns: 1fr;
   }

   .why-media {
      order: -1;
   }

   .why-badge {
      left: 0;
   }
}

@media (max-width:600px) {
   .why-features {
      grid-template-columns: 1fr;
   }

   .why-badge {
      position: static;
      display: inline-block;
      margin-top: 16px;
   }
}

/* =========================================================
   9. PROCESS STEPS (circular, zigzag, dashed connectors, photo-in-circle)
========================================================= */
.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;
}

/* zigzag stagger — even steps float up */
.how-step:nth-child(even) {
   margin-top: -30px;
}

.how-step:nth-child(odd) {
   margin-top: 30px;
}

.how-step:first-child {
   margin-top: 0;
}

/* dashed connector between consecutive circles */
.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);
   /* gradient ring thickness around the photo */
   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);
}

/* inner circle that actually clips/holds the photo */
.how-photo {
   position: relative;
   width: 100%;
   height: 100%;
   border-radius: 50%;
   overflow: hidden;
   background: var(--paper-alt);
   /* fallback color if image is missing/broken */
   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;
}

/* ---- Responsive ---- */
@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::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;
}

/* the rounded gradient card */
.counter-card {
   background: var(--gradient-brand);
   box-shadow: var(--shadow-card);
   padding: 52px 44px;
   position: relative;
   overflow: hidden;
}

/* soft decorative glow on the gradient card */
.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;
}

/* heading */
.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;
}

/* grid */
.counter-grid {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 24px;
}

/* individual counter card */
.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);
}

/* responsive */
@media (max-width: 900px) {
   .counter-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
   }

   .counter-section {
      padding: 56px 0;
   }

   .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);
}

/* =========================================================
   11b. CTA IMAGE BANNER (full-width — image only, no text)
========================================================= */
.cta-image-section {
   padding: 80px 0;
}

.cta-image {
   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);
}

.contact-grid {
   display: grid;
   grid-template-columns: .9fr 1.1fr;
   gap: 50px;
}

.info-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 22px;
   display: flex;
   gap: 14px;
   margin-bottom: 16px;
}

.form-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-m);
   padding: 36px;
   box-shadow: var(--shadow-card);
}

.form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 16px;
   margin-bottom: 16px;
}

.form-row.full {
   grid-template-columns: 1fr;
}

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;
}

.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;
}

/* =========================================================
   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;
   }
}

@media (max-width:900px) {

   /* Mobile navigation */
   .topbar {
      display: none;
   }

   .nav-toggle {
      display: flex;
   }

   .nav-cta {
      display: none;
   }

   .nav-menu {
      position: fixed;
      top: 0;
      right: 0;
      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: 99;
   }

   .nav-menu.open {
      transform: translateX(0);
   }

   .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;
   }

   .has-drop.open .caret {
      transform: rotate(180deg);
   }

   .dropdown {
      position: static;
      opacity: 1;
      visibility: visible;
      transform: none;
      box-shadow: none;
      border: none;
      padding: 0 0 8px 10px;
      min-width: 0;
      max-height: 0;
      overflow: hidden;
      transition: max-height .3s ease;
      background: transparent;
   }

   .dropdown::before {
      display: none;
   }

   .dropdown li {
      opacity: 1;
      transform: none;
   }

   .has-drop.open .dropdown {
      max-height: 540px;
   }

   .mobile-cta {
      display: block;
      border-bottom: none;
      margin-top: 14px;
   }

   .mobile-cta .btn {
      width: 100%;
      justify-content: center;
   }

   .concern-card {
      flex: 0 0 calc((100% - 18px) / 2);
      height: 300px;
   }
}

@media (max-width:768px) {
   section {
      padding: 62px 0;
   }

   .grid-3,
   .grid-4,
   .steps {
      grid-template-columns: 1fr;
   }

   .offer-grid {
      grid-template-columns: 1fr;
   }

   /* touch devices: hover nahi hota, isliye description hamesha dikhao */
   .offer-reveal {
      grid-template-rows: 1fr;
      opacity: 1;
      transform: none;
      margin-top: 12px;
   }

   .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;
   }

   .story-badge {
      position: static;
      margin-top: 16px;
      display: inline-block;
   }

   .footer-bottom {
      justify-content: center;
      text-align: center;
   }
}

@media (max-width:600px) {

   /* product cards : 1 + peek */
   .concern-card {
      flex: 0 0 82%;
      height: 214px;
   }
}

@media (max-width:460px) {
   .offer-grid {
      grid-template-columns: 1fr;
   }

   .topbar-left .topbar-link:nth-child(2) {
      display: none;
   }

   .brand img {
      height: 40px;
   }
}

/* ===== ABOUT PAGE ========== */

/* =========================================================
   INTRO SPLIT — image panel
========================================================= */
.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.png");
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;

}

/* Text image ke upar rahe */
.page-hero .container {
   position: relative;
   z-index: 2;
}

/* Breadcrumb */
.page-hero .breadcrumb {
   margin-bottom: 20px;
}

/* Heading */
.page-hero h1 {
   margin-bottom: 0;
}

/* Description */
.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;
}

/* alternate image side on larger screens */
.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;
}

/* fallback look if a photo is missing */
.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;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@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 — subtle career-themed background decoration
========================================================= */
.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 — split section
========================================================= */
.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 point mini-cards */
/* culture point mini-cards */
.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
========================================================= */
.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);
}

/* =========================================================
   RESPONSIVE
========================================================= */
@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  (complete)
   ===================================================================== */


/* Layout */
.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;
}

/* ---- Left: info cards ---- */
.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);
}

/* social row */
.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);
}

/* ---- Right: form card ---- */
.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;
}

/* ---- Alerts ---- */
.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;
}

/* ---- Full-width map ---- */
.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);
}

/* ---- Honeypot ---- */
.hp-field {
   position: absolute;
   left: -9999px;
   opacity: 0;
   height: 0;
   overflow: hidden;
}

/* ---- Responsive ---- */
@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);
}

/* responsive */
@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;
   }
}

/* ============================ BLOGS ============================ */
.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-card:hover::before {
   transform: scaleX(1);
}

.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-section {
      padding: 45px 15px;
   }

   .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;
}

/* ---- Grid ---- */
.blog-section {
   padding-top: 34px;
}

.blog-count {
   font-size: 15px;
   color: var(--ink-soft);
   margin-bottom: 22px;
}

.blog-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 28px;
}

/* ---- Card ---- */
.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;
}

/* ---- Responsive ---- */
@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;
   }
}