@charset "utf-8";
/* CSS Document */

.two-column-section {
  width: 90%;
  padding: 40px 20px;
  box-sizing: border-box;
  margin-left:auto;
  margin-right:auto;
   font-family: 'Lato', sans-serif;
}

/* Title & Subtitle */
.section-header h1 {
  color: #0a5a2c; /* darker green */
  margin: 0;
  font-size: 2.5rem;
  text-align: left;
}

.section-header h2 {
  color: #3ae66a; /* bright light green  */
  margin: 5px 0 30px;
  font-size: 1.5rem;
  text-align: left;
}

/* Layout Wrapper */
.content-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  position: relative;
  flex-wrap: wrap;
}

/* Left & Right Blocks */
.left-block,
.right-block {
  flex: 1;
  min-width: 300px;
  position: relative; /* needed for overlay positioning */
}

/* Main Image */
.main-image {
  width: 100%;
  border-radius: 10px;
  display: block;
}

/* Overlays */
.overlay {
 position: absolute;
  pointer-events: none;
  
}

.overlay-left {
  top: 0;
  left: 0;
  width:90%;
}

.overlay-right {
  top: 0;
  right: 0;
}

/* Text content styling */
.text-content {
  background: none;
  padding: 20px;
  border-radius: 10px;
  position: relative;
  z-index: 2;
   font-family: 'Lato', sans-serif;
}

.text-content p{
margin-bottom:1em;
}

.text-content .title{
font-weight:600;
font-size:1.25em;
}

.text-content h3 {
  color: #666; /* bright light green */
  font-size: 1.5rem;
  margin-bottom:1.5em;
}

.content-wrapper .context{
font-size:1.25em;
margin-top:40px;
text-align: justify;
}

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

  .two-column-section .content-wrapper {
    flex-direction: column;
    align-items: center;
  }
  
  .two-column-section {
  width: 100%;
  }

 .two-column-section .overlay {
    width: 90px;
  }
  
  .two-column-section .overlay-left {
  top: 0;
  left: 0;
  width:90%;
}

 .two-column-section .section-header h1 {
    font-size: 1.65rem;
	text-align:left
  }

.two-column-section .section-header h2 {
    font-size: 1.05rem;
	text-align:left
  }
}


.two-column-section-color {
  width: 100%;
  padding: 40px 20px;
  box-sizing: border-box;
  margin-left:auto;
  margin-right:auto;
   font-family: 'Lato', sans-serif;
   background-color:#d1dbb1;
}

/* Title & Subtitle */
.two-column-section-color .section-header h1 {
  color: #0a5a2c; /* darker green */
  margin: 0;
  font-size: 2.5rem;
  text-align: left;
}

.two-column-section-color .section-header h2 {
  color: #666; /* bright light green 3ae66a */
  margin: 5px 0 30px;
  font-size: 1.5rem;
  text-align: left;
}

/* Layout Wrapper */
.two-column-section-color  .content-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  position: relative;
  flex-wrap: wrap;
}

@media (max-width: 768px) {

/* Title & Subtitle */
.two-column-section-color .section-header h1 {
  color: #0a5a2c; /* darker green */
  margin: 0;
  font-size: 1.85rem;
  text-align: left;
}

.two-column-section-color .section-header h2 {
  color: #666; /* bright light green 3ae66a */
  margin: 5px 0 30px;
  font-size: 1.25rem;
  text-align: left;
}

}


/* Section Background */
.info-cards-section {
  background-color: #eaf7ea; /* light green background */
  padding: 60px 20px;
  font-family: 'Lato', sans-serif;
}

/* Header Styling */
.section-header h1 {
  color: #0a5a2c; /* darker green */
  text-align: center;
  margin: 0 0 10px;
  font-size: 2.5rem;
}

.section-header h2 {
  color: #3ae66a; /* bright light green */
  text-align: center;
  margin: 0 0 40px;
  font-size: 1.5rem;
}

/* Grid Layout */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Individual Card */
.card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  text-align: left;        /* align text left */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;

  display: flex;
  flex-direction: column;
  align-items: center;      /* center image horizontally */
}

/* Standardize SVG Image */
.card-img {
  height: 150px; /* fixed height */
  width: auto;   /* maintain aspect ratio */
  margin-bottom: 20px;
}

