@media (max-width: 575px) {
  .accordion-button::after {
    right: 10px !important;
  }
}
@media (max-width: 991px) {
  .info-card .card-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    padding: 24px !important;
    text-align: left !important;
  }
  .info-card .count {
    position: static !important;
    margin: 0 0 12px 0 !important;
    font-size: 28px !important;
  }
  .info-card .card-content h3 {
    font-size: 24px !important;
    margin-bottom: 10px !important;
    white-space: normal !important;
  }
  .info-card .card-content p {
    font-size: 15px !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }
}
@media (max-width: 991px) {
  .count {
    display: inline-block !important;
    width: auto !important;
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
  }
}
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&display=swap');

html {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

html::-webkit-scrollbar {
  display: none;
}

body {
  font-family: "Karla", sans-serif;
  font-size: 18px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  height: auto;
}

main {
  overflow: visible;
  height: auto;
}

* {
  box-sizing: border-box;
}

/* When a full-screen mobile menu (collapse) is open, prevent scrolling.
   html is the scrollable container (overflow-y: auto), so we lock it. */
html.no-scroll {
  overflow-y: hidden !important;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Josefin Sans", sans-serif;
}

.btn-primary {
  background: #FE952C;
  color: #fff;
  border: none;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0 32px;
  min-width: auto;
  max-width: 100%;
  height: 70px;
  white-space: normal;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.video-header {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.video-header video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(38, 35, 100, 0.80) 0%, rgba(0, 0, 0, 0.55) 100%);
  pointer-events: none;
}

.video-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.nav-top {
  background: #fff;
  padding: 16px 40px;
  border-radius: 16px;
  width: 1296px;
  max-width: calc(100% - 40px);
  position: fixed;
  /* Fixed to stay visible when scrolling */
  top: 20px;
  /* Offset from top */
  left: 50%;
  transform: translateX(-50%);
  /* Center it horizontally */
  z-index: 9999;
  align-items: center;
  transition: all 0.4s ease;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

/* Force container inside nav-top to span fully so we rely strictly on nav-top padding */
.nav-top .container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Inner-page navbar: sticky, constrained width, floating look */
body>.nav-top,
body>nav.nav-top {
  position: fixed;
  /* Fixed to stay visible when scrolling */
  top: 20px;
  max-width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 0;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.10);
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  background-color: transparent !important;
  color: #FE952C;
  border-radius: 0 !important;
}

.top-cta {
  width: auto !important;
  height: 60px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  gap: 24px;
  border-radius: 99px;
  white-space: nowrap;
  min-width: auto !important;
  font-size: 1rem;
  font-weight: 600;
  color: #fff !important;
}

.top-cta.ms-lg-3 {
  margin-left: 8px !important;
}

/* Large CTA buttons with padding */
.btn.top-cta.px-5.py-3 {
  width: auto !important;
  height: auto !important;
  padding: 12px 40px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 0.95rem !important;
  line-height: 1.4;
}

/* Specific styling for Sustainability section button */
.sustain-cta {
  width: auto !important;
  min-width: 280px !important;
  height: 60px !important;
  white-space: normal !important;
  padding: 0 32px !important;
  line-height: 1.3;
}

.navbar-nav .nav-link[href="application.html"] {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.navbar-nav .nav-link[href="sustainability.html"] {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.navbar-nav>.nav-item:last-child>.nav-link {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.btn:hover {
  background-color: #262364;
  border-color: #262364;
  color: #fff !important;
}

.logo {
  max-width: 350px !important;
  width: auto !important;
  height: auto !important;
  vertical-align: middle;
}

.navbar-brand {
  padding: 5px 0 5px 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  max-width: none !important;
  flex-shrink: 0;
}

.navbar-brand img {
  vertical-align: middle;
  max-width: 160px !important;
  width: auto !important;
}

.navbar-collapse {
  display: flex;
  align-items: center;
  gap: 20px;
}

.navbar-collapse .text-center {
  margin-left: 0;
}

.navbar-nav.mx-auto {
  display: flex;
  align-items: center;
  gap: 20px;
}

.nav-link {
  color: #262364 !important;
  font-weight: 500;
}

.navbar .nav-link:focus,
.navbar .nav-link:active {
  color: #262364 !important;
}

.navbar-brand {
  color: #262364 !important;
}

.nav-link.active {
  color: #262364 !important;
}

.navbar-nav .nav-link[href="index.html"] {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.navbar-nav .dropdown:first-of-type>.nav-link {
  width: auto;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}

.navbar-nav {
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
}

.nav-link:hover {
  color: #FE952C;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  background-color: #FE952C;
  border-radius: 50px;
}

/* Responsive Navbar - Keep styling, adjust for smaller screens */
@media (max-width: 1400px) {
  .nav-top {
    width: 95%;
    padding: 16px 30px;
  }

  body>.nav-top,
  body>nav.nav-top {
    max-width: 95%;
  }
}

@media (max-width: 1200px) {
  .nav-top {
    width: 90%;
    padding: 16px 25px;
  }

  body>.nav-top,
  body>nav.nav-top {
    max-width: 90%;
  }

  .navbar-nav {
    width: 95%;
    gap: 18px;
  }

  .top-cta {
    width: 180px;
    height: 55px;
    gap: 20px;
  }
}

@media (max-width: 1024px) {
  .nav-top {
    width: 95%;
    padding: 12px 20px;
  }

  body>.nav-top,
  body>nav.nav-top {
    max-width: 95%;
  }

  .navbar>.container {
    display: flex;
    align-items: center;
  }

  .navbar-brand {
    flex-shrink: 0;
  }

  .navbar-brand img {
    max-width: 110px !important;
  }

  .logo {
    max-width: 200px !important;
  }

  .navbar-collapse {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .navbar-nav.mx-auto {
    gap: 6px;
    flex: 1;
    min-width: 0;
    justify-content: center;
  }

  .navbar-nav .nav-link,
  .navbar-nav .nav-link[href="index.html"],
  .navbar-nav .nav-link[href="application.html"],
  .navbar-nav .nav-link[href="sustainability.html"],
  .navbar-nav .dropdown:first-of-type>.nav-link,
  .navbar-nav>.nav-item:last-child>.nav-link {
    font-size: 13px;
    padding: 6px 5px !important;
    white-space: nowrap;
  }

  .custom-dropdown .nav-link {
    padding: 6px 5px !important;
  }

  .custom-dropdown .nav-link::after {
    margin-left: 2px;
    border-top-width: 4px;
    border-right-width: 4px;
    border-left-width: 4px;
  }

  .navbar-collapse .text-center {
    flex-shrink: 0;
  }

  .top-cta {
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 0.8rem !important;
    min-width: auto !important;
    width: auto !important;
  }

  .top-cta.ms-lg-3 {
    margin-left: 4px !important;
  }
}

/* ============================= */
/* MOBILE NAVBAR (≤991px)        */
/* ============================= */
@media (max-width: 991px) {

  /* Floating navbar container */
  .nav-top {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    padding: 12px 16px !important;
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border-radius: 14px !important;
  }

  body>.nav-top,
  body>nav.nav-top {
    max-width: calc(100% - 24px) !important;
    top: 10px !important;
  }

  /* Logo */
  .logo {
    width: 220px !important;
    height: auto !important;
    flex-shrink: 0;
  }

  .navbar-brand img {
    max-width: 110px !important;
  }

  /* Inner container */
  .nav-top .container {
    flex-wrap: nowrap;
    align-items: center;
  }

  /* Collapsed dropdown panel — positioned below navbar */
  .navbar-collapse {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
    padding: 16px;
    z-index: 9998;
    max-height: 80vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Smooth animation */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }

  .navbar-collapse.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* Fix for navbar toggler not clickable */
  .navbar-toggler {
    z-index: 10000;
    pointer-events: auto;
  }

  /* Ensure the navbar brand doesn't overlap the toggler */
  .navbar-brand {
    z-index: 9999;
  }

  /* Ensure navbar collapse is properly hidden/shown */
  .navbar-collapse {
    display: none;
  }

  .navbar-collapse.show {
    display: block;
  }

  .navbar-collapse .text-center {
    flex-shrink: 0;
    margin-left: 0;
  }

  /* Nav list: vertical stack */
  .navbar-nav {
    width: 100% !important;
    height: auto !important;
    gap: 0 !important;
    flex-direction: column !important;
    text-align: center !important;
  }

  .navbar-nav .nav-item {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(38, 35, 100, 0.06);
  }

  .navbar-nav .nav-item:last-child {
    border-bottom: none;
  }

  /* All nav links: full-width, centered text */
  .navbar-nav .nav-link,
  .navbar-nav .nav-link[href="application.html"],
  .navbar-nav .nav-link[href="sustainability.html"],
  .navbar-nav .dropdown:first-of-type>.nav-link,
  .navbar-nav .nav-link[href="index.html"],
  .navbar-nav>.nav-item:last-child>.nav-link {
    width: 100% !important;
    height: auto !important;
    padding: 12px 8px !important;
    white-space: normal;
    font-size: 1rem !important;
    display: block !important;
  }

  .custom-dropdown .nav-link {
    padding: 12px 8px !important;
  }

  /* CTA button inside navbar */
  .navbar .top-cta {
    width: 100% !important;
    height: 48px !important;
    padding: 0 !important;
    margin-top: 10px;
    margin-left: 0 !important;
    gap: 15px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: normal;
  }

  .navbar-collapse>.btn-primary,
  .navbar-collapse>.text-center>.btn-primary {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  /* === Mobile dropdown: show by click, not hover === */
  /* Override desktop hover-only styles */
  .custom-dropdown .custom-menu,
  .navbar-nav .dropdown-menu {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: none !important;
    float: none;
    width: 100%;
    min-width: 0;
    box-shadow: none !important;
    background: #f0eef8 !important;
    border: none !important;
    border-radius: 8px;
    margin-top: 4px;
    text-align: center;
    padding: 4px 0;
  }

  /* Show dropdown when Bootstrap toggles .show on parent */
  .custom-dropdown.show .custom-menu,
  .navbar-nav .dropdown.show .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Remove hover bridge on mobile */
  .custom-menu::before {
    display: none;
  }

  /* Dropdown items in mobile */
  .custom-menu .dropdown-item,
  .navbar-nav .dropdown-menu .dropdown-item {
    text-align: center;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
    display: block;
    width: 100%;
    color: #262364;
    border-radius: 0;
  }

  .custom-menu .dropdown-item:hover,
  .custom-menu .dropdown-item:active,
  .custom-menu .dropdown-item:focus,
  .navbar-nav .dropdown-menu .dropdown-item:hover,
  .navbar-nav .dropdown-menu .dropdown-item:active,
  .navbar-nav .dropdown-menu .dropdown-item:focus {
    background: #262364 !important;
    color: #fff !important;
  }

  .custom-menu .dropdown-item.active,
  .navbar-nav .dropdown-menu .dropdown-item.active {
    background: #262364 !important;
    color: #fff !important;
  }

  /* Navbar alignment fixes */
  .navbar-nav {
    align-items: stretch;
    width: 100%;
  }

  .navbar-nav .nav-item {
    width: 100%;
    text-align: center;
  }

  .navbar-collapse {
    align-items: flex-start !important;
  }

  /* CTA button: push to bottom of menu */
  .navbar-collapse .text-center {
    order: 1;
    width: 100%;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(38, 35, 100, 0.08);
  }

  .navbar-collapse {
    display: flex;
    flex-direction: column;
  }

  .navbar-nav {
    order: 0;
  }

  /* Toggler touch target */
  .navbar-toggler {
    padding: 8px !important;
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
  }
}

/* Navbar styles for 768px and below consolidated in the main mobile block above */
/* Navbar styles for 576px consolidated in the main mobile block above */

section {
  margin: 0;
}

.card-primary {
  background: #FE952C;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 20px;
}

.card-primary img {
  padding-bottom: 15px;
}

.card-primary h4,
.card-primary p {
  text-align: left;
}

.btn-outline-secondary {
  display: block;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 50px;
  padding: 10px 20px;
}

.card-secondary {
  background: #F6F6F6;
  color: #262364;
  border-radius: 10px;
  text-align: center;
  padding: 20px;
}

.card-secondary img {
  padding: 40px 0;
}

.card-secondary h4,
.card-secondary p {
  text-align: left;
}

.card-secondary .btn-outline-secondary {
  display: block;
  color: #262364;
  border: 2px solid #262364;
  border-radius: 50px;
}

.align-right {
  text-align: right;
}

section.dark {
  background: #262364;
  color: #fff;
  padding: 50px;
  margin-top: 0;
}

/* Remove accordion outer border */
.accordion,
.accordion-item {
  border: none;
  background: transparent;
  color: #fff;
  border-radius: 0;
}

/* Remove header button background & border */
.accordion-button {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 12px 50px 12px 0;
  color: #fff;
  font-size: 19px;
  line-height: 1.5;
  min-height: 60px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  font-weight: 500;
  width: 100%;
  text-align: left;
  white-space: normal;
  word-break: break-word;
  max-width: 100%;
  position: relative;
  flex-wrap: wrap;
}

.accordion-button::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

/* Remove active/open background */
.accordion-button:not(.collapsed) {
  background: transparent;
  box-shadow: none;
  color: inherit;
}

/* Remove focus outline */
.accordion-button:focus {
  box-shadow: none;
  border: none;
}

/* Remove body background */
.accordion-body {
  background: transparent;
  padding: 0 20px 24px 20px;
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #e0e0e0;
}

.accordion-item {
  border-bottom: 1px solid rgba(229, 229, 229, 0.4);
  padding-top: 24px;
  padding-bottom: 0;
  position: relative;
}

.accordion-item:first-child {
  padding-top: 0;
}

.accordion-item:last-child {
  border-bottom: none;
}

/* Ensure accordion header displays properly */
.accordion-header {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

.accordion-header h2 {
  margin: 0;
  padding: 0;
  display: block;
}

/* Main CTA section */
  padding: 10px 35px;
  margin-top: 35px;
}

/* Keep only the Applications CTA from stretching full row */
.applications-section .middle-cta {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  min-width: 250px;
}

/* FAQ Section Desktop Alignment */
@media (min-width: 992px) {
  .faq-section .row {
    align-items: stretch;
  }

  .faq-right {
    align-items: flex-start;
    padding-top: 0;
  }

  .faq-left h2 {
    margin-top: 0;
  }
}


.cards-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.info-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.info-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Content overlay */
.card-content {
  position: absolute;
  inset: 0;
  padding: 30px;
  color: #fff;
  background: rgba(80, 80, 120, 0.45);
  /* bluish overlay like reference */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: background 0.4s ease;
}

/* Hover effect – orange box on text */
.info-card:hover .card-content {
  background: rgba(242, 140, 40, 0.95);
  /* ORANGE */
}

.count {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 22px;
  font-weight: 600;
}

.card-content h3 {
  font-size: 22px;
  margin-bottom: 10px;
}

.card-content p {
  line-height: 1.6;
  margin-bottom: 20px;
  font-family: "Karla", sans-serif;
  font-size: 18px;
}

.arrow {
  font-size: 22px;
}

section.custom {
  margin: 40px 0;
}



.section-title {
  font-size: 32px;
  font-weight: 600;
  color: #262364;
  margin-bottom: 50px;
  margin-left: 10px;
}

.awards-wrapper {
  position: relative;
}

.awards-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.award-box {
  background: #fafafa;
  border-radius: 20px;
  width: 260px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.award-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.award-box img {
  max-width: 90%;
  max-height: 115px;
  object-fit: contain;
}

/* Arrow buttons */
.nav-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #2b2a6f;
  color: #fff;
  border: none;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.nav-arrow:hover {
  background: #f28c28;
  /* optional hover orange */
}


.lets-talk-section {
  background: #f0f1f5;
  padding: 100px 0;
  color: #1f1d5c;
  margin: 0 !important;
}

.lets-talk-title {
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 15px;
  color: #1f1d5c;
}

.lets-talk-subtitle {
  max-width: 700px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
  color: #444;
}

.lets-talk-form {
  width: 60%;
  margin: 0 auto;
}

/* Form */
.lets-talk-form label {
  font-size: 16px;
  margin-bottom: 8px;
  color: #1f1d5c;
}

.custom-input {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(31, 29, 92, 0.3);
  border-radius: 0;
  padding-left: 0;
  color: #1f1d5c;
}

.custom-input:focus {
  background: transparent;
  box-shadow: none;
  border-bottom-color: #1f1d5c;
  color: #1f1d5c;
}

/* Button */
.send-btn {
  background: #2b2a6f;
  color: #fff;
  padding: 12px 40px;
  border-radius: 50px;
  font-size: 16px;
  border: none;
}

.send-btn:hover {
  background: #1f1e55;
  color: #fff;
}

.site-footer {
  background: #1f1d5c;
  /* deep indigo */
  color: #fff;
  padding: 80px 0 30px;
}

.footer-logo {
  max-width: 180px;
}

.footer-text {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 25px;
}

/* Section titles */
.footer-title {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 20px;
  text-decoration: underline;
}

/* Links */
.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 25px;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
}

.footer-links a:hover {
  text-decoration: underline;
}

/* Contact */
.footer-contact {
  list-style: none;
  padding: 0;
  font-size: 18px;
}

.footer-contact li {
  margin-bottom: 15px;
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
}

.footer-contact li i {
  margin-right: 10px;
  margin-top: 3px;
}

.footer-contact .icon {
  margin-right: 10px;
  color: #f28c28;
  /* accent orange */
}

/* Social icons */
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  color: #fff;
  margin-right: 10px;
  font-size: 14px;
}

.footer-social a:hover {
  background: #f28c28;
  border-color: #f28c28;
}

/* Divider */
.footer-divider {
  border-color: rgba(255, 255, 255, 0.2);
  margin: 40px 0 20px;
}

/* Bottom text */
.footer-bottom {
  font-size: 18px;
}

a {
  text-decoration: none;
}

.footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 1.6;
}

.footer-contact i {
  color: #f28c28;
  /* orange accent */
  font-size: 16px;
  margin-top: 3px;
  min-width: 18px;
  line-height: 1.5;
}

.btn-animate {
  transition: all 0.3s ease;
}

.btn-animate:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.pr-90 {
  padding-right: 90px;
}

/* Fix navbar alignment */
.navbar {
  display: flex;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

.dropdown-menu {
  z-index: 9999;
  left: 0;
  right: auto;
  min-width: auto;
  border-radius: 12px;
  overflow: hidden;
}

:focus {
  outline: none !important;
  box-shadow: none !important;
}


.navbar-toggler {
  border: none;
}

/* Ensure logo + hamburger align on same row */
.navbar>.container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Fix Bootstrap icon visibility */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Mobile/tablet navbar styles consolidated in the main @media (max-width: 991px) block above */

@media (max-width: 767px) {
  .intro-cards_layout h2 {
    font-size: 26px;
    line-height: 1.3;
  }

  .card-primary,
  .card-secondary {
    padding: 16px;
  }

  .card-primary p,
  .card-secondary p {
    font-size: 16px;
  }
}

.vision-section {
  padding: 100px 0;
  background: #fff;
}

.vision-content h2 {
  font-size: 42px;
  line-height: 1.25;
  font-weight: 600;
  max-width: 560px;
}

.vision-content p {
  margin-top: 18px;
  font-size: 17px;
  color: #555;
  max-width: 520px;
}

.vision-img {
  border-radius: 24px;
  max-width: 100%;
}

.btn-vision {
  margin-top: 30px;
  background: #f7931e;
  color: #fff;
  padding: 12px 26px;
  border-radius: 30px;
  font-size: 15px;
}

@media (max-width: 991px) {
  .vision-section {
    padding: 70px 0;
  }

  .vision-content h2 {
    font-size: 30px;
    max-width: 100%;
  }

  .vision-content p {
    font-size: 16px;
    max-width: 100%;
  }

  .btn-vision {
    margin-top: 20px;
  }
}

@media (max-width: 576px) {
  .vision-content h2 {
    font-size: 26px;
    line-height: 1.3;
  }

  .vision-img {
    border-radius: 18px;
  }
}

@media (min-width: 992px) {
  .vision-img {
    transform: translateY(-10px);
  }
}

/* FAQ Desktop Layout Fix */
@media (min-width: 992px) {
  .faq-left {
    overflow: hidden;
    max-width: 100%;
  }

  .pr-90 {
    padding-right: 30px !important;
  }

  .faq-section .row {
    align-items: stretch;
  }

  .faq-right {
    align-items: flex-start;
    overflow: hidden;
  }
}

/* FAQ Responsive Fix */
@media (max-width: 991px) {

  .faq-section {
    padding: 80px 0;
    overflow-x: hidden;
  }

  .faq-section h2 {
    margin-bottom: 40px;
    padding: 0;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.05em;
  }

  .pr-90 {
    padding-right: 30px !important;
  }

  .faq-left {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
  }

  .faq-left .accordion {
    flex: 1;
  }

  .faq-right {
    text-align: center;
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }

  .faq-right img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
  }

  .accordion-button {
    font-size: 18px;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 12px 50px 12px 0;
    position: relative;
    word-break: break-word;
    white-space: normal;
    flex-wrap: wrap;
  }

  .accordion-button::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  .accordion-body {
    font-size: 16px;
    line-height: 1.65;
    padding: 0 0 24px 16px;
  }

  /* Align heading with first FAQ item */
  .faq-section .accordion-header {
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
  }

  .accordion-header h2 {
    margin: 0;
  }
}

/* Full width wrapper */
.applications-full {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
}

/* Cards */
.applications-full .info-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

/* Mobile */
@media (max-width: 991px) {
  .applications-full {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .applications-full {
    grid-template-columns: 1fr;
  }
}

.about-timeline {
  background: #fff;
}

.timeline-section {
  background: #fff;
}

.timeline {
  position: relative;
  padding: 0;
}

/* Center vertical line */
.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #e5e5e5;
  transform: translateX(-50%);
}

/* Timeline item */
.timeline-item {
  position: relative;
  width: 50%;
  padding: 20px 40px;
  box-sizing: border-box;
}

/* Left & Right alignment */
.timeline-item.left {
  left: 0;
  text-align: right;
}

.timeline-item.right {
  left: 50%;
  text-align: left;
}

/* Card */
.timeline-content {
  background: #EEF1F8;
  padding: 25px;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  position: relative;
  opacity: 1;
  transform: translateY(40px);
  transition: all 0.6s ease;
}

/* Year badge */
.timeline-content .year {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: #FE952C;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 10px;
}

/* Dots on center line */
.timeline-item::after {
  content: "";
  position: absolute;
  top: 35px;
  width: 14px;
  height: 14px;
  background: #FE952C;
  border-radius: 50%;
  z-index: 1;
}

.timeline-item.left::after {
  right: -7px;
}

.timeline-item.right::after {
  left: -7px;
}

/* Animation visible */
.timeline-item.show .timeline-content {
  opacity: 1;
  transform: translateY(0);
}


/* Responsive (Mobile) */
@media (max-width: 768px) {
  .timeline::before {
    left: 20px;
  }

  .timeline-item {
    width: 100%;
    padding-left: 60px;
    padding-right: 20px;
    text-align: left;
  }

  .timeline-item.right,
  .timeline-item.left {
    left: 0;
    text-align: left;
  }

  .timeline-item::after,
  .timeline-item.left::after,
  .timeline-item.right::after {
    left: 13px !important;
    right: auto !important;
    transform: none !important;
  }
}

.hero-split {
  margin-top: 70px;
}

.hero-split.section-padding {
  padding-top: 155px;
}

/* Section */
.team-slider-section {
  background: #262364;
  padding: 80px 0 60px;
  color: #fff;
}

/* Card */
.team-card {
  background: transparent;
}

.team-img {
  border-radius: 18px;
  overflow: hidden;
}

.team-img img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: top;
  border-radius: 18px;
}

/* Text */
.team-content {
  padding-top: 18px;
}

.team-content h4 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 4px;
}

.team-content span {
  font-size: 17px;
  color: #cfcfcf;
}

/* LinkedIn */
.linkedin {
  display: block;
  margin-top: 12px;
  font-size: 16px;
  color: #fff;
}

.linkedin i {
  font-size: 16px;
}


/* Navigation */
.team-nav {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 24px;
}



/* Hover polish (Clarity-like) */
.team-img img {
  transition: transform 0.6s ease;
}

.team-card:hover img {
  transform: scale(1.04);
}

.team-h {
  margin-bottom: 50px;
}

/* Value Cards */
.value-card {
  padding: 40px;
  background: #fff;
  border-radius: 20px;
  transition: all 0.3s ease;
  border: 1px solid #f0f0f0;
}

.value-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
}

.value-icon {
  font-size: 40px;
  margin-bottom: 20px;
}

/* Value Cards V2 – Redesigned */
.value-card-v2 {
  position: relative;
  padding: 48px 36px 40px;
  background: #fff;
  border-radius: 20px;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border: 1px solid #f0f0f0;
  overflow: hidden;
  height: 100%;
}

.value-card-v2:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 50px rgba(38, 35, 100, 0.10);
  border-color: transparent;
}

.value-card-v2 h4 {
  font-weight: 700;
  color: #262364;
  margin-bottom: 12px;
  font-size: 1.3rem;
}

.value-card-v2 p {
  color: #666;
  line-height: 1.7;
  margin-bottom: 0;
}

.value-icon-wrap {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  font-size: 28px;
  color: #fff;
  transition: transform 0.3s ease;
}

.value-card-v2:hover .value-icon-wrap {
  transform: scale(1.1) rotate(-4deg);
}

.sustainability-gradient {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.innovation-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.comfort-gradient {
  background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
}

.value-accent {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #262364, #FE952C);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.value-card-v2:hover .value-accent,
.value-card-v2:focus-within .value-accent,
.value-card-v2.active .value-accent {
  transform: scaleX(1);
}

@media (hover: none) and (pointer: coarse) {
  .value-accent {
    transform: scaleX(1);
  }
}




/* --- Sustainability Page Specifics --- */

.section-padding {
  padding: 100px 0;
}

.page-request-sample header.section-padding {
  padding-top: 150px;
  padding-bottom: 80px;
}

.page-request-sample header.section-padding .display-5 {
  margin-top: 14px;
  margin-bottom: 18px;
}

@media (max-width: 767px) {
  .page-request-sample header.section-padding {
    padding-top: 130px;
    padding-bottom: 64px;
  }
}

.text-indigo {
  color: #262364;
}

.text-orange {
  color: #FE952C;
}

/* Hero Section */
.sector-hero {
  background-color: #f8f9fa;
  padding: 120px 0;
}

/* Pillar Items */
.pillar-icon {
  width: 70px;
  height: 70px;
  background: #262364;
  color: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  transition: 0.3s;
}

.pillar-item:hover .pillar-icon {
  background: #FE952C;
  transform: rotate(5deg);
}

/* Feature Blocks (Clarity 50/50 Layout) */
.p-lg-100 {
  padding: 100px !important;
}

.feature-img {
  height: 600px;
  object-fit: cover;
}

/* Responsive Overrides */
@media (max-width: 991px) {
  .p-lg-100 {
    padding: 50px 20px !important;
  }

  .feature-img {
    height: 400px;
  }

  .sector-hero {
    padding: 80px 0;
  }
}

@media (max-width: 767px) {
  .display-4 {
    font-size: 2.5rem;
  }
}

/* --- Sustainability Branding --- */
.text-indigo {
  color: #262364 !important;
}

.text-orange {
  color: #FE952C !important;
}

.bg-indigo {
  background-color: #262364 !important;
}

.bg-orange {
  background-color: #FE952C !important;
}

/* Section Spacing */
.section-padding {
  padding: 100px 0;
}

/* Hero Video */
.hero-video-wrapper {
  aspect-ratio: 16/9;
  background: #f0f0f0;
}

/* Icon Pills */
.badge.rounded-pill {
  font-size: 14px;
  font-weight: 500;
}

/* Quote Box */
.quote-box h6 {
  font-family: "Josefin Sans", sans-serif;
  color: #262364;
}

/* Icons for Three E's */
.icon-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 28px;
}

.icon-circle i {
  margin: 0 !important;
  color: inherit !important;
  display: inline-block !important;
}

/* SDG Grid */
.sdg-icon {
  filter: grayscale(20%);
  transition: transform 0.3s, filter 0.3s;
  cursor: pointer;
}

.sdg-icon:hover {
  transform: scale(1.1);
  filter: grayscale(0%);
}

/* Responsive Fixes */
@media (max-width: 991px) {
  .section-padding {
    padding: 60px 0;
  }

  .display-4 {
    font-size: 2.5rem;
  }
}

.mb0 {
  margin-bottom: 0;
}

.pb0 {
  padding-bottom: 0;
}

.mt0 {
  margin-top: 0;
}

/* --- SDG Slide-Up Effect --- */
.sdg-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  background: #fff;
  transition: transform 0.3s ease;
}

.sdg-item:hover {
  transform: translateY(-8px);
}

.sdg-main-img {
  display: block;
  width: 100%;
  transition: filter 0.3s ease;
}

.sdg-overlay {
  position: absolute;
  bottom: -100%;
  /* Hidden below */
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(38, 35, 100, 0.95);
  /* Your Brand Indigo */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.sdg-item:hover .sdg-overlay {
  bottom: 0;
  /* Slide up on hover */
}

.sdg-text {
  text-align: center;
  color: #fff;
}

.sdg-text h6 {
  font-family: "Josefin Sans", sans-serif;
  color: #FE952C;
  /* Your Brand Orange */
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.sdg-text p {
  font-size: 12px;
  line-height: 1.4;
  margin: 0;
  font-family: "Karla", sans-serif;
}

/* Tablet and Mobile adjustments */
@media (max-width: 991px) {
  .sdg-text h6 {
    font-size: 13px;
  }

  .sdg-text p {
    font-size: 11px;
  }

  /* Enable SDG hover on touch devices */
  .sdg-overlay {
    bottom: 0;
    height: auto;
    padding: 10px;
  }
}

/* Partner logos (sustainability) */
.partner-logo {
  height: 165px;
  object-fit: contain;
}



/* --- Applications Page Styling --- */

.text-indigo {
  color: #262364;
}

.text-orange {
  color: #FE952C;
}

/* Application Cards (.app-card) */
.app-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 938px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.app-card-img-wrap {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.06);
}

.app-card-img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: transform 0.4s ease;
}

.app-card-img-wrap:hover .app-card-img {
  transform: scale(1.05);
}

.app-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(8, 8, 8, 0.4) 0%, rgba(38, 35, 100, 0.95) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 2;
}

