
@media (min-width: 1440px) {
  .testimonial-card {
    width: 380px;
    height: 440px;
  }
  .testimonial-card-wrapper {
    gap: 32px;
  }
}

@media (max-width: 480px) {
  .testimonial-card {
    width: 98vw;
    max-width: 99vw;
    min-width: 180px;
    height: auto;
    min-height: 160px;
    padding: 1rem;
  }
  .testimonial-card-wrapper {
    gap: 8px;
  }
}

@media (max-width: 340px) {
  .testimonial-card {
    width: 100vw;
    min-width: 120px;
    padding: 0.5rem;
    font-size: 0.9rem;
  }
}
@media (max-width: 1024px) {
  .testimonial-card {
    width: 260px;
    height: 340px;
  }
  .testimonial-card-wrapper {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .testimonial-card {
    width: 95vw;
    max-width: 340px;
    height: auto;
    min-height: 220px;
  }
  .testimonial-card-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}


*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    
}


h1, h2, h3, h4, h5, h6 {
  font-family: 'Larsseit Bold', sans-serif;
}

p{
  font-family: 'Poppins'; 
}

@media  screen and (max-width: 768px){
  p{
    font-size: 12px;
  }

  h1{
    font-size: 22px;
  }

 h2{
    font-size: 20px;
  }

  h3{
    font-size: 18px;
    
  }

 h4{
    font-size: 16px;
  }

 h5{
    font-size: 14px;
  }

  h6{
    font-size: 12px;
  }


}



/*Header Section*/

/* Main header styles */
/* Main header styles */
.main-header {
  width: 100%;
  display: grid;
  padding: 8px 0;
  grid-template-columns: 6.25rem 1fr 1fr 6.25rem;
  background-color: #A7402D;
}

.header-mob {
  grid-column: 2 / 3;
  color: black;
}

.header-mob a {
  text-decoration: none;
  color: white;
  padding-left: 15px;
}
.blog-section-title{
  text-align: center;

    margin-bottom: 2rem;
    color: #A7402D;
    font-size: 2rem;
    font-weight: 600;
    position: relative;
    padding-bottom: 1rem;
}
.blog-section-title:after{
content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: #A7402D;
    border-radius: 2px;
} 
.header-social {
  display: flex;
  grid-column: 3 / 4;
  justify-content: end;
  color: black;
  padding-left: 5px;

  
}

.header-social a {
  text-decoration: none;
  color: white;
  padding-left: 5px;
}



.header-search {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  width: 157px;
  display: flex;
  flex-direction: row; 
  align-items: center; 
  border: 1px solid #ccc;
  background-color: white;
  border-radius: 10px;
  display: none;
}

.search-input {
  padding: 5px;
  font-size: 14px;
  border: none;
  border-radius: 10px 0 0 10px;
  width: 130px;
  outline: none;
}

/* .search-button {
  background-color: white;
  color: #A7402D;
  border: none;
  border-left: none; 
  padding: 5px;
  width: auto; 
  cursor: pointer;
  font-size: 14px;
  border-radius: 10px; 
}

.search-button:hover {
  background-color: #A7402D;
  color: white;
} */

.social-mediah ul {
  display: flex;
  flex-direction: row;
  margin: 0;
  padding: 0;
  right: 10px;
  justify-content: space-between;
  align-items: center;
  list-style: none;
}

.social-mediah ul li {
 
  margin: 0 5px;
}

.socialmediah, .indiamartb {
  position: relative;
  width: 40px;
  height: 40px;
  display: block;
  text-align: center;
  border-radius: 50%;
  padding: 5px;
  box-sizing: border-box;
  text-decoration: none;
  box-shadow: 0 5px 10px rgba(58, 53, 53, 0.726);
  background: #ffffff;
  transition: 0.5s;
}


.socialmediah:hover, .socialmedia[aria-label="indiamart"]:hover img {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.heading-underline {
  display: inline-block;
  position: relative;
  margin-left: 438px;
}

.heading-underline::after {
  content: '';
  display: block;
  margin: 0 auto;
  margin-top: 8px;
  width: 85%;
  height: 5px;
  background: #a7402d;
  border-radius: 3px;
}
.founder-underline {
  display: inline-block;
  position: relative;
  margin-left: 480px;
}
.founder-underline::after {
    content: '';
  display: block;
  margin: 0 auto;
  margin-top: 8px;
  width: 85%;
  height: 2px;
  background: #000;
  border-radius: 3px;
}
.socialmediah .fab {
  width: 100%;
  height: 100%;
  display: block;
  background: none;
  border-radius: 50%;
  line-height: calc(40px - 10px);
  font-size: 16px;
  color: #912b2c;
  transition: 0.5s;
}
/* IndiaMART logo styling to match other social icons */
.socialmedia[aria-label="indiamart"] {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #A7402D;
  background: #ffffff;
  border-radius: 50%;
  margin: 0 5px;
  transition: all 0.3s ease;
  
}

.socialmedia[aria-label="indiamart"] img {
  
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(17%) sepia(30%) saturate(5522%) hue-rotate(342deg) brightness(89%) contrast(95%);
  transition: all 0.3s ease;
}

.socialmedia[aria-label="indiamart"]:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.socialmedia[aria-label="indiamart"]:hover img {
  transform: scale(1.1);
  opacity: 1;
}

.social-mediah ul li:nth-child(1) a:hover .fab {
  color: #3b5998;
}

.social-mediah ul li:nth-child(2) a:hover .fab {
  color: #00aced;
}

.social-mediah ul li:nth-child(3) a:hover .fab {
  color: #0072b1;
}

.social-mediah ul li:nth-child(4) a:hover .fab {
  color: linear-gradient(to right, #f9ce34, #ee2a7b, #6228d7);
}

.social-mediah ul li:nth-child(5) a:hover .fab {
  color: #25D366;
}

@media screen and (max-width: 768px) {
  .main-header {
    display: none;
  }

  .header-mob {
    display: none;
  }

  .header-social {
    grid-column: 2/3;
    grid-row: 1/2;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    justify-self: center;
  }

  .header-search {
    grid-column: 2/3;
    grid-row: 1/2;
  }

  .social-mediah ul {
    flex-direction: row; /* Adjust social media icons to a single row */
    justify-content: center; /* Align icons center */
  }
}


.contactus_header {
  padding: 8px 16px;
  color: white;
  background-color:#A7402D;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}



.contactus_header:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(145, 43, 44, 0.4);
}


/* Navbar */





.main-nav {
  position: fixed;
  top: 40px;
  z-index: 1000;
  background-color: rgb(255, 255, 255);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.full-nav {
  display: grid;
  grid-template-columns: 6.25rem .75fr 3.5fr .6fr 6.25rem;
}

/* Logo Section */
.nav-logo {
  grid-column: 2/3;
}
  
.nav-logo a {
  display: flex;
  align-items: center;
  margin: 25px 0;
  text-decoration: none;
}

/* Navigation Menu */
.nav-menu {
  grid-column: 3/4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-menu ul li {
  display: inline-block;
  padding: 0 10px;
  position: relative;
  font-size: large;
  color: white;
}

@media screen and (max-width: 1366px) {
  .nav-menu ul li {
    font-size: medium;
  }
  
}

.nav-menu ul li a {
  text-decoration: none;
  color: black;
  font-weight: 500;
}

.toggle-design{
  text-decoration: none;
  color: black;
  font-weight: 500;
  cursor: pointer;

}

.toggle-design:hover,
.toggle-design:active {
  
  color: #912b2c;
  

}

.nav-menu ul li a:hover {
  color: #912b2c;
  cursor: pointer;
}



/*dropdown2*/

.dropdown-menu2 {

  position: absolute;
  top: 23px;  
  width: 20vw; 
  list-style: none;
  margin: 0;
  z-index: 999;
  overflow: hidden;
  background-color: white;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  
}

.dropdown-menu-product{
  padding: 8px 0;  /* Reduced from 25px */
}
.dropdown-menu-sumitomo,
.dropdown-menu-deviser,
.dropdown-menu-optronix,
.dropdown-menu-optronix-fiber,
.dropdown-menu-optronix-edfa{
  padding: 6px 10px;  /* Reduced from 10px */
  line-height: 1.2;  /* Added for better line spacing */
}

.dropdown-menu-sumitomo:hover,
.dropdown-menu-deviser:hover,
.dropdown-menu-optronix:hover,
.dropdown-menu-optronix-fiber:hover,
.dropdown-menu-optronix-edfa:hover{
  background-color: #f9f9f9;
}



.dropdown-menu-sumitomo ul li,
.dropdown-menu-deviser ul li,
.dropdown-menu-optronix ul li,
.dropdown-menu-optronix-fiber ul li,
.dropdown-menu-optronix-edfa ul li{
  display: block;
  line-height:1.2;
  font-size: medium;
  
}





.dropdown-menu-sumitomo ul li:hover,
.dropdown-menu-deviser ul li:hover,
.dropdown-menu-optronix ul li:hover,
.dropdown-menu-optronix-fiber ul li:hover,
.dropdown-menu-optronix-edfa ul li:hover {
  background-color: #f9f9ff;
}



/*dropdown3*/

.dropdown-menu3 {

  position: absolute;
  top: 20px;  
  width: 15vw; 
  background-color: white;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 4px 0;  /* Reduced from 10px */
  list-style: none;
  margin: 0;
  z-index: 999;
  overflow: hidden;
  align-self: center;
}






/* Show Dropdown on Active (Desktop) */


/* Hamburger Icon */
.icon {
  font-size: 1rem;
  cursor: pointer;
  display: none;
}

/* Enquire Now Button */
.nav-button {
  grid-column: 4/5;
  display: flex;
  justify-content: end;
  align-items: center;
}

.enquire_button {
  padding: 10px 24px;
  border: 2px solid #A7402D;
  color: #fff;
  background-color: #A7402D;
  border-radius: 25px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  font-family: 'Poppins', sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 4px 15px rgba(167, 64, 45, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.enquire_button:hover {
  background-color: #862D1D;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(167, 64, 45, 0.3);
}
.enquire_button:active, 
.enquire_button:focus {
  transform: translateY(1px) scale(0.98);
  box-shadow: 0 2px 10px rgba(167, 64, 45, 0.3);
  outline: none;
  outline: none;
}


@media screen and (max-width:1251px ){

  .full-nav {
    display: grid;
    grid-template-columns: 6.25rem .7fr 3.8fr .7fr 6.25rem;
  }

  .nav-logo{
    grid-column: 2/3;
  }

  .nav-menu{
    grid-column: 3/4;
  }

  .nav-button{
    grid-column: 4/5;
  }

  .nav-menu ul li {
    padding: 0 5px;
    
  }

  

}



@media screen and (max-width: 920px) {
  .nav-button {
    display: none;
  }

  .full-nav {
    display: grid;
    grid-template-columns: .8rem 1fr 1fr .8rem;
  }

  .icon {
    display: block;
    align-self: center;
    justify-self: end;
  }

  .nav-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 4rem;
    left: 0;
    width: 100vw;
    height: 100vh;
    justify-content: flex-start;
    align-items: flex-start;
    background-color: white;
    z-index: 1000;
    padding: 1rem 0;
    padding: .8rem;
  }

  .nav-menu.active {
    display: flex;
  }

  .nav-menu ul {
    display: flex;
    flex-direction: column;
    
  }

  .nav-menu ul li {
    padding: 0.5rem 0;
  }

  /* .dropdown-menu {
    display: flex;
    flex-direction: column;
    box-shadow: none;
    position: static;
    width: 100%;
  } */

  .dropdown-menu li {
    text-align: center;
  }
}

  


/* Responsive Design */
@media screen and (max-width: 768px) {
  .nav-button {
    display: none;
  }

  .full-nav {
    display: grid;
    grid-template-columns: .8rem 1fr 1fr .8rem;
  }

  .icon {
    display: block;
    align-self: center;
    justify-self: end;
  }

  .nav-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 4rem;
    left: 0;
    width: 100vw;
    height: 100vh;
    justify-content: flex-start;
    align-items: flex-start;
    background-color: white;
    z-index: 1000;
    padding: 1rem 0;
    padding: .8rem;
  }

  .nav-menu.active {
    display: flex;
  }

  .nav-menu ul {
    display: flex;
    flex-direction: column;
    
  }

  .nav-menu ul li {
    padding: 0.5rem 0;
  }

  .dropdown-menu {
    display: flex;
    flex-direction: column;
    box-shadow: none;
    position: static;
    width: 100%;
  }

  .dropdown-menu li {
    text-align: center;
  }
}



/* Popup Overlay */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

/* Popup Content */
.popup-content {
  background: white;
  padding: 20px;
  border-radius: 8px;
  width: 90%;
  max-width: 400px;
  text-align: center;
}

.popup-content h2 {
  margin-bottom: 20px;
}

.popup-content form {
  display: flex;
  flex-direction: column;
}

.popup-content form label {
  margin-bottom: 10px;
  text-align: left;
}

.popup-content form input,
.popup-content form textarea {
  width: 100%;
  padding: 8px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.popup-content form button {
  padding: 10px;
  margin-top: 10px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.popup-content form button:first-of-type {
  background-color: #A7402D;
  color: white;
}

.popup-content form button:last-of-type {
  background-color: #ccc;
  color: black;
}


/* Mobile submenu style */
.mobile-submenu {
  list-style: none;
  padding-left: 1rem;
  margin-top: 0.5rem;
}

.mobile-submenu li {
  padding: 0.4rem 0;
}

.mobile-submenu a {
  color: #7A6F6F;
  text-decoration: none;
}

.mobile-submenu a:hover {
  color: #912b2c;
}

/* Hide desktop dropdown on mobile */
@media screen and (max-width: 768px) {
  .dropdown-menu2,
  .dropdown-menu3 {
   
  }
}


/* Active link style */
.active-link {
  color: #912b2c !important;
}






/*company Profile*/






/*--about*/

.landing-page-about {

  display: grid;
  grid-template-columns: 6.25rem 1fr 2.3fr 6.25rem;
  grid-template-rows: auto auto auto;
}

.landing-page-about-heading {
  grid-column: 2/3;
  grid-row: 1/2;
  font-size: 2rem;
  color: #333;
  
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  text-align: center;
  margin-top: 10px;
}



.landing-page-about-buttons :nth-child(1){
  grid-row: 1/2;
  grid-column: 1/2;
}

.landing-page-about-buttons :nth-child(2){
  grid-row: 2/3;
  grid-column: 1/2;
}

.landing-page-about-buttons :nth-child(3){
  grid-row: 3/4;
  grid-column: 1/2;
}

.landing-page-about-content {
  grid-column: 3/4;
  grid-row: 2/3;
  margin-top: 10px;
}

.about-btn {
  background-color: transparent;
 
 
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1rem;
  transition: background-color 0.3s ease;


  padding: 5px 24px;
  font-weight: 500;
  color: #5f5f5f;
 
  

  position: relative;
  bottom: 0;
}

.about-btn:hover {
  color: #000;
 
  transform: translateY(-2px);
}

/* Tablet and below */
@media screen and (max-width: 1024px) {
   .landing-page-about {
    grid-template-columns: 2rem 1fr 2rem; 
    grid-template-rows: auto auto auto;
    gap: 1.5rem;
   
  }

  .landing-page-about-heading {
    grid-column: 2/3;
    grid-row: 1/2;
  }

  /* .landing-page-about-heading h1 {
  
    font-size: 1.75rem !important;
  } */

  .landing-page-about-buttons {
    grid-column: 2/3;
    grid-row: 2/3;
    margin-left: 0 !important;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .landing-page-about-buttons a {
    width: 100%;
  }

  .landing-page-about-buttons button {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }

  .landing-page-about-content {
    grid-column: 2/3;
    grid-row: 3/4;
    margin-top: 0;
  }
}

/* Mobile */
@media screen and (max-width: 640px) {
  .landing-page-about {
    grid-template-columns: 1rem 1fr 1rem;
    gap: 1rem;
    
  }

  .landing-page-about-heading h1 {
    font-size: 1.5rem !important;
   
  }

  .landing-page-about-buttons {
    gap: 0.75rem;
  }

  .landing-page-about-content {
    padding: 0 0.5rem;
  }

  .landing-page-about-content p {
    font-size: 0.8174rem;
    line-height: 1.6;
  }
}

/* Small mobile devices */
@media screen and (max-width: 400px) {
  .landing-page-about {
    grid-template-columns: 0.5rem 1fr 0.5rem;
    gap: 0.75rem;
  }

  .landing-page-about-heading h1 {
    font-size: 1.5rem;
  }

  .landing-page-about-buttons button {
    padding: 0.6rem;
    font-size: 0.9rem;
  }
}


/* Mobile Design */
@media screen and (max-width: 768px) {
  /* Horizontal scroll for videos */
  .video-container {
    display: flex;
    overflow-x: scroll;
    gap: 1rem;
    padding-bottom: 1rem;
  }

  /* Each video takes up 48% of the container width (2 columns per row) */
  .main-com-pro-main-video {
    flex: 0 0 48%;
    margin-bottom: 1rem;
  }

  /* Styling for video box */
  .main-com-pro-main-box {
    background-color: #f9f9f9;
    border-radius: 12px;
    overflow: hidden;
  }

  .main-com-pro-main-box video {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px 12px 0 0;
  }

  .main-com-pro-description {
    text-align: center;
    padding: 10px 0;
    font-size: 14px;
    color: #333;
  }

  /* Art/Text section */
  .main-com-art {
    grid-column: 1/3;
    padding: 10px;
  }
}




/* Removed duplicate styles - using the ones above */

.landing-page-about-buttons {
  grid-column: 2/3;
  grid-row: 2/3;
  display: flex;
  flex-direction: column;
  gap: 12px;
 margin-bottom: 15px;
}




.landing-page-about-content {
}




/*Executives*/

.executives {
  background-image: 
  linear-gradient(to right, rgba(241, 240, 240, 0.205), rgba(255, 255, 255, 0.103)),
  url(/static/media/ex1.f4761c839a26c8fe57c6.jpg);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
  display: grid;
  grid-template-columns: 6.25rem 1fr 2.3fr 6.25rem;
  margin-top: 50px;
  height: 100%;
  width: 100%;

  padding: 1.5rem 0;
}

.executives-img {
  grid-column: 2/3;
 border-radius: 20px !important;
  display: flex;
  justify-content: center;
  align-items: center;
}


.executives-art {

  grid-column: 3/4;
 
}

@media screen and (max-width: 768px) {
  .executives {
    grid-template-columns: .8rem 1fr .8rem;
    grid-template-rows: auto auto;
    row-gap: 3rem;
  }

  .executives-img {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-right: 0;
  }

  .executives-art {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-left: 0;
  }
}

@media screen and (max-width: 540px) {
  .executives {
    grid-template-columns: .8rem 1fr .8rem;
    grid-template-rows: auto auto;
    row-gap: 3rem;
  }

  .executives-img {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-right: 0;
  }

  .executives-art {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-left: 0;
  }
}

@media screen and (max-width: 450px) {
  .executives {
    grid-template-columns: .8rem 1fr .8rem;
    grid-template-rows: auto auto;
    row-gap: 3rem;
  }

  .executives-img {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-right: 0;
  }

  .executives-art {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-left: 0;
  }
}

@media screen and (max-width: 390px) {
  .executives {
    grid-template-columns: .8rem 1fr .8rem;
    grid-template-rows: auto auto;
    row-gap: 3rem;
  }

  .executives-img {
    grid-column: 2/3;
    grid-row: 1/2;
    padding-right: 0;
  }

  .executives-art {
    grid-column: 2/3;
    grid-row: 2/3;
    padding-left: 0;
  }
}



/* Main Brand Slider */
.brand-slider {
  background-color: white;
  padding: 10px 0;
   /* Optional: rounded corners for a softer look */
}

/* Wrapper for the carousel */
.brand-slider-wrap {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
  position: relative;
  justify-content: center;
  padding: 15px 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); /* Drop shadow added */
  background-color: rgba(255, 255, 255, 0.952);
}

.brand-slider-name{
  text-align: center;
  margin-bottom: 30px;
}

/* Container for the logos */
.logos-slider-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9rem; /* Consistent gap between logos */
  animation: slide 30s linear infinite;
  margin-left: 9rem;
}

/* Styling for the individual logos */
.logo {
  width: 150px; /* Ensuring logos are the same size */
  max-width: 150px;
}

/* Adding a hover effect to stop animation */
.brand-slider-wrap:hover .logos-slider-container {
  animation-play-state: paused;
}

/* Animation to slide logos */
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Make links clickable and ensure they open in a new tab */
.logo-link {
  display: inline-block;
}

/* Responsive Design */
@media (max-width: 768px) {
  

  .logo {
    width: 100px; /* Ensuring logos are the same size */
    max-width: 100px;}

  


}



/*brand slider End*/





/*Testimonials*/

/* Full-Screen Margin */
.full-screen-margin {
  margin-left: 6.25rem;
  margin-right: 6.25rem;
}

@media screen and (max-width: 768px) {
  .full-screen-margin {
    margin-left: 3rem;
    margin-right: 3rem;
  }
}

/* General Styles */
.testimonial-slider {
  padding: 2rem 0;
}

.testimonial-slider-title {
  text-align: center;
  margin-bottom: 1.5rem;
  color: #333;
  font-weight: 600;
}

/* Card Wrapper for Space Between Cards */
.testimonial-card-wrapper {
  padding: 0 15px;
  box-sizing: border-box;

}

/* Testimonial Card */
.testimonial-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 420px;
  height: 250px;
  display: flex;
  
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}

.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}

.testimonial-image-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}

.testimonial-image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ddd;
}

.testimonial-name {
  margin-bottom: 0.5rem;
  color: #333;
  font-weight: bold;
}

.testimonial-text {
  color: #555;
  line-height: 1.5;
}

/* Slick Slider Dots */
.slick-dots {
  bottom: -25px;
  text-align: center;
}

.slick-dots li {
  margin: 0 5px;
}

.slick-dots li button:before {
  font-size: 12px;
  color: #333;
}

.slick-dots li.slick-active button:before {
  color: #007bff;
}

/* Custom Arrows */
.custom-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #e7e2e2;
  color: #fff;
  width: 35px;
  height: 45px;
  border-radius: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s ease;
}

.custom-arrow:hover {
  background-color: #A7402D;
}

.custom-prev {
  left: -0px;
}

.custom-next {
  right: -0px;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
  .custom-prev {
    left: -40px;
  }

  .custom-next {
    right: -40px;
  }
}

@media (max-width: 768px) {
  .custom-prev {
    left: -30px;
  }

  .custom-next {
    right: -30px;
  }

  .testimonial-card {
    padding: 1rem;
  }

  .testimonial-card-wrapper {
  padding: 0 ;
}

  
}





/*blog Slider*/


.blog-section {
  display: grid;
  grid-template-columns: 6.25rem 1fr 6.25rem;
  grid-template-rows: 1fr 600px;
  margin-bottom: 100px;
  margin-top: 50px;
}

.blog-section-name {
  grid-column: 2/3;
  grid-row: 1/2;
}

.slider {
  grid-column: 2/3;
  grid-row: 2/3;
  height: 540px;
  margin-top: 20px;
  width: 100%;
  overflow: hidden;
  position: relative;
  border: 1px solid #A7402D;
  border-radius: 10px;
}

.slider .list .item {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0 0 0 0;
  display: none; /* Hidden by default */
}

.slider .list .item.active {
  display: block; /* Show the active slide */
}

.slider .list .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider .list .item .content {
  position: absolute;
  top: 20%;
  width: 1140px;
  max-width: 80%;
  left: 50%;
  transform: translateX(-50%);
  padding-right: 30%;
  box-sizing: border-box;
  color: #fff;
  text-shadow: 0 5px 10px #0004;
}

.description {
  padding-right: 200px;
}

.slider .list .item .content,
.slider .list .item .content .type {
  font-size: 4vh;
  font-weight: bold;
  line-height: 2em;
  margin-bottom: -10px;
  height: auto;
}
.title{
 margin-top: 200px;
  font-size: 3.7vh;
  font-weight: bold;
  line-height: 2em;
  margin-left:-0.1rem;
}



.slider .list .item .content .type {
  color: #14ff72cb;
  height: 60px;
  font-size: 3vh;
}

.slider .list .item .button {
  display: grid;
  grid-template-columns: repeat(2, 130px);
  grid-template-rows: 40px;
  gap: 5px;
  margin-top: 40px;
}

.slider .list .item .button button {
  border: none;
  background-color: #eee;
  font-family: Poppins, sans-serif;
  font-weight: 500;
  cursor: pointer;
  transition: 0.2s;
  letter-spacing: 2px;
}

.slider .list .item .button button:hover {
  letter-spacing: 3px;
}

.slider .list .item .button button:nth-child(2) {
  background-color: transparent;
  border: 1px solid #fff;
  color: #eee;
}

.thumbnail {
  position: absolute;
  bottom: 50px;
  left: 78%;
  width: max-content;
  z-index: 100;
  display: flex;
  gap: 20px;
  transform: translateX(-50%);
}

.thumbnail .item {
  width: 150px;
  height: 220px;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
  opacity: 0.6;
  transition: 0.3s;
}

.thumbnail .item img {
  width: 100%;
  height: 57%;
  object-fit: cover;
  margin-top: 85px;
  border-radius: 20px;
  border: 2px solid #fff;
  box-shadow: 5px 0 15px rgba(0, 0, 0, 0.3);
}

.thumbnail .item.active-thumbnail {
  opacity: 1;
  transform: scale(1.1);
}

.nextPrevArrows {
  position: absolute;
  top: 92%;
  right: -27%;
  z-index: 100;
  width: 300px;
  max-width: 30%;
  display: flex;
  gap: 10px;
  align-items: center;
  transform: translateX(-50%);
}

.nextPrevArrows button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #ccc;
  border: none;
  color: #0f0f0fff;
  font-family: monospace;
  font-weight: bold;
  transition: 0.5s;
  cursor: pointer;
}

.nextPrevArrows button:hover {
  background-color: #b6b6b6;
  color: #000;
}

/* Animations */
.slider .list .item .content .title,
.slider .list .item .content .type,
.slider .list .item .content .description,
.slider .list .item .content .buttons {
  transform: translateY(50px);
  filter: blur(20px);
  opacity: 0;
  animation: showContent 0.5s 1s linear 1 forwards;
}


@keyframes showContent {
  to {
    transform: translateY(0px);
    filter: blur(1px);
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .slider .list .item .content {
    padding-right: 0;
  }
  .slider .list .item .content .title {
    font-size: 50px;
  }




.blog-section {
  display: none;
  grid-template-columns: 3rem 1fr 3rem;
  grid-template-rows: auto auto;
  margin-bottom: 100px;
  margin-top: 50px;
}

.blog-section-name {
  grid-column: 2/3;
  grid-row: 1/2;
}

.slider {
  grid-column: 2/3;
  grid-row: 2/3;
  height: 600px;
  margin-top: 50px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
}



















    /*footer*/


    .footer-margin{
      margin-top: 50px;
  }
  
 
  
  .footer-info{
      grid-column: 2/3;
      color: white;
      padding-right: 10px;
  }
  
  .footer-info h4{
      font-family:  'Calibri',sans-serif;
  }
  
  .footer-branch{
      grid-column: 3/4;
      color: white;
      display: flex;
      justify-content: center;
  }
  
  .footer-branch h2 {
      margin-bottom: 15px;
  }
  

  
  .branch-details {
      margin-top: 20px;
      line-height: 1.8;
  }
  
  .branch-details p {
      margin: 8px 0;
  }
  
  .footer-quick{
      grid-column: 4/5;
      color: white;
      display: flex;
      justify-content: center;
  }
  
  .footer-popular{
      grid-column: 5/6;
      color: white;
      display: flex;
      justify-content: end;
  }
  
  .footer-branch ul{
      padding-left: 20px;
      padding-top: 10px;
  }
  
  .footer-branch ul li a{
      text-decoration: none;
      color: white;
  }
  
  .footer-branch ul li{
      padding: 3.5px 2px;
  }
  
  .footer-quick ul{
      padding-left: 20px;
      padding-top: 10px;
  }
  
  .footer-quick ul li a{
      text-decoration: none;
      color: white;
  }
  .footer-quick ul li{
      padding: 3.5px 2px;
  }
  .footer-popular ul{
      padding-left: 20px;
      padding-top: 10px;
  }
  
  .footer-popular ul li{
      padding: 3.5px 2px;
  }
  .footer-popular ul li a{
      text-decoration: none;
      color: white;
  
  }
  
  @media  screen and (max-width: 1030px){
      .main-footer{
          width: 100%;
          display: grid;
          padding: 20px 0;
          grid-template-columns: 6.25rem 1fr 6.25rem;
          grid-template-rows: 1fr, 1fr, 1fr, 1fr;
          background-color: #A7402D;}
  
      .footer-info{
          grid-column: 2/3;
          grid-row: 1/2;
      }
  
      .footer-branch{
          grid-column: 2/3;
          grid-row: 2/3;
          margin-top: 25px;
      }
  
      .footer-quick{
          grid-column: 2/3;
          grid-row: 3/4;
          margin-top: 25px;
      }
  
      .footer-popular{
          grid-column: 2/3;
          grid-row: 4/5;
          margin-top: 25px;
      }
  
      .footer-branch{
          display: flex;
          justify-content: start;
      }
  
      .footer-quick{
          display: flex;
          justify-content: start;
      }
  
      .footer-popular{
          display: flex;
          justify-content: start;
      }
  }



  @media  screen and (max-width: 1030px){
    .main-footer{
        width: 100%;
        display: grid;
        padding: 20px 0;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: 1fr, 1fr, 1fr, 1fr;
        background-color: #A7402D;}

    .footer-info{
        grid-column: 2/3;
        grid-row: 1/2;
    }

    .footer-branch{
        grid-column: 2/3;
        grid-row: 2/3;
        margin-top: 25px;
    }

    .footer-quick{
        grid-column: 2/3;
        grid-row: 3/4;
        margin-top: 25px;
    }

    .footer-popular{
        grid-column: 2/3;
        grid-row: 4/5;
        margin-top: 25px;
    }

    .footer-branch{
        display: flex;
        justify-content: start;
    }

    .footer-quick{
        display: flex;
        justify-content: start;
    }

    .footer-popular{
        display: flex;
        justify-content: start;
    }
}
  
  @media  screen and (max-width: 768px){
  
      .footer-margin{
          margin-top: 30px;
      }
  
  }
  
  @media  screen and (max-width: 385px){
      
  }
  
  .footer-copywrite{
      background-color: #862D1D;
      padding: 10px 0;
      display: flex;
      justify-content: center;
  }
  
  .footer-copywrite p{
      color: white;
  }

/* Dialog Box Styles */
.dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.dialog-box {
  background: white;
  padding: 20px;
  border-radius: 8px;
  width: 300px;
  text-align: center;
}

.dialog-box h3 {
  margin: 0 0 10px 0;
}

.dialog-box p {
  margin-bottom: 20px;
}

.closee-btn {
  background-color: #A7402D;
  color: white;
  padding: 8px 16px;
  border: none;
  cursor: pointer;
}

.closee-btn:hover {
  background-color: #a24536;
}

.branch-link {
  background: none;
  border: none;
  color: white;
  text-decoration: underline;
  cursor: pointer;
}

.branch-link:hover {
  color: #ffcccb;
}




/*social media Handle*/





.social-media ul {
  
  
  right: 10px;
  
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
}

.social-media ul li {
  list-style: none;
  margin: 3px 0;
}

.socialmedia {
  position: relative;
  width: 40px; /* Smaller size */
  height: 40px; /* Smaller size */
  display: block;
  text-align: center;
  border-radius: 50%;
  padding: 5px;
  box-sizing: border-box;
  text-decoration: none;
  box-shadow: 0 5px 10px rgba(58, 53, 53, 0.726);
  background: #ffffff; /* New background color */
  transition: 0.5s;
}

.social-media ul li a:hover {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  text-decoration: none;
}

.social-media ul li a .fab {
  width: 100%;
  height: 100%;
  display: block;
  background: none; /* Remove background for icons */
  border-radius: 50%;
  line-height: calc(40px - 10px); /* Adjust for smaller size */
  font-size: 16px; /* Smaller icon size */
  color: #912b2c; /* White icon color */
  transition: 0.5s;
}

.social-media ul li:nth-child(1) a:hover .fab {
  color: #3b5998;
}

.social-media ul li:nth-child(2) a:hover .fab {
  color: #00aced;
}

.social-media ul li:nth-child(3) a:hover .fab {
  color: #0072b1;
}

.social-media ul li:nth-child(4) a:hover .fab {
  color: linear-gradient(to right, #f9ce34, #ee2a7b, #6228d7);;
}

.social-media ul li:nth-child(5) a:hover .fab {
  color: #25D366;
}










/* index.css */

.product-page {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 20px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}
.product-page-controls {
  grid-column: 1;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: .5rem;
  background: white;
  border-radius: 8px 8px;
  padding: 15px 0;
  position: sticky;
  top: 140px;
  align-self: start;

  overflow-y: auto;
  z-index: 2;
  /* box-shadow: 0 2px 4px rgba(0,0,0,0.1); */


  
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  width: calc(100% - 1rem);
  margin: 0 auto;
  padding: 0 0.5rem;
  box-sizing: border-box;
  overflow: hidden;
}
.product-header {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr; /* content | image */
  align-items: center;
  column-gap: 2rem;
  row-gap: 1rem;
}

/* Image wrapper */
.product-header-image {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Image */
.product-header-image img {
  width: 100%;
  max-width: 560px;     /* cap size on large screens */
  height: auto;
  object-fit: contain;  /* prevent cropping */
  object-position: center;
  display: block;
}

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .product-header {
    grid-template-columns: 1fr 1fr; /* balanced columns */
    column-gap: 1.5rem;
  }
  .product-header-image img {
    max-width: 460px;
  }

}
/* Generic card wrapper */
.card {
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between; 
  position: relative; 
  background-color: #f9f9f9;
  color: #333;
  transition: transform 0.2s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  margin: 10px auto;
  overflow: hidden;
  width: 100% !important;
  max-width: 1500px !important;
  
}
.card-buttons {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin-top: auto;
  padding: 0;
  margin-left: -10px;
  box-sizing: border-box;
  gap: 6px;
}
.product-header-icons {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 16px;
  flex-wrap: wrap;
}

.product-header-icon {
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  padding: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  cursor: pointer;
}

.product-header-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.product-header-icon.active {
  outline: 2px solid #A7402D;
  box-shadow: 0 4px 12px rgba(167,64,45,.25);
}
/* Target the Download Catalog button specifically */
.card-btn-secondary:last-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  padding: 6px 8px;
}
.card-image {
  width: 179px;
  height: 179px;
}

/* For desktop, show on one line */
@media (min-width: 1025px) {
   .desktop-text {
    display: inline;
  }
  .card-btn-secondary:last-child {
    flex-direction: row;
    white-space: nowrap;
  }
  .card-btn-secondary .catalog-text {
    margin-left: 4px;
  }
  .product-page {
    grid-template-columns: 200px 1fr; /* Shrink sidebar */
    gap: 15px;
  }

  .product-page-controls {
    position: sticky;   /* only sticky on desktop */
    top:80px;
    align-self: start;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
  }
  .product-header-icons { gap: 10px; }
  .product-header-icon {
    width: 52px;
    height: 52px;
    padding: 5px;
  }
  .product-header {
    grid-template-columns: 1fr 1fr 1fr !important; /* balanced columns */
    column-gap: 1.5rem !important;
  }
  .product-header-image img {
    max-width: 460px !important;
  }
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

/* Card image */
.card-image {
  width: 140px;
  height: 140px;
  object-fit: contain;
  margin: 0 auto 15px;
  display: block;
  transition: all 0.3s ease;
}

/* Smaller images on mobile */
@media (max-width: 768px) {
   .desktop-text {
    display: inline;
  }
  .card-image {
    width: 100px;
    height: 100px;
  }
  .product-header-icons {
    gap: 8px;
    flex-wrap: nowrap;          /* one row */
    overflow-x: auto;           /* horizontal scroll */
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
  }
  .product-header-icons::-webkit-scrollbar { height: 6px; }
  .product-header-icons::-webkit-scrollbar-thumb {
    background: #e0e0e0;
    border-radius: 3px;
  }
  .product-header-icon {
    width: 46px;
    height: 46px;
    padding: 4px;
    flex: 0 0 auto;             /* prevent shrinking while scrolling */
    scroll-snap-align: center;
  }
}

/* Even smaller for very small devices */
@media (max-width: 480px) {
  .card-image {
    width: 80px;
    height: 80px;
  }
}

/* Card title */
.desktop-text {
  display: inline !important;
  white-space: nowrap !important; /* Prevent text wrapping */
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}
.card-title {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin: 5px 0;
}

/* Card description */
.card-description {
  font-size: 14px;
  text-align: center;
  color: #666;
  margin-bottom: auto;
}

/* Primary button (Enquire Now) */
.card-btn-main {
  background-color: #A7402D;
  color: #fff;
  border: none;
  border-radius: 30px;
  padding: 10px 16px;
  margin: 12px auto;
  text-align: center;
  justify-content: end;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  font-weight: 500;
  display: block;
}

.card-btn-main:hover {
  background-color: #872d1c;
  transform: translateY(-2px);
}

/* Secondary buttons (Read More, Catalog) */
.card-btn-secondary {
  flex: 1 1 50%;
  min-width: 0;
  font-size: 14px;
  padding: 6px 8px;
  background: none;
  border: none;
  color: #666;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  cursor: pointer;
  transition: color 0.2s ease;
  white-space: nowrap; /* Prevent text wrapping */
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: max-content; /* Prevent breaking download text */
  padding: 6px 10px; /* Slightly more padding for better appearance */
}

.card-btn-secondary:hover {
  color: #A7402D;
}
.top-text, .bottom-text {
  display: block;
  white-space: nowrap;
}


/* --- Responsive behaviors --- */
@media screen and (max-width: 1024px) {
  .card{
    padding: 16px;
    min-height: 250px;/* ✅ 1 per row */
   
    
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-btn-main {
    font-size: 13px !important;
    padding: 8px 14px !important;
    min-width: 120px !important;
    max-width: 60% !important;
  }
  .card-btn-secondary {
    font-size: 12px !important;
    padding: 6px 10px !important;
    max-width: 100% !important;   /* each like half row */
    flex: 1 1 100% !important;
   
    overflow: hidden;
  }
  .card-buttons {
    /* display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important; */
  }
  .product-header {
    grid-template-columns: 1fr 1fr !important; /* balanced columns */
    column-gap: 1.5rem !important;
  }
  .product-header-image img {
    max-width: 460px !important;
  }
  
}

@media screen and (max-width: 768px) {
  .card {
    width: 100% !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    padding: 0 0.5rem;
    width: 100%;
  }
  .card-btn-main {
    max-width: 70%;
    font-size: 12px;
    padding: 7px 12px;
  }
  .card-buttons {
    width: 100% !important;
    justify-content: space-between;  
    grid-template-columns: 1fr 1fr; 
    gap: 6px;
  }
  .card-btn-secondary {
    font-size: 12px !important;
    padding: 6px 10px !important;
    max-width: 100% !important;   /* each like half row */
    flex: 1 1 100% !important;
    white-space: nowrap !important; /* Prevent text wrapping */
    overflow: hidden !important;
  }
  .product-page {
    grid-template-columns: 1fr; /* Stack sidebar above content */
  }

  .product-page-controls {
    position: static;
    max-height: none;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
  }

  .product-page-controls::-webkit-scrollbar {
    display: none; /* Hide ugly scrollbar on mobile */
  }
  .product-header {
    grid-template-columns: 1fr; /* stack */
  }
  .product-header-image {
    order: 1;            /* show image first */
    margin-bottom: 12px;
  }
  .product-header-content {
    order: 2;
    text-align: left;    /* or center if you prefer */
  }
  .product-header-image img {
    max-width: 420px !important;
    width: 100% !important;
  }
}
@media screen and (max-width: 400px) {
  .card-btn-main{
    min-width: 90px !important;
    max-width: 80% !important;
    font-size: 11px !important;
    padding: 6px 8px !important;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-btn-secondary{
    font-size: 11px !important;
    padding: 5px 8px !important;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis; /* Adds ellipsis for any text that overflows */
    max-width: 48%; /* Keep only one max-width value */
    display: inline-block; 
  }
  .card-buttons {
   display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px; /* Adds some spacing between buttons */
    width: 100%;
  }
  .product-header-icon {
    width: 42px;
    height: 42px;
    padding: 4px;
  }
}

@media screen and (max-width: 320px) {
  h1 { font-size:  clamp(1.2rem, 2vw, 2rem); }
  h2 { font-size: 16px; }
  p  { font-size: 11px; }

  .card-btn-main {
    min-width: 80px !important;
    font-size: 10px !important;
    padding: 5px 6px !important;
  }

  .card-btn-secondary {
    font-size: 10px !important;
    padding: 4px 6px !important;
  }

  .card-image {
    width: 65px !important;
    height: 65px !important;
  }

  .landing-page-about-heading h1 {
    font-size: 1.2rem !important;
  }
}
@media screen and (max-width: 280px) {
  h1 { font-size: 16px; }
  h2 { font-size: 14px; }
  p  { font-size: 10px; }

  .card {
    padding: 10px;
  }

  .card-buttons {
    flex-direction: column !important;
    gap: 5px;
  }

  .card-btn-main {
    width: 100% !important;
    font-size: 10px;
  }

  .nav-menu ul li {
    font-size: 12px;
  }

  .footer-copywrite p {
    font-size: 10px;
    text-align: center;
  }
}
.main-footer {
  width: 100%;                /* Always take full browser width */
  max-width: 100%;            /* Ensure no max-width constraint */
  display: grid;
 
  margin: 0;                  /* Remove any default margins */
  grid-template-columns: 6.25rem 1fr 1fr 1fr 1fr 6.25rem; 
  background-color: #A7402D;  /* This color stretches across screen */
}
/* Wide desktops / Ultra Zoom-Out (>1600px) */
@media screen and (min-width: 1600px) {
  body {
    max-width: 1600px;
    margin: 0 auto; /* Keeps everything centered */
  }

  .landing-page-about,
  .executives,
  .product-page,
  .blog-section,
  .testimonial-slider {
    max-width: 1400px;
    margin: 0 auto;
  }

  .nav-menu ul li {
    font-size: 18px; /* Larger readable spacing */
    padding: 0 15px;
  }

  .card-image {
    width: 205px;
    height: 273px;
  }

  .card {
    max-width: 400px;
  }
}




/* General tightening */
.main-footer {
  padding: 28px 0;
  row-gap: 24px;
}

.main-footer h2 { font-size: 20px; margin-bottom: 10px; }
.main-footer h4 { font-size: 15px; }

.footer-branch ul,
.footer-quick ul,
.footer-popular ul {
  padding-left: 16px;
  padding-top: 6px;
}

.footer-branch ul li,
.footer-quick ul li,
.footer-popular ul li {
  padding: 2.5px 0;
  line-height: 1.4;
}

/* Tablet (2x2 layout to cut height) */
@media (min-width: 768px) and (max-width: 1024px) {
  .main-footer {
    grid-template-columns: .8rem 1fr 1fr .8rem; /* | info | branch | next row: quick | popular | */
    row-gap: 24px;
  }

  .footer-info { grid-column: 2/3; grid-row: 1/2; }
  .footer-branch { grid-column: 3/4; grid-row: 1/2; margin-top: 0; }
  .footer-quick { grid-column: 2/3; grid-row: 2/3; margin-top: 0; }
  .footer-popular { grid-column: 3/4; grid-row: 2/3; margin-top: 0; }

  .footer-info iframe {
    width: 100% !important;
    height: 160px !important;
  }

  .branch-details { font-size: 12.5px; }
  .social-media ul { flex-wrap: wrap; gap: 6px; }
  .landing-page-about-heading h1 {
    text-align: center;
    justify-content: center;
    margin: 0 auto;
    display: block;
  }
}

/* Mobile (stacked, smaller fonts, tighter spacing) */
@media (max-width: 767px) {
  .main-footer {
    grid-template-columns: .8rem 1fr .8rem;
    padding: 20px 0;
    row-gap: 16px;
  }

  .footer-info, .footer-branch, .footer-quick, .footer-popular { margin-top: 0; }

  .footer-info h2 { font-size: 18px; }
  .footer-branch h2, .footer-quick h2, .footer-popular h2 { font-size: 17px; }
  .footer-info h4 { font-size: 13px; padding: 6px 0; }

  .branch-details { font-size: 12px; line-height: 1.5; }

  /* Make map responsive and shorter */
  .footer-info iframe {
    width: 100% !important;
    height: 120px !important;
  }

  /* Split long link lists into 2 columns to reduce height */
  .footer-quick ul,
  .footer-popular ul {
    columns: 2;
    column-gap: 12px;
    padding-left: 0;
  }

  .footer-quick ul li,
  .footer-popular ul li {
    break-inside: avoid;
    padding: 3px 0;
  }

  /* Smaller social icons */
  .socialmedia {
    width: 34px;
    height: 34px;
  }
  .social-media ul {
    flex-wrap: wrap;
    gap: 6px;
  }
}

/* Small phones */
@media (max-width: 360px) {
  .footer-info h2,
  .footer-branch h2,
  .footer-quick h2,
  .footer-popular h2 { font-size: 16px; }

  .footer-quick ul,
  .footer-popular ul {
    columns: 2;
    column-gap: 10px;
  }

  .socialmedia {
    width: 30px;
    height: 30px;
  }

  .footer-copywrite p { font-size: 12px; }
}








/* Keep dropdown centered under its toggle without changing its width */
.dropdown { position: relative !important; }

/* Hidden/base state: center horizontally, animate only Y */
.dropdown-menu2,
.dropdown-menu3 {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, 8px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  transition: transform .2s ease, opacity .2s ease, visibility 0s linear .2s !important;
  will-change: transform !important;
  margin-left: 0 !important;

  /* 👇 ADD DEFAULT STYLING HERE (background, shadow, etc) */
  background: white;
  min-width: 220px;
  border-radius: 6px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0,0,0,0.1);
  list-style: none;
  padding: 8px 0;
  margin: 0;
  z-index: 1001;                /* kill any legacy offset */
}

/* Visible state: same X transform, only Y changes */
.dropdown.active .dropdown-menu2,
.dropdown.active .dropdown-menu3 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
  pointer-events: auto !important;
  transition: transform .2s ease, opacity .2s ease, visibility 0s linear 0s !important;
}

/* Optional: prevent tiny nudge from link hover padding without changing width */
.dropdown-menu2 a,
.dropdown-menu3 a {
  width: 100% !important;         /* box model is stable */
  box-sizing: border-box !important;
}

/* Phones: inline, full-width dropdowns (no absolute positioning) */
@media (max-width: 761px) {
  .dropdown-menu2,
  .dropdown-menu3 {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    /* no width override here either */
    box-shadow: none !important;
    border-radius: 0 !important;
  }
}



@media (min-width: 2000px) {
  .product-header {
  position: relative;
  z-index: 0;
  max-width: 1400px; 
  width: 100%;
  margin-inline: auto; 
  justify-self: center; 
  padding-inline: 16px;
  box-sizing: border-box;
  }

  .product-header::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #f9f9f9; 
  z-index: -1;
  }

  .product-header-image img {
  width: 100%;
  max-width: 520px;
  height: auto;
  object-fit: contain;
  }
  }
  

  @media (max-width: 320px) {
  .product-header {
  position: relative;
  z-index: 0;
  padding-inline: 8px;
  box-sizing: border-box;
  justify-self: center;
  }

  .product-header::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #f9f9f9;
  z-index: -1;
  }
 
  .product-header-image img {
  width: 100%;
  max-width: 260px;
  height: auto;
  object-fit: contain;
  }
  }







/* iPad Air layout fix (portrait 820px, landscape 1180px)
   - keep phone + email on one line
   - keep icon with its text (no split)
   - keep social + search tidy
*/
@media (min-width: 810px) and (max-width: 1180px) {
  .main-main-header .header-mob {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: nowrap;     /* prevent wrapping onto two lines */
    width: 100%;
  }
  .main-main-header .header-mob a {
    display: inline-flex;  /* keep icon and text together */
    align-items: center;
    gap: 8px;
    white-space: nowrap;   /* prevent email breaking */
    line-height: 1;
  }
  .main-main-header .header-mob svg {
    flex: 0 0 auto;
  }

  .main-main-header .header-social {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
  }
  .main-main-header .social-mediah ul {
    display: flex;
    gap: 10px;
    flex-wrap: nowrap;
  }
  .main-main-header .header-search {
    flex: 0 0 240px;  /* stable width so it doesn't crowd contact info */
  }
  .main-main-header .search-input {
    width: 100%;
    min-width: 0;
  }
}





@media (min-width: 768px) and (max-width: 1024px) {
  .footer-branch { margin-top: 10px; }
  .footer-branch h2 { margin-bottom: 12px; }
  .footer-quick, .footer-popular { margin-top: 14px; }
  
  .footer-quick ul, .footer-popular ul {
  margin-top: 10px;
  margin-left: 6px;
  }
  

  .social-media { margin-top: 14px; }
  .social-media ul { flex-wrap: wrap; gap: 10px; }
  .socialmedia { display: inline-flex; align-items: center; justify-content: center; padding: 5px; line-height: 1; }
  .socialmedia .fab { font-size: 18px; line-height: 1; }
  .socialmedia svg { width: 18px; height: 18px; color: #912b2c; }
  .socialmedia[aria-label="indiamart"] img { width: 20px; height: 20px; object-fit: contain; }
  }
  

  @media (max-width: 767px) {
  .footer-branch { margin-top: 8px; }
  .footer-branch h2 { margin-bottom: 10px; }
  .footer-quick, .footer-popular { margin-top: 16px; }
  .footer-quick ul, .footer-popular ul {
  margin-top: 8px;
  margin-left: 8px;
  }
  

  .footer-info iframe { width: 100% !important; height: 120px !important; }
  

  .social-media { margin-top: 14px; }
  .social-media ul { flex-wrap: wrap; gap: 8px; justify-content: flex-start; }
  .socialmedia {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  line-height: 1;

  }
  .socialmedia .fab { font-size: 16px; line-height: 1; }
  .socialmedia svg { width: 16px; height: 16px; color: #912b2c; }
  .socialmedia img { width: 18px; height: 18px; object-fit: contain; }
  }


  @media (max-width: 1024px) {
    .footer-dropdown { position: relative; z-index: 2001; }
    .footer-dropdown .footer-dropdown-menu { z-index: 2002 !important; }
    .social-media { margin-top: 14px; }
    .social-media ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px 12px;
    padding: 0;
    margin: 0;
    }
    .social-media ul li { margin: 0; list-style: none; }
    .socialmedia { margin: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
    .socialmedia[aria-label="indiamart"] { margin: 0 !important; }
    .socialmedia .fab { font-size: 16px; line-height: 1; }
    .socialmedia svg { width: 16px; height: 16px; color: #912b2c; }
    .socialmedia img { width: 18px; height: 18px; object-fit: contain; display: block; }
    
    }
    





    .social-media {
      margin-top: 12px;
    }
    
    .social-media ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      align-items: center;
      flex-wrap: wrap; /* wrap if absolutely needed so no horizontal scrollbar */
      gap: 5px; /* reduced gap so all icons fit in one row on typical widths */
    }
    
    .social-media li {
      margin: 0;
    }
    
    .socialmedia {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: #ffffff; /* circle stays white */
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      color: #A7402D; /* default icon color */
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
      transition: transform 0.15s ease, box-shadow 0.15s ease;
    }
    
    /* Lift effect only; background & color unchanged */
    .socialmedia:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
    }
    
    .socialmedia i {
      font-size: 18px;
      line-height: 1;
    }
    
    .socialmedia svg {
      width: 18px;
      height: 18px;
      display: block;
    }
    
    .socialmedia img {
      width: 26px;
      height: 22px;
      display: block;
      object-fit: contain;
    }
    
    /* ICON-ONLY HOVERS (background stays white) */
    .social-media a[aria-label="Facebook"]:hover i,
    .social-media a[href*="facebook.com"]:hover i,
    .social-media a[aria-label="Facebook"]:hover svg,
    .social-media a[href*="facebook.com"]:hover svg {
      color: #1877F2 !important;
    }
    
    /* .social-media a[aria-label="Twitter"]:hover i,
    .social-media a[href*="twitter.com"]:hover i,
    .social-media a[aria-label="Twitter"]:hover svg,
    .social-media a[href*="twitter.com"]:hover svg {
      color: #1DA1F2 !important;
    } */
    
    .social-media a[aria-label="LinkedIn"]:hover i,
    .social-media a[href*="linkedin.com"]:hover i,
    .social-media a[aria-label="LinkedIn"]:hover svg,
    .social-media a[href*="linkedin.com"]:hover svg {
      color: #0A66C2 !important;
    }
    
    .social-media a[aria-label="Instagram"]:hover i,
    .social-media a[href*="instagram.com"]:hover i,
    .social-media a[aria-label="Instagram"]:hover svg,
    .social-media a[href*="instagram.com"]:hover svg {
      color: #E4405F !important; /* Instagram brand color on icon only */
    }
    
    /* Threads: icon-only hover to black */
   /* Base state (default maroon for all icons via .socialmedia already) */
.social-media a[aria-label="Twitter"]:not(:hover) i,
.social-media a[aria-label="Twitter"]:not(:hover) .ri-twitter-x-line {
  color: #912b2c !important;
  font-size: 20px; /* Match other icon sizes */
  line-height: 1;
  display: inline-block;
}
.social-media a[aria-label="Threads"]:not(:hover) i,
.social-media a[aria-label="Threads"]:not(:hover) svg {
  color: #A7402D; /* Optronix maroon default */
}
.social-media a[aria-label="Twitter"]:hover i,
.social-media a[aria-label="Twitter"]:hover .ri-twitter-x-line,
.social-media a[href*="twitter.com"]:hover i,
.social-media a[href*="x.com"]:hover .ri-twitter-x-line {
  color: #000000 !important; /* Black on hover */
  transform: scale(1.1);
  transition: all 0.2s ease;
}
/* Hover effect for Twitter(X) */
.social-media a[aria-label="Twitter"]:hover i,
.social-media a[href*="twitter.com"]:hover i {
  color: #000000 !important; /* X logo is black */
}

/* Hover effect for Threads */
.social-media a[aria-label="Threads"]:hover i,
.social-media a[aria-label="Threads"]:hover svg,
.social-media a[href*="threads"]:hover svg {
  color: #000000 !important; /* Threads logo is black */
}
    
    .social-media a[aria-label="Whatsapp"]:hover i,
    .social-media a[href*="wa.me"]:hover i,
    .social-media a[href*="whatsapp"]:hover i,
    .social-media a[aria-label="Whatsapp"]:hover svg,
    .social-media a[href*="wa.me"]:hover svg,
    .social-media a[href*="whatsapp"]:hover svg {
      color: #25D366 !important;
    }
    
    .social-media a[aria-label="YouTube"]:hover i,
    .social-media a[href*="youtube.com"]:hover i,
    .social-media a[aria-label="YouTube"]:hover svg,
    .social-media a[href*="youtube.com"]:hover svg {
      color: #FF0000 !important;
    }
    
    /* IndiaMART: stay pure white + lift only */
    .social-media a[aria-label="IndiaMART"]:hover,
    .social-media a[href="indiamart.com"]:hover {
      background: #ffffff;
      color: inherit;
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
    }
    
    /* Optional: Threads/IndiaMART tweaks */
    .brand--threads {
      color: #000000 !important;
      font-weight: bold;
      font-size: 18px;
    }
    .brand--threads:hover {
      background: #ffffff !important;
      color: #000000 !important;
    }
    
    .brand--indiamart img {
      width: 28px;
      height: 28px;
      object-fit: contain;
    }
    .brand--indiamart,
    .brand--indiamart:hover {
      background: #ffffff !important; /* stay white always */
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      padding: 4px;
    }
    

    /* --- Button Text Handling --- */
/* Base styles */
.card-btn-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Desktop text - visible on larger screens */
.desktop-text {
  display: inline !important;
  white-space: nowrap !important;
}

/* Mobile text elements - hidden by default */
.top-text, 
.bottom-text {
  display: none;
  white-space: nowrap;
}

/* Media query for desktop */
@media screen and (min-width: 769px) {
  .card-btn-secondary {
    flex-direction: row;
  }
  
  .desktop-text {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .top-text, 
  .bottom-text {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

/* Media query for mobile */
@media screen and (max-width: 768px) {
  .card-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    width: 100% !important;
  }
  
  .card-btn-secondary {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 6px 4px !important;
  }
  
  .desktop-text {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  
  .top-text, 
  .bottom-text {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }
}




/* --- LandingAbout fluid overrides (append to end) --- */

.landing-page-about {
  gap: clamp(12px, 2vw, 24px);
  padding-block: clamp(8px, 1.6vw, 24px);
}

/* Keep heading visually similar at desktop, scale down gracefully */
.landing-page-about-heading {
  margin-top: clamp(6px, 1.2vw, 12px);
}
/* .landing-page-about-heading h1 {
  font-size: clamp(1.25rem, 2.5vw, 2rem) !important;
  line-height: 1.2;
  word-break: break-word;
} */

/* Buttons: retain max 110px left offset, collapse to 0 on smaller widths */
.landing-page-about-buttons {
  margin-left: clamp(0px, 7vw, 110px) !important;
  gap: clamp(8px, 1.2vw, 12px) !important;
}

/* Button hit area and type scale smoothly */
.about-btn {
  font-size: clamp(0.9rem, 1vw, 1rem) !important;
  padding: clamp(6px, 0.8vw, 10px) clamp(12px, 1.5vw, 24px) !important;
}

/* Content text: fluid size and spacing, wrap long words at tiny widths */
.landing-page-about-content {
  margin-top: clamp(4px, 0.8vw, 10px);
}
.landing-page-about-content p {
  font-size: clamp(0.9rem, 0.95rem + 0.1vw, 1rem) !important;
  line-height: 1.65;
  margin-top: clamp(-41px, -4.5vw, -8px) !important;
  margin-bottom: clamp(12px, 2vw, 20px) !important;
  overflow-wrap: anywhere; /* extreme zoom-in + very narrow screens */
}

/* Ensure no child overflows at extreme zoom */
.landing-page-about * {
  min-width: 0;
}

/* Tablet and down: zero-out left offset so buttons align nicely */
@media (max-width: 1024px) {
  .landing-page-about-buttons {
    margin-left: 0 !important;
  }
}

/* Extra small phones */
@media (max-width: 400px) {
  .about-btn {
    font-size: clamp(0.85rem, 3.5vw, 0.95rem) !important;
  }
}

/* Very wide displays / extreme zoom-out: keep content nicely centered */
@media (min-width: 1600px) {
  .landing-page-about {
    max-width: 1400px;
    margin-inline: auto;
  }
}






.landing-page-about .landing-page-about-content p,
.landing-page-about-content p {
text-align: justify !important;
font-size: clamp(0.9rem, 0.95rem + 0.1vw, 1rem) !important;
line-height: 1.65 !important;
margin-top: clamp(-41px, -4.5vw, -8px) !important;
margin-bottom: clamp(12px, 2vw, 20px) !important;
overflow-wrap: anywhere !important; 
}

/* Keep mobile readable but don’t let earlier rules override */
@media (max-width: 640px) {
.landing-page-about .landing-page-about-content p,
.landing-page-about-content p {
font-size: clamp(0.85rem, 3.5vw, 0.95rem) !important;
line-height: 1.6 !important;
}
}

/* Neutralize generic p { font-size: 12px } on small screens inside this section */
@media (max-width: 768px) {
.landing-page-about .landing-page-about-content p,
.landing-page-about-content p {
font-size: clamp(0.85rem, 3.5vw, 0.95rem) !important;
}
}



/* --- Testimonials fluid overrides --- */

/* Keep underline behavior but remove the huge global offset inside this section only */
.testimonial-slider .heading-underline {
  margin-left: 0 !important;
}

/* Section and track safety */
.testimonial-slider { padding: clamp(16px, 2vw, 32px) 0; }
.testimonial-slider .slick-slide > div { height: 100%; min-width: 0; }

/* Wrapper spacing should also scale */
.testimonial-card-wrapper {
  padding: 0 clamp(8px, 1.2vw, 15px);
  box-sizing: border-box;
}

/* Card scales with viewport; respects your existing breakpoints but fills gaps at extremes */
.testimonial-card {
  width: clamp(280px, 28vw, 420px);
  min-height: clamp(220px, 24vw, 320px);
  padding: clamp(12px, 1.4vw, 24px);
}

/* Fluid avatar size */
.testimonial-image {
  width: clamp(56px, 6vw, 80px);
  height: clamp(56px, 6vw, 80px);
}

/* Fluid type */
.testimonial-name {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.125rem);
  margin-bottom: clamp(6px, 0.8vw, 10px);
}

.testimonial-text {
  font-size: clamp(0.9rem, 0.85rem + 0.2vw, 1rem);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

/* Extra small phones: make card use almost full width */
/* Prevent overlap: cards fill the slide on tablet/mobile */
@media (max-width: 1024px) {
  .testimonial-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    box-sizing: border-box;
  }
  

}

/* Consistent spacing between slides without changing layout */
.testimonial-card-wrapper {
  padding: 0 clamp(8px, 1.6vw, 16px) !important;
  box-sizing: border-box;
}

/* Keep the slider list tidy while centerMode handles the peek on mobile */
@media (max-width: 768px) {
  .testimonial-slider .slick-list {
    overflow: hidden !important; /* default, ensures peek is inside the list */
  }
}

/* Make avatar and text scale well */
.testimonial-image {
  width: clamp(56px, 6vw, 80px);
  height: clamp(56px, 6vw, 80px);
}

.testimonial-name {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.125rem);
  margin-bottom: clamp(6px, 0.8vw, 10px);
}

.testimonial-text {
  font-size: clamp(0.9rem, 0.85rem + 0.2vw, 1rem);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

/* Optional: tighten card padding a bit on very small phones */
@media (max-width: 480px) {
  .testimonial-card {
    padding: clamp(12px, 3.5vw, 18px) !important;
  }
  .heading-underline{
        display: inline-block;
    position: relative;
    margin-left: 458px;
  }
}




/* ===== Blog slider text overflow fix (extreme zoom-out safe) ===== */

/* Keep content width sane and remove hard vh-based scaling */
.slider .list .item .content {
  width: min(1140px, 90vw) !important;
  max-width: 90vw !important;
  padding-right: clamp(12px, 5vw, 28%) !important;
  overflow: hidden !important;        /* hide any accidental spill */
  line-height: 1.35 !important;
  font-size: initial !important;       /* neutralize inherited 4vh */
}

/* Replace 4vh sizing with clamp for base/type */
.slider .list .item .content .type {
  font-size: clamp(14px, 1.1vw, 20px) !important;
  line-height: 1.25 !important;
  height: auto !important;            /* cancel fixed 60px */
  margin: 0 0 6px 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  hyphens: auto !important;
}

/* The slide title (e.g., "Annual") – scale + wrap + clamp lines */
.slider .list .item .content .title {
  margin-top: clamp(12px, 8vh, 120px) !important;  /* replace 200px */
  font-size: clamp(20px, 2.2vw, 40px) !important;
  line-height: 1.2 !important;
  max-width: 60ch !important;
  white-space: normal !important;
  text-wrap: balance;
  overflow-wrap: anywhere !important;
  word-break: break-word;
  hyphens: auto;
  display: -webkit-box;               /* clamp to 2 lines to avoid overlap */
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Optional: description text – keep it readable and inside bounds */
.slider .list .item .content .description {
  padding-right: 0 !important;        /* cancel 200px padding */
  max-width: 65ch !important;
  font-size: clamp(14px, 1vw, 18px) !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Keep the thumbnails and arrows from colliding with text on wide/zoomed-out screens */
@media (min-width: 1600px) {
  .thumbnail {
    bottom: 20px !important;
    right: 20px !important;
    left: auto !important;
    transform: none !important;
  }
  .nextPrevArrows {
    top: auto !important;
    bottom: 20px !important;
    right: 20px !important;
    transform: none !important;
    max-width: none !important;
  }
}

/* General tightening so slider internals don’t overflow in odd cases */
.slider .list .item .content > * {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Zoom-out only (CSS-only heuristic):
   - wide windows (>=1600px), OR
   - reduced pixel ratio (zoomed out) on >=1200px width
   Tweaks keep slider text from overflowing and avoid overlap with thumbnails/arrows.
*/
@media (min-width: 1600px),
       (max-resolution: 0.98dppx) and (min-width: 1200px),
       (max-resolution: 94dpi) and (min-width: 1200px) {

  /* Content container: cap width and cancel aggressive vh font inheritance */
  .slider .list .item .content {
    width: min(1140px, 90vw) !important;
    max-width: 90vw !important;
    padding-right: clamp(12px, 5vw, 28%) !important;
    overflow: hidden !important;
    line-height: 1.35 !important;
    font-size: initial !important; /* neutralize 4vh */
  }

  /* Category/type text */
  .slider .list .item .content .type {
    font-size: clamp(14px, 1.1vw, 20px) !important;
    line-height: 1.25 !important;
    height: auto !important;
    margin: 0 0 6px 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
  }

  /* Main title (e.g., "Annual") */
  .slider .list .item .content .title {
    margin-top: clamp(12px, 8vh, 120px) !important; /* replaces big fixed 200px */
    font-size: clamp(20px, 2.2vw, 40px) !important;
    line-height: 1.2 !important;
    max-width: 60ch !important;
    white-space: normal !important;
    text-wrap: balance;
    overflow-wrap: anywhere !important;
    word-break: break-word;
    hyphens: auto;
    display: -webkit-box;               /* clamp to 2 lines to avoid overlap */
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  /* Optional: slide description */
  .slider .list .item .content .description {
    padding-right: 0 !important;        /* cancel large padding that crowds text */
    max-width: 65ch !important;
    font-size: clamp(14px, 1vw, 18px) !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Keep thumbnails/arrows clear of text on wide/zoomed-out views */
  .thumbnail {
    bottom: 20px !important;
    right: 20px !important;
    left: auto !important;
    transform: none !important;
  }
  .nextPrevArrows {
    top: auto !important;
    bottom: 20px !important;
    right: 20px !important;
    transform: none !important;
    max-width: none !important;
  }

  /* Safety: ensure children don’t overflow the content block */
  .slider .list .item .content > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}





/* Desktop: align text bottom-left, arrows bottom-left/right */
@media (min-width: 1024px) {
  /* Ensure slider is the positioning context */
  .slider { position: relative; }

  /* Text block to bottom-left (leave room for arrows) */
  .slider .list .item .content {
    position: absolute !important;
    left: 24px !important;
    bottom: 185px !important;   /* 40px arrow + spacing */
    top: auto !important;
    transform: none !important;
    max-width: min(60ch, 50vw) !important;
    padding-right: 0 !important;
    text-align: left !important;
    z-index: 2;                /* above image, below arrows */
  }

  /* Neutralize big top offset on title so it sits at bottom-left */
  .slider .list .item .content .title {
    margin-top: 0 !important;
  }

  /* Put the arrows on the bottom edges */
  .nextPrevArrows {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 16px !important;
    top: auto !important;
    width: 100% !important;
    transform: none !important;
    display: flex end !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 0 16px !important;
    gap: 0 !important;
    max-width: none !important;
    z-index: 3 !important;
    pointer-events: none; /* container ignores clicks */
  }
  .nextPrevArrows button {
    pointer-events: auto; /* buttons stay clickable */
  }

  /* Keep thumbnails above arrows but out of the text area */
  .thumbnail {
    position: absolute !important;
    right: 16px !important;
    bottom: 80px !important;   /* above arrows */
    left: auto !important;
    transform: none !important;
    z-index: 2 !important;
  }
}


/* Center social icons on mobile landscape (footer + header groups) */
@media (max-width: 920px) and (orientation: landscape),
       (max-height: 420px) and (orientation: landscape) {
  /* container spans full row and centers content */
  .social-media,
  .social-mediah {
    width: 100%;
    display: flex;
    justify-content: center !important;
  }
  .heading-underline {
        display: inline-block;
    position: relative;
    margin-left: 450px;
  }
  .founder-underline{
    display: inline-block;
    position: relative;
    margin-left: 230px !important;
  }
  .title{
    margin-left: 60px;
    margin-top: 80px;
  }
 

  /* center the icon row(s); keep wrapping if needed */
  .social-media ul,
  .social-mediah ul {
    width: 100%;
    display: flex;
    justify-content: center !important;
    align-items: center;
    align-content: center; /* centers multiple wrapped rows */
    gap: clamp(6px, 2vw, 12px);
    margin: 0 auto !important;
    padding: 0;
  }

  .social-media li,
  .social-mediah li {
    margin: 0 !important;
  }

  /* optional: a bit of breathing room in tight landscape heights */
  .main-footer .social-media { margin-top: clamp(8px, 1.5vh, 14px); }
}
@media (max-width: 767px) {
  .hide-on-mobile { display: none !important; }
}




.partners-section {
  padding: 20px 0;
  background: transparent !important;
  text-align: center;
  overflow: hidden;
}
.partner-card{
  border: 1px solid rgba(171, 167, 167, 0.83);
}
.section-header {
  margin-bottom: 20px;
  background: transparent !important;
}

.section-header h2 {
  font-size: 2rem;
  color: #000000;
  margin: 0;
  background: transparent !important;
  padding: 0;
}

.section-header p {
  font-size: 1.1rem;
  max-width: 100vh;
  margin: 0 auto;
}

/* Base grid */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
}

/* Tablet only (keeps your horizontal scroller) */
@media (min-width: 768px) and (max-width: 1024px) {
  .partners-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 15px 10px;
    width: 100%;
    scrollbar-width: none; /* Firefox */
    gap: 1px;
  }

  .partners-grid::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Chrome/Safari */
  }

  .partners-grid > a {
    flex: 0 0 auto;
    min-width: 220px;
    max-width: 260px;
    margin-right: 10px;
    scroll-snap-align: start;
    padding: 12px;
    box-sizing: border-box;
  }
}

/* Mobile: exactly 2 cards per row */
@media (max-width: 767px) {
  .partners-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px;
    overflow: visible;
  }
  
  .partners-grid > a {
    width: 100%;
    min-width: 0 !important; /* ensure two fit on very small screens */
    max-width: none !important;
    padding: 12px;
    box-sizing: border-box;
  }

  .partners-grid h3 { font-size: 1rem; margin: 8px 0 4px; }
  .partners-grid p  { font-size: 0.85rem; margin: 0; }

  .partner-logo { height: 50px !important; }
  .partner-logo img { max-height: 40px !important; width: auto !important; }

  .section-header h2 { font-size: 1.5rem; }
}



/* 1) Social icons: force a single row (scrolls horizontally on small screens) */
.social-media ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  overflow-x: none;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.social-media ul::-webkit-scrollbar { display: none; }
.social-media li { flex: 0 0 auto; }

/* 2) Make the section titles a bit larger (Quick/Popular) */
.footer-quick h2,
.footer-popular h2 {
  font-size: 1.25rem; /* tweak to taste */
  line-height: 1.2;
}

/* 3) Lower the font size of the lists under Quick/Popular */
.footer-quick > div > ul a,
.footer-popular > div > ul a {
  font-size: 0.95rem; /* slightly smaller than default */
}

/* Keep Quick/Popular lists single-column on mobile, leave social icons alone */
@media (max-width: 767px) {
  .footer-quick > div > ul,
  .footer-popular > div > ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0 0 0 20px;  /* Added left padding for bullet points */
    margin: 0 0 0 10px;   /* Added left margin for better spacing */
    list-style: disc;     /* Changed from none to disc for bullet points */
  }

  .footer-quick > div > ul a,
  .footer-popular > div > ul a {
    font-size: 0.9rem; /* a bit smaller on phones */
  }
}
/* Center social icons on landscape (mobile) */
@media (max-width: 767px) and (orientation: landscape) {
  .social-media { width: 100%; }
  .social-media ul {
    justify-content: center !important;
    margin-left: 100px !important; /* center the icons */
  }
}

@media(min-width:600px) and (max-width:1209px){
.heading-underline1{
  margin-left: 200px;
}
.heading-underline1::after {
  content: '';
  display: block;
  margin: 0 auto;
  margin-left: 210px;
  margin-top: 8px;
  width: 22%;
  height: 5px;
  background: #a7402d;
  border-radius: 3px;
}

  .slider .list .item .content{
    margin-left: 70px !important;
  }
  .founder-underline{
    margin-left: 260px !important;
    white-space: nowrap;
  }
  .heading-underline{
    margin-left: 465px;
    white-space: nowrap;
  }
}



.about-title {
  margin-left: -450px; /* only if you truly need this for larger screens */
}
/* Center the headline between 501px and 601px */
@media (min-width: 483px) and (max-width: 601px) {
  .landing-page-about-heading {
    display: flex;
    justify-content: center;
  }
  .landing-page-about-heading h1 {
    margin-left: -496px !important;
    text-align: center;
  }
}

.executives-img {
  display: flex;
  justify-content: center;
}

.ceo-img {
  display: block;
  width: 60%;
  max-width: 100%;
  height: auto;
  border-radius: 20px;
  border: 1px solid rgb(82, 81, 81);
}

/* Fix shrinking between 769px and 983px */
@media (min-width: 769px) and (max-width: 983px) {
  .ceo-img {
    /* Make it bigger but bounded */
    width: clamp(360px, 45vw, 520px);
  }
}

/* If your parent (.executives) is flex and the img still shrinks,
   give the img container some space */
@media (min-width: 769px) and (max-width: 1300px) {
  .executives {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
  }
  .executives-img { flex: 0 0 50%; margin-left: 200px; } /* half width for the image column */
  .executives-art { flex: 1 1 50%; }
}
@media (min-width: 200px) and (max-width: 770px) {
  .executives-img { flex: 0 0 50%; margin-left: 200px; } /* half width for the image column */
}



/* Default: left (desktop and below) */
.founder-title {
  color: #A7402D;
  text-align: left;
  margin: 0;
}

/* 380–769px: center */
@media (min-width: 200px) and (max-width: 770px) {
  .founder-title {
    text-align: center;
    white-space: nowrap;
    margin-left: -1px ;
    overflow-x: hidden;
  }
}
@media(min-width:771px) and (max-width:1300px){
  .founder-title {
    text-align: left;
    white-space: nowrap;
    margin-left: -1px !important;
    overflow-x: hidden;
  }
}
  




/* --- FIX 1: Keep hamburger menu CLOSED by default (≤1147px), only open on .active --- */
@media (max-width: 1147px) {
  /* Close by default and anchor panel under the hamburger (top-right) */
  .nav-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 16px !important;
    left: auto !important;

    width: min(92vw, 320px) !important;
    max-height: calc(100dvh - var(--nav-height, 80px) - 24px) !important;
    overflow-y: auto !important;

    transform: none !important;   /* cancel slide/translate rules */
    margin: 0 !important;         /* cancel stray margins (e.g., 550px) */
  }
  .nav-menu.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    flex-direction: column !important;
  }

  /* Use mobile submenus only; hide desktop dropdowns on touch */
  .dropdown-menu2,
  .dropdown-menu3 {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Prevent long labels from forcing horizontal overflow */
  .nav-menu a,
  .dropdown-toggle {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* Ensure items stack vertically inside the panel */
  .nav-menu ul {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* --- FIX 2: Dropdown menus stack vertically and wrap (all sizes) --- */
.dropdown-menu2 ul,
.dropdown-menu3 ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 4px 0 !important;
}
.dropdown-menu2 li,
.dropdown-menu3 li { display: block !important; }

.dropdown-menu2 a,
.dropdown-menu3 a {
  white-space: normal !important;    /* allow wrapping */
  overflow-wrap: anywhere !important; /* break long words */
  word-break: break-word !important;
  line-height: 1.35 !important;
}

/* Keep dropdown widths reasonable and scroll if tall */
.dropdown-menu2,
.dropdown-menu3 {
  min-width: 220px !important;
  max-width: min(90vw, 320px) !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
}



.scroll-edge-toggle {
  position: fixed;
  right: clamp(12px, 2vw, 20px);
  bottom: max(12px, env(safe-area-inset-bottom));
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #A7402D;
  color: #fff;
  font-size: 20px;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 3000; /* above your sticky nav (z=1000) */
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.scroll-edge-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.22);
  background: #b95341;
}
@media (prefers-reduced-motion: reduce) {
  .scroll-edge-toggle { transition: none; }
}

/* Center social icons on mobile (header + footer) */
@media (max-width: 767px) {
  /* containers centered */
  .social-media,
  .social-mediah,
  .header-social {
    width: 100%;
    display: flex;
    justify-content: center !important;
     margin-left: 25px !important;
  }

  /* the icon rows centered */
  .social-media ul,
  .social-mediah ul {
    width: 100%;
    display: flex;
    justify-content: center !important;
    align-items: center;
    align-content: center;
    gap: clamp(6px, 2vw, 12px);
    margin: 0 auto !important; 
     /* cancel any previous offsets */
    padding: 0;
  }

  /* cancel legacy offsets that push the row left/right */
  .social-media ul { margin-left: -32px !important; }
}

/* Also cancel the landscape offset that was pushing icons off-center */
@media (max-width: 767px) and (orientation: landscape) {
  .social-media ul { margin-left: 78px !important; }
}



/* Map click-through to Google Maps */
.footer-map-wrap {
  position: relative;
  display: inline-block;   /* shrink to iframe size */
  line-height: 0;          /* remove inline-gap */
  border-radius: 8px;
  overflow: hidden;        /* rounded corners on the map */
}

.footer-map-wrap iframe {
  display: block;
  width: 230px;            /* match your iframe width */
  height: 160px;           /* match your iframe height */
  border: 0;
  pointer-events: none;    /* ensure clicks go to the overlay link */
}

.footer-map-overlay {
  position: absolute;
  inset: 0;                /* cover the iframe fully */
  z-index: 2;
  display: block;
  cursor: pointer;
}
.footer-map-overlay:focus {
  outline: 3px solid #A7402D; /* visible focus ring for keyboard users */
  outline-offset: 2px;
}



body {
  margin: 0;
}

/* Base Navbar */
.main-nav {
  position: sticky;
  top: 0px;
  left: 0;
  right: 0;
  z-index: 1000;
  background: white; /* Add solid background */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); 
  height: 80px; /* Optional: add subtle shadow */
}
.full-nav {
  display: flex;
  align-items: center;
  justify-content: center; /* ✅ center content horizontally */
  gap: 40px;               /* spacing between logo, menu, button */
  height: 80px;
  padding: 0 20px;
  position: relative;
}
.nav-logo {
  margin-right: 80px;        /* ✅ push menu slightly away from logo */
}
/* Remove auto-margin pushing nav-button to edge */
.nav-button {
  margin-left: 80px;
}

.dropdown {
  position: relative;
}

.dropdown-toggle {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
  user-select: none;
}

.dropdown-toggle .dropdown-arrow {
  transition: transform 0.2s ease;
}

.dropdown-toggle.active .dropdown-arrow {
  transform: rotate(180deg);
}

/* Desktop Dropdown Menu */
.dropdown {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.dropdown-menu2,
.dropdown-menu3 {
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  transform: translateX(-50%) translateY(5px);
  opacity: 0;
  visibility: hidden;
  background: white;
  min-width: 220px;
  border-radius: 6px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1001;
  border: 1px solid rgba(0,0,0,0.1);
  margin: 0;
  padding: 8px 0;
  list-style: none;
  pointer-events: none !important;
  transform-origin: top center;
}

/* Active state for desktop dropdowns */
.dropdown.active .dropdown-menu2,
.dropdown.active .dropdown-menu3 {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.dropdown-menu2 a,
.dropdown-menu3 a {
  display: block;
  padding: 10px 20px;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease;
}

.dropdown-menu2 a:hover,
.dropdown-menu3 a:hover {
  background-color: #f8f9fa;
  color: #1a73e8;
  padding-left: 25px;
}

.dropdown-menu2 li + li,
.dropdown-menu3 li + li {
  margin-top: 4px;
}

/* .dropdown:hover .dropdown-menu2,
.dropdown:hover .dropdown-menu3 {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
} */

.hamburger {
position: absolute;      /* stays fixed on screen */
  top: 28px;            /* adjust spacing from top */
  right: 20px;          /* always on the right edge */
  z-index: 2000;        /* high so it’s above nav menu/content */
  display: none;        /* hidden on desktop by default */
  cursor: pointer;
}

/* Desktop View */
@media (min-width: 1148px) {
  .hamburger {
    display: none; /* hide hamburger */
  }

  .nav-logo {
    margin-right: 40px;   /* push nav away from logo */
  }

  .nav-button {
    margin-left: 40px;    /* push button away from nav links */
  }
  .nav-menu {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    
    position: static;
    flex-direction: row;
    background: transparent;
    box-shadow: none;
    width: auto;
    padding: 0;
  }
  .nav-menu.active {
    display: flex !important; /* always visible inline on desktop */
  }
}

/* Mobile / Tablet ≤1147px */
@media (max-width: 1147px) {
  .full-nav {
    justify-content: space-between;  /* logo left, hamburger right */
    padding: 0 15px;                 /* tighter padding */
  }
  .hamburger {
    display: block;
    cursor: pointer;
  }
  .nav-button {
    position: absolute;
    right: 80px;   /* ✅ keeps space between button and hamburger */
    top: 18px;
    transform: scale(0.85); /* shrink button slightly for tablet */
  }
  .enquire_button {
    font-size: 0.85rem;   /* smaller text */
    padding: 6px 14px;    /* reduce padding */
    border-radius: 4px;
    margin-left: 400px;   /* slightly smaller radius */
  }
  .enquire_button p {
    margin: 0;   
            /* prevent text from creating extra space */
  }

  .nav-menu {
    position: fixed;
    top: 80px;
    left: 0;
    width: 250px;
    height: calc(100vh - 80px);
    background: #fff;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1);
    flex-direction: column;
    display: none;
    padding: 15px 0;
    z-index: 1500;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
  }

  .nav-menu.active {
    display: flex;
    opacity: 1;
    transform: translateX(0);
    margin: 0;
  }

  .nav-menu ul {
    flex-direction: column;
    margin: 0;
    padding: 0;
  }

  .nav-menu li {
    list-style: none;
  }

  .nav-menu a,
  .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    text-align: left;
    width: 100%;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;
  }
  
  .nav-menu a:hover,
  .dropdown-toggle:hover {
    background: #f8f8f8;
    color: #A7402D;
  }

  /* Mobile submenus expand inline */
  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    padding: 0 20px;
    transition: max-height 0.3s ease;
    background: #f9f9f9;
    margin: 8px -20px 0;
    border-radius: 0 0 8px 8px;
    list-style: none;
  }

  .mobile-submenu li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
  }

  .mobile-submenu li:last-child {
    border-bottom: none;
  }

  .mobile-submenu a {
    display: block;
    padding: 8px 0;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  .mobile-submenu a:hover {
    color: #A7402D;
    padding-left: 8px;
  }

  .mobile-submenu.active {
    max-height: 500px;
    padding: 8px 20px 16px;
    border-top: 1px solid #eee;
    transition: max-height 0.5s ease-in-out;
  }
}


/* Small devices */
@media (max-width: 761px) {
  .hamburger {
    display: block;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 2000;
    cursor: pointer;
  }

  .nav-menu {
    display: none;              /* hidden until active */
    position: absolute;
    /* top: calc(100% + 12px);     drop below navbar/hamburger */
    top: 80px;
    right: 0;
    width: 100%;  
    height: auto;              /* full width for phone usability */
    flex-direction: column;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-radius: 0;
    padding: 4px 0;
    z-index: 1500;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
  }

  .nav-menu.active {
    display: flex;              /* ✅ now shows */
    opacity: 1;
    transform: translateY(0);
  }

  .nav-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    flex-direction: column;
  }

  .nav-menu li {
    width: 100%;
  }

  .nav-menu a,
  .dropdown-toggle {
    display: block;
    padding: 6px 12px;
    text-align: left;
    width: 100%;
  }

  /* Override bad !important rules */
  .dropdown-menu2,
  .dropdown-menu3 {
         /* hidden on default */
    position: relative;     
    background: #fff;
    box-shadow: none;
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }

  .dropdown.active .dropdown-menu2,
  .dropdown.active .dropdown-menu3 {
    display: block;         /* ✅ show on click */
  }
}

@media (max-width: 1147px) and (min-width: 762px) {
  .nav-menu {
    position: absolute;
    top: 80px;              /* drop just below navbar */
    right: 15px;            /* align under hamburger */
    width: 220px;           /* compact width */
    height: auto;           /* auto size, not full screen */
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    flex-direction: column;
    display: none;
    padding: 6px 0;
    z-index: 1500;
    transition: all 0.25s ease;


    
  }

  .nav-menu.active {
    display: flex;
    margin-left: 550px;
  }

  .nav-menu a,
  .dropdown-toggle {
    padding: 8px 14px;     /* tighter spacing */
    font-size: 0.9rem;
  }
}




body {
  margin: 0;
}

/* Base Navbar */
.main-nav {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  height: 80px;
}
.full-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  height: 80px;
  padding: 0 20px;
  position: relative;
}
.nav-logo {
  margin-right: 80px;
}
.nav-button {
  margin-left: 80px;
}

/* Dropdown basics */
.dropdown {
  position: relative;
}
.dropdown-toggle {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  user-select: none;
}
.dropdown-toggle .dropdown-arrow {
  transition: transform 0.2s ease;
}
.dropdown-toggle.active .dropdown-arrow {
  transform: rotate(180deg);
}

/* Desktop dropdown menus */
.dropdown-menu2,
.dropdown-menu3 {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  visibility: hidden;
  background: white;
  min-width: 200px;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  z-index: 1001;
  border: 1px solid rgba(0,0,0,0.1);
  margin: 0;
  padding: 0;
  list-style: none;
}
.dropdown.active .dropdown-menu2,
.dropdown.active .dropdown-menu3 {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dropdown-menu2 a,
.dropdown-menu3 a {
  display: block;
  padding: 10px 20px;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease;
}
.dropdown-menu2 a:hover,
.dropdown-menu3 a:hover {
  background-color: #f8f9fa;
  color: #1a73e8;
  padding-left: 25px;
}

/* Hamburger (hidden by default) */
.hamburger {
  position: absolute;
  top: 28px;
  right: 20px;
  z-index: 2000;
  display: none; /* only shown ≤1147px */
  cursor: pointer;
}

/* ================== Desktop Only (≥1148px) ================== */
@media (min-width: 1148px) {
  .hamburger {
    display: none;
  }
  .nav-logo { margin-right: 40px; }
  .nav-button { margin-left: 40px; }

  .nav-menu {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    position: static;
    flex-direction: row;
    background: transparent;
    box-shadow: none;
    width: auto;
    padding: 0;
  }
  .nav-menu.active {
    display: flex !important;
  }
}

/* ================== Tablet & Mobile (≤1147px) ================== */
/* Collapsed/Tablet/Mobile + specific devices */
@media
  only screen and (max-width: 1147px),

  /* iPad Pro 12.9" (1024×1366) both orientations */
  only screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-min-device-pixel-ratio: 2),
  only screen and (device-width: 1366px) and (device-height: 1024px) and (-webkit-min-device-pixel-ratio: 2),

  /* iPad Pro 11" (834×1194) both orientations */
  only screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-min-device-pixel-ratio: 2),
  only screen and (device-width: 1194px) and (device-height: 834px) and (-webkit-min-device-pixel-ratio: 2),

  /* Nest Hub (1024×600) landscape */
  only screen and (width: 1024px) and (height: 600px) and (orientation: landscape),

  /* Nest Hub Max (1280×800) landscape */
  only screen and (width: 1280px) and (height: 800px) and (orientation: landscape)
{
  .full-nav {
    justify-content: space-between;
    padding: 0 15px;
  }
  .hamburger {
    display: block;
  }
  .nav-button {
    position: absolute;
    right: 80px;
    top: 18px;
    transform: scale(0.85);
  }
  .enquire_button {
    font-size: 0.85rem;
    padding: 6px 14px;
    border-radius: 4px;
  }

  /* Collapsed Nav Menu (slides in/out) */
  .nav-menu {
    position: relative;
    top: 240px;              /* just under navbar */
    right: 15px;             /* tuck under hamburger */
    width: auto;             /* shrink to fit items instead of fixed 250px/100% */
    min-width: 220px;        /* keep it readable */
    max-width: 320px;        /* avoid taking full tablet width */
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    flex-direction: column;
    display: none;
    padding: 6px 0;
    z-index: 1500;
    transition: all 0.25s ease;
  }
  .nav-menu.active {
    display: flex;
    margin: 0;
    transform: translateX(0);
  }
  .nav-menu ul {
    flex-direction: column;
    margin: 0;
    padding: 0;
  }
  .nav-menu li {
    list-style: none;
  }
  .nav-menu a,
  .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    text-align: left;
    width: 100%;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;

    padding: 8px 14px;
    font-size: 0.9rem;
    white-space: nowrap;
  }
  .nav-menu a:hover,
  .dropdown-toggle:hover {
    background: #f8f8f8;
    color: #A7402D;
  }

  /* Submenus expand inline on mobile */
  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: #f9f9f9;
    list-style: none;
  }
  .mobile-submenu li {
    padding: 8px 20px;
    border-bottom: 1px solid #eee;
  }
  .mobile-submenu li:last-child {
    border-bottom: none;
  }
  .mobile-submenu a {
    color: #333;
    text-decoration: none;
    display: block;
  }
  .mobile-submenu a:hover {
    color: #A7402D;
  }
  .mobile-submenu.active {
    max-height: 500px;
    padding: 8px 0;
    border-top: 1px solid #eee;
  }
}

/* ================== Phones ≤761px (full width dropdown) ================== */
@media (max-width: 761px) {
  .nav-menu {
    width: 100%;              /* full-width slide-down menu */
    left: 0;
    right: 0;
    height: auto;
    transform: translateY(-10px);
    transition: all 0.3s ease;
  }
  .nav-menu.active {
    transform: translateY(0);
  }
}
@media only screen 
  and (min-device-width: 1366px) 
  and (max-device-width: 1366px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 2) {
  
  .nav-menu {
    margin-top: 50px !important;  /* 👈 adjust as needed */
  }
  .nav-menu ul{
    margin-top: 80px;
  }
  .dropdown-menu2,
  .dropdown-menu3 {
   
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(0) !important;
  }
}


@media only screen and (hover: none) and (pointer: coarse) and
(-webkit-min-device-pixel-ratio: 2) and (device-width: 1024px) and (device-height: 1366px),
only screen and (hover: none) and (pointer: coarse) and
(-webkit-min-device-pixel-ratio: 2) and (device-width: 1366px) and (device-height: 1024px) {

  .full-nav { justify-content: space-between !important; padding: 0 15px !important; }
  .hamburger { display: block !important; }
  .nav-button { position: absolute !important; right: 80px !important; top: 18px !important; transform: scale(0.85) !important; }
  .enquire_button { font-size: 0.85rem !important; padding: 6px 14px !important; border-radius: 4px !important; }

  .nav-menu {
    position: relative !important; top: 140px !important; right: 15px !important;
    width: auto !important; min-width: 220px !important; max-width: 320px !important;
    background: #fff !important; border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    flex-direction: column !important; display: none !important;
    padding: 6px 0 !important; z-index: 1500 !important;
  }
  .nav-menu.active { display: flex !important; margin: 0 !important; transform: translateX(0) !important; }
  .nav-menu ul { flex-direction: column !important; margin: 0 !important; padding: 0 !important; }
  .nav-menu li { list-style: none !important; }
  .nav-menu a, .dropdown-toggle {
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    padding: 8px 14px !important; text-align: left !important;
    width: 100% !important; color: #333 !important; text-decoration: none !important;
    font-size: 0.9rem !important; white-space: nowrap !important;
  }

  /* Desktop-style dropdowns: add extra top offset for this device */
  .dropdown-menu2, .dropdown-menu3 {
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  .mobile-submenu { max-height: 0 !important; overflow: hidden !important; transition: max-height .3s ease !important; background: #f9f9f9 !important; }
  .mobile-submenu.active { max-height: 500px !important; padding: 8px 0 !important; border-top: 1px solid #eee !important; }
}

/* ===== iPad Pro 11" (834×1194) — both orientations ===== */
@media only screen and (hover: none) and (pointer: coarse) and
(-webkit-min-device-pixel-ratio: 2) and (device-width: 834px) and (device-height: 1194px),
only screen and (hover: none) and (pointer: coarse) and
(-webkit-min-device-pixel-ratio: 2) and (device-width: 1194px) and (device-height: 834px) {

  .full-nav { justify-content: space-between !important; padding: 0 15px !important; }
  .hamburger { display: block !important; }
  .nav-button { position: absolute !important; right: 80px !important; top: 18px !important; transform: scale(0.85) !important; }
  .enquire_button { font-size: 0.85rem !important; padding: 6px 14px !important; border-radius: 4px !important; }

  .nav-menu {
    position: relative !important; top: 140px !important; right: 15px !important;
    width: auto !important; min-width: 220px !important; max-width: 320px !important;
    background: #fff !important; border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    flex-direction: column !important; display: none !important;
    padding: 6px 0 !important; z-index: 1500 !important;
  }
  .nav-menu.active { display: flex !important; margin: 0 !important; transform: translateX(0) !important; }
  .nav-menu ul { flex-direction: column !important; margin: 0 !important; padding: 0 !important; }
  .nav-menu li { list-style: none !important; }
  .nav-menu a, .dropdown-toggle {
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    padding: 8px 14px !important; text-align: left !important;
    width: 100% !important; color: #333 !important; text-decoration: none !important;
    font-size: 0.9rem !important; white-space: nowrap !important;
  }

  .dropdown-menu2, .dropdown-menu3 {
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  .mobile-submenu { max-height: 0 !important; overflow: hidden !important; transition: max-height .3s ease !important; background: #f9f9f9 !important; }
  .mobile-submenu.active { max-height: 500px !important; padding: 8px 0 !important; border-top: 1px solid #eee !important; }
}

/* ===== Nest Hub (1024×600) — landscape ===== */
@media only screen and (width: 1024px) and (height: 600px) and (orientation: landscape) {
  .full-nav { justify-content: space-between !important; padding: 0 15px !important; }
  .hamburger { display: block !important; }
  .nav-button { position: absolute !important; right: 80px !important; top: 18px !important; transform: scale(0.85) !important; }
  .enquire_button { font-size: 0.85rem !important; padding: 6px 14px !important; border-radius: 4px !important; }

  .nav-menu {
    position: relative !important; top: 140px !important; right: 15px !important;
    width: auto !important; min-width: 220px !important; max-width: 320px !important;
    background: #fff !important; border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    flex-direction: column !important; display: none !important;
    padding: 6px 0 !important; z-index: 1500 !important;
  }
  .nav-menu.active { display: flex !important; margin: 0 !important; transform: translateX(0) !important; }
  .nav-menu a, .dropdown-toggle { padding: 8px 14px !important; font-size: .9rem !important; white-space: nowrap !important; }

  .dropdown-menu2, .dropdown-menu3 {
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
  }
}

/* ===== Nest Hub Max (1280×800) — landscape ===== */
@media only screen and (width: 1280px) and (height: 800px) and (orientation: landscape) {
  .full-nav { justify-content: space-between !important; padding: 0 15px !important; }
  .hamburger { display: block !important; }
  .nav-button { position: absolute !important; right: 80px !important; top: 18px !important; transform: scale(0.85) !important; }
  .enquire_button { font-size: 0.85rem !important; padding: 6px 14px !important; border-radius: 4px !important; }

  .nav-menu {
    position: relative !important; top: 130px !important; right: 15px !important;
    width: auto !important; min-width: 220px !important; max-width: 320px !important;
    background: #fff !important; border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    flex-direction: column !important; display: none !important;
    padding: 6px 0 !important; z-index: 1500 !important;
  }
  .nav-menu.active { display: flex !important; margin: 0 !important; transform: translateX(0) !important; }
  .nav-menu a, .dropdown-toggle { padding: 8px 14px !important; font-size: .9rem !important; white-space: nowrap !important; }

  .dropdown-menu2, .dropdown-menu3 {
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
  }
}



/* Always center dropdown under its toggle, no horizontal jump */
.dropdown { position: relative; }
.dropdown-menu2,
.dropdown-menu3 {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%, 8px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: transform .2s ease, opacity .2s ease, visibility 0s linear .2s !important;
  will-change: transform !important;
  margin-left: 0 !important;
}

/* Desktop/hover devices: show on hover only (click does nothing) */
@media (hover: hover) and (pointer: fine) {
  /* .dropdown:hover .dropdown-menu2,
  .dropdown:hover .dropdown-menu3 {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
    pointer-events: auto !important;
    transition: transform .2s ease, opacity .2s ease, visibility 0s linear 0s !important;
  } */

  /* Neutralize any .active state from JS on desktop */
  .dropdown.active .dropdown-menu2,
  .dropdown.active .dropdown-menu3 {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate(-50%, 8px) !important;
    pointer-events: none !important;
  }
}

/* Touch devices: keep click-to-open via .active */
@media (hover: none), (pointer: coarse) {
  .dropdown.active .dropdown-menu2,
  .dropdown.active .dropdown-menu3 {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
    pointer-events: auto !important;
    transition: transform .2s ease, opacity .2s ease, visibility 0s linear 0s !important;
  }
}

/* Phones: inline dropdowns (full-width inside panel) */
@media (max-width: 761px) {
  .dropdown-menu2,
  .dropdown-menu3 {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
}


.dropdown {
  position: relative !important; /* ✅ IMPORTANT — contains absolute dropdown */
}

.dropdown-toggle {
  cursor: pointer !important; /* ✅ IMPORTANT — visual feedback for clickability */
  display: flex !important;
  align-items: center;
  gap: 4px;
  user-select: none;
  position: relative;
  z-index: 2 !important; /* ✅ IMPORTANT — ensures toggle is above other elements */
}

.dropdown-toggle .dropdown-arrow {
  transition: transform 0.2s ease !important; /* ✅ IMPORTANT — enables smooth arrow rotation */
}

.dropdown.active .dropdown-toggle .dropdown-arrow {
  transform: rotate(180deg) !important; /* ✅ IMPORTANT — visual indicator for open state */
}


/* === DESKTOP DROPDOWNS (≥1148px) === */
@media (min-width: 1148px) {
  .dropdown-menu2,
  .dropdown-menu3 {
    position: absolute !important; /* ✅ IMPORTANT — positions menu relative to .dropdown */
    top: calc(100% + 8px) !important; /* ✅ IMPORTANT — small gap below toggle */
    left: 50% !important; /* ✅ IMPORTANT — centers under parent */
    transform: translateX(-50%) translateY(8px) !important; /* ✅ IMPORTANT — keeps centered + slide-down effect */
    min-width: 220px !important;

    opacity: 0 !important; /* ✅ IMPORTANT — hides menu visually */
    visibility: hidden !important; /* ✅ IMPORTANT — prevents interaction & improves accessibility */
    pointer-events: none !important; /* ✅ IMPORTANT — blocks clicks when closed */
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; /* ✅ IMPORTANT — smooth fade+slide */

    background: white !important;
    border-radius: 6px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0,0,0,0.1);
    list-style: none;
    margin: 0;
    padding: 8px 0;
    z-index: 1001; /* ✅ IMPORTANT — appears above other content */
  }

  .dropdown.active .dropdown-menu2,
  .dropdown.active .dropdown-menu3 {
    opacity: 1 !important; /* ✅ IMPORTANT — makes visible on click */
    visibility: visible !important; /* ✅ IMPORTANT — allows interaction */
    transform: translateX(-50%) translateY(0) !important; /* ✅ IMPORTANT — final position */
    pointer-events: auto !important; /* ✅ IMPORTANT — enables clicking links inside */
  }

  .dropdown-menu2 a,
  .dropdown-menu3 a {
    display: block !important;
    padding: 10px 20px !important;
    color: #333 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
  }

  .dropdown-menu2 a:hover,
  .dropdown-menu3 a:hover {
    background-color: #f8f9fa !important;
    color: #A7402D !important;
    padding-left: 25px !important;
  }

  .dropdown-menu2 li + li,
  .dropdown-menu3 li + li {
    margin-top: 4px !important;
  }
}



:root { --nav-height: 80px; }

/* Mobile/Tablet: right-aligned dropdown under the hamburger, with X on open */
@media (max-width: 1147px) {
  /* Anchor absolute menu to the bar */
  .full-nav { position: relative !important; }

  /* Hamburger: keep it top-right and turn into an X with pure CSS */
  .hamburger {
    display: block !important;
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 2000 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }
  /* Hide the React SVG icon and draw our own via CSS */
  .hamburger svg { display: none !important; }
  .hamburger::before {
    content: "\2630"; /* ☰ */
    display: block;
    font-size: 2rem;
    color: #A7402D;
  }
  /* When the menu is open, show X */
  .nav-menu.active ~ .hamburger::before {
    content: "\2715"; /* ✕ */
  }

  /* Right-aligned dropdown panel under the hamburger */
  .nav-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;  /* just below the navbar */
    right: 16px !important;            /* align with hamburger */
    left: auto !important;

    width: min(92vw, 320px) !important;  /* compact panel */
    height: auto !important;
    max-height: calc(100dvh - var(--nav-height) - 24px) !important; /* scroll within */
    overflow-y: auto !important;

    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important;

    display: none !important;    /* hidden until active */
    transform: none !important;  /* prevent upward jumps */
    margin: 0 !important;
    padding: 6px 0 !important;
    z-index: 1500 !important;
    opacity: 1 !important;
  }
  .nav-menu.active {
    display: flex !important;
    flex-direction: column !important;
    margin-left: 0 !important; /* cancel previous offsets */
  }

  /* Ensure only mobile submenus are used in this mode */
  .dropdown-menu2,
  .dropdown-menu3 { display: none !important; }

  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    background: #f9f9f9;
    list-style: none;
    padding: 0 20px;
    margin: 6px 0 0;
    border-top: 1px solid #eee;
  }
  .mobile-submenu.active {
    max-height: 500px;
    padding: 8px 20px 16px;
  }
}

/* Phones ≤761px: keep the same right-aligned dropdown (override older rules) */
@media (max-width: 761px) {
  .nav-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 16px !important;
    left: auto !important;
    width: min(92vw, 320px) !important;
    transform: none !important;   /* no translateY */
  }
  .nav-menu.active { margin-left: 0 !important; }
}







@media screen and (min-width: 1800px) {
  .dropdown-menu2,
  .dropdown-menu3 {
    max-width: 18rem;       /* limit dropdown width */
    min-width: 12rem;       /* keep a decent minimum */
    background: #fff;       /* ensure background matches nav design */
    border: 1px solid #ddd; /* subtle separation */
    border-radius: 4px;     /* smooth corners for polish */
    box-shadow: 0 2px 6px rgba(0,0,0,0.08); /* prevent “flat” stretched look */
  }

  .dropdown-menu2 ul,
  .dropdown-menu3 ul {
    display: flex;
    flex-direction: column;   /* stack vertically */
    align-items: flex-start;  /* align links neatly to the left */
    padding: 0.5rem 0.75rem;
  }

  .dropdown-menu2 ul li,
  .dropdown-menu3 ul li {
    width: 100%;              /* each link takes full dropdown width */
    margin: 0.25rem 0;
  }

  .dropdown-menu2 ul li a,
  .dropdown-menu3 ul li a {
    white-space: normal;       /* allow wrapping at high zoom-out */
    font-size: 0.95rem;        /* slightly smaller font */
    line-height: 1.4;          /* readable vertical rhythm */
  }
}
@media screen and (max-width: 320px) {
  .dropdown-menu2 ul,
  .dropdown-menu3 ul {
    display: flex;
    flex-direction: column; /* force stack early on extra-narrow screens */
  }
}



/* === Animated Hamburger === */
.burger {
  position: relative;
  width: 28px;     /* ✅ smaller (was 40px) */
  height: 22px;    /* ✅ smaller height (was 30px) */
  background: transparent;
  cursor: pointer;
  display: none;   /* ✅ hide by default (desktop) */
  z-index: 9999;
}

.burger input {
  display: none;
}

.burger span {
  display: block;
  position: absolute;
  height: 3px;     /* thinner line (was 4px) */
  width: 100%;
  background: #A7402D;  /* brand color */
  border-radius: 4px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
}

.burger span:nth-of-type(1) {
  top: 0px;
  transform-origin: left center;
}

.burger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  transform-origin: left center;
}

.burger span:nth-of-type(3) {
  top: 100%;
  transform-origin: left center;
  transform: translateY(-100%);
}

/* === When menu is active (cross animation) === */
.burger input:checked ~ span:nth-of-type(1) {
  transform: rotate(45deg);
  top: 0px;
  left: 4px;
}

.burger input:checked ~ span:nth-of-type(2) {
  width: 0%;
  opacity: 0;
}

.burger input:checked ~ span:nth-of-type(3) {
  transform: rotate(-45deg);
  top: 20px;
  left: 4px;
}

/* ✅ Show only on mobile and tablets */
@media (max-width: 1300px) {
  .burger {
    display: block;
    margin-left: auto;  
  }
  .nav-menu {
    display: none;             /* Hide menu by default (closed) */
    position: absolute;
    top: 70px;                 /* Opens BELOW hamburger */
    left: 700px;
    width: 100%;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 1rem 0;
    z-index: 999;
  }

  /* When active (isOpen=true) → menu slides down */
  .nav-menu.active {
    display: flex;
    animation: dropdownFade 0.3s ease-in-out;
  }
}

/* Smooth dropdown animation */
@keyframes dropdownFade {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }

}



/* Tablet-only: stack nav items vertically and reveal one-by-one (no side-by-side columns) */
@media (min-width: 768px) and (max-width: 1147px) {
  .nav-menu.active ul {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    column-gap: 0 !important;
    row-gap: 6px !important;
    align-items: stretch !important;
  }

  .nav-menu.active ul > li {
    width: 100% !important;
    opacity: 0;
    transform: translateY(8px);
    animation: nav-stagger 0.35s ease forwards;
  }

  /* Staggered reveal */
  .nav-menu.active ul > li:nth-child(1)  { animation-delay: 0ms; }
  .nav-menu.active ul > li:nth-child(2)  { animation-delay: 60ms; }
  .nav-menu.active ul > li:nth-child(3)  { animation-delay: 120ms; }
  .nav-menu.active ul > li:nth-child(4)  { animation-delay: 180ms; }
  .nav-menu.active ul > li:nth-child(5)  { animation-delay: 240ms; }
  .nav-menu.active ul > li:nth-child(6)  { animation-delay: 300ms; }
  .nav-menu.active ul > li:nth-child(7)  { animation-delay: 360ms; }
  .nav-menu.active ul > li:nth-child(8)  { animation-delay: 420ms; }
  .nav-menu.active ul > li:nth-child(9)  { animation-delay: 480ms; }
  .nav-menu.active ul > li:nth-child(10) { animation-delay: 540ms; }
}

@keyframes nav-stagger {
  to { opacity: 1; transform: translateY(0); }
}

/* If any older tablet styles used columns, flatten them here */
@media (min-width: 768px) and (max-width: 1147px) {
  .nav-menu ul {
    grid-template-columns: 1fr !important;
  }
}


/* Nest Hub Max (1280×800) — stack nav items one per row */
@media only screen and (width: 1280px) and (height: 800px) and (orientation: landscape) {
  /* Anchor panel to the navbar so we can drop it right under the hamburger */
  .full-nav { position: relative !important; }

  /* Ensure the hamburger is top-right */
  .hamburger {
    display: block !important;
    position: absolute !important;
    top: 20px !important;
    right: 16px !important;
    z-index: 2000 !important;
  }

  /* Dropdown panel: right-aligned under the hamburger */
  .nav-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important; /* just below the bar */
    right: 16px !important;           /* align with hamburger */
    left: auto !important;

    width: min(92vw, 320px) !important;
    max-height: calc(100dvh - 80px - 24px) !important; /* scroll inside if long */
    overflow-y: auto !important;

    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important;

    display: none !important;          /* hidden until active */
    flex-direction: column !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    z-index: 2500 !important;
    transform: none !important;        /* prevent off-screen translate */
  }

  .nav-menu.active {
    display: flex !important;
  }

  /* Stack links one-by-one */
  .nav-menu ul {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nav-menu li { list-style: none !important; width: 100% !important; }

  .nav-menu a,
  .dropdown-toggle {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
    white-space: nowrap !important;
  }

  /* Hide desktop-style flyout menus in this mode */
  .dropdown-menu2,
  .dropdown-menu3 {
  
  }
}


/* Fix only for viewport 1150x717 */
@media screen and (width: 1150px) and (height: 717px) {
  /* Treat as desktop at this size */
  .burger { display: none !important; }

  .nav-menu {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    transform: none !important;
    display: flex !important;
    flex-direction: row !important;
  }

  .nav-menu ul {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Ensure mobile inline submenus don't interfere */
  .mobile-submenu { display: none !important; max-height: 0 !important; }

  /* Dropdowns: hidden by default */
  .dropdown-menu2,
  .dropdown-menu3 {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    min-width: 220px !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1) !important;
    padding: 8px 0 !important;
  }

  /* Stack dropdown items vertically (fixes “single line”) */
  .dropdown-menu2 ul,
  .dropdown-menu3 ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .dropdown-menu2 li,
  .dropdown-menu3 li {
    display: block !important;
    margin: 0 !important;
  }

  .dropdown-menu2 a,
  .dropdown-menu3 a {
    white-space: normal !important;
  }

  /* Show on hover or when JS toggles .active */
  .dropdown:hover .dropdown-menu2,
  .dropdown:hover .dropdown-menu3,
  .dropdown.active .dropdown-menu2,
  .dropdown.active .dropdown-menu3 {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
  }
}



/* 1) Use the burger you actually render; animate via .is-open */
.burger {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 28px;
  height: 22px;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: none; /* shown ≤1147px */
  z-index: 2000;
}
.burger span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  left: 0;
  background: #A7402D;
  border-radius: 4px;
  transition: .25s ease-in-out;
}
.burger span:nth-of-type(1) { top: 0; transform-origin: left center; }
.burger span:nth-of-type(2) { top: 50%; transform: translateY(-50%); transform-origin: left center; }
.burger span:nth-of-type(3) { top: 100%; transform: translateY(-100%); transform-origin: left center; }
.burger.is-open span:nth-of-type(1) { transform: rotate(45deg); top: 0; left: 4px; }
.burger.is-open span:nth-of-type(2) { width: 0; opacity: 0; }
.burger.is-open span:nth-of-type(3) { transform: rotate(-45deg); top: 20px; left: 4px; }

/* 2) Desktop vs mobile visibility for menu */
@media (min-width: 1148px) {
  .burger { display: none !important; }
  .nav-menu {
    display: flex !important;
    position: static !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Only the top-level UL is horizontal on desktop */
  .nav-menu > ul {
    display: flex !important;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 0;
  }
  .nav-menu > ul > li { list-style: none; }
}

/* 3) Mobile/tablet: menu is CLOSED by default; opens only when .active */
@media (max-width: 1147px) {
  .burger { display: block !important; }

  .nav-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 16px !important;
    left: auto !important;

    width: min(92vw, 320px) !important;
    max-height: calc(100dvh - 80px - 24px) !important;
    overflow-y: auto !important;

    display: none !important;     /* closed by default */
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important;
    padding: 6px 0 !important;
    margin: 0 !important;
  }
  .nav-menu.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    flex-direction: column !important;
  }

  /* Ensure mobile items stack and wrap nicely */
  .nav-menu ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nav-menu a,
  .dropdown-toggle {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* Hide desktop flyouts on mobile; use mobile-submenu instead */
  .dropdown-menu2,
  .dropdown-menu3 {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* 4) Desktop dropdowns: show when .dropdown has .active (click) */
.dropdown-menu2,
.dropdown-menu3 {
  min-width: 220px !important;
  max-width: min(90vw, 320px) !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
}

/* Make sure dropdown lists are vertical (fixes "single row" overflow) */
.dropdown-menu2 ul,
.dropdown-menu3 ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 6px 0 !important;
}
.dropdown-menu2 li,
.dropdown-menu3 li { display: block !important; }
.dropdown-menu2 a,
.dropdown-menu3 a {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.35 !important;
}

/* Let JS active state actually show the dropdown on desktop */
@media (hover: hover) and (pointer: fine) {
  .dropdown.active .dropdown-menu2,
  .dropdown.active .dropdown-menu3 {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
    pointer-events: auto !important;
  }
}


/* Force collapsed nav when JS adds html.nav-collapsed */
html.nav-collapsed .burger {
  display: block !important;
  position: absolute !important;
  top: 20px !important;
  right: 16px !important;
  z-index: 2000 !important;
}

/* Neutralize desktop inline menu and show panel */
@media (min-width: 1148px) {
  html.nav-collapsed .nav-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important; /* below the bar (.full-nav is relative) */
    right: 16px !important;
    left: auto !important;

    width: min(92vw, 320px) !important;
    max-height: calc(100dvh - 80px - 24px) !important;
    overflow-y: auto !important;

    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important;

    display: none !important;         /* closed by default */
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    flex-direction: column !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  html.nav-collapsed .nav-menu.active {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.nav-collapsed .nav-menu > ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide desktop flyouts in collapsed mode */
  html.nav-collapsed .dropdown-menu2,
  html.nav-collapsed .dropdown-menu3 {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Optional: keep Enquire button clear of burger when collapsed on desktop */
html.nav-collapsed .nav-button {
  position: absolute !important;
  right: 64px !important;
  top: 18px !important;
  transform: scale(0.95);
}




/* Normalize item order/alignment in the COLLAPSED menu (mobile/tablet and forced collapsed) */
@media (max-width: 1147px) {
  .nav-menu > ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nav-menu > ul > li { list-style: none !important; width: 100% !important; }

  /* All top-level anchors: left aligned */
  .nav-menu > ul > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;  /* left align text */
    text-align: left !important;
    width: 100% !important;
    padding: 12px 20px !important;
    margin: 0 !important;
  }

  /* Dropdown toggles: keep arrow to the right */
  .nav-menu > ul > li > .dropdown-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important; /* label left, arrow right */
    text-align: left !important;
    width: 100% !important;
    padding: 12px 20px !important;
    margin: 0 !important;
  }

  /* Remove any centering coming from other styles */
  .nav-menu a,
  .nav-menu .active-link {
    text-align: left !important;
    margin: 0 !important;
  }
}

/* Do the same when you force collapsed mode on desktop (html.nav-collapsed) */
html.nav-collapsed .nav-menu > ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.nav-collapsed .nav-menu > ul > li { list-style: none !important; width: 100% !important; }
html.nav-collapsed .nav-menu > ul > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  padding: 12px 20px !important;
  margin: 0 !important;
}
html.nav-collapsed .nav-menu > ul > li > .dropdown-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: left !important;
  width: 100% !important;
  padding: 12px 20px !important;
  margin: 0 !important;
}
html.nav-collapsed .nav-menu a,
html.nav-collapsed .nav-menu .active-link {
  text-align: left !important;
  margin: 0 !important;
}
/* Prevent global horizontal scroll */
html,body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  font-family: arial, sans-serif;
}
.main-com-pro-main-box {
  border: 1.5px solid #A7402D;
}

.main-com-pro-main-bg {
  background-image: 
    linear-gradient(to bottom, rgb(0, 0, 0), rgba(253, 252, 252, 0.6), rgb(253, 252, 252)), 
    url(/static/media/ems1.950de74b43ff1ad24a9a.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 35px 0 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ========== Desktop view (≥1200px): show grid ========== */
.main-com-pro-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 22px;                 /* same gap for rows and columns */
  align-items: start;  

  max-width: var(--content-max);  /* ✅ align with your white box */
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Video Box */
.main-com-pro-main-box {
  width: 100%;         /* ✅ fill the column cell */
  height: auto;
  margin: 0;           /* ✅ avoid extra spacing that pushes grid */
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.main-com-pro-main-box:hover {
  transform: translateY(-5px);
}

.main-com-pro-main-box video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px 12px 0 0;
}

/* Video label */
.main-com-pro-description {
  text-align: center;
  padding: 10px 0;
  font-size: clamp(10px, 2.5vw, 14px); 
  color: #333;
  white-space: nowrap;               
  overflow: hidden;                   
  text-overflow: ellipsis;           
}

/* Text Block */
.main-com-art {
  background: rgba(255, 255, 255, 1);
  border-radius: 12px;
  padding: 20px;
  text-align: justify;
  max-width: 1200px;
  width: 100%;
  margin-top: 2rem;
}

/* Hide scroll view by default */
.main-com-pro-scroll-wrapper,
.video-scroll-row {
  max-width: 100vw !important;   /* ✅ never bigger than screen */
  overflow-x: auto;
  box-sizing: border-box;
}

/* ========== Tablet view (768px–1199px): 6 videos in swipe ========== */
@media screen and (max-width: 1199px) {
  .main-com-pro-main {
    display: none;
  }

  .main-com-pro-scroll-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    padding: 1rem;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
  }

  .main-com-pro-scroll-wrapper::-webkit-scrollbar {
    display: none;
  }

  .main-com-pro-scroll-page {
    flex: 0 0 100%;
    min-width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 1rem;
    scroll-snap-align: start;
    box-sizing: border-box;
  }

  .main-com-art {
    padding: 10px;
    margin-top: 1rem;
  }
}

/* ========== Mobile view (<768px): 4 videos in swipe ========== */
@media screen and (max-width: 767px) {
  .main-com-pro-main {
    display: none;
  }

  .main-com-pro-scroll-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    padding: 1rem;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
  }

  .main-com-pro-scroll-wrapper::-webkit-scrollbar {
    display: none;
  }

  .main-com-pro-scroll-page {
    flex: 0 0 100%;
    min-width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 1rem;
    scroll-snap-align: start;
    box-sizing: border-box;
  }

  .main-com-art {
    padding: 10px;
    margin-top: 1rem;
  }
}



/* Match widths for white box and grid */
:root {
  /* Set this to the same width your white "Manufacturing" box uses */
  --content-max: 1240px;   /* adjust if your white box uses another max */
  --container-pad: 28px;
}

/* White box container (if not already set this way) */
.com-art-bg {
  max-width: var(--content-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
  box-sizing: border-box !important;
}

/* Grid wrappers use the same width as the white box */
.main-com-pro-main,
.main-com-pro-scroll-wrapper {
  max-width: var(--content-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: var(--container-pad) !important;
  box-sizing: border-box !important;
}

/* Desktop: show exactly 6 cards per row and make them a bit smaller */
@media (min-width: 1200px) {
  .main-com-pro-main {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* ✅ pure 6 equal columns */
    gap: 16px;
    align-items: start;
    justify-items: stretch;
  }

  /* Slightly reduce label size/spacing */
  .main-com-pro-description {
    font-size: 0.95rem !important;
    padding: 10px 12px 12px !important;
    min-height: 2.4em; /* keep 1–2 lines aligned */
  }
}

/* Card and media sizing (keeps rows even) */
.main-com-pro-main-box,
.main-com-pro-scroll-page > div {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}



/* Labels wrap neatly without overflow */
.main-com-pro-description {
  margin: 0;
  text-align: center;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
}



:root {
  --content-max: 1240px;   /* match your white box width */
  --container-pad: 28px;   /* side padding inside both boxes */
  --panel-radius: 16px;    /* same corner radius */
  --panel-alpha: 0.4;      /* 0.4 = 40% opacity */
}

/* Upper white box */
.com-art-bg {
  max-width: var(--content-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding: 18px var(--container-pad) 22px !important;
  box-sizing: border-box !important;
  border-radius: var(--panel-radius) !important;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(4px);
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

/* Semi‑transparent panel, same width + same rounded corners */
.cards-panel {
  max-width: var(--content-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  /* overlap up under the white box by the same radius so they look attached */
  margin-top: calc(-1 * var(--panel-radius)) !important;
  padding: calc(14px + var(--panel-radius)) var(--container-pad) 24px !important;
  box-sizing: border-box !important;

  background: rgba(255,255,255, var(--panel-alpha)) !important;
  backdrop-filter: blur(2px);
  border-radius: var(--panel-radius) !important; /* same rounding on all corners */
}

/* Optional: if you still see a thin seam, increase the overlap by 1–2px */
@supports (margin-top: -1px) {
  .cards-panel { margin-top: calc(-1 * var(--panel-radius) - 1px) !important; }
}

/* Desktop row heading stays inside the same-width panel */
.row-heading {
  font-weight: 600;
  font-size: 1.05rem;
  color: #111;
  margin: 6px 2px 10px;
}
@media (max-width: 1199px) {
  .row-heading { display: none; }
}

/* Grid inside the panel (6 per row on desktop, aligned to the same width) */
@media (min-width: 1200px) {
  .main-com-pro-main {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: start;
  }
}

/* Card/media styles (kept from earlier so rows stay even) */
.main-com-pro-main-box,
.main-com-pro-scroll-page > div {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
/* Video and image sizing inside cards */
.main-com-pro-main-box video,
.main-com-pro-main-box img,
.main-com-pro-scroll-page > div video,
.main-com-pro-scroll-page > div img {
  display: block;
  width: 100%;              /* ✅ scale to container width */
  max-width: 100%;          /* ✅ cannot overflow horizontally */
  aspect-ratio: 16 / 9;     /* ✅ consistent video box proportions */
  height: auto;             /* ✅ keeps aspect ratio */
  object-fit: cover;        /* ✅ fill box without distorting */
  background: #000;         /* ✅ black bars if content is not wide/tall enough */
  border-radius: 0;         /* rely on parent’s border-radius + overflow hidden */
}
.main-com-pro-description {
  margin: 0;
  padding: 10px 12px 12px;
  text-align: center;
  line-height: 1.3;
  min-height: 2.4em;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}




:root {
  --sticky-offset: 80px;   /* set to your navbar height if it’s fixed */
  --content-max: 1240px;
  --container-pad: 28px;
  --panel-radius: 16px;
  --panel-alpha: 0.4;
}

/* Ensure top box + panel alignment remains */
.com-art-bg,
.cards-panel {
  max-width: var(--content-max);
  width: 100%;
  margin-inline: auto;
  border-radius: var(--panel-radius);
}

/* Show headings on all devices */
.row-heading {
  display: block !important;
  font-weight: 600;
  color: #111;
  margin: 6px 2px 10px;
}

/* Desktop: keep 6 per row (your existing grid rules can stay) */
@media (min-width: 1200px) {
  .main-com-pro-main {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
  }
}

/* Mobile/Tablet */
@media (max-width: 1199px) {
  /* Keep the white box visible if it’s sticky */
  .com-art-bg {
    position: sticky;
    top: var(--sticky-offset);
    z-index: 40;
  }

  /* Make group headings stick under the white box while scrolling vertically */
  .row-heading.sticky {
    position: sticky;
    top: calc(var(--sticky-offset) + 8px);
    z-index: 35;
    background: rgba(255,255,255,0.7);
    border-radius: 8px;
    padding: 6px 10px;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
  }

  /* Horizontal paged scroller per group */
  .main-com-pro-scroll-wrapper {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 0;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .main-com-pro-scroll-wrapper::-webkit-scrollbar { display: none; }

  .main-com-pro-scroll-page {
    scroll-snap-align: start;
    display: grid;
    gap: 16px;
    /* Phones: 2 columns; Tablets: 3 columns */
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  @media (min-width: 768px) and (max-width: 1199px) {
    .main-com-pro-scroll-page {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}

/* Card/media consistency */
.main-com-pro-main-box {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
.main-com-pro-main-box video,
.main-com-pro-main-box img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain; /* ✅ all content visible */
  display: block;
  background: #000;
}
.main-com-pro-description {
  margin: 0;
  padding: 10px 12px 12px;
  text-align: center;
  line-height: 1.3;
  min-height: 2.4em;
}


/* ============ MOBILE UNIFORM CARD LAYOUT (fix last two videos) ============ */
@media (max-width: 767px) {
  /* Strict 2-column grid for every mobile page */
  .main-com-pro-scroll-page {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
    align-content: start !important;
  }

  /* Cancel any special spanning rules that make one card full-width */
  .mobile-grid > .main-com-pro-main-box:first-child,
  .main-com-pro-scroll-page > .main-com-pro-main-box:first-child,
  .main-com-pro-scroll-page > div:first-child {
    grid-column: auto !important;
  }

  /* Every card is identical height behavior */
  .main-com-pro-main-box,
  .main-com-pro-scroll-page > div {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
    height: 100% !important; /* allow equal vertical behavior */
  }

  /* Media: same aspect ratio so rows align perfectly */
  .main-com-pro-main-box video,
  .main-com-pro-main-box img,
  .main-com-pro-scroll-page > div video,
  .main-com-pro-scroll-page > div img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
    background: #000 !important;

    /* iOS Safari: ensure rounded corners clip video correctly */
    border-radius: 0 !important; /* container is clipping via overflow */
    -webkit-transform: translateZ(0);             /* paint fix */
    -webkit-mask-image: -webkit-radial-gradient(white, black); /* clip fix */
  }

  /* Labels: clamp to 2 lines for equal visual height across all cards */
  .main-com-pro-description {
    margin: 0 !important;
    padding: 10px 12px 12px !important;
    text-align: center !important;
    line-height: 1.3 !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;

    /* fallback equalization if clamp unsupported */
    min-height: 2.4em !important;
  }
}

/* ============ TABLET: keep cards consistent too (2–3 columns) ============ */
@media (min-width: 768px) and (max-width: 1199px) {
  .main-com-pro-scroll-page {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: start !important;
  }
  .main-com-pro-main-box,
  .main-com-pro-scroll-page > div {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
  }
  .main-com-pro-main-box video,
  .main-com-pro-main-box img,
  .main-com-pro-scroll-page > div video,
  .main-com-pro-scroll-page > div img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    background: #000 !important;
    -webkit-transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
  .main-com-pro-description {
    margin: 0 !important;
    padding: 10px 12px 12px !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 2.4em !important;
  }
}


@media (max-width: 767px) {
  /* Default: 2 columns on phones, with equal gap */
  .main-com-pro-scroll-page {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  align-content: start !important;
  }
  
  /* Pure CSS auto-detect: if the page has 1 or 2 items, use 1 column */
  .main-com-pro-scroll-page:has(> :first-child:last-child),
  .main-com-pro-scroll-page:has(> :nth-child(2):last-child) {
  grid-template-columns: 1fr !important;
  }
  
  /* Fallback for browsers without :has support (class added from JSX) */
  .main-com-pro-scroll-page.stack-1col {
  grid-template-columns: 1fr !important;
  }
  

  .main-com-pro-main-box {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
  }
  .main-com-pro-main-box video,
  .main-com-pro-main-box img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  background: #000 !important;
  -webkit-transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  }
  .main-com-pro-description {
  margin: 0 !important;
  padding: 10px 12px 12px !important;
  text-align: center !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.4em !important;
  }
  }







  /* New container background with alpha */
.video-section-container {
  background: rgba(255, 255, 255, 0.4); /* Alpha effect */
  
  padding: 1.5rem 1rem;
  margin-top: -1rem;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Section heading */
.video-section-heading {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  text-align: center;
}

/* Row heading (sticky for mobile scroll) */
.video-row-heading {
  font-size: 1.1rem;
  font-weight: 500;
 
  position: sticky;
  top: 0; 
 
  padding: 0.5rem 0;
  z-index: 2;
  text-align: center;
}

/* Extra space between Electronics and Fiber */
.main-com-pro-main + .video-row-heading {
  margin-top: 2rem; /* gap between rows */
}

/* Scroll wrapper improvements */
.main-com-pro-scroll-wrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem;
}

/* Maintain spacing & fluid scaling */
.main-com-pro-main-box {
  flex: 0 0 auto;
  width: 10rem !important; /* Responsive card width */
  margin: 0.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #fff;
  outline: none; /* Remove default outline */
}

/* Focus-visible for accessibility (keyboard users) */
.main-com-pro-main-box:focus-visible {
  outline: 3px solid #0078ff;
  outline-offset: 4px;
  border-radius: 0.5rem;
}

/* Video styling */


/* Description text */
.main-com-pro-description {
  font-size: 0.9rem;
  padding: 0.5rem;
  text-align: center;
  word-wrap: break-word;
}
  

/* Shared alpha container */
.video-section-container {
  background: rgba(255, 255, 255, 0.4);
  border-radius: 0.5rem;
  padding: 1.5rem 1rem;
 
  margin-left: auto;
  margin-right: auto;
}

/* Section headings (Electronics / Fiber) */
.video-row-heading {
  font-size: 1.25rem;
  font-weight: 600;

  text-align: left; /* Left aligned */
  position: sticky;
  top: 0;
 
  padding: 0.5rem 0.25rem;
  z-index: 3;
}

/* Extra spacing in mobile for readability */
@media (max-width: 768px) {
  .video-row-heading {
  margin-top: 1rem; /* more breathing space */
    padding: 0.75rem 0.5rem;
    font-size: 1.15rem;
  }
}

/* Card styles untouched except responsiveness */
.main-com-pro-main-box {
  flex: 0 0 auto;
  width: 12rem;
  margin: 0.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #fff;
  outline: none;
  cursor: pointer;
}

.main-com-pro-main-box:focus-visible {
  outline: 3px solid #0078ff;
  outline-offset: 4px;
  border-radius: 0.5rem;
}






.video-scroll-row {
  display: flex;
  flex-wrap: nowrap;           /* 🚀 Prevent wrapping into multiple rows */
  overflow-x: auto;            /* scroll horizontally */
  overflow-y: hidden;          /* prevent vertical scroll */
  gap: 0.75rem;
  padding: 0.5rem 0;
  scroll-snap-type: x mandatory; /* smooth snap per card */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;       /* Firefox hide scrollbar */
  max-width: 1200px;
  margin: 0 auto;
  width: calc(100% - 2rem); /* Account for container padding */
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

.video-scroll-row::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Edge hide scrollbar */
}

/* Cards */
.main-com-pro-main-box {
  flex: 0 0 auto;              /* 🚀 Keep each item fixed, don’t shrink */
  width: 12rem;
  scroll-snap-align: start;
  border-radius: 0.5rem;
  margin: 0.25rem;
  background: #fff;
  cursor: pointer;
}






/* Video and image sizing inside cards */
.main-com-pro-main-box video,
.main-com-pro-main-box img,
.main-com-pro-scroll-page > div video,
.main-com-pro-scroll-page > div img {
  display: block;
  width: 100%;              /* ✅ scale to container width */
  max-width: 100%;          /* ✅ cannot overflow horizontally */
  aspect-ratio: 16 / 9;     /* ✅ consistent video box proportions */
  height: auto;             /* ✅ keeps aspect ratio */
  object-fit: cover;        /* ✅ fill box without distorting */
  background: #000;         /* ✅ black bars if content is not wide/tall enough */
  border-radius: 0;         /* rely on parent’s border-radius + overflow hidden */
}


.video-row-heading {
  position: relative;
  margin-bottom: 2rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 500;
  color: #333;
  text-align: left;
  padding-left: 1rem;
  border-left: 4px solid #A7402D; /* Adjust color to match your brand */
}
.category-heading-text {
  position: relative;
}


/* ============================
   Executives/Founder's Message - Fully Responsive
   ============================ */

/* Design tokens */
:root {
  --accent: #A7402D;
  --bg1: #f8f9fa;
  --bg2: #e9ecef;
  --text-900: #2d3748;
  --text-700: #4a5568;
  --text-600: #718096;

  --radius-lg: 16px;
  --radius-sm: 8px;
  --shadow-lg: 0 15px 30px rgba(0, 0, 0, 0.15);
  --border: 1px solid rgba(82, 81, 81, 0.3);

  --section-px: clamp(1rem, 4vw, 2rem);
  --section-py: clamp(3rem, 8vw, 6rem);
  --container-max: 1200px;
  --grid-gap: clamp(1.5rem, 4vw, 4rem);
}

/* Section */
.founders-section {
  padding-block: var(--section-py);
  padding-inline: var(--section-px);
  /* Safe areas (iOS notches, etc.) */
  padding-left: calc(var(--section-px) + env(safe-area-inset-left));
  padding-right: calc(var(--section-px) + env(safe-area-inset-right));

  background: linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 100%);

  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

.founders-section.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Container */
.founders-container {
  max-width: min(var(--container-max), 100%);
  margin: 0 auto;

  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: var(--grid-gap);
  align-items: center;

  /* Enable container queries for finer control */
  container-type: inline-size;
  container-name: founders;
}

/* Image */
.founders-image-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  min-width: 0;
}

.image-frame {
  width: clamp(220px, 70%, 420px);
  max-width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: var(--border);
  position: relative;
  background-color: #fff;
  padding: clamp(8px, 1.2vw, 12px);
  /* Optional: keep a pleasant portrait ratio; image will cover */
  aspect-ratio: 3 / 4;
}

.image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-sm);
}

/* Content */
.founders-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.content-header {
  margin-bottom: clamp(1.25rem, 3vw, 2.5rem);
  position: relative;
}

.section-title {
  font-size: clamp(1.75rem, 3.5vw, 3rem);
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--text-900);
  position: relative;
  text-wrap: balance;
}

.title-highlight {
  color: var(--accent);
  position: relative;
  display: inline-block;
}

/* Make underline fluid and avoid overflow */
.title-highlight::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.4em;
  width: 100%; /* follows text width */
  height: 0.25rem;
  background-color: var(--accent);
  border-radius: 2px;
}

.message-content {
  position: relative;
  margin-bottom: clamp(1.25rem, 3vw, 2.5rem);
  padding: 0 clamp(0rem, 1vw, 1rem);
  font-size: clamp(0.95rem, 1.1vw, 1.125rem);
  line-height: 1.8;
  color: var(--text-700);
  text-align: justify;
  max-width: 70ch; /* keep line length readable on large screens */
  overflow-wrap: anywhere;
  hyphens: auto;
}

.quote-mark {
  position: absolute;
  top: clamp(-2rem, -6vw, -1rem);
  left: clamp(-1rem, -3vw, -0.5rem);
  font-family: 'Georgia', serif;
  font-size: clamp(3rem, 12vw, 6rem);
  line-height: 1;
  color: color-mix(in srgb, var(--accent) 15%, transparent);
  pointer-events: none;
  user-select: none;
}

.quote-mark.closing {
  top: auto;
  left: auto;
  right: clamp(2rem, -2.5vw, -0.5rem);
  bottom: clamp(-3rem, -8vw, -1.5rem);
}

.message-content p {
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.founder-signature {
  align-self: flex-end;
  text-align: right;
  padding-right: clamp(0rem, 2vw, 2rem);
  position: relative;
}

.founder-signature h3 {
  font-size: clamp(1.125rem, 1.6vw, 1.5rem);
  font-weight: 700;
  margin: 0;
  color: var(--text-900);
}

.founder-title {
  font-size: clamp(0.85rem, 1.05vw, 1rem);
  color: var(--text-600);
  font-weight: 500;
  
}

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

/* Container query: collapse to 1 column when container gets narrow */
@container founders (max-width: 900px) {
  .founders-container {
    grid-template-columns: 1fr;
  }
  .section-title {
    text-align: center !important;
  }
  .founders-image-container {
    justify-content: center;
  }
  .founder-signature {
    align-self: center;
    text-align: center;
    padding-right: 0;
  }
  .message-content {
    max-width: 75ch;
    margin-inline: auto;
  }
  .image-frame {
    width: clamp(240px, 70%, 520px);
  }
}

/* Standard breakpoint fallback (for browsers without container queries) */
@media screen and (max-width: 992px) {
  .founders-container {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 5vw, 3rem);
  }
  

  .section-title {
    text-align: center;
  }
  .founder-signature {
    align-self: center;
    text-align: center;
    padding-right: 0;
  }
  .founders-image-container {
    max-width: 600px;
    margin: 0 auto;
  }
  .image-frame {
    width: clamp(240px, 70%, 520px);
  }
}

/* Small tablets / large phones */
@media screen and (max-width: 768px) {
  .founders-section {
    padding-block: clamp(2.5rem, 8vw, 4rem);
  }
  .quote-mark {
    font-size: clamp(3rem, 14vw, 4.5rem);
  }
  .message-content {
    padding-inline: clamp(0rem, 2vw, 0.75rem);
  }
   .section-title {
    text-align: center !important;
  }
}

/* Phones */
@media screen and (max-width: 576px) {
  .founders-section {
    padding: clamp(2.5rem, 8vw, 4rem) clamp(1rem, 4vw, 1.5rem);
  }
  .quote-mark {
    top: clamp(-1.25rem, -5vw, -0.75rem);
    left: clamp(-0.75rem, -3vw, -0.5rem);
  }
  .quote-mark.closing {
    right: clamp(-0.5rem, -2vw, -0.25rem);
    bottom: clamp(-2.5rem, -8vw, -1rem);
    /* left: 39px;
    top: 406px; */
  }
  .image-frame {
    width: clamp(220px, 85%, 480px);
    padding: clamp(6px, 1vw, 8px);
  }
   .section-title .title-highlight {
    text-align: center !important;
    
  }
}
@media screen and (max-width: 770px) {
  .founders-section {
    padding: clamp(2.5rem, 8vw, 4rem) clamp(1rem, 4vw, 1.5rem);
  }
  .quote-mark {
    top: clamp(-1.25rem, -5vw, -0.75rem);
    left: clamp(-0.75rem, -3vw, -0.5rem);
  }
  .quote-mark.closing {
    right: clamp(-0.5rem, -2vw, -0.25rem);
    bottom: clamp(-2.5rem, -8vw, -1rem);
  }
  .image-frame {
    width: clamp(220px, 85%, 480px);
    padding: clamp(6px, 1vw, 8px);
  }
   .section-title .title-highlight {
    text-align: center !important;
    
  }
}

/* Phone landscape or very low-height screens */
@media screen and (orientation: landscape) and (max-height: 600px) {
  .founders-section {
    padding-block: clamp(1rem, 6vh, 2rem);
  }
  .message-content {
    font-size: clamp(0.9rem, 1.8vh, 1rem);
  }
  .image-frame {
    /* Limit image by height to avoid overflow in short viewports */
    width: min(45vh, 50%);
    aspect-ratio: 3 / 4;
  }
  .title-highlight{
    margin-left: 490px;
  }
  .founder-title{
    margin-left: -10px;
  }
}

/* =============== Extreme Zoom/Width Scenarios =============== */
/* Ultra-narrow (e.g., heavy zoom-in, small devices like 320px) */
@media screen and (max-width: 360px) {
  .title-highlight::after { height: 0.2rem; }
  .message-content { max-width: 60ch; }
  .quote-mark { display: none; } /* keep content clean if space is tight */
}

@media screen and (max-width: 320px) {
  .founders-section { padding-inline: 0.75rem; }
  .image-frame { width: 95%; }
  .section-title { font-size: clamp(1.5rem, 7vw, 1.75rem); }
}

/* Extra safety for ultra-tiny widths (watch, kiosk, extreme zoom) */
@media screen and (max-width: 280px) {
  .founders-section { padding-inline: 0.5rem; }
  .message-content { font-size: 0.9rem; }
}

/* Ultra-wide (e.g., heavy zoom-out on desktops, 2K/4K displays) */
@media screen and (min-width: 1440px) {
  .founders-container {
    max-width: clamp(1200px, 75vw, 1400px);
  }
}

@media screen and (min-width: 1920px) {
  .founders-container {
    max-width: clamp(1400px, 70vw, 1600px);
  }
  .section-title { font-size: clamp(2.25rem, 2vw, 3.25rem); }
  .message-content { font-size: clamp(1rem, 0.9vw, 1.25rem); }
}

@media screen and (min-width: 2560px) {
  .founders-container {
    max-width: clamp(1600px, 60vw, 1900px);
  }
  .image-frame { width: clamp(360px, 40%, 520px); }
}

/* High-DPI displays (optional fine-tuning) */
@media (min-resolution: 2dppx) {
  .image-frame { border: 1px solid rgba(82, 81, 81, 0.25); }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .founders-section {
    transition: none;
    transform: none;
    opacity: 1;
  }
}

@media screen and (orientation: landscape) and (max-width: 1024px) {
  .founders-section .section-title {
    white-space: nowrap !important;
    font-size: clamp(1.1rem, 4.2vw, 1.6rem); /* scale to avoid overflow */
  }
  .founder-title {
    display: inline-block;                 /* so margin-left takes effect */
    margin-left: clamp(8px, 1vw, 16px);    /* tweak to taste */
  }
  .founders-section .section-title .title-highlight { white-space: inherit; }
}


/* Fix: center Founder's Message on short landscape screens (covers all listed sizes) */
@media screen and (orientation: landscape) and (max-height: 620px) {
  .founders-section .founders-content {
    align-items: center !important;  /* center children horizontally */
  }

  .founders-section .section-title {
    text-align: center !important;
    margin: 0 auto !important;
  }

  .founders-section .section-title .title-highlight {
    display: inline-block !important;
    margin: 0 !important;            /* cancel previous margin-left pushes */
  }

  .founders-section .founder-title {
    text-align: center !important;
    margin-left: 0 !important;       /* cancel previous offset */
  }
}


/* Mobile + Tablet: center Founder name and title */
@media (max-width: 1024px) {
  .founder-signature {
    align-self: center !important;
    text-align: center !important;
    padding-right: 0 !important;
  }
  .founder-signature h3 {
    display: inline-block;           /* keep the name tight */
    margin: 0 auto 4px !important;   /* small gap above title */
  }
  .founder-title {
    display: block !important;
    text-align: center !important;
    margin: 0 auto !important;       /* cancel any left offsets */
    float: none !important;
  }
}

/* Cancel landscape offsets that push text off-center on small heights */
@media (orientation: landscape) and (max-width: 1024px) {
  .founder-title { margin-left: 0 !important; }
  .title-highlight { margin-left: 0 !important; }
}



 .import-wrapper {
    color: white;
    background: transparent !important;
  }
  
  /* Header Section */
  .import-header {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.747), rgba(163, 163, 163, 0)),
    url(/static/media/partnerimg.d5597186dd3cf32982ba.jpg);
    background-size: cover;
    background-position: center;
    padding: 100px 20px 60px;
    text-align: center;
  }
  
  .header-content h1 {
    font-size: 3rem;
    margin-bottom: 10px;
    font-weight: bold;
  }
  
  .header-content p {
    font-size: 1.2rem;
    color: #ffd;
  }
  
  /* Partners Section */
  .partners-section {
    background: transparent !important;
    padding: 60px 30px;
  }
  
  /* Grid Layout */
  .partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  /* Partner Card (Clickable Link) */
  .partner-card {
    background: #f9f9f9 !important;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 9px;
    text-align: center;
    color: #333;
    text-decoration: none;
    display: block;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
  }
  
  .partner-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  }
  
  .partner-card h3 {
    margin: 10px 0 5px;
    font-size: 1.1rem;
    font-weight: 600;
  }
  
  .partner-card p {
    font-size: 0.9rem;
    color: #555;
  }


  
  /* Logo Handling */
  .partner-logo {
    font-size: 2rem;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
  }
  
  .partner-logo img {
    max-width: 160px;
    max-height: 60px;
    object-fit: contain;
  }
  

  /* Mobile: exactly 2 cards per row */

:root {
  --t-bg: #ffffff;
  --t-surface: #ffffff;
  --t-border: #E6E8ED;
  --t-text: #0E1015;
  --t-muted: #5B6372;
  --t-accent: #A7402D;
  --t-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

/* ====== SECTION ====== */
.white-bg {
  background: var(--t-bg);
}

.t-section {
  padding: clamp(48px, 6vw, 96px) 24px;
  display: flex;
  justify-content: center;
}

.t-container {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  max-width: 1200px;
  width: 100%;
  align-items: flex-start;
}

/* ====== LEFT SIDE ====== */
.t-left {
  flex: 1 1 340px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.t-subtitle {
  color: var(--t-muted);
  text-transform: uppercase;
  font-size: 1rem;
  margin-bottom: 8px;
}

.t-heading {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  margin-bottom: 18px;
  color: var(--t-text);
}

.t-desc {
  max-width: 440px;
  color: var(--t-muted);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 28px;
}

.t-em {
  color: var(--t-accent);
  font-weight: 700;
}

.t-btn {
  padding: 12px 28px;
  border-radius: 8px;
  background: var(--t-accent);
  color: #fff;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: 0.25s ease;
}
.t-btn:hover {
  opacity: 0.9;
}

/* ====== RIGHT SIDE ====== */
.t-right {
  flex: 1.4 1 540px;
  height: 400px;
  overflow-y: auto;
  position: relative;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.t-right.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Animated content */
.t-scroll {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  animation: moveUp 25s linear infinite;
}

/* Animation paused on user interaction */
.paused .t-scroll {
  animation-play-state: paused;
}

/* Keyframes for continuous upward movement */
@keyframes moveUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}

/* ====== CARD ====== */
.t-card {
  background: var(--t-surface);
  border: 1px solid var(--t-border);
  border-radius: 14px;
  padding: 18px 16px;
  box-shadow: var(--t-shadow);
  color: var(--t-text);
}

.t-text {
  font-size: 0.95rem;
  color: var(--t-muted);
  margin-bottom: 16px;
  line-height: 1.45;
}

.t-user {
  display: flex;
  align-items: center;
  gap: 10px;
}

.t-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

.t-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--t-text);
}

/* ====== RESPONSIVE ====== */
@media (max-width: 1024px) {
  .t-container {
    flex-direction: column;
    align-items: center;
  }

  .t-left {
    text-align: center;
  }

  .t-right {
    width: 100%;
    height: 260px;
  }

  .t-scroll {
    grid-template-columns: repeat(2, 1fr);
  }
  /* Center and underline the TESTIMONIAL heading */
  .t-left { text-align: center; }

  .t-subtitle {
    position: relative;
    display: inline-block;        /* underline matches the text width */
    margin-inline: auto;          /* centers the heading */
    padding-bottom: clamp(6px, 1.6vw, 10px);
  }
  .t-subtitle::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: clamp(64px, 26vw, 140px);  /* responsive red bar */
    height: 6px;
    background: var(--t-accent);
    border-radius: 999px;
  }
}

@media (max-width: 640px) {
  .t-right {
    height: 240px;
  }
   .t-heading::after { width: clamp(64px, 28vw, 110px); height: 5px; }
}

/* Push the whole t-section down only at 912 × 1368 */
@media (width: 912px) and (height: 1368px) {
  .t-section {
    margin-top: 200px !important; /* adjust to 40–80px to taste */
  }
  .t-desc{
    margin-left: 160px;
  }
}

/* Center .t-desc at >= 1000px */
@media (min-width: 1024px) {
  .t-left .t-desc {
    text-align: left;

    
  }
}

/* Left-align .t-desc at < 1000px (overrides .t-left { text-align:center; }) */
@media (max-width: 1022px) {
  .t-left .t-desc {
    text-align: center !important;
    margin-left: auto;   /* centers the 440px block */
    margin-right: auto;
  }
}





/* Marquee viewport (fixed height window) */
.vmarquee {
  --vm-duration: 30s;
  position: relative;
  height: clamp(360px, 56vh, 680px); /* visible window for vertical scroll */
  overflow: hidden;
}

/* Track: two identical groups stacked vertically */
.vm-track {
  display: flex;
  flex-direction: column;
  will-change: transform;
  animation: vm-scroll var(--vm-duration) linear infinite;
}

/* Pause on hover/focus (optional) */
.vmarquee:hover .vm-track,
.vmarquee:focus-within .vm-track {
  animation-play-state: paused;
}

/* One group = one full set laid out as 2 columns */
.vm-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 24px;
  padding: 8px 4px; /* small breathing room at edges */
}

/* Card sizing to keep rows tidy */
.vm-card {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Card visuals (use your existing styles if you have them) */
.t-card {
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.t-text { margin: 0 0 16px; line-height: 1.6; color: #2d2d2d; }
.t-user { display: flex; align-items: center; gap: 12px; }
.t-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.t-name { margin: 0; font-weight: 600; }

/* Infinite vertical animation:
   Track has two identical groups stacked vertically.
   Moving by -50% equals exactly one group height → seamless loop. */
@keyframes vm-scroll {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, -50%, 0); }
}

/* Responsive: 1 column on small screens */
@media (max-width: 768px) {
  .vm-group {
    grid-template-columns: 1fr;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .vm-track { animation: none; }
}
/* ============================================
   EC Slider - Fully Responsive Enhancements
   ============================================ */

/* Design tokens */
:root {
  --ec-accent: #A7402D;
  --ec-bg: #f4f6f8;
  --ec-text-900: #222;
  --ec-text-700: #555;
  --ec-text-600: #666;

  --ec-radius-lg: 16px;
  --ec-radius-md: 8px;
  --ec-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.15);

  --ec-section-px: clamp(1rem, 3vw, 2rem);
  --ec-section-py: clamp(3rem, 8svh, 6rem);
  --ec-container-max: 1400px;
   --ec-img-mobile-ratio: 15/7;
   
}

/* ----- Base Section ----- */
.ec-section {
  padding-block: var(--ec-section-py);
  padding-inline: 0;
  background-color: var(--ec-bg);
  overflow: clip; /* prevents accidental scrollbars while allowing child round corners */
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}

/* Container: centered & fluid with safe areas */
.ec-container {
  max-width: min(var(--ec-container-max), 95vw);
  margin: 0 auto;
  padding-inline: var(--ec-section-px);
  /* Safe areas (iOS/Android notches) */
  padding-left: calc(var(--ec-section-px) + env(safe-area-inset-left));
  padding-right: calc(var(--ec-section-px) + env(safe-area-inset-right));
}

/* ----- Header ----- */
.ec-header {
  text-align: center;
  margin-bottom: clamp(2rem, 6vh, 4rem);
}

.ec-title .heading-underline {
  font-size: clamp(2rem, 5vw, 2.25rem);
  margin-left:-20px;
  font-weight: 700;
  color: var(--ec-text-900);
  margin: 0 0 0.5rem;
  text-wrap: balance;
}

.ec-subtitle {
  font-size: clamp(0.9rem, 2vw, 1rem);
  color: var(--ec-text-600);
  font-weight: 400;
  max-width: 65ch;
  margin: 0 auto;
  marginTop:"10px"; 
  marginLeft:"20px";
  
  
}

/* ----- Core ----- */
.ec-core {
  position: relative;
  isolation: isolate; /* predictable z-index stacking for slides/controls */
  height: clamp(420px, 70svh, 650px); /* fluid, works even on mobile UI chrome changes */
  min-height: 360px;
  max-height: 80svh;

  /* Enable container queries for layout switches */
  container-type: inline-size;
  container-name: ec-core;
}

/* Prefer dynamic viewport units where supported */
@supports (height: 1dvh) {
  .ec-core {
    height: clamp(420px, 70dvh, 650px);
    max-height: 80dvh;
  }
}

/* Slides wrapper */
.ec-slides {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%; /* keeps a definite block for absolutely positioned slides */
  overflow: hidden;
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow-lg);
  background-color: #fff;
}

/* Individual slide */
.ec-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 60% 40%;
  grid-template-areas: "image content";
  align-content: stretch;
  opacity: 0;
  visibility: hidden;
  pointer-events: none; /* only the active slide should accept input */
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 1s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
}

.ec-slide--active {
  opacity: 1;
  visibility: visible;
  z-index: 10;
  pointer-events: auto;
}

/* ----- Image Pane ----- */
.ec-slide__image-pane {
  grid-area: image;
  position: relative;
  overflow: hidden;
  height: 100%;
}

.ec-slide__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.1);
  transition: transform 7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ec-slide--active .ec-slide__image {
  transform: scale(1);
}

/* Optional: soft vignette to improve text contrast on narrow screens */
@media (max-width: 768px) {
  .ec-slide__image-pane::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.12) 0%, transparent 35%);
    pointer-events: none;
  }
}

/* ----- Content Pane ----- */
.ec-slide__content-pane {
  grid-area: content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.25rem, 4vw, 4rem);
  position: relative;
  box-sizing: border-box;
  max-inline-size: 65ch;
  margin-inline: clamp(0.5rem, 2vw, 1rem);
   min-width: 0;            /* allows the grid child to shrink */
  box-sizing: border-box;
}

.ec-slide__content-wrap {
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s,
              opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
}

.ec-slide--active .ec-slide__content-wrap {
  transform: translateY(0);
  opacity: 1;
}

/* Text */
.ec-slide__date {
  font-size: clamp(0.7rem, 1vw, 0.85rem);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--ec-accent);
  margin-bottom: 1rem;
}

.ec-slide__title {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--ec-text-900);
  line-height: 1.15;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}

.ec-slide__subtitle {
  font-size: clamp(1rem, 2.2vw, 1.3rem);
  font-weight: 400;
  color: var(--ec-text-700);
  margin-bottom: 1rem;
}

.ec-slide__description {
  font-size: clamp(0.9rem, 1.3vw, 1rem);
  line-height: 1.8;
  color: var(--ec-text-600);
  margin-bottom: 2rem;
  overflow-wrap: anywhere;
  hyphens: auto;
  max-inline-size: 100%;
  width: 100%;
  margin-inline: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

/* Button */
.ec-slide__button {
  font-size: clamp(0.8rem, 1.2vw, 0.95rem);
  font-weight: 600;
  padding: 0.75em 1.75em;
  background-color: var(--ec-accent);
  color: white;
  margin-top: -2rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.2s ease;
}

.ec-slide__button:hover {
  background-color: #c44f3a;
  transform: translateY(-3px);
  box-shadow: 0 8px 15px rgba(167, 64, 45, 0.2);
}

.ec-slide__button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ec-accent) 60%, white);
  outline-offset: 2px;
}

/* ----- Controls ----- */
.ec-controls {
  position: absolute;
  bottom: clamp(12px, 2.5vh, 20px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  display: flex;
  gap: 10px;
  padding: 8px;
  border-radius: 50px;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  flex-wrap: wrap;
  background-color: color-mix(in srgb, white 70%, transparent);
}
.ec-mobile-cta { display: none; }
.ec-control {
  width: clamp(36px, 5vw, 48px);
  height: clamp(36px, 5vw, 48px);
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.ec-control:hover { background-color: white; transform: scale(1.1); }
.ec-control:focus-visible { outline: 3px solid rgba(167, 64, 45, 0.45); }

/* ----- Thumbnails ----- */
.ec-thumbnails {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(0.5rem, 2vw, 1rem);
  margin-top: clamp(1rem, 4vh, 2rem);
}

.ec-thumb {
  width: clamp(70px, 10vw, 120px);
  height: clamp(45px, 5vw, 70px);
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.ec-thumb:hover { transform: translateY(-5px); }

.ec-thumb__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.5);
  transition: filter 0.25s ease;
}

.ec-thumb:hover .ec-thumb__image,
.ec-thumb--active .ec-thumb__image { filter: saturate(1); }

.ec-thumb__indicator {
  position: absolute;
  bottom: 0; left: 0;
  height: 4px; width: 100%;
  background-color: var(--ec-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.ec-thumb--active .ec-thumb__indicator { transform: scaleX(1); }

/* ---------------------------------
   Responsive Adjustments
   --------------------------------- */

/* Container query: switch to stacked layout when the core gets narrow */
@container ec-core (max-width: 900px) {
  .ec-slide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "image"
      "content";
  }
  .ec-slide__content-pane {
    align-items: center;
    text-align: center;
    margin-inline: auto;
    max-inline-size: 70ch;
  }
}

/* Fallback for browsers without container queries */
@media (max-width: 992px) {
  .ec-slide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "image"
      "content";
  }
  .ec-slide__content-pane {
    padding: clamp(1.25rem, 5vw, 2rem);
    text-align: center;
    align-items: center;
    margin-inline: auto;
  }
}

/* Small tablets / large phones */
@media (max-width: 768px) {
  
  .ec-section {
    padding-block: clamp(2.25rem, 7svh, 3.5rem);
  }
  .ec-slide__description {
    font-size: clamp(0.9rem, 2.8vw, 1rem);
    margin-bottom: 1.5rem;
  }
  .ec-controls { bottom: clamp(10px, 2vh, 14px); gap: 8px; }
  .ec-thumb { width: clamp(70px, 20vw, 110px); height: clamp(45px, 12vw, 65px); }
  .ec-title .heading-underline{
    margin-left: 0;   
    white-space: nowrap;
  }
}

/* Phones and compact screens */
@media (max-width: 576px) {
  .ec-core {
    height: clamp(380px, 65svh, 560px);
    max-height: 75svh;
  }
  @supports (height: 1dvh) {
    .ec-core {
      height: clamp(380px, 65dvh, 560px);
      max-height: 75dvh;
    }
 
  .ec-slide__content-pane { padding: clamp(1rem, 4vw, 1.5rem); }
  .ec-slide__subtitle { font-size: clamp(0.95rem, 3.5vw, 1.1rem);
  whitespace: nowrap; margin-left: -7px; }
  .ec-thumbnails { gap: 0.4rem; }
  .ec-controls { gap: 6px; }
  .ec-title{
    white-space: nowrap;
    
   font-size: 1rem !important;
   
    width: 100%;
  }
  }
}

/* Phone landscape or very low-height screens */
@media (orientation: landscape) and (max-height: 500px) {
  .ec-core {
    height: clamp(300px, 78svh, 420px);
    max-height: 88svh;
  }
  @supports (height: 1dvh) {
    .ec-core {
      height: clamp(300px, 78dvh, 420px);
      max-height: 88dvh;
    }
  }
  .ec-slide {
    grid-template-columns: 1fr 1fr; /* keep side-by-side to save vertical space */
    grid-template-rows: auto;
    grid-template-areas: "image content";
  }
  .ec-slide__content-pane {
    padding: 1rem 1.5rem;
    overflow: auto; /* allow content to scroll if too tall */
  }
  .ec-controls { bottom: 8px; }
  .ec-thumbnails { margin-top: 0.75rem; }
}

/* Ultra-narrow (extreme zoom-in or tiny devices) */
@media (max-width: 360px) {
  .ec-subtitle { display: none; } /* free up space; remove if you prefer */
  .ec-slide__description { font-size: 0.9rem; line-height: 1.65; }
  .ec-controls { gap: 4px; }
  .ec-control { width: 36px; height: 36px; }
}

@media (max-width: 320px) {
  .ec-core {
    height: clamp(320px, 62svh, 480px);
  }
  .ec-slide__title { font-size: clamp(1.5rem, 7vw, 1.75rem); }
  .ec-slide__content-pane { padding: 0.9rem; }
}

/* Extra safety for ultra-tiny widths (watch/kiosk/extreme zoom) */
@media (max-width: 280px) {
  .ec-slide__date { font-size: 0.7rem; }
  .ec-slide__button { padding: 0.6em 1.25em; font-size: 0.8rem; }
}

/* Ultra-wide / Zoomed-out large screens */
@media (min-width: 1600px) {
  .ec-container { max-width: 1600px; }
  .ec-slide__content-pane { padding: clamp(2rem, 3vw, 5rem); }
}

@media (min-width: 1920px) {
  .ec-container { max-width: 1700px; }
  .ec-slide__title { font-size: clamp(2.2rem, 2.2vw, 3.25rem); }
  .ec-slide__description { font-size: clamp(1rem, 1vw, 1.15rem); }
}

@media (min-width: 2560px) {
  .ec-container { max-width: 1900px; }
  .ec-slide__content-pane { max-inline-size: 72ch; }
}

/* Handle safe areas (older syntax fallback) */
@supports (padding: max(0px)) {
  .ec-container {
    padding-left: max(var(--ec-section-px), env(safe-area-inset-left));
    padding-right: max(var(--ec-section-px), env(safe-area-inset-right));
  }
}

/* High-DPI displays (minor polish) */
@media (min-resolution: 2dppx) {
  .ec-thumb { box-shadow: 0 2px 6px rgba(0,0,0,0.12); }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .ec-slide__image { transition: none; transform: none; }
  .ec-slide__content-wrap { transition: none; transform: none; opacity: 1; }
  .ec-slide { transition: none; }
}



@media (max-width: 768px) {
  .ec-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 30;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
    gap: 0;
    pointer-events: none; /* container allows clicks through */
  }

  .ec-control {
    position: absolute;
    pointer-events: auto;  /* buttons remain clickable */
    width: clamp(40px, 8vw, 52px);
    height: clamp(40px, 8vw, 52px);
    display: grid;
    place-items: center;
  }

  /* First control (prev) on the far left, last control (next) on the far right */
  .ec-controls .ec-control:first-child { left: clamp(6px, 2.5vw, 12px); }
  .ec-controls .ec-control:last-child  { right: clamp(6px, 2.5vw, 12px); }

  /* Hide any extra controls (e.g., dots) inside the same container on small */
  .ec-controls .ec-control:not(:first-child):not(:last-child) { display: none; }
}

/* Low-height landscape: keep side-by-side and keep edge arrows */
@media (orientation: landscape) and (max-height: 500px) {
  .ec-slide {
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas: "image content" !important;
  }
  .ec-controls {
    top: 50%;
    left: 0; right: 0;
    transform: translateY(-50%);
  }
}




/* Side arrows between 769px and 1011px */
@media (min-width: 769px) and (max-width: 1012px) {
  .ec-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 30;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
    gap: 0;
    pointer-events: none; /* allow clicks through except on buttons */
  }

  .ec-control {
    position: absolute;
    pointer-events: auto; /* keep buttons clickable */
    width: clamp(40px, 6vw, 52px);
    height: clamp(40px, 6vw, 52px);
    display: grid;
    place-items: center;
  }

  /* Prev on left, Next on right */
  .ec-controls .ec-control:first-child { left: clamp(8px, 2vw, 14px); }
  .ec-controls .ec-control:last-child  { right: clamp(8px, 2vw, 14px); }

  /* Hide any extra controls (e.g., dots) in this range */
  .ec-controls .ec-control:not(:first-child):not(:last-child) { display: none; }
}



/* Alternative: stack image above content for iPad portrait */
@media (min-width: 1000px) and (max-width: 1060px) and (orientation: portrait) {
  .ec-core {
    height: clamp(600px, 78svh, 900px);
    max-height: 90svh;
  }
  @supports (height: 1dvh) {
    .ec-core {
      height: clamp(600px, 78dvh, 900px);
      max-height: 90dvh;
    }
  }

  .ec-slide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "image"
      "content";
  }
  .ec-slide__content-pane {
    align-items: center;
    text-align: center;
    margin-inline: auto;
    max-inline-size: 70ch;
  }
}


/* A) Short-height landscape phones (covers 667×375, 844×390, 740×360, 914×412) */
@media (orientation: landscape) and (max-height: 420px) {
  .ec-core {
    height: min(92svh, 480px) !important;
    max-height: 92svh !important;
  }
  @supports (height: 1dvh) {
    .ec-core { height: min(92dvh, 480px) !important; max-height: 92dvh !important; }
  }

  .ec-slide { grid-template-columns: 60% 40% !important; } /* more room for image */
  .ec-slide__content-pane { padding: 0.75rem 1rem !important; }

  /* Tighten text so content doesn't steal height from the image */
  .ec-slide__title      { font-size: clamp(1.3rem, 4vw, 1.9rem) !important; }
  .ec-slide__subtitle   { font-size: clamp(0.9rem, 2.8vw, 1.05rem) !important; }
  .ec-slide__description{
    font-size: clamp(0.8rem, 2.2vw, 0.95rem) !important;
    line-height: 1.6 !important;
    margin-bottom: 1rem !important;
    max-height: 6.5lh; /* allow scroll if still long */
    overflow: auto;
  }

  /* Make the image pop (remove vignette overlay on landscape) */
  .ec-slide__image-pane::after { display: none !important; }
}

/* B) Mid-height landscape tablets (e.g., 720×540) */
@media (orientation: landscape) and (min-height: 421px) and (max-height: 860px) and (max-width: 1280px) {
  .ec-core {
    height: clamp(420px, 78svh, 720px) !important;
    max-height: 88svh !important;
  }
  @supports (height: 1dvh) {
    .ec-core { height: clamp(420px, 78dvh, 720px) !important; max-height: 88dvh !important; }
  }

  .ec-slide { grid-template-columns: 62% 38% !important; }
  .ec-slide__content-pane { padding: clamp(0.9rem, 2.4vw, 2rem) !important; }
}

/* C) Classic tablet/desktop 4:3 and similar (1024×768, 1180×820, 1366×1024, 1368×912) */
@media (orientation: landscape) and (min-width: 1000px) and (max-width: 1400px) {
  .ec-core {
    /* remove the 650px cap and use more of the vertical space */
    height: clamp(560px, 78svh, 860px) !important;
    max-height: 90svh !important;
  }
  @supports (height: 1dvh) {
    .ec-core { height: clamp(560px, 78dvh, 860px) !important; max-height: 90dvh !important; }
  }

  .ec-slide { grid-template-columns: 65% 35% !important; } /* wider image */
  .ec-slide__content-pane { padding: clamp(1rem, 2.5vw, 2.25rem) !important; }
}

/* D) Extra-wide landscape phones (aspect ≥ 2:1) – give image even more width */
@media (orientation: landscape) and (min-aspect-ratio: 2/1) and (max-width: 1024px) {
  .ec-slide { grid-template-columns: 62% 38% !important; }
  .ec-slide__content-pane { padding: 0.8rem 1rem !important; }
  .ec-slide__image-pane::after { display: none !important; }
}


@media only screen and (width: 667px) and (height: 375px),
only screen and (width: 720px) and (height: 540px),
only screen and (width: 1024px) and (height: 768px),
only screen and (width: 1180px) and (height: 820px),
only screen and (width: 1366px) and (height: 1024px) {

.ec-core {
height: clamp(400px, 86svh, 900px) !important;
max-height: 92svh !important;
}
@supports (height: 1dvh) {
.ec-core { height: clamp(400px, 86dvh, 900px) !important; max-height: 92dvh !important; }
}

/* Give image more width than content */
.ec-slide {
grid-template-columns: 64% 36% !important;
grid-template-areas: "image content" !important;
}

/* Reduce content padding so it doesn’t steal space from the image */
.ec-slide__content-pane {
padding: clamp(0.8rem, 2.2vw, 1.8rem) !important;
}

/* Keep description compact; scroll if still long */
.ec-slide__description {
margin-bottom: 1rem !important;
max-height: 7.5lh;
overflow: auto;
}

/* Remove vignette on these sizes so image stays crisp */
.ec-slide__image-pane::after { display: none !important; }
}

/* Extra tightening for very short-height landscape (667×375 in particular) */
@media only screen and (width: 667px) and (height: 375px) {
.ec-core {
height: min(92svh, 480px) !important;
max-height: 92svh !important;
}
@supports (height: 1dvh) {
.ec-core { height: min(92dvh, 480px) !important; max-height: 92dvh !important; }
}

.ec-slide { grid-template-columns: 62% 38% !important; }
.ec-slide__title { font-size: clamp(1.2rem, 4.6vw, 1.7rem) 
  !important; }
.ec-slide__subtitle { font-size: clamp(0.85rem, 2.6vw, 1rem) !important; }
}

/* A little more breathing room on classic tablets (1024×768, 1180×820, 1366×1024) */
@media only screen and (width: 1024px) and (height: 768px),
only screen and (width: 1180px) and (height: 820px),
only screen and (width: 1366px) and (height: 1024px) {
.ec-core {
height: clamp(560px, 78svh, 880px) !important;
max-height: 90svh !important;
}
@supports (height: 1dvh) {
.ec-core { height: clamp(560px, 78dvh, 880px) !important; max-height: 90dvh !important; }
}
.ec-slide { grid-template-columns: 65% 35% !important; }
.ec-slide__content-pane { padding: clamp(1rem, 2.6vw, 2.25rem) !important; }
}


/* Per-slide mini-gallery (inside image pane) */
.ec-gallery {
  position: relative;
  width: 100%;
  height: 100%;
}

.ec-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(32px, 4vw, 40px);
  height: clamp(32px, 4vw, 40px);
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  color: #333;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 15; /* above image but below global .ec-controls (z:20) */
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}

.ec-gallery__arrow--prev { left: 8px; }
.ec-gallery__arrow--next { right: 8px; }
.ec-gallery__arrow:hover { transform: translateY(-50%) scale(1.05); }

.ec-gallery__dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  gap: 6px;
  z-index: 15;
}
.ec-gallery__dots .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.7);
}
.ec-gallery__dots .dot.active { background: var(--ec-accent); }





/* --------------------------------------------------------------
   Responsive add-on for EventCarousel
   - Keeps desktop unchanged
   - Optimizes portrait, landscape, extreme zoom in/out, and small heights
   -------------------------------------------------------------- */

/* Touch ergonomics for gallery arrows */
.ec-gallery__arrow {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
@media (pointer: coarse) {
  .ec-gallery__arrow {
    width: 44px;
    height: 44px;
  }
}

/* Make thumbnails scrollable on small screens */
@media (max-width: 900px) {
  .ec-section {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  .ec-thumbnails {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding: 8px env(safe-area-inset-right) 8px env(safe-area-inset-left);
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .ec-thumb {
    flex: 0 0 auto;
    width: 96px;
    scroll-snap-align: start;
  }
  .ec-thumb__image {
    width: 100%;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
  }
}

/* Stack slide panes on mobile; keep only active slide visible */
@media (max-width: 900px) {
  .ec-slide__content-pane {
    grid-area: content;
    position: static !important;
    padding: 16px 16px 18px !important; /* top padding fixes the overlap */
    background: var(--ec-card-bg, #fff);
    border-radius: 12px;
    overflow: hidden; /* keep content inside rounded corners */
    box-sizing: border-box;
  }

  .ec-slide__content-wrap {
    position: static !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 70ch;
  }

  /* Normalize spacing: remove default top margins, then add controlled gaps */
  .ec-slide__date,
  .ec-slide__title,
  .ec-slide__subtitle,
  .ec-slide__description {
    margin: 0;
    max-width: 100%;
  }
  .ec-slide__date { margin-bottom: 6px; margin-left: -50px !important;}
  .ec-slide__title { margin-bottom: 6px; }
  .ec-slide__subtitle { margin-bottom: 10px; }
  .ec-slide__description { margin-bottom: 12px; margin-left:-20px !important; word-wrap: break-word; overflow-wrap: break-word;}

  /* Fluid typography to avoid overflow on narrow screens */
  .ec-slide__title {
    font-size: clamp(20px, 6vw, 28px);
    line-height: 1.2;
   margin-right: 50px !important;
  }
  .ec-slide__subtitle {
    font-size: clamp(14px, 3.8vw, 18px);
    line-height: 1.35;
  }
  .ec-slide__description {
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1.55;
    /* Keep long words/URLs inside the box */
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
  }

  /* Add a small gap between image and card to ensure separation */
  .ec-slide__image-pane { margin-bottom: 10px; }

  /* Keep the CTA visible and aligned */
  .ec-slide__button { width: 100%; margin-top: 4px; }
   .ec-slide__content-pane .ec-slide__button {
    display: none !important;
  }

  .ec-mobile-cta {
    display: block;
    margin-top: 12px;
    padding: 0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));
  }

  .ec-mobile-cta__button {
    width: 100%;
    /* Reuse your existing .ec-slide__button styles; add small tweaks if needed */
  }
}

/* If your overlap persists, bump space below the image slightly */
@media (max-width: 900px) {
  .ec-slide__image-pane { width: 100%;
    aspect-ratio: var(--ec-img-mobile-ratio);
    border-radius: 12px;
    overflow: hidden;}
}

/* Landscape phones with short height */
@media (orientation: landscape) and (max-height: 500px) {
  .ec-slide.ec-slide--active {
    grid-template-rows: auto 1fr;
  }
  .ec-slide__image-pane {
    aspect-ratio: auto;
    height: 48vh;
  }
  .ec-slide__content-pane {
    max-height: 44vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Very narrow screens */
@media (max-width: 360px) {
  .ec-thumb { width: 84px; }
  .ec-thumb__image { height: 56px; }
  .ec-gallery__arrow {
    width: 40px;
    height: 40px;
  }
}

/* Tablet range: keep 2-column feel with comfortable minimums (no visual change intent) */
@media (min-width: 901px) and (max-width: 1200px) {
  .ec-slide__image-pane,
  .ec-slide__content-pane {
    min-height: 420px;
  }
}

/* Prevent layout break on extreme zoom; long words wrap nicely */
.ec-container,
.ec-core,
.ec-slides,
.ec-slide__content-wrap {
  max-width: 100%;
}
.ec-slide__description {
  overflow-wrap: anywhere;
}

/* Touch ergonomics styling */
@media (pointer: coarse) {
  .ec-gallery__arrow {
    padding: 8px;
    border-radius: 999px;
    background: color-mix(in srgb, #000 10%, transparent);
  }
}

/* Reduce motion if user prefers */
@media (prefers-reduced-motion: reduce) {
  .ec-slides,
  .ec-slide,
  .ec-thumb__indicator,
  .ec-gallery__arrow,
  .ec-gallery__dots {
    transition: none !important;
    animation: none !important;
  }
  .ec-slides { scroll-behavior: auto !important; }
}

/* Thumbnails can wrap if height is extremely limited in portrait */
@media (orientation: portrait) and (max-height: 560px) and (max-width: 900px) {
  .ec-thumbnails {
    flex-wrap: wrap;
    row-gap: 8px;
  }
}



/* Exact viewport: 540 × 720 — prevent image clipping */
@media (width: 540px) and (height: 720px) {
   /* Keep column layout */
  .ec-slide.ec-slide--active {
    display: flex !important;
    flex-direction: column;
    gap: 14px;
    height: auto !important;
    overflow: visible !important;
  }

  /* Smaller, fixed image frame (no clipping, more room for text) */
  .ec-slide__image-pane {
    /* Pick one of these two heights — 240px is tighter, 260px a bit larger */
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    flex: 0 0 240px !important;

    /* If you prefer a dynamic height tied to viewport, use this instead:
       height: clamp(220px, 34dvh, 260px) !important;
       min-height: clamp(220px, 34dvh, 260px) !important;
       max-height: clamp(220px, 34dvh, 260px) !important;
       flex: 0 0 clamp(220px, 34dvh, 260px) !important;
    */

    aspect-ratio: auto;     /* override earlier aspect rules */
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin: 0;
    position: relative;
  }

  .ec-gallery { position: relative; height: 100%; }
  .ec-slide__image { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

  /* Ensure nothing below gets clipped */
  .ec-section, .ec-core, .ec-slides, .ec-slide {
    height: auto !important;
    overflow: visible !important;
  }

  /* Content card remains full and readable */
  .ec-slide__content-pane {
    position: static !important;
    background: #fff;
    border-radius: 16px;
    padding: 20px 20px 22px !important;
    overflow: visible !important;
  }
  .ec-slide__description { max-height: none !important; overflow: visible !important; }

  /* External sticky CTA (if you’re using it) and bottom padding so it doesn’t cover text */
  .ec-slide__content-pane .ec-slide__button { display: none !important; }
  .ec-mobile-cta {
    display: block !important;
    position: sticky; bottom: 0; z-index: 5;
    background: linear-gradient(to top, rgba(255,255,255,0.96), rgba(255,255,255,0.6), transparent);
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    backdrop-filter: saturate(1.2) blur(6px);
    margin-top: 12px;
  }
  .ec-mobile-cta__button { width: 100%; }
  .ec-container { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }

  /* Keep gallery dots inside the image */
  .ec-gallery__dots {
    position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%);
    pointer-events: none;
  }
    /* Add space after the card */
  .ec-slide__content-pane {
    margin-bottom: 28px !important;
  }

  /* Ensure thumbnails sit below and not on top of the card */
  .ec-thumbnails {
    position: static !important; /* cancel any absolute/relative tricks */
    margin-top: 160px !important; /* push them a little down */
  }
}

/* 912 × 1368 (portrait) — match the shown layout */
@media (width: 912px) and (height: 1368px) {
  /* Let the section grow; no clipping */
  .ec-section, .ec-core, .ec-slides, .ec-slide, .ec-slide.ec-slide--active {
    height: auto !important;
    overflow: visible !important;
  }

  /* Stack: image on top, card below */
  .ec-slide { display: none !important; transform: none !important; opacity: 1 !important; }
  .ec-slide.ec-slide--active {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 22px;
  }

  /* Image frame (stable, no clip) */
  .ec-slide__image-pane {
    width: 100%;
    height: 420px;            /* adjust 380–460px to taste */
    min-height: 420px;
    max-height: 420px;
    border-radius: 16px;
    overflow: hidden;
  }
  .ec-slide__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .ec-gallery__arrow { inset: 0; } /* keep your existing arrow placement */
  .ec-gallery__dots { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); pointer-events: none; }

  /* Card styles */
  .ec-slide__content-pane {
    position: static !important;
    background: #fff;
    border-radius: 16px;
    padding: 24px 24px 26px !important;
    overflow: visible !important;
  }
  .ec-slide__content-wrap {
    max-width: 74ch;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
  }

  /* Typography (centered like screenshot) */
  .ec-slide__date { margin: 0 auto 6px; text-align: center; letter-spacing: .08em; opacity: .8; }
  .ec-slide__title { margin: 0; text-align: center; font-size: 34px; line-height: 1.2; }
  .ec-slide__subtitle { margin: 0; text-align: center; font-size: 20px; line-height: 1.35; }
  .ec-slide__description { margin: 0; font-size: 16px; line-height: 1.6; max-height: none !important; overflow: visible !important; }

  /* Thumbnails: centered and pushed down */
  .ec-thumbnails {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 22px !important;   /* space from card */
    position: static !important;
  }
  .ec-thumb { width: 120px; }
  .ec-thumb__image { width: 100%; height: 78px; object-fit: cover; border-radius: 10px; display: block; }

  /* External mobile CTA not shown on this tablet size */
  .ec-mobile-cta { display: none !important; }

  /* A little bottom breathing room for the section */
  .ec-container { padding-bottom: 32px; }
}



/* 912 × 1368 (portrait) — smaller image so nothing overlaps */
@media (width: 912px) and (height: 1368px) {
  /* Column layout with safe gaps */
  .ec-slide.ec-slide--active {
    display: flex !important;
    flex-direction: column;
    gap: 20px;
    height: auto !important;
    overflow: visible !important;
  }

  /* Reduce image height to make room for the card + thumbs */
  .ec-slide__image-pane {
    flex: 0 0 360px;             /* adjust to 340–380px if needed */
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
  }
  .ec-slide__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  /* Card: no overlay or clipping */
  .ec-slide__content-pane {
    position: static !important;
    background: #fff;
    border-radius: 16px;
    padding: 24px 24px 26px !important;
    overflow: visible !important;
  }
  .ec-slide__description {
    max-height: none !important;
    overflow: visible !important;
    line-height: 1.6;
  }

  /* Thumbnails: sit below the card (no overlap with image) */
  .ec-thumbnails {
    position: static !important;
    justify-content: center;
    gap: 16px;
    margin-top: 22px !important;
  }

  /* Keep gallery dots inside the image area */
  .ec-gallery { position: relative; }
  .ec-gallery__dots {
    position: absolute;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    pointer-events: none;
  }
}





/* ================================
   LANDSCAPE FIX — phones + tablets
   No scrollbars, no clipping
   Paste at the very end of your CSS
   ================================ */
@media (orientation: landscape) and (max-width: 1400px) {
  /* Compact vertical spacing so header + core never exceed viewport */
  .ec-section {
    padding-block: clamp(8px, 1.5svh, 14px) !important;
    overflow: clip !important;
  }
  .ec-header {
    margin-bottom: clamp(8px, 1.8svh, 14px) !important;
  }

  /* Lock the carousel to the viewport height */
  .ec-core {
    position: relative;
    height: min(88dvh, 760px) !important; /* leave room for header/padding */
    max-height: 88dvh !important;
    min-height: 300px !important;
    overflow: hidden !important;
  }
  @supports (height: 1svh) {
    .ec-core {
      height: min(88svh, 760px) !important;
      max-height: 88svh !important;
    }
  }

  /* Keep side-by-side columns to save vertical space */
  .ec-slide {
    grid-template-columns: 60% 40% !important;
    grid-template-areas: "image content" !important;
  }
  .ec-slide__image-pane {
    aspect-ratio: auto !important;
    height: 100% !important;
  }
  .ec-slide__image-pane::after { display: none !important; } /* remove vignette in landscape */

  /* No inner scrollbars; tighter padding */
  .ec-slide__content-pane {
    padding: clamp(12px, 2.2vw, 22px) !important;
    overflow: hidden !important; /* prevent inner scroll */
    max-height: none !important;
  }

  /* Typography that never forces overflow */
  .ec-slide__title {
    font-size: clamp(18px, 3vw, 28px) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  .ec-slide__subtitle {
    font-size: clamp(14px, 2.4vw, 18px) !important;
    white-space: normal !important; /* fix forced nowrap */
  }
  .ec-slide__description {
    font-size: clamp(13px, 2.1vw, 16px) !important;
    line-height: 1.55 !important;
    /* Clamp lines instead of scrolling */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 6 !important;
    overflow: hidden !important;
  }

  /* Controls float over the slide (don’t consume layout height) */
  .ec-controls {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    gap: 0 !important;
    pointer-events: none !important; /* let slide clicks pass through */
  }
  .ec-control { pointer-events: auto !important; }

  /* Thumbnails overlay inside the core; hidden scrollbars */
  .ec-thumbnails {
    position: absolute !important;
    left: 50% !important;
    bottom: clamp(8px, 2svh, 14px) !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 8px !important;
    z-index: 22 !important;
    max-width: min(96vw, var(--ec-container-max)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    background: none !important;
    gap: clamp(6px, 1.2vw, 12px) !important;
  }
  .ec-thumb {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
  }
  .ec-thumbnails::-webkit-scrollbar { display: none !important; }
  .ec-thumbnails { scrollbar-width: none !important; -ms-overflow-style: none !important; }

  /* Don’t let sticky CTA steal vertical room in landscape */
  .ec-mobile-cta { display: none !important; }
}

/* Belt-and-suspenders: never show horizontal bars from this section */
@media (orientation: landscape) and (max-width: 1400px) {
  .ec-section, .ec-container { overflow-x: clip !important; }
  .ec-core, .ec-slides, .ec-slide__content-pane {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .ec-core::-webkit-scrollbar,
  .ec-slides::-webkit-scrollbar,
  .ec-slide__content-pane::-webkit-scrollbar { display: none !important; }
}



/* ============================================
   EC Slider - Fully Responsive Enhancements
   ============================================ */

/* Design tokens */
:root {
  --ec-accent: #A7402D;
  --ec-bg: #f4f6f8;
  --ec-text-900: #222;
  --ec-text-700: #555;
  --ec-text-600: #666;

  --ec-radius-lg: 16px;
  --ec-radius-md: 8px;
  --ec-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.15);

  --ec-section-px: clamp(1rem, 3vw, 2rem);
  --ec-section-py: clamp(3rem, 8svh, 6rem);
  --ec-container-max: 1400px;
   --ec-img-mobile-ratio: 15/7;
   
}

/* ----- Base Section ----- */
.ec-section {
  padding-block: var(--ec-section-py);
  padding-inline: 0;
  background-color: var(--ec-bg);
  overflow: clip; /* prevents accidental scrollbars while allowing child round corners */
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}

/* Container: centered & fluid with safe areas */
.ec-container {
  max-width: min(var(--ec-container-max), 95vw);
  margin: 0 auto;
  padding-inline: var(--ec-section-px);
  /* Safe areas (iOS/Android notches) */
  padding-left: calc(var(--ec-section-px) + env(safe-area-inset-left));
  padding-right: calc(var(--ec-section-px) + env(safe-area-inset-right));
}

/* ----- Header ----- */
.ec-header {
  text-align: center;
  margin-bottom: clamp(2rem, 6vh, 4rem);
}

.ec-title .heading-underline {
  font-size: clamp(2rem, 5vw, 2.25rem);
  margin-left:-20px;
  font-weight: 700;
  color: var(--ec-text-900);
  margin: 0 0 0.5rem;
  text-wrap: balance;
}

.ec-subtitle {
  font-size: clamp(0.9rem, 2vw, 1rem);
  color: var(--ec-text-600);
  font-weight: 400;
  max-width: 65ch;
  margin: 0 auto;
  marginTop:"10px"; 
  marginLeft:"20px";
  
  
}

/* ----- Core ----- */
.ec-core {
  position: relative;
  isolation: isolate; /* predictable z-index stacking for slides/controls */
  height: clamp(420px, 70svh, 650px); /* fluid, works even on mobile UI chrome changes */
  min-height: 360px;
  max-height: 80svh;

  /* Enable container queries for layout switches */
  container-type: inline-size;
  container-name: ec-core;
}

/* Prefer dynamic viewport units where supported */
@supports (height: 1dvh) {
  .ec-core {
    height: clamp(420px, 70dvh, 650px);
    max-height: 80dvh;
  }
}

/* Slides wrapper */
.ec-slides {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%; /* keeps a definite block for absolutely positioned slides */
  overflow: hidden;
  border-radius: var(--ec-radius-lg);
  box-shadow: var(--ec-shadow-lg);
  background-color: #fff;
}

/* Individual slide */
.ec-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 60% 40%;
  grid-template-areas: "image content";
  align-content: stretch;
  opacity: 0;
  visibility: hidden;
  pointer-events: none; /* only the active slide should accept input */
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 1s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
}

.ec-slide--active {
  opacity: 1;
  visibility: visible;
  z-index: 10;
  pointer-events: auto;
}

/* ----- Image Pane ----- */
.ec-slide__image-pane {
  grid-area: image;
  position: relative;
  overflow: hidden;
  height: 100%;
}

.ec-slide__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.1);
  transition: transform 7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ec-slide--active .ec-slide__image {
  transform: scale(1);
}

/* Optional: soft vignette to improve text contrast on narrow screens */
@media (max-width: 768px) {
  .ec-slide__image-pane::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.12) 0%, transparent 35%);
    pointer-events: none;
  }
}

/* ----- Content Pane ----- */
.ec-slide__content-pane {
  grid-area: content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.25rem, 4vw, 4rem);
  position: relative;
  box-sizing: border-box;
  max-inline-size: 65ch;
  margin-inline: clamp(0.5rem, 2vw, 1rem);
}

.ec-slide__content-wrap {
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s,
              opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
}

.ec-slide--active .ec-slide__content-wrap {
  transform: translateY(0);
  opacity: 1;
}

/* Text */
.ec-slide__date {
  font-size: clamp(0.7rem, 1vw, 0.85rem);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--ec-accent);
  margin-bottom: 1rem;
}

.ec-slide__title {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--ec-text-900);
  line-height: 1.15;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}

.ec-slide__subtitle {
  font-size: clamp(1rem, 2.2vw, 1.3rem);
  font-weight: 400;
  color: var(--ec-text-700);
  margin-bottom: 1rem;
}

.ec-slide__description {
  font-size: clamp(0.9rem, 1.3vw, 1rem);
  line-height: 1.8;
  color: var(--ec-text-600);
  margin-bottom: 2rem;
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Button */
.ec-slide__button {
  font-size: clamp(0.8rem, 1.2vw, 0.95rem);
  font-weight: 600;
  padding: 0.75em 1.75em;
  background-color: var(--ec-accent);
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.2s ease;
}

.ec-slide__button:hover {
  background-color: #c44f3a;
  transform: translateY(-3px);
  box-shadow: 0 8px 15px rgba(167, 64, 45, 0.2);
}

.ec-slide__button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ec-accent) 60%, white);
  outline-offset: 2px;
}

/* ----- Controls ----- */
.ec-controls {
  position: absolute;
  bottom: clamp(12px, 2.5vh, 20px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  display: flex;
  gap: 10px;
  padding: 8px;
  border-radius: 50px;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  flex-wrap: wrap;
  background-color: color-mix(in srgb, white 70%, transparent);
}
.ec-mobile-cta { display: none; }
.ec-control {
  width: clamp(36px, 5vw, 48px);
  height: clamp(36px, 5vw, 48px);
  border-radius: 50%;
  border: none;
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.ec-control:hover { background-color: white; transform: scale(1.1); }
.ec-control:focus-visible { outline: 3px solid rgba(167, 64, 45, 0.45); }

/* ----- Thumbnails ----- */
.ec-thumbnails {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(0.5rem, 2vw, 1rem);
  margin-top: clamp(1rem, 4vh, 2rem);
}

.ec-thumb {
  width: clamp(70px, 10vw, 120px);
  height: clamp(45px, 5vw, 70px);
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.ec-thumb:hover { transform: translateY(-5px); }

.ec-thumb__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.5);
  transition: filter 0.25s ease;
}

.ec-thumb:hover .ec-thumb__image,
.ec-thumb--active .ec-thumb__image { filter: saturate(1); }

.ec-thumb__indicator {
  position: absolute;
  bottom: 0; left: 0;
  height: 4px; width: 100%;
  background-color: var(--ec-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.ec-thumb--active .ec-thumb__indicator { transform: scaleX(1); }

/* ---------------------------------
   Responsive Adjustments
   --------------------------------- */

/* Container query: switch to stacked layout when the core gets narrow */
@container ec-core (max-width: 900px) {
  .ec-slide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "image"
      "content";
  }
  .ec-slide__content-pane {
    align-items: center;
    text-align: center;
    margin-inline: auto;
    max-inline-size: 70ch;
  }
}

/* Fallback for browsers without container queries */
@media (max-width: 992px) {
  .ec-slide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "image"
      "content";
  }
  .ec-slide__content-pane {
    padding: clamp(1.25rem, 5vw, 2rem);
    text-align: center;
    align-items: center;
    margin-inline: auto;
  }
}

/* Small tablets / large phones */
@media (max-width: 768px) {
  
  .ec-section {
    padding-block: clamp(2.25rem, 7svh, 3.5rem);
  }
  .ec-slide__description {
    font-size: clamp(0.9rem, 2.8vw, 1rem);
    margin-bottom: 1.5rem;
  }
  .ec-controls { bottom: clamp(10px, 2vh, 14px); gap: 8px; }
  .ec-thumb { width: clamp(70px, 20vw, 110px); height: clamp(45px, 12vw, 65px); }
  .ec-title .heading-underline{
    margin-left: 0;   
    white-space: nowrap;
  }
}

/* Phones and compact screens */
@media (max-width: 576px) {
  .ec-core {
    height: clamp(380px, 65svh, 560px);
    max-height: 75svh;
  }
  @supports (height: 1dvh) {
    .ec-core {
      height: clamp(380px, 65dvh, 560px);
      max-height: 75dvh;
    }
 
  .ec-slide__content-pane { padding: clamp(1rem, 4vw, 1.5rem); }
  .ec-slide__subtitle { font-size: clamp(0.95rem, 3.5vw, 1.1rem);
  whitespace: nowrap; margin-left: -7px; }
  .ec-thumbnails { gap: 0.4rem; }
  .ec-controls { gap: 6px; }
  .ec-title{
    white-space: nowrap;
    
   font-size: 1rem !important;
   
    width: 100%;
  }
  }
}

/* Phone landscape or very low-height screens */
@media (orientation: landscape) and (max-height: 500px) {
  .ec-core {
    height: clamp(300px, 78svh, 420px);
    max-height: 88svh;
  }
  @supports (height: 1dvh) {
    .ec-core {
      height: clamp(300px, 78dvh, 420px);
      max-height: 88dvh;
    }
  }
  .ec-slide {
    grid-template-columns: 1fr 1fr; /* keep side-by-side to save vertical space */
    grid-template-rows: auto;
    grid-template-areas: "image content";
  }
  .ec-slide__content-pane {
    padding: 1rem 1.5rem;
    overflow: auto; /* allow content to scroll if too tall */
  }
  .ec-controls { bottom: 8px; }
  .ec-thumbnails { margin-top: 0.75rem; }
}

/* Ultra-narrow (extreme zoom-in or tiny devices) */
@media (max-width: 360px) {
  .ec-subtitle { display: none; } /* free up space; remove if you prefer */
  .ec-slide__description { font-size: 0.9rem; line-height: 1.65; }
  .ec-controls { gap: 4px; }
  .ec-control { width: 36px; height: 36px; }
}

@media (max-width: 320px) {
  .ec-core {
    height: clamp(320px, 62svh, 480px);
  }
  .ec-slide__title { font-size: clamp(1.5rem, 7vw, 1.75rem); }
  .ec-slide__content-pane { padding: 0.9rem; }
}

/* Extra safety for ultra-tiny widths (watch/kiosk/extreme zoom) */
@media (max-width: 280px) {
  .ec-slide__date { font-size: 0.7rem; }
  .ec-slide__button { padding: 0.6em 1.25em; font-size: 0.8rem; }
}

/* Ultra-wide / Zoomed-out large screens */
@media (min-width: 1600px) {
  .ec-container { max-width: 1600px; }
  .ec-slide__content-pane { padding: clamp(2rem, 3vw, 5rem); }
}

@media (min-width: 1920px) {
  .ec-container { max-width: 1700px; }
  .ec-slide__title { font-size: clamp(2.2rem, 2.2vw, 3.25rem); }
  .ec-slide__description { font-size: clamp(1rem, 1vw, 1.15rem); }
}

@media (min-width: 2560px) {
  .ec-container { max-width: 1900px; }
  .ec-slide__content-pane { max-inline-size: 72ch; }
}

/* Handle safe areas (older syntax fallback) */
@supports (padding: max(0px)) {
  .ec-container {
    padding-left: max(var(--ec-section-px), env(safe-area-inset-left));
    padding-right: max(var(--ec-section-px), env(safe-area-inset-right));
  }
}

/* High-DPI displays (minor polish) */
@media (min-resolution: 2dppx) {
  .ec-thumb { box-shadow: 0 2px 6px rgba(0,0,0,0.12); }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .ec-slide__image { transition: none; transform: none; }
  .ec-slide__content-wrap { transition: none; transform: none; opacity: 1; }
  .ec-slide { transition: none; }
}



@media (max-width: 768px) {
  .ec-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 30;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
    gap: 0;
    pointer-events: none; /* container allows clicks through */
  }

  .ec-control {
    position: absolute;
    pointer-events: auto;  /* buttons remain clickable */
    width: clamp(40px, 8vw, 52px);
    height: clamp(40px, 8vw, 52px);
    display: grid;
    place-items: center;
  }

  /* First control (prev) on the far left, last control (next) on the far right */
  .ec-controls .ec-control:first-child { left: clamp(6px, 2.5vw, 12px); }
  .ec-controls .ec-control:last-child  { right: clamp(6px, 2.5vw, 12px); }

  /* Hide any extra controls (e.g., dots) inside the same container on small */
  .ec-controls .ec-control:not(:first-child):not(:last-child) { display: none; }
}

/* Low-height landscape: keep side-by-side and keep edge arrows */
@media (orientation: landscape) and (max-height: 500px) {
  .ec-slide {
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas: "image content" !important;
  }
  .ec-controls {
    top: 50%;
    left: 0; right: 0;
    transform: translateY(-50%);
  }
}




/* Side arrows between 769px and 1011px */
@media (min-width: 769px) and (max-width: 1012px) {
  .ec-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 30;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
    gap: 0;
    pointer-events: none; /* allow clicks through except on buttons */
  }

  .ec-control {
    position: absolute;
    pointer-events: auto; /* keep buttons clickable */
    width: clamp(40px, 6vw, 52px);
    height: clamp(40px, 6vw, 52px);
    display: grid;
    place-items: center;
  }

  /* Prev on left, Next on right */
  .ec-controls .ec-control:first-child { left: clamp(8px, 2vw, 14px); }
  .ec-controls .ec-control:last-child  { right: clamp(8px, 2vw, 14px); }

  /* Hide any extra controls (e.g., dots) in this range */
  .ec-controls .ec-control:not(:first-child):not(:last-child) { display: none; }
}



/* Alternative: stack image above content for iPad portrait */
@media (min-width: 1000px) and (max-width: 1060px) and (orientation: portrait) {
  .ec-core {
    height: clamp(600px, 78svh, 900px);
    max-height: 90svh;
  }
  @supports (height: 1dvh) {
    .ec-core {
      height: clamp(600px, 78dvh, 900px);
      max-height: 90dvh;
    }
  }

  .ec-slide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "image"
      "content";
  }
  .ec-slide__content-pane {
    align-items: center;
    text-align: center;
    margin-inline: auto;
    max-inline-size: 70ch;
  }
}


/* A) Short-height landscape phones (covers 667×375, 844×390, 740×360, 914×412) */
@media (orientation: landscape) and (max-height: 420px) {
  .ec-core {
    height: min(92svh, 480px) !important;
    max-height: 92svh !important;
  }
  @supports (height: 1dvh) {
    .ec-core { height: min(92dvh, 480px) !important; max-height: 92dvh !important; }
  }

  .ec-slide { grid-template-columns: 60% 40% !important; } /* more room for image */
  .ec-slide__content-pane { padding: 0.75rem 1rem !important; }

  /* Tighten text so content doesn't steal height from the image */
  .ec-slide__title      { font-size: clamp(1.3rem, 4vw, 1.9rem) !important; }
  .ec-slide__subtitle   { font-size: clamp(0.9rem, 2.8vw, 1.05rem) !important; }
  .ec-slide__description{
    font-size: clamp(0.8rem, 2.2vw, 0.95rem) !important;
    line-height: 1.6 !important;
    margin-bottom: 1rem !important;
    max-height: 6.5lh; /* allow scroll if still long */
    overflow: auto;
  }

  /* Make the image pop (remove vignette overlay on landscape) */
  .ec-slide__image-pane::after { display: none !important; }
}

/* B) Mid-height landscape tablets (e.g., 720×540) */
@media (orientation: landscape) and (min-height: 421px) and (max-height: 860px) and (max-width: 1280px) {
  .ec-core {
    height: clamp(420px, 78svh, 720px) !important;
    max-height: 88svh !important;
  }
  @supports (height: 1dvh) {
    .ec-core { height: clamp(420px, 78dvh, 720px) !important; max-height: 88dvh !important; }
  }

  .ec-slide { grid-template-columns: 62% 38% !important; }
  .ec-slide__content-pane { padding: clamp(0.9rem, 2.4vw, 2rem) !important; }
}

/* C) Classic tablet/desktop 4:3 and similar (1024×768, 1180×820, 1366×1024, 1368×912) */
@media (orientation: landscape) and (min-width: 1000px) and (max-width: 1400px) {
  .ec-core {
    /* remove the 650px cap and use more of the vertical space */
    height: clamp(560px, 78svh, 860px) !important;
    max-height: 90svh !important;
  }
  @supports (height: 1dvh) {
    .ec-core { height: clamp(560px, 78dvh, 860px) !important; max-height: 90dvh !important; }
  }

  .ec-slide { grid-template-columns: 65% 35% !important; } /* wider image */
  .ec-slide__content-pane { padding: clamp(1rem, 2.5vw, 2.25rem) !important; }
}

/* D) Extra-wide landscape phones (aspect ≥ 2:1) – give image even more width */
@media (orientation: landscape) and (min-aspect-ratio: 2/1) and (max-width: 1024px) {
  .ec-slide { grid-template-columns: 62% 38% !important; }
  .ec-slide__content-pane { padding: 0.8rem 1rem !important; }
  .ec-slide__image-pane::after { display: none !important; }
}


@media only screen and (width: 667px) and (height: 375px),
only screen and (width: 720px) and (height: 540px),
only screen and (width: 1024px) and (height: 768px),
only screen and (width: 1180px) and (height: 820px),
only screen and (width: 1366px) and (height: 1024px) {

.ec-core {
height: clamp(400px, 86svh, 900px) !important;
max-height: 92svh !important;
}
@supports (height: 1dvh) {
.ec-core { height: clamp(400px, 86dvh, 900px) !important; max-height: 92dvh !important; }
}

/* Give image more width than content */
.ec-slide {
grid-template-columns: 64% 36% !important;
grid-template-areas: "image content" !important;
}

/* Reduce content padding so it doesn’t steal space from the image */
.ec-slide__content-pane {
padding: clamp(0.8rem, 2.2vw, 1.8rem) !important;
}

/* Keep description compact; scroll if still long */
.ec-slide__description {
margin-bottom: 1rem !important;
max-height: 7.5lh;
overflow: auto;
}

/* Remove vignette on these sizes so image stays crisp */
.ec-slide__image-pane::after { display: none !important; }
}

/* Extra tightening for very short-height landscape (667×375 in particular) */
@media only screen and (width: 667px) and (height: 375px) {
.ec-core {
height: min(92svh, 480px) !important;
max-height: 92svh !important;
}
@supports (height: 1dvh) {
.ec-core { height: min(92dvh, 480px) !important; max-height: 92dvh !important; }
}

.ec-slide { grid-template-columns: 62% 38% !important; }
.ec-slide__title { font-size: clamp(1.2rem, 4.6vw, 1.7rem) 
  !important; }
.ec-slide__subtitle { font-size: clamp(0.85rem, 2.6vw, 1rem) !important; }
}

/* A little more breathing room on classic tablets (1024×768, 1180×820, 1366×1024) */
@media only screen and (width: 1024px) and (height: 768px),
only screen and (width: 1180px) and (height: 820px),
only screen and (width: 1366px) and (height: 1024px) {
.ec-core {
height: clamp(560px, 78svh, 880px) !important;
max-height: 90svh !important;
}
@supports (height: 1dvh) {
.ec-core { height: clamp(560px, 78dvh, 880px) !important; max-height: 90dvh !important; }
}
.ec-slide { grid-template-columns: 65% 35% !important; }
.ec-slide__content-pane { padding: clamp(1rem, 2.6vw, 2.25rem) !important; }
}


/* Per-slide mini-gallery (inside image pane) */
.ec-gallery {
  position: relative;
  width: 100%;
  height: 100%;
}

.ec-gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(32px, 4vw, 40px);
  height: clamp(32px, 4vw, 40px);
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  color: #333;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 15; /* above image but below global .ec-controls (z:20) */
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}

.ec-gallery__arrow--prev { left: 8px; }
.ec-gallery__arrow--next { right: 8px; }
.ec-gallery__arrow:hover { transform: translateY(-50%) scale(1.05); }

.ec-gallery__dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  gap: 6px;
  z-index: 15;
}
.ec-gallery__dots .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.7);
}
.ec-gallery__dots .dot.active { background: var(--ec-accent); }





/* --------------------------------------------------------------
   Responsive add-on for EventCarousel
   - Keeps desktop unchanged
   - Optimizes portrait, landscape, extreme zoom in/out, and small heights
   -------------------------------------------------------------- */

/* Touch ergonomics for gallery arrows */
.ec-gallery__arrow {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
@media (pointer: coarse) {
  .ec-gallery__arrow {
    width: 44px;
    height: 44px;
  }
}

/* Make thumbnails scrollable on small screens */
@media (max-width: 900px) {
  .ec-section {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  .ec-thumbnails {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding: 8px env(safe-area-inset-right) 8px env(safe-area-inset-left);
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .ec-thumb {
    flex: 0 0 auto;
    width: 96px;
    scroll-snap-align: start;
  }
  .ec-thumb__image {
    width: 100%;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
  }
}

/* Stack slide panes on mobile; keep only active slide visible */
@media (max-width: 900px) {
  .ec-slide__content-pane {
    grid-area: content;
    position: static !important;
    padding: 16px 16px 18px !important; /* top padding fixes the overlap */
    background: var(--ec-card-bg, #fff);
    border-radius: 12px;
    overflow: hidden; /* keep content inside rounded corners */
    box-sizing: border-box;
  }

  .ec-slide__content-wrap {
    position: static !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 70ch;
  }

  /* Normalize spacing: remove default top margins, then add controlled gaps */
  .ec-slide__date,
  .ec-slide__title,
  .ec-slide__subtitle,
  .ec-slide__description {
    margin: 0;
    max-width: 100%;
  }
  .ec-slide__date { margin-bottom: 6px; }
  .ec-slide__title { margin-bottom: 6px; }
  .ec-slide__subtitle { margin-bottom: 10px; }
  .ec-slide__description { margin-bottom: 12px; }

  /* Fluid typography to avoid overflow on narrow screens */
  .ec-slide__title {
    font-size: clamp(20px, 6vw, 28px);
    line-height: 1.2;
  }
  .ec-slide__subtitle {
    font-size: clamp(14px, 3.8vw, 18px);
    line-height: 1.35;
  }
  .ec-slide__description {
    font-size: clamp(14px, 3.8vw, 16px);
    line-height: 1.55;
    /* Keep long words/URLs inside the box */
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
  }

  /* Add a small gap between image and card to ensure separation */
  .ec-slide__image-pane { margin-bottom: 10px; }

  /* Keep the CTA visible and aligned */
  .ec-slide__button { width: 100%; margin-top: 4px; }
   .ec-slide__content-pane .ec-slide__button {
    display: none !important;
  }

  .ec-mobile-cta {
    display: block;
    margin-top: 12px;
    padding: 0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));
  }

  .ec-mobile-cta__button {
    width: 100%;
    /* Reuse your existing .ec-slide__button styles; add small tweaks if needed */
  }
}

/* If your overlap persists, bump space below the image slightly */
@media (max-width: 900px) {
  .ec-slide__image-pane { width: 100%;
    aspect-ratio: var(--ec-img-mobile-ratio);
    border-radius: 12px;
    overflow: hidden;}
    .ec-slide__date { 
  margin-bottom: 6px; 
  margin-left: 0 !important; 
}

/* was: margin-right: 50px !important; */
.ec-slide__title {
  margin-bottom: 6px; 
  margin-right: 0 !important;
}

/* was: margin-left: -20px !important; */
.ec-slide__description {
  margin-bottom: 12px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-inline: clamp(8px, 3vw, 16px) !important;  /* keeps text off the edge */
  max-inline-size: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

/* keep content card flexible */
.ec-slide__content-pane {
  padding: 16px 16px 18px !important;
  max-inline-size: 100%;
  min-width: 0;
}
/* Ensure 716×547 (and smaller) behaves the same here too */
.ec-thumbnails {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin-top: 12px !important;
}

.ec-slide__content-pane .ec-slide__button {
  display: inline-flex !important; /* overrides earlier 'display:none' */
}
}

/* Landscape phones with short height */
@media (orientation: landscape) and (max-height: 500px) {
  .ec-slide.ec-slide--active {
    grid-template-rows: auto 1fr;
  }
  .ec-slide__image-pane {
    aspect-ratio: auto;
    height: 48vh;
  }
  .ec-slide__content-pane {
    max-height: 44vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Very narrow screens */
@media (max-width: 360px) {
  .ec-thumb { width: 84px; }
  .ec-thumb__image { height: 56px; }
  .ec-gallery__arrow {
    width: 40px;
    height: 40px;
  }
}

/* Tablet range: keep 2-column feel with comfortable minimums (no visual change intent) */
@media (min-width: 901px) and (max-width: 1200px) {
  .ec-slide__image-pane,
  .ec-slide__content-pane {
    min-height: 420px;
  }
}

/* Prevent layout break on extreme zoom; long words wrap nicely */
.ec-container,
.ec-core,
.ec-slides,
.ec-slide__content-wrap {
  max-width: 100%;
}
.ec-slide__description {
  overflow-wrap: anywhere;
}

/* Touch ergonomics styling */
@media (pointer: coarse) {
  .ec-gallery__arrow {
    padding: 8px;
    border-radius: 999px;
    background: color-mix(in srgb, #000 10%, transparent);
  }
}

/* Reduce motion if user prefers */
@media (prefers-reduced-motion: reduce) {
  .ec-slides,
  .ec-slide,
  .ec-thumb__indicator,
  .ec-gallery__arrow,
  .ec-gallery__dots {
    transition: none !important;
    animation: none !important;
  }
  .ec-slides { scroll-behavior: auto !important; }
}

/* Thumbnails can wrap if height is extremely limited in portrait */
@media (orientation: portrait) and (max-height: 560px) and (max-width: 900px) {
  .ec-thumbnails {
    flex-wrap: wrap;
    row-gap: 8px;
  }
}



/* Exact viewport: 540 × 720 — prevent image clipping */
@media (width: 540px) and (height: 720px) {
   /* Keep column layout */
  .ec-slide.ec-slide--active {
    display: flex !important;
    flex-direction: column;
    gap: 14px;
    height: auto !important;
    overflow: visible !important;
  }

  /* Smaller, fixed image frame (no clipping, more room for text) */
  .ec-slide__image-pane {
    /* Pick one of these two heights — 240px is tighter, 260px a bit larger */
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    flex: 0 0 240px !important;

    /* If you prefer a dynamic height tied to viewport, use this instead:
       height: clamp(220px, 34dvh, 260px) !important;
       min-height: clamp(220px, 34dvh, 260px) !important;
       max-height: clamp(220px, 34dvh, 260px) !important;
       flex: 0 0 clamp(220px, 34dvh, 260px) !important;
    */

    aspect-ratio: auto;     /* override earlier aspect rules */
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin: 0;
    position: relative;
  }

  .ec-gallery { position: relative; height: 100%; }
  .ec-slide__image { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

  /* Ensure nothing below gets clipped */
  .ec-section, .ec-core, .ec-slides, .ec-slide {
    height: auto !important;
    overflow: visible !important;
  }

  /* Content card remains full and readable */
  .ec-slide__content-pane {
    position: static !important;
    background: #fff;
    border-radius: 16px;
    padding: 20px 20px 22px !important;
    overflow: visible !important;
  }
  .ec-slide__description { max-height: none !important; overflow: visible !important; }

  /* External sticky CTA (if you’re using it) and bottom padding so it doesn’t cover text */
  .ec-slide__content-pane .ec-slide__button { display: none !important; }
  .ec-mobile-cta {
    display: block !important;
    position: sticky; bottom: 0; z-index: 5;
    background: linear-gradient(to top, rgba(255,255,255,0.96), rgba(255,255,255,0.6), transparent);
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    backdrop-filter: saturate(1.2) blur(6px);
    margin-top: 12px;
  }
  .ec-mobile-cta__button { width: 100%; }
  .ec-container { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }

  /* Keep gallery dots inside the image */
  .ec-gallery__dots {
    position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%);
    pointer-events: none;
  }
    /* Add space after the card */
  .ec-slide__content-pane {
    margin-bottom: 28px !important;
  }

  /* Ensure thumbnails sit below and not on top of the card */
  .ec-thumbnails {
    position: static !important; /* cancel any absolute/relative tricks */
    margin-top: 160px !important; /* push them a little down */
  }
}

/* 912 × 1368 (portrait) — match the shown layout */
@media (width: 912px) and (height: 1368px) {
  /* Let the section grow; no clipping */
  .ec-section, .ec-core, .ec-slides, .ec-slide, .ec-slide.ec-slide--active {
    height: auto !important;
    overflow: visible !important;
  }

  /* Stack: image on top, card below */
  .ec-slide { display: none !important; transform: none !important; opacity: 1 !important; }
  .ec-slide.ec-slide--active {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 22px;
  }

  /* Image frame (stable, no clip) */
  .ec-slide__image-pane {
    width: 100%;
    height: 420px;            /* adjust 380–460px to taste */
    min-height: 420px;
    max-height: 420px;
    border-radius: 16px;
    overflow: hidden;
  }
  .ec-slide__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .ec-gallery__arrow { inset: 0; } /* keep your existing arrow placement */
  .ec-gallery__dots { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); pointer-events: none; }

  /* Card styles */
  .ec-slide__content-pane {
    position: static !important;
    background: #fff;
    border-radius: 16px;
    padding: 24px 24px 26px !important;
    overflow: visible !important;
  }
  .ec-slide__content-wrap {
    max-width: 74ch;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
  }

  /* Typography (centered like screenshot) */
  .ec-slide__date { margin: 0 auto 6px; text-align: center; letter-spacing: .08em; opacity: .8; }
  .ec-slide__title { margin: 0; text-align: center; font-size: 34px; line-height: 1.2; }
  .ec-slide__subtitle { margin: 0; text-align: center; font-size: 20px; line-height: 1.35; }
  .ec-slide__description { margin: 0; font-size: 16px; line-height: 1.6; max-height: none !important; overflow: visible !important; }

  /* Thumbnails: centered and pushed down */
  .ec-thumbnails {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 22px !important;   /* space from card */
    position: static !important;
  }
  .ec-thumb { width: 120px; }
  .ec-thumb__image { width: 100%; height: 78px; object-fit: cover; border-radius: 10px; display: block; }

  /* External mobile CTA not shown on this tablet size */
  .ec-mobile-cta { display: none !important; }

  /* A little bottom breathing room for the section */
  .ec-container { padding-bottom: 32px; }
}



/* 912 × 1368 (portrait) — smaller image so nothing overlaps */
@media (width: 912px) and (height: 1368px) {
  /* Column layout with safe gaps */
  .ec-slide.ec-slide--active {
    display: flex !important;
    flex-direction: column;
    gap: 20px;
    height: auto !important;
    overflow: visible !important;
  }

  /* Reduce image height to make room for the card + thumbs */
  .ec-slide__image-pane {
    flex: 0 0 360px;             /* adjust to 340–380px if needed */
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
  }
  .ec-slide__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  /* Card: no overlay or clipping */
  .ec-slide__content-pane {
    position: static !important;
    background: #fff;
    border-radius: 16px;
    padding: 24px 24px 26px !important;
    overflow: visible !important;
  }
  .ec-slide__description {
    max-height: none !important;
    overflow: visible !important;
    line-height: 1.6;
  }

  /* Thumbnails: sit below the card (no overlap with image) */
  .ec-thumbnails {
    position: static !important;
    justify-content: center;
    gap: 16px;
    margin-top: 22px !important;
  }

  /* Keep gallery dots inside the image area */
  .ec-gallery { position: relative; }
  .ec-gallery__dots {
    position: absolute;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    pointer-events: none;
  }
}





/* ================================
   LANDSCAPE FIX — phones + tablets
   No scrollbars, no clipping
   Paste at the very end of your CSS
   ================================ */
@media (orientation: landscape) and (max-width: 1400px) {
  /* Compact vertical spacing so header + core never exceed viewport */
  .ec-section {
    padding-block: clamp(8px, 1.5svh, 14px) !important;
    overflow: clip !important;
  }
  .ec-header {
    margin-bottom: clamp(8px, 1.8svh, 14px) !important;
  }

  /* Lock the carousel to the viewport height */
  .ec-core {
    position: relative;
    height: min(88dvh, 760px) !important; /* leave room for header/padding */
    max-height: 88dvh !important;
    min-height: 300px !important;
    overflow: hidden !important;
  }
  @supports (height: 1svh) {
    .ec-core {
      height: min(88svh, 760px) !important;
      max-height: 88svh !important;
    }
    .ec-slide__content-pane {
  padding: clamp(12px, 2.2vw, 22px) !important;
  overflow: visible !important;   /* let wrapped text breathe horizontally */
  max-height: none !important;
}
  }

  /* Keep side-by-side columns to save vertical space */
  .ec-slide {
    grid-template-columns: 60% 40% !important;
    grid-template-areas: "image content" !important;
  }
  .ec-slide__image-pane {
    aspect-ratio: auto !important;
    height: 100% !important;
  }
  .ec-slide__image-pane::after { display: none !important; } /* remove vignette in landscape */

  /* No inner scrollbars; tighter padding */
  .ec-slide__content-pane {
    padding: clamp(12px, 2.2vw, 22px) !important;
    overflow: hidden !important; /* prevent inner scroll */
    max-height: none !important;
  }

  /* Typography that never forces overflow */
  .ec-slide__title {
    font-size: clamp(18px, 3vw, 28px) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  .ec-slide__subtitle {
    font-size: clamp(14px, 2.4vw, 18px) !important;
    white-space: normal !important; /* fix forced nowrap */
  }
  .ec-slide__description {
    font-size: clamp(13px, 2.1vw, 16px) !important;
    line-height: 1.55 !important;
    /* Clamp lines instead of scrolling */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 6 !important;
    overflow: hidden !important;
  }

  /* Controls float over the slide (don’t consume layout height) */
  .ec-controls {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    background: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    gap: 0 !important;
    pointer-events: none !important; /* let slide clicks pass through */
  }
  .ec-control { pointer-events: auto !important; }

  /* Thumbnails overlay inside the core; hidden scrollbars */
  .ec-thumbnails {
    position: absolute !important;
    left: 50% !important;
    bottom: clamp(8px, 2svh, 14px) !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 8px !important;
    z-index: 22 !important;
    max-width: min(96vw, var(--ec-container-max)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    background: none !important;
    gap: clamp(6px, 1.2vw, 12px) !important;
  }
  .ec-thumb {
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
  }
  .ec-thumbnails::-webkit-scrollbar { display: none !important; }
  .ec-thumbnails { scrollbar-width: none !important; -ms-overflow-style: none !important; }

  /* Don’t let sticky CTA steal vertical room in landscape */
  .ec-mobile-cta { display: none !important; }
}

/* Belt-and-suspenders: never show horizontal bars from this section */
@media (orientation: landscape) and (max-width: 1400px) {
  .ec-section, .ec-container { overflow-x: clip !important; }
  .ec-core, .ec-slides, .ec-slide__content-pane {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .ec-core::-webkit-scrollbar,
  .ec-slides::-webkit-scrollbar,
  .ec-slide__content-pane::-webkit-scrollbar { display: none !important; }
}



/* -------------------------------------------------
   PATCH — Extreme zoom-in/out + small fixes
   Paste after your existing CSS
   ------------------------------------------------- */

/* Fix typos so rules actually apply */
.ec-subtitle { margin-top: 10px; }            /* replaces marginTop:"10px" */
@media (max-width: 576px) {
  .ec-slide__subtitle { white-space: nowrap; }/* replaces whitespace: nowrap */
  /* Smaller phones (covers ~505×507 and below) */
.ec-core {
  /* shorter section on small devices */
  height: clamp(340px, 58svh, 500px);
  max-height: 70svh;
}
@supports (height: 1dvh) {
  .ec-core {
    height: clamp(340px, 58dvh, 500px);
    max-height: 70dvh;
  }
}

/* add gap between image and content when stacked */
.ec-slide {
  row-gap: clamp(10px, 2.6vw, 16px);
}

/* slightly flatter image so text has more room */
.ec-slide__image-pane {
  aspect-ratio: 16 / 9;
  margin-bottom: 6px;
}

/* shrink type so it never runs into the image */
.ec-slide__date {
  font-size: clamp(0.62rem, 2.8vw, 0.75rem);
  margin-bottom: 0.5rem;
}
.ec-slide__title {
  font-size: clamp(1.25rem, 6.2vw, 1.6rem);
  line-height: 1.2;
  margin: 0 0 0.4rem;
}
.ec-slide__subtitle {
  font-size: clamp(0.9rem, 4vw, 1.05rem);
  line-height: 1.35;
  margin-bottom: 0.5rem;
}
.ec-slide__description {
  font-size: clamp(0.85rem, 3.6vw, 0.95rem);
  line-height: 1.55;
  margin-bottom: 0.75rem;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

/* compact card padding and prevent any overlap */
.ec-slide__content-pane {
  padding: clamp(0.75rem, 3.5vw, 1rem) clamp(0.75rem, 3.5vw, 1rem)
           clamp(0.9rem, 3.8vw, 1.25rem) !important;
  min-width: 0;
  position: relative;
  z-index: 2;
}

/* in case the in-card CTA shows on some devices, avoid pulling it upward */
.ec-slide__button { margin-top: 0 !important; }
}

/* Ultra‑wide / zoomed‑out desktops (≥ 2200px) */
@media (min-width: 2200px) {
  /* Keep content readable and centered; avoid super wide lines */
  .ec-container { max-width: 2000px; }
  .ec-core { height: clamp(520px, 52vh, 760px); }
  .ec-slide { grid-template-columns: 58% 42%; }
  .ec-slide__content-pane {
    max-inline-size: 62ch;
    padding: clamp(1.5rem, 2vw, 3rem);
  }
  .ec-slide__title       { font-size: clamp(2.1rem, 1.4vw, 3rem); }
  .ec-slide__description { font-size: clamp(1rem, 0.95vw, 1.15rem); }
  .ec-thumb { width: 116px; height: 74px; }
}

/* 4K/5K and very high zoom‑out (≥ 3200px) */
@media (min-width: 3200px) {
  .ec-container { max-width: 2200px; }
  .ec-core { height: clamp(540px, 46vh, 780px); }
  .ec-slide__content-pane { max-inline-size: 60ch; }
  .ec-slide__title       { font-size: clamp(2.3rem, 1.2vw, 3.2rem); }
  .ec-slide__description { font-size: clamp(1.05rem, 0.85vw, 1.2rem); }
}

/* Prevent big top/bottom gaps on wide-but-short viewports */
@media (min-width: 1400px) and (max-height: 820px) {
  .ec-section { padding-block: clamp(12px, 2vh, 20px); }
  .ec-header  { margin-bottom: clamp(8px, 2vh, 16px); }
  .ec-core    { height: min(76vh, 640px); }
}

/* Keep thumbnails inside the core on extra-wide aspect ratios (prevents awkward spacing) */
@media (min-width: 1024px) and (min-aspect-ratio: 16/9) {
  .ec-thumbnails {
    position: absolute;
    left: 50%;
    bottom: clamp(10px, 2vh, 16px);
    transform: translateX(-50%);
    margin: 0;
  }
}

/* Extra-tight zoom-in (≤ 340px) */
@media (max-width: 340px) {
  .ec-slide__title       { font-size: clamp(1.25rem, 6.4vw, 1.55rem); }
  .ec-slide__subtitle    { white-space: normal; } /* allow wrapping on the tiniest screens */
  .ec-slide__button      { padding: 0.6em 1.1em; }
  .ec-controls           { gap: 4px; }
  .ec-controls .ec-control:not(:first-child):not(:last-child) { display: none; }
}

/* Super low-height phones in landscape: reduce vertical pressure even more */
@media (orientation: landscape) and (max-height: 420px) and (min-width: 768px) {
  .ec-core { height: min(88vh, 520px) !important; }
  .ec-slide__description {
    -webkit-line-clamp: 5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ===========================
   PATCH: smaller height + move thumbnails under slider
   Place at the very end
   =========================== */

/* 1) Slightly reduce slider height on desktop */
@media (min-width: 992px) {
  .ec-core {
    /* was clamp(420px, 70svh, 650px) */
    height: clamp(420px, 60svh, 600px) !important;
    max-height: 76svh !important;
  }
}
@supports (height: 1dvh) {
  @media (min-width: 992px) {
    .ec-core {
      height: clamp(420px, 60dvh, 600px) !important;
      max-height: 76dvh !important;
    }
  }
}

/* Landscape fix block earlier used 88vh and overlaid thumbnails.
   So we tighten height and cancel overlay thumbnails there. */
@media (orientation: landscape) and (max-width: 1400px) {
  .ec-core {
    height: min(80dvh, 640px) !important;
    max-height: 80dvh !important;
  }
  @supports (height: 1svh) {
    .ec-core {
      height: min(80svh, 640px) !important;
      max-height: 80svh !important;
    }
  }
}

/* 2) Move the three thumbnails BELOW the slider (not at the bottom of page) */
@media (min-width: 768px) {
  .ec-thumbnails {
    position: static !important;     /* cancel absolute overlay */
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-top: clamp(12px, 2vh, 22px) !important; /* sit right under the slider */
    padding: 0 !important;
    max-width: none !important;
    background: none !important;
  }
  /* 716×547 and below — keep thumbs under the slider and show CTA */
.ec-core,
.ec-slides {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.ec-slide.ec-slide--active {
  position: relative !important;   /* cancel absolute slide so wrapper sizes to content */
  inset: auto !important;
  height: auto !important;
}

/* Thumbnails must sit below the slider (no overlay in landscape) */
.ec-thumbnails {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin-top: 12px !important;
}

/* Show the CTA button inside the card; keep it clear of the thumbs */
.ec-slide__content-pane .ec-slide__button {
  display: inline-flex !important;
}
.ec-slide__content-pane {
  padding-bottom: 16px !important;
}
.ec-mobile-cta {
  display: none !important; /* avoid duplicate CTA on this size */
}
}

/* Ensure thumbnails never stick to the page edge on super-wide/aspect views */
@media (min-aspect-ratio: 16/9) and (min-width: 1024px) {
  .ec-thumbnails {
    position: static !important;
    transform: none !important;
  }
}

/* Optional: nudge the Latest Events block tighter to reduce perceived gap */
.ec-header {
  margin-bottom: clamp(1rem, 3vh, 2rem);
}



/* Fix for 718–899px width (≈717px height):
   - show CTA
   - keep thumbnails below the slider (no overlay)
   - set a safe height so CTA isn't clipped and no big white gap appears */
@media (min-width: 718px) and (max-width: 899px) and (min-height: 700px) and (max-height: 740px) {
  /* Make sure the CTA inside the card is visible (overrides earlier hide rule) */
  .ec-slide__content-pane .ec-slide__button {
    display: inline-flex !important;
  }
  /* Remove any negative margin that can pull the CTA under the thumbs */
  .ec-slide__button { margin-top: 0 !important; }

  /* Keep thumbnails below the slider (cancel landscape overlay) */
  .ec-thumbnails {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-top: 14px !important;
    z-index: 1 !important;
  }

  /* Slight breathing room inside the content card */
  .ec-slide__content-pane { padding-bottom: 18px !important; }

  /* Set a safe, not-too-tall height so there's no clipping and no extra white gap */
  .ec-core {
    height: clamp(560px, 78dvh, 680px) !important; /* ~560–680px for a 717px-tall viewport */
    max-height: none !important;
  }
}

@supports not (height: 1dvh) {
  @media (min-width: 718px) and (max-width: 899px) and (min-height: 700px) and (max-height: 740px) {
    .ec-core { height: clamp(560px, 78vh, 680px) !important; }
  }
}

/* 718–899px wide (≈717px tall): remove extra white space and keep CTA visible */
@media (min-width: 718px) and (max-width: 899px) {
  /* Let the core and wrapper size to content instead of fixed vh */
  .ec-core,
  .ec-slides {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Only the active slide participates in layout -> removes inner empty space */
  .ec-slide.ec-slide--active {
    position: relative !important;   /* not absolute */
    inset: auto !important;
    height: auto !important;
  }

  /* Ensure the CTA is never hidden and not pulled up */
  .ec-slide__button { margin-top: 0 !important; }
  .ec-slide__content-pane { padding-bottom: 16px !important; overflow: visible !important; }

  /* Thumbnails stay below the slider (no overlay), tight gap */
  .ec-thumbnails {
    position: static !important;
    transform: none !important;
    margin-top: 12px !important;
    bottom: auto !important;
    left: auto !important; right: auto !important;
    z-index: 1 !important;
  }

  /* Remove any section/container bottom padding that could look like extra space */
  .ec-section { padding-bottom: 0 !important; }
  .ec-container { padding-bottom: 0 !important; }
}



/* Single-CTA policy — keeps only one Discover More button visible */

/* Mobile/tablet: use sticky CTA only */
@media (max-width: 900px) {
  .ec-slide__content-pane .ec-slide__button { display: none !important; }
  .ec-mobile-cta { display: block !important; }
}

/* Desktop: use in-card CTA only */
@media (min-width: 901px) {
  .ec-slide__content-pane .ec-slide__button { display: inline-flex !important; }
  .ec-mobile-cta { display: none !important; }
}



@media (max-width: 576px) {
  /* Let the wrapper size to its content (no clipping) */
  .ec-core,
  .ec-slides {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Only the active slide participates in layout */
  .ec-slide.ec-slide--active {
    position: relative !important;   /* not absolute */
    inset: auto !important;
    height: auto !important;
  }

  /* Slightly flatter image to free space for text */
  .ec-slide__image-pane {
    aspect-ratio: 16 / 10 !important;
    margin-bottom: 8px !important;
  }

  /* Compact, flexible content card */
  .ec-slide__content-pane {
    padding: 12px 14px 14px !important;
    overflow: visible !important;
    min-width: 0 !important;
  }

  /* Scale down typography so it never overruns */
  .ec-slide__date {
    font-size: clamp(0.62rem, 2.8vw, 0.75rem) !important;
    margin-bottom: 0.4rem !important;
  }
  .ec-slide__title {
    font-size: clamp(1.15rem, 6.5vw, 1.45rem) !important;
    line-height: 1.2 !important;
    margin: 0 0 0.4rem !important;
  }
  .ec-slide__subtitle {
    font-size: clamp(0.9rem, 3.8vw, 1rem) !important;
    line-height: 1.35 !important;
    white-space: normal !important;   /* ensure wrapping */
    margin-bottom: 0.5rem !important;
  }
  .ec-slide__description {
    font-size: clamp(0.84rem, 3.6vw, 0.95rem) !important;
    line-height: 1.55 !important;
    margin-bottom: 0.6rem !important;
    max-height: none !important;
    overflow: visible !important;
    max-inline-size: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }

  /* Keep CTA clear of text and visible */
  .ec-slide__button { margin-top: 0 !important; }

  /* Thumbs sit right under the card */
  .ec-thumbnails { margin-top: 10px !important; }
}



/* 575–504px wide × ~507px tall (landscape):
   keep text inside the card and keep one CTA visible */
@media (orientation: landscape) and (min-width: 504px) and (max-width: 575px) and (max-height: 560px) {
  /* Give a bit more room to the content column */
  .ec-slide { grid-template-columns: 56% 44% !important; }

  .ec-slide__content-pane {
    padding: 10px 12px 12px !important;
    min-width: 0 !important;
    overflow: hidden !important;   /* no inner scrollbars on this size */
  }

  /* Tighter, responsive typography */
  .ec-slide__title {
    font-size: clamp(1.05rem, 3.4vw, 1.35rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 6px !important;
  }
  .ec-slide__subtitle {
    font-size: clamp(0.85rem, 2.6vw, 0.95rem) !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }
  .ec-slide__description {
    font-size: clamp(0.78rem, 2.4vw, 0.9rem) !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
    max-inline-size: 100% !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;

    /* Clamp lines so it never overflows the rounded card */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    overflow: hidden !important;
  }

  /* Avoid double CTA and prevent overlap: use in-card button here */
  .ec-mobile-cta { display: none !important; }
  .ec-slide__content-pane .ec-slide__button { display: inline-flex !important; margin-top: 0 !important; }

  /* Keep thumbnails below the slider (no overlay) */
  .ec-thumbnails {
    position: static !important;
    transform: none !important;
    margin-top: 10px !important;
  }

  /* Let the wrapper size to content so nothing gets clipped */
  .ec-core, .ec-slides { height: auto !important; max-height: none !important; overflow: visible !important; }
  .ec-slide.ec-slide--active { position: relative !important; inset: auto !important; height: auto !important; }
}



/* Mobile: keep thumbnails directly under the Latest Events slider (not page bottom) */
@media (max-width: 900px) {
  /* Let the core size to its content so thumbs sit right below */
  .ec-core,
  .ec-slides {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .ec-slide.ec-slide--active {
    position: relative !important;  /* cancel absolute slide */
    inset: auto !important;
    height: auto !important;
  }

  /* Place thumbnails in normal document flow, centered, with a small gap */
  .ec-thumbnails {
    position: static !important;      /* cancel absolute overlay */
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: clamp(10px, 2.5vw, 16px) auto 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
  }
}

/* Mobile landscape: override earlier landscape rule that set them absolute */
@media (orientation: landscape) and (max-width: 900px) {
  .ec-thumbnails {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-top: clamp(8px, 2vh, 14px) !important;
  }
}
/* Container for the slider */
:root {
  --maxW: 120rem;              /* ~1920px max width */
  --minH: min(18rem, 100svh);  /* never bigger than viewport when zoomed in */
  --idealH: 60svh;             /* primary target height */
  --maxH: min(50rem, 100svh);  /* clamp top to viewport when zoomed out */
  --padX: clamp(0rem, 2vw, 1.25rem);
}

/* Fallback if svh/dvh unsupported */
@supports not (height: 1svh) {
  :root {
    --minH: min(18rem, 100vh);
    --idealH: 60vh;
    --maxH: min(50rem, 100vh);
  }
}

.slider-container {
  position: relative;
  width: 100%;
  max-width: var(--maxW);
  height: clamp(var(--minH), var(--idealH), var(--maxH));
  overflow: hidden;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.3) 100%),
    black;
  margin: 0 auto;
  padding-inline: var(--padX);
  line-height: 0;

  /* Center wrapper without affecting inner flex alignment defaults */
  display: grid;
  place-items: center;

  container-type: inline-size;

  /* Extend black beyond the sides to fill full width */
  box-shadow: 0 0 0 100vmax #000;
  clip-path: inset(0 -100vmax);
}

/* Slide container */
.slide {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start; /* keep normal desktop/tablet/mobile behavior */
}

/* Base media styling */
.slide-media {
  width: 100%;
  height: 100%;
  object-fit: cover;            /* fill the container by default */
  object-position: center center;
  background-color: black;
  display: block;
  will-change: transform;
}

/* Hide mobile video by default */
.video-mobile {
  display: none;
}

/* Tablet (768px - 1024px) - Fit to width */
@media (min-width: 768px) and (max-width: 1024px) {
  .slider-container {
    width: 100%;
    height: auto;
    max-height: none;
    min-height: 0;
    aspect-ratio: 16/9;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    position: relative;
  }

  .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
  }

  .slide-media {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }

  .video-desktop { display: block; }
  .video-mobile  { display: none; }
}

/* Mobile (up to 767px) - Fit to height */
@media (max-width: 767px) {
  .slider-container {
    width: 100%;
    height: 80vh;
    aspect-ratio: 9/16;
    padding: 0;
    margin: 0 auto;
    position: relative;
  }

  .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
  }

  .slide-media {
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
  }

  .video-desktop { display: none; }
  .video-mobile  { display: block; }
}

/* Nest Hub Max (1280x800) */
@media (min-width: 1025px) and (max-width: 1280px) and (min-height: 799px) and (max-height: 801px) {
  .slider-container {
    width: calc(100% - 40px);
    margin: 0 auto;
    height: 50vh;
    max-height: 400px;
    min-height: 350px;
    padding: 0 20px;
  }

  .slide-media {
    object-fit: cover;
    transform: none;
    object-position: center 30%;
  }

  .video-desktop { display: block; }
  .video-mobile  { display: none; }
}

/* Desktop (1025px and above) */
@media (min-width: 1025px) {
  .slider-container {
    width: 100%;
    height: 60vh;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .slide-media {
    object-fit: cover;
    transform: scale(1.2);
    transform-origin: center center;
  }

  .video-desktop { display: block; }
  .video-mobile  { display: none; }
}

/* Small mobile devices */
@media (max-width: 360px) {
  .slider-container {
    height: 30vh;
    min-height: 180px;
    max-height: none;
    padding: 0;
    margin: 0;
  }
}

@container (max-width: 40rem) {
  .slide-media { object-fit: contain; }
}

/* Keep as-is: container query clamp for wide containers */
@container (min-width: 90rem) {
  .slider-container { height: clamp(var(--minH), 50svh, var(--maxH)); }
}

/* Source switching:
   Landscape: desktop video
   Portrait: mobile video */
.video-desktop { display: block; }
.video-mobile  { display: none; }

@media (orientation: portrait) {
  .video-desktop { display: none; }
  .video-mobile  { display: block; }
}

/* Tiny containers (very small devices or extreme zoom-in) */
@container (max-width: 22.5rem) { /* ~360px */
  .slider-container {
    height: clamp(min(12rem, 100svh), 40svh, min(24rem, 100svh));
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .slide-media { transform: none !important; }
}

/* Subtle bottom overlap for seamless transition */
.slider-container {
  padding-bottom: 1px;
  margin-bottom: -1px;
  isolation: isolate;
}

.slider-container::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(24px, 5vh, 72px);
  pointer-events: none;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, #000 70%, #000 100%);
}

@media (max-width: 767px) {
  .slider-container::after {
    height: clamp(16px, 4vh, 56px);
  }
}

/* Special tablet fix (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .slider-container {
    width: 100%;
    height: 56.25vw; /* 16:9 aspect ratio */
    padding: 0;
  }

  .slide {
    width: 100%;
    height: 100%;
    max-width: none;
  }

  .slide-media {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Prevents clipping while maintaining aspect ratio */
    object-position: center;
    transform: none;     /* Remove scaling that might cause clipping */
  }
}

/* 📱 Galaxy Z Fold (Folded Portrait) — 344 x 882px */
@media screen
  and (min-device-width: 340px) and (max-device-width: 350px)
  and (min-device-height: 880px) and (max-device-height: 890px)
  and (orientation: portrait) {

  .slider-container {
    width: 100vw !important;  /* Fill full width */
    height: 100vh !important; /* Fill full height */
    min-height: 100vh !important;
    margin: 0;
    padding: 0 !important;
  }

  .slide {
    width: 100%;
    height: 100%;
  }

  .slide-media {
    width: 100vw !important;
    height: 75vh !important;
    object-fit: cover !important; /* Cover entire screen */
    object-position: center center;
    transform: scale(1.01); /* Gentle zoom to remove black bars */
  }
}

/* EXTREME ZOOM-OUT ONLY
   Apply a shorter hero + center content when the viewport is unusually wide.
   Threshold picked high so normal desktop/tablet/mobile remain unchanged. */
@media (min-width: 3000px) {
  .slider-container {
    height: clamp(10rem, 28svh, 22rem); /* shorter black area only at extreme zoom-out */
  }
  .slide {
    align-items: center;       /* center content vertically only in this case */
    text-align: center;
  }
}


/* Full viewport container */
.slider-container {
  position: relative;
  width: 100%;
  height: clamp(320px, 62vh, 760px) !important;
  /* stable on mobile address bar changes */
  height: clamp(320px, 62svh, 760px) !important;
  /* dynamic viewport (newer browsers) */
  height: clamp(320px, 62dvh, 760px) !important;

  min-height: 0 !important; /* neutralize any earlier min-height: 100vh */
  overflow: hidden;
  background: #000; /* fill letterbox bars */
}

.slide {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Show entire video without cropping */
.slide-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain !important;   /* no side cuts */
  object-position: center center;
  background: #000;                 /* behind transparent pixels */
}

/* Default: desktop visible, mobile hidden */
.video-desktop { display: block; }
.video-mobile  { display: none; }

/* Portrait/tall aspect: use 9:16 mobile video (no cropping) */
@media (orientation: portrait), (max-aspect-ratio: 3/4) {
  .video-desktop { display: none !important; }
  .video-mobile  { display: block !important; }
  .slider-container {
    height: clamp(360px, 68svh, 820px) !important;
  }
}

/* Landscape/wide aspect: use 16:9 desktop video (no cropping) */
@media (orientation: landscape), (min-aspect-ratio: 4/3) {
  .video-desktop { display: block !important; }
  .video-mobile  { display: none !important; }
  .slider-container {
    height: clamp(300px, 56svh, 700px) !important;
  }
}

/* Extra tall/narrow phones: keep subject centered, still no crop */
@media (max-aspect-ratio: 9/16) {
  .slide-media { object-position: 50% 50%; }
}

/* Safe-area padding (does not affect video sizing) */
@supports (padding: max(0px)) {
  .slider-container {
    padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0)
             env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0);
  }
}
/* Very small phones */
@media (max-width: 400px) {
  .slider-container {
    height: clamp(280px, 60svh, 620px) !important;
  }
}






/* Keep it sized correctly (if not already set) */

/* Make iframe fill and disable interactions so hover UI never shows */
/* Ensure the iframe fills and is non-interactive */
.slide-media {
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none; /* prevents hover overlays (Watch later/Share) */
}

/* Hide until PLAYING state to avoid initial title flash on reload */
.yt-hidden {
  opacity: 0;
  visibility: hidden;
}
.yt-ready {
  opacity: 1;
  visibility: visible;
  transition: opacity 240ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .yt-ready { transition: none; }
}


height: calc(100vh - 5px) !important;
  /* stable viewport units on mobile */
  height: calc(100svh - 5px) !important;
  /* dynamic viewport (newer browsers) */
  height: calc(100dvh - 5px) !important;

  min-height: 0 !important; /* neutralize any previous min-height */
  box-sizing: border-box;
/* =======================================
   Educational section — zoom-proof, fluid
   ======================================= */

/* Fluid tokens */
:root {
  --pageMaxW: 1400px;;
  --padX: clamp(0.75rem, 3vw, 3rem);
  --padY: clamp(1rem, 3vw, 3rem);
  --gap: clamp(0.5rem, 2vw, 1.25rem);

  --cardMin: 14rem;          /* ~224px */
  --cardIdeal: 28vw;         /* fluid width */
  --cardMax: 20rem;          /* ~320px */
  --radius: 0.75rem;
}

/* Container */
.educational-container {
  margin: 0 auto;
  padding: var(--padY) var(--padX);
  max-width: var(--pageMaxW);
  display: grid;
  row-gap: clamp(1rem, 2vw, 2rem);
  align-items: start;
  justify-items: center;
  position: relative;

  /* enables container queries below */
  container-type: inline-size;
}

/* Heading */
.educational-heading {
  text-align: center;
  font-weight: 600;
  margin: 0 0 clamp(0.75rem, 2vw, 1.5rem);
  font-size: clamp(1.25rem, 3vw, 2rem);
  line-height: 1.2;
}

/* Horizontal Slider (grid-based scroller + snap) */
.video-slider {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(var(--cardMin), var(--cardIdeal), var(--cardMax));
  gap: clamp(0.5rem, 2vw, 1.25rem);

  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  padding-bottom: 0.5rem;

  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.video-slider::-webkit-scrollbar { display: none; }

/* Video Card */
.video-card {
  inline-size: 100%;
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.3s ease;
  cursor: pointer;
  scroll-snap-align: start;
}
.video-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

/* Slide-in Animation */
@keyframes slideInRightToLeft {
  0% { opacity: 0; transform: translateX(50px); }
  100% { opacity: 1; transform: translateX(0); }
}
.slide-in { animation: slideInRightToLeft 0.6s ease forwards; }

/* Video Wrapper */
.video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 3.5 / 4;
  overflow: hidden;
}
.video-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Play Button (scales with zoom) */
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(2.5rem, 6vw, 4rem);
  height: clamp(2.5rem, 6vw, 4rem);
  background-color: #912b2c;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: auto;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.video-wrapper:hover .play-button { opacity: 1; }

/* Always show play button on touch devices */
@media (hover: none) and (pointer: coarse) {
  .play-button { opacity: 0.9; }
}

/* White Play Triangle (scales too) */
.play-button::before {
  content: '';
  display: block;
  width: 0; height: 0;
  border-left: clamp(0.6rem, 1.2vw, 1rem) solid #fff;
  border-top: clamp(0.35rem, 0.7vw, 0.6rem) solid transparent;
  border-bottom: clamp(0.35rem, 0.7vw, 0.6rem) solid transparent;
  margin-left: clamp(1px, 0.2vw, 2px);
}

/* Info Text */
.video-info { padding: clamp(0.75rem, 2.2vw, 1rem); }
.video-info h4 {
  font-size: clamp(1rem, 2.4vw, 1.2rem);
  margin: 0 0 0.4rem;
  color: #222;
  text-align: center;
}
.video-info p {
  font-size: clamp(0.85rem, 2.2vw, 0.95rem);
  color: #666;
  margin: 0;
  text-align: center;
}

/* Modal */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.5rem, 2vw, 1.25rem);
}
.modal-content {
  position: relative;
  width: min(90vw, 52rem);
  background: #000;
  padding: 0;
  border-radius: clamp(0.5rem, 1vw, 0.75rem);
  overflow: hidden;

  /* Keep 16:9 regardless of zoom */
  aspect-ratio: 16 / 9;
}
.modal-content iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: none;
  aspect-ratio: 16 / 9;
}
.close-btn {
  position: absolute;
  top: clamp(6px, 1vw, 10px);
  right: clamp(6px, 1vw, 10px);
  background: #fff;
  color: #000;
  border: none;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: bold;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  z-index: 1000;
}

/* Explore More Section */
.exploree-wrapper {
  position: absolute;
  top: 50%;
  right: clamp(0rem, 2vw, 1rem); /* keep inside container */
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
  outline: none;
}
.exploree-btn {
  background: #f9f9f9;
  color: #A7402D;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  border-radius: 50%;
  padding: clamp(0.75rem, 2.2vw, 1rem);
  white-space: nowrap;
  outline: none;
  border: none;
  transition: color 0.3s ease, transform 0.3s ease, text-decoration 0.3s ease, box-shadow 0.3s ease;
}
.exploree-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.arrow {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 900;
  line-height: 0;
  transition: transform 0.4s ease;
}
.exploree-btn:hover .arrow { transform: translateX(5px); }

/* Container queries: adjust for extreme narrow widths (or high zoom-in) */
@container (max-width: 62rem) {
  /* Make cards larger relative to the viewport for better readability */
  .video-slider { grid-auto-columns: 80%; }
  /* Bring the Explore button into flow below the slider */
  .exploree-wrapper {
    position: static;
    transform: none;
    margin-top: var(--gap);
  }
}
@container (max-width: 36rem) {
  .video-slider { grid-auto-columns: 100%; }
  .educational-heading { font-size: clamp(1.1rem, 5vw, 1.4rem); }
  .video-card { border-radius: clamp(0.5rem, 2vw, 0.75rem); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .slide-in { animation: none; }
  .video-card { transition: none; }
  .video-slider { scroll-behavior: auto; }
}





/* Anchor for overlay arrows */
.educational-container { position: relative; }

/* Arrow buttons (shown only when hasOverflow === true) */
.vid-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(32px, 5vw, 40px);
  height: clamp(32px, 5vw, 40px);
  border: none;
  border-radius: 50%;
  background: #fff;
  color: rgba(0,0,0,0.55);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}
.vid-arrow:hover { background: rgba(255, 255, 255, 0.7); transform: translateY(-50%) scale(1.04); }
.vid-arrow.left  { left: 8px; top: 293px }
.vid-arrow.right { right: 8px; top: 293px}
.vid-arrow.disabled,
.vid-arrow:disabled { opacity: 0.45; pointer-events: none; }




/* Up to 1052px: pill/rectangular CTA centered under the slider */
@media (max-width: 1052px) {
  /* Place the button below the slider and center it */
  .exploree-wrapper {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: var(--gap) !important;
  }

  .exploree-btn {
    /* Style to match the sample */
    background: #A7402D !important;         /* brand color */
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;          /* rounded rectangle (not circle) */
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 800 !important;
    font-size: clamp(0.85rem, 2.6vw, 0.95rem) !important;

    /* Comfortable tap target */
    min-height: 44px !important;
    padding: 0.6rem 1.25rem !important;      /* adjust if you want wider button */
    white-space: nowrap !important;

    /* Layout */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;

    /* Polish */
    box-shadow: 0 8px 18px rgba(167,64,45,0.22) !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  }

  .exploree-btn:hover {
    transform: translateY(-2px) !important;
    background: #b95341 !important;
    box-shadow: 0 10px 22px rgba(167,64,45,0.28) !important;
  }
  .exploree-btn:active { transform: translateY(0) !important; }
  .exploree-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, #A7402D 35%, white) !important;
    outline-offset: 2px !important;
  }

  /* Optional: hide any arrow glyph inside to match your screenshot */
  .exploree-btn .arrow { display: none !important; }
}

/* Ultra-narrow phones: allow wrapping if needed */
@media (max-width: 340px) {
  .exploree-btn {
    white-space: normal !important;
    text-align: center !important;
    padding: 0.55rem 0.9rem !important;
  }
}









html {
  scroll-behavior: smooth;
}

.about-page-container {
  display: grid;
  grid-template-columns: 2rem 1fr 1fr 2rem;
  margin-top: 20px;
}

.about-page-container-about {
  grid-column: 3/4;
  grid-row: 1/2;
  align-self: center;
}

.about-page-container-image {
  grid-column: 2/3;
  grid-row: 1/2;
  align-self: center;
}

.about-image {
  max-width: 100%;
}

@media screen and (max-width: 768px) {
  .about-page-container {
    display: grid;
    grid-template-columns: 0.5rem 1fr 0.5rem;
    grid-template-rows: auto;
  }

  .about-page-container-about {
    grid-column: 2/3;
    grid-row: 2/3;
    align-self: center;
  }

  .about-page-container-image {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

.news-title {
  color: #8a2e10;
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0 0 30px 90px;
  position: relative;
  padding-bottom: 12px;
}

.about-page {
  max-width: 1200px;
  margin: 0 auto;

}

/* Hero Section */
.hero-section {
  margin-bottom: 4rem;
}

.hero-title {
  font-size: 2.5rem;
  color: #333;
  margin-bottom: 2rem;
  text-align: center;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.hero-text p {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #555;
}

.hero-image img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Values Section */
.values-section {
  margin-bottom: 4rem;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* always 3 cards side by side */
  gap: 2rem;
  margin-left: 60px;
  margin-right: 60px;
}

.value-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
  padding: 1rem;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.value-card:hover {
  transform: translateY(-5px);
}

.card-content {
  padding: 0.5rem;
}

.card-content h2 {
  color: #333;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.card-divider {
  height: 2px;
  width: 40px;
  background: #A7402D;
  margin-bottom: 0.5rem;
}

.values-list {
  list-style: none;
  padding: 0;
}

.values-list li {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
}

.values-list li::before {
  content: "•";
  color: #A7402D;
  position: absolute;
  left: 0;
}

/* Publications Section */
.aman {
  text-align: center;
  margin-bottom: 2rem;
  color: #A7402D;
  font-size: 2rem;
  font-weight: 600;
  position: relative;
  padding-bottom: 1rem;
}
.aman::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background: #A7402D;
  border-radius: 2px;
}

/* Responsive Design */
@media (max-width: 992px) {
  .values-grid {
    grid-template-columns: 1fr 1fr; /* two cards side by side */
  }
  .aman{
    font-size: 1.5rem;
  }
}

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

  .values-grid {
    grid-template-columns: 1fr; /* stack vertically on small screens */
    margin-left: 0;
    margin-right: 0;
  }

  
  .aman{
    font-size: 1.5rem;
  }
}


/* this is new css */

/* Main Container */
.about-page {
  width: 100%;
  min-height: 100vh;
}

/* Hero Section */
.hero-section {
  padding: 4rem 2rem;
  background-color: #ffffff;
}

.hero-section__container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 3rem;
  align-items: center;
}

.hero-section__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hero-section__title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  text-align: center;
}

.hero-section__description {
  font-size: 1rem;
  line-height: 1.8;
  color: #4a4a4a;
  text-align: justify;
  margin: 0;
}

.hero-section__image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-section__image {
  width: 100%;
  height: auto;
  max-width: 500px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.hero-section__image:hover {
  transform: scale(1.02);
}

/* Values Section */
.values-section {
  padding: 4rem 2rem;
  background-color: #f8f9fa;
}

.values-section__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

/* Value Card */
.value-card {
  background: white;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

.value-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.value-card__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

.value-card__title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0;
}

.value-card__divider {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #007bff, transparent);
  border-radius: 2px;
}

.value-card__text {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #4a4a4a;
  margin: 0;
}

.value-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.value-card__list-item {
  font-size: 0.95rem;
  color: #4a4a4a;
  padding-left: 1.5rem;
  position: relative;
}

.value-card__list-item::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #007bff;
  font-weight: bold;
  font-size: 1.1rem;
}

/* Publications Section */
.publications-section {
  padding: 4rem 2rem;
  background-color: #ffffff;
}

.publications-section__container {
  max-width: 1200px;
  margin: 0 auto;
}

.publications-section__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 3rem 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .hero-section,
  .values-section,
  .publications-section {
    padding: 2rem 1rem;
  }

  .hero-section__container {
    gap: 2rem;
  }

  .hero-section__title {
    text-align: center;
  }

  .value-card {
    padding: 1.5rem;
  }

  .values-section__grid {
    gap: 1.5rem;
  }
}

@media (max-width: 480px) {
  .hero-section,
  .values-section,
  .publications-section {
    padding: 1.5rem 1rem;
  }

  .value-card__title {
    font-size: 1.25rem;
  }
}






/* Prevent horizontal scroll from full-bleed sections */
html, body {
  overflow-x: hidden;
}

/* Full-bleed hero banner */
.hero-banner {
  width: 100vw;
  /* Escape any centered container: */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Banner image style */
.hero-banner__img {
  display: block;
  width: 100%;
  height: clamp(240px, 50vh, 600px); /* adjust banner height */
  object-fit: cover;
  object-position: center;
}

/* Centered copy below the banner */
.hero-copy {
  max-width: min(1000px, 92vw);
  margin: clamp(16px, 4vw, 40px) auto;
  text-align: center;
  line-height: 1.7;
  color: #0f172a; /* tweak to your theme */
  padding-inline: 12px;
}

.hero-copy__title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  margin: 0 0 10px;
}

.hero-copy__description {
  font-size: clamp(15px, 1.6vw, 18px);
  margin: 0;
  opacity: 0.9;
}

/* Keep the rest of the page in a comfortable width */
.values-section__grid,
.publications-section__container {
  max-width: 1100px;
  margin: 0 auto;
  padding-inline: 16px;
}

/* Optional: nicer paragraph rhythm in cards */
.value-card__text {
  line-height: 1.75;
}



/* Avoid horizontal scroll from full-bleed sections */
html, body { overflow-x: hidden; }

/* Existing banner (unchanged) */
.hero-banner {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background: #0b0c10;
}
.hero-banner__img {
  display: block;
  width: 100%;
  height: clamp(260px, 52vh, 640px);
  object-fit: cover;
  object-position: center;
}

/* --- New designed background behind the About Us copy --- */
.hero-surface {
  position: relative;
  isolation: isolate;
  width: 100vw;                          /* full viewport width */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(28px, 6vw, 88px) 0;     /* vertical breathing room */
  background: #ffffff;                    /* base to blend with rest */
  overflow: hidden;
}

/* Centered inner container for the text */
.hero-surface__inner {
  max-width: min(1000px, 92vw);
  margin: 0 auto;
  padding-inline: 16px;
  text-align: center;
}

/* Overlays (visual only) */
.hero-surface__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Gentle red gradients + slight vignette to echo the banner */
.hero-surface__overlay--gradient {
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(220, 38, 38, 0.10), transparent 60%),
    radial-gradient(900px 500px at 10% 120%, rgba(220, 38, 38, 0.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.02) 30%, rgba(0,0,0,0.00) 100%);
}

/* Subtle geometric grid pattern (inline SVG) */
.hero-surface__overlay--pattern {
  opacity: 0.22;
  background-image: url("data:image/svg+xml;utf8,    <svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2756%27 height=%2756%27 viewBox=%270 0 56 56%27>      <g fill=%27none%27 stroke=%27%23121%27 stroke-opacity=%270.18%27 stroke-width=%271%27>        <path d=%27M0 28H56M28 0V56%27/>        <circle cx=%2728%27 cy=%2728%27 r=%271.6%27 fill=%27%23000%27 fill-opacity=%270.18%27/>      </g>    </svg>");
  background-size: 56px 56px;
  background-repeat: repeat;
  mix-blend-mode: multiply; /* faint, non-intrusive */
}

/* Soft glow accents (on large screens) */
.hero-surface__glow {
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(10px);
  opacity: 0.25;
  pointer-events: none;
  background: radial-gradient(circle, rgba(239, 68, 68, 0.55) 0%, rgba(239, 68, 68, 0) 65%);
}
.hero-surface__glow--a { top: -40px; left: -120px; }
.hero-surface__glow--b { bottom: -60px; right: -140px; }

/* Copy styles (reuse your existing typography) */
.hero-copy__title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  margin: 0 0 12px;
  color: #0f172a;
}
.hero-copy__description {
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.7;
  margin: 0;
  color: #0f172a;
  opacity: 0.92;
}

/* Content areas below remain tidy */
.values-section__grid,
.publications-section__container {
  max-width: 1100px;
  margin: 0 auto;
  padding-inline: 16px;
}
.value-card__text { line-height: 1.75; }

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
  .hero-surface__glow { display: none; }
}





/* Utility to force edge-to-edge on desktop */
@media (min-width: 1024px) {
  .hero-banner {
    position: relative;
    /* break out of any parent with max-width/padding */
    left: 50%;
    right: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;

    border-radius: 0;           /* flush edges */
    height: min(60vh, 720px);   /* set a cinematic height */
    overflow: hidden;
    z-index: 1;                 /* sit above container backgrounds */
  }

  /* If supported, use dynamic viewport to avoid 1–2px gaps */
  @supports (width: 100dvw) {
    .hero-banner {
      width: 100dvw !important;
      max-width: 100dvw !important;
      margin-left: -50dvw !important;
      margin-right: -50dvw !important;
    }
  }

  /* Make the image fill the banner area neatly */
  .hero-banner__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;          /* fill without distortion */
    object-position: center 35%;
  }
}
  /* Mobile/tablet: contained and clean */
.hero-banner {
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.hero-banner__img {
  display: block;
  width: 100%;
  height: auto;         /* shows full image on small screens */
  object-fit: contain;
  object-position: center;
  background: #000;     /* subtle letterbox if aspect ratio differs */
}
  /* Remove default body margin */
html, body {
  margin: 0;
  padding: 0;
}

/* Don’t let ancestors clip the breakout */
.about-page,
.about-page * {
  overflow-x: visible;
}

/* If your layout uses a grid container, ensure banner spans all columns */
.about-page > .hero-banner {
  grid-column: 1 / -1;
}

/* Full-bleed helper (no horizontal scrollbar) */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: clip;
}
@supports not (overflow: clip) {
  html, body { overflow-x: hidden; }
}

/* Optional: tidy up spacing for inner wrappers */
:root {
  --container-max: 1280px;
  --section-gutter: clamp(16px, 3.5vw, 56px);
}

/* 1) HERO SURFACE — full width background on desktop */
.hero-surface {
  position: relative;
  padding-block: clamp(40px, 8vw, 96px);
  overflow-x: clip; /* prevents overlays creating a scrollbar */
}

/* Keep the text centered with an inner max-width */
.hero-surface__inner {
  max-width: min(var(--container-max), 92vw);
  margin-inline: auto;
  padding-inline: var(--section-gutter);
}

@media (min-width: 1024px) {
  .hero-surface {
    width: 100dvw;
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }
  /* Fallback if dvw isn’t supported */
  @supports not (width: 100dvw) {
    .hero-surface {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
    }
  }
}

/* 2) VALUES SECTION — full width background on desktop */
.values-section {
  position: relative;
  padding-block: clamp(40px, 7vw, 84px);
  overflow-x: clip;
}

/* The grid/content stays nicely centered */
.values-section__grid {
  max-width: min(var(--container-max), 92vw);
  margin-inline: auto;
  padding-inline: var(--section-gutter);
}

@media (min-width: 1024px) {
  .values-section {
    width: 100dvw;
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }
  @supports not (width: 100dvw) {
    .values-section {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
    }
  }
}

/* If your page uses a grid container, ensure these span all columns */
.about-page > .hero-surface,
.about-page > .values-section {
  grid-column: 1 / -1;
}

/* Box-sizing guard to avoid width overflow from padding */
*, *::before, *::after { box-sizing: border-box; }


/* 1) Kill the black letterbox everywhere */
.hero-banner,
.hero-banner__img {
  background: transparent !important;
}

/* 2) Tablet-only: make the image naturally responsive (no cropping) */
@media (min-width: 768px) and (max-width: 2000px) {
  .hero-banner {
    width: 100%;
    height: auto;          /* no fixed height on tablets */
    margin: 0;
    border-radius: 12px;   /* keep your design */
    overflow: hidden;
  }

  .hero-banner__img {
    display: block;
    width: 100%;
    height: auto;          /* keeps the image aspect ratio */
    object-fit: contain;   /* show full image; no letterboxing since bg is transparent */
    object-position: center 35%;
  }
}


/* Desktop: overlap the hero slightly to remove the white band */
@media (min-width: 1024px) {
  :root { --hero-overlap-desktop: 32px; } /* adjust 16–48px as needed */

  /* If .hero-surface immediately follows the hero */
  .hero-banner + .hero-surface {
    margin-top: calc(-1 * var(--hero-overlap-desktop));
    padding-top: calc(clamp(40px, 8vw, 96px) + var(--hero-overlap-desktop));
  }
}

/* Default: no overlap */
:root { --hero-gap: 0px; }

/* If .hero-surface immediately follows the hero */
.hero-banner + .hero-surface { margin-top: calc(-1 * var(--hero-gap)); }

/* If there's a wrapper between them, use this instead (optional) */
/* .hero-banner ~ .hero-surface { margin-top: calc(-1 * var(--hero-gap)); } */

/* Tablet portrait/landscape */
@media (min-width: 768px) and (max-width: 1023.98px) {
  :root { --hero-gap: 12px; }      /* tweak if needed */
}


/* Default: no overlap */
:root { --hero-gap: 0px; }

/* If .hero-surface immediately follows the hero */
.hero-banner + .hero-surface { margin-top: calc(-1 * var(--hero-gap)); }

/* If there's a wrapper between them, use this instead (optional) */
/* .hero-banner ~ .hero-surface { margin-top: calc(-1 * var(--hero-gap)); } */

/* Tablet portrait/landscape */
@media (min-width: 768px) and (max-width: 1023.98px) {
  :root { --hero-gap: 12px; }      /* tweak if needed */
}

/* Desktop ranges (do not change hero size) */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  :root { --hero-gap: 18px; }
}
@media (min-width: 1200px) and (max-width: 1439.98px) {
  :root { --hero-gap: 24px; }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  :root { --hero-gap: 30px; }
}
@media (min-width: 1920px) {
  :root { --hero-gap: 36px; }
}

/* Optional: keep the original vertical rhythm inside the section
   by adding the overlap back as padding. Remove if you prefer tighter spacing. */
.hero-banner + .hero-surface {
  padding-top: calc(clamp(40px, 8vw, 96px) + var(--hero-gap));
}


/* Desktop: let .hero-surface overlap the hero and sit above it */
@media (min-width: 1024px) {
  /* Option A (recommended): keep hero as-is, lift the next section above it */
  .hero-surface {
    position: relative;
    z-index: 2;                 /* above .hero-banner (which is z-index: 1) */
    margin-top: -28px;          /* adjust as needed: -20px to -40px */
    padding-top: calc(clamp(40px, 8vw, 96px) + 28px); /* preserve internal spacing */
  }

  /* Micro hairline fix for sub‑pixel rounding on some browsers */
  .hero-banner { margin-bottom: 0px !important; }
}

/* If you prefer to drop the hero’s stacking instead of raising the section:
@media (min-width: 1024px) {
  
  .hero-banner + .hero-surface { margin-top: -28px; padding-top: calc(clamp(40px, 8vw, 96px) + 28px); }
}
*/

/* Optional: fine-tune by width without changing the image size */
@media (min-width: 1200px) and (max-width: 1439.98px) {
  .hero-surface { margin-top: -30px; padding-top: calc(clamp(40px, 8vw, 96px) + 30px); }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .hero-surface { margin-top: -32px; padding-top: calc(clamp(40px, 8vw, 96px) + 32px); }
}
@media (min-width: 1920px) {
  .hero-surface { margin-top: -36px; padding-top: calc(clamp(40px, 8vw, 96px) + 36px); }
}




.scroll-container {
  height: 100vh;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  }
  
  .scroll-container::-webkit-scrollbar {
  display: none;
  }
  
  .box {
  padding: 50px 15px;
  max-width: 1200px;
  margin: 0 auto;
  }
  
  .timeline-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  }
  
  .timeline-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: #a04030;
  transform: translateX(-50%);
  z-index: 0;
  }
  
  .timeline-event-row {
  position: relative;
  display: flex;
  margin-bottom: 60px;
  flex-wrap: wrap;
  z-index: 1;
  }
  
  .timeline-circle {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: white;
  border: 4px solid #a04030;
  z-index: 2;
  }
  
  .left-pane, .right-pane {
  width: 50%;
  padding: 0 40px;
  box-sizing: border-box;
  margin-bottom: 20px;
  }
  
  .image-collage {
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  
  .image-box {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  }
  
  .image-box img {
  border-radius: 8px;
  object-fit: cover;
  max-width: 100%;
  height: auto;
  }
  
  .content-block {
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  
  .event-title {
  margin-top: 0;
  color: #333;
  }
  
  .event-date {
  font-style: italic;
  color: #555;
  margin: 10px 0;
  }
  
  /* Responsive Styles */
  @media (max-width: 992px) {
  .left-pane, .right-pane {
  padding: 0 30px;
  }
  .timeline-event-row {
  margin-bottom: 80px;
  }
  }
  
  @media (max-width: 768px) {
  .timeline-line {
  left: 20px;
  transform: none;
  }
  .timeline-circle {
  left: 20px;
  transform: none;
  }
  .left-pane, .right-pane {
  width: 100%;
  padding-left: 60px;
  padding-right: 0;
  }
  .content-block {
  text-align: left !important;
  }
  .image-box img {
  width: 100% !important;
  margin-bottom: 10px;
  }
  .timeline-event-row {
  flex-direction: column;
  margin-bottom: 60px;
  }
  .left-pane {
  order: 2;
  }
  .right-pane {
  order: 1;
  }
  }
  
  @media (max-width: 480px) {
  .box {
  padding: 30px 10px;
  }
  .left-pane, .right-pane {
  padding-left: 50px;
  }
  .timeline-event-row {
  margin-bottom: 50px;
  }
  .content-block {
  padding: 15px;
  }
  .image-collage {
  padding: 15px;
  }
  }
  
  /* Desktop defaults already match your current inline styles */
  
  /* Mobile + Tablet */
  @media (max-width: 1024px) {
  .timeline-line {
  left: 24px !important;
  transform: none !important;
  }
  .timeline-circle {
  left: 24px !important;
  transform: translateX(-50%) !important;
  }
  .timeline-event-row {
  display: flex !important;
  flex-direction: column !important;
  padding-left: 56px !important;
  margin-bottom: 40px;
  }
  .image-pane { order: 1 !important; }
  .text-pane { order: 2 !important; }
  
  .image-collage {
  padding: 12px !important;
  overflow: hidden;
  }
  .image-collage .image-box {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  gap: 0;
  }
  .image-collage .image-box img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover;
  scroll-snap-align: start;
  flex: none !important;
  border-radius: 8px;
  display: block;
  }
  .box { padding: 16px 10px !important; }
  .left-pane, .right-pane { padding: 0 !important; }
  .content-block { padding: 12px !important; text-align: left !important; }
  }
  
  /* Optional desktop layout */
  @media (min-width: 769px) {
  .image-box {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  }
  .image-box img {
  width: calc(50% - 5px);
  }
  .image-box img:only-child {
  width: 100%;
  }
  }
  
  @media (min-width: 769px) and (max-width: 1024px) {
  .scroll-container {
  display: flex;
  justify-content: center !important;
  }
  .timeline-container {
  margin: 0 auto;
  max-width: 90%;
  }
  .box {
  margin: 0 auto;
  max-width: 900px;
  padding: 30px 20px;
  }
  }
  

  @media (max-width: 1024px) {
 
  .timeline-line,
  .timeline-circle {
  display: none !important;
  }

  .timeline-event-row {
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  }
  .timeline-event-row .left-pane,
  .timeline-event-row .right-pane {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
  }
  
  /* Image card flush to the edges (so first image starts at x=0) */
  .timeline-event-row .image-collage {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  }
  
  /* Force scroller to start at first image and align left */
  .timeline-event-row .image-collage .image-box {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-left: 0 !important;
  margin-left: 0 !important;
  scroll-padding-left: 0 !important;
  }
  
  .timeline-event-row .image-collage .image-box img {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: auto !important;
  scroll-snap-align: start;
  display: block;
  }
  
  /* Text card full width */
  .timeline-event-row .content-block {
  width: 100% !important;
  box-sizing: border-box;
  }
  }



  :root {
    /* How much of the next image should peek in (tweak to taste) */
    --peek: clamp(32px, 8vw, 64px);
  }
  
  @media (max-width: 1024px) {
    /* Horizontal scroller with snap */
    .timeline-event-row .image-collage .image-box {
      display: flex !important;
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      gap: 12px !important;
  
      /* ensures the last image can fully snap into view */
      padding-right: var(--peek) !important;
    }
  
    /* Each slide is a bit narrower than the viewport so next one peeks */
    .timeline-event-row .image-collage .image-box img {
      flex: 0 0 calc(100% - var(--peek)) !important;
      width: calc(100% - var(--peek)) !important;
      height: auto !important;
      object-fit: cover;
      scroll-snap-align: start;
      border-radius: 8px;
    }
  
    /* First image stays flush-left (no extra left padding needed) */
    .timeline-event-row .image-collage {
      padding-left: 0 !important;
      margin-left: 0 !important;
    }
  
    /* If there's only one image, don't show a peek */
    .timeline-event-row .image-collage .image-box:has(> img:only-child) {
      padding-right: 0 !important;
    }
    .timeline-event-row .image-collage .image-box:has(> img:only-child) img {
      flex-basis: 100% !important;
      width: 100% !important;
    }
    .timeline-event-row .image-collage {
      position: relative;
    }
    .timeline-event-row .image-collage::after {
      content: "";
      position: absolute;
      top: 0; right: 0; bottom: 0;
      width: 40px;
      pointer-events: none;
      background: linear-gradient(to right, transparent, rgba(0,0,0,0.08));
      border-radius: 0 8px 8px 0;
    }
  }
.contact-page-main-design{
    height: 100%;
}



.contact-page-upper{
    width: 100%;
    height: 50vh;
    background-color: #eebeb5e1;
    background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.151)),
    url(/static/media/cus.5c2ce6e7d7939af0b959.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.contact-page-height{
    height:85vh ;
}

.contact-page-upper-d{
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr 1fr 6.25rem;
    position: relative;
    top: 33vh;
    
}



.contact-page-box1{
    grid-column: 2/3;
    
    background-color: white;
    margin-right: 3rem;
    border-radius: 8%;
    box-shadow: 10px 13px 20px 0px #912b2c54;
}

.contact-page-box1 a button{
    border-radius: 5px;
    background-color: white;
    padding: 10px;
    color: #912b2c;
    border-color: #912b2c;
}

.contact-page-box1 a button:hover {
    color: white;
    background-color: #912b2c;
}

.contact-page-box2{
    grid-column: 3/4;
    
    background-color: white;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    border-radius: 8%;
    box-shadow: 10px 13px 20px 0px #912b2c54;
}

.contact-page-box2 a button{
    border-radius: 5px;
    background-color: white;
    padding: 10px;
    color: #912b2c;
    border-color: #912b2c;
}

.contact-page-box2 a button:hover {
    color: white;
    background-color: #912b2c;
}


.contact-page-box3{
    grid-column: 4/5;
    
    background-color: white;
    margin-left: 3rem;
    border-radius: 8%;
    box-shadow: 10px 13px 20px 0px #912b2c54;
}

.contact-page-box3 a button{
    border-radius: 5px;
    background-color: white;
    padding: 10px;
    color: #912b2c;
    border-color: #912b2c;
}

.contact-page-box3 a button:hover {
    color: white;
    background-color: #912b2c;
}


@media screen and (max-width: 768px) {

    .contact-page-upper-d{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
        top:25vh;
        row-gap: 2.5rem;
    }

    .contact-page-height{
        height:250vh ;
    }

    .contact-page-box1{
        grid-column: 2/3;
        grid-row: 1/2;
        margin-right: 0;
        
    }

    .contact-page-box2{
        grid-column: 2/3;
        grid-row: 2/3;
        margin-left: 0;
        margin-right: 0;
        
    }

    .contact-page-box3{
        grid-column: 2/3;
        grid-row: 3/4;
        margin-left: 0;
        
    }
}


@media screen and (max-width: 668px) {

    .contact-page-height{
        height:239vh ;
    }

}

@media screen and (max-width: 568px) {

    .contact-page-height{
        height:220vh ;
    }

}




@media screen and (max-width: 430px) {

    .contact-page-upper-d{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
        top:25vh;
        row-gap: 2.5rem;
    }

    .contact-page-height{
        height:187vh ;
    }

    .contact-page-box1{
        grid-column: 2/3;
        grid-row: 1/2;
        margin-right: 0;
        
    }

    .contact-page-box2{
        grid-column: 2/3;
        grid-row: 2/3;
        margin-left: 0;
        margin-right: 0;
       
    }

    .contact-page-box3{
        grid-column: 2/3;
        grid-row: 3/4;
        margin-left: 0;
        
    }
}



/*contact page*/


.contact-form-main-grid{
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr 6.25rem;
    margin-top: 2rem;
}

.contact-form-container{
    grid-column: 2/3;
}

.contact-form-container-art{
    grid-column: 3/4;
}









.contact-form {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-width: 600px;
    width: 100%;
}

.contact-form h1 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 24px;
    color: #333;
}

.form-group {
    margin-bottom: 15px;
}


 

.contact_page_art{
    margin: 2rem;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #555;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.form-group textarea {
    resize: vertical;
    height: 80px;
}

.submit-btn {
    display: block;
    width: 100%;
    padding: 10px;
    background-color: #A7402D;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.submit-btn:hover {
    background-color: #c75b5d;
}



@media screen and (max-width: 768px) {

    .contact-form-main-grid{
        display: grid;
        grid-template-columns: .8rem  1fr .8rem;
        grid-template-rows: auto;
        margin-top: 2rem;
    }
    
    .contact-form-container{
        grid-column: 2/3;
        grid-row: 1/2;
    }
    
    .contact-form-container-art{
        grid-column: 2/3;
        grid-row: 2/3;
        margin-top: 2rem;
    }

    .contact-form-container-art p{
        margin: 0;
        
    }
}

/*this is new css*/
/* Contact.css – Redesigned with .optronix-form */

:root {
  --c-page-bg: #ffffff;
  --c-surface: #ffffff;
  --c-text: #0E1015;
  --c-muted: #5B6372;
  --c-border: #E6E8ED;
  --c-accent: #A7402D;
  --c-ring: rgba(167, 64, 45, 0.35);
  --c-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);

  /* Extras for subtle accent usage */
  --c-accent-weak: rgba(167, 64, 45, 0.06);
  --c-underline-thickness: 3px;
}

/* Selection + general link underline color */
::selection { background: var(--c-accent); color: #fff; }

/* Page */
.contact-page {
  background: var(--c-page-bg);
  color: var(--c-text);
  padding: clamp(32px, 6vw, 80px) 24px;
}

.contact-header {
  max-width: 860px;
  margin: 0 auto clamp(28px, 5vw, 56px);
  text-align: center;
}

.contact-header .eyebrow {
  display: inline-block;
  color: var(--c-accent);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.9rem;
  margin-bottom: 8px;
}

/* Accent underline under main heading */
.contact-header h1 {
  font-size: clamp(1.8rem, 4.2vw, 3rem);
  font-weight: 800;
  margin: 0 0 12px;
  position: relative;
}
.contact-header h1::after {
  content: '';
  display: block;
  width: clamp(72px, 12vw, 140px);
  height: var(--c-underline-thickness);
  background: var(--c-accent);
  border-radius: 999px;
  margin: 12px auto 0;
}

.contact-header .sub {
  color: var(--c-muted);
  font-size: clamp(0.98rem, 1.6vw, 1.06rem);
  line-height: 1.65;
}

/* Grid layout */
.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 32px);
  max-width: 1200px;
  margin: 0 auto;
}

/* Cards (renamed c-card) */
.contact-page .c-card {
  position: relative;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 14px;
  box-shadow: var(--c-shadow);
  overflow: hidden; /* keeps accent stripe rounded */
}

/* Slim accent stripe on top of every card */
.contact-page .c-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--c-accent);
}

/* Variant paddings */
.contact-page .c-card.form-card { 
  padding: clamp(18px, 2.4vw, 28px);
}
.contact-page .c-card.info-card { 
  padding: clamp(16px, 2vw, 22px); 
}
.contact-page .c-card.map-card { 
  padding: clamp(14px, 1.8vw, 18px);
  display: grid;
  gap: 12px;
}

/* Subhead underline inside cards */
.form-card h2,
.info-card h2 {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 800;
  position: relative;
  padding-bottom: 8px;
}
.form-card h2::after,
.info-card h2::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 56px;
  height: 3px;
  background: var(--c-accent);
  border-radius: 999px;
}

/* New form class */
.optronix-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 16px 18px;
}

.optronix-form .form-span-2 { grid-column: 1 / -1; }

.optronix-form .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Label gets accent when its field is focused */
.optronix-form .form-field:focus-within label {
  color: var(--c-accent);
}

.optronix-form label {
  font-size: 0.95rem;
  color: var(--c-text);
  font-weight: 600;
}

.optronix-form input,
.optronix-form textarea,
.optronix-form select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  background: #fff;
  color: var(--c-text);
  font-size: 0.98rem;
  caret-color: var(--c-accent);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

/* Subtle accent tint on hover */
.optronix-form input:hover,
.optronix-form textarea:hover,
.optronix-form select:hover {
  background: var(--c-accent-weak);
}

.optronix-form textarea {
  resize: vertical;
  min-height: 140px;
}

.optronix-form input::placeholder,
.optronix-form textarea::placeholder {
  color: #9aa3b2;
}

/* Focus + states */
.optronix-form input:focus,
.optronix-form textarea:focus,
.optronix-form select:focus {
  outline: none;
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px var(--c-ring);
}

/* Autofill fix */
.optronix-form input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #fff inset !important;
  -webkit-text-fill-color: var(--c-text) !important;
  transition: background-color 9999s ease-out 0s;
}

/* Actions */
.form-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}

.btn-primary {
  appearance: none;
  border: none;
  background: var(--c-accent);
  color: #fff;
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 10px;
  cursor: pointer;
  transition: transform 0.05s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  box-shadow: 0 6px 18px rgba(167, 64, 45, 0.25);
}
.btn-primary:hover { opacity: 0.95; }
.btn-primary:active { transform: translateY(1px); }
.btn-primary:disabled { opacity: 0.7; cursor: not-allowed; }

/* Right column */
.right-col {
  display: grid;
  gap: clamp(16px, 2vw, 20px);
  align-content: start;
}

/* Info card list uses accent for icons and link underline */
.info-card { padding: clamp(16px, 2vw, 22px); }
.info-list {
  list-style: none;
  padding: 0;
  margin: 6px 0 0;
  display: grid;
  gap: 10px;
  color: var(--c-text);
}
.info-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.45;
}
.info-list svg { color: var(--c-accent); }

.info-list a {
  color: var(--c-accent);
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--c-accent);
  transition: opacity 0.2s ease;
}
.info-list a:hover { opacity: 0.85; }

/* Map card */
.map-card {
  padding: clamp(14px, 1.8vw, 18px);
  display: grid;
  gap: 12px;
}

.map-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.map-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.map-title svg { color: var(--c-accent); }

.map-title strong { display: block; line-height: 1.2; }
.map-title .muted { color: var(--c-muted); font-size: 0.92rem; }

.map-select select {
  padding: 10px 12px;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  background: #fff;
  font-size: 0.95rem;
  color: var(--c-text);
}
.map-select select:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px var(--c-ring);
}

.map-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 11;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--c-border);
  box-shadow: var(--c-shadow);
}
.map-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.map-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Map footer */
.map-footer { display: grid; gap: 10px; }
.map-footer .address { color: var(--c-muted); line-height: 1.55; }

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--c-accent);
  color: var(--c-accent);
  background: transparent;
  border-radius: 10px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-outline:hover {
  background: var(--c-accent);
  color: #fff;
}

/* Utilities */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr; }
  .right-col { order: 2; }
  .form-card h3::after,
  .info-card h3::after { width: 48px; }
}

@media (max-width: 720px) {
  .optronix-form {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .form-actions { justify-content: flex-start; }
  .contact-header h1::after {
    width: clamp(64px, 26vw, 120px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn-primary { transition: none; }
  .optronix-form input,
  .optronix-form textarea,
  .optronix-form select { transition: none; }
}


.google-form-embed iframe {
  width: 100%;
  min-height: 1257px;
  border: 0;
}

/* Popup */
.thankyou-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: grid;
  place-items: center;
  z-index: 9999;
}
.thankyou-card {
  background: #fff;
  width: min(560px, 92vw);
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  text-align: center;
}
.thankyou-card .actions {
  margin-top: 16px;
  display: flex;
  gap: 12px;
  justify-content: center;
}
.btn-primary, .btn-outline { /* reuse your existing button styles if you have them */ }
:root{
    /* fluid spacing + type */
    --gutter: clamp(0.5rem, 4vw, 3rem);
    --maxW: 72rem;
    --h1: clamp(1.5rem, 3.2vw + 0.5rem, 3rem);
    --text: clamp(1rem, 0.45vw + 0.9rem, 1.125rem);
  }
  
  *{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
  }
  
  html{
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  
  /* img{ max-width: 100%; display: block; } */
  
  /* Page */
  .sumitomo-page{
   
    display: grid;
    grid-template-columns: var(--gutter) minmax(0, 1fr) var(--gutter);
    background-image:
      linear-gradient(to top, rgb(255,254,254), rgba(255,255,255,0.692)),
      url(/static/media/sum01.cc196cf1b64d791a6432.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  
  /* Content */
  .sumitomo-page-pro-main{
    grid-column: 2/3;
    width: min(100%, var(--maxW));
    margin-inline: auto;
    padding-block: clamp(1rem, 3vw, 3.5rem);
  }
  
  .sumitomo-page-pro-name{
    text-align: center;
    padding-block-start: clamp(1rem, 3vw, 3.5rem);
  padding-block-end: 0;
  }
  
  .sumitomo-logo{
    width: clamp(160px, 28vw, 420px);
    height: auto;
    margin-inline: auto;
  }
  
  /* Text */
  .sumitomo-page-pro-art{
    text-align: justify;           /* keeps your intent */
    font-size: var(--text);
    line-height: 1.65;
    max-width: 65ch;               /* readable line length on huge screens */
    margin-inline: auto;
    padding-inline: clamp(0px, 1vw, 10px);
  }
  
  /* CTA (button with anchor inside) */
  .sumitomopro-btn{
    border: none;
    background-color: #fff;
    margin-top: clamp(0.75rem, 2vw, 1.25rem);
    padding: 0; /* we'll pad the anchor so it’s clickable */
  }
  
  .sumitomopro-btn a{
    display: inline-block;
    padding: 0.6rem 1rem;
    border-radius: 0.375rem;
    background-color: #e6e6e6;
    color: #111;
    text-decoration: none;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  }
  .sumitomopro-btn a:hover{ background-color: #dcdcdc; }
  
  /* Tiny screens tweak only */
  @media (max-width: 480px){
    .sumitomo-page{
      grid-template-columns: clamp(0.5rem, 2vw, 0.8rem) 1fr clamp(0.5rem, 2vw, 0.8rem);
    }
    .sumitomo-logo{
      width: clamp(160px, 60vw, 340px);
    }
  }
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.deviser-page{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    background-image: 
    linear-gradient(to top, rgb(255, 254, 254), rgba(255, 255, 255, 0.692)),
    url(/static/media/sum01.cc196cf1b64d791a6432.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.deviser-page-pro-main{
    grid-column: 2/3;
    padding-top: 50px;
}


.deviser-page-pro-name{
    text-align: center;
    
}

.deviser-page-pro-art{
    text-align: left;
    padding-left: 10px;
}

.deviserpro-btn{
    border: none;
    background-color: white;
    
}

.button-size.active{
    background-color: rgb(207, 207, 207);
}

.deviser-logo{
    width: 25%;
}
 /* .spec-table-container {
  overflow-x: auto;
  margin: 30px 0;
}
.spec-table {
  min-width: 600px;
  border-collapse: collapse;
  width: 100%;
}
.spec-table th, .spec-table td {
  border: 1px solid #b0b0b0;
  padding: 8px 12px;
  text-align: left;
}  */
  .spec-table-container {
  overflow-x: auto;
  margin: 30px auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  background: #fff;
  max-width: 1200px;  /* Prevents full-width expansion */
   width: 100%;  /* Table container only as wide as needed */
  display: flex; /* Added for better centering */
  justify-content: center; /* Center the table horizontally */
}

.spec-table {
 
  border-collapse: collapse;
  border: 1px solid #e0a060;
  width: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  margin: 0 auto; /* Additional centering for the table itself */
}
.spec-table .table-header {
  background-color: #4f7ca0; /* Blue header color */
  color: white;
  font-weight: 600;
  text-align: left;
  padding: 12px 16px;
  border: 1px solid #3d6382;
  width: 75%; /* Adjust this value to control how much of the row is covered */
}
.spec-table .empty-header {
  background-color: white;
  border: 1px solid #e0e0e0;
}

.spec-table th {
  background-color: #f7f9fc;
  color: #2c3e50;
  font-weight: 600;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  position: sticky;
  top: 0;
  z-index: 1;
}

.spec-table td {
  padding: 12px 16px;
   border: 1px solid #e0e0e0;
  color: #4a5568;
  transition: background-color 0.2s ease;
}
.spec-table td:first-child {
  color: #4f7ca0; /* Blue text to match header */
  font-weight: 500;
}

.spec-table tr:hover td {
  background-color: #f8fafc;
}

.spec-table tr:nth-child(even) {
  background-color: #fafbfd;
}

/* Rounded corners for the table */
 .spec-table th:first-child {
  border-top-left-radius: 8px;
}

.spec-table th:last-child {
  border-top-right-radius: 8px;
}

.spec-table tr:last-child td:first-child {
  border-bottom-left-radius: 8px;
}

.spec-table tr:last-child td:last-child {
  border-bottom-right-radius: 8px;
}  */
/* Tablet range (700px–980px): sidebar on top-left, products below */
@media screen and (min-width: 700px) and (max-width: 980px) {
  .deviserproduct-page {
    grid-template-columns: 1fr; /* collapse layout to 1 column */
    gap: 1rem;
  }
   /* Sidebar on top-left */
   .deviserproduct-page-controls {
    grid-column: 1/-1;
    position: static;     /* remove sticky */
    top: auto;
    width: auto;
    margin: 0 0 15px 0;
    text-align: left;     /* make it left-aligned */
    box-shadow: none;     
    border-bottom: 1px solid #eee;
    padding: 0 10px;
  }

  /* Products grid */
  .deviserproduct-page-product {
    grid-column: 1/-1;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    padding: 0 10px;
  }
}


@media screen and (max-width: 768px) {
    .spec-table th, 
  .spec-table td {
    padding: 8px 12px;
    font-size: 14px;
  }

    .deviser-page{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem; 
    }


    .deviser-page-pro-main{
        grid-column: 2/3;
        padding-top: 50px;
    }

    .deviser-logo{
        width: 50%;
    }
    .deviserproduct-page {
      grid-template-columns: 1fr;
      gap: 0.5rem;
    }
  
    .deviserproduct-page-controls {
      grid-column: 1/-1;
      position: static;
      top: auto;
      margin-bottom: 10px;
      text-align: left;   /* top-left */
      padding: 0 5px;
      box-shadow: none;
      border-bottom: 1px solid #eee;
    }
  
    .deviserproduct-page-product {
      grid-column: 1/-1;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      padding: 0 5px;
    }
  
    .product-card {
      padding: 10px 8px;
    }
  
    .product-title { font-size: 13px; }
    .product-description { font-size: 11px; }

}
@media screen and (max-width: 1024px) {
  .deviserproduct-page-product {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .product-title {
    font-size: 14px;
  }

  .product-description {
    font-size: 12px;
  }
   /* Sidebar moves on top */
   .deviserproduct-page-controls {
    grid-column: 1 / -1;            /* full width */
    position: relative;                /* no sticky */
    margin-bottom: 20px;             /* spacing below sidebar */
    width: 100%;
  }

  /* Product grid below: 2 cards per row */
  .deviserproduct-page-product {
    grid-column: 1 / -1;             
    display: grid;
    grid-template-columns: repeat(2, 1fr);  /* ✅ 2 cards per row */
                               /* row + col spacing */
    padding: 0 10px;
  }

  /* Make each card fit nicely */
  .product-card {
    width: 100%;
    margin: 0;     /* ✅ remove side margins */
    min-width: 0;  /* ✅ allow shrink */
    box-sizing: border-box; /* equal consistent look */
  }
}
@media screen and (max-width: 768px) {
  .deviserproduct-page {
    grid-template-columns: 1fr;   /* keep stack */
  }

  .deviserproduct-page-product {
    grid-template-columns: repeat(2, 1fr); /* ✅ still 2 per row */
    gap: 0;
    padding: 0 8px;
  }

  .product-card {
    min-height: 280px;
    padding: 12px;
  }

  .product-title {
    font-size: 14px;
  }

  .product-description {
    font-size: 12px;
  }
}
/* Small Phones (≤600px) */
@media screen and (max-width: 600px) {
  .footer-links {
    flex-direction: column;   /* stack instead of left/right */
    gap: 4px;
    align-items: center;
  }

  .dbtn_product,
  .dbtn_product2 {
    font-size: 12px;
  }
}
/* deviser product page */

.deviserproduct-page {
    display: grid;
    grid-template-columns: 250px 1fr; /* Sidebar and content */
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Tabs Section */
.deviserproduct-page-controls {
    grid-column: 1/2;  /* First column for sidebar */
    position: sticky;
    top: 20px;
    align-self: start;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    height: fit-content;
}

.button-size {
    padding: 8px;
    background-color: white;
    cursor: pointer;
}

.button-size:hover {
    background-color: #edd9d6;
    border-radius: 8px;
}

.button-size.active{
    background-color: #edd9d6;
    border-radius: 8px;
    
}
.button-size:hover .button-btn {
    color: #aa3e2d;
}

.button-size.active .button-btn h4 {
    color: #aa3e2d;
}




.button-btn {
    border: none;
    color: #a3a3a3;
    font-weight: 600;
    margin-left: 10px;
    padding-right: 50px;
}




/* Default (inactive) state for special tab */
.button-size.special-tab {
  background-color: white; /* light blue or your custom color */
}

/* Active state for special tab */
.button-size.special-tab.active {
  background-color: white; 
}

/* Optional: adjust text color for contrast */
.special-tab .button-btn h4 {
  color: black;
  font-size: 20px;
}

.special-tab.active .button-btn h4 {
  color: black;
  font-size: 20px;
}

/* Product Grid */
.deviserproduct-page-product {
    grid-column: 2/3;  /* Second column for products */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0;
}

/* Single Product Card */
.product-card {
  border: 1px solid #ccc;
  border-radius: 12px;
  width: 80%;
  margin: 0 0 20px 0;
  padding: 20px;  /* Reduced padding */
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  background-color: #f9f9f9;
  color: #333;
  transition: transform 0.2s ease, box-shadow 0.3s ease;
  position: relative;
  min-height: 300px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  flex: 0 0 auto;  /* Prevent flex items from growing/shrinking */
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.1);
}

/* Product Image */
.product-image {
  width: 140px; 
  height: auto;
  background-color: transparent;
  margin-bottom: 10px;
  margin-top: 10px;
  object-fit: contain;
  display: block;
}
/* Product Title */
.product-title {
  font-size: clamp(12px, 1vw, 16px);
  
  font-weight: 700;
  color: #222;
  margin: 6px 0;
  text-align: center;
}

/* Product Name Button */
.product-name-button {
  background-color: #A7402D;
  color: white;
  border: none;
  border-radius: 5px;
  padding: 8px 12px;
  font-size: 16px;
  margin: 10px 0;
  cursor: default;
}

/* Product Description */
.product-description {
  font-size: 14px;
  color: #555;
  margin-bottom: 20px;
}

/* Buttons Section */
.product-buttonsd {
  margin-top: auto;            
  display: flex;
  justify-content: center; 
  flex-direction: column; /* left vs right */
  align-items: center;
  width: 100%;
  padding: 0 10px;       /* safe inside padding */
  box-sizing: border-box;
  flex: 1 1 100%;
  width: 100%;
}

/* Button Styles */
.dbtn_product1 {
  display: block;
  width: auto;
  min-width: 160px;
  margin-top: -10px;
  margin-bottom: 30px;
  padding: 10px 15px;
  text-align: center;
  background-color: #A7402D;
  color: #fff;
  border: none;
  text-decoration: none;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
/* Footer row (Read More | Download Catalog) */
.product-footer-links {
  margin-top: 10px;
  display: flex;
  flex-wrap: nowrap;    /* prevents moving to next line */
  gap: 10px;
  justify-content: space-between;
  align-items: center;
  width: 100%;       /* full card width */
  padding: 0 10px;    /* small inset padding */
}

.dbtn_product1:hover {
  background-color: #8c3626;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Bottom buttons row */
.dbtn_product,
.dbtn_product2 {
  margin-top: auto;
  background: none;
  border: none;
  width: auto;
  color: #9f9f9f;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
  padding: 0;

  white-space: nowrap;  /* keeps text in one line */
  overflow: hidden;     /* no spilling */
  white-space: nowrap;  /* keeps text in one line */
  overflow: hidden;     /* no spilling */
  text-overflow: ellipsis;
}

/* Position Read More on left */
.dbtn_product {
  margin-top: 1px;
  float: left;
  margin-right: 8px;
  
}

/* Position Download Catalog on right */
.dbtn_product2 {
  float: right;
  margin-left: 8px;
  margin-top: -1px;
}

.dbtn_product:hover,
.dbtn_product2:hover {
  /* background-color: #f5f5f5; */
  /* color: #A7402D; */
  /* border-color: #ccc; */
  /* transition: color 0.2s ease; */
}

.dbtn_product1:hover {
  background-color: #872d1c;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
/* Mobile Responsive */
@media screen and (max-width: 1024px) {
  .dbtn_product1 {
    min-width: 120px;   /* smaller size */
    max-width: 60%;     /* narrower than card */
    margin: 15px auto 20px auto; /* center it */
    font-size: 13px;
    padding: 8px 12px;
  }
}
@media screen and (max-width: 768px) {
  .product-card {
    width: 100%;     /* take full space */
    margin: 0 0 15px 0; /* spacing between cards */
    max-width: 100%;
  }
  .product-footer-links {
    flex-direction: row;   /* stack vertically */
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 0;
  }
  .dbtn_product1 {
    min-width: 120px;  /* smaller but not tiny */
    max-width: 60%;    /* keep centered, narrower */
    margin: 10px auto 20px -10px; /* center it */
    font-size: 12px;
    padding: 8px 12px;
  }
  .product-image { max-height: 90px; }
  .product-title { font-size: 13px; }
  .product-description { font-size: 11px; }
   {
    flex: 1 1 80%;   /* Buttons stack full width */
    max-width: 80%;
    font-size: 10px;
  }
  .dbtn_product,
  
  .dbtn_product2 {
    flex: 1 1 80%;   /* take full width */
    max-width: 90%;
    margin-top: -30px;
    font-size: 10px;
    text-align: center;
    white-space: normal;  /* allow wrapping */
  }
}
@media screen and (max-width: 980px) {
  .product-card {
    padding: 12px 8px; 
    flex-wrap: nowrap; 
  }
  .dbtn_product1 {
    min-width: 120px;   /* smaller size */
    max-width: 60%;     /* narrower than card */
    margin: 15px auto 20px auto; /* center it */
    font-size: 13px;
    padding: 8px 12px;
  }
  .product-image { max-height: 110px;
  margin-top: -30px; width: 110%; object-fit: contain; }
  .product-title { font-size: 18px; }
  .product-description { font-size: 12px; }
   .dbtn_product, .dbtn_product2 {
    font-size: 15px;
   
  }

}
@media screen and (max-width: 480px) {
  .product-card {  width: 100%;     /* take full space */
    margin: 0 0 15px 0; /* spacing between cards */
    max-width: 100%; }
  .product-image { max-height: 70px; }
  .product-title { font-size: 12px; }
  .product-description { font-size: 10px; }
  .dbtn_product1, .dbtn_product, .dbtn_product2 {
    margin-top: -10px;
    width: 100%;
    max-width: 100%;
  }
}


/* Prevent tap highlight on mobile browsers */
.button-size,
.button-btn,
.dbtn_product,
.dbtn_product1,
.dbtn_product2 {
  -webkit-tap-highlight-color: transparent; /* For iOS Safari */
  
}





/* If you already defined these in your global CSS (from Sumitomo),
   you can omit the :root block below. */
   :root {
    --gutter: clamp(0.5rem, 4vw, 3rem);
    --maxW: 72rem;
    --h1: clamp(1.5rem, 3.2vw + 0.5rem, 3rem);
    --text: clamp(1rem, 0.45vw + 0.9rem, 1.125rem);
  }
  
  /* Safe defaults */
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  img { max-width: 100%; display: block; }
  
  /* Page wrapper */
  .deviser-page{
    display: grid;
    grid-template-columns: var(--gutter) minmax(0, 1fr) var(--gutter);
    /* no min-height to avoid pushing content below */
    background: transparent;
  }
  
  /* Content container */
  .deviser-page-pro-main{
    grid-column: 2/3;
    width: min(100%, var(--maxW));
    margin-inline: auto;
    padding-block-start: clamp(1rem, 3vw, 3.5rem); /* top only */
    padding-block-end: 0;                           /* no bottom space */
  }
  
  /* Heading/logo */
  .deviser-page-pro-name{
    text-align: center;
    font-size: var(--h1);
    margin-bottom: clamp(0.75rem, 2vw, 1.5rem);
  }
  
  .deviser-logo{
    width: clamp(160px, 28vw, 420px);
    height: auto;
    margin-inline: auto;
  }
  
  /* Paragraph */
  .deviser-page-pro-art{
    font-size: var(--text);
    line-height: 1.65;
    max-width: 65ch;
    margin-inline: auto;
    padding-inline: clamp(0px, 1vw, 10px);
    margin-bottom: 0; /* keep tight for the next section */
  }
  
  /* CTA as a styled Link */
  .deviserpro-btn{
    display: inline-block;
    margin-top: clamp(0.75rem, 2vw, 1.25rem);
    padding: 0.6rem 1rem;
    background-color: #e6e6e6;
    color: #111;
    text-decoration: none;
    border-radius: 0.375rem;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  }
  .deviserpro-btn:hover{ background-color: #dcdcdc; }
  .deviserpro-btn:focus-visible{ outline: 2px solid #0a66ff; outline-offset: 2px; }
  
  /* Ensure last child doesn't add extra bottom space */
  .deviser-page-pro-main > :last-child{ margin-bottom: 0; }
  
  /* Tiny screens tweak */
  @media (max-width: 480px){
    .deviser-page{
      grid-template-columns: clamp(0.5rem, 2vw, 0.8rem) 1fr clamp(0.5rem, 2vw, 0.8rem);
    }
    .deviser-logo{
      width: clamp(160px, 60vw, 340px);
    }
  }




*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.optronixfiber-page-fiber{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem; 
    background-image: 
    linear-gradient(to top, rgb(255, 254, 254), rgba(255, 255, 255, 0.692)),
    url(/static/media/sum01.cc196cf1b64d791a6432.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.optronixfiber-page-pro-main-fiber{
    grid-column: 2/3;
    padding-top: 50px;
}



.optronixfiber-page-pro-name-fiber{
    text-align: center;
    
}

.optronixfiber-page-pro-art-fiber{
    text-align: left;
    padding-left: 10px;
}

.optronixfiberpro-btn-fiber{
    border: none;
    background-color: white;
}




@media screen and (max-width: 768px) {

    .optronixfiber-page-fiber{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem; 
    }


    .optronixfiber-page-pro-main-fiber{
        grid-column: 2/3;
        padding-top: 50px;
    }

}


/* optronix product page */


.optronixfiberproduct-page {
    display: grid;
    grid-template-columns: 6.25rem 1.2fr 4fr 6.25rem;
    
}


.optronixfiberproduct-page-controls {
    grid-column: 2/3;
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 8px 8px;
    margin-top: 20px;
    row-gap: .5rem;
    position: sticky;
    top: 20px;
    align-self: start;
    background: white;
    padding: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.button-size {
    padding: 8px;
    background-color: white;
    cursor: pointer;
}

.button-size:hover {
    background-color: #edd9d6;
    border-radius: 8px;
}

.button-size.active{
    background-color: #edd9d6;
    border-radius: 8px;
    
}

.button-size:hover .button-btn {
    color: #aa3e2d;
}

.button-size.active .button-btn h4 {
    color: #aa3e2d;
}

.button-btn {
    border: none;
    color: #a3a3a3;
    font-weight: 600;
    margin-left: 10px;
    padding-right: 50px;
}

.button-size.special-tab {
  background-color: white; /* light blue or your custom color */
}

/* Active state for special tab */
.button-size.special-tab.active {
  background-color: white; 
}

/* Optional: adjust text color for contrast */
.special-tab .button-btn h4 {
  color: black;
}

.special-tab.active .button-btn h4 {
  color: black;
}


/* Product Grid */
.optronixfiberproduct-page-product {
    grid-column: 3/4;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
    padding: 0 20px;
}

/* Single Product Card */
.product-card {
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #f9f9f9;
    color: #333;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

/* Product Image */
.product-image {
    width: 100%;
    height: auto; /* Important for responsiveness */
    max-height: 200px; /* Adjust maximum height */
    object-fit: contain; /* IMPORTANT: No cropping, full visible image */
    margin-bottom: 15px;
}

/* Product Title */
.product-title {
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
}

/* Product Name Button */
.product-name-button {
    background-color: #A7402D;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 8px 12px;
    font-size: 16px;
    margin: 10px 0;
    cursor: default;
}

/* Product Description */
.product-description {
    font-size: 14px;
    color: #555;
    text-align: center;
    margin: 10px 0;
}

/* Buttons Section */

.product-buttonse {
    margin-top: auto;
    gap: 10px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-row: auto;
}


.fbtn_product1{
    grid-column: 2/4;
    grid-row: 1/2;
}

.fbtn_product{
    grid-column: 1/3;
    grid-row: 2/3;
}

.fbtn_product2{
    grid-column: 3/5;
    grid-row: 2/3;

}

.fbtn_product, .fbtn_product2 {
    padding: 8px;
    font-size: 14px;
    background-color: #f9f9f9;
    color: #b3b2b2;
    text-align: center;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin: 3px;
    text-decoration: none;
}

.fbtn_product1 {
    padding: 8px !important;
  font-size: 14px !important;
  background-color: #A7402D !important;
  color: white !important;
  text-align: center !important;
  border: none !important;
  text-decoration: none !important;
  border-radius: 18px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  display: block !important;
  margin: 6px auto !important; 
  min-width: 160px !important;
  max-width: 100% !important;
}


.fbtn_product:hover,
.fbtn_product2:hover {
    background-color: #f9f9f9;
    color: black;
}

/* Mobile Responsive */
/* Tablet & smaller laptops (<=1024px) */
@media screen and (max-width: 1024px) {
    .fbtn_product1 {
      min-width: 120px !important;
      max-width: 60% !important;    /* shrink relative to card */
      margin: 10px auto !important; /* keep centered */
      font-size: 13px !important;
      padding: 7px 12px !important;
    }
    
    
  }
@media screen and (max-width: 768px) {
    .fbtn_product1 {
        min-width: 100px !important;
        max-width: 70% !important; 
        font-size: 12px !important;
        padding: 6px 10px !important;
      }
    .optronixfiberproduct-page {
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
    }

    .optronixfiberproduct-page-controls {
        grid-column: 2/3;
        margin-top: 10px;
    }

    .optronixfiberproduct-page-product {
        grid-column: 2/3;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 10px;
        margin-top: 50px;
    }

    .product-buttons {
        grid-template-columns: 1fr;
    }

    .fbtn_product, .fbtn_product2 {
        font-size: 12px;
        padding: 6px;
    }
}
@media screen and (max-width: 980px) {
    .optronixfiberproduct-page {
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
    }

    .optronixfiberproduct-page-controls {
        grid-column: 2/3;
        margin-top: 10px;
    }

    .optronixfiberproduct-page-product {
        grid-column: 2/3;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 10px;
        margin-top: 50px;
    }

    .product-buttons {
        grid-template-columns: 1fr;
    }

    .fbtn_product, .fbtn_product2 {
        font-size: 12px;
        padding: 6px;
    }
}
@media screen and (max-width: 768px) {
    .optronixfiberproduct-page {
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
    }

    .optronixfiberproduct-page-controls {
        grid-column: 2/3;
        margin-top: 10px;
    }

    .optronixfiberproduct-page-product {
        grid-column: 2/3;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 10px;
        margin-top: 50px;
    }

    .product-buttons {
        grid-template-columns: 1fr;
    }

    .fbtn_product, .fbtn_product2 {
        font-size: 12px;
        padding: 6px;
    }
}
@media screen and (max-width: 980px) {
    .optronixfiberproduct-page {
      grid-template-columns: 1fr; /* Single column - stack */
      gap: 1rem;
      padding: 0 10px;
    }
    .fbtn_product1 {
        min-width: 100px !important;
        max-width: 70% !important; 
        font-size: 12px !important;
        padding: 6px 10px !important;
      }
  
    /* Sidebar goes full-width, above products */
    .optronixfiberproduct-page-controls {
      grid-column: 1/-1;
      position: static;  /* no sticky */
      box-shadow: none;
      border-bottom: 1px solid #eee;
      margin: 10px 0;
      padding: 10px;
      text-align: left;  /* align left */
    }
  
    /* Product cards: 2 per row */
    .optronixfiberproduct-page-product {
      grid-column: 1/-1;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      padding: 0;
    }
  
    .product-card {
      padding: 10px 8px;
    }
  
    .product-title {
      font-size: 12px;
      margin: 6px 0;
    }
  
    .product-description {
      font-size: 11px;
      margin: 4px 0;
      line-height: 1.3;
    }
  
    .obtn_product,
    .obtn_product1,
    .obtn_product2 {
      font-size: 11px;
      padding: 5px 3px;
      border-radius: 4px;
     }
     .obtn_product1{
      margin-left: 20px;
     }
  
  }
  @media screen and (max-width: 480px) {
    .optronixfiberproduct-page-product {
      grid-template-columns: repeat(2, 1fr);
    }
    .fbtn_product1 {
        min-width: 90px !important;
        max-width: 80% !important;
        font-size: 11px !important;
        padding: 6px 8px !important;
      }
  
    .product-card {
      padding: 5px 3px;
    }
  
    .product-title {
      font-size: 1.5rem;
    }
  }
/* Prevent tap highlight on mobile browsers */
.button-size,
.button-btn,
.fbtn_product,
.fbtn_product1,
.fbtn_product2 {
  -webkit-tap-highlight-color: transparent; /* For iOS Safari */
  
}


/* Omit this block if you've already defined these vars globally */
:root{
    --gutter: clamp(0.5rem, 4vw, 3rem);
    --maxW: 72rem;
    --h1: clamp(1.5rem, 3.2vw + 0.5rem, 3rem);
    --text: clamp(1rem, 0.45vw + 0.9rem, 1.125rem);
  }
  
  /* Layout */
  .optronixfiber-page-fiber{
    display: grid;
    grid-template-columns: var(--gutter) minmax(0, 1fr) var(--gutter);
    background: transparent; /* no forced height */
  }
  
  .optronixfiber-page-pro-main-fiber{
    grid-column: 2/3;
    width: min(100%, var(--maxW));
    margin-inline: auto;
    padding-block-start: clamp(1rem, 3vw, 3.5rem); /* top only */
    padding-block-end: 0;                           /* no bottom space */
  }
  
  /* Heading */
  .optronixfiber-page-pro-name-fiber{
    margin: 0 0 clamp(0.75rem, 2vw, 1.5rem);
    text-align: center;
    font-size: var(--h1);
    font-weight: 700;
  }
  
  /* Paragraph */
  .optronixfiber-page-pro-art-fiber{
    text-align: justify;
    font-size: var(--text);
    line-height: 1.65;
    max-width: 65ch;
    margin-inline: auto;
    padding-inline: clamp(0px, 1vw, 10px);
    margin-bottom: 0; /* keep tight for the next section */
  }
  
  /* CTA as a styled Link */
  .optronixfiberpro-btn-fiber{
    display: inline-block;
    margin-top: clamp(0.75rem, 2vw, 1.25rem);
    padding: 0.6rem 1rem;
    background-color: #e6e6e6;
    color: #111;
    text-decoration: none;
    border-radius: 0.375rem;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  }
  .optronixfiberpro-btn-fiber:hover{ background-color: #dcdcdc; }
  .optronixfiberpro-btn-fiber:focus-visible{ outline: 2px solid #0a66ff; outline-offset: 2px; }
  
  /* Neutralize any top margin on the next component */
  .optronixfiber-page-fiber + * { margin-top: 0; }
  
  /* Tiny screens tweak */
  @media (max-width: 480px){
    .optronixfiber-page-fiber{
      grid-template-columns: clamp(0.5rem, 2vw, 0.8rem) 1fr clamp(0.5rem, 2vw, 0.8rem);
    }
  }




* {
  box-sizing: border-box;
}
html {
  overflow: hidden;
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  max-width: 100%;
  overflow-y: auto; /* Enable vertical scrolling */
  overflow-x: hidden; /* Prevent horizontal scroll */
  -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  font-family: Poppins;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar {
  display: none;
}

#root {
  min-height: 100%;
  width: 100%;
  position: relative;
}

code {
  font-family: Poppins,
    sans-serif;
}

.dropdown-container {
  position: relative;
  display: inline-block; 
}


.dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between; 
  width: 100%; 
}


.dropdown-arrow {
  margin-left: 10px;
  transition: transform 0.3s ease;
  display: inline-block;
}


.dropdown-arrow.open {
  transform: rotate(180deg);
}


.dropdown-menu {
  position: absolute;

  bottom: 100%; 
  margin-bottom: 5px;
  left: 0;
  background-color: #A7402D; 
  border: 1px solid #c44c38;
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  list-style: none;
  padding: 5px 0;
  margin-left: 0;
  z-index: 100;
  min-width: 180px; 
}


.dropdown-menu li .branch-link {
  width: 100%;
  text-align: left; 
  padding: 8px 12px; 
  background-color: transparent;
  border: none;
}

.dropdown-menu li .branch-link:hover {
  background-color: #c44c38; 
}

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.optronixedfa-page{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    background-image: 
    linear-gradient(to top, rgb(255, 254, 254), rgba(255, 255, 255, 0.692)),
    url(/static/media/sum01.cc196cf1b64d791a6432.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.optronixedfa-page-pro-main{
    grid-column: 2/3;
    padding-top: 50px;
}


.optronixedfa-page-pro-name{
    text-align: center;
    
}

.optronixedfa-page-pro-art{
    text-align: left;
    padding-left: 10px;
}

.optronixedfa-btn{
    border: none;
    background-color: white;
}

.button-size.active{
    background-color: rgb(207, 207, 207);
}

@media screen and (max-width: 768px) {

    .optronixedfa-page{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem; 
    }


    .optronixedfa-page-pro-main{
        grid-column: 2/3;
        padding-top: 50px;
    }

}


/* Main Page Layout */



.optronixpon-page{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    background-image: 
    linear-gradient(to top, rgb(255, 254, 254), rgba(255, 255, 255, 0.692)),
    url(/static/media/sum01.cc196cf1b64d791a6432.jpg);
     padding-top: 40px;
  padding-bottom: 40px;
   margin: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.optronixpon-page-pro-main{
      padding: 40px 32px 32px 32px; /* top, right, bottom, left */
    grid-column: 2/3;
    padding-top: 50px;
    padding-bottom: 20px;
}


.optronixpon-page-pro-name{
    text-align: center;   
}

.optronixpon-page-pro-art{
    text-align: left;
    padding-left: 10px;
}

.optronixpro-btn{
    border: none;
    background-color: white;  
}


.button-size.active{
    background-color: rgb(207, 207, 207);
}



@media screen and (max-width: 768px) {

    .optronixpon-page{
        display: grid;
        grid-template-columns: 0.8rem 1fr 0.8rem; 
    }


    .optronixpon-page-pro-main{
        grid-column: 2/3;
        padding-top: 50px;
    }

    .optronixpon-page-pro-art{
        margin-top: 10px;
    }

}



/* Main Page Layout */
.optronixponproduct-page {
    display: grid;
    grid-template-columns: 6.25rem 1.2fr 4fr 6.25rem;
    
}



/* Tabs Section */
.optronixponproduct-page-controls {
    grid-column: 2/3;
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 8px 8px;
    margin-top: 20px;
    row-gap: .5rem;
    position: sticky;
    top: 20px;
    align-self: start;
    background: white;
    padding: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.button-size {
    padding: 8px;
    background-color: white;
    cursor: pointer;
}

.button-size:hover {
    background-color: #edd9d6;
    border-radius: 8px;
}

.button-size.active{
    background-color: #edd9d6;
    border-radius: 8px;
    
}

.button-size:hover .button-btn {
    color: #aa3e2d;
}

.button-size.active .button-btn h4 {
    color: #aa3e2d;
}




.button-btn {
    border: none;
    color: #a3a3a3;
    font-weight: 600;
    margin-left: 10px;
    padding-right: 50px;
}




/* Default (inactive) state for special tab */
.button-size.special-tab {
  background-color: white; /* light blue or your custom color */
}

/* Active state for special tab */
.button-size.special-tab.active {
  background-color: white; 
}

/* Optional: adjust text color for contrast */
.special-tab .button-btn h4 {
  color: black;
  font-size: 20px;
}

.special-tab.active .button-btn h4 {
  color: black;
  font-size: 20px;
}


/* Product Grid */
.optronixponproduct-page-product {
    grid-column: 3/4;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
    padding: 0 20px;
}

/* Single Product Card */
.product-card {
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #f9f9f9;
    color: #333;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
    position: relative;
}

/* Specific card styles */
.c-plus-card,
.px20-card {
    position: relative;
}

.c-plus-card .product-buttonso,
.px20-card .product-buttonso {
    position: relative;
    top: -60px;
}

/* Specific style for C++++ card */
.product-card:has(.product-title:contains('C++++')) {
    padding-bottom: 15px;
}

.product-card:has(.product-title:contains('C++++')) .product-buttonso {
    margin-top: -10px;
}

/* Hover effect for all cards except PX20++++ and C++++ */
.product-card:not(.c-plus-card):not(.px20-card):hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

/* Remove hover effect for PX20++++ and C++++ cards */
.c-plus-card,
.px20-card {
    transform: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

/* Product Image */
.product-image {
    width: 100%;
    height: auto; /* Important for responsiveness */
    max-height: 326px; /* Adjust maximum height */
    object-fit: contain; /* IMPORTANT: No cropping, full visible image */
    margin-bottom: 15px;
}

/* Product Title */
.product-title {
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
}

/* Product Name Button */
.product-name-button {
    background-color: #A7402D;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 8px 12px;
    font-size: 16px;
    margin: 10px 0;
    cursor: default;
}

/* Product Description */
.product-description {
    font-size: 14px;
    color: #555;
    text-align: center;
    margin: 10px 0;
}

/* Buttons Section */
.product-buttonso {
    margin-top: auto;
    gap: 10px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-row: auto;
}


.obtn_product1{
    grid-column: 2/4;
    grid-row: 1/2;
}

.obtn_product{
    grid-column: 1/3;
    grid-row: 2/3;
}

.obtn_product2{
    grid-column: 3/5;
    grid-row: 2/3;

}

.obtn_product, .obtn_product2 {
    padding: 8px;
    font-size: 14px;
    background-color: #f9f9f9;
    color: #b3b2b2;
    text-align: center;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin: 3px;
    text-decoration: none;
}

.obtn_product1 {
  padding: 8px !important;
  font-size: 14px !important;
  background-color: #A7402D !important;
  color: white !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 18px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  margin: 6px auto !important;
  display: block !important;
  min-width: 160px !important;   /* desktop big look */
  max-width: 100% !important;
}


.obtn_product:hover,
.obtn_product2:hover {
    background-color: #f9f9f9;
    color: black;
}
/* Mobile Responsive */
@media screen and (max-width: 1024px) {
  .obtn_product1 {
    min-width: 120px !important;  /* smaller */
    max-width: 60% !important;    /* don't touch sides */
    margin: 10px auto !important; /* ✅ keep centered */
    font-size: 13px !important;
    padding: 7px 12px !important;
  }
  .obtn_product,

  .obtn_product2 {
    font-size: 12px !important;
    padding: 5px 8px !important;
  }
}
@media screen and (max-width: 768px) {
  .obtn_product1 {
    min-width: 100px !important;
    max-width: 70% !important;
    font-size: 12px !important;
    padding: 6px 10px !important;
  }
    .product-card {
       
            padding: 8px;
            width: 100%;
            min-height: auto;        /* ❌ remove fixed height */
            max-height: none;        /* ❌ allow flexible growth */
            display: flex;
            flex-direction: column;
            justify-content: space-between;
      }
      .product-title {
        font-size: 14px;
        margin: 4px 0;
      }
    
      .product-description {
        font-size: 12px;
        line-height: 1.3;
        margin-bottom: 4px;
        flex-grow: 1;            /* fill space properly */
        text-overflow: ellipsis; /* prevent text spilling */
        overflow: hidden;
      }
    
      .product-image {
        max-height: 70px;        /* shrink image */
        margin-bottom: 6px;
        background: transparent !important;
      }
    .optronixponproduct-page {
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
    }

    .optronixponproduct-page-controls {
        grid-column: 2/3;
        margin-top: 10px;
    }

    .optronixponproduct-page-product {
        grid-column: 2/3;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 10px;
        margin-top: 50px;
    }

    .product-buttons {
      margin-top: auto;
      display: flex;           /* ✅ flex buttons */
      flex-wrap: wrap;         /* ✅ let buttons wrap if too wide */
      gap: 6px;
      justify-content: center; /* center align */
    }

    .obtn_product,
   
    .obtn_product2 {
      width: 100% !important;       /* full width under card */
      max-width: 90% !important;
      font-size: 12px !important;
    }
}
@media screen and (max-width: 980px) {
    .optronixponproduct-page {
      grid-template-columns: 1fr; /* Single column - stack */
      gap: 1rem;
      padding: 0 10px;
    }
  
    /* Sidebar goes full-width, above products */
    .optronixponproduct-page-controls {
      grid-column: 1/-1;
      position: static;  /* no sticky */
      box-shadow: none;
      border-bottom: 1px solid #eee;
      margin: 10px 0;
      padding: 10px;
      text-align: left;  /* align left */
    }
  
    /* Product cards: 2 per row */
    .optronixponproduct-page-product {
      grid-column: 1/-1;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      padding: 0;
    }
  
    .product-card {
      padding: 10px 8px;
      max-height: 280px;   /* 👈 controls vertical size */
    width: 100%; 
    justify-content: space-between; 
    }
    .product-image {
        top: 0;
        max-height: 120px;   /* scale image down in card */
      }
  
    .product-title {
      font-size: 12px;
      margin: 6px 0;
    }
  
    .product-description {
      font-size: 11px;
      margin: 4px 0;
      line-height: 1.3;
    }
  
    .obtn_product,
    .obtn_product1,
   
    .obtn_product2 {
      font-size: 11px;
      padding: 5px 3px;
      border-radius: 4px;
     }
     .obtn_product1{
      margin-left: 20px;
     }
  
  }
  @media screen and (max-width: 480px) {
    .optronixponproduct-page-product {
      grid-template-columns: repeat(2, 1fr);
    }
  
    .product-card {
      padding: 0px 3px;
    }
  
    .product-title {
      font-size: 1.5rem;
    }
  }
/* Prevent tap highlight on mobile browsers */
.button-size,
.button-btn,
.obtn_product,
.obtn_product1,
.obtn_product2 {
  -webkit-tap-highlight-color: transparent; /* For iOS Safari */
  
}




/* You can keep these here or in a global CSS if you already used them elsewhere */
:root{
  --gutter: clamp(0.5rem, 4vw, 3rem);
  --maxW: 72rem;
  --h1: clamp(1.5rem, 3.2vw + 0.5rem, 3rem);
  --text: clamp(1rem, 0.45vw + 0.9rem, 1.125rem);
}

/* Layout */
.optronixpon-page{
  display: grid;
  grid-template-columns: var(--gutter) minmax(0, 1fr) var(--gutter);
  /* no min-height; avoids pushing the next component down */
  background: transparent;
}

.optronixpon-page-pro-main{
  grid-column: 2/3;
  width: min(100%, var(--maxW));
  margin-inline: auto;
  padding-block-start: clamp(1rem, 3vw, 3.5rem); /* top only */
  padding-block-end: 0;                           /* no bottom space */
}

/* Heading */
.optronixpon-page-pro-name{
  margin: 0 0 clamp(0.75rem, 2vw, 1.5rem);
  text-align: center;
  font-size: var(--h1);
  font-weight: 700;
}

/* Paragraph */
.optronixpon-page-pro-art{
  text-align: justify;
  font-size: var(--text);
  line-height: 1.65;
  max-width: 65ch;
  margin-inline: auto;
  padding-inline: clamp(0px, 1vw, 10px);
  margin-bottom: 0; /* keep tight */
}

/* CTA as a styled Link */
.optronixpro-btn{
  display: inline-block;
  margin-top: clamp(0.75rem, 2vw, 1.25rem);
  padding: 0.6rem 1rem;
  background-color: #e6e6e6;
  color: #111;
  text-decoration: none;
  border-radius: 0.375rem;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
}
.optronixpro-btn:hover{ background-color: #dcdcdc; }
.optronixpro-btn:focus-visible{ outline: 2px solid #0a66ff; outline-offset: 2px; }

/* Ensure no extra bottom space from last child/margins */
.optronixpon-page-pro-main > :last-child{ margin-bottom: 0; }
.optronixpon-page + * { margin-top: 0; } /* neutralize next component’s top margin if any */

/* Tiny screens tweak */
@media (max-width: 480px){
  .optronixpon-page{
    grid-template-columns: clamp(0.5rem, 2vw, 0.8rem) 1fr clamp(0.5rem, 2vw, 0.8rem);
  }
}

/* If you already defined these vars globally, you can omit this :root block */
:root{
  --gutter: clamp(0.5rem, 4vw, 3rem);
  --maxW: 72rem;
  --h1: clamp(1.5rem, 3.2vw + 0.5rem, 3rem);
  --text: clamp(1rem, 0.45vw + 0.9rem, 1.125rem);
}

/* Layout */
.optronixpon-page{
  display: grid;
  grid-template-columns: var(--gutter) minmax(0, 1fr) var(--gutter);
  background: transparent; /* no forced height */
}

.optronixpon-page-pro-main{
  grid-column: 2/3;
  width: min(100%, var(--maxW));
  margin-inline: auto;
  padding-block-start: clamp(1rem, 3vw, 3.5rem); /* top only */
  padding-block-end: 0;                           /* no bottom space */
}

/* Heading */
.optronixpon-page-pro-name{
  margin: 0 0 clamp(0.75rem, 2vw, 1.5rem);
  text-align: center;
  font-size: var(--h1);
  font-weight: 700;
}

/* Paragraph */
.optronixpon-page-pro-art{
  text-align: justify;
  font-size: var(--text);
  line-height: 1.65;
  max-width: 65ch;
  margin-inline: auto;
  padding-inline: clamp(0px, 1vw, 10px);
  margin-bottom: 0; /* keep tight for the next section */
}

/* Prevent top gap from next component’s margin */
.optronixpon-page + * { margin-top: 0; }

/* Tiny screens tweak */
@media (max-width: 480px){
  .optronixpon-page{
    grid-template-columns: clamp(0.5rem, 2vw, 0.8rem) 1fr clamp(0.5rem, 2vw, 0.8rem);
  }
}

html,body{
  font-family: 'Poppins', Arial, Helvetica, sans-serif;
  scroll-behavior: smooth;
   overflow-x: hidden;
}

/* ====================
   Base Styles (Mobile First)
   ==================== */
.product_s1v1_product {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 0 1rem;
  max-width: 1400px;
  margin: 2rem auto;
  width: 100%;
  box-sizing: border-box;
}
.product_s1v1_2_img {
  max-width: 620px;   
  width: 90%;        
  height: auto;       
  object-fit: contain;
  display: block;
}






.product_s1v1_product1,
.product_s1v1_product2,
.product_s1v1_product3,
.product_s1v1_product4 {
  width: 100%;
  height: auto;
  min-height: 320px;
  margin-bottom: 0;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover effect for desktop */
@media (hover: hover) {
  .product_s1v1_product1:hover,
  .product_s1v1_product2:hover,
  .product_s1v1_product3:hover,
  .product_s1v1_product4:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  }
}



@media (min-width: 1024px) {
  .product_s1v1_product1,
  .product_s1v1_product2,
  .product_s1v1_product3,
  .product_s1v1_product4 {
    min-height: 380px;
  }
  
}

.product_s1v1_img {
  width: 100%;
  max-width: 200px;
  height: auto;
  max-height: 180px;
  object-fit: contain;
  margin: 0 auto 1.5rem;
  transition: transform 0.3s ease;
}

/* Adjust image size for different screens */


.products1v_name_option {
  font-size: 1.2rem;
  color: #333;
  margin: 0.5rem 0;
}

.products1v_button_option {
  padding: 0.6rem 1.2rem;
  background-color: #A7402D; /* Changed to #A7402D */
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.5px;
}

.products1v_button_option:hover {
  background-color: #8c3728; /* Slightly darker shade for hover */
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* Bleed sections: allow scroll to continue past snap points */
.snap-bleed {
  min-height: 1px;
  scroll-snap-align: none;
}
.product1_d1{
    display: grid;
    grid-template-columns: 6.25rem 1.8fr 1fr 6.25rem;
    margin-top: 50px;
    
}

.product_d{
    background-color: #f9f9f9;
    background-size: cover;
    background-position: center;
    padding: 80px 20px;        /* banner padding (height control) */
    min-height: 680px; 
    height: 680px;        /* safe height */
    display: flex;
    align-items: center; 
    background:  no-repeat center center;
   
}

.product1_d1_1{
    grid-column: 2 / 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #f9f9f9;
    border-radius: 10px 0 0 10px;

}

.product1_d1_2{
    grid-column: 3 / 4;
    background-color: #f9f9f9;
    border-radius: 0 10px 10px 0;    
}



.product1_d1_2_img{
    width: 95%;
    display: block;
    margin: 30px 10px
}

.sumitomos1vp{
    font-size: 60px;
    margin-top: 30px;
    color: #A7402D;
    margin-left: 10px;
}

.product1_d1_h1{
    grid-column: 1 / 2;
    display: grid;
    grid-template-rows: 1.5fr 1fr;
}

.product1_d1_h2{
    grid-column: 2 / 3;
}

.product1_d1_s1{
    grid-row: 1 / 2;
}

.product1_d1_s2{
    grid-row: 2 / 3;
}


.product_button{
    border: none;
    border-radius: 26px;
    padding: 12px 30px ;
    background-color: #A7402D;
    color: white;
    font-size: 20px;
    margin-top: 50px;
    margin-left: 50px;
    cursor: pointer;
}


.product_icon{
    width: 30%;
    margin: 15px;
    align-self: center;
}



.product_d_feature{
    display: grid;
    grid-template-columns: 6.25rem 1.5fr .9fr 6.25rem;
    margin-top: 50px;
}


.product_d_feature_art{
    grid-column: 2 / 3;
    margin-top: 80px;
}


.product_d_product {
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr 1fr 1fr 6.25rem;
    margin-top: 50px;

}

.product_d_product1{
    grid-column: 2 / 3;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    
}

.product_d_product2{
    grid-column: 3 / 4;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
   
}

.product_d_product3{
    grid-column: 4 / 5;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    
}

.product_d_product4{
    grid-column: 5 / 6;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    
}


.product_d_img{
    height: 50%;
    display: block;
    margin: 0 auto;
    margin-top: 15px;
}

.product_button_option{
    border: none;
    border-radius: 26px;
    padding: 8px 24px ;
    background-color: #A7402D;
    color:white;
    margin-top: 50px;
    margin-left: 50px;
    display: block;
    margin: 0 auto;
    margin-top: 20px;
    text-decoration: none;
    cursor: pointer;

}

.product_name_option{
    justify-self: center;
    margin-top: 10%;
    color: #A7402D;
    font-size: 20px;

}


@media screen and (max-width: 768px) {


    .product1_d1{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
    }

    .product1_d1_1{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        border-radius: 0 0 7px 7px;
    }

    .product1_d1_h1{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .product1_d1_h2{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .product1_d1_2{
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        border-radius: 7px 7px 0 0;
    }

    .product_d_feature{
        display: grid;
        grid-template-columns:3rem 1fr 3rem;
        grid-template-rows: auto;
    }

    .product_d_feature_img{
        grid-column: 2 / 3;
        grid-row: 1 / 2;

    }

    .product_d_feature_art{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .product_d_product{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
        row-gap: 10vh;
    }

    .product_d_product1{
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        width: 100%;
        
    }

    .product_d_product2{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        width: 100%;
    }

    .product_d_product3{
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        width: 100%;
    }

    .product_d_product4{
        grid-column: 2 / 3;
        grid-row: 4 / 5;
        width: 100%;
    }
    .text{
        margin-top: 50px;
        margin-left: 50px;
        margin-right: 50px;

    }
    .product_s1v1_2 {
      order: -1; /* Move image to top on mobile */
      margin-bottom: 20px;
  }
  
  .product_s1v1_2_img {
      max-width: 100%;
      height: auto;
      max-height: 300px;
      object-fit: contain;
  }


}

















/*s1v*/ 



.product_s1v1{
   
   

    display: flex;
  align-items: center;
  justify-content: space-between;
              /* Create side margins but no huge gap */
  gap: 0.5rem;                /* 👈 reduce gap between text & image */
  min-height: 50vh;
  max-width: 1400px;

 
}

.product_s1v1_1{
    grid-column: 2 / 3;
    display: grid;
    grid-template-columns: 1.2fr .2fr;
    background-color: transparent; 
    border-radius: 10px 0 0 10px;
  
  
  
}

.product_s1v1_2{
    grid-column: 3 / 4;
    background-color: transparent;  
    border-radius: 0 10px 10px 0;    
}


.hero-text {
  text-align: left;              /* Align left (or center if you prefer) */
  margin: 60px auto;
  padding: 20px;
  max-width: 1200px;             /* Keeps it nicely constrained */
}

.hero-text h2 {
  font-family: 'Poppins', serif; /* Matches your existing typography */
  font-size: 3rem !important;           /* Large headline */
  font-weight: 600;
  margin-left: -28px;
  color: #333;                   /* Dark gray text */
  line-height: 1.4;
}


  
/* Responsive scaling */


/* Clear the box backgrounds */




.product_s1v1_s1_name{
    font-size: 50px;
    margin-top: 30px;
    color: #8cb406;
    margin-left: 10px;
}

.product_s1v1_h1{
    grid-column: 1 / 2;
    display: grid;
    grid-template-rows: auto;
 
    gap: 10px;
}

.product_s1v1_h2{
    grid-column: 2 / 3;
}

.product_s1v1_s1{
    grid-row: 1 / 2;
    margin-left: 30px;
}

.product_s1v1_s2{
    grid-row: 2 / 3;
    margin-left: 30px;
}


.products1v_button{
    border: none;
    border-radius: 26px;
    padding: 12px 30px ;
    background-color: #A7402D;
    color: white;
    font-size: 20px;
   margin-left: -16px;
    cursor: pointer;
}


.products1v_icon{
    width: 60px;
    height: 60px;
    margin: 5px;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 7px;
     transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.products1v_icon:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

.products1v_icon1{
    margin-top: 50px;
}








.product_d_feature_img{
    grid-column: 3 / 4;
}


.table-s1v{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}



.table-container {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table {
    width: 100%;
    border-collapse: collapse;
    /* background-color: #eef7fc; */
  }
  
  .custom-table th, 
  .custom-table td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }

  
  
  .custom-table th {
    /* background-color: #D7E99F; */
    font-weight: bold;
  }


  

.custom-table-bg-one {
     background-color: #f5f5f5; 
}
 

.custom-table-bg-two {
     background-color: white; 
}
 
  
 

  .section-header {
    background-color: #E6E6E6 !important; 
    font-weight: bold;
    text-align: center;
  }


  

  .table-container-two{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }

  

  .custom-table-two {
    width: 100%;
    border-collapse: collapse;
    background-color: #eef7fc;
  }

  .section-header-two {
    transform: rotate(90);
  }
  
  .custom-table-two th, 
  .custom-table-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-two th {
    background-color: #D7E99F;
    font-weight: bold;
  }
  
  .section-header-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-three{
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }

  .custom-table-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #A7402D;
    background-color: white;
  }
  
  .custom-table-three th, 
  .custom-table-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-three th {
    background-color: #D7E99F;
    font-weight: bold;
  }


  
  /*s1v Ultra*/


 .product_s1v1_u1_name{
    font-size: 50px;
    margin-top: 30px;
    color: #ff8000;
    margin-left: 10px;
}

  .custom-table-su {
    width: 100%;
    border-collapse: collapse;
    background-color: #eef7fc;
  }
  
  .custom-table-su th, 
  .custom-table-su td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }

  
  
  .custom-table-su th {
    background-color: #FEB46A;
    font-weight: bold;
  }

  .custom-table-two-su {
    width: 100%;
    border-collapse: collapse;
    background-color: #eef7fc;
  }

  .section-header-two-su {
    transform: rotate(90);
  }
  
  .custom-table-two-su th, 
  .custom-table-two-su td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-two-su th {
    background-color: #FEB46A;
    font-weight: bold;
  }


   .custom-table-three-su {
    width: 100%;
    border-collapse: collapse;
    background-color: #eef7fc;
  }

  .section-header-three-su {
    transform: rotate(90);
  }
  
  .custom-table-three-su th, 
  .custom-table-three-su td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-three-su th {
    background-color: #FEB46A;
    font-weight: bold;
  }


 


   /*s1v mobile */

   

@media screen and (max-width: 768px) {
.table-s1v {
  display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
        margin-top: 50px;
}
        
    

    .product_s1v1 {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 1rem;
        text-align: center;
    }

    .product_s1v1_1 {
        width: 100%;
        max-width: 100%;
        
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .product_s1v1_s1 p {
        margin: 0 auto 1rem;
        text-align: center;
        max-width: 90%;
    }

    .product_s1v1_s2 {
        text-align: center;
        margin: 1rem auto;
        width: 100%;
    }

    .products1v_icon{
        width: 55px;
        height: 55px;
    
    }

    .product_s1v1_2 {
        width: 100%;
        display: flex;
        justify-content: center;
     
    }

    .products1v-feature-section-f2 {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 2rem 0;
        padding: 0 1rem;
    }
    
    .features1v-section-f2-a{
       grid-column: 2 / 3;
       grid-row: 1 / 2;
    
    }
 
    
    .featurez2c-section-f2-b p {
        font-size: 0.95rem;
        line-height: 1.6;
        text-align: center;
        margin: 0 auto;
        max-width: 90%;
    }

    .products1v_icon1{
        margin-top: 0;
    }

    /* ====================
   Similar Products Section
   ==================== */
.similerproduct {
    text-align: center;
   
    width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
}

.similerproduct h3 {
    font-size: 1.8rem;
    font-weight: 600;
    color: #A7402D;
    position: relative;
    display: inline-block;
    padding-bottom: 0.8rem;
    margin: 0 auto 1.5rem;
    line-height: 1.3;
}

.similerproduct h3:after {
    content: '';
    position: absolute;
    width: 60px;
    height: 3px;
    background-color: #A7402D;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* ====================
   Responsive Tables
   ==================== */
/* Base table container */
.table-z2c1 {
  width: 100%;
  margin: 2rem 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}


/* Table container for horizontal scrolling on mobile */

.table-container-z2c1,
.table-container-two,
.table-container-three {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1rem 0;
  border-radius: 8px;
  display: block;
}

/* Base table styles */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  min-width: 600px; /* Minimum width before scrolling */
}

/* Table header styles */
thead td,
thead th {
  background-color: #A7402D;
  color: white;
  font-weight: 600;
  text-align: center;
  padding: 1rem;
  font-size: 1.1rem;
}

/* Table body styles */
tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

/* Table cell styles */
td, th {
  padding: 0.8rem 1rem;
  border: 1px solid #e0e0e0;
  vertical-align: middle;
  text-align: left;
  line-height: 1.5;
}

/* First column styling */
td:first-child,
th:first-child {
  font-weight: 500;
  color: #333;
  width: 40%;
}

/* Hover effect */
tbody tr:hover {
  background-color: #f0f0f0;
}

/* Specific table styles */
.custom-table-z2c1,
.custom-table-two,
.custom-table-three {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  
}



/* Responsive adjustments */

/* Base table styles */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.95rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

/* Table header */
.section-header-z2c1 {
  background-color: #A7402D;
  color: white;
  font-weight: 600;
  text-align: left;
}

.section-header-z2c1 td {
  padding: 1rem;
  font-size: 1.1rem;
}

/* Table rows */
.custom-table-bg-one,
.custom-table-bg-two {
  transition: background-color 0.2s ease;
}

.custom-table-bg-one {
  background-color: #f9f9f9;
}

.custom-table-bg-two {
  background-color: #ffffff;
}

/* Table cells */
td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: top;
  line-height: 1.5;
}

/* First column styling */
td:first-child {
  font-weight: 500;
  color: #333;
  width: 40%;
}

/* Second column styling */
td:last-child {
  color: #555;
  width: 60%;
}

/* Hover effect */
tr:not(.section-header-z2c1):hover {
  background-color: #f0f0f0;
}







/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .product_s1v1_product {
        grid-template-columns: repeat(4, 1fr);
        max-width: 1400px;
        margin: 3rem auto 4rem;
    }
    
    .similerproduct {
        margin: 5rem 0 3rem;
    }
    
    .similerproduct h3 {
        font-size: 2.5rem;
    }
}

    .product_z2c1{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
    }

    .product_z2c1_1{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        border-radius: 0 0 7px 7px;
    }

    .product_z2c1_h1{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .product_z2c1_h2{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .productz2c_icon{
        width: 55px;
        height: 55px;
    
    }

    .product_z2c1_2{
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        border-radius: 7px 7px 0 0;
    }

    .productz2c-feature-section-f2{
        display: grid;
        grid-template-columns: 3rem 1fr 3rem;
        grid-template-rows: auto;
        margin-top: 30px;
    }
    
    .featurez2c-section-f2-a{
       grid-column: 2 / 3;
       grid-row: 1 / 2;
    
    }
    .featurez2c-section-f2-a,
    .featurez2c-section-f2-b {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }
    
    .featurez2c-section-f2-b{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        margin-top: 20px;
    }

    .productz2c_icon1{
        margin-top: 0;
    }






    .product_z2c1_feature{
        display: grid;
        grid-template-columns:.8rem 1fr .8rem;
        grid-template-rows: auto;
    }

    .product_z2c1_feature_img{
        grid-column: 2 / 3;
        grid-row: 1 / 2;

    }

    .product_z2c1_feature_art{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
    }

    .product_z2c1_product{
        display: grid;
        grid-template-columns: .8rem 1fr .8rem;
        grid-template-rows: auto;
        row-gap: 10vh;
    }

    .product_z2c1_product1{
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        width: 100%;
        
    }

    .product_z2c1_product2{
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        width: 100%;
    }

    .product_z2c1_product3{
        grid-column: 2 / 3;
        grid-row: 3 / 4;
        width: 100%;
    }

    .product_z2c1_product4{
        grid-column: 2 / 3;
        grid-row: 4 / 5;
        width: 100%;
    }


}



/*w1c Table*/

.table-w1c{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-w1c {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-w1c {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-w1c th, 
  .custom-table-w1c td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-w1c th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  
 
  
  

 
  
  .section-header-w1c {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }


  .table-container-w1c-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-w1c-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-w1c-two th, 
  .custom-table-w1c-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-w1c-two th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-w1c-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-w1c-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-w1c-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-w1c-three th, 
  .custom-table-w1c-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-w1c-three th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  
 
  
  

 
  
  .section-header-w1c-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-w1c-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }


  /*z2c*/

  .table-z2c1{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-z2c1 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
    
    
  }
  
  .custom-table-z2c1 {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-z2c1 th, 
  .custom-table-z2c1 td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-z2c1 th {
    background-color: #eaf3b7;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-z2c1 {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }


  .table-container-z2c1-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-z2c1-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-z2c1-two th, 
  .custom-table-z2c1-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-z2c1-two th {
    background-color: #eaf3b7;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-z2c1-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-z2c1-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-z2c1-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-z2c1-three th, 
  .custom-table-z2c1-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-z2c1-three th {
    background-color: #eaf3b7;
    font-weight: bold;
  }
  

  
  .section-header-z2c1-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-z2c1-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }


  /*82c*/

  .table-82c{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-82c {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-82c {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-82c th, 
  .custom-table-82c td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-82c th {
    background-color: #ff8453;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-82c {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }


  .table-container-82c-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-82c-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-82c-two th, 
  .custom-table-82c-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-82c-two th {
    background-color: #ff8453;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-82c-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-82c-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-82c-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-82c-three th, 
  .custom-table-82c-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-82c-three th {
    background-color: #ff8453;
    font-weight: bold;
  }
  

  
  .section-header-82c-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-82c-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }


  /*82m*/

    .table-82m{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-82m {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-82m {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-82m th, 
  .custom-table-82m td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-82m th {
    background-color: #f6a576;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-82m {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }


  .table-container-82m-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-82m-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-82m-two th, 
  .custom-table-82m-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-82m-two th {
    background-color: #f6a576;
    font-weight: bold;
  }
  
 
  

 
  
  .section-header-82m-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-82m-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-82m-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-82m-three th, 
  .custom-table-82m-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-82m-three th {
    background-color: #f6a576;
    font-weight: bold;
  }
  

  
  .section-header-82m-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-82m-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }



  /*fc8r*/

  .table-fc8r{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-fc8r {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc8r {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-fc8r th, 
  .custom-table-fc8r td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc8r th {
    background-color: #938CC6;
    font-weight: bold;
  }

  .section-header-fc8r {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-fc8r-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc8r-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-fc8r-two th, 
  .custom-table-fc8r-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc8r-two th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  
  
  .section-header-fc8r-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-fc8r-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc8r-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-fc8r-three th, 
  .custom-table-fc8r-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc8r-three th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  

  
  .section-header-fc8r-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-fc8r-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }



  /*s70*/

  .table-s70{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-s70 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-s70 {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-s70 th, 
  .custom-table-s70 td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-s70 th {
    background-color: #9ADAF4;
    font-weight: bold;
  }

  .section-header-s70 {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-s70-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-s70-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-s70-two th, 
  .custom-table-s70-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-s70-two th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  
  
  .section-header-s70-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-s70-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-s70-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-s70-three th, 
  .custom-table-s70-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-s70-three th {
    background-color: #FFCE5F;
    font-weight: bold;
  }
  

  
  .section-header-s70-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-s70-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }


  /*fc7l*/

  .table-fc7l{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-fc7l {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc7l {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-fc7l th, 
  .custom-table-fc7l td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc7l th {
    background-color: #BE9BCD;
    font-weight: bold;
  }

  .section-header-fc7l {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-fc7l-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc7l-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-fc7l-two th, 
  .custom-table-fc7l-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc7l-two th {
    background-color: #BE9BCD;
    font-weight: bold;
  }
  
  
  .section-header-fc7l-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-fc7l-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc7l-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-fc7l-three th, 
  .custom-table-fc7l-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc7l-three th {
    background-color: #BE9BCD;
    font-weight: bold;
  }
  

  
  .section-header-fc7l-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-fc7l-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }



  /*sfcs*/

  .table-sfcs{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-sfcs {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-sfcs {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-sfcs th, 
  .custom-table-sfcs td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-sfcs th {
    background-color: #ADA5CB;
    font-weight: bold;
  }

  .section-header-sfcs {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-sfcs-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-sfcs-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-sfcs-two th, 
  .custom-table-sfcs-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-sfcs-two th {
    background-color: #BE9BCD;
    font-weight: bold;
  }
  
  
  .section-header-sfcs-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-sfcs-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-sfcs-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-sfcs-three th, 
  .custom-table-sfcs-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-sfcs-three th {
    background-color: #BE9BCD;
    font-weight: bold;
  }
  

  
  .section-header-sfcs-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-sfcs-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }


  /*fc-6series*/

  .table-fc6s{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-fc6s {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc6s {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
  }
  
  .custom-table-fc6s th, 
  .custom-table-fc6s td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc6s th {
    background-color: #a2b3da;
    font-weight: bold;
  }

  .section-header-fc6s {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-fc6s-two {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc6s-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-fc6s-two th, 
  .custom-table-fc6s-two td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc6s-two th {
    background-color: #BE9BCD;
    font-weight: bold;
  }
  
  
  .section-header-fc6s-two {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }




  .table-container-fc6s-three {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-fc6s-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #5f5f5f;
    background-color: #eef7fc;
  }
  
  .custom-table-fc6s-three th, 
  .custom-table-fc6s-three td {
    border: 1px solid #5f5f5f;
    padding: 12px;
    text-align: left;
  }
  
  .custom-table-fc6s-three th {
    background-color: #BE9BCD;
    font-weight: bold;
  }
  

  
  .section-header-fc6s-three {
    background-color: #E6E6E6;
    font-weight: bold;
    text-align: center;
  }

  .table-container-fc6s-four{
    grid-column: 2 / 3;
    grid-row: 4 / 5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }






/* Mobile */
@media (max-width: 600px) {
  .custom-table-z2c1,
  .custom-table-two,
  .custom-table-three {
    font-size: 12px;
    min-width: 400px;
  }
  .product_s1v1_1, .product_s1v1_2 {
    flex: 1 1 100%;
  }
  .products1v_icon {
    width: 45px;
  }
  .featurez2c-section-f2-b{
    align-items: center !important;
  }
  .custom-table,
  .custom-table-z2c1,
  .custom-table-z2c1-two,
  .custom-table-z2c1-three,
  .table-container-w1c-three,
  .table-container-82c-three,
  .table-container-82c-two,
  .custom-table-fc7l-two,
  .custom-table-fc7l-three,
  .custom-table-fc7l-four,
  .table-container-82c,
  .table-container-82m,
  .table-container-82m-two,
  .table-container-82m-three,
  .custom-table-two,
  .custom-table-three {
    min-width: 400px;  /* scrollable on smaller phones */
  }
  .custom-table-w1c,
  .custom-table-w1c-two,
  .custom-table-w1c-three {
    min-width: 400px;   /* fits better on small phones */
    font-size: 0.9rem;  /* shrink font a touch for legibility */
  }
  .custom-table-82c,
  .custom-table-82c-two,
  .custom-table-82c-three {
    min-width: 400px;  /* still scrolls but fits phones better */
    font-size: 0.9rem; /* slightly smaller font for readability */
  }
  .custom-table-82m,
  .custom-table-82m-two,
  .custom-table-82m-three {
    min-width: 400px;   /* compact width for tiny screens but still scrolls */
    font-size: 0.9rem;  /* tiny font adjustment */
  }
  .custom-table-fc8r {
    min-width: 400px;   /* still scrollable but fits better */
    font-size: 0.9rem;  /* slightly smaller for readability */
  }
  .custom-table-s70 {
    min-width: 400px;   /* narrower scroll range for phones */
    font-size: 0.9rem;  /* slightly reduced text size */
  }
  .custom-table-fc7l {
    min-width: 400px;   /* scrollable but tighter */
    font-size: 0.9rem;  /* slightly smaller text for fit */
  }
  .custom-table-sfcs {
    min-width: 400px;   /* narrower minimum */
    font-size: 0.9rem;  /* smaller font for readability */
  }
  .custom-table-fc6s {
    min-width: 400px;   /* still scrolls, but fits narrower */
    font-size: 0.9rem;  /* slightly smaller text for readability */
  }
  .universal-table {
    min-width: 400px;
    font-size: 0.85rem;
  }
  .universal-table th,
  .universal-table td {
    padding: 8px 10px;
  }
}











/* Mobile + Tablet */







/* === Universal Table Wrapper (with margins) === */
.table-wrapper {
  width: 100%;
  max-width: 1200px;   /* keeps wide tables centered */
  margin:  auto;   /* top-bottom spacing + centers horizontally */
  margin-top: 40px;
  overflow-x: auto;    /* horizontal scroll on small screens */
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

/* === Main Table === */
.universal-table {
  width: 100%;
  border-collapse: collapse;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 6px;
  overflow: hidden;
  background-color: #fff;
  font-size: 0.95rem;
}

/* === Table Cells === */
.universal-table th,
.universal-table td {
  border: 1px solid #5f5f5f;
  padding: 12px 16px;
  text-align: left;
  line-height: 1.5;
  vertical-align: top;
}

/* === Table Headers (lighter shade of brand color) === */
.universal-table thead th {
  background-color: #C45A48; /* lighter shade of #A7402D */
  color: #ffffff;
  font-weight: 600;
  text-align: center;
  font-size: 1.05rem;
}

/* Section headers inside tbody (like "Accessories for Splicer") */
.universal-table .section-header {
  background-color: #E6E6E6;
  font-weight: bold;
  text-align: center;
}

/* === Alternating rows === */
.universal-table tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}
.universal-table tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

/* === Hover Effect === */
.universal-table tbody tr:hover {
  background-color: #f0f0f0;
  transition: background-color 0.2s ease-in-out;
}

/* === First Column Emphasis (Category column) === */
.universal-table td:first-child,
.universal-table th:first-child {
  font-weight: 500;
  color: #333;
}

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




@media (min-width: 4000px) {
  

    /* Parent wrapper stays centered like features banner */
    .product_d {
      display: flex;
    justify-content: center;
    align-items: center;
    
    /* ✅ Match feature banner height */
    min-height: 350px;          /* same "band height" as features banner */
    max-height: 380px;          /* keeps proportion */
    padding: 40px 20px;         /* consistent breathing space */

    /* ✅ Background behavior: full-cover, centered */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    width: 100%;
    }
  
    .product_s1v1 {
      display: flex;
      flex-direction: row;       /* ✅ side by side */
      justify-content: space-between;
      align-items: center;
      max-width: 1400px;         /* ✅ content width like banners */
      width: 100%;
      
      gap: 3rem;
    }
  
    /* Text block */
    .product_s1v1_1 {
      flex: 1 1 50%;             /* ✅ force text take up half */
      max-width: 600px;
      min-width: 400px;          /* ⛔ prevent collapse */
      text-align: left;
    }
  
    .hero-text {
      text-align: left;
      margin: 0 auto;
      max-width: 550px;
    }
  
    .hero-text h2 {
      font-size: 2.6rem;
      font-weight: 600;
      line-height: 1.3;
    }
  
    .product_s1v1_s1 p {
      font-size: 1.1rem;
      line-height: 1.6;
      max-width: 540px;
    }
  
    /* Image block */
    .product_s1v1_2 {
      flex: 1 1 50%;             /* ✅ image container forced visible */
      display: flex;
      justify-content: center;
      align-items: center;
      min-width: 400px;          /* ⛔ ensures it doesn’t shrink to zero */
    }
  
    .product_s1v1_2_img {
      display: block;
      width: 100%;
      max-width: 500px;          /* 📏 consistent image size */
      max-height: 380px;
      height: auto;
      object-fit: contain;
    }
  
  .products1v-feature-section-f2 {
    display: flex;
    justify-content: center;  /* center horizontally */
    align-items: center;      /* center vertically if needed */
    margin: 0 auto;
    width: 100%;        /* cancel centering */
  }
  
  .products1v-feature-section-f2 .feature-banner {
    display: block;
    margin: 0 auto;           /* keep it centered */
    max-width: 1200px;        /* optional: constrain size */
    height: auto;
    object-fit: contain;
  }
  .product_s1v1_img {
  max-width: 170px;
  }
  .product1_d1_2_img,
  .product_s1v1_2_img {
  width: 100%;
  max-width: 520px; 
  height: auto;
  }
  .product_d_img {
  width: auto;
  max-height: 180px;
  }
  .products1v_icon,
  .product_icon {
  width: 56px;
  height: auto;
  }
  .products1v-feature-section-f2 {
    max-width: 1400px; 
    margin-left: auto;
    margin-right: auto;
    }
  
    .products1v-feature-section-f2 img,
    .products1v-feature-section-f2 video,
    .products1v-feature-section-f2 svg {
    width: 100%;
    max-width: 520px;
    height: auto;
    object-fit: contain;
    }

    .featurez2c-section-f2-a {
      position: relative;
      z-index: 0;
      
      width: 100%;
      margin-inline: auto; 
      justify-self: center; 
      padding-inline: 16px;
      box-sizing: border-box;
      }

      .featurez2c-section-f2-a::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 100vw; 
      transform: translateX(-50%);
      background: #f9f9f9; 
      z-index: -1;
      }
    
      .featurez2c-section-f2-a img,
      .featurez2c-section-f2-a video,
      .featurez2c-section-f2-a svg {
      width: 100%;
      max-width: 520px;
      height: auto;
      object-fit: contain;
      }
      .product_s1v1 {
        max-width: 1400px;
        gap: 3rem;
      }
    
      .hero-text h2 {
        font-size: 3rem;
      }
    
      .product_s1v1_2_img {
        max-width: 1400px !important;
      }
  }
  

  @media (max-width: 300px) {
 
  .product_s1v1_img {
  max-width: 140px;
  height: auto;
  }
  .product1_d1_2_img,
  .product_s1v1_2_img {
  width: 100%;
  max-width: 260px;
  height: auto;
  }
  .product_d_img {
  width: auto;
  max-height: 140px;
  }

  .products1v-feature-section-f2 {
    padding-left: 8px; 
    padding-right: 8px;
    position: relative;
    z-index: 0; 
  
    }
    .products1v-feature-section-f2::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 100vw;
      transform: translateX(-50%);
      background: #f9f9f9; 
      z-index: -1;
      }
      
      
      .products1v-feature-section-f2 > * {
      max-width: 1400px;
      margin-inline: auto;
      width: 100%;
      box-sizing: border-box;
      }
    .products1v-feature-section-f2 img,
    .products1v-feature-section-f2 video,
    .products1v-feature-section-f2 svg {
    width: 100%;
    max-width: 260px;
    height: auto;
    object-fit: contain;
    
    }

    .featurez2c-section-f2-a {
      position: relative;
      z-index: 0;
      padding-inline: 8px; 
      box-sizing: border-box;
      justify-self: center;
      }
                
      .featurez2c-section-f2-a::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 100vw;
      transform: translateX(-50%);
      background: #f9f9f9;
      z-index: -1;
      }
      .feature-banner{
        width: 100% !important;

        height: auto !important;
        object-fit: contain !important;
        justify-self: center !important;
        align-self: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }

      .featurez2c-section-f2-a img,
      .featurez2c-section-f2-a video,
      .featurez2c-section-f2-a svg {
      width: 100%;
      max-width: 260px;
      height: auto;
      object-fit: contain;
      }
  }

/* ====================
   Key Features Section - Responsive
   ==================== */
.key-features-container {
  margin-left: 100px !important;
}

.key-features-title {
  text-align: left;
}

.key-features-list {
  text-align: left;
}












/* Default: desktop (left-aligned) */
.products1v-feature-section-f2 .featurez2c-section-f2-b {
  display: flex;
  justify-content: flex-start;
}

.products1v-feature-section-f2 .key-features-container {
  max-width: 720px;
  width: 100%;
  margin-left: 20px; /* your desktop offset */
}







.text{
  padding: 20px;
  text-align: center;
  font-size: 20px;
  
  color: #333;
  line-height: 1.4;

}

.product_s1v1.reverse {
  flex-direction: row-reverse; /* alternate layout */
}


.hero-text .highlight {
  color: #8cb406; /* green accent */
}

/* Responsive */
@media (max-width: 768px) {
  .product_s1v1,
  .product_s1v1.reverse {
    flex-direction: column; /* stack on mobile */
    text-align: center;
  }
  .product_s1v1_h2 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important; /* or flex-start if you prefer left align */
    overflow-x: auto !important;        /* allows one-row even if they exceed width */
    -webkit-overflow-scrolling: touch;  /* smooth scroll on iOS */
    gap: 8px;                           /* spacing between icons (optional) */
  }

  .product_s1v1_h2 .products1v_icon {
    flex: 0 0 auto !important;          /* prevent shrinking/wrapping */
    display: block !important;
  }
  
  .hero-text {
    text-align: center;
    margin: 30px 20px;
  }
  .hero-text h2 {
    font-size: 1.6rem !important;
  }
  .product_s1v1_2_img {
    max-width: 250px;  /* smaller for small screens */
  }
  .table-z2c1,
  .table-container-z2c1,
  .table-container-two,
  .table-container-three {
    margin: 1rem -1rem;
    width: calc(100% + 2rem);
    border-radius: 0;
    
  }
  table,
  .custom-table,
  .custom-table-z2c1,
  .custom-table-two,
  .custom-table-three,
  .custom-table-w1c,
  .custom-table-82c,
  .custom-table-82m,
  .custom-table-fc8r,
  .custom-table-s70,
  .custom-table-fc7l,
  .custom-table-sfcs,
  .custom-table-fc6s,
  .universal-table {
    font-size: 13px !important;   /* ✅ always 13px on mobile */
  }
  
  table {
    min-width: 100%;
    font-size: 1rem;
  }
  
  td, th {
    padding: 0.6rem 0.8rem;
   
  }
  
  thead td,
  thead th {
    font-size: 1rem;
    padding: 0.8rem;
  }
  .responsive-table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1rem 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  .section-header-z2c1 td {
    font-size: 1rem;
    padding: 0.6rem 0.8rem;
  }
  .key-features-container {
    margin-left: 0;
    text-align: center;
  }
  
  .key-features-title {
    text-align: center;
  }
  
  .key-features-list {
    text-align: center;
  }
  .product_s1v1_product1,
  .product_s1v1_product2,
  .product_s1v1_product3,
  .product_s1v1_product4 {
    min-height: 350px;
  }
}

@media (max-width: 992px) {
  .custom-table-z2c1,
  .custom-table-two,
  .custom-table-three {
    font-size: 13px;
    width: 100%;  
    min-width: 500px; 
  }
  .featurez2c-section-f2-a, .featurez2c-section-f2-b {
    flex: 1 1 100%;
    
  }
  .table-container,
  .table-container-z2c1,
  .table-container-z2c1-two,
  .table-container-z2c1-three,
   .table-container-w1c-three,
  .table-container-two,
  .table-container-three,
  .table-container-w1c,
  .table-container-82c,
  .table-container-82c-two,

  .table-container-82c-three,
  .table-container-82m,
  .table-container-82m-two,
  .table-container-82m-three,
  .table-container-fc8r,
  .table-container-s70,
  .table-container-fc7l,
  .table-container-fc7l-two,
  .table-container-fc7l-three,
  .table-container-fc7l-four,
  .table-container-sfcs,
  .table-container-fc6s {
    grid-column: 1 / -1;          /* stretch to full grid width */
    display: block;               
    width: 100%;
    margin: 0;                    /* reset offsets */
    padding-left: 2%;             /* ⭐ 1% space from left */
              /* optional: keep right tight */
    overflow-x: auto;             /* horizontal scroll */
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;       /* ensures padding doesn’t break width */
  }
  .table-container-w1c,
  .table-container-w1c-two,
  .table-container-w1c-three {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ← scroll kicks in */
    -webkit-overflow-scrolling: touch; /* ← smooth iOS scroll */
    padding-left: 2%;                  /* small space to avoid edge clipping */
    box-sizing: border-box;
    margin: 1rem 0;                    /* consistent spacing */
  }
  .table-container-82c,
  .table-container-82c-two,
  .table-container-82c-three {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* side-scroll inside container */
    -webkit-overflow-scrolling: touch; /* smooth swipe on iOS */
    padding-left: 2%;                  /* tiny spacing so content doesn't jam against edge */
    box-sizing: border-box;
    margin: 1rem 0;                    /* nice breathing room */
  }
  .table-container-82m,
  .table-container-82m-two,
  .table-container-82m-three {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ✅ sideways scroll inside container */
    -webkit-overflow-scrolling: touch; /* ✅ smooth swipe in iOS */
    padding-left: 2%;                  /* little gap so text doesn’t glue to edge */
    box-sizing: border-box;
    margin: 1rem 0;
  }
  .table-container-fc8r {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ✅ scrolls sideways */
    -webkit-overflow-scrolling: touch; /* ✅ smooth momentum scrolling on iOS */
    padding-left: 2%;                  /* little margin so it’s not flush */
    box-sizing: border-box;
    margin: 1rem 0;
  }
  .table-container-s70 {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ✅ horizontal scroll inside container */
    -webkit-overflow-scrolling: touch; /* ✅ smooth iOS scrolling */
    padding-left: 2%;                  /* small visual buffer */
    box-sizing: border-box;
    margin: 1rem 0;
  }
  .table-container-fc7l,
  .table-container-fc7l-two,
  .table-container-fc7l-three,
  .table-container-fc7l-four {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ✅ sideways scroll only inside wrapper */
    -webkit-overflow-scrolling: touch; /* ✅ smooth scroll for iOS */
    padding-left: 2%;                  /* little buffer so edges don’t hug */
    box-sizing: border-box;
    margin: 1rem 0;
  }
  .table-container-sfcs {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ✅ horizontal scroll enabled */
    -webkit-overflow-scrolling: touch; /* ✅ smooth momentum scroll for iOS */
    padding-left: 2%;                  /* small breathing space at left */
    box-sizing: border-box;
    margin: 1rem 0;
  }
  .table-container-fc6s {
    display: block;
    width: 100%;
    overflow-x: auto;                  /* ✅ sideways scroll inside wrapper */
    -webkit-overflow-scrolling: touch; /* ✅ smooth inertia scroll for iOS */
    padding-left: 2%;                  /* a little left padding for breathing room */
    box-sizing: border-box;
    margin: 1rem 0;
  }
  .custom-table,
  .custom-table-z2c1,
 
  .custom-table-z2c1-three,
  .table-container-w1c-three,
  .custom-table-two,
  .custom-table-three,
  .custom-table-w1c,
  .custom-table-82c-two,
  
  .custom-table-82c-three,
  .custom-table-82c,
  .custom-table-82m,
  .custom-table-82m-two,
  .custom-table-82m-three,
  .custom-table-fc8r,
  .custom-table-fc7l-two,
  .custom-table-fc7l-three,
  .custom-table-fc7l-four,
  .custom-table-s70,
  .custom-table-fc7l,
  .custom-table-sfcs,
  .custom-table-fc6s {
    width: 100%;
    min-width: 600px;  /* keeps scrollable on tablets */
  }
  .custom-table-w1c,
  .custom-table-w1c-two,
  .custom-table-w1c-three {
    min-width: 600px;   /* tablets force scroll if container < 600px */
  }
  .custom-table-82c,
  .custom-table-82c-two,
  .custom-table-82c-three {
    min-width: 600px;   /* ensures scroll behavior on e.g. tablets */
  }
  .custom-table-82m,
  .custom-table-82m-two,
  .custom-table-82m-three {
    min-width: 600px;   /* for tablets */
  }
  .custom-table-fc8r {
    min-width: 600px;   /* force horizontal scroll on tablets */
  }
  .custom-table-s70 {
    min-width: 600px;   /* forces horizontal scroll on tablet widths */
  }
  .custom-table-fc7l {
    min-width: 600px;   /* ensures scroll triggers on tablets */
  }
  .custom-table-fc7l-two {
    min-width: 600px;   /* ensures scroll triggers on tablets */
  }
  .custom-table-fc7l-three {
    min-width: 600px;   /* ensures scroll triggers on tablets */
  }
  .custom-table-fc7l-four {
    min-width: 600px;   /* ensures scroll triggers on tablets */
  }
  .custom-table-sfcs {
    min-width: 600px;   /* forces scrollbars on tablet view */
  }
  .custom-table-fc6s {
    min-width: 600px;   /* tablets need to scroll sideways */
  }
  .universal-table {
    min-width: 600px;
    font-size: 0.9rem;
  }
  .table-container,
  .table-container-z2c1,
  .table-container-z2c1-two,
  .table-container-z2c1-three,
  .table-container-w1c,
  .table-container-w1c-two,
  .table-container-w1c-three,
  .table-container-82c,
  .table-container-82c-two,
  .table-container-82c-three,
  .table-container-82m,
  .table-container-82m-two,
  .table-container-82m-three,
  .table-container-fc8r,
  .table-container-s70,
  .table-container-fc7l,
  .table-container-fc7l-two,
  .table-container-fc7l-three,
  .table-container-fc7l-four,
  .table-container-sfcs,
  .table-container-fc6s {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;         /* Firefox ✅ */
  }
  /* Remove scrollbars in Webkit browsers (Chrome, Edge, Safari) */
  .table-container::-webkit-scrollbar,
  .table-container-z2c1::-webkit-scrollbar,
  .table-container-w1c::-webkit-scrollbar,
  .table-container-82c::-webkit-scrollbar,
  .table-container-82m::-webkit-scrollbar,
  .table-container-fc8r::-webkit-scrollbar,
  .table-container-s70::-webkit-scrollbar,
  .table-container-fc7l::-webkit-scrollbar,
  .table-container-sfcs::-webkit-scrollbar,
  .table-container-fc6s::-webkit-scrollbar {
    display: none; /* ✅ hides scrollbar but keeps scroll functionality */
  }

  .products1v-feature-section-f2 .featurez2c-section-f2-b {
    justify-content: center;
  }
  .products1v-feature-section-f2 .key-features-container {
    margin-left: 20px !important;    /* override the desktop offset */
    margin-right: 0;
    margin: 0 auto;     /* center horizontally */
    padding: 0 16px;    /* nice side padding on small screens */
  }

  /* Optional: center the title on small screens */
  .products1v-feature-section-f2 .key-features-title {
    text-align: center;
  }
}

@media (min-width: 600px) and (max-width: 1024px){
  .product_s1v1_product {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .product_s1v1 {
    padding: 40px 30px;
    gap: 1.5rem;
  }

  .hero-text h2 {
    font-size: 2.2rem;
  }

  .product_s1v1_2_img {
    max-width: 380px; /* shrink images slightly for tablet */
  }
  .product_s1v1_img {
    max-height: 200px;
  }
  .product_s1v1_1,
  .product_s1v1_2 {
    max-width: 50%;
  
}
.similerproduct h3 {
  font-size: 2rem;
}

.product_s1v1_product {
  padding: 0 1.5rem;
}
.similerproduct {
  margin: 4rem 0 3rem;
}

.similerproduct h3 {
  font-size: 2.2rem;
  margin-bottom: 2rem;
}

.product_s1v1_product {
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.product_s1v1_img {
  max-height: 200px;
}
.product_s1v1_product {
  grid-template-columns: repeat(3, 1fr);
  padding: 0 2rem;
}

.similerproduct h3 {
  font-size: 2.4rem;
}

.product_s1v1_img {
  max-height: 220px;
}
}




/* When very wide screen (zoomed out) */
@media (min-width: 1600px) {
  .product_d {
    padding: 40px 20px;      /* reduce banner height */
    min-height: 250px;       /* shorter background */
  }
  .product_s1v1_2_img {
    max-width: 400px;        /* keep image visible at zoom-out */
  }
  .hero-text h2 {
    font-size: 2.2rem;       
  }
  .text {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem;
  }

  

 
}



/* Extreme zoom out styles - add this at the very end of your CSS file */
@media (max-width: 1400px) {
  /* Override any existing styles with increased specificity */
  body .product_s1v1,
  html .product_s1v1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    justify-content: center !important; /* This can help center the content vertically */
    text-align: center !important; 
  }
   .product_d .products1v_buttons {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
  }
  
  body .product_s1v1.reverse,
  html .product_s1v1.reverse {
    flex-direction: column !important;
  }
  
  body .product_s1v1_1,
  body .product_s1v1_h1,
  body .product_s1v1_s1,
  html .product_s1v1_1, 
  html .product_s1v1_h1,
  html .product_s1v1_s1 {
    width: 100% !important;
    max-width: 800px !important;
    text-align: center !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  body .product_s1v1_s1 p,
  html .product_s1v1_s1 p {
    text-align: center !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  
  body .products1v_buttons,
  html .products1v_buttons {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 15px auto !important;
  }
  
  body .products1v_buttons button,
  body .products1v_buttons a,
  html .products1v_buttons button,
  html .products1v_buttons a {
    margin: 0 10px !important;
  }
  
  body .product_s1v1_2,
  html .product_s1v1_2 {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 20px auto !important;
    order: -1 !important; /* Move image to top */
  }
  
   .product_s1v1_2_img,
   .product_s1v1_2_img {
    max-width: 80% !important;
    margin: 0 auto !important;
  }
  
  body .text,
  html .text {
    text-align: center !important;
    max-width: 80% !important;
    margin: 0 auto !important;
  }
   body .products1v_buttons,
  html .products1v_buttons {
    display: flex !important;
    flex-direction: row !important; /* Force side by side */
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important; /* Prevent overflow */
    margin: 20px auto !important;
    padding: 0 !important;
    overflow: hidden !important; /* Prevent overflow */
  }
  
  /* Style individual buttons */
  body .enquire_button,
  html .enquire_button {
    margin: 0 5px !important; /* Reduced margin to keep them close */
    padding: 8px 16px !important; /* Slightly smaller padding if needed */
    font-size: 14px !important; /* Slightly smaller font if needed */
    /* Prevent text wrapping */
    flex: 0 1 auto !important; /* Don't grow, allow shrink, auto basis */
    min-width: 120px !important; /* Minimum width */
  }
  
  /* Ensure the parent container doesn't overflow */
  body .product_s1v1_1,
  html .product_s1v1_1 {
    overflow: hidden !important;
    max-width: 100% !important;
  }
  
  /* Ensure the button container stays contained */
  body .product_s1v1_h1,
  html .product_s1v1_h1 {
    overflow: hidden !important;
    max-width: 100% !important;
  }
}


.product_d .products1v_buttons {
  display: flex;
  align-items: center;
  justify-content: center;        /* change to flex-start if you prefer left align */
  gap: clamp(8px, 2vw, 16px);
  flex-wrap: nowrap;
  overflow-x: auto;               /* enable horizontal scroll on small screens */
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;            /* space for potential scrollbar */
}
/* Hide scrollbar (keeps scroll functionality) */
.product_d .products1v_buttons::-webkit-scrollbar { display: none; }
.product_d .products1v_buttons { scrollbar-width: none; }

/* Make sure children don't shrink/wrap */
.product_d .products1v_buttons > * {
  flex: 0 0 auto;

}

/* Button styling (optional, if you want a consistent look) */
.enquire_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 9999px;
  background: #A7402D;
  color: #fff;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1;
  margin: 0 !important;           /* neutralize inline margin from JSX */
}


/* Container utility */
.center-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/* Full-bleed banner (background spans the viewport width) */
.product_d--bleed {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: clamp(30px, 1vw, 96px) clamp(16px, 6vw, 72px);
}

/* Background image without inline styles — spans 100vw */
.product_d__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;              /* full viewport width */
  transform: translateX(-50%);
  object-fit: cover;         /* cover the banner area */
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

/* Content layer on top of background */
.product_d--has-bg > .product_s1v1 {
  position: relative;
  z-index: 1;
}

/* Row layout with alternating behavior preserved on desktop */
.product_s1v1--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 3vw, 40px);
  max-width: 1400px;
 
  width: 100%;
}

/* Alternate row for odd sections */
.product_s1v1--row.reverse {
  flex-direction: row-reverse;
}

/* Text block: centered text with even spacing */
.product_s1v1_1--center {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Title/subtitle */
.hero-text--center {
  text-align: center !important;
  margin: 0 auto;
  padding: clamp(8px, 1.5vw, 16px) 0;
  max-width: 960px;
}
.hero-text--center h2 {
  margin: 0 !important;             /* neutralize earlier negative margins */
  font-size: clamp(28px, 4.2vw, 48px) !important;
  line-height: 1.25;
}

/* Description */
.hero-desc--center {
  margin: clamp(10px, 1.5vw, 16px) auto 0;
  padding: 0 clamp(8px, 2vw, 24px);
  max-width: 900px;
  text-align: center !important;
  color: #333;
}

/* Buttons centered in one row; wraps if needed */
.products1v_buttons--center {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 16px);
  flex-wrap: wrap;
  margin-top: clamp(12px, 2vw, 20px);
}

/* Image column */
.product_s1v1_2--center {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  justify-content: center;
}

/* Larger hero image */
.hero-img--xl {
  width: 100% !important;
  max-width: 500px !important; /* Fixed width for desktop */
  height: auto !important;
  object-fit: contain !important;
  max-height: 70vh !important; /* Reduced height for desktop */
}

/* Override for larger screens if needed */
@media (min-width: 1200px) {
  .hero-img--xl {
    max-width: 600px !important;
  }
}

/* Bottom summary block */
.text--centered-wide {
  text-align: center !important;
  max-width: 1000px;
  margin: clamp(24px, 5vw, 48px) auto;
  padding: 0 clamp(16px, 4vw, 24px);
}

/* Accent helper */
.text-center { text-align: center !important; }
.brand-accent { color: #A7402D; }

/* RESPONSIVE — stack on mobile, keep alternate on desktop */
@media (max-width: 991.98px) {
  .product_s1v1--row {
    flex-direction: column !important;     /* stack on mobile */
    text-align: center;
  }
  .product_s1v1--row.reverse {
    flex-direction: column !important;     /* reverse becomes same when stacked */
  }
  .product_s1v1_1--center,
  .product_s1v1_2--center {
    flex: 1 1 100%;
  }
  .hero-img--xl { max-width: 92vw !important; }
}

/* Ensure desktop keeps row layout even if earlier CSS forces column */
@media (min-width: 992px) {
  .product_s1v1.product_s1v1--row { flex-direction: row !important; }
  .product_s1v1.product_s1v1--row.reverse { flex-direction: row-reverse !important; }
}



/* Full-bleed banner (background spans the viewport width) */
.product_d--bleed {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: clamp(30px, 1vw, 96px) clamp(16px, 6vw, 72px);
}

/* Background image without inline styles — spans 100vw */
.product_d__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;  /* Changed from left: 50% */
  right: 0; /* Added right: 0 */
  width: 100%; /* Changed from 100vw */
  height: 100%; /* Added height 100% */
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  transform: none; /* Removed translateX */
}

/* Content layer on top of background */
.product_d--has-bg > .product_s1v1 {
  position: relative;
  z-index: 1;
}

/* Row layout with alternating behavior preserved on desktop */
.product_s1v1--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 3vw, 40px);
  max-width: 1400px;
 
  width: 100%;
}

/* Alternate row for odd sections */
.product_s1v1--row.reverse {
  flex-direction: row-reverse;
}

/* Text block: centered text with even spacing */
.product_s1v1_1--center {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Title/subtitle */
.hero-text--center {
  text-align: center !important;
  margin: 0 auto;
  padding: clamp(8px, 1.5vw, 16px) 0;
  max-width: 960px;
}
.hero-text--center h2 {
  margin: 0 !important;
  font-size: clamp(28px, 4.2vw, 48px) !important;
  line-height: 1.25;
 
}

/* Description */
.hero-desc--center {
  margin: clamp(10px, 1.5vw, 16px) auto 0;
  padding: 0 clamp(8px, 2vw, 24px);
  max-width: 900px;
  text-align: center !important;
  color: #333;
}

/* Buttons centered in one row; wraps if needed */
.products1v_buttons--center {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(10px, 2vw, 16px);
  flex-wrap: wrap;
  margin-top: clamp(12px, 2vw, 20px);
}

/* Image column */
.product_s1v1_2--center {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  justify-content: center;
}



/* Bottom summary block */
.text--centered-wide {
  text-align: center !important;
  max-width: 1000px;
  margin: clamp(24px, 5vw, 48px) auto;
  padding: 0 clamp(16px, 4vw, 24px);
}

/* Accent helper */
.text-center { text-align: center !important; }
.brand-accent { color: #A7402D; }

/* RESPONSIVE — stack on mobile, keep alternate on desktop */
@media (max-width: 991.98px) {
  /* Enhanced background coverage for mobile */
  .product_d--bleed {
    position: relative;
    overflow: hidden;
    min-height: 100%;
  }
  
  .product_d__bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .product_s1v1--row {
    flex-direction: column !important;
    text-align: center;
  }
  .product_s1v1--row.reverse {
    flex-direction: column !important;
  }
  .product_s1v1_1--center,
  .product_s1v1_2--center {
    flex: 1 1 100%;
  }
  .hero-img--xl { max-width: 92vw !important; }
}

/* Ensure desktop keeps row layout even if earlier CSS forces column */
@media (min-width: 992px) {
  .product_s1v1.product_s1v1--row { flex-direction: row !important; }
  .product_s1v1.product_s1v1--row.reverse { flex-direction: row-reverse !important; }
  
  /* For desktop, we can use the centered approach if needed */
  .product_d__bg {
    left: 0;
    right: 0;
    width: 100%;
  }
}



/* EXTREME ZOOM OUT - Ultra wide screens */
@media (min-width: 1600px) {
  .product_s1v1--row {
    max-width: clamp(1400px, 70vw, 1800px);
    gap: clamp(24px, 2.5vw, 48px) !important;
  }
  
  .hero-text--center h2 {
    font-size: clamp(48px, 3.5vw, 50px) !important;
    gap: clamp(12px, 1.5vw, 24px) !important;
  }
  
  .hero-img--xl {
    max-width: clamp(600px, 35vw, 1000px) !important;
    gap: clamp(24px, 2.5vw, 48px) !important;
    
  }
  
  .product_d--bleed {
    padding: clamp(48px, 3vw, 120px) clamp(32px, 5vw, 96px);
    gap: clamp(24px, 2.5vw, 48px) !important;
  }
   .products1v_buttons--center {
    margin-bottom: clamp(24px, 3vw, 48px); /* Space below buttons */
    gap: clamp(16px, 2vw, 32px); /* Gap between buttons */
  }
}

/* LARGE DESKTOP - Better scaling for zoom out */
@media (min-width: 1200px) and (max-width: 1599px) {
  .product_s1v1--row {
    max-width: clamp(1200px, 85vw, 1400px);
  }
  
  .hero-text--center h2 {
    font-size: clamp(36px, 4vw, 48px) !important;
  }
  
  .hero-img--xl {
    max-width: clamp(480px, 38vw, 800px) !important;
  }
}

/* TABLET LANDSCAPE */
@media (max-width: 1199px) and (min-width: 992px) {
  .product_s1v1--row {
    gap: clamp(20px, 2.5vw, 32px);
    max-width: 95%;
  }
  
  .hero-text--center h2 {
    font-size: clamp(32px, 4.5vw, 42px) !important;
  }
  
  .hero-img--xl {
    max-width: clamp(400px, 45vw, 600px) !important;
  }
  
  .product_d--bleed {
    padding: clamp(24px, 2vw, 48px) clamp(20px, 4vw, 40px);
  }
}

/* TABLET PORTRAIT */
@media (max-width: 991px) and (min-width: 769px) {
  .product_s1v1--row {
    flex-direction: column !important;
    text-align: center;
    gap: clamp(24px, 3vw, 32px);
    max-width: 90%;
  }
  
  .product_s1v1--row.reverse {
    flex-direction: column !important;
  }
  
  .product_s1v1_1--center,
  .product_s1v1_2--center {
    flex: 1 1 100%;
  }
  
  .hero-text--center h2 {
    font-size: clamp(28px, 5vw, 36px) !important;
  }
  
  .hero-img--xl {
    max-width: clamp(350px, 70vw, 500px) !important;
  }
  
  .product_d--bleed {
    padding: clamp(20px, 3vw, 40px) clamp(16px, 4vw, 32px);
  }
}

/* MOBILE DEVICES */
@media (max-width: 768px) {
  .product_s1v1--row {
    flex-direction: column !important;
    text-align: center;
    gap: clamp(16px, 4vw, 24px);
    max-width: 95%;
  }
  
  .product_s1v1--row.reverse {
    flex-direction: column !important;
  }
  
  .product_s1v1_1--center,
  .product_s1v1_2--center {
    flex: 1 1 100%;
  }
  
  .hero-text--center {
    max-width: 100%;
    padding: clamp(6px, 2vw, 12px) 0;
  }
  
  .hero-text--center h2 {
    font-size: clamp(24px, 6vw, 32px) !important;
    line-height: 1.3;
  }
  
  .hero-desc--center {
    padding: 0 clamp(12px, 3vw, 20px);
    margin: clamp(8px, 2vw, 12px) auto 0;
    font-size: clamp(14px, 3.5vw, 16px);
  }
  
  .hero-img--xl {
    max-width: clamp(280px, 85vw, 400px) !important;
  }
  
  .products1v_buttons--center {
    gap: clamp(8px, 3vw, 12px);
    margin-top: clamp(16px, 4vw, 24px);
  }
  
  .product_d--bleed {
    padding: clamp(16px, 4vw, 32px) clamp(12px, 3vw, 20px);
  }
}

/* SMALL MOBILE */
@media (max-width: 480px) {
  .hero-text--center h2 {
    font-size: clamp(20px, 7vw, 28px) !important;
  }
  
  .hero-img--xl {
    max-width: clamp(240px, 90vw, 320px) !important;
  }
  
  .hero-desc--center {
    font-size: clamp(13px, 4vw, 15px);
    line-height: 1.4;
  }
  
  .product_d--bleed {
    padding: clamp(12px, 5vw, 24px) clamp(8px, 4vw, 16px);
  }
}

/* Ensure desktop layout is preserved */
@media (min-width: 992px) {
  .product_s1v1.product_s1v1--row { 
    flex-direction: row !important; 
  }
  
  .product_s1v1.product_s1v1--row.reverse { 
    flex-direction: row-reverse !important; 
  }
}






/* Full-bleed banner (background spans the viewport width) */
.product-section--fullwidth {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: clamp(25px, 1vw, 80px) clamp(14px, 5vw, 60px);
}

/* Background image without inline styles — spans 100vw */
.product-section__background {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  transform: none;
}

/* Content layer on top of background */
.product-section--with-bg > .product-content {
  position: relative;
  z-index: 1;
}

/* Row layout with alternating behavior preserved on desktop */
.product-content--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(14px, 2.5vw, 35px);
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

/* Alternate row for odd sections */
.product-content--row.reverse {
  flex-direction: row-reverse;
}

/* Text block: centered text with even spacing */
.product-text-block--centered {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Title/subtitle */
.hero-text--center {
  text-align: center !important;
  margin: 0 auto;
  padding: clamp(6px, 1.2vw, 14px) 0;
  max-width: 800px;
}

.hero-text--center h2 {
  margin: 0 !important;
  font-size: clamp(24px, 3.5vw, 40px) !important;
  line-height: 1.25;
}

/* Description */
.hero-desc--center {
  margin: clamp(8px, 1.2vw, 14px) auto 0;
  padding: 0 clamp(6px, 1.5vw, 20px);
  max-width: 750px;
  text-align: center !important;
  color: #333;
  font-size: clamp(14px, 1.8vw, 16px);
}

/* Buttons centered in one row; wraps if needed */
.product-buttons--centered {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 1.5vw, 14px);
  flex-wrap: wrap;
  margin-top: clamp(10px, 1.5vw, 18px);
}

/* Image column */
.product-image-block--centered {
  flex: 1 1 50%;
  min-width: 0;
  display: flex;
  justify-content: center;
}

/* Smaller hero image */
.hero-image--large {
  width: 100%;
  max-width: clamp(420px, 35vw, 720px) !important;
  height: auto;
  object-fit: contain;
}

/* Bottom summary block */
.text--centered-wide {
  text-align: center !important;
  max-width: 850px;
  margin: clamp(20px, 4vw, 40px) auto;
  padding: 0 clamp(14px, 3vw, 20px);
}

/* Accent helper */
.text-center { text-align: center !important; }
.brand-accent { color: #A7402D; }

/* EXTREME ZOOM OUT - Ultra wide screens */
@media (min-width: 1600px) {
  .product-content--row {
    max-width: clamp(1200px, 65vw, 1500px);
    gap: clamp(35px, 3.5vw, 70px) !important;
  }
  
  .hero-text--center {
    margin-bottom: clamp(10px, 1.2vw, 20px);
  }
  
  .hero-text--center h2 {
    font-size: clamp(40px, 3vw, 54px) !important;
    margin-bottom: clamp(14px, 1.8vw, 28px) !important;
  }
  
  .hero-desc--center {
    margin-top: clamp(14px, 1.8vw, 28px);
    margin-bottom: clamp(18px, 2.2vw, 35px);
    font-size: clamp(15px, 1.6vw, 18px);
  }
  
  .hero-image--large {
    max-width: clamp(500px, 30vw, 700px) !important;
  }
  
  .product-section--fullwidth {
    padding: clamp(40px, 2.5vw, 100px) clamp(28px, 4vw, 80px);
  }
  
  .product-buttons--centered {
    margin-top: clamp(20px, 2.5vw, 40px);
    gap: clamp(14px, 1.8vw, 28px);
  }
}

/* LARGE DESKTOP - Better scaling for zoom out */
@media (min-width: 1200px) and (max-width: 1599px) {
  .product-content--row {
    max-width: clamp(1000px, 80vw, 1200px);
    gap: clamp(28px, 3vw, 50px) !important;
  }
  
  .hero-text--center h2 {
    font-size: clamp(32px, 3.5vw, 42px) !important;
    margin-bottom: clamp(10px, 1.2vw, 20px) !important;
  }
  
  .hero-desc--center {
    margin-top: clamp(10px, 1.2vw, 20px);
    margin-bottom: clamp(14px, 1.8vw, 28px);
    font-size: clamp(14px, 1.6vw, 17px);
  }
  
  .hero-image--large {
    max-width: clamp(400px, 43vw, 700px) !important;
  }
  
  .product-buttons--centered {
    margin-top: clamp(16px, 2vw, 30px);
    gap: clamp(10px, 1.2vw, 20px);
  }
}

/* TABLET LANDSCAPE */
@media (max-width: 1199px) and (min-width: 992px) {
  .product-content--row {
    gap: clamp(20px, 2.5vw, 35px) !important;
    max-width: 95%;
  }
  
  .hero-text--center h2 {
    font-size: clamp(28px, 4vw, 36px) !important;
    margin-bottom: clamp(8px, 1vw, 16px) !important;
  }
  
  .hero-desc--center {
    margin-top: clamp(8px, 1vw, 16px);
    margin-bottom: clamp(12px, 1.5vw, 20px);
    font-size: clamp(13px, 1.8vw, 16px);
  }
  
  .hero-image--large {
    max-width: clamp(320px, 40vw, 500px) !important;
  }
  
  .product-section--fullwidth {
    padding: clamp(20px, 1.8vw, 40px) clamp(16px, 3.5vw, 35px);
  }
  
  .product-buttons--centered {
    margin-top: clamp(14px, 1.8vw, 24px);
    gap: clamp(8px, 1vw, 16px);
  }
}

/* TABLET PORTRAIT */
@media (max-width: 991px) and (min-width: 769px) {
  .product-content--row {
    flex-direction: column !important;
    text-align: center;
    gap: clamp(20px, 2.5vw, 28px);
    max-width: 90%;
  }
  
  .product-content--row.reverse {
    flex-direction: column !important;
  }
  
  .product-text-block--centered,
  .product-image-block--centered {
    flex: 1 1 100%;
  }
  
  .hero-text--center h2 {
    font-size: clamp(24px, 4.5vw, 32px) !important;
  }
  
  .hero-image--large {
    max-width: clamp(280px, 60vw, 420px) !important;
  }
  
  .product-section--fullwidth {
    padding: clamp(16px, 2.5vw, 35px) clamp(14px, 3.5vw, 28px);
  }
}

/* MOBILE DEVICES */
@media (max-width: 768px) {
  .product-content--row {
    flex-direction: column !important;
    text-align: center;
    gap: clamp(14px, 3.5vw, 20px);
    max-width: 95%;
  }
  
  .product-content--row.reverse {
    flex-direction: column !important;
  }
  
  .product-text-block--centered,
  .product-image-block--centered {
    flex: 1 1 100%;
  }
  
  .hero-text--center {
    max-width: 100%;
    padding: clamp(5px, 1.5vw, 10px) 0;
  }
  
  .hero-text--center h2 {
    font-size: clamp(20px, 5.5vw, 28px) !important;
    line-height: 1.3;
  }
  
  .hero-desc--center {
    padding: 0 clamp(10px, 2.5vw, 18px);
    margin: clamp(6px, 1.5vw, 10px) auto 0;
    font-size: clamp(12px, 3vw, 15px);
  }
  
  .hero-image--large {
    max-width: clamp(240px, 80vw, 350px) !important;
  }
  
  .product-buttons--centered {
    gap: clamp(6px, 2.5vw, 10px);
    margin-top: clamp(12px, 3.5vw, 20px);
  }
  
  .product-section--fullwidth {
    padding: clamp(12px, 3.5vw, 28px) clamp(10px, 2.5vw, 18px);
  }
}

/* SMALL MOBILE */
@media (max-width: 480px) {
  .hero-text--center h2 {
    font-size: clamp(18px, 6vw, 24px) !important;
  }
  
  .hero-image--large {
    max-width: clamp(200px, 85vw, 280px) !important;
  }
  
  .hero-desc--center {
    font-size: clamp(11px, 3.5vw, 14px);
    line-height: 1.4;
  }
  
  .product-section--fullwidth {
    padding: clamp(10px, 4vw, 20px) clamp(6px, 3.5vw, 14px);
  }
}

/* Ensure desktop layout is preserved */
@media (min-width: 992px) {
  .product-content.product-content--row { 
    flex-direction: row !important; 
  }
  
  .product-content.product-content--row.reverse { 
    flex-direction: row-reverse !important; 
  }
}



@media (min-width: 769px) {
  .sumitomo-six-page .product_s1v1_2_img.hero-img--xl {
    max-width: 340px ;
    width: 85%;
    height: auto;
  }
}
@media (min-width: 769px) {
  .sherr{
    max-width: 840px ;
    width: 60%;
    height: 500px;
  }
}




:root {
  --hero-bg: #efefef;         /* light gray background like the mock */
  --accent: #c44536;          /* red for heading/CTA */
  --text: #1e2328;            /* body text color */
  --muted: #4b5563;           /* paragraph */
}

.hero-split {
  width: 100%;
  background: var(--hero-bg);
}

.hero-split__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 80px) 24px;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
}

.hero-split__content {
  max-width: 680px;
}

.hero-split__title {
  margin: 0 0 16px;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.2px;
  line-height: 1.1;
  font-size: clamp(32px, 5vw, 64px);
}

.hero-split__desc {
  color: var(--muted);
  line-height: 1.7;
  font-size: clamp(14px, 1.4vw, 18px);
  max-width: 62ch;
}

.hero-split__cta {
  margin-top: 28px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.btn-pill {
  appearance: none;
  border: 0;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .06s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btn-primary {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 8px 18px rgba(196, 69, 54, 0.25);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(196, 69, 54, 0.35); }

.btn-outline {
  background: transparent;
  border: 2px solid var(--accent);
  color: var(--accent);
}
.btn-outline:hover { background: var(--accent); color: #fff; }

.hero-split__image-wrap {
  position: relative;
  min-height: 360px;
  display: grid;
  place-items: center;
}

.hero-split__img {
  width: min(540px, 100%);
  height: auto;
  transform: translateX(6%); /* slight bleed to the right, like the mock */
  filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.12));
}

@media (max-width: 980px) {
  .hero-split__container {
    grid-template-columns: 1fr;
  }
  .hero-split__img {
    transform: none;
    margin-top: 12px;
  }
}
/* .product_z2c1{
    display: grid;
    grid-template-columns: 6.25rem 1.8fr 1fr 6.25rem;
    margin-top: 50px;
    
}

.product_z2c1_1{
    grid-column: 2/3;
    display: grid;
    grid-template-columns: 1.2fr .2fr;
    background-color: #e6e6e6;
    border-radius: 10px 0 0 0;
}

.product_z2c1_2{
    grid-column: 3/4;
    background-color: #e6e6e6;
    border-radius: 0 10px 10px 0;    
}



.product_z2c1_2_img{
    width: 95%;
    display: block;
    margin: 30px 10px
}

.product_z2c1_s1_name{
    font-size: 50px;
    margin-top: 30px;
    color: #A7402D;
    margin-left: 10px;
}

.product_z2c1_h1{
    grid-column: 1/2;
    display: grid;
    grid-template-rows: auto;
   
}

.product_z2c1_h2{
    grid-column: 2/3;
}

.product_z2c1_s1{
    grid-row: 1/2;
}

.product_z2c1_s2{
    grid-row: 2/3;
}


.productz2c_button{
    border: none;
    border-radius: 26px;
    padding: 12px 30px ;
    background-color: #A7402D;
    color: white;
    font-size: 20px;
    margin: 0 0 20px 10px;
    cursor: pointer;
}


.productz2c_icon{
    width: 60px;
    height: 60px;
    margin: 5px;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

.productz2c_icon:hover {
    transform: scale(1.1);
}









.product_d_feature{
    display: grid;
    grid-template-columns: 6.25rem 1.5fr .9fr 6.25rem;
    margin-top: 50px;
}


.product_d_feature_art{
    grid-column: 2/3;
    margin-top: 80px;
}

.product_d_feature_img{
    grid-column: 3/4;
}

.product_z2c1_product {
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr 1fr 1fr 6.25rem;
    margin-top: 50px;

}

.product_z2c1_product1{
    grid-column: 2/3;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    
}

.product_z2c1_product2{
    grid-column: 3/4;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
   
}

.product_z2c1_product3{
    grid-column: 4/5;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    
}

.productz2c_icon1{
    margin-top: 50px;
}

.product_z2c1_product4{
    grid-column: 5/6;
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    
}


.product_z2c1_img{
    height: 50%;
    display: block;
    margin: 0 auto;
    margin-top: 15px;
}

.productz2c_button_option{
    border: none;
    border-radius: 26px;
    padding: 8px 24px ;
    background-color: #A7402D;
    color:white;
    margin-top: 50px;
    margin-left: 50px;
    display: block;
    margin: 0 auto;
    margin-top: 20px;
    text-decoration: none;
    cursor: pointer;

}

.productz2c_name_option{
    justify-self: center;
    margin-top: 10%;
    color: #A7402D;
    font-size: 20px;

}




.productz2c-feature-section-f2{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}


.featurez2c-section-f2-a{
   grid-column: 2/3;
   grid-row: 1/2;

}

.featurez2c-section-f2-b{
    grid-column: 2/3;
    grid-row: 2/3;
    margin-top: 20px;
}


@media screen and (max-width: 768px) {


    .product_z2c1{
        display: grid;
        grid-template-columns: 3rem 1fr 3rem;
        grid-template-rows: auto;
    }

    .product_z2c1_1{
        grid-column: 2/3;
        grid-row: 2/3;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        border-radius: 0 0 7px 7px;
    }

    .product_z2c1_h1{
        grid-column: 1/2;
        grid-row: 2/3;
    }

    .product_z2c1_h2{
        grid-column: 1/2;
        grid-row: 1/2;
    }

    .productz2c_icon{
        width: 55px;
        height: 55px;
    
    }

    .product_z2c1_2{
        grid-column: 2/3;
        grid-row: 1/2;
        border-radius: 7px 7px 0 0;
    }

    .productz2c-feature-section-f2{
        display: grid;
        grid-template-columns: 3rem 1fr 3rem;
        grid-template-rows: auto;
        margin-top: 30px;
    }
    
    
    .featurez2c-section-f2-a{
       grid-column: 2/3;
       grid-row: 1/2;
    
    }
    
    .featurez2c-section-f2-b{
        grid-column: 2/3;
        grid-row: 2/3;
        margin-top: 20px;
    }

    .productz2c_icon1{
        margin-top: 0;
    }






    .product_z2c1_feature{
        display: grid;
        grid-template-columns:3rem 1fr 3rem;
        grid-template-rows: auto;
    }

    .product_z2c1_feature_img{
        grid-column: 2/3;
        grid-row: 1/2;

    }

    .product_z2c1_feature_art{
        grid-column: 2/3;
        grid-row: 2/3;
    }

    .product_z2c1_product{
        display: grid;
        grid-template-columns: 3rem 1fr 3rem;
        grid-template-rows: auto;
        row-gap: 10vh;
    }

    .product_z2c1_product1{
        grid-column: 2/3;
        grid-row: 1/2;
        width: 100%;
        
    }

    .product_z2c1_product2{
        grid-column: 2/3;
        grid-row: 2/3;
        width: 100%;
    }

    .product_z2c1_product3{
        grid-column: 2/3;
        grid-row: 3/4;
        width: 100%;
    }

    .product_z2c1_product4{
        grid-column: 2/3;
        grid-row: 4/5;
        width: 100%;
    }


}

.table-z2c{
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.table-container-z2c {
    grid-column: 2/3;
    grid-row: 2/3;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-z2c {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #A7402D;
    
  }
  
  .custom-table-z2c th, 
  .custom-table-z2c td {
    border: 1px solid #A7402D;
    padding: 12px;
    text-align: left;
  }

  .custom-table-z2c td{
    background-color: white;

  }
  
  .custom-table-z2c th {
    background-color: #A7402D;
    font-weight: bold;
    color: white;
  }
  
 
  
  .custom-table-z2c tr:hover {
    background-color: #e68878;
  }

 
  
  .section-header-z2c {
    background-color: #fcaea2;
    font-weight: bold;
    text-align: center;
  }


  .table-container-z2c-two {
    grid-column: 2/3;
    grid-row: 1/2;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-z2c-two {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #A7402D;
    
  }
  
  .custom-table-z2c-two th, 
  .custom-table-z2c-two td {
    padding: 12px;
    text-align: left;
   
  }

  .custom-table-z2c-two td{
    background-color: white;

  }

  
  
  .custom-table-z2c-two th {
    background-color: #A7402D;
    font-weight: bold;
    color: white;
  }
  
 
  
  .custom-table-z2c-two tr:hover {
    background-color: #e68878;
  }

 
  
  .section-header-z2c-two {
    background-color: #fcaea2;
    font-weight: bold;
    text-align: center;
  }




  .table-container-z2c-three {
    grid-column: 2/3;
    grid-row: 3/4;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  }
  
  .custom-table-z2c-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #A7402D;
    
  }
  
  .custom-table-z2c-three th, 
  .custom-table-z2c-three td {
    border: 1px solid #A7402D;
    padding: 12px;
    text-align: left;
  }

  .custom-table-z2c-three td{
    background-color: white;

  }
  
  .custom-table-z2c-three th {
    background-color: #A7402D;
    font-weight: bold;
  }
  
 
  
  .custom-table-z2c-three tr:hover {
    background-color: #e68878;
  }

 
  
  .section-header-z2c-three {
    background-color: #fcaea2;
    font-weight: bold;
    text-align: center;
  }

  .table-container-z2c-four{
    grid-column: 2/3;
    grid-row: 4/5;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 20px;
  } */



  /* Main Product Section */
.product_z2c1 {
    margin-top: 60px;
    display: grid;
    grid-template-columns: 6.25rem 1.8fr 1fr 6.25rem;
}

.product_z2c1_1 {
    
    grid-column: 2/3;
    display: grid;
    grid-template-columns: 1.2fr .2fr;
    background-color: #e6e6e6;
    border-radius: 10px 0 0 0;
}

.product_z2c1_2 {
    grid-column: 3/4;
    background-color: #e6e6e6;
    border-radius: 0 10px 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* .product_z2c1_2_img {
    width: 95%;
    max-width: 400px;
    display: block;
    margin: 30px 10px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    background: #fff;
} */

.product_z2c1_s1_name {
    font-size: 50px;
    margin-top: 30px;
    color: #A7402D;
    margin-left: 10px;
}

.product_z2c1_h1 {
    
    grid-column: 1/2;
    display: grid;
    grid-template-rows: auto;
}

.product_z2c1_h2 {
   
    grid-column: 2/3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.product_z2c1_s1 {
    grid-row: 1/2;
}

.product_z2c1_s2 {
    grid-row: 2/3;
}

.productz2c_button {
    border: none;
    border-radius: 26px;
    padding: 12px 30px;
    background-color: #A7402D;
    color: white;
    font-size: 20px;
    margin: 0 0 20px 10px;
    cursor: pointer;
}

.productz2c_icon {
    width: 60px;
    height: 60px;
    margin: 5px;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.productz2c_icon:hover {
    transform: scale(1.1);
}

.productz2c_icon1 {
    margin-top: 50px;
}

/* Feature Section */
.product_d_feature {
    display: grid;
    grid-template-columns: 6.25rem 1.5fr .9fr 6.25rem;
    margin-top: 50px;
}

.product_d_feature_art {
    grid-column: 2/3;
    margin-top: 80px;
}

.product_d_feature_img {
    grid-column: 3/4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product_d_feature_img img {
    width: 100%;
    max-width: 350px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

/* Similar Products Section */
.product_z2c1_product {
    display: grid;
    grid-template-columns: 6.25rem 1fr 1fr 1fr 1fr 6.25rem;
    margin-top: 50px;
    gap: 0 10px;
}
/* Optional: Center and limit width for a card look */
.product_z2c1,
.product_d_feature,
.product_z2c1_product,
.productz2c-feature-section-f2,
.table-z2c {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.product_z2c1_product1,
.product_z2c1_product2,
.product_z2c1_product3,
.product_z2c1_product4 {
    width: 80%;
    height: 40vh;
    background-color: #e6e6e6;
    border-radius: 30px 0 30px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 20px 10px;
    margin: 0 auto;
}

.product_z2c1_img {
    height: 50%;
    max-height: 120px;
    width: auto;
    display: block;
    margin: 0 auto;
    margin-top: 15px;
    object-fit: contain;
    /* background: #fff; */
    /* border-radius: 8px; */
    /* box-shadow: 0 1px 4px rgba(0,0,0,0.05); */
}

.productz2c_button_option {
    border: none;
    border-radius: 26px;
    padding: 8px 24px;
    background-color: #A7402D;
    color: white;
    margin-top: 20px;
    display: block;
    text-decoration: none;
    cursor: pointer;
    font-size: 16px;
}

.productz2c_name_option {
    justify-self: center;
    margin-top: 10%;
    color: #A7402D;
    font-size: 20px;
    text-align: center;
}

/* Feature Section 2 */
.productz2c-feature-section-f2 {
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}

.featurez2c-section-f2-a {
    grid-column: 2/3;
    grid-row: 1/2;
}

.featurez2c-section-f2-b {
    grid-column: 2/3;
    grid-row: 2/3;
    margin-top: 20px;
}
/* .h3{
    background: white;
} */

/* Tables */
.table-z2c {
    display: grid;
    grid-template-columns: 6.25rem 1fr 6.25rem;
    grid-template-rows: auto;
    margin-top: 50px;
}
.table-container-z2c-two,
.table-container-z2c-three {
    margin: 20px auto;
    padding: 20px;
    max-width: 90%;
}


.table-container-z2c,

.table-container-z2c-four {
    grid-column: 2/3;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    color: #333;
}
/* Header styling */
.custom-table-z2c-two thead tr th,
.custom-table-z2c-three thead tr th {
    background-color: #e6f3ff;  /* light blue */
    padding: 12px;
    text-align: left;
    border: 1px solid #ddd;
    color: #333;
}

/* Superscript styling */
sup {
    font-size: 70%;
    vertical-align: super;
}

/* Checkmark styling */
td:contains("✔") {
    text-align: center;
}

.custom-table-z2c,
.custom-table-z2c-two,
.custom-table-z2c-three {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #000;
    color: #333;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

.custom-table-z2c,
.custom-table-z2c * {
    color: #000 !important;
}

.custom-table-z2c th,
.custom-table-z2c td,
.custom-table-z2c-two th,
.custom-table-z2c-two td,
.custom-table-z2c-three th,
.custom-table-z2c-three td {
    border: 1px solid #000;
    padding: 12px;
    text-align: left;
    background-color: white;
}
.custom-table-z2c-two tbody tr td,
.custom-table-z2c-three tbody tr td {
    padding: 10px;
    border: 1px solid #ddd;
}
/* Alternating row colors for all tables */
.custom-table tbody tr,
.custom-table-z2c-two tbody tr,
.custom-table-z2c-three tbody tr {
    background-color: #f2f2f2;  /* default grey */
}

.custom-table tbody tr:nth-child(even),
.custom-table-z2c-two tbody tr:nth-child(even),
.custom-table-z2c-three tbody tr:nth-child(even) {
    background-color: #ffffff;  /* white */
}
.custom-table thead tr th {
    background-color: #e6f3ff;  /* light blue */
    padding: 12px;
    text-align: left;
    border: 1px solid #ddd;
    color: #333;
}
/* Header styling - only for regular th elements, not the heading */
.custom-table thead tr:not(:first-child) th {
    background-color: #e6f3ff;  /* light blue */
    padding: 12px;
    text-align: left;
    border: 1px solid #ddd;
    color: #333;
}
/* First row (General) styling without blue background */
.custom-table thead tr:first-child th {
    padding: 12px;
    text-align: left;
    border: 1px solid #ddd;
    color: #333;
    background-color: transparent;
}
.table-container h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}
.table-container {
    margin: 20px auto;  /* Center the container */
    padding: 20px;
    max-width: 90%;    /* Adjust this value to match your container width */
}

.custom-table-z2c th,
.custom-table-z2c-two th,
.custom-table-z2c-three th {
    /* background: linear-gradient(90deg, #a8d8f8 0%, #7ec6ee 100%); */
    font-weight: bold;
    color: white;
}

.custom-table-z2c tr:hover,
.custom-table-z2c-two tr:hover,
.custom-table-z2c-three tr:hover {
    background-color: #e68878;
}

.custom-table-z2c tr.section-divider,
.custom-table-z2c-two tr.section-divider,
.custom-table-z2c-three tr.section-divider {
    background-color: #a7402d;
    color: white;
    font-weight: bold;
    text-align: center;
}

.section-header-z2c,
.section-header-z2c-two,
.section-header-z2c-three {
    background-color: #fcaea2;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .product_z2c1 {
        grid-template-columns: 3rem 1fr 3rem;
    }
    .product_z2c1_1,
    .product_z2c1_2 {
        grid-column: 2/3;
        border-radius: 7px;
    }
    .product_z2c1_2_img {
        max-width: 95vw;
        margin: 20px auto;
    }
    .productz2c_icon {
        width: 55px;
        height: 55px;
    }
    .product_z2c1_product {
        grid-template-columns: 3rem 1fr 3rem;
        grid-template-rows: auto;
        row-gap: 10vh;
    }
    .product_z2c1_product1,
    .product_z2c1_product2,
    .product_z2c1_product3,
    .product_z2c1_product4 {
        grid-column: 2/3;
        width: 100%;
        height: auto;
        margin-bottom: 20px;
    }
    .productz2c-feature-section-f2 {
        grid-template-columns: 3rem 1fr 3rem;
        margin-top: 30px;
    }
    .table-z2c {
        grid-template-columns: 3rem 1fr 3rem;
    }
    .table-container {
        overflow-x: auto;
    }
     .table-container-z2c-two,
    .table-container-z2c-three {
        overflow-x: auto;
    }
}
    /* .table-container-z2c,
    .table-container-z2c-two,
    .table-container-z2c-three,
    .table-container-z2c-four {
        width: 100%;
        margin-top: 10px;
    } */
    /* .custom-table-z2c,
    .custom-table-z2c-two,
    .custom-table-z2c-three {
        font-size: 14px;
    } */

/* Container Styling */
.product-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 48px 80px;
    background: #f9f9f9; /* light neutral bg like site */
  }
  /* Header Section */
.product-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 60px 80px;
    background-color: #e6e6e6; /* same grey as screenshot */
  }
  
  .product-header-content {
    flex: 1;
    max-width: 600px;
  }
  
  .product-header-title {
    font-size: 2.8rem;
    font-weight: 600;
    color: #a63d2d; /* brand reddish color */
    margin-bottom: 16px;
    line-height: 1.2;
  }
  
  .product-header-description {
    font-size: 1.05rem;
    color: #222;
    line-height: 1.6;
    margin-bottom: 28px;
  }
  
  .enquire-btn {
    background-color: #a63d2d;
    color: #ffffff;
    border: none;
    padding: 14px 34px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 30px;
    cursor: pointer;
    transition: background-color 0.25s ease;
  }
  
  .enquire-btn:hover {
    background-color: #8c3326;
  }
  
  /* Right side product image */
  .product-header-image {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  
  .product-header-image img {
    max-width: 400px;
    width: 100%;
    height: auto;
  }
  .product-info {
    flex: 1;
    padding-right: 40px;
  }
  
  .product-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 16px;
  }
  
  .product-description {
    font-size: 1rem;
    color: #444;
    margin-bottom: 24px;
    line-height: 1.6;
  }
  
  /* Enquire Now button */
  .enquire-btn {
    background-color: #a63d2d; /* exact site theme red */
    color: #ffffff;
    border: none;
    border-radius: 24px;
    padding: 12px 28px;
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.25s ease;
  }
  
  .enquire-btn:hover {
    background-color: #8c3326; /* darker red tone hover */
  }
  
  /* Product Image */
  .product-image {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .product-image img {
    width: 95%;
    max-width: 360px;
    display: block;
  }
  
  /* Highlights Section */
  .product-container {
    padding: 40px 80px;
  }
  
  .highlights-section {
    margin-top: 20px;
  }
  
  .highlights-title {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px;
    color: #2b2b2b;
  }
  
  .highlights-list {
    list-style: none;
    padding: 0;
  }
  
  .highlights-list li {
    margin-bottom: 18px;
    font-size: 1rem;
    color: #333;
  }
  
  .highlights-list b {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
    color: #000;
  }
  @media (min-width: 769px) and (max-width: 1024px) {
    .product-header {
      padding: 50px 40px;
      gap: 30px;
    }
    .product-header {
      flex-direction: column;
      text-align: center;
    }
    .product-header-content {
      order: 2; /* Move content below image */
      max-width: 100%;
    }
    .product-header-image {
      order: 1; /* Move image above content */
      margin-bottom: 25px;
      display: flex;
      justify-content: center;
      width: 100%;
    }
    .product-header-title {
      font-size: 2.4rem;
    }
    .product-header-description {
      font-size: 1rem;
    }
    .product-header-image img {
      max-width: 350px;
    }
  
    .product-container {
      padding: 40px 40px;
    }
  }
  
  /* Mobile (≤ 768px) */
  @media (max-width: 768px) {
    /* Product Header */
    .product-header {
      flex-direction: column;
      text-align: center;
      padding: 30px 20px;
    }
    .product-header-content {
      max-width: 100%;
      order: 2; /* Move content below image */
    }
    .product-header-image {
      order: 1; /* Move image above content */
      margin-bottom: 25px;
    }
    .product-header-title {
      font-size: 2rem;
    }
    .product-header-description {
      font-size: 0.95rem;
      margin-bottom: 20px;
    }
    .enquire-btn {
      padding: 12px 28px;
      font-size: 0.95rem;
    }
    .product-header-image {
      justify-content: center;
      margin-top: 25px;
    }
    .product-header-image img {
      max-width: 280px;
    }
  
    /* Key Highlights */
    .product-container {
      padding: 30px 20px;
      text-align: center;
    }
    .highlights-title {
      font-size: 1.6rem;
    }
    .highlights-list li {
      font-size: 0.95rem;
    }
  }
  
  /* Similar Products Section */
.product_s1v1_product {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  padding: 20px 0;
  justify-content: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  overflow-x: auto;
  scrollbar-width: none; /* Hide scrollbar by default */
}

/* Hide scrollbar for Webkit browsers */
.product_s1v1_product::-webkit-scrollbar {
  display: none;
}

/* Individual product cards */
.product_s1v1_product1,
.product_s1v1_product2,
.product_s1v1_product3,
.product_s1v1_product4 {
  flex: 0 0 auto;
  width: 280px;
  margin-right: 20px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 15px;
  box-sizing: border-box;
}

.product_s1v1_img {
  width: 75%;
  height: 176px;
  object-fit: contain;
  margin-bottom: 15px;
}

.products1v_name_option {
  font-size: 1.2rem;
  color: #333;
  margin: 10px 0;
  text-align: center;
}

/* .products1v_button_option {
  display: block;
  width: 100%;
  padding: 10px;
  background-color: #a63d2d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.9rem;
  transition: background-color 0.3s;
}

.products1v_button_option:hover {
  background-color: #8a3427;
} */

/* Tablet and Mobile Styles */
@media (max-width: 1024px) {
  .product_s1v1_product {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 20px 16px;
    margin: 0 -16px;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 16px;
    justify-content: flex-start;
  }
  
  .product_s1v1_product1,
  .product_s1v1_product2,
  .product_s1v1_product3,
  .product_s1v1_product4 {
    flex: 0 0 auto;
    width: 260px;
    scroll-snap-align: start;
    margin-right: 20px;
  }
  
  /* Hide scrollbar for Chrome, Safari and Opera */
  .product_s1v1_product::-webkit-scrollbar {
    display: none;
  }
  
  /* Hide scrollbar for IE, Edge and Firefox */
  .product_s1v1_product {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
  }
}

/* Small Phones (≤ 480px) */
@media (max-width: 480px) {
  .product-header-title {
    font-size: 1.6rem;
  }
  .product-header-description {
    font-size: 0.9rem;
  }
  .product-header-image img {
    max-width: 220px;
  }

  .highlights-title {
    font-size: 1.4rem;
  }
  .highlights-list li {
    font-size: 0.9rem;
  }
  
  .product_s1v1_product1,
  .product_s1v1_product2,
  .product_s1v1_product3,
  .product_s1v1_product4 {
    width: 220px;
  }
}
.product1_d1{
  display: grid;
  grid-template-columns: 6.25rem 1.8fr 1fr 6.25rem;
  margin-top: 50px;
  
}

.product1_d1_1{
  grid-column: 2/3;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background-color: #e6e6e6;
  border-radius: 10px 0 0 10px;

}

.product1_d1_2{
  grid-column: 3/4;
  background-color: #e6e6e6;
  border-radius: 0 10px 10px 0;    
}



.product1_d1_2_img{
  width: 95%;
  display: block;
  margin: 30px 10px
}

.product1_d1_s1_name{
  font-size: 50px;
  margin-top: 30px;
  color: #A7402D;
  margin-left: 10px;
}

.product1_d1_h1{
  grid-column: 1/2;
  display: grid;
  grid-template-rows: auto;
}

.product1_d1_h2{
  grid-column: 2/3;
}

.product1_d1_s1{
  grid-row: 1/2;
}

.product1_d1_s2{
  grid-row: 2/3;
  margin-bottom: 50px;
}


.product_button{
  border: none;
  border-radius: 26px;
  padding: 12px 30px ;
  background-color: #A7402D;
  color: white;
  font-size: 20px;
  margin-top: 50px;
  margin-left: 50px;
  cursor: pointer;
}


.product_icon{
  width: 30%;
  margin: 15px;
}

.productContainer: {
  maxWidth: '1200px';
  margin: '0 auto';
  padding: '20px';
}
.productTopSection: {
  display: 'flex';
  justifyContent: 'space-between';
  alignItems: 'center';
  gap: '2rem';
  marginBottom: '2rem';
  '@media (max-width: 768px)': {
    flexDirection: 'column';
  }
}
.productImage: {
  width: '100%';
  maxWidth: '400px';
  height: 'auto';
  objectFit: 'contain';
}
.schematicImage: {
  width: '100%';
  maxWidth: '350px';
  height: 'auto';
  margin: '20px auto';
  display: 'block';
}
.tableContainer: {
  margin: '2rem 0';
  borderRadius: '8px';
  overflow: 'hidden';
  boxShadow: '0 2px 4px rgba(0,0,0,0.1)';
}




.product_d_feature{
  display: grid;
  grid-template-columns: 6.25rem 1.5fr .9fr 6.25rem;
  margin-top: 50px;
}


.product_d_feature_art{
  grid-column: 2/3;
  margin-top: 80px;
}

.product_d_feature_img{
  grid-column: 3/4;
}

.product_d_product {
  display: grid;
  grid-template-columns: 6.25rem 1fr 1fr 1fr 1fr 6.25rem;
  margin-top: 50px;

}

.product_d_product1{
  grid-column: 2/3;
  width: 80%;
  height: 40vh;
  background-color: #e6e6e6;
  border-radius: 30px 0 30px 0;
  
}

.product_d_product2{
  grid-column: 3/4;
  width: 80%;
  height: 40vh;
  background-color: #e6e6e6;
  border-radius: 30px 0 30px 0;
 
}

.product_d_product3{
  grid-column: 4/5;
  width: 80%;
  height: 40vh;
  background-color: #e6e6e6;
  border-radius: 30px 0 30px 0;
  
}

.product_d_product4{
  grid-column: 5/6;
  width: 80%;
  height: 40vh;
  background-color: #e6e6e6;
  border-radius: 30px 0 30px 0;
  
}


.product_d_img{
  height: 50%;
  display: block;
  margin: 0 auto;
  margin-top: 15px;
}

.product_button_option{
  border: none;
  border-radius: 26px;
  padding: 8px 24px ;
  background-color: #A7402D;
  color:white;
  margin-top: 50px;
  margin-left: 50px;
  display: block;
  margin: 0 auto;
  margin-top: 20px;
  text-decoration: none;
  cursor: pointer;

}

.product_name_option{
  justify-self: center;
  margin-top: 10%;
  color: #A7402D;
  font-size: 20px;

}

.product1_d1_s1_name, .product1_d1_h1, .product1_d1_h2, .product_name_option {
  font-weight: 700; /* Ensures bold heading for all top product section headings */
}

/* Optionally, you can also target h1/h2 directly if used in the top section */
.product1_d1_1 h1, .product1_d1_1 h2 {
  font-weight: 700;
}

@media screen and (max-width: 768px) {


  .product1_d1{
      display: grid;
      grid-template-columns: 3rem 1fr 3rem;
      grid-template-rows: auto;
  }

  .product1_d1_1{
      grid-column: 2/3;
      grid-row: 2/3;
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      border-radius: 0 0 7px 7px;
  }

  .product1_d1_h1{
      grid-column: 1/2;
      grid-row: 1/2;
  }

  .product1_d1_h2{
      grid-column: 1/2;
      grid-row: 2/3;
  }

  .product1_d1_2{
      grid-column: 2/3;
      grid-row: 1/2;
      border-radius: 7px 7px 0 0;
  }







  .product_d_feature{
      display: grid;
      grid-template-columns:3rem 1fr 3rem;
      grid-template-rows: auto;
  }

  .product_d_feature_img{
      grid-column: 2/3;
      grid-row: 1/2;

  }

  .product_d_feature_art{
      grid-column: 2/3;
      grid-row: 2/3;
  }

  .product_d_product{
      display: grid;
      grid-template-columns: 3rem 1fr 3rem;
      grid-template-rows: auto;
      row-gap: 10vh;
  }

  .product_d_product1{
      grid-column: 2/3;
      grid-row: 1/2;
      width: 100%;
      
  }

  .product_d_product2{
      grid-column: 2/3;
      grid-row: 2/3;
      width: 100%;
  }

  .product_d_product3{
      grid-column: 2/3;
      grid-row: 3/4;
      width: 100%;
  }

  .product_d_product4{
      grid-column: 2/3;
      grid-row: 4/5;
      width: 100%;
  }


}






.product-header1{

  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 70px 144px;
  background-color: #e6e6e6; /* same grey as screenshot */
}
.product-header-content1{
  flex: 1;
  max-width: 600px;
}
.product-header-image1{
  flex: 1;
  max-width: 600px;
}
.product-header-title1{
  font-size: 50px;
  margin-top: 67px;
  color: #A7402D;
  margin-left: 10px;
}
.product-header-description1{
  font-size: 20px;
  margin-top: 30px;
  color: #A7402D;
  margin-left: 10px;
}
.enquire-btn1{
  background-color: #a63d2d; /* exact site theme red */
  color: #ffffff;
  border: none;
  border-radius: 24px;
  padding: 12px 28px;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease;
}
.enquire-btn1:hover {
  background-color: #8c3326; /* darker red tone hover */
}


@media (min-width: 769px) and (max-width: 1024px) {
.h3{
  margin-left: 119px;
}
  .product-header1 {
    padding: 50px 40px;
    gap: 30px;
  }
  .product-header1 {
    flex-direction: column;
    text-align: center;
  }
  .product-header-content1 {
      order: 2; /* Move content below image */
      max-width: 100%;
    }
    .product-header-image1 {
      order: 1; /* Move image above content */
      margin-bottom: 25px;
      display: flex;
      justify-content: center;
      width: 100%;
    }
    .product-header-title1 {
      font-size: 2.4rem;
    }
    .product-header-description1 {
      font-size: 1rem;
    }
    .product-header-image1 img {
      max-width: 350px;
    }
  

}


@media (max-width: 768px) {
  /* Product Header */
  .product-header1 {
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
  }
  .product-header-content1 {
    max-width: 100%;
    order: 2; /* Move content below image */
  }
  .product-header-image1 {
    order: 1; /* Move image above content */
    margin-bottom: 25px;
  }
  .product-header-title1 {
    font-size: 2rem;
  }
  .product-header-description1 {
    font-size: 0.95rem;
    margin-bottom: 20px;
  }
  .enquire-btn1 {
    padding: 12px 28px;
    font-size: 0.95rem;
  }
  .product-header-image1 {
    justify-content: center;
    margin-top: 25px;
  }
  .product-header-image1 img {
    max-width: 280px;
  }

  /* Key Highlights */
  .product-container1 {
    padding: 30px 20px;
    text-align: center;
  }
  .highlights-title1 {
    font-size: 1.6rem;
  }
  .highlights-list1 li {
    font-size: 0.95rem;
  }
}




.product-header1 {
  
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  padding: 2rem 1rem;
  max-width: 1400px;
  margin: 0 auto; /* center on wide screens */
  flex-wrap: wrap; /* allow stacking */
}

/* Content column */
.product-header-content1 {
  flex: 1 1 500px;
  min-width: 280px;
  text-align: left;
}

.product-header-title1 {
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 700;
  margin-bottom: 1rem;
}

.product-header-description1 {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  margin-bottom: 1.5rem;
}

.enquire-btn1 {
  padding: 10px 20px;
  border-radius: 25px;
  border: none;
  font-size: 1rem;
  font-weight: 600;
  background: #A7402D;
  color: white;
  cursor: pointer;
  transition: all 0.3s ease;
}

.enquire-btn1:hover {
  background: #862D1D;
  transform: translateY(-2px);
}

/* Image column */
.product-header-image1 {
  flex: 1 1 500px;
  min-width: 280px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-header-image1 img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* ------------------------------------ */
/* Responsiveness */

/* ✅ Extreme zoom-out / very large screens */
/* Extreme zoom‑out / ultra‑wide screens */
@media screen and (min-width: 1600px) {
.product-header1 {
  justify-content: center;   /* Align both blocks to center */
  gap: 5rem;                 /* Add breathing space */
  max-width: 1600px;         /* Constrain so they don't stretch edges */
  margin-inline: auto;
}

.product-header-content1,
.product-header-image1 {
  flex: 0 1 600px;           /* Keep both balanced */
  text-align: center;        /* Center text for symmetry */
}

.product-header-content1 {
  max-width: 600px;
  margin: 0 auto;
}

.product-header-image1 {
  justify-content: center;
}
}

/* ✅ Tablets (≤ 1024px) stacks nicely */
@media (max-width: 1024px) {
  .product-header1 {
    flex-direction: column;
    text-align: center;
    gap: 2rem;
  }

  .product-header-content1 {
    text-align: center;
  }
}

/* ✅ Small mobile */
@media (max-width: 600px) {
  .product-header-title1 {
    font-size: 1.5rem;
  }
  .product-header-description1 {
    font-size: 0.95rem;
  }
  .enquire-btn1 {
    font-size: 0.9rem;
    padding: 8px 16px;
  }
}

/* ================================ */
/* Extreme zoom-out only (do not affect normal desktop/tablet/mobile) */
@media (min-width: 3000px) {
/* Shorter header height + full-width background band + centered content */
.product-header1 {
  padding-block: clamp(1rem, 5vh, 2.5rem); /* shorter vertical size */
  justify-content: center;
  text-align: center;

  /* Extend background color to full viewport width without changing layout width */
  box-shadow: 0 0 0 100vmax #e6e6e6;
  clip-path: inset(0 -100vmax);
}

.product-header-content1,
.product-header-image1 {
  margin-inline: auto;
  text-align: center;
}

/* Center the rest of the product sections visually without changing their design */
.product1_d1,
.product_d_feature,
.product_d_product {
  justify-items: center;  /* center items within their grid cells */
  align-items: center;
}

.product1_d1_1,
.product1_d1_2,
.product_d_feature_art,
.product_d_feature_img,
.product_d_product1,
.product_d_product2,
.product_d_product3,
.product_d_product4 {
  justify-self: center;   /* center each card/section within its grid column */
  text-align: center;
}
.table-z2c- {
  width: 100%;
  display: grid;
  justify-items: center;   /* horizontal centering */
  margin: 0 auto;
  text-align: center;
}

.table-z2c- .table-container {
  display: flex;
  flex-direction: column;  /* heading above image */
  align-items: center;     /* center both horizontally */
  gap: 0.5rem;
}

.table-z2c- .section-heading {
  
  margin-left: -3700px !important;
  order: 0;
}

.table-z2c- .diagram-image {
  order: 1;
  display: block !important;
  margin-left: 12px !important; /* ensure centered */
  float: none !important;
}
}
.ted-wrapper {
  color: #ffffff;
  padding: 2rem 6.25rem;
  font-family: 'Segoe UI', sans-serif;
}

.ted-featured {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 3rem;
}

.ted-featured-img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0.5);
}

.ted-featured-overlay {
  position: absolute;
  top: 0;
  left: 0;
  padding: 2rem;
  z-index: 2;
  max-width: 600px;
}

.ted-featured-overlay h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.ted-featured-overlay p {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #cccccc;
}

.ted-meta {
  font-size: 0.85rem;
  display: flex;
  gap: 20px;
  color: #bbbbbb;
  margin-bottom: 1rem;
}

.ted-play-button {
  font-size: 2rem;
  background-color: #e62b1e;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  cursor: pointer;
  transition: background 0.3s;
}

.ted-play-button:hover {
  background-color: #ff4433;
}

.ted-watch-next {
  margin-top: 2rem;
}

.ted-watch-next h3 {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Grid layout for video cards */
.ted-video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}

.ted-card {
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f9f9f9;
  color: #333;
  transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.ted-card-animated:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

.ted-card p {
  font-size: 0.95rem;
  color: black;
  margin-top: 0.5rem;
  text-align: center;
}

.ted-video {
  width: 100%;
  border-radius: 6px;
  object-fit: cover;
}

/* Responsive */
@media (max-width: 1024px) {
  .ted-video-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .ted-wrapper { padding: clamp(0.75rem, 3vw, 1rem); }

  /* Make cards smaller; auto-fit 1–2 per row depending on width */
  .ted-video-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); /* was 1fr */
    gap: 12px; /* tighter spacing */
  }

  .ted-card {
    padding: 14px 12px;   /* was 25px */
    border-radius: 10px;  /* slightly tighter */
  }

  .ted-card p { font-size: 0.85rem; }  /* was 0.95rem */

  .ted-video {
    aspect-ratio: 16 / 9;  /* keeps thumbnails short on small screens */
    height: auto;
  }

  /* Optional: slightly smaller heading in “Watch next” */
  .ted-watch-next h3 { font-size: clamp(1rem, 4.5vw, 1.25rem); }

  /* Featured area compacted a touch */
  .ted-featured-overlay { padding: 0.75rem; max-width: 90%; }
  .ted-featured-overlay h2 { font-size: clamp(1.15rem, 5.3vw, 1.35rem); }
  .ted-featured-overlay p  { font-size: clamp(0.82rem, 3.8vw, 0.9rem); }
  .ted-meta { font-size: 0.75rem; gap: 12px; }
  .ted-play-button { width: 48px; height: 48px; font-size: 1.4rem; }
}










/* Info Section */
.info-section {
  background-color: #000;
  color: #fff;
  padding: 4rem 0;
  width: 100%;
  box-sizing: border-box;
}

.info-section > div {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
  text-align: center;
}

.info-section h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

.info-section p {
  font-size: clamp(0.95rem, 1.2vw, 1.2rem);
  line-height: 1.8;
  margin: 0 auto 1.5rem auto;
  max-width: 800px;
}

/* Main container for each showcase section */
/* Main container for each showcase section */
.showcase-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  background: #000;
  color: white;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  gap: 1rem;

       
  padding: 2rem 0; 

  
}
.showcase-container > .showcase-text,
.showcase-container > .showcase-image {
  
  min-width: 280px;
 
}
/* Ensure content is properly centered */
/* Text content */
.showcase-text {
  flex: 1 1 400px;
  padding: 2rem;
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #000;
}
.showcase-text,
.showcase-image {
  flex: 1 1 45%;   /* let them adapt gracefully */
  min-width: 280px; /* prevents crushing on extreme zoom in */
  max-width: 50%;
}
.showcase-image img,
.showcase-image video {
  width: 100%;
  max-width: clamp(280px, 90%, 1200px);
  height: auto;
  object-fit: contain;
}
.showcase-content {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  text-align: left;
}

.showcase-heading {
  font-size: clamp(1.4rem, 2vw, 2.5rem);
  margin: 0 0 1rem 0;
  color: #fff;
  font-weight: 500;
}

.showcase-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: clamp(0.9rem, 1.2vw, 1.2rem);
  line-height: 1.7;
}

.showcase-list li {
  margin: 0.6rem 0;
  padding-left: 1.5rem;
  position: relative;
  color: #ddd;
}

.showcase-list li:before {
  content: '•';
  color: #ff6b00;
  font-weight: bold;
  position: absolute;
  left: 0;
}

/* Image/Video container */
.showcase-image {
  flex: 1 1 400px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  max-width: 50%;
  max-height: 90vh;
}

.showcase-image img,
.showcase-image video {
  max-width: 100%;
  max-height: min(80vh, 100%);
  object-fit: contain;
  border-radius: 8px;
  background: #000;
  transition: transform 0.3s ease;
}

.media-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Responsive adjustments for different screen sizes */
@media (max-width: 1200px) {
  .showcase-image {
    min-height: 55vh;
  }
}

@media (max-width: 1024px) {
  .showcase-image {
    min-height: 50vh;
  }
}

@media (max-width: 768px) {
  .showcase-container {
    flex-direction: column;
  }
  
  .showcase-text,
  .showcase-image {
    max-width: 100%;
    width: 100%;
    padding: 1.5rem;
  }
  
  .showcase-image {
    min-height: 40vh;
    order: -1;
  }
  
  .showcase-image img,
  .showcase-image video {
    max-height: 60vh;
    width: 100%;
    height: auto;
  }
  
  .showcase-dots {
    bottom: 20px;
  }
  
  .showcase-arrow {
    width: 40px;
    height: 40px;
    font-size: 1.8rem;
  }
  
}

/* Media elements */
.showcase-image img,
.showcase-image video {
  max-width: 100%;
  max-height: 80vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  background: #000;
  margin: 0 auto;
}

.showcase-right .showcase-image::before {
  left: auto;
  right: 0;
  background: linear-gradient(to left, #000000 0%, transparent 100%);
}

.showcase-heading {
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
}

/* Removed heading underline */

.showcase-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 1.8;
}

.showcase-list li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  color: #ddd;
}

.showcase-list li span {
  color: #ff4d4d;
  margin-right: 0.5rem;
  font-size: 1.2rem;
  line-height: 1;
}

/* Controls */
.showcase-controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 1rem;
  transform: translateY(-50%);
  z-index: 3;
}

.showcase-arrow {
  color: white;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  cursor: pointer;
  background: rgba(0, 0, 0, 0.6);
  width: clamp(35px, 4vw, 55px);
  height: clamp(35px, 4vw, 55px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}

.showcase-arrow:hover {
  background: rgba(0, 0, 0, 0.5);
}

/* Dots navigation */
.showcase-dots {
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.showcase-dot {
  font-size: clamp(1rem, 1.5vw, 1.5rem);
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.2s ease;
}

.showcase-dot.active,
.showcase-dot:hover {
  opacity: 1;
  color: #ff4d4d;
  transform: scale(1.2);
}
/* Right Layout */
.showcase-right {
  flex-direction: row-reverse;
}
/* Tablet Landscape (1024px - 1200px) */
@media (min-width: 1024px) and (max-width: 1200px) {
  .showcase-container {
    flex-direction: column;
    text-align: center;
  }
  .showcase-text,
  .showcase-image {
    max-width: 100%;
    flex: 1 1 100%;
  }
  .showcase-image {
    order: -1;
  }
}

/* Tablet Portrait (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .showcase-heading {
    font-size: clamp(1.2rem, 5vw, 1.5rem);
  }
  .showcase-list {
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .showcase-dots {
    bottom: 1rem;
  }
}

/* Responsive Design */
@media (max-width: 767px) {
  .showcase-container {
    flex-direction: column;
    min-height: auto;
    height: auto;
    padding: 1rem 0;
  }
  
  .showcase-image {
    order: -1;
    margin-bottom: 1rem;
    width: 100%;
    min-height: 40vh;
    max-height: 50vh;
    padding: 1rem;
  }

  .showcase-text {
    padding: 1.5rem;
    max-width: 100%;
    background: #000000 !important;
  }

  .showcase-heading {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }

  .showcase-list {
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .showcase-arrow {
    width: 40px !important;
    height: 40px !important;
    font-size: 1.8rem !important;
  }
  .showcase-dots {
    bottom: 20px !important;
  }
}

/* Mobile (up to 480px) */
@media (max-width: 480px) {
  .showcase-heading {
    font-size: 1.4rem;
  }

  .showcase-list {
    font-size: 0.9rem;
    padding-left: 1rem;
  }

  .showcase-image {
    min-height: 35vh;
    max-height: 45vh;
    padding: 0.5rem;
  }

  .showcase-arrow {
    width: 35px !important;
    height: 35px !important;
    font-size: 1.5rem !important;
  }

  .showcase-dots {
    bottom: 15px !important;
  }

  .showcase-dot {
    width: 8px;
    height: 8px;
    margin: 0 3px;
  }
}

@media (max-width: 768px) {
  .showcase-text {
    padding: 2rem 1.5rem;
  }

  .showcase-heading {
    margin-left: 20px;
    align-items: center;
    font-size: 1.5rem;
  }

  .showcase-list {
    font-size: 1rem;
  }

  .showcase-arrow {
    width: 40px;
    height: 40px;
    font-size: 2rem;
  }
}

/* Right layout variant */
.showcase-right {
  flex-direction: row-reverse;
}

/* Media query for smaller screens */
@media (max-width: 1024px) {
  .showcase-container {
    flex-direction: column;
  }
  
  .showcase-text,
  .showcase-image {
    flex: 1 1 100%;
    width: 100%;
  }
  
  .showcase-image {
    padding: 1rem;
  }
}


video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* For ultra-large screens/zoom out */

  @media (min-width: 1800px) {
    .showcase-container {
      justify-content: center;  /* keep things centered, not stretched forever */
    }
  
  .showcase-container > .showcase-text,
  .showcase-container > .showcase-image {
    max-width: 800px;       /* both together won’t exceed ~1600px total */
  }
    .showcase-image img,
    .showcase-image video {
     
      max-width: 100%;        /* scale naturally */
    height: auto;
    }
  
    .showcase-heading {
      font-size: 2.5rem; /* don’t balloon */
    }
  }

  @media (max-width: 400px) {
    .showcase-text,
    .showcase-image {
      min-width: 0; /* let them shrink gracefully without forcing side-scroll */
      max-width: 100%;
    }
  
    .showcase-heading {
      font-size: 1.1rem; /* readable but not exploding */
    }
  
    .showcase-list {
      font-size: 0.8rem; /* keep compact when super-zoomed */
    }
  
    .showcase-image img,
    .showcase-image video {
      max-height: 50vh; /* stop image eating the whole screen */
    }
  }





  /* Defaults (normal zoom) — adjust to match your current design */
  .showcase-container {
    --arrow-size: 48px;
    --arrow-icon: 24px;
    --dot-size: 8px;
    --dot-gap: 8px;
    --dots-offset: 20px;
  }
  
  /* Image wrapper */
  .showcase-image { position: relative; }
  
  /* Overlay that holds arrows and dots */
  .showcase-controls {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: space-between;
    pointer-events: none; padding: 0 8px;
  }
  
  /* RESET arrow positioning across all devices and center the icon */
  .showcase-controls .showcase-arrow,
  .showcase-arrow,
  .showcase-arrow.left,
  .showcase-arrow.right {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    transform: none !important;
    align-self: center !important;
  
    pointer-events: auto;
    width: var(--arrow-size);
    height: var(--arrow-size);
    border-radius: 999px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.45);
    color: #fff;
    font-size: var(--arrow-icon);
    line-height: 1;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    touch-action: manipulation;
  }
  
  /* Ensure inner icon/text has no baseline gap */
  .showcase-arrow > svg,
  .showcase-arrow > i,
  .showcase-arrow > span,
  .showcase-arrow .icon {
    display: block;
    line-height: 1;
    margin: 0;
  }
  
  /* Dots centered at bottom */
  .showcase-dots {
    position: absolute;
    left: 50%; transform: translateX(-50%);
    bottom: var(--dots-offset);
    display: flex; align-items: center;
    gap: var(--dot-gap);
  }
  
  /* If you keep "•", visually hide it and render as a dot box */
  .showcase-dot {
    width: var(--dot-size);
    height: var(--dot-size);
    border-radius: 999px;
    background: rgba(255,255,255,.45);
    cursor: pointer;
    text-indent: -9999px; overflow: hidden; display: inline-block;
  }
  .showcase-dot.active { background: #fff; }
  
  /* Zoom OUT: larger targets */
  .showcase-container.zoom-out {
    --arrow-size: 64px;
    --arrow-icon: 28px;
    --dot-size: 12px;
    --dot-gap: 10px;
    --dots-offset: 14px;
  }
  
  /* Zoom IN: smaller to avoid overlap */
  .showcase-container.zoom-in {
    --arrow-size: 40px;
    --arrow-icon: 20px;
    --dot-size: 6px;
    --dot-gap: 6px;
    --dots-offset: 8px;
  }



  /* Vertically center arrows inside the image container (all devices) */
.showcase-image { position: relative !important; }

.showcase-controls {
  position: absolute !important;
  inset: 0 !important;                 /* full overlay on the image */
  pointer-events: none !important;
  /* layout doesn't matter for arrows since they're absolutely positioned */
}

/* Core arrow style + vertical centering */
.showcase-controls .showcase-arrow {
  position: absolute !important;
  top: 100% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;

  pointer-events: auto !important;
  width: var(--arrow-size);
  height: var(--arrow-size);
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.45);
  color: #fff;
  font-size: var(--arrow-icon);
  line-height: 1;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
}

/* Place left/right arrows at edges */
.showcase-controls .showcase-arrow.left,
.showcase-controls .showcase-arrow.prev { left: 8px !important; right: auto !important; }

.showcase-controls .showcase-arrow.right,
.showcase-controls .showcase-arrow.next { right: 8px !important; left: auto !important; }

/* Fallback if you don't have .left/.right classes: use DOM order */
.showcase-controls .showcase-arrow:first-of-type { left: 8px !important; right: auto !important; }
.showcase-controls .showcase-arrow:last-of-type  { right: 8px !important; left: auto !important; }

/* Keep dots centered at bottom */
.showcase-dots {
  position: absolute !important;
  left: 50% !important; transform: translateX(-50%) !important;
  bottom: var(--dots-offset) !important;
  display: flex; align-items: center; gap: var(--dot-gap);
}






/* Hide rapid deployment card on mobile */
@media (max-width: 767px) {
  .hide-on-mobile {
    display: none !important;
  }
}

/* Card container styles */
.feature-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 200px;
  padding: 15px;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.03);
  transition: all 0.3s ease;
  box-sizing: border-box;
  overflow: hidden;
}

/* Ensure all cards have equal height */
.feature-card > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Fix content overflow */
.feature-card h3 {
  font-size: 1.1rem;
  margin: 0 0 10px 0;
  line-height: 1.3;
  word-break: break-word;
}

.feature-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #e0e0e0;
  flex-grow: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

/* Grid layout adjustments */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  width: 100%;
  padding: 0 15px;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1400px;
}

/* Mobile styles */
@media (max-width: 767px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 0 10px;
  }
  
  .feature-card {
    padding: 12px 10px;
    min-height: 180px;
  }
  
  .feature-card h3 {
    font-size: 1rem;
    margin-bottom: 8px;
  }
  
  .feature-card p {
    font-size: 0.85rem;
    -webkit-line-clamp: 3;
  }
}

/* Small mobile devices */
@media (max-width: 480px) {
  .features-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  
  .feature-card {
    min-height: auto;
  }
}

/* Ensure images don't cause overflow */
.feature-card img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}



/* Reuse header styles from PageHeader.css */
.header-wrapper {
  width: 100%;
  background: #000;
}

.intro-section {
  background: #0a0a0a;
  color: #fff;
  padding: 80px 5%;
  text-align: center;
}

.intro-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: left;
  font-size: 1.1rem;
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
}

/* ================= Features ================= */
.features-section {
  padding: 80px 0;
  background-color: #0a0a0a;
  color: #fff;
}

.features-heading {
  font-size: 2.5rem;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 70px;
  background: linear-gradient(90deg,#fff,#aaa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.feature-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 24px;
  text-align: left;
  transition: all 0.3s ease;
}
.feature-card:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,0.1);
}

.feature-icon {
  width: 50px;
  height: 50px;
  background: rgba(220,53,69,0.9);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.feature-icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

.feature-title {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 8px 0;
  color:#fff;
}

.feature-description {
  color: rgba(255,255,255,0.8);
  font-size: 0.95rem;
  line-height: 1.5;
}
.header.zoom-out .header-banner {
  max-height: 460px;   /* smaller cap for zoom-out */
}





@media (max-width: 768px) {
  
  
  .features-heading {
  font-size: 1.75rem;
  margin-bottom: 32px;
  }
  
  .features-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px;
  padding: 0 12px;
  align-items: stretch; /* make rows even-height */
  }
  
  .feature-card {
  padding: 16px;
  border-radius: 14px;
  height: 100%; /* stretch to equal heights in each row */
  display: flex;
  flex-direction: column;
  }
  
  .feature-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  margin-bottom: 10px;
  }
  
  .feature-title {
  font-size: 1rem;
  margin: 6px 0 4px;
  }
  
  .feature-description {
  font-size: 0.9rem;
  line-height: 1.45;
  overflow-wrap: anywhere; /* prevent overflow in narrow columns */
  }
  }
  
  /* Small phones */
  @media (max-width: 400px) {
  .features-grid {
  gap: 12px;
  padding: 0 10px;
  }
  .feature-card { padding: 14px; }
  .feature-title { font-size: 0.95rem; }
  .feature-description { font-size: 0.85rem; }
  .feature-icon { width: 38px; height: 38px; }
  }
  
  /* Very small devices */
  @media (max-width: 320px) {
  .features-grid {
  gap: 10px;
  padding: 0 8px;
  }
  .feature-title { font-size: 0.9rem; }
  .feature-description { font-size: 0.8rem; }
  }




  .feature-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(220,53,69,0.9);
    display: grid;
    place-items: center; 
    padding: 8px; 
    box-sizing: border-box;
    }
    
    .feature-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    display: block;
    }
    
  
    @media (max-width: 768px) {
    .feature-icon {
    width: 48px;
    height: 48px;
    padding: 6px; 
    }
    }
    
    
    @media (max-width: 400px) {
    .feature-icon {
    width: 44px;
    height: 44px;
    padding: 5px;
    }
    }

    @media (min-width: 1025px) {
    
      .features-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
      }



      .header-banner {
        position: relative;
        width: 100%;
        height: 20vh !important;           /* <-- Full viewport height always */
        min-height: 600px !important;         /* Ensure good size even on laptops */
        display: flex;
        align-items: center;
        justify-content: center;
      
        background-size: cover;     /* Fill width+height, crop if necessary */
        background-position: center;
        background-repeat: no-repeat;
      
        color: white;
        text-align: center;
        padding: 0 1rem;
        overflow: hidden;
      }
      
      /* Dark gradient overlay */
      .header-banner::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          rgba(0, 0, 0, 0.55) 0%,
          rgba(0, 0, 0, 0.45) 40%,
          rgba(0, 0, 0, 0.25) 70%,
          rgba(0, 0, 0, 0.1) 100%
        );
        z-index: 1;
      }
      
      .header-inner {
        position: relative;
        z-index: 2;
        max-width: 1000px;
        margin: 0 auto;
      }
      
      .header-title {
        font-size: clamp(2rem, 5vw, 3.5rem); /* Scales with screen width */
        font-weight: 700;
        margin-top: -250px !important;
        text-transform: uppercase;
        color: #fff;
        line-height: 1.3;
      }
/* Base header styles */
.header-wrapper {
  width: 100%;
  background-color: #000; /* black fills sides behind clamped banner */
}

.header {
  width: 100%;
  background-color: #000 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Banner styles */
.header-banner {
  width: 100%;
  height: var(--header-height, 70vh);
  color: white;
  background-size: cover;
  background-position: center 30%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  box-sizing: border-box;
  position: relative; /* needed for absolute button positioning */
}

/* For video slides inside header */
.header-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Navigation dots at bottom */
.header-dots {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 5;
}

.header-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  margin: 0 5px;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease;
}

.header-dot.active {
  background-color: #fff;
}

.header-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(0, 0, 0, 0.9) 30%,
    rgba(0, 0, 0, 0) 60%
  );
  z-index: 2; /* stays above video/image but below content */
  pointer-events: none;
}

/* Zoom out specific styles */
.header.zoom-out .header-banner {
  border-radius: 10px;
  overflow: hidden;
}

/* Inner content wrapper */
.header-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

/* Title styles */
.header-title {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 500;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  margin: 0 0 1rem 0;
  line-height: 1.2;
  margin-top: -180px;
}

/* Subtitle styles */
.header-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  margin: 0 0 2rem 0;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Button styles (anchored to bottom center of the header) */
.header-button {
  padding: 12px 30px;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.05);
  overflow: hidden;
  white-space: nowrap;

  position: absolute; /* stick to bottom of header */
  left: 50%;
  bottom: 20px; /* increase to ~60px if dots overlap */
  transform: translateX(-50%);
  z-index: 6; /* above gradient/video */
}

.header-button:hover {
  transform: translateX(-50%) translateY(-2px); /* keep center when hovering */
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .header-banner {
    height: var(--header-height-mobile, 60vh);
  }

  .header-title {
    font-size: 2rem;
  }

  .header-subtitle {
    font-size: 1.1rem;
  }
}

/* Inner container to align header text with rest of the content */
.header-inner {
  width: 100%;
  padding: 0 20px !important; /* breathing space on sides */
  box-sizing: border-box;
  text-align: center !important;
}

/* When zooming OUT, align with content width */
.header-inner.zoom-out {
  max-width: 1400px !important; /* matches product/content sections */
  margin-inline: auto !important; /* center horizontally */
  text-align: left !important; /* optional: align text with content flow */
}

/* Extreme Zoom Out (below 50%) */
@media screen and (max-width: 50em) {
  .header {
    padding: 0;
  }

  .header-banner {
    max-width: 100%;
    border-radius: 5px;
    margin: 10px 0;
  }

  .header-inner {
    padding: 0 15px !important;
  }

  .header-title {
    font-size: 1.8rem !important;
  }

  .header-subtitle {
    font-size: 1rem !important;
  }
}

/* Extreme Zoom In (above 200%) */
@media screen and (min-width: 200em) {
  .header {
    max-width: 2000px;
    margin: 0 auto;
  }

  .header-banner {
    max-width: 1600px;
  }

  .header-inner {
    max-width: 1400px !important;
  }

  .header-title {
    font-size: 4rem !important;
  }

  .header-subtitle {
    font-size: 1.8rem !important;
    max-width: 1000px;
  }

  .header-button {
    padding: 20px 50px;
    font-size: 1.5rem;
  }
}
/* .video-section {
  position: relative;
  height: 600vh; 
  background: #000;
}

.video-wrapper {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  overflow: hidden;
}

.responsive-video {
  width: 100%;
  height: auto;
  max-height: 100vh;
  object-fit: contain;
  aspect-ratio: 16 / 9;
}

@media (max-width: 768px) {
  .responsive-video {
    aspect-ratio: 9 / 16;
  }
}

.comment-box {
  position: absolute;
  padding: 1rem 1.5rem;
  background-color: rgba(255, 255, 255, 0.9);
  color: #000;
  font-size: 1rem;
  max-width: 80%;
  border-radius: 10px;
  transition: all 0.3s ease;
  z-index: 5;
}


.top-left {
  top: 20px;
  left: 20px;
}

.top-right {
  top: 20px;
  right: 20px;
}

.center-left {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

.bottom-right {
  bottom: 20px;
  right: 20px;
}

.bottom-left {
  bottom: 20px;
  left: 20px;
}

.center-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.next-section {
  padding: 100px 20px;
  background: #f9f9f9;
  text-align: center;
} */


/* SurfaceMountingShowcase.css */
html {
  scroll-behavior: smooth;
}



.page-header {
  position: relative;
  height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
   
  text-align: center;
  padding: 0 20px;
  overflow: hidden;
  background: linear-gradient(135deg, #A7402D, #8A3526, #C24E3A);
  color: white;
  box-shadow: 0 4px 20px rgba(167, 64, 45, 0.3);
}

/* Add subtle pattern overlay to the header */
.page-header::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg width=%2720%27 height=%2720%27 viewBox=%270 0 20 20%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27%23ffffff%27 fill-opacity=%270.05%27 fill-rule=%27evenodd%27%3E%3Ccircle cx=%273%27 cy=%273%27 r=%273%27/%3E%3Ccircle cx=%2713%27 cy=%2713%27 r=%273%27/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.page-header h1 {
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 2;
}

.page-header p {
  font-size: 1.4rem;
  max-width: 600px;
  line-height: 1.5;
  font-weight: 300;
  opacity: 0.9;
  position: relative;
  z-index: 2;
}

/* Add decorative elements */
.page-header::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: linear-gradient(to bottom right, 
    transparent 0%, 
    transparent 49%, 
    rgba(167, 64, 45, 0.8) 50%, 
    transparent 51%, 
    transparent 100%);
  background-size: 20px 20px;
  opacity: 0.3;
}

/* .showcase-container {
  height: 100vh;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch;
} */

.video-background {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
  overflow: hidden;
  background-color: #000;
}

.main-video {
     position: fixed; /* or absolute */
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: -1; /* behind content */
  pointer-events: none; /* critical */
}

.sections-container {
  scroll-snap-type: y mandatory;
}

.machine-section {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transition: all 0.5s ease-out;
}

.initial-scroll-guide,
.scroll-guide {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: white;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 15px 25px;
  border-radius: 10px;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  backdrop-filter: blur(4px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* Position cards consistently */
/* .machine-section.card-right {
  justify-content: flex-end;
}

.machine-section.card-left {
  justify-content: flex-start;
} */

.machine-content {
  width: 40%;
  max-width: 500px;
  margin: 0 5%;
  background: linear-gradient(145deg, #2c2e30, #3a3c3e);
  color: #f0f0f0;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), 0 5px 15px rgba(0, 0, 0, 0.2);
  z-index: 10;
  position: relative;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transform: translateY(20px);
  opacity: 0.95;
}

.machine-content:hover {
  transform: translateY(0);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 10px 20px rgba(0, 0, 0, 0.3);
  opacity: 1;
}

/* Card positioning */
/* .machine-section:nth-child(odd) .machine-content {
  margin-right: 5%;
  margin-left: auto;
} */

/* .machine-section:nth-child(even) .machine-content {
  margin-left: 5%;
  margin-right: auto;
} */

/* Add subtle accent line to top of cards */
.machine-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #A7402D, #C24E3A);
  border-radius: 12px 12px 0 0;
}

.machine-content h2 {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  position: relative;
  padding-bottom: 15px;
}

.machine-content h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background-color: #A7402D;
  border-radius: 3px;
}

.machine-content p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #d0d0d0;
  margin-bottom: 2rem;
}

.specs-list {
  list-style: none;
  padding: 0;
}

.specs-list li {
  margin-bottom: 12px;
  padding: 12px 18px;
  background-color: rgba(255, 255, 255, 0.1);
  border-left: 4px solid #A7402D;
  border-radius: 4px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.specs-list li:hover {
  background-color: rgba(255, 255, 255, 0.15);
  transform: translateX(3px);
}

/* Video controls */
.video-controls {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 10;
}

.speed-controls {
  background-color: rgba(0, 0, 0, 0.6);
  padding: 10px;
  border-radius: 24px;
  display: flex;
  gap: 8px;
  align-self: flex-end;
  backdrop-filter: blur(4px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.auto-advance-toggle,
.auto-scroll-toggle {
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 24px;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 500;
  transition: all 0.3s ease;
  backdrop-filter: blur(4px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.auto-advance-toggle:hover,
.auto-scroll-toggle:hover {
  background-color: rgba(0, 0, 0, 0.9);
  transform: translateY(-2px);
}

.auto-advance-toggle.active,
.auto-scroll-toggle.active {
  background: linear-gradient(135deg, #27ae60, #2ecc71);
  box-shadow: 0 4px 10px rgba(39, 174, 96, 0.3);
}

/* Enhanced visibility for active section */
.machine-section.active .machine-content {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 10px 20px rgba(0, 0, 0, 0.3);
  transform: translateY(0);
  opacity: 1;
  border-color: rgba(255, 255, 255, 0.15);
}

.machine-section.active .machine-content::before {
  background: linear-gradient(90deg, #C24E3A, #e67e22);
  box-shadow: 0 0 15px rgba(230, 126, 34, 0.5);
}

/* Loading state */
.video-loading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  z-index: 5;
  backdrop-filter: blur(5px);
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  border-top-color: #A7402D;
  animation: spin 1s ease-in-out infinite;
  margin-bottom: 15px;
  box-shadow: 0 0 20px rgba(167, 64, 45, 0.5);
}

/* Scroll guides */
.initial-scroll-guide {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 25px 35px;
  border-radius: 12px;
  text-align: center;
  animation: fadeIn 1s ease-out;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.scroll-guide {
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  padding: 18px 28px;
  border-radius: 12px;
  animation: pulse 2s infinite;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.scroll-guide p, 
.initial-scroll-guide p {
  margin-bottom: 15px;
  font-weight: 500;
  letter-spacing: 0.5px;
}

.scroll-arrow {
  width: 40px;
  height: 40px;
  position: relative;
}

.scroll-arrow span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 3px solid white;
  border-bottom: 3px solid white;
  transform: rotate(-45deg);
  animation: scrollArrow 1.5s infinite;
  opacity: 0;
}

.scroll-arrow span:nth-child(1) {
  animation-delay: 0s;
}

.scroll-arrow span:nth-child(2) {
  top: 12px;
  animation-delay: 0.15s;
}

.scroll-arrow span:nth-child(3) {
  top: 24px;
  animation-delay: 0.3s;
}

@keyframes scrollArrow {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); }
  70% { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translate(-50%, -60%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}

/* Responsive styles */
@media (max-width: 1200px) {
  .machine-content {
    width: 45%;
  }
}

@media (max-width: 992px) {
  .machine-content {
    width: 60%;
  }
  
  .machine-content h2 {
    font-size: 2.2rem;
  }
}

@media (max-width: 768px) {
  .machine-section.card-right,
  .machine-section.card-left {
    justify-content: center;
  }
  
  .machine-content {
    width: 90%;
    max-width: 500px;
    margin: 0 auto !important;
    padding: 30px;
  }
  
  .machine-content h2 {
    font-size: 2rem;
  }
  
  .page-header h1 {
    font-size: 2.5rem;
  }
  
  .page-header p {
    font-size: 1.1rem;
  }
}

@media (max-width: 480px) {
  .machine-content {
    padding: 25px 20px;
  }
  
  .machine-content h2 {
    font-size: 1.8rem;
  }
}




.next-page-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  padding: 60px 20px;
  background-color: #000000;
  margin: 0;
  }
  
  /* Base (desktop/tablet) */
  .next-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  background-color: #ffffff;
  color: #000000;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  text-align: center;
  
  /* Let text wrap and never overflow on small screens */
  white-space: normal;
  line-height: 1.3;
  overflow-wrap: anywhere;
  
  /* Keep it from overflowing its parent */
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  
  -webkit-tap-highlight-color: transparent;
  }
  
  .next-page-button:hover {
  background-color: #f0f0f0;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  }
  
  .next-page-button:active {
  transform: translateY(0);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
  }
  
  /* Tablet */
  @media (max-width: 768px) {
  .next-page-cta {
  padding: 40px 16px;
  min-height: 160px;
  }
  .next-page-button {
  width: 100%;
  max-width: 480px;
  font-size: 14px;
  letter-spacing: 0.5px;
  padding: 12px 16px;
  border-radius: 10px;
  }
  }
  
  /* Phones */
  @media (max-width: 480px) {
  .next-page-button {
  max-width: 100%;
  font-size: 13.5px;
  padding: 10px 14px;
  }
  }
  
  /* Small phones */
  @media (max-width: 360px) {
  .next-page-button {
  font-size: 12.5px;
  padding: 9px 12px;
  letter-spacing: 0.35px;
  }
  }
  
  /* Very small devices */
  @media (max-width: 320px) {
  .next-page-button {
  font-size: 12px;
  padding: 8px 12px;
  letter-spacing: 0.3px;
  }
  }


/* Fix: stop desktop overlap that cuts the hero image */
@media (min-width: 1024px) {
  :root {
    --hero-overlap-desktop: 0;
    --hero-gap: 0 ;
  }

  .hero-banner { z-index: 2  }

  .hero-banner + .hero-surface,
  .hero-surface {
    margin-top: 0 ;
    padding-top: clamp(40px, 8vw, 96px);
    z-index: 1; /* keep it under the hero if they touch */
  }
}


/* Tighten vertical spacing between sections */
:root{
  --section-pad-tight: clamp(24px, 3.5vw, 48px); /* top/bottom padding per section */
  --section-gap-tight: 0px;                      /* extra gap between adjacent sections */
}

/* Hero copy block */
.hero-surface {
  padding-block: var(--section-pad-tight) ;
  margin-top: var(--section-gap-tight) ;
}

/* If .hero-surface follows the banner */
.hero-banner + .hero-surface {
  margin-top: var(--section-gap-tight) ;   /* keep flush to the banner */
  padding-top: var(--section-pad-tight);
}

/* Next sections */
.values-section,
.publications-section {
  padding-top: var(--section-pad-tight) ;
  padding-bottom: var(--section-pad-tight) ;
  margin-top: var(--section-gap-tight) ;
}

/* Optional: a slightly tighter look on desktop */
@media (min-width: 1024px) {
  :root { --section-pad-tight: 32px; }
}





/* Even, tidy paragraph lines under the hero copy */
.hero-copy__description,
.hero-section__description {
  max-width: 72ch;                 /* readable measure */
  margin-inline: auto;
  text-align: justify !important;  /* even left/right edges */
  text-justify: inter-word;
  text-align-last: center;         /* keep the last line centered */
  -moz-text-align-last: center;
  hyphens: auto;                   /* softer justification */
}

/* Optional: nicer multi‑line heading */
.hero-copy__title { text-wrap: balance; }



/* Make the hero paragraph span from Vision (left) to Core Values (right) */
@media (min-width: 1024px) {
  /* Use the same container width/padding as the cards grid */
  .hero-surface__inner {
    max-width: min(var(--container-max), 92vw) !important;
    padding-inline: var(--section-gutter) !important;
  }

  /* Remove the 72ch limit and fill the container */
  .hero-copy__description,
  .hero-section__description {
    max-width: none !important;
    width: 100% !important;
    margin-inline: 0 !important;
    text-align: justify;        /* keep edges clean */
    text-align-last: left;      /* last line aligns with the left edge */
    text-justify: inter-word;
    hyphens: auto;
  }
}












/*# sourceMappingURL=main.6c02b8ca.css.map*/