/* Card Text: left-aligned but width matches card */
.card h3,
.card p {
  align-self: stretch;   /* let text take full width */
}

/* Optional spacing */
.card h3 {
  font-size: 1.2rem;
  color: #0a5a2c;
  margin: 0 0 10px;
}

.card p {
  font-size: 0.95rem;
  color: #555;
  margin: 0;
}

/* Hover Effect */
.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Checkbox overlay */
.card-checkbox {
  position: absolute;
  top: 10px;       /* distance from top */
  right: 10px;     /* distance from right; change to left:10px for top-left */
  background-color: #000; /* bright green circle */
  color: white;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 26px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

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

@media (max-width: 600px) {
  .cards-grid {
    grid-template-columns: 1fr;
  }
  
  .card-img {
    height: 120px; /* smaller height for mobile */
  }
}


@media (max-width: 768px) {
.section-top-image img {
    height: 140px;
  }
 } 
 
 /*cards 2*/
 /* Section Background */
.info-cards-section-2 {
  background-color: #fff;
  padding: 60px 20px;
  position: relative;
  padding-bottom:10em;
}

/* Header */
.info-cards-section-2 .section-header h1 {
  color: #0a5a2c;
  text-align: center;
  margin: 0 0 10px;
  font-size: 2.5rem;
}

.info-cards-section-2 .section-header h2 {
  color: #3ae66a;
  text-align: center;
  margin: 0 0 40px;
  font-size: 1.5rem;
}

/* Central Top Image */
.info-cards-section-2 .section-top-image {
  text-align: center;
  margin-bottom: 30px;
  padding-bottom:5em;
}

.info-cards-section-2 .section-top-image img {
  height: auto;
  width: 60%;  
}

/* Floating Title */
.info-cards-section-2 .floating-title {
  background-color: #fff;
  border-radius: 60px;
  padding: 15px 55px;
  max-width: 70%;
  margin: -80px auto 50px; /* negative margin to float above cards */
  text-align: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  z-index: 2;
  position: relative;
}

.info-cards-section-2 .floating-title h2 {
  margin: 0;
  color: #0a5a2c;
  font-size: 2.25rem;
}

/* Cards Grid */
.info-cards-section-2 .cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Individual Card */
.info-cards-section-2 .card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

/* Checkbox overlay */
.info-cards-section-2 .card-checkbox {
  position: absolute;
  top: 10px;
  right: 10px; /* change to left:10px for top-left */
  background-color: #000;
  color: white;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 28px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

/* Card Image */
.info-cards-section-2 .card-img {
  height: 150px;
  width: auto;
  margin-bottom: 20px;
}

/* Card Text */
.info-cards-section-2 .card h3,
.info-cards-section-2 .card p {
  align-self: stretch;
}

.info-cards-section-2 .card h3 {
  font-size: 1.2rem;
  color: #0a5a2c;
  margin: 0 0 10px;
}

.info-cards-section-2 .card p {
  font-size: 0.95rem;
  color: #555;
  margin: 0;
}

/* Hover Effect */
.info-cards-section-2 .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Responsive */
@media (max-width: 1024px) {
  .info-cards-section-2 .cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {

  .info-cards-section-2 .cards-grid {
    grid-template-columns: 1fr;
  }

  .info-cards-section-2 .card-img {
    height: 120px;
  }

/* Central Top Image */
.info-cards-section-2 .section-top-image {
  text-align: center;
  margin-bottom: 10px;
  padding-bottom:1em;
}

.info-cards-section-2 .section-top-image img {
  height: auto;
  width: 90%;  
}
  .info-cards-section-2 .floating-title {
    max-width: 100%;
    margin: -30px auto 30px;
	  padding: 15px 25px;
  }

  .info-cards-section-2 .floating-title h2 {
    margin: 0;
    color: #0a5a2c;
    font-size: 1.15rem;
}
}

/*separator dark*/

.dark-separator-section {
  background-color: #064d23; /* dark green */
  color: #fff;
  position: relative;
  padding: 80px 20px 60px;
  overflow: visible; /* allows image overlap */
}

/* Flex container: image + text */
.separator-content {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px;
  flex-wrap: wrap;
}

/* Image wrapper */
.separator-image-wrapper {
  position: relative;
  flex: 1;
  min-width: 250px;
}

/* Large image */
.separator-image {
  width: 100%;
  max-width: 500px;
  height: auto;
  display: block;
  margin-top: -150px; /* overlaps top of section */
}

/* Overlay transparent PNG */
.separator-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px; /* adjust as needed */
  height: auto;
  pointer-events: none;
}

/* Text content */
.separator-text {
  flex: 1;
  min-width: 250px;
}

.separator-text h2 {
  font-size: 2rem;
  margin: 0 0 15px;
  color: #ffffff;
}

.separator-text p {
  font-size: 1rem;
  line-height: 1.5;
  color: #e0ffe0; /* light green text for contrast */
}

/* Responsive */
@media (max-width: 1024px) {
  .separator-content {
    flex-direction: column;
    text-align: center;
  }

  .separator-text h2 {
    font-size: 1.75rem;
  }

  .separator-text p {
    font-size: 0.95rem;
  }

  .separator-image {
    max-width: 80%;
    margin-top: -40px;
  }
}

/*SECTION-ADES*/

/* Section wrapper */
.section-ades {
  padding: 40px 20px;
  padding-top:100px;
}

/* Main title */
.section-ades .ades-title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 40px;
  padding-bottom: 10px;
 /* border-bottom: 3px solid #064d23;*/
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

/* Layout grid */
.section-ades .ades-energy {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

/* Column spacing */
.section-ades .ades-col {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top:40px;
}

/* Box container */
.section-ades .ades-box {
  position: relative;
  padding: 60px 10px 10px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
  min-height: 300px;
  
}

/* Shared image size */
.section-ades .ades-box img {
  width: 180px;
  height: 180px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  position: absolute;
  top: -20px;
}

/* Left-aligned floating image */
.section-ades .ades-row.left .ades-box img {
  left: -20px;
}

/* Right-aligned floating image */
.section-ades .ades-row.right .ades-box img {
  right: -20px;
}

/* Text area */
.section-ades .ades-text {
  padding: 0 20px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ================================
   TITLE STYLES FOR LEFT & RIGHT
================================ */

/* LEFT column titles */
.section-ades .ades-title-left {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  text-align: left;               /* <-- you can change this */
  padding-left: 180px;            /* aligns text next to image */
}

/* RIGHT column titles */
.section-ades .ades-title-right {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
  text-align: right;              /* <-- you can change this */
  padding-right: 180px;           /* aligns text next to image */
}

/* Description */
.section-ades .ades-text p {
  margin-top: 80px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}

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

.section-ades {
  padding: 40px 0px;
  padding-top:100px;
}
  .section-ades .ades-energy {
    grid-template-columns: 1fr;
  }

  /* center images for mobile */
  .section-ades .ades-box img {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
  }

  /* center titles for mobile */
  .section-ades .ades-title-left,
  .section-ades .ades-title-right {
    padding: 0;
    text-align: center;
	margin-top:5em;
  }
  
  /* Description */
.section-ades .ades-text p {
  margin-top: 30px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}
}

/* ================================
   SEPARATOR-2 STYLES
================================ */

/* Full-width background */
.separator-2 {
  width: 100%;
  background-color: #ccc;
  padding: 70px 0;
  text-align: center;
}

/* Inner bordered content */
.separator-2 .separator-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 50px 20px;
  background-color: #d6e2ac;
  border-radius: 20px;
  border: 6px double #556b2f;
  box-shadow: 0 0 0 6px rgba(85,107,47,0.25), 0 4px 18px rgba(0,0,0,0.08);
  text-align: left;
}

/* Row layout */
.separator-2 .separator-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
}

/* Left column: vertical title */
.separator-2 .separator-title-col {
  width: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.separator-2 .separator-title-vertical {
  writing-mode: vertical-rl;
  transform: rotate(180deg); /* top-down readable */
  font-size: 68px;
  font-weight: 700;
  color: #e0efb1;
  margin: 0;
}

/* Right column: content */
.separator-2 .separator-content-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Right column: horizontal title */
.separator-2 .separator-content-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2e3b16;
}

/* Image */
.separator-2 .separator-img {
  width: 60%;
  max-width: 400px;
  height: auto;
  margin-bottom: 20px;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
}

/* Description */
.separator-2 .separator-desc {
  font-size: 18px;
  line-height: 1.7;
  color: #334015;
  margin-bottom: 30px;
}

/* Button */
.separator-2 .separator-btn {
  display: inline-block;
  background-color: #4a6b2f; /* dark green */
  color: #fff;
  padding: 14px 26px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  transition: 0.25s ease;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.separator-2 .separator-btn:hover {
  background-color: #3e5b27;
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 900px) {
  .separator-2 .separator-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .separator-2 .separator-title-vertical {
    writing-mode: horizontal-tb;
    transform: none;
    margin-bottom: 20px;
	font-size: 48px;
    font-weight: 700;
  }
  
  /* Right column: horizontal title */
.separator-2 .separator-content-title {
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #2e3b16;
}

/* Description */
.separator-2 .separator-desc {
  font-size: 16px;
  line-height: 1.7;
  color: #334015;
  margin-bottom: 30px;
}


  .separator-2 .separator-img {
    width: 100%;
  }
}

 /* FAQ Section Styling */
  section.faq-section {
    padding: 60px 20px;
    background-color: #f4f6f8;
	font-family: 'Lato', sans-serif;
  }

  .faq-container {
    max-width: 900px;
    margin: 0 auto;
  }

  .faq-title {
    text-align: center;
    font-size: 1.85rem;
	font-weight:800;
    margin-bottom: 40px;
    color: #2c3e50;
  }

  .faq-item {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 15px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease;
  }

  .faq-item:hover {
    transform: translateY(-2px);
  }

  .faq-question {
    padding: 20px;
    font-weight: bold;
    position: relative;
    font-size: 1.1rem;
  }

  .faq-question::after {
    content: '+';
    position: absolute;
    right: 20px;
    font-size: 1.5rem;
    transition: transform 0.2s ease;
  }

  .faq-item.active .faq-question::after {
    content: '−';
    transform: rotate(180deg);
  }

  .faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 20px;
    background: #f1f1f1;
    transition: max-height 0.3s ease, padding 0.3s ease;
    font-size: 1rem;
    line-height: 1.6;
  }

  .faq-item.active .faq-answer {
    max-height: 500px; /* adjust based on content */
    padding: 15px 20px;
  }
  
@media (max-width: 768px) {
  .faq-title {
    text-align: center;
    font-size: 1.35rem;
    font-weight:800;
    margin-bottom: 40px;
    color: #2c3e50;
  }
}  

/*for calstore*/

/* Section wrapper */
.section-calstore {
  padding: 40px 20px;
  padding-top:100px;
}

/* Main title */
.section-calstore .calstore-title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 40px;
  padding-bottom: 10px;
 /* border-bottom: 3px solid #064d23;*/
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

/* Layout grid */
.section-calstore .calstore-energy {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

/* Column spacing */
.section-calstore .calstore-col {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top:40px;
}

/* Box container */
.section-calstore .calstore-box {
  position: relative;
  padding: 60px 10px 10px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
  min-height: 280px;
  
}

/* Shared image size */
.section-calstore .calstore-box img {
  width: 180px;
  height: 180px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  position: absolute;
  top: -20px;
}

/* Left-aligned floating image */
.section-calstore .calstore-row.left .calstore-box img {
  left: -20px;
}

/* Right-aligned floating image */
.section-calstore .calstore-row.right .calstore-box img {
  right: -20px;
}

/* Text area */
.section-calstore .calstore-text {
  padding: 0 20px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ================================
   TITLE STYLES FOR LEFT & RIGHT
================================ */

/* LEFT column titles */
.section-calstore .calstore-title-left {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  text-align: center;               /* <-- you can change this */
  padding-left: 100px;            /* aligns text next to image */
}

/* RIGHT column titles */
.section-calstore .calstore-title-right {
  margin: 0;
  font-size: 26px;
  font-weight: 600;
  text-align: center;              /* <-- you can change this */
  padding-right: 100px;           /* aligns text next to image */
}

/* Description */
.section-calstore .calstore-text p {
  margin-top: 80px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}

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

.section-calstore {
  padding: 40px 0px;
  padding-top:100px;
}
  .section-calstore .calstore-energy {
    grid-template-columns: 1fr;
  }

  /* center images for mobile */
  .section-calstore .calstore-box img {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
  }

  /* center titles for mobile */
  .section-calstore .calstore-title-left,
  .section-calstore .calstore-title-right {
    padding: 0;
    text-align: center;
	margin-top:5em;
  }
  
  /* Description */
.section-calstore .calstore-text p {
  margin-top: 30px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}
}


/*video section*/

.video-section {
 /* background: linear-gradient(
    to bottom left,
    #6be3ff 0%,
    #6be3ff 40%,
    #6be3ff 60%,
	    #07190f 80%,
    #07190f 100%
  );*/
  background: #FFFFFF;
  padding: 2rem 3%;
  color: var(--text-light);
  position: relative;
  font-family: 'Lato', sans-serif;
  padding-bottom:5em;
}

.video-content {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  align-items: center;
  gap: 3rem;
  max-width: 1200px;
  margin: 0 auto;
}

.video-text h2 {
 font-size: 2rem; /* keep current */
    font-weight: 700;
    white-space: nowrap; /* forces one line */
    overflow: hidden;
    text-overflow: ellipsis; /* optional, in case it’s too long */
  font-family: 'Lato', sans-serif;
  color: #104a29;
  margin-bottom:1em;
}
.video-text p {
  color: rgba(0,0,0,0.85);
  line-height: 1.25;
    font-size: 1.15rem;
  margin-bottom: 1.5rem;
  font-family: 'Lato', sans-serif;
}

/* Initial state: smaller and invisible */
.video-text h2,
.video-text p {
  transform: scale(0.9);
  opacity: 0;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  transform-origin: center center;
}

/* When visible in viewport */
.video-text.visible h2,
.video-text.visible p {
  transform: scale(1);
  opacity: 1;
}

.video-text ul {
  list-style: none;
  line-height: 1.8;
  font-weight: 500;
  color: rgba(255,255,255,0.9);
}

.video-thumbnail {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 10px 25px rgba(0,0,0,0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
aspect-ratio: 16/9; /* maintain container ratio */
}
.video-thumbnail:hover {
  transform: scale(1.02);
  box-shadow: 0 15px 30px rgba(0,0,0,0.3);
}
.video-thumbnail video {
  width: 100%;
  display: block;
  object-fit: cover;
aspect-ratio: 16/9; /* maintain container ratio */
  border-radius: 20px;
}
.video-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.15);
  transition: background 0.3s ease;
}
.video-thumbnail:hover .video-overlay {
  background: rgba(0,0,0,0.1);
}
.video-overlay svg {
 width: 5vw;     /* scales with viewport width */
  height: 5vw;
  max-width: 100px;
  max-height: 100px;
  stroke: #fff;
  stroke-width: 1.5;
}

/* Modal popup */
.video-modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  justify-content: center;
  align-items: center;
  z-index: 2000;
}