.app-card-img-wrap:hover .app-card-overlay {
  opacity: 1;
}

.app-card-number {
  position: relative;
  font-family: 'Karla', sans-serif;
  font-weight: 800;
  font-size: 159.44px;
  line-height: 1;
  letter-spacing: 0;
  color: #E6E9ED;
  margin: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 220px;
  flex-shrink: 0;
}

.app-card-content {
  padding-top: 24px;
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.app-card-content>div {
  flex: 1;
  margin-left: 0;
  margin-top: 20px;
}

.app-card-content .section-title {
  color: #262364;
  font-weight: 700;
  font-size: 1.7rem;
  letter-spacing: 0.5px;
  margin-bottom: 0;
  white-space: nowrap;
}

.app-card-content p {
  color: #6c757d;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 0;
  max-width: 100%;
}

/* Responsive Media Queries - Tablet */
@media (max-width: 1024px) {
  .app-card {
    width: 100%;
    padding: 0 16px;
  }

  .app-card-img {
    height: 500px;
  }

  .app-card-number {
    font-size: 120px;
    width: 180px;
  }

  .app-card-content>div {
    margin-left: 0;
  }

  .app-card-content .section-title {
    font-size: 1.5rem;
    white-space: normal;
  }

  .app-card-content p {
    max-width: 100%;
  }
}

/* Responsive Media Queries - Large Tablet */
@media (max-width: 768px) {
  .app-card {
    width: 100%;
    padding: 0 16px;
  }

  .app-card-img {
    height: 400px;
  }

  .app-card-number {
    position: relative;
    left: auto;
    top: auto;
    font-size: 80px;
    margin-bottom: 16px;
    display: block;
  }

  .app-card-content {
    display: block;
  }

  .app-card-content>div {
    margin-left: 0;
  }

  .app-card-content .section-title {
    font-size: 1.4rem;
    white-space: normal;
    margin-bottom: 12px;
  }

  .app-card-content p {
    max-width: 100%;
    font-size: 0.9rem;
  }
}

/* Responsive Media Queries - Mobile */
@media (max-width: 576px) {
  .app-card {
    width: 100%;
    padding: 0 12px;
  }

  .app-card-img {
    height: 300px;
  }

  .app-card-number {
    position: relative;
    left: auto;
    top: auto;
    font-size: 60px;
    margin-bottom: 10px;
    display: block;
  }

  .app-card-content {
    display: block;
    padding-top: 12px;
  }

  .app-card-content>div {
    margin-left: 0;
  }

  .app-card-content .section-title {
    font-size: 1.2rem;
    white-space: normal;
    margin-bottom: 10px;
  }

  .app-card-content p {
    max-width: 100%;
    font-size: 0.85rem;
  }
}

/* Responsive Media Queries - Extra Small */
@media (max-width: 380px) {
  .app-card {
    padding: 0 10px;
  }

  .app-card-img {
    height: 250px;
  }

  .app-card-number {
    font-size: 80px;
    line-height: 60px;
    width: 90px;
    height: 60px;
    margin: 0 10px 10px 0 !important;
    padding: 0;
  }

  .app-card-content .section-title {
    font-size: 1.2rem;
  }
}

/* Solutions & Applications Hero Background */
.has-bg-img {
  background-image: url('../images/hero-2.jpeg');
  background-size: cover;
  background-position: center;
  padding-top: 180px;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65);
  /* Dark black overlay */
  z-index: 0;
}

.highlight-patented {
  color: #FE952C;
  /* Brand orange */
  font-weight: 800;
  font-family: "Josefin Sans", sans-serif;
}


/* Typography Sync */
.section-title {
  font-family: "Josefin Sans", sans-serif;
  color: #262364;
  font-weight: 700;
}

/* Tablet and Mobile adjustments */
@media (max-width: 991px) {
  .p-lg-100 {
    padding: 50px 20px !important;
  }

  .feature-img {
    height: 400px;
  }
}


/* --- Contact Page Styles --- */

.contact-hero-section {
  background: linear-gradient(130deg, #f8fbff 0%, #f2f7fd 52%, #eef2f7 100%);
}

.contact-form-frame {
  padding: 2rem 1.75rem;
  margin-top: 24px;
  max-width: 100%;
}

.contact-input {
  border: 1px solid #eee;
  padding: 12px 15px;
  border-radius: 8px;
  background: #fdfdfd;
}

.contact-input:focus {
  border-color: #FE952C;
  box-shadow: none;
  background: #fff;
}

/* Custom Accordion Styling */
.custom-accordion .accordion-button {
  background-color: #fff;
  color: #262364;
  /* Indigo */
  padding: 20px 50px 20px 20px;
  box-shadow: none;
}

.custom-accordion .accordion-button:not(.collapsed) {
  color: #FE952C;
  /* Orange */
  background-color: #fff;
}

.custom-accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23262364'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.custom-accordion .accordion-item {
  border: none;
}

.contact-info-box i {
  flex-shrink: 0;
}

@media (max-width: 991px) {
  .section-padding {
    padding: 60px 0;
  }

  .contact-form-frame {
    padding: 1.25rem 1rem;
  }

  .custom-accordion .accordion-item.mb-3 {
    margin-bottom: 8px !important;
  }
  
  .custom-accordion .accordion-button {
    padding: 16px 45px 16px 16px;
    font-size: 15px;
  }
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: #FE952C;
}


/* --- Let's Talk / Sample Request Specifics --- */

.bg-indigo {
  background-color: #262364 !important;
}

.talk-input {
  border: 1px solid #e0e0e0;
  padding: 12px 15px;
  border-radius: 6px;
  background: #fafafa;
  font-family: "Karla", sans-serif;
  transition: all 0.3s ease;
}

.talk-input:focus {
  border-color: #FE952C;
  background: #fff;
  box-shadow: none;
}

/* Form Card Styling */
.card.rounded-4 {
  border-radius: 20px !important;
}

.btn-primary.top-cta.active {
  background-color: #262364;
  border-color: #262364;
}

@media (max-width: 991px) {
  .section-padding {
    padding: 60px 0;
  }
}

/* ============================= */
/* PREMIUM DROPDOWN STYLE        */
/* ============================= */

.custom-dropdown {
  position: relative;
  padding-bottom: 0;
  margin-bottom: 0;
}

.custom-dropdown .nav-link {
  margin: 0;
  padding: 8px 12px 8px;
}

.custom-dropdown .nav-link::after {
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
  content: "";
  border-top: 5px solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  transition: transform 0.3s ease;
}

/* Dropdown arrow rotation - desktop hover only */
@media (min-width: 992px) {
  .custom-dropdown:hover .nav-link::after,
  .custom-dropdown.show .nav-link::after {
    transform: rotate(180deg);
  }

  /* Show on hover — desktop only */
  .custom-dropdown:hover .custom-menu,
  .custom-dropdown.show .custom-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    margin-top: 0;
  }
}

/* Dropdown menu — hidden by default */
.custom-menu {
  border: none;
  border-radius: 12px;
  padding: 12px 0;
  background: #ffffff;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12);
  z-index: 9999;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 200px;
  top: 100%;
  opacity: 0;
  visibility: hidden;
  margin-top: 0;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  display: block;
}

/* Bridge: invisible area between nav-link and dropdown to prevent hover gap */
.custom-menu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}

/* Show on hover handled in @media (min-width: 992px) above; .show class handled by Bootstrap JS on mobile */

/* Dropdown arrow rotation when open */
.dropdown-menu.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  visibility: visible;
}

/* Dropdown items */
.custom-menu .dropdown-item {
  padding: 10px 25px;
  font-size: 16px;
  transition: all 0.3s ease;
  margin: 2px 0;
}

.custom-menu .dropdown-item:hover,
.custom-menu .dropdown-item:active,
.custom-menu .dropdown-item.active {
  background: #262364;
  color: #fff;
  padding-left: 35px;
}

/* ================= PRODUCT PAGE ================= */

.product-hero {
  padding: 100px 0;
  background: linear-gradient(135deg, #ffffff 0%, #f5f4ff 100%);
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><defs><pattern id="fabric" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M0,0 Q25,25 50,0 T100,0" stroke="%23e8e6ff" stroke-width="1" fill="none"/><path d="M0,0 Q25,25 0,50 T0,100" stroke="%23e8e6ff" stroke-width="1" fill="none"/></pattern></defs><rect width="1200" height="600" fill="url(%23fabric)" opacity="0.5"/></svg>');
  background-size: 100px 100px, auto;
}

.product-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  background: #D8D7F2;
  color: #262364;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.product-highlights {
  list-style: none;
  padding: 0;
}

.product-highlights li {
  margin-bottom: 8px;
  font-size: 17px;
}

.product-card {
  background: #fff;
  padding: 30px;
  border-radius: 18px;
  border: 1px solid #eee;
  height: 100%;
  transition: all 0.3s ease;
  position: relative;
}

.product-card i {
  font-size: 40px;
  color: #262364;
  margin-bottom: 15px;
  display: block;
}

.product-card h4 {
  color: #262364;
  font-weight: 600;
  margin-top: 10px;
}

.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}

/* IndiWool Functional: fabric stage behind hero logo */
.page-denim-functional .product-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fafbff 0%, #f1f3fb 52%, #f7f8fc 100%);
  margin-top: 92px;
  padding: 74px 0 86px;
  z-index: 1;
}

.page-denim-functional .product-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.page-denim-functional .product-hero>.container {
  position: relative;
  z-index: 1;
}

.page-denim-functional .product-hero .row.align-items-center {
  position: relative;
  --bs-gutter-x: clamp(1.75rem, 4vw, 3.5rem);
}

.page-denim-functional .product-hero .row.align-items-center::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 44%;
  width: 14%;
  height: 1px;
  background: linear-gradient(90deg, rgba(38, 35, 100, 0.14), rgba(38, 35, 100, 0));
  transform: translateY(-50%);
  pointer-events: none;
}

.page-denim-functional .product-badge {
  display: inline-flex;
  width: fit-content;
  backdrop-filter: blur(3px);
  box-shadow: 0 6px 14px rgba(38, 35, 100, 0.12);
}

.page-indiwool-naturals .product-hero h1,
.page-indiwool-naturals .section-title,
.page-indiwool-naturals .product-card h4,
.page-indiwool-naturals .contact-heading,
.page-indiwool-naturals .denim-applications .application-tile h5,
.page-indiwool-heritage .product-hero h1,
.page-indiwool-heritage .section-title,
.page-indiwool-heritage .product-card h4,
.page-indiwool-heritage .contact-heading,
.page-indiwool-heritage .denim-applications .application-tile h5 {
  color: #262364;
}

/* ---- IndiWool Naturals: Hero Image Sizing & Responsive ---- */

.page-indiwool-naturals .product-hero {
  margin-top: 92px;
  padding: 74px 0 86px;
}

.page-indiwool-naturals .denim-logo-stage {
  max-width: 420px;
  margin: 0 auto;
}

.page-indiwool-naturals .denim-logo-stage img {
  border-radius: 16px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.page-indiwool-naturals .hero-text-entrance {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 420px;
}

/* Naturals: Tablet (max-width: 992px) */
@media (max-width: 992px) {
  .page-indiwool-naturals .product-hero {
    margin-top: 84px;
    padding: 50px 0 60px;
  }

  .page-indiwool-naturals .hero-text-entrance {
    min-height: auto;
    margin-bottom: 30px;
  }

  .page-indiwool-naturals .denim-logo-stage {
    max-width: 380px;
  }

  .page-indiwool-naturals .product-hero .display-5 {
    font-size: 1.85rem;
  }

  .page-indiwool-naturals .product-hero .lead {
    font-size: 1rem;
  }

  .page-indiwool-naturals .contact-heading {
    font-size: 32px;
  }

  .page-indiwool-naturals .denim-contact-panel {
    padding: 28px;
  }

  .page-indiwool-naturals .denim-applications .application-media {
    aspect-ratio: 4 / 5;
  }
}

/* Naturals: Mobile (max-width: 767px) */
@media (max-width: 767px) {
  .page-indiwool-naturals .product-hero {
    margin-top: 76px;
    padding: 36px 0 44px;
  }

  .page-indiwool-naturals .denim-logo-stage {
    max-width: 320px;
  }

  .page-indiwool-naturals .product-hero .display-5 {
    font-size: 1.5rem;
  }

  .page-indiwool-naturals .product-hero .lead {
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .page-indiwool-naturals .product-highlights li {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .page-indiwool-naturals .product-card {
    padding: 20px;
  }

  .page-indiwool-naturals .product-card h4 {
    font-size: 18px;
  }

  .page-indiwool-naturals .product-form-section {
    padding: 40px 0;
  }

  .page-indiwool-naturals .product-form-card {
    padding: 20px 15px;
  }

  .page-indiwool-naturals .contact-heading {
    font-size: 26px;
  }

  .page-indiwool-naturals .denim-contact-panel {
    padding: 22px;
  }

  .page-indiwool-naturals .denim-applications .application-tile h5 {
    font-size: 15px;
  }
}

/* Naturals: Small Mobile (max-width: 400px) */
@media (max-width: 400px) {
  .page-indiwool-naturals .product-hero {
    margin-top: 68px;
    padding: 28px 0 36px;
  }

  .page-indiwool-naturals .denim-logo-stage {
    max-width: 260px;
  }

  .page-indiwool-naturals .product-hero .display-5 {
    font-size: 1.3rem;
  }

  .page-indiwool-naturals .product-badge {
    font-size: 11px;
    padding: 5px 12px;
  }

  .page-indiwool-naturals .product-hero .lead {
    font-size: 0.88rem;
  }

  .page-indiwool-naturals .contact-heading {
    font-size: 22px;
  }

  .page-indiwool-naturals .denim-contact-panel {
    padding: 16px;
    border-radius: 14px;
  }

  .page-indiwool-naturals .product-form-card {
    padding: 16px 12px;
  }
}

.page-denim-functional .product-hero .display-5 {
  line-height: 1.06;
  margin-bottom: 16px;
}

.page-denim-functional .product-hero .lead {
  margin-top: 0 !important;
  margin-bottom: 32px;
  line-height: 1.62;
}

.page-denim-functional .product-hero .product-highlights {
  margin-top: 0 !important;
  margin-bottom: 38px;
  margin-left: 0;
  padding-left: 0;
}

.page-denim-functional .product-hero .top-cta {
  margin-top: -30px !important;
}

.page-denim-functional .denim-logo-stage {
  position: relative;
  border-radius: 24px;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.page-denim-functional .denim-logo-stage img {
  position: relative;
  z-index: 1;
}

.page-denim-functional .product-highlights li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
  line-height: 1.45;
  transition: transform 0.24s ease, color 0.24s ease, background-color 0.24s ease;
}

.page-denim-functional .product-highlights .check-icon {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #262364;
  background: rgba(38, 35, 100, 0.12);
  flex-shrink: 0;
  margin-top: 1px;
  transition: transform 0.24s ease, opacity 0.24s ease, background-color 0.24s ease;
}

.page-denim-functional .product-highlights .check-icon i {
  font-size: 12px;
}

.page-denim-functional .product-highlights li:hover {
  transform: translateX(4px);
  color: #161727;
}

.page-denim-functional .product-highlights li:hover .check-icon {
  transform: scale(1.12);
  opacity: 0.9;
  background: rgba(38, 35, 100, 0.18);
}

.page-denim-functional .product-hero .top-cta {
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.page-denim-functional .product-hero .top-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 26px rgba(254, 149, 44, 0.38);
  animation: denimButtonPulse 1.2s ease-out;
}

.page-denim-functional .product-hero .top-cta:focus-visible {
  outline: 3px solid rgba(38, 35, 100, 0.35);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(254, 149, 44, 0.26);
}

.page-denim-functional .hero-card-entrance,
.page-denim-functional .hero-text-entrance {
  opacity: 0;
  transform: translateY(22px);
  animation: denimFadeUp 0.8s ease forwards;
}

.page-denim-functional .hero-card-entrance {
  animation-delay: 0.08s;
}

.page-denim-functional .hero-text-entrance {
  animation-delay: 0.2s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 470px;
}

@media (max-width: 992px) {
  .page-denim-functional .product-hero {
    margin-top: 84px;
    padding: 62px 0 70px;
  }

  .page-denim-functional .product-hero .row.align-items-center {
    --bs-gutter-x: 2rem;
  }

  .page-denim-functional .product-hero .row.align-items-center::before {
    display: none;
  }

  .page-denim-functional .hero-text-entrance {
    min-height: auto;
  }
}

@keyframes denimFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes denimButtonPulse {
  0% {
    box-shadow: 0 8px 16px rgba(254, 149, 44, 0.24);
  }

  60% {
    box-shadow: 0 16px 30px rgba(254, 149, 44, 0.42);
  }

  100% {
    box-shadow: 0 14px 26px rgba(254, 149, 44, 0.38);
  }
}

@media (prefers-reduced-motion: reduce) {

  .page-denim-functional .hero-card-entrance,
  .page-denim-functional .hero-text-entrance,
  .page-denim-functional .product-highlights li,
  .page-denim-functional .product-highlights .check-icon,
  .page-denim-functional .product-hero .top-cta {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.denim-applications {
  background: #f3f4f6 !important;
}

.denim-applications .section-title {
  text-align: center;
  margin-left: 0;
  margin-bottom: 18px;
}

.denim-applications .application-subline {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  color: #2c2f36;
  font-size: 17px;
  line-height: 1.6;
}

.denim-applications .application-tile {
  height: 100%;
}

.denim-applications .application-media {
  border-radius: 14px;
  overflow: hidden;
  background: #b5b5b8;
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
}

.denim-applications .application-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.denim-applications .application-tile h5 {
  margin-top: 16px;
  margin-bottom: 0;
  color: #1d1f24;
  font-size: 17px;
  font-weight: 700;
  white-space: normal;
  text-align: center;
}

@media (max-width: 1200px) {
  .denim-applications .application-tile h5 {
    white-space: normal;
    line-height: 1.35;
  }
}

@media (max-width: 992px) {
  .denim-applications .application-subline {
    font-size: 16px;
  }

  .denim-applications .application-media {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 576px) {
  .denim-applications .application-subline {
    font-size: 15px;
  }
}

.product-form-section {
  background: #262364;
  padding: 100px 0;
}

.product-form-card {
  background: #fff;
  padding: 40px;
  border-radius: 24px;
}

.page-denim-functional .product-form-section {
  background: #f4f5f7;
  padding: 90px 0;
}

.page-denim-functional .denim-contact-panel {
  background: linear-gradient(145deg, #f0f4f8 0%, #e2eaf4 100%);
  border-radius: 20px;
  padding: 42px;
  box-shadow: 0 10px 28px rgba(20, 26, 45, 0.08);
}

.page-denim-functional .denim-contact-copy {
  max-width: 420px;
}

.page-denim-functional .contact-kicker {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #6f7682;
  font-weight: 700;
  margin-bottom: 12px;
}

.page-denim-functional .contact-heading {
  color: #111827;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.18;
  margin-bottom: 16px;
}

.page-denim-functional .contact-subtext {
  color: #4b5563;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 28px;
}

.page-denim-functional .contact-meta {
  margin: 0;
  padding: 0;
}

.page-denim-functional .contact-meta li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}

.page-denim-functional .contact-meta i {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ecebfd;
  color: #262364;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.page-denim-functional .contact-meta span {
  display: block;
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 2px;
}

.page-denim-functional .contact-meta a {
  color: #1f2937;
  font-weight: 600;
  text-decoration: none;
}

.page-denim-functional .contact-meta a:hover {
  color: #262364;
}

.page-denim-functional .product-form-card {
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(17, 24, 39, 0.10);
  padding: 30px;
}

.page-denim-functional .product-form-card .form-label {
  font-size: 13px;
  color: #6b7280;
  font-weight: 600;
  margin-bottom: 8px;
}

.page-denim-functional .product-form-card .talk-input {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  min-height: 46px;
  font-size: 14px;
}

.page-denim-functional .product-form-card textarea.talk-input {
  min-height: 110px;
}

.page-denim-functional .denim-submit-btn {
  border-radius: 999px;
  padding: 12px 24px;
  font-weight: 600;
  background: #FE952C;
  border-color: #FE952C;
}

.page-denim-functional .denim-submit-btn:hover {
  background: #e6861f;
  border-color: #e6861f;
}

@media (max-width: 992px) {
  .page-denim-functional .denim-contact-panel {
    padding: 28px;
  }

  .page-denim-functional .contact-heading {
    font-size: 32px;
  }
}

@media (max-width: 576px) {
  .page-denim-functional .denim-contact-panel {
    padding: 20px;
    border-radius: 14px;
  }

  .page-denim-functional .product-hero .row.align-items-center {
    --bs-gutter-x: 1rem;
  }

  .page-denim-functional .product-form-card {
    padding: 20px;
  }
}

/* ============================= */
/* Upcoming Innovations Section */
/* ============================= */

.upcoming-section {
  padding: 100px 0;
  background: #f4f4f6;
  margin: 0;
}

/* Image wrapper */
.innovation-image {
  position: relative;
}

.innovation-image img {
  border-radius: 8px;
}

/* Overlay box */
.innovation-overlay {
  position: absolute;
  bottom: 40px;
  right: 0;
  background: #2e2a6a;
  /* Indigo brand */
  color: #fff;
  padding: 40px;
  max-width: 295px;
  border-radius: 4px;
}

.innovation-overlay h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
}

/* Right content */
.innovation-content {
  padding-left: 60px;
}

.section-title {
  font-size: 42px;
  font-weight: 700;
  color: #111;
  margin-bottom: 25px;
}

.section-description {
  font-size: 16px;
  color: #555;
  margin-bottom: 25px;
  line-height: 1.7;
}

.innovation-list {
  padding-left: 18px;
  margin-bottom: 30px;
}

.innovation-list li {
  margin-bottom: 12px;
  font-size: 16px;
  color: #222;
}

/* Button (use your existing .top-cta if already styled) */
.top-cta {
  background: #f28c28;
  border: none;
  padding: 14px 28px;
  font-weight: 600;
  border-radius: 4px;
}

.top-cta:hover {
  background: #e27c17;
}

/* Large CTA Button (Unified Text & Icon) */
.btn-cta-large {
  background-color: #FE952C;
  color: #ffffff;
  border-radius: 99px;
  /* Pill shape */
  padding: 16px 40px;
  /* Horizontal padding ~2.5x vertical padding */
  font-size: 1.25rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-cta-large:hover,
.btn-cta-large:focus {
  background-color: #FF9F40;
  /* Brighten slightly */
  color: #ffffff;
  box-shadow: 0 8px 25px rgba(254, 149, 44, 0.4);
  /* Glow effect */
  transform: translateY(-2px);
  /* Slight lift */
}

.btn-cta-large .arrow-icon {
  font-size: 1.35rem;
  transition: transform 0.3s ease;
}

.btn-cta-large:hover .arrow-icon {
  transform: translateX(6px);
  /* Slide right */
}

/* ============================= */
/* Responsive */
/* ============================= */

@media (max-width: 991px) {

  .innovation-content {
    padding-left: 0;
    margin-top: 50px;
  }

  .innovation-overlay {
    position: relative;
    right: 0;
    bottom: 0;
    margin-top: -60px;
  }

  .section-title {
    font-size: 32px;
  }
}


/* ============================= */
/* HERO SUBLINE + CTAs           */
/* ============================= */

/* Hero entrance animation */
@keyframes heroFadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-fade-in {
  opacity: 0;
  animation: heroFadeIn 0.8s ease-out forwards;
}

/* Hero title — replaces display-4 for better control */
.hero-title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: -0.5px;
}

.hero-subline {
  font-size: 20px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
  margin-top: 16px;
  font-family: "Karla", sans-serif;
  letter-spacing: 0.3px;
  line-height: 1.65;
}

.hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
}

/* Primary CTA — solid orange */
.hero-btn-primary {
  background: #FE952C;
  color: #fff;
  border: 2px solid #FE952C;
  border-radius: 50px;
  padding: 14px 32px;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.3px;
  transition: all 0.25s ease;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hero-btn-primary:hover {
  background: #e07d1a;
  border-color: #e07d1a;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(254, 149, 44, 0.4);
}

.hero-btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(254, 149, 44, 0.3);
}

/* Secondary CTA — ghost / outline */
.hero-btn-secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 50px;
  padding: 14px 32px;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.3px;
  transition: all 0.25s ease;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hero-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.15);
}

.hero-btn-secondary:active {
  transform: translateY(0);
  box-shadow: none;
}

/* ============================= */
/* CREDIBILITY STRIP             */
/* ============================= */

.credibility-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(248, 249, 250, 0.95);
  color: #333;
  padding: 14px 0;
  z-index: 3;
}

.trust-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(38, 35, 100, 0.08);
  border: 1px solid rgba(38, 35, 100, 0.15);
  border-radius: 50px;
  padding: 6px 18px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  backdrop-filter: blur(4px);
  transition: all 0.25s ease;
  color: #262364;
}