.video-modal.active {
  display: flex;
}

.video-backdrop {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;

  background: rgba(10,15,26,0.8);
  backdrop-filter: blur(12px);
}

.video-frame {
  position: relative;
  z-index: 2;
  max-width: 900px;
  width: 90%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}
.video-frame video {
  width: 100%;
  height: auto;
  display: block;
}

.close-btn {
  position: absolute;
  top: 12px; right: 12px;
  background: rgba(0,0,0,0.4);
  border: none;
  color: #fff;
  padding: 8px;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
}
.close-btn:hover {
  background: rgba(0,0,0,0.7);
}
.close-btn i {
  width: 20px;
  height: 20px;
}

/* Responsive for mobile */
@media (max-width: 768px) {
  .video-content {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: left;
    padding: 0 1.5rem; /* added horizontal padding */
  }

  .video-text h2 {
    font-size: 1.65rem; /* larger size for 2 lines */
    font-weight: 700;
    line-height: 1.3;
    white-space: normal; /* allow wrapping */
    overflow: visible;
    text-overflow: clip;
    margin-bottom: 1rem;
  }

  .video-text p {
    color: rgba(0,0,0,0.85);
    line-height: 1.5;
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  
  /* Initial state: smaller and invisible */
.video-text h2,
.video-text p {
  transform: scale(0.9);
  opacity: 0;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  transform-origin: center center;
}

/* When visible in viewport */
.video-text.visible h2,
.video-text.visible p {
  transform: scale(1);
  opacity: 1;
}

  .video-thumbnail {
    width: 100%;
    margin: 0 auto;
  }

  .video-thumbnail video {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 20px;
  }

  .video-overlay svg {
    width: 15vw;     
    height: 15vw;
    max-width: 150px;
    max-height: 150px;
    stroke: var(--accent);
    stroke-width: 1.5;
  }
}