.trust-badge i {
  font-size: 13px;
  opacity: 0.9;
}

.trust-badge:hover {
  background: rgba(38, 35, 100, 0.15);
  transform: translateY(-1px);
}


/* ============================= */
/* BREAKTHROUGH PLATFORMS        */
/* ============================= */

.breakthrough-section {
  padding: 100px 0;
  background: linear-gradient(160deg, #1a174d 0%, #262364 60%, #2e2a7a 100%);
}

.breakthrough-card {
  border-radius: 18px;
  padding: 40px 35px;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.breakthrough-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.breakthrough-card h3 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 18px;
  line-height: 1.3;
}

.breakthrough-card ul {
  list-style: none;
  padding: 0;
  flex: 1;
}

.breakthrough-card ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 14px;
  font-size: 16px;
  line-height: 1.6;
}

.breakthrough-card ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  font-weight: 700;
}

.card-indigo {
  background: rgba(255, 255, 255, 0.08);
}

.card-indigo .patent-badge {
  background: rgba(254, 149, 44, 0.85);
  color: #fff;
}

.card-indigo .btn-animate {
  background: #FE952C;
  border-color: #FE952C;
  color: #fff;
}

.card-indigo .btn-animate:hover {
  background: #e07e1f;
  border-color: #e07e1f;
}

.card-ecotex {
  background: rgba(255, 255, 255, 0.08);
}

.card-ecotex .patent-badge {
  background: rgba(254, 149, 44, 0.85);
  color: #fff;
}

.card-ecotex .btn-animate {
  background: #FE952C;
  border-color: #FE952C;
  color: #fff;
}

.card-ecotex .btn-animate:hover {
  background: #e07e1f;
  border-color: #e07e1f;
}

/* Lottie Animation Container */
.lottie-container {
  width: 100%;
  max-width: 180px;
  height: 120px;
  margin: 0 auto 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lottie-container svg {
  width: 100%;
  height: 100%;
}

/* Rotating Animation for Innovation Cards */
@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.card-indigo .lottie-container svg,
.card-ecotex .lottie-container svg {
  animation: rotate 10s linear infinite;
}

.patent-badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 18px;
  width: fit-content;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.breakthrough-section .section-title {
  color: #fff;
}

.patent-badge i {
  margin-right: 4px;
}


/* ============================= */
/* WHY REINVENTING SECTION       */
/* ============================= */

.why-reinventing-section {
  padding: 100px 0;
  background: #f8f9fa;
  margin: 0;
}

.why-reinventing-section .vision-content h2 {
  font-size: 38px;
  line-height: 1.25;
  font-weight: 700;
  color: #262364;
  max-width: 520px;
}

.why-reinventing-section .vision-content p {
  margin-top: 16px;
  font-size: 17px;
  color: #555;
  max-width: 500px;
}

.comparison-strip {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.comparison-row {
  display: flex;
  gap: 12px;
}

.compare-item {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 14px;
  font-size: 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.compare-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.compare-item i {
  font-size: 22px;
  margin-top: 3px;
  min-width: 26px;
}

.compare-item strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.compare-item span {
  font-size: 15px;
  line-height: 1.4;
}

.compare-old {
  background: #f0eff5;
  color: #555;
}

.compare-old i {
  color: #999;
}

.compare-new {
  background: #262364;
  color: #fff;
}

.compare-new i {
  color: #FE952C;
}


/* ============================= */
/* AWARDS PROOF SECTION          */
/* ============================= */

.awards-proof-section {
  padding: 80px 0 60px;
  background: #fff;
  margin: 0;
}

.awards-subtitle {
  max-width: 650px;
  margin: 0 auto 10px;
  font-size: 17px;
  color: #555;
  text-align: center;
}

.awards-caption {
  font-size: 14px;
  color: #777;
  font-style: italic;
  text-align: center;
}

.news-link {
  color: #262364;
  border-color: #262364;
  font-size: 14px;
}

.news-link:hover {
  background: #262364;
  color: #fff;
  border-color: #262364;
}


/* ============================= */
/* APPLICATION LINK IN CARDS     */
/* ============================= */

.app-link {
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.app-link:hover {
  color: #FE952C;
  text-decoration: underline;
}


/* ============================= */
/* SUSTAINABILITY HOME SECTION   */
/* ============================= */

.sustainability-home-section {
  padding: 80px 50px;
  margin: 0 !important;
}

.sustain-powered {
  font-size: 18px;
  font-weight: 600;
  color: #FE952C;
  margin-bottom: 10px;
}

.sustain-macro {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.8);
}

.metric-card {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  padding: 20px 16px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.metric-card:hover {
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 8px 25px rgba(254, 149, 44, 0.3);
}

.metric-card h3 {
  font-size: 36px;
  font-weight: 700;
  color: #FE952C;
  margin-bottom: 4px;
}

.metric-card p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
  text-align: center;
}

.sustain-tag {
  color: rgba(255, 255, 255, 0.5);
  font-style: italic;
}


/* ============================= */
/* IIT DELHI CREDIBILITY BAND    */
/* ============================= */

.iit-band {
  padding: 70px 0;
  background: #f8f9fa;
  margin: 0 !important;
}

.iit-band h3 {
  font-size: 30px;
  font-weight: 700;
  color: #262364;
  margin-bottom: 10px;
}

.iit-band p {
  font-size: 17px;
  color: #555;
  max-width: 700px;
  margin: 0 auto 20px;
  text-align: center;
}

.iit-logo {
  max-width: 80px;
  opacity: 0.9;
}


/* ============================= */
/* FAQ CTA LINKS                 */
/* ============================= */

.faq-cta {
  color: #FE952C;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  margin-top: 12px;
  transition: color 0.3s ease;
}

.faq-cta:hover {
  color: #fff;
  text-decoration: underline;
}

.accordion-body .faq-cta {
  padding: 0;
}


/* ============================= */
/* RESPONSIVE: NEW SECTIONS      */
/* ============================= */

@media (max-width: 991px) {
  .hero-title {
    font-size: 2.2rem;
  }

  .hero-subline {
    font-size: 16px;
  }

  .hero-ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    padding: 14px 28px;
    font-size: 15px;
    text-align: center;
  }

  .trust-badge {
    font-size: 13px;
    padding: 5px 14px;
  }

  .breakthrough-section {
    padding: 70px 0;
  }

  .breakthrough-card {
    padding: 30px 25px;
  }

  .breakthrough-card h3 {
    font-size: 22px;
  }

  .why-reinventing-section {
    padding: 70px 0;
  }

  .why-reinventing-section .vision-content h2 {
    font-size: 28px;
    max-width: 100%;
  }

  .comparison-row {
    flex-direction: column;
  }

  .sustainability-home-section {
    padding: 60px 20px;
  }

  .sustainability-home-section .row {
    row-gap: 24px;
  }

  .sustainability-home-section .col-lg-7 {
    text-align: center;
  }

  .sustainability-home-section h2 {
    font-size: 34px;
    line-height: 1.2;
  }

  .sustainability-home-section .sustain-powered,
  .sustainability-home-section .sustain-macro,
  .sustainability-home-section .sustain-tag {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }

  .sustainability-home-section .sustain-metrics-strip {
    justify-content: center;
  }

  .sustainability-home-section .sustain-metrics-strip .col-6,
  .sustainability-home-section .sustain-metrics-strip .col-md-3 {
    display: flex;
  }

  .sustainability-home-section .metric-card {
    width: 100%;
  }

  .sustainability-home-section .col-lg-5 {
    text-align: center;
  }

  .sustainability-home-section .col-lg-5 img {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    display: block;
  }

  .sustainability-home-section .sustain-cta {
    margin: 30px auto !important;
    display: flex;
    justify-content: center;
    max-width: max-content;
  }

  .metric-card h3 {
    font-size: 28px;
  }

  .iit-band {
    padding: 50px 0;
  }
}

@media (max-width: 576px) {
  .trust-badge {
    font-size: 12px;
    padding: 4px 12px;
  }

  .sustainability-home-section {
    padding: 44px 14px;
  }

  .sustainability-home-section h2 {
    font-size: 2rem;
  }

  .sustainability-home-section .sustain-powered {
    font-size: 16px;
    line-height: 1.35;
  }

  .sustainability-home-section .sustain-macro {
    font-size: 14px;
    line-height: 1.5;
  }

  .sustainability-home-section .sustain-metrics-strip {
    margin-top: 1rem !important;
  }

  .sustainability-home-section .sustain-cta {
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px 18px !important;
  }

  .sustainability-home-section .col-lg-5 img {
    max-width: 100%;
  }

  .why-reinventing-section .vision-content h2 {
    font-size: 24px;
  }

  .breakthrough-card h3 {
    font-size: 20px;
  }

  .lets-talk-form {
    width: 100%;
  }
}


/* =============================================================
   COMPREHENSIVE RESPONSIVE OVERRIDES
   Covers ALL pages: index, about, application, contact,
   sustainability, indiwool-denim, request-sample
   ============================================================= */

/* ---- GLOBAL: Prevent horizontal overflow ---- */
html,
body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

/* ---- TABLET (max-width: 991px) ---- */
@media (max-width: 991px) {

  /* Global typography scaling */
  .display-4 {
    font-size: 2.2rem;
  }

  .display-5 {
    font-size: 1.8rem;
  }

  .section-title {
    font-size: 26px;
  }

  section {
    margin: 0;
  }

  .section-padding {
    padding: 60px 0;
  }

  /* Navbar mobile styles consolidated in the main mobile block above */

  .navbar-nav {
    text-align: center;
  }

  .navbar-nav .top-cta,
  .navbar .top-cta {
    width: 100%;
    margin-top: 10px;
    margin-left: 0 !important;
    text-align: center;
  }

  /* Index: Hero video section */
  .video-header {
    height: auto;
    min-height: 100vh;
  }

  .video-content {
    height: auto;
    padding: 120px 0 80px;
  }

  /* Index: Let's talk form */
  .lets-talk-section {
    padding: 60px 0;
  }

  .lets-talk-title {
    font-size: 30px;
  }

  .lets-talk-form {
    width: 90%;
  }

  /* Index: Sustainability dark section */
  section.dark {
    padding: 40px 20px;
  }

  .sustainability-home-section {
    padding: 50px 20px;
  }

  /* About: Hero split */
  .hero-split {
    margin-top: 0;
  }

  .hero-split .display-4 {
    font-size: 2rem;
  }

  /* About: Timeline */
  .timeline-item {
    width: 100%;
    padding-left: 50px;
    padding-right: 15px;
  }

  .timeline-item.left,
  .timeline-item.right {
    left: 0;
    text-align: left;
  }

  .timeline::before {
    left: 20px;
  }

  .timeline-item::after {
    left: 13px;
  }

  .timeline-content {
    padding: 20px;
  }

  /* About: Team slider */
  .team-slider-section {
    padding: 60px 0 40px;
  }

  .team-img img {
    height: 280px;
  }

  /* About: Values */
  .value-card {
    padding: 25px;
  }

  .value-card-v2 {
    padding: 32px 24px 28px;
  }

  .value-icon-wrap {
    width: 60px;
    height: 60px;
    font-size: 24px;
  }

  /* Application: Feature blocks */
  .p-lg-100 {
    padding: 40px 20px !important;
  }

  .feature-img {
    height: 300px;
  }

  .feature-block .row {
    flex-direction: column !important;
  }

  .feature-block .flex-row-reverse {
    flex-direction: column !important;
  }

  /* Sustainability: Hero */
  .pr-90 {
    padding-right: 30px !important;
  }

  /* Sustainability: Community logos */
  .logo-grid img {
    height: 100px !important;
    margin-bottom: 10px;
  }

  /* Sustainability: Impact numbers */
  .section-padding .display-4 {
    font-size: 2rem;
  }

  /* Sustainability: CTA buttons */
  .lets-talk-section .d-flex {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  /* Contact: Form card inline override */
  .contact-info-box {
    margin-bottom: 30px;
  }

  /* Product page: Hero */
  .product-hero {
    padding: 60px 0;
  }

  .product-hero .display-5 {
    font-size: 1.75rem;
  }

  .product-form-card {
    padding: 25px;
  }

  .product-form-section {
    padding: 60px 0;
  }

  /* Innovation section */
  .innovation-content {
    padding-left: 0;
    margin-top: 30px;
  }

  .innovation-overlay {
    position: relative;
    bottom: 0;
    right: 0;
    max-width: 100%;
    margin-top: -40px;
  }

  /* SDG grid */
  .sdg-overlay {
    bottom: 0;
    background: rgba(38, 35, 100, 0.9);
    height: auto;
    padding: 10px;
  }

  /* Request sample: Show info text on mobile */
  .sample-info-mobile {
    display: block !important;
  }

  /* Awards */
  .awards-proof-section {
    padding: 50px 0 40px;
  }

  .award-box {
    width: 100%;
    height: 100px;
  }
}

/* ---- MOBILE (max-width: 767px) ---- */
@media (max-width: 767px) {

  body {
    font-size: 16px;
  }

  .display-4 {
    font-size: 1.8rem;
  }

  .display-5 {
    font-size: 1.5rem;
  }

  .section-title {
    font-size: 22px;
    margin-bottom: 30px;
  }

  section {
    margin: 35px 0;
  }

  .section-padding {
    padding: 40px 0;
  }

  /* All hero headers */
  .sector-hero {
    padding: 60px 0;
  }

  .sector-hero .lead,
  .hero-split .lead {
    font-size: 16px;
  }

  /* Index: Video hero */
  .video-header {
    height: auto;
    min-height: 100svh;
  }

  .video-content {
    padding-top: 100px;
    padding-bottom: 80px;
    height: auto;
  }

  .hero-title {
    font-size: 28px;
    line-height: 1.3;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 0.25rem;
  }

  .hero-subline {
    font-size: 15px;
    line-height: 1.6;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 0.5rem;
  }

  .hero-ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 24px;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    width: 100%;
    text-align: center;
    padding: 14px 24px;
    font-size: 15px;
    min-height: 48px;
  }

  .credibility-strip {
    padding: 10px 0;
  }

  .trust-badges {
    gap: 8px;
  }

  .trust-badge {
    font-size: 11px;
    padding: 4px 12px;
    gap: 6px;
  }

  /* Index: Breakthrough */
  .breakthrough-section {
    padding: 50px 0;
  }

  .breakthrough-card {
    padding: 25px 20px;
  }

  .breakthrough-card ul li {
    font-size: 14px;
  }

  /* Index: Comparison */
  .comparison-row {
    flex-direction: column;
  }

  .compare-item {
    padding: 14px 16px;
    font-size: 14px;
  }

  .compare-item i {
    font-size: 18px;
  }

  .compare-item strong {
    font-size: 13px;
  }

  .compare-item span {
    font-size: 14px;
  }

  /* Index: Applications full-width */
  .applications-full {
    grid-template-columns: 1fr;
  }

  .info-card img {
    height: 320px;
  }

  .card-content {
    padding: 20px;
  }

  .card-content h3 {
    font-size: 18px;
  }

  .card-content p {
    font-size: 15px;
    margin-bottom: 10px;
  }

  /* Index: Metric cards */
  .metric-card {
    padding: 15px 10px;
  }

  .metric-card h3 {
    font-size: 24px;
  }

  .metric-card p {
    font-size: 12px;
  }

  /* Index: FAQs */
  section.dark {
    padding: 30px 15px;
  }

  .faq-section .accordion-button {
    font-size: 15px;
  }

  /* Index: Let's Talk */
  .lets-talk-title {
    font-size: 26px;
  }

  .lets-talk-form {
    width: 100%;
  }

  /* Index: Footer */
  .site-footer {
    padding: 50px 0 20px;
  }

  .footer-text {
    font-size: 16px;
  }

  .footer-title {
    font-size: 20px;
  }

  .footer-links a,
  .footer-contact li {
    font-size: 16px;
  }

  .footer-bottom {
    font-size: 14px;
  }

  /* About: Hero */
  .hero-split .container {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .hero-split .display-4 {
    font-size: 1.6rem;
  }

  /* About: Timeline */
  .timeline-item {
    padding-left: 45px;
    padding-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .timeline-content {
    padding: 18px;
  }

  .timeline-content h5 {
    font-size: 16px;
  }

  .timeline-content p {
    font-size: 14px;
  }

  /* About: Team */
  .team-img img {
    height: 250px;
  }

  .team-content h4 {
    font-size: 18px;
  }

  .team-content span {
    font-size: 15px;
  }

  /* About: Values */
  .value-card {
    padding: 20px;
  }

  .value-icon {
    font-size: 30px;
  }

  .value-card-v2 {
    padding: 28px 20px 24px;
  }

  .value-icon-wrap {
    width: 56px;
    height: 56px;
    font-size: 22px;
    border-radius: 14px;
  }

  /* Application: Feature blocks */
  .p-lg-100 {
    padding: 25px 15px !important;
  }

  .feature-img {
    height: 220px;
  }

  .feature-block h2.section-title {
    font-size: 22px;
    margin-bottom: 15px;
  }

  .feature-block p {
    font-size: 15px;
  }

  /* Sustainability */
  .logo-grid img {
    height: 70px !important;
  }

  .sdg-text h6 {
    font-size: 12px;
  }

  .sdg-text p {
    font-size: 10px;
  }

  /* Contact */
  .contact-info-box h6 {
    font-size: 16px;
  }

  .contact-info-box p {
    font-size: 15px;
  }

  /* Product: indiwool-denim */
  .product-hero {
    padding: 40px 0;
  }

  .product-hero .display-5 {
    font-size: 1.5rem;
  }

  .product-highlights li {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .product-hero .mt-4 {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .product-hero .mt-4 .ms-2 {
    margin-left: 0 !important;
  }

  .product-card {
    padding: 20px;
  }

  .product-card h4 {
    font-size: 18px;
  }

  .product-form-card {
    padding: 20px 15px;
  }

  .product-form-section {
    padding: 40px 0;
  }

  /* Request sample */
  .card.shadow-lg {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
  }

  /* Innovation section */
  .innovation-overlay h3 {
    font-size: 20px;
  }

  .upcoming-section {
    padding: 60px 0;
  }

  /* IIT band */
  .iit-band {
    padding: 40px 15px;
  }

  .iit-band h3 {
    font-size: 22px;
  }

  .iit-band p {
    font-size: 15px;
  }

  /* Nav logo */
  .logo {
    width: 10rem;
  }

  /* Button sizing */
  .top-cta {
    padding: 8px 25px;
    font-size: 15px;
  }

  .middle-cta {
    padding: 8px 25px;
    margin-top: 20px;
  }

  .applications-section .col-lg-6.text-lg-end {
    text-align: center !important;
  }

  .applications-section .middle-cta {
    min-width: 260px;
  }
}

/* ---- SMALL MOBILE (max-width: 400px) ---- */
@media (max-width: 400px) {

  .display-4 {
    font-size: 1.5rem;
  }

  .display-5 {
    font-size: 1.3rem;
  }

  .section-title {
    font-size: 20px;
  }

  .hero-title {
    font-size: 24px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 0.25rem;
  }

  .hero-subline {
    font-size: 13px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 0.5rem;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    padding: 12px 20px;
    font-size: 14px;
  }

  .trust-badge {
    font-size: 10px;
    padding: 3px 10px;
  }

  .breakthrough-card {
    padding: 20px 15px;
  }

  .breakthrough-card h3 {
    font-size: 18px;
  }

  .breakthrough-card ul li {
    font-size: 13px;
  }

  .compare-item {
    padding: 12px;
    gap: 10px;
  }

  .compare-item strong {
    font-size: 12px;
  }

  .compare-item span {
    font-size: 13px;
  }

  .info-card img {
    height: 320px;
  }

  .metric-card h3 {
    font-size: 22px;
  }

  .lets-talk-title {
    font-size: 22px;
  }

  .logo {
    width: 9rem;
  }

  .footer-logo {
    max-width: 140px;
  }

  .site-footer {
    padding: 40px 0 15px;
  }

  .hero-split .display-4 {
    font-size: 1.3rem;
  }

  .team-img img {
    height: 220px;
  }

  .product-hero .display-5 {
    font-size: 1.3rem;
  }

  .p-lg-100 {
    padding: 20px 12px !important;
  }

  .feature-img {
    height: 180px;
  }

  .logo-grid img {
    height: 55px !important;
  }
}

/* ---- LANDSCAPE MODE FIX ---- */
@media (max-height: 500px) and (orientation: landscape) {
  .video-header {
    height: auto;
    min-height: 100vh;
  }

  .video-content {
    height: auto;
    padding: 80px 0 60px;
  }
}

/* ============================
   APPLICATION PAGE – NEW CLASSES
   ============================ */

/* Breadcrumb on application page */
.breadcrumb-nav {
  background: #f8f9fa;
  padding: 12px 0;
  border-bottom: 1px solid #e9ecef;
}

.breadcrumb-nav a {
  color: #262364;
  text-decoration: none;
  font-weight: 500;
}

.breadcrumb-nav a:hover {
  color: #FE952C;
}

/* App specs checkmark list */
.app-specs {
  list-style: none;
  padding: 0;
}

.app-specs li {
  padding: 6px 0;
  font-size: 0.95rem;
}

.app-specs li i {
  color: #FE952C;
  margin-right: 8px;
}

/* Specs comparison table */
.specs-table {
  width: 100%;
  border-collapse: collapse;
  /* Required for border-radius on tables to work consistently */
  border-spacing: 0;
  border-radius: 16px !important;
  border: 1px solid #ddd !important;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  /* Fixed: Better shadow highlight */
}

/* Base border style for internal cells (Thin #7D7DA6 for header, #F1F1F1 for body) */
.specs-table th {
  border-right: 1px solid #7D7DA6 !important;
  border-bottom: 1px solid #7D7DA6 !important;
  vertical-align: middle;
}

.specs-table td {
  border-right: 1px solid #ddd !important;
  border-bottom: 1px solid #ddd !important;
  vertical-align: middle;
}

/* Show borders for all cells */
.specs-table tr th:last-child,
.specs-table tr td:last-child {
  border-right: 1px solid #ddd !important;
}

.specs-table tbody tr:last-child td {
  border-bottom: 1px solid #ddd !important;
}

.specs-table thead th {
  background: #262364;
  color: #fff;
  padding: 24px 20px;
  /* Stronger height for breathing space */
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
  /* Fixed: Center aligned */
}

/* Property header: Left alignment with consistent padding */
.specs-table thead th:first-child {
  text-align: left;
  padding-left: 40px;
}

.specs-table tbody td {
  padding: 24px 20px;
  /* Fixed: Increased height */
  font-size: 0.95rem;
  text-align: center;
  /* Fixed: Properly placed inside each cell */
  font-weight: 500;
  color: #333;
}

/* Property column: Left alignment with matching consistent padding */
.specs-table tbody td:first-child {
  text-align: left;
  font-weight: 700;
  color: #262364;
  /* Brand blue */
  padding-left: 40px;
  border-left: 1px solid #ddd !important;
}

.specs-table thead th:first-child {
  border-left: 1px solid #7D7DA6 !important;
}

/* Fixed: Green color for Optional/Included text and checks */
.specs-table tbody td.ecotex-text,
.specs-table tbody td .ecotex-text {
  color: #198754;
  font-weight: 600;
}

.specs-table tbody tr:hover {
  background: #f8f6ff;
}

/* Customize CTA list */
.customize-list {
  list-style: none;
  padding: 0;
}

.customize-list li {
  padding: 8px 0;
  font-size: 1rem;
}

.customize-list li i {
  color: #FE952C;
  margin-right: 10px;
}

/* Customize badges */
.customize-badges {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.customize-badges .badge {
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.9rem;
  padding: 10px 18px;
}

/* Textured CTA Background */
.cta-texture-bg {
  background-image: linear-gradient(rgba(38, 35, 100, 0.65), rgba(38, 35, 100, 0.65)), url('../images/eco.jpeg');
  background-size: cover;
  background-position: center;
  position: relative;
}

.cta-texture-bg h2,
.cta-texture-bg p,
.cta-texture-bg ul li {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.cta-texture-bg .trust-badge {
  background: rgba(255, 255, 255, 0.25);
  /* Less transparent for better readability */
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff !important;
  font-weight: 600;
  backdrop-filter: blur(5px);
}

/* Wool Cycle Grid - Center Alignment */
.wool-cycle-grid {
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
}

.wool-cycle-item {
  text-align: center;
}

.wool-cycle-item h5 {
  text-align: center;
  font-weight: 700;
  color: #262364;
}

.wool-cycle-item p {
  text-align: center;
  color: #5a5a7a;
}

/* ============================
   SUSTAINABILITY – NEW CLASSES
   ============================ */

/* Three E's card */
.three-e-card {
  background: #fff;
  border-radius: 16px;
  padding: 35px 25px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

.three-e-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.three-e-card p {
  text-align: center;
  color: #555;
  line-height: 1.6;
}

/* Impact page hero CTA: fit long label without changing navbar CTA size */
.page-sustainability .hero-split .top-cta {
  width: 260px !important;
  max-width: 100%;
  padding: 0 22px;
  font-size: 0.95rem;
  letter-spacing: 0;
  white-space: nowrap;
}

.three-e-card i {
  font-size: 1.8rem;
  color: #FE952C;
  margin: 0;
  line-height: 1;
}

.three-e-card .bg-orange i {
  color: #ffffff;
}

.three-e-card h4 {
  color: #262364;
  font-weight: 700;
}

/* Circularity loop */
.circularity-loop {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.circularity-loop .badge {
  font-size: 0.9rem;
  padding: 10px 18px;
}

.circularity-loop .arrow-icon {
  color: #FE952C;
  font-size: 1.2rem;
}

/* Wool circularity section */
.wool-circularity-content .section-title {
  text-align: left;
  margin-left: 0;
  margin-bottom: 16px;
}

.wool-cycle {
  position: relative;
  padding-top: 4px;
}

.wool-cycle-track {
  position: absolute;
  top: 34px;
  left: 8.5%;
  right: 8.5%;
  height: 2px;
  background: #d8dee7;
  z-index: 0;
}

.wool-cycle-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.wool-cycle-item {
  text-align: center;
}

.wool-cycle-icon {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.75rem;
  box-shadow: 0 10px 24px rgba(11, 20, 56, 0.18);
  position: relative;
  z-index: 1;
}

.wool-cycle-icon.is-indigo {
  background: #262364;
}

.wool-cycle-icon.is-orange {
  background: #FE952C;
}

.wool-cycle-icon.is-green {
  background: #17b57a;
}

.wool-cycle-item h5 {
  margin-top: 14px;
  margin-bottom: 4px;
  color: #12152a;
  font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.wool-cycle-item p {
  margin: 0;
  color: #60708b;
  font-size: 0.87rem;
  line-height: 1.35;
}

/* Community and partnerships section */
.partners-section {
  background: #f5f6f8 !important;
}

.partners-section .partners-intro {
  margin-bottom: 42px;
}

.partners-section .section-title {
  margin-bottom: 14px;
}

.partners-section .partners-intro p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.06rem;
  color: #5f6572 !important;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 26px;
  max-width: 780px;
  margin: 0 auto;
}

.partners-grid .partner-card:only-child {
  grid-column: 1 / -1;
  max-width: 350px;
  margin: 0 auto;
}

.partner-card {
  background: #fff;
  border: 1px solid #e2e3e8;
  border-radius: 16px;
  text-align: center;
  padding: 24px 24px 22px;
  min-height: 260px;
}

.partner-card-logo-wrap {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.partner-card-logo {
  max-width: 180px;
  max-height: 128px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partner-logo-iit {
  max-width: 152px;
}

.partner-logo-woolmark {
  max-width: 168px;
}

.partner-card h3 {
  margin-bottom: 6px;
  color: #262364;
  font-size: 2rem;
  font-weight: 700;
}

.partner-card p {
  margin: 0;
  color: #5d6573;
  font-size: 1.05rem;
}

/* Impact and traceability page refinements */
.page-sustainability .impact-hero-title {
  font-weight: 800 !important;
  line-height: 1.12;
  margin-top: 0;
  margin-bottom: 1.1rem !important;
}

.page-sustainability .impact-hero-subline {
  max-width: 640px;
  color: #3f4756;
  line-height: 1.7;
  margin-bottom: 1.2rem !important;
}

.page-sustainability .hero-split .text-uppercase {
  letter-spacing: 0.08em;
  margin-bottom: 0.7rem !important;
}

.page-sustainability .hero-split .d-flex.gap-3.mb-4.flex-wrap {
  gap: 10px !important;
  margin-bottom: 1.25rem !important;
}

.page-sustainability .hero-split .badge.rounded-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.9rem;
  line-height: 1.15;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
}

.page-sustainability .hero-split .badge.rounded-pill:hover,
.page-sustainability .hero-split .badge.rounded-pill:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(38, 35, 100, 0.12);
}

.page-sustainability .hero-split .top-cta {
  transition: transform 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease, color 0.24s ease, border-color 0.24s ease;
}

.page-sustainability .hero-split .top-cta:hover,
.page-sustainability .hero-split .top-cta:focus-visible {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 10px 24px rgba(38, 35, 100, 0.18);
}

.page-sustainability .hero-video-wrapper {
  aspect-ratio: 4 / 3;
  background: #e8ecf1;
}

.page-sustainability .hero-video-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-sustainability .hero-split {
  position: relative;
}

.page-sustainability .hero-split::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(38, 35, 100, 0) 0%, rgba(38, 35, 100, 0.14) 50%, rgba(38, 35, 100, 0) 100%);
}

/* Tablet: push hero text content further down and center align */
@media (min-width: 768px) and (max-width: 991px) {
  .page-sustainability .hero-split .col-lg-6[data-aos="fade-right"] {
    margin-top: 60px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .page-sustainability .impact-hero-subline {
    text-align: center;
  }

  .page-sustainability .hero-split .d-flex.gap-3.mb-4.flex-wrap {
    justify-content: center;
  }
}

.page-sustainability #ecotex h2,
.page-sustainability .section-title {
  font-weight: 700;
}

.page-sustainability .ecotex-intro {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.page-sustainability .insights-row {
  align-items: stretch;
}

.page-sustainability #ecotex .metric-card {
  height: 100%;
  padding: 24px 16px 20px;
}

.page-sustainability #ecotex .metric-icon {
  font-size: 1.3rem;
  color: #FE952C;
  margin-bottom: 12px;
}

.page-sustainability #ecotex .metric-card h3 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 1.6rem;
}

.page-sustainability #ecotex .metric-value-pill {
  display: inline-block;
  background: #FE952C;
  color: #ffffff;
  border-radius: 999px;
  padding: 7px 18px;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.page-sustainability .specs-table tbody td.ecotex-text,
.page-sustainability .specs-table tbody td .ecotex-text {
  color: #1f9a57;
  font-weight: 700;
  background: transparent;
  border: none;
  padding: 0;
}

/* Sustainability CTA redesign */
.lets-talk-section-sustainability {
  background: #f5f6f8;
  padding-top: 64px !important;
  padding-bottom: 72px !important;
}

.lets-talk-section-sustainability .lets-talk-panel {
  background: #262364;
  border-radius: 14px;
  max-width: 1320px;
  padding-top: 64px !important;
  padding-bottom: 70px !important;
}

.lets-talk-section-sustainability .lets-talk-title {
  color: #f7f8fb;
  font-size: clamp(2.05rem, 3.9vw, 3.38rem);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 20px;
}

.lets-talk-section-sustainability .lets-talk-subtitle {
  max-width: 780px;
  color: rgba(247, 248, 251, 0.93);
  font-size: 1.12rem;
  line-height: 1.55;
  margin-bottom: 34px !important;
}

.lets-talk-section-sustainability .top-cta {
  width: auto;
  min-width: 220px;
  height: 48px;
  border-radius: 999px !important;
  padding: 0 30px;
  gap: 0;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  border: 1.5px solid transparent;
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.lets-talk-section-sustainability .top-cta:hover {
  transform: translateY(-1px);
}

.lets-talk-section-sustainability .cta-btn-primary {
  background: #F49A2E;
  color: #ffffff;
}

.lets-talk-section-sustainability .cta-btn-primary:hover {
  background: #ffab49;
  color: #ffffff !important;
}

.lets-talk-section-sustainability .cta-btn-secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.82);
  color: #f7f8fb;
}

.lets-talk-section-sustainability .cta-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.10);
  border-color: #ffffff;
  color: #ffffff !important;
}

@media (max-width: 991px) {
  .page-sustainability .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wool-cycle-track {
    display: none;
  }

  .wool-cycle-grid {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 20px;
  }

  /* Horizontal line for first row (items 1-2) */
  .wool-cycle-grid::before {
    content: "";
    position: absolute;
    top: 34px;
    left: 16.5%;
    right: 16.5%;
    height: 2px;
    background: #d8dee7;
    z-index: 0;
  }

  /* Horizontal lines for second row (items 4→5 and 5→6) */
    .wool-cycle-item:nth-child(4)::after,
    .wool-cycle-item:nth-child(5)::after {
      content: "";
      position: absolute;
      top: 34px;
      left: 50%;
      width: calc(100% + 20px);
      height: 2px;
      background: #d8dee7;
      z-index: 0;
    }
  .wool-cycle-item {
    position: relative;
  }

  .partners-grid {
    max-width: 680px;
    gap: 18px;
  }

  .page-sustainability .impact-hero-subline {
    max-width: 100%;
    line-height: 1.65;
  }

  .page-sustainability .hero-video-wrapper {
    aspect-ratio: 16 / 10;
  }

  .page-sustainability #ecotex .metric-card h3 {
    font-size: 1.75rem;
  }

  .page-sustainability #ecotex .metric-value-pill {
    font-size: 1.2rem;
  }

  .lets-talk-section-sustainability {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }

  .lets-talk-section-sustainability .lets-talk-panel {
    padding-top: 52px !important;
    padding-bottom: 56px !important;
    border-radius: 12px;
  }

  .lets-talk-section-sustainability .lets-talk-subtitle {
    font-size: 1.01rem;
    max-width: 680px;
    margin-bottom: 26px !important;
  }

  .lets-talk-section-sustainability .top-cta {
    min-width: 206px;
    height: 46px;
    font-size: 0.95rem;
    padding: 0 22px;
  }

  .partner-card h3 {
    font-size: 1.65rem;
  }

  .partner-card p {
    font-size: 0.96rem;
  }
}

/* ============================
   ABOUT PAGE – NEW CLASSES
   ============================ */

/* Roadmap list in dark section */
.roadmap-list li {
  font-size: 1.1rem;
  line-height: 1.8;
}

.road-ahead-section {
  background: #262364;
  color: #fff;
  padding: 80px 0;
}

.road-ahead-wrapper {
  margin: 0 auto;
  border-radius: 10px;
}

.road-ahead-header {
  text-align: center;
  margin-bottom: 48px;
}

.road-ahead-header h6 {
  margin-bottom: 12px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.road-ahead-header h2 {
  margin: 0;
  font-size: 3.5rem;
  font-weight: 700;
}

.road-ahead-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.road-ahead-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.road-ahead-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 0;
}

.road-ahead-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  border: 1px solid #8A8A8A;
  border-radius: 8px;
  background: transparent;
  font-size: 1.05rem;
  line-height: 1.5;
}

.road-ahead-item i {
  flex: 0 0 auto;
  color: #FE952C;
  font-size: 1.25rem;
  margin-top: 4px;
}

.road-ahead-item span {
  display: block;
  color: #fff;
}

.road-ahead-cta {
  background: #FE952C;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 14px 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  width: fit-content;
  margin-top: 8px;
}

.road-ahead-cta:hover,
.road-ahead-cta:focus {
  background: #f18a20;
  color: #fff;
}

.road-ahead-right {
  display: flex;
  align-items: center;
  justify-content: center;
}

.road-ahead-right img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Border orange for quote box */
.border-orange {
  border-color: #FE952C !important;
}

/* Mission list */
.mission-list li {
  font-size: 1.05rem;
  line-height: 1.7;
}

/* ---- RESPONSIVE FOR NEW CLASSES ---- */
@media (max-width: 991px) {

  .specs-table thead th,
  .specs-table tbody td {
    padding: 10px 12px;
    font-size: 0.85rem;
  }

  .customize-badges {
    justify-content: center;
  }
}

@media (max-width: 767px) {

  /* Keep table layout; horizontal scroll lives on .table-responsive wrapper */
  .table-responsive {
    -webkit-overflow-scrolling: touch;
  }

  .table-responsive .specs-table {
    min-width: 520px;
  }

  .circularity-loop {
    flex-direction: column;
  }

  .wool-cycle-track {
    display: none;
  }

  .wool-cycle-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 20px 14px;
  }

  /* Horizontal line for first row (items 1→2) */
  .wool-cycle-grid::before {
    content: "";
    position: absolute;
    top: 34px;
    left: 25%;
    right: 25%;
    height: 2px;
    background: #d8dee7;
    z-index: 0;
  }

  /* Horizontal lines for row 2 (3→4) and row 3 (5→6) */
  .wool-cycle-item:nth-child(4)::after {
    display: none !important;
  }

  .wool-cycle-item:nth-child(3)::after,
  .wool-cycle-item:nth-child(5)::after {
    content: "";
    position: absolute;
    top: 34px;
    left: 50%;
    width: calc(100% + 14px);
    height: 2px;
    background: #d8dee7;
    z-index: 0;
  }

  .wool-cycle-item {
    position: relative;
  }

  .wool-cycle-item h5 {
    font-size: 1rem;
  }

  .wool-cycle-item p {
    font-size: 0.9rem;
  }

  .partners-section .partners-intro {
    margin-bottom: 28px;
  }

  .page-sustainability .impact-hero-title {
    font-size: 2rem;
  }

  .page-sustainability .impact-hero-subline {
    font-size: 1rem;
    line-height: 1.55;
  }

  .page-sustainability .hero-split .text-uppercase {
    margin-bottom: 0.85rem !important;
  }

  .page-sustainability .hero-split .d-flex.gap-3.mb-4.flex-wrap {
    gap: 8px !important;
    margin-bottom: 1rem !important;
  }

  .page-sustainability .hero-split .container.py-5 {
    padding-top: 1rem !important;
    padding-bottom: 2rem !important;
  }

  .page-sustainability .hero-split .col-lg-6[data-aos="fade-left"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    text-align: center;
  }

  .page-sustainability .hero-split .col-lg-6[data-aos="fade-right"] {
    margin-top: 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .page-sustainability .hero-split .d-flex.gap-3.mb-4.flex-wrap {
    justify-content: center;
  }

  .page-sustainability .hero-video-wrapper {
    aspect-ratio: 16 / 11;
    border-radius: 22px !important;
  }

  .page-sustainability #ecotex .metric-icon {
    font-size: 1.15rem;
    margin-bottom: 10px;
  }

  .page-sustainability #ecotex .metric-card h3 {
    font-size: 1.55rem;
  }

  .page-sustainability #ecotex .metric-value-pill {
    font-size: 1.05rem;
  }

  /* Hero: avoid double vertical gap (nav clearance + Bootstrap mt-5) */
  .page-sustainability .hero-split .row.align-items-center.mt-5 {
    margin-top: 0 !important;
  }

  /* Hero CTA: long label must wrap; stay centered, same colors */
  .page-sustainability .hero-split .top-cta {
    white-space: normal;
    width: 100% !important;
    max-width: min(320px, 100%);
    min-height: 48px;
    line-height: 1.25;
    padding: 12px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .page-sustainability #ecotex .display-5 {
    font-size: clamp(1.45rem, 5.5vw, 2rem);
    line-height: 1.15;
    overflow-wrap: break-word;
  }

  .page-sustainability .ecotex-intro {
    max-width: 100%;
    padding-inline: 0.35rem;
  }

  .page-sustainability .wool-circularity-content .section-title {
    max-width: 100%;
  }

  .page-sustainability .partners-intro p {
    max-width: 100%;
    padding-inline: 0.25rem;
  }

  .lets-talk-section-sustainability {
    padding-top: 36px !important;
    padding-bottom: 42px !important;
  }

  .lets-talk-section-sustainability .lets-talk-panel {
    padding-top: 36px !important;
    padding-bottom: 40px !important;
    border-radius: 10px;
  }

  .lets-talk-section-sustainability .lets-talk-title {
    margin-bottom: 14px;
  }

  .lets-talk-section-sustainability .lets-talk-subtitle {
    font-size: 0.96rem;
    line-height: 1.6;
    max-width: 92%;
    margin-bottom: 20px !important;
  }

  .lets-talk-section-sustainability .d-flex {
    flex-direction: column;
    align-items: center;
    gap: 10px !important;
  }

  .lets-talk-section-sustainability .top-cta {
    width: 100%;
    max-width: 300px;
    min-width: 0;
  }

  .partners-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .partner-card {
    min-height: 0;
    padding: 20px 16px;
  }

  .partner-card-logo-wrap {
    height: 120px;
    margin-bottom: 10px;
  }

  .partner-card h3 {
    font-size: 1.45rem;
  }

  .three-e-card {
    padding: 25px 20px;
  }

  .roadmap-list li {
    font-size: 1rem;
  }

  .road-ahead-section {
    padding: 50px 0;
  }

  .road-ahead-header {
    margin-bottom: 30px;
  }

  .road-ahead-header h2 {
    font-size: 2rem;
  }

  .road-ahead-content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .road-ahead-item {
    padding: 12px 16px;
    font-size: 0.95rem;
  }

  .road-ahead-item i {
    font-size: 1rem;
  }

  .road-ahead-cta {
    font-size: 0.95rem;
    padding: 12px 32px;
  }

  .road-ahead-item {
    font-size: 0.96rem;
    padding: 10px 12px;
    min-height: 0;
  }

  .road-ahead-cta {
    width: 100%;
    min-width: 0;
    max-width: 320px;
    font-size: 1rem;
    margin-left: auto;
    margin-right: auto;
  }

  .road-ahead-image-wrap img {
    max-width: 100%;
    height: auto;
  }
}

/* ---- Impact & Traceability (sustainability.html): small phones ---- */
@media (max-width: 576px) {
  .page-sustainability .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .page-sustainability .hero-split .pr-90 {
    padding-right: 14px !important;
  }

  .page-sustainability .impact-hero-title {
    font-size: clamp(2rem, 9vw, 2.7rem);
    line-height: 1.15;
    overflow-wrap: break-word;
    margin-bottom: 0.9rem !important;
  }

  .page-sustainability .impact-hero-subline {
    font-size: 0.98rem;
    line-height: 1.6;
    margin-bottom: 1.1rem !important;
  }

  .page-sustainability .hero-split .col-lg-6[data-aos="fade-right"] {
    margin-top: 1rem;
  }

  .page-sustainability .hero-split .top-cta {
    max-width: 100%;
  }

  .page-sustainability .hero-split .badge.rounded-pill {
    padding: 0.42rem 0.75rem;
    font-size: 0.78rem;
  }

  .page-sustainability .hero-split .badge.rounded-pill {
    font-size: 0.8rem;
    padding: 0.35rem 0.65rem;
  }

  .page-sustainability #ecotex .patent-badge {
    max-width: 100%;
    font-size: 12px;
    padding: 5px 12px;
    text-align: center;
  }

  .page-sustainability #ecotex .display-5 {
    font-size: clamp(1.35rem, 6vw, 1.85rem);
  }

  .page-sustainability #ecotex .metric-card {
    padding: 16px 12px 14px;
  }

  .page-sustainability .wool-cycle-icon {
    width: 56px;
    height: 56px;
    font-size: 1.35rem;
    border-radius: 14px;
  }

  .page-sustainability .wool-cycle-item h5 {
    font-size: 0.68rem;
    letter-spacing: 0.03em;
  }

  .page-sustainability .wool-cycle-item p {
    font-size: 0.75rem;
    line-height: 1.3;
  }

  .page-sustainability .wool-cycle-grid {
    gap: 14px 10px;
  }

  .page-sustainability .three-e-card .badge.rounded-pill {
    white-space: normal;
    line-height: 1.3;
    margin: 2px;
  }

  .page-sustainability .three-e-card .mt-auto {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
  }

  .page-sustainability .sdg-item {
    border-radius: 10px;
  }

  .page-sustainability .lets-talk-section-sustainability .lets-talk-title {
    padding-inline: 0.5rem;
    overflow-wrap: break-word;
  }

  .page-sustainability .lets-talk-section-sustainability .lets-talk-subtitle {
    max-width: 100%;
    padding-inline: 0.75rem;
  }
}

@media (max-width: 400px) {
  .page-sustainability .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .page-sustainability .impact-hero-title {
    font-size: clamp(1.8rem, 10vw, 2.2rem);
  }

  .page-sustainability .wool-cycle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 8px;
  }

  .page-sustainability .wool-cycle-icon {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
  }

  .page-sustainability .table-responsive .specs-table {
    min-width: 460px;
  }
}

/* ============================= */
/* RESOURCES/LAB PAGE STYLING    */
/* ============================= */

.resources-hero-section {
  background: linear-gradient(130deg, #f8fbff 0%, #f2f7fd 52%, #eef2f7 100%);
  padding-top: 160px !important;
}

.resource-heading {
  text-align: left;
  color: #262364;
  font-weight: 700;
  font-size: 2.2rem;
  margin-bottom: 40px;
  margin-left: 0;
}

.patents-section {
  background: #262364;
  color: #fff;
  padding: 80px 0;
}

.patents-section .section-title {
  color: #fff;
  margin-left: 0;
  margin-bottom: 50px;
  text-align: center;
}

.patent-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px 24px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  height: 100%;
}

.patent-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.patent-card i {
  color: #262364;
  margin-bottom: 16px;
  display: block;
  font-size: 2.2rem;
}

.patent-card-heading {
  color: #262364;
  font-weight: 700;
  font-size: 1.15rem;
  margin-bottom: 12px;
  margin-top: 0;
}

.patent-card-text {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 0;
}

.technical-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px 24px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  height: 100%;
}

.technical-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.technical-card i {
  color: #262364;
  font-size: 2.5rem;
  margin-bottom: 18px;
  display: block;
}

.technical-card h4 {
  color: #262364;
  font-weight: 700;
  font-size: 1.2rem;
  margin-bottom: 12px;
  margin-top: 0;
}

.technical-description {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 20px;
}

.tech-btn {
  background: #262364;
  color: #fff;
  border-radius: 50px;
  padding: 10px 24px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  border: none;
  transition: all 0.3s ease;
}

.tech-btn:hover {
  background: #1f1d5a;
  transform: translateY(-2px);
  color: #fff;
}

/* Responsive adjustments for Resources/Lab */
@media (max-width: 991px) {
  .resource-heading {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }

  .patents-section {
    padding: 60px 0;
  }

  .patents-section .section-title {
    font-size: 1.8rem;
    margin-bottom: 36px;
  }

  .patent-card {
    padding: 24px 18px;
  }

  .patent-card-heading {
    font-size: 1.05rem;
    margin-bottom: 10px;
  }

  .patent-card-text {
    font-size: 0.9rem;
  }

  .technical-card {
    padding: 24px 18px;
  }

  .technical-card h4 {
    font-size: 1.1rem;
  }

  .technical-card i {
    font-size: 2.2rem;
    margin-bottom: 14px;
  }

  .technical-description {
    font-size: 0.9rem;
    margin-bottom: 16px;
  }

  .tech-btn {
    padding: 9px 20px;
    font-size: 0.85rem;
  }
}

@media (max-width: 767px) {
  .resource-heading {
    font-size: 1.5rem;
    margin-bottom: 24px;
  }

  .patents-section {
    padding: 50px 0;
  }

  .patents-section .section-title {
    font-size: 1.6rem;
    margin-bottom: 28px;
  }

  .patent-card {
    padding: 20px 16px;
  }

  .patent-card i {
    font-size: 2rem;
  }

  .patent-card-heading {
    font-size: 1rem;
    margin-bottom: 8px;
  }

  .patent-card-text {
    font-size: 0.88rem;
  }

  .technical-card {
    padding: 20px 16px;
  }

  .technical-card i {
    font-size: 2rem;
    margin-bottom: 12px;
  }

  .technical-card h4 {
    font-size: 1rem;
    margin-bottom: 10px;
  }

  .technical-description {
    font-size: 0.88rem;
    margin-bottom: 14px;
  }

  .tech-btn {
    padding: 8px 18px;
    font-size: 0.8rem;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .wool-cycle-icon {
    width: 64px;
    height: 64px;
    font-size: 1.55rem;
  }
}


/* ============================= */
/* ADDITIONAL HOMEPAGE FIXES     */
/* ============================= */

/* #5 - Button consistency: uniform border-radius */
.btn,
.btn-primary,
.btn-outline-primary,
.btn-outline-light,
.top-cta,
.middle-cta,
.send-btn,
.hero-btn-primary,
.hero-btn-secondary {
  border-radius: 50px !important;
}

/* Orange outline button for product pages */
.btn-orange-outline {
  background-color: #fff !important;
  color: #F28C28 !important;
  border: 2px solid #F28C28 !important;
}

.btn-orange-outline:hover {
  background-color: #F28C28 !important;
  color: #fff !important;
}

/* #6 - Breakthrough section: taller "Watch the Innovation" button */
.breakthrough-card .btn {
  padding: 12px 28px;
  font-size: 16px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* #7 - Why Denim Reinventing: center content inside comparison cards */
.compare-item {
  align-items: center !important;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}

.compare-item div {
  text-align: center;
}

/* #8 - Awards: infinite marquee */
.marquee-container {
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 20s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}

.marquee-slide {
  flex-shrink: 0;
  padding: 0 24px;
}

.marquee-slide .award-box {
  width: 160px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border-radius: 16px;
}

.marquee-slide .award-box img {
  max-width: 80%;
  max-height: 70%;
  object-fit: contain;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Team marquee overrides */
.team-marquee {
  overflow: hidden;
  width: 100%;
  position: relative;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
}

.team-marquee.dragging {
  cursor: grabbing;
}

.team-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: none !important;
}

.team-slide {
  flex-shrink: 0;
  width: 340px;
  padding: 0 15px;
  box-sizing: border-box;
}

.team-slide .team-card {
  height: 100%;
}

/* #10 - FAQ heading: single line on large screens only (nowrap causes horizontal scroll on phones) */
.faq-section h2 {
  font-size: 2.2rem;
}

@media (min-width: 992px) {
  .faq-section h2 {
    white-space: nowrap;
  }
}

/* ============================================ */
/* TEXT ALIGNMENT FIXES ACROSS ALL PAGES        */
/* ============================================ */

/* Center section titles and subtitles globally */
.section-title {
  text-align: center;
}

/* CTA sections: center all text */
.bg-indigo.text-white.section-padding .container {
  text-align: center;
}

.bg-indigo.text-white.section-padding p {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* Application hero (application.html): center subtitle */
.sector-hero p.lead {
  text-align: center;
}

/* Fix double bullet points — remove default list-style for content lists */
.product-highlights,
.app-specs,
section ul:not(.navbar-nav):not(.dropdown-menu):not(.footer-links):not(.footer-contact):not(.list-unstyled):not(.breadcrumb):not(.mission-list):not(.roadmap-list):not(.customize-list) {
  list-style: none;
  padding-left: 0;
}

.product-highlights li,
.app-specs li {
  padding-left: 0;
}

/* Feature block sections: center text on specs */
.feature-block .p-5 .text-muted,
.feature-block .p-5 h2,
.feature-block .p-5 span {
  text-align: left;
}

/* ============================= */
/* RESPONSIVENESS FOR NEW SECTIONS */
/* ============================= */

@media (max-width: 991px) {
  .cta-texture-bg {
    background-attachment: scroll !important;
    /* Disable parallax on mobile for performance */
    padding: 60px 0 !important;
  }
}

@media (max-width: 767px) {

  /* Application Cards Mobile */
  .app-card-content {
    padding: 20px 0 !important;
    margin-left: 0 !important;
    /* Reset horizontal spacing for cards 02-04 */
  }

  .app-card-number {
    font-size: 3rem !important;
    /* Scale down oversized decorative number */
    margin-right: 15px !important;
  }

  .app-card-content .section-title {
    font-size: 1.4rem !important;
  }

  /* Specs Table Mobile - more compact layout */
  .specs-table thead th,
  .specs-table tbody td {
    padding: 12px 8px !important;
    font-size: 0.8rem !important;
  }

  .specs-table thead th:first-child,
  .specs-table tbody td:first-child {
    padding-left: 12px !important;
  }

  /* CTA Feature List Mobile - Stack items */
  .customize-list {
    flex-direction: column !important;
    align-items: center !important;
    gap: 15px !important;
  }

  .customize-list li {
    text-align: center !important;
  }

  .btn-cta-large {
    padding: 12px 25px !important;
    font-size: 1.1rem !important;
    width: 100% !important;
    justify-content: center !important;
  }

  .customize-badges {
    justify-content: center !important;
  }
}

@media (max-width: 576px) {

  /* Ultra-small screens */
  .app-card-overlay {
    padding: 20px !important;
  }

  .app-card-overlay .section-title {
    font-size: 1.2rem !important;
  }

  .app-card-overlay p {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }
}

/* ========================================== */
/* COMPREHENSIVE RESPONSIVE FIXES - ALL PAGES */
/* ========================================== */

/* ---- CRITICAL BUTTON & CTA FIXES ---- */
@media (max-width: 768px) {

  /* Reduce button height and width on tablets and below */
  .btn-primary {
    min-width: auto !important;
    height: auto !important;
    padding: 12px 24px !important;
    font-size: 1rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .top-cta.px-5.py-3 {
    padding: 11px 20px !important;
    font-size: 0.95rem !important;
  }

  .btn {
    border-radius: 50px !important;
  }

  /* Form buttons responsive */
  .talk-input {
    min-height: 44px;
  }
}

@media (max-width: 576px) {

  /* Mobile: full-width or auto-width buttons */
  .btn-primary {
    min-width: auto !important;
    height: auto !important;
    padding: 10px 20px !important;
    font-size: 0.9rem !important;
  }

  /* Stack buttons vertically on very small screens */
  .hero-ctas {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    width: 100%;
    text-align: center;
  }

  /* CTA section buttons */
  .top-cta {
    width: auto !important;
    height: auto !important;
    padding: 10px 18px !important;
    font-size: 0.85rem !important;
    min-width: 0 !important;
  }

  /* Form button in modals */
  .denim-submit-btn {
    width: 100%;
    padding: 11px 20px !important;
  }
}

/* ---- TYPOGRAPHY SCALING ---- */
@media (max-width: 991px) {
  body {
    font-size: 17px;
  }

  .section-title {
    font-size: 28px;
    margin-bottom: 36px;
  }

  .display-4 {
    font-size: 2.2rem;
  }

  .display-5 {
    font-size: 1.8rem;
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.6rem;
  }
}

@media (max-width: 768px) {
  body {
    font-size: 16px;
  }

  .section-title {
    font-size: 26px;
    margin-bottom: 30px;
  }

  .display-4 {
    font-size: 1.8rem;
  }

  .display-5 {
    font-size: 1.5rem;
  }

  h1 {
    font-size: 1.8rem;
  }

  h2 {
    font-size: 1.4rem;
  }

  h3 {
    font-size: 1.2rem;
  }

  .hero-title {
    font-size: 1.8rem;
  }

  .hero-subline {
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  body {
    font-size: 15px;
  }

  .section-title {
    font-size: 22px;
    margin-bottom: 24px;
  }

  .display-4 {
    font-size: 1.5rem;
  }

  .display-5 {
    font-size: 1.3rem;
  }

  h1 {
    font-size: 1.5rem;
  }

  h2 {
    font-size: 1.2rem;
  }

  h3 {
    font-size: 1.1rem;
  }

  h4 {
    font-size: 1rem;
  }

  .hero-title {
    font-size: 1.5rem;
  }

  .hero-subline {
    font-size: 13px;
  }

  .navbar-toggler-icon {
    width: 24px;
    background-size: 100% 100% !important;
  }
}

/* ---- SECTION PADDING OPTIMIZATION ---- */
@media (max-width: 768px) {
  section {
    margin: 0;
  }

  .section-padding {
    padding: 50px 0 !important;
  }

  section.dark {
    padding: 40px 20px !important;
  }

  .hero-split {
    margin-top: 0;
  }

  .hero-split.section-padding {
    padding-top: 100px !important;
  }

  /* Reduce padding for containers */
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 576px) {
  section {
    margin: 0;
  }

  .section-padding {
    padding: 40px 0 !important;
  }

  section.dark {
    padding: 30px 16px !important;
  }

  .hero-split.section-padding {
    padding-top: 70px !important;
  }

  /* Resources lab hero */
  .resources-hero-section {
    padding-top: 100px !important;
  }

  .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  /* Form card padding */
  .product-form-card,
  .contact-form-frame {
    padding: 20px 16px !important;
  }
}

/* ---- FORM LAYOUT RESPONSIVE FIXES ---- */
@media (max-width: 576px) {

  /* Force single column for form grids */
  .col-md-6,
  .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  /* Contact form split layout */
  .row.g-5>.col-lg-4,
  .row.g-5>.col-lg-8 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Form labels and inputs */
  .form-label {
    font-size: 13px;
    margin-bottom: 6px;
  }

  .form-control,
  .talk-input {
    min-height: 40px;
    padding: 8px 12px;
    font-size: 15px;
  }

  textarea {
    min-height: 100px !important;
  }

  /* Request sample card layout */
  .d-lg-none {
    display: block !important;
  }

  .d-lg-block {
    display: none !important;
  }
}

/* ---- GRID & CARD SPACING FIXES ---- */
@media (max-width: 991px) {

  /* Reduce gaps on grids */
  .row.g-4 {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
  }

  .cards-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .applications-full {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  /* Award boxes */
  .award-box {
    width: calc(50% - 8px);
    height: 80px;
  }

  /* Product cards grid */
  .product-card {
    padding: 24px 18px;
  }
}

@media (max-width: 768px) {
  .row.g-4 {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.75rem;
  }

  .row.g-5 {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.75rem;
  }

  .cards-wrapper {
    gap: 14px;
  }

  .applications-full {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .info-card img {
    height: 320px;
  }

  .product-card {
    padding: 20px 16px;
  }
}

@media (max-width: 576px) {

  .row.g-4,
  .row.g-5 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem;
  }

  /* Convert to single column */
  .cards-wrapper {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .applications-full {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .award-box {
    width: 100%;
    height: auto;
    padding: 16px;
    margin-bottom: 8px;
  }

  .product-card {
    padding: 18px 14px;
  }

  /* Metric cards single column */
  .metric-card {
    padding: 16px 12px;
  }
}

/* Navigation responsive improvements consolidated in the main mobile block above */

  .navbar-nav .nav-item {
    margin-bottom: 4px;
  }

  .navbar-collapse {
    padding: 0.75rem;
  }
}

/* ---- HERO SECTION LAYOUT FIXES ---- */
@media (max-width: 991px) {
  .hero-split .row {
    flex-direction: column-reverse;
  }

  .hero-split .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .hero-video-wrapper {
    aspect-ratio: 16 / 10;
  }

  .hero-split .display-4 {
    font-size: 1.8rem;
  }
}

@media (max-width: 576px) {
  .hero-video-wrapper {
    aspect-ratio: 4 / 3;
  }
}

/* ---- CARD & MODAL LAYOUT FIXES ---- */
@media (max-width: 576px) {

  /* Request sample card - disable side-by-side layout */
  .card.border-0.shadow-lg {
    border-radius: 12px !important;
  }

  .card-body {
    padding: 20px 16px;
  }

  /* Contact form card */
  .contact-form-frame {
    padding: 20px 16px !important;
    margin-top: 24px;
  }

  /* Product form section */
  .product-form-section {
    padding: 40px 0 !important;
  }

  .denim-contact-panel {
    padding: 20px 16px !important;
    border-radius: 12px !important;
  }
}

/* ---- TIMELINE RESPONSIVE FIXES ---- */
@media (max-width: 576px) {
  .timeline::before {
    left: 15px;
  }

  .timeline-item::after,
  .timeline-item.left::after,
  .timeline-item.right::after {
    left: 8px !important;
  }

  .timeline-item {
    width: 100%;
    padding-left: 45px;
    padding-right: 10px;
  }

  .timeline-content {
    padding: 16px 14px;
  }

  .timeline-content h5 {
    font-size: 15px;
  }

  .timeline-content p {
    font-size: 13px;
  }
}

/* ---- LETS TALK / FORM SECTION RESPONSIVE ---- */
@media (max-width: 768px) {
  .lets-talk-form {
    width: 90%;
  }

  .lets-talk-title {
    font-size: 28px;
  }

  .lets-talk-subtitle {
    font-size: 15px;
  }
}

@media (max-width: 576px) {
  .lets-talk-form {
    width: 100%;
    padding: 0 12px;
  }

  .lets-talk-title {
    font-size: 22px;
  }

  .lets-talk-subtitle {
    font-size: 14px;
  }

  .custom-input {
    font-size: 14px;
    padding: 10px 0;
  }

  .send-btn {
    width: 100%;
    padding: 10px 16px;
    font-size: 14px;
  }
}

/* ---- FOOTER RESPONSIVE FIXES ---- */
@media (max-width: 576px) {
  .site-footer {
    padding: 40px 0 20px;
  }

  .footer-text {
    font-size: 14px;
  }

  .footer-title {
    font-size: 18px;
  }

  .footer-links a,
  .footer-contact li {
    font-size: 14px;
  }

  .footer-bottom {
    font-size: 12px;
  }
}

/* =============================================================
   Fixed navbar: first page block clears the bar (nav is out of flow).
   Index is unchanged (nav sits inside .video-header). Product lines
   use .product-hero margin-top — excluded via :not(.product-hero).
   padding-top !important beats .section-padding shorthand on small screens.
   ============================================================= */
body>nav.nav-top+header:not(.video-header),
body>nav.nav-top+section:not(.product-hero) {
  padding-top: max(6.75rem, calc(5.5rem + env(safe-area-inset-top, 0px))) !important;
}

/* Contact page: keep hero title safely below floating fixed navbar */
body>nav.nav-top+section.contact-hero-section {
  padding-top: max(11rem, calc(9.5rem + env(safe-area-inset-top, 0px))) !important;
}

/* Additional pages with overline hero labels under fixed navbar */
body.page-sustainability>nav.nav-top+header.hero-split,
body>nav.nav-top+header.resources-hero-section {
  padding-top: max(10rem, calc(8.5rem + env(safe-area-inset-top, 0px))) !important;
}

@media (max-width: 576px) {

  body>nav.nav-top+header:not(.video-header),
  body>nav.nav-top+section:not(.product-hero) {
    padding-top: max(6.5rem, calc(4.75rem + env(safe-area-inset-top, 0px))) !important;
  }

  body>nav.nav-top+section.contact-hero-section {
    padding-top: max(7.75rem, calc(6.5rem + env(safe-area-inset-top, 0px))) !important;
  }

  body.page-sustainability>nav.nav-top+header.hero-split,
  body>nav.nav-top+header.resources-hero-section {
    padding-top: max(7.5rem, calc(6.25rem + env(safe-area-inset-top, 0px))) !important;
  }
}

/* Primary CTAs: never wider than the viewport (keeps centered layout) */
@media (max-width: 576px) {
  .btn-primary:not(.top-cta) {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Mobile nav refinement consolidated in the main mobile block above */

@media (max-width: 576px) {
  /* Navbar padding consolidated above */
}

/* =============================================================
   Innovations pages (Functional / Naturals / Heritage)
   Mobile-first stability overrides for hero + all sections.
   ============================================================= */
@media (max-width: 991px) {
  .page-denim-functional .product-hero {
    margin-top: 84px;
    padding: 52px 0 56px;
  }

  .page-denim-functional .product-hero .row.align-items-center {
    row-gap: 20px;
  }

  .page-denim-functional .hero-text-entrance {
    min-height: auto;
    padding-left: 0 !important;
  }

  .page-denim-functional .product-hero .display-5 {
    font-size: clamp(1.6rem, 5.2vw, 2.05rem);
    line-height: 1.16;
    margin-bottom: 12px;
  }

  .page-denim-functional .product-hero .lead {
    font-size: 1rem;
    line-height: 1.62;
    margin-bottom: 18px;
  }

  .page-denim-functional .product-highlights {
    margin-bottom: 18px;
  }

  .page-denim-functional .product-highlights li {
    font-size: 15px;
    line-height: 1.45;
    margin-bottom: 8px;
  }

  /* Remove old negative offset on CTA for clean mobile flow */
  .page-denim-functional .product-hero .top-cta {
    margin-top: 0 !important;
    min-width: 0 !important;
    height: auto !important;
    white-space: normal;
    line-height: 1.25;
  }

  .page-denim-functional .denim-logo-stage {
    max-width: min(460px, 100%);
    margin: 0 auto;
    padding: 14px 16px 18px;
  }

  .page-denim-functional .denim-applications .application-subline {
    font-size: 15px;
    line-height: 1.55;
  }

  .page-denim-functional .denim-applications .application-media {
    aspect-ratio: 4 / 5;
  }

  .page-denim-functional .denim-applications .application-tile h5 {
    white-space: normal;
    line-height: 1.35;
    font-size: 15px;
  }

  .page-denim-functional .product-form-section {
    padding: 52px 0;
  }

  .page-denim-functional .denim-contact-panel {
    padding: 24px;
  }
}

@media (max-width: 576px) {
  .page-denim-functional .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .page-denim-functional .product-hero {
    margin-top: 76px;
    padding: 36px 0 42px;
  }

  .page-denim-functional .product-hero .row.align-items-center {
    row-gap: 14px;
  }

  .page-denim-functional .product-badge {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
  }

  .page-denim-functional .product-hero .display-5 {
    font-size: clamp(1.45rem, 7vw, 1.95rem);
    line-height: 1.2;
  }

  .page-denim-functional .product-hero .lead {
    font-size: 0.95rem;
    margin-bottom: 14px;
  }

  .page-denim-functional .product-highlights li {
    font-size: 14px;
    margin-bottom: 6px;
  }

  .page-denim-functional .hero-text-entrance > div.mt-4,
  .page-indiwool-naturals .hero-text-entrance > div.mt-4,
  .page-indiwool-heritage .hero-text-entrance > div.mt-4 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  body.page-denim-functional .hero-text-entrance .top-cta,
  body.page-indiwool-naturals .hero-text-entrance .top-cta,
  body.page-indiwool-heritage .hero-text-entrance .top-cta {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    justify-content: center;
    align-items: center;
    text-align: center !important;
    padding: 16px 20px !important;
    margin: 8px 0 !important;
    font-size: 18px !important;
    min-height: 56px !important;
    height: auto !important;
  }

  .page-denim-functional .denim-logo-stage {
    max-width: 100%;
    border-radius: 18px;
    padding: 10px 10px 14px;
  }

  .page-denim-functional .product-card {
    padding: 18px 14px;
  }

  .page-denim-functional .denim-applications .application-tile h5 {
    font-size: 14px;
  }

  .page-denim-functional .product-form-section {
    padding: 42px 0;
  }

  .page-denim-functional .denim-contact-panel {
    padding: 18px;
    border-radius: 14px;
  }
}

/* =============================================================
   MOBILE RESPONSIVE PATCH — Final comprehensive fix
   Addresses: touch targets, fixed-width overflows, footer stacking,
   safe-area insets, parallax on mobile, image heights, grid columns.
   Theme colors and fonts are intentionally untouched.
   ============================================================= */

/* ---- 1. GLOBAL SAFE DEFAULTS ---- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ---- 2. FIXED-WIDTH OVERRIDES — kill hardcoded px widths on mobile ---- */
/* Navbar mobile styles consolidated in the main @media (max-width: 991px) block above */
@media (max-width: 991px) {
  /* btn-primary fixed 320px min-width breaks mobile */
  .btn-primary {
    min-width: 0 !important;
  }

  /* Sustainability CTA fixed height */
  .sustain-cta {
    height: auto !important;
    min-height: 48px;
  }

  /* .lets-talk-form 60% width is too narrow */
  .lets-talk-form {
    width: 100% !important;
  }

  /* applications-section middle CTA min-width */
  .applications-section .middle-cta {
    min-width: 0 !important;
    width: auto !important;
  }
}

/* ---- 3. NAVBAR mobile stacking consolidated above ---- */

/* Navbar 576px styles consolidated in the main mobile block above */
}

/* ---- 4. HERO VIDEO SECTION ---- */
@media (max-width: 767px) {
  .video-header {
    height: auto !important;
    min-height: 100svh;
  }

  .video-content {
    height: auto !important;
    min-height: 100svh;
    padding: 110px 16px 80px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  /* Credibility strip: wrap badges on small screens */
  .credibility-strip {
    position: relative !important;
  }

  .trust-badges {
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 12px;
  }

  .trust-badge {
    font-size: 11px !important;
    padding: 4px 10px !important;
  }
}

/* ---- 5. HERO SPLIT PAGES (about, sustainability, inner pages) ---- */
@media (max-width: 991px) {
  .hero-split {
    margin-top: 0 !important;
  }

  /* Stack columns: image below text */
  .hero-split>.container>.row,
  .hero-split .container .row.align-items-center {
    flex-direction: column !important;
  }

  .hero-split .col-lg-6 {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Image first on mobile — override column-reverse if content needs to lead */
  .hero-split [data-aos="fade-left"] {
    order: 2;
  }

  .hero-split [data-aos="fade-right"] {
    order: 1;
  }
}

@media (max-width: 576px) {
  .hero-split.section-padding {
    padding-top: max(6rem, calc(5rem + env(safe-area-inset-top, 0px))) !important;
    padding-bottom: 40px !important;
  }

  .hero-video-wrapper {
    aspect-ratio: 4 / 3 !important;
    border-radius: 16px !important;
  }

  .hero-split .display-4,
  .hero-split h1 {
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
    line-height: 1.2 !important;
  }

  .hero-split .lead {
    font-size: 0.95rem !important;
  }
}

/* ---- 6. FOOTER MULTI-COLUMN → SINGLE COLUMN ---- */
@media (max-width: 767px) {
  .site-footer .row>[class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 28px;
  }

  .site-footer .row>[class*="col-"]:last-child {
    margin-bottom: 0;
  }

  .footer-logo {
    max-width: 140px !important;
    margin: 0 auto 16px;
  }

  .footer-text {
    font-size: 14px !important;
    text-align: center;
  }

  .footer-title {
    text-align: center;
    font-size: 18px !important;
    margin-top: 0;
  }

  .footer-links {
    text-align: center;
  }

  .footer-links li {
    margin-bottom: 14px;
  }

  .footer-links a {
    font-size: 15px !important;
  }

  .footer-contact {
    justify-content: center;
  }

  .footer-contact li {
    font-size: 14px !important;
    justify-content: center;
  }

  .footer-social {
    text-align: center;
  }

  .footer-bottom {
    text-align: center;
    font-size: 12px !important;
  }

  .footer-divider {
    margin: 24px 0 16px !important;
  }
}

/* ---- 7. CONTACT PAGE: INFO + FORM STACKING ---- */
@media (max-width: 991px) {
  .contact-hero-section .row.g-5 {
    flex-direction: column !important;
  }

  .contact-hero-section .col-lg-5,
  .contact-hero-section .col-lg-6 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .contact-form-frame {
    margin-top: 12px !important;
  }

  /* Contact info items */
  .contact-hero-section .d-flex.align-items-start {
    gap: 12px;
  }
}

@media (max-width: 576px) {
  .contact-hero-section {
    padding-top: max(7rem, calc(6rem + env(safe-area-inset-top, 0px))) !important;
    padding-bottom: 40px !important;
  }

  /* Stack Name + Designation, Company + Phone into single columns */
  .contact-hero-section .col-md-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .contact-form-frame {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .contact-input {
    font-size: 15px;
    padding: 10px 12px;
  }
}

/* ---- 8. REQUEST SAMPLE PAGE ---- */
/* Keep request-sample hero content slightly lower than generic fixed-nav offsets */
body.page-request-sample>nav.nav-top+header.section-padding {
  padding-top: max(9.25rem, calc(8rem + env(safe-area-inset-top, 0px))) !important;
}

@media (max-width: 767px) {
  body.page-request-sample>nav.nav-top+header.section-padding {
    padding-top: max(8.25rem, calc(7rem + env(safe-area-inset-top, 0px))) !important;
  }
}

@media (max-width: 767px) {

  /* Side-by-side card layout → vertical stack */
  .request-sample-section .row,
  [class*="request"] .row {
    flex-direction: column !important;
  }

  .request-sample-section [class*="col-"],
  [class*="request"] [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Hide decorative "info" panel on mobile to keep page scannable */
  .sample-info-desktop {
    display: none !important;
  }
}

/* ---- 9. PRODUCT / INNOVATION PAGES ---- */
@media (max-width: 991px) {

  /* All Innovation Pages: hero stack */
  .page-denim-functional .hero-text-entrance,
  .page-indiwool-naturals .hero-text-entrance,
  .page-indiwool-heritage .hero-text-entrance {
    order: 1;
    min-height: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .page-denim-functional .denim-logo-stage,
  .page-indiwool-naturals .denim-logo-stage,
  .page-indiwool-heritage .denim-logo-stage {
    order: 2;
    max-width: min(380px, 100%) !important;
    margin: 30px auto 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .page-denim-functional .denim-logo-stage img,
  .page-indiwool-naturals .denim-logo-stage img,
  .page-indiwool-heritage .denim-logo-stage img {
    margin: 0 auto;
    display: block;
  }

  /* Center align badge + CTA on tablet */
  .page-denim-functional .product-badge,
  .page-indiwool-naturals .product-badge,
  .page-indiwool-heritage .product-badge {
    margin: 0 auto 12px auto;
  }

  .page-denim-functional .hero-text-entrance .product-highlights,
  .page-indiwool-naturals .hero-text-entrance .product-highlights,
  .page-indiwool-heritage .hero-text-entrance .product-highlights {
    text-align: left;
    max-width: 100%;
    margin: 0 auto 20px auto;
    display: inline-block;
  }

  .page-denim-functional .hero-text-entrance .top-cta,
  .page-indiwool-naturals .hero-text-entrance .top-cta,
  .page-indiwool-heritage .hero-text-entrance .top-cta {
    margin: 0 5px 10px 5px !important;
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    padding: 8px 20px !important;
    font-size: 15px !important;
  }

  /* Feature cards: 2-column grid on tablet */
  .product-cards-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 576px) {

  /* Feature cards: 1 column on phones */
  .product-cards-row {
    grid-template-columns: 1fr !important;
  }

  /* Application tiles: 2-up grid */
  .denim-applications .row.g-3 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem;
  }

  .denim-applications [class*="col-6"] {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .denim-applications .application-tile h5 {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
}

/* ---- 10. APPLICATION (SOLUTIONS) PAGE ---- */
@media (max-width: 767px) {

  /* has-bg-img: disable fixed attachment for iOS performance */
  .has-bg-img {
    background-attachment: scroll !important;
    padding-top: max(7rem, calc(6rem + env(safe-area-inset-top, 0px))) !important;
    min-height: auto !important;
  }

  /* Application cards: full-width */
  .app-card {
    padding: 0 !important;
  }

  .app-card-img {
    height: 260px !important;
    border-radius: 12px !important;
  }

  .app-card-img-wrap {
    margin-bottom: 8px !important;
  }

  .app-card-content {
    flex-direction: row !important;
    align-items: flex-start;
    padding: 0 !important;
    gap: 10px !important;
  }

  .app-card-number {
    font-size: 72px !important;
    line-height: 1 !important;
    width: 80px !important;
    height: auto !important;
    flex-shrink: 0;
    margin-top: -6px;
  }

  .app-card-content>div {
    max-width: calc(100% - 90px) !important;
    width: auto !important;
    margin-top: 0 !important;
  }

  .app-card-content .section-title {
    font-size: 1.2rem !important;
    margin-bottom: 6px;
  }

  .app-card-content p {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 400px) {
  .app-card-img {
    height: 200px !important;
  }

  .app-card-number {
    font-size: 56px !important;
    width: 65px !important;
  }

  .app-card-content>div {
    max-width: calc(100% - 75px) !important;
  }
}

/* ---- 11. SUSTAINABILITY / IMPACT PAGE ---- */
@media (max-width: 767px) {

  /* SDG grid: 3 columns on phone */
  .sdg-grid-row {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  /* Partners grid: single column */
  .partners-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    max-width: 400px;
    margin: 0 auto;
  }

  /* Wool cycle: 2 columns */
  .wool-cycle-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px 12px !important;
  }
}

@media (max-width: 400px) {

  /* SDG: 2 columns on tiny phones */
  .sdg-grid-row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ---- 12. ABOUT PAGE ---- */
@media (max-width: 767px) {

  /* Team slider: cards at natural width */
  .team-slider-section .team-slide {
    width: 85vw !important;
    max-width: 320px;
  }

  .team-img img {
    height: 240px !important;
  }

  /* Values grid: 1 column */
  .values-grid .col-lg-4,
  .values-grid .col-md-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Road ahead: single column */
  .road-ahead-content {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .road-ahead-header h2 {
    font-size: clamp(1.6rem, 7vw, 2rem) !important;
  }

  .road-ahead-item {
    font-size: 0.9rem !important;
    padding: 10px 12px !important;
  }

  .road-ahead-cta {
    width: 100%;
    max-width: 280px;
    text-align: center;
  }
}

/* ---- 13. RESOURCES / LAB PAGE ---- */
@media (max-width: 767px) {
  .resources-hero-section {
    padding-top: max(7rem, calc(6rem + env(safe-area-inset-top, 0px))) !important;
    padding-bottom: 40px !important;
  }

  .resource-heading {
    font-size: 1.4rem !important;
    margin-bottom: 20px !important;
  }

  /* Patent & technical cards: 1-column */
  .patents-section .col-md-6,
  .patents-section .col-lg-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* ---- 14. TABLE HORIZONTAL SCROLL ---- */
@media (max-width: 767px) {
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 12px;
  }

  .table-responsive .specs-table {
    min-width: 540px;
  }
}

/* ---- 15. DISABLE PARALLAX ON MOBILE (iOS flicker fix) ---- */
@media (max-width: 991px) {

  .has-bg-img,
  .cta-texture-bg {
    background-attachment: scroll !important;
  }
}

/* ---- 16. TOUCH TARGETS — minimum 44×44px ---- */
@media (max-width: 991px) {

  a,
  button,
  .btn,
  .nav-link,
  .dropdown-item,
  .accordion-button {
    min-height: 44px;
  }

  .navbar-toggler {
    min-width: 44px;
    min-height: 44px;
  }

  .nav-arrow {
    width: 48px !important;
    height: 48px !important;
  }

  /* Footer social icons */
  .footer-social a {
    width: 44px !important;
    height: 44px !important;
  }
}

/* ---- 17. METRIC CARD GRID: 2-col on phone ---- */
@media (max-width: 576px) {
  .sustain-metrics-strip .col-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .metric-card h3 {
    font-size: 1.6rem !important;
  }

  .metric-card p {
    font-size: 0.75rem !important;
  }
}

/* ---- 18. FORM: Stack all form columns on mobile ---- */
@media (max-width: 576px) {

  /* Override Bootstrap col-md-6 inside forms */
  form .row>.col-md-6,
  form .row>.col-sm-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Full-width submit buttons */
  form .btn-primary,
  form .send-btn,
  form .denim-submit-btn,
  form .road-ahead-cta {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center;
    justify-content: center;
  }
}

/* ---- 19. SAFE AREA INSETS (iPhone notch / Dynamic Island) ---- */
@supports (padding: max(0px)) {

  .nav-top,
  body>nav.nav-top {
    top: max(10px, env(safe-area-inset-top, 10px)) !important;
  }

  @media (max-width: 767px) {

    .video-content,
    .hero-split.section-padding {
      padding-top: max(6.5rem, calc(5.5rem + env(safe-area-inset-top, 0px))) !important;
    }
  }
}

/* ---- 20. MARQUEE: smaller on narrow screens ---- */
@media (max-width: 576px) {
  .marquee-container {
    padding: 0 8px !important;
  }

  .marquee-slide {
    padding: 0 12px !important;
  }

  .marquee-slide .award-box {
    width: 160px !important;
    height: 80px !important;
  }

  .marquee-slide .award-box img {
    max-height: 64px;
    max-width: 85%;
  }
}

/* ---- AWARDS AND ACHIEVEMENTS SECTION ---- */
.awards-section {
  background: #f8f9fa;
}

.awards-card {
  background: white;
  border-radius: 12px;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.awards-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}

.awards-icon {
  font-size: 48px;
  margin-bottom: 20px;
  display: inline-block;
}

.awards-card h3 {
  font-size: 1.5rem;
  margin-bottom: 15px;
  color: #1a1a1a;
}

.awards-card p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 12px;
}

@media (max-width: 768px) {
  .awards-card {
    padding: 30px 20px;
  }

  .awards-icon {
    font-size: 36px;
  }

  .awards-card h3 {
    font-size: 1.25rem;
  }
}

/* Optimization for smooth AOS scrolling */
[data-aos] {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
[data-aos].aos-animate {
  will-change: auto;
}

/* Team Swiper Navigation Buttons */
.teamSwiper .swiper-button-prev,
.teamSwiper .swiper-button-next {
  width: 50px;
  height: 50px;
  background-color: #262364;
  border-radius: 50%;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
}

.teamSwiper .swiper-button-prev {
  left: -60px;
}

.teamSwiper .swiper-button-next {
  right: -60px;
}

.teamSwiper .swiper-button-prev::after,
.teamSwiper .swiper-button-next::after {
  font-size: 18px;
  font-weight: bold;
}

.teamSwiper .swiper-button-prev:hover,
.teamSwiper .swiper-button-next:hover {
  background-color: #FE952C;
}

.teamSwiper .swiper-pagination {
  position: relative;
  margin-top: 20px;
}

.teamSwiper .swiper-pagination-bullet {
  background-color: #262364;
  opacity: 0.5;
}

.teamSwiper .swiper-pagination-bullet-active {
  background-color: #FE952C;
  opacity: 1;
}

/* =============================================================
   AWARDS & MEDIA PAGE
   ============================================================= */

.tracking-wider {
  letter-spacing: 2px;
}

/* Awards Hero */
.awards-hero-section {
  background: linear-gradient(180deg, #f8f9fa 0%, #fff 100%);
}

/* ============================= */
/* STORIES HERO SECTION          */
/* ============================= */

.stories-hero-section {
  position: relative;
  background: linear-gradient(135deg, #1a174d 0%, #262364 40%, #2e2a7a 100%);
  padding: 260px 0 100px;
  overflow: hidden;
  margin: 0;
}

.stories-hero-section::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(254, 149, 44, 0.12) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.stories-hero-section::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(254, 149, 44, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.stories-hero-overlay {
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1;
}

.stories-hero-content {
  max-width: 800px;
  margin: 0 auto;
}

.stories-hero-overline {
  display: inline-block;
  font-family: "Karla", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #FE952C;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 24px;
  padding: 8px 24px;
  border: 1px solid rgba(254, 149, 44, 0.35);
  border-radius: 50px;
  background: rgba(254, 149, 44, 0.08);
}

.stories-hero-heading-1 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.2rem;
  font-weight: 400;
  font-style: italic;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.3;
  margin-bottom: 8px;
}

.stories-hero-heading-2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 28px;
}

.stories-hero-subline {
  font-family: "Karla", sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  max-width: 680px;
  margin: 0 auto;
}

@media (max-width: 991px) {
  .stories-hero-section {
    padding: 200px 0 70px;
  }

  .stories-hero-heading-1 {
    font-size: 1.6rem;
  }

  .stories-hero-heading-2 {
    font-size: 2.4rem;
  }

  .stories-hero-subline {
    font-size: 1rem;
  }
}

@media (max-width: 576px) {
  .stories-hero-section {
    padding: 170px 0 50px;
  }

  .stories-hero-overline {
    font-size: 0.72rem;
    letter-spacing: 2px;
    padding: 6px 16px;
  }

  .stories-hero-heading-1 {
    font-size: 1.3rem;
  }

  .stories-hero-heading-2 {
    font-size: 1.9rem;
    margin-bottom: 20px;
  }

  .stories-hero-subline {
    font-size: 0.95rem;
    line-height: 1.65;
  }
}

/* Award Cards */
.award-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.award-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.award-card-img {
  position: relative;
  height: 240px;
  overflow: hidden;
}

.award-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.award-status-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: #F28C28;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 50px;
  letter-spacing: 1px;
}

.award-card-divider {
  border-top: 1px solid #e0e0e0;
}

.award-card-body {
  padding: 28px;
}

/* Government Quote Card */
.govt-quote-card {
  background: #262364;
  border-radius: 18px;
  padding: 40px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.new-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: #dc3545;
  color: #fff;
  padding: 4px 10px;
  font-size: 0.70rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 4px;
  z-index: 2;
  text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.govt-quote-header {
  margin-bottom: 24px;
}

.govt-ministry-badge {
  display: inline-block;
  background: #fff;
  color: #262364;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 50px;
  letter-spacing: 1px;
}

.govt-quote-text {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #fff;
  font-style: italic;
  margin-bottom: 28px;
  padding: 0;
  border: none;
}

.govt-quote-author {
  display: flex;
  align-items: center;
  gap: 16px;
}

.govt-author-line {
  width: 40px;
  height: 3px;
  background: #F28C28;
  border-radius: 2px;
}

.govt-quote-author p.text-muted {
  color: #ccc !important;
}

/* Media Cards */
.media-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.media-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.media-card-img {
  height: 260px;
  overflow: hidden;
}

.media-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.media-card-body {
  padding: 28px;
}

.media-source-badge {
  display: inline-block;
  background: #262364;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 50px;
  letter-spacing: 1.5px;
}

.media-card-img {
  position: relative;
}

.media-img-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #F28C28;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 50px;
  letter-spacing: 1px;
}

.media-card-divider {
  border-top: 1px solid #e0e0e0;
}

.media-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.media-tag {
  display: inline-block;
  background: rgba(38, 35, 100, 0.08);
  color: #262364;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 50px;
  border: 1px solid rgba(38, 35, 100, 0.12);
}

/* Government Recognition Image */
.govt-recognition-img-wrap {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.govt-recognition-img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

.govt-recognition-img-wrap:hover .govt-recognition-img {
  transform: scale(1.05);
}

/* Card Image Hover Zoom */
.award-card-img img {
  transition: transform 0.4s ease;
}

.award-card:hover .award-card-img img {
  transform: scale(1.08);
}

.media-card-img img {
  transition: transform 0.4s ease;
}

.media-card:hover .media-card-img img {
  transform: scale(1.08);
}

/* Awards Page Responsive */
@media (max-width: 991px) {
  .award-card-img {
    height: 220px;
  }

  .media-card-img {
    height: 220px;
  }

  .govt-recognition-img-wrap {
    max-width: 400px;
    margin: 0 auto 24px;
  }

  .govt-quote-card {
    padding: 32px;
  }
}

@media (max-width: 767px) {
  .award-card-img {
    height: 200px;
  }

  .media-card-img {
    height: 200px;
  }

  .govt-quote-card {
    padding: 24px;
  }

  .govt-quote-text {
    font-size: 1rem;
  }

  .govt-ministry-badge {
    font-size: 0.7rem;
    padding: 6px 14px;
  }

  .govt-recognition-img-wrap {
    max-width: 100%;
  }
}

/* ============================= */
/* PRESS RELEASE STORY SECTION   */
/* ============================= */

.press-release-section {
  background: #fff;
}

.press-release-content {
  max-width: 820px;
  margin: 0 auto;
}

.press-release-content p {
  color: #3f4756;
  font-size: 1.05rem;
  line-height: 1.8;
  margin-bottom: 1.1rem;
}

.press-release-content p:last-child {
  margin-bottom: 0;
}

.press-release-img-wrap {
  max-width: 780px;
  margin: 0 auto;
}

.press-release-img {
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.press-stats-row {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.press-stat-card {
  background: #f5f6f8;
  border-radius: 16px;
  padding: 28px 32px;
  text-align: center;
  min-width: 200px;
  flex: 1;
  max-width: 280px;
}

.press-stat-number {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: #262364;
  margin-bottom: 6px;
  line-height: 1.2;
}

.press-stat-card-logos {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.press-platform-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 10px;
}

.press-logo-google {
  width: 100px;
  height: auto;
}

.press-logo-yahoo {
  width: 90px;
  height: auto;
}

.press-stat-label {
  display: block;
  font-size: 0.85rem;
  color: #8892a4;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.press-reach-bar {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.press-reach-track {
  display: flex;
  height: 12px;
  border-radius: 6px;
  overflow: hidden;
  background: #eee;
}

.press-reach-fill {
  background: #262364;
  position: relative;
}

.press-reach-fill.usa {
  background: #FE952C;
}

.press-reach-fill.uk {
  background: #6c7a92;
}

.press-reach-fill.sg {
  background: #8892a4;
}

.press-reach-fill.pk {
  background: #a8b2c0;
}

.press-reach-legend {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 12px;
  font-size: 0.82rem;
  color: #6c7a92;
}

.legend-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

.legend-dot.india {
  background: #262364;
}

.legend-dot.usa {
  background: #FE952C;
}

.legend-dot.uk {
  background: #6c7a92;
}

.legend-dot.sg {
  background: #8892a4;
}

.legend-dot.pk {
  background: #a8b2c0;
}

@media (max-width: 767px) {
  .press-stats-row {
    flex-direction: column;
    align-items: center;
  }

  .press-stat-card {
    max-width: 100%;
    width: 100%;
  }

  .press-reach-legend {
    gap: 12px;
    font-size: 0.75rem;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .section-padding .resource-heading,
  .section-padding .text-orange.text-uppercase {
    text-align: center !important;
  }
  .section-padding .row.align-items-center > .col-lg-6:first-child {
    text-align: center !important;
  }
  .section-padding .row.align-items-center > .col-lg-6:first-child ul {
    display: inline-block;
    text-align: left;
  }
  .section-padding .row.align-items-center > .col-lg-6.text-center {
    text-align: center !important;
  }
  .lab-img-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
}