:root{
  --container-width:1400px;
  --container-padding:1.5rem;
}

.container{
  max-width:var(--container-width);
  margin:0 auto;
  padding:0 var(--container-padding);
}

.articles-section {
  --color-green: #008350;
}

.column-item:nth-child(2) .text-box,
.article-card {
  --color-green: #008350;
}

.logo img{height:90px;}

.hero-section{
  padding:0;
  min-height:600px;
  background-color:var(--color-navy);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:visible;
}

.hero-section .container{
  width:100%;
}
.hero-section::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:linear-gradient(to right,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.5) 40%,transparent 70%);
  z-index:0;
}
.hero-content{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:var(--spacing-xl);
  align-items:center;
  position:relative;
  z-index:1;
  width:100%;
  min-height:500px;
}
.hero-main{
  padding:0;
  max-width:540px;
  align-self:center;
}
.hero-title{
  font-family:var(--font-body);
  font-size:2.875rem;
  font-weight:700;
  line-height:1.1;
  color:white;
  margin-bottom:var(--spacing-md);
}
.hero-description{
  font-family:var(--font-body);
  font-size:1.125rem;
  color:white;
  margin-bottom:var(--spacing-md);
  line-height:1.7;
  max-width:660px;
}
.hero-aside{
  background-color:rgba(4,24,51,0.95);
  padding:var(--spacing-sm) var(--spacing-md);
  backdrop-filter:blur(10px);
  max-width:450px;
  align-self:end;
  justify-self:end;
}
.hero-aside--hidden{display:none;}
.aside-title{
  font-family:var(--font-serif);
  font-size:1.4rem;
  font-weight:600;
  color:white;
  margin-bottom:var(--spacing-xs);
  line-height:1.3;
}
.aside-text{
  font-family:var(--font-body);
  font-size:0.9rem;
  color:rgba(255,255,255,0.9);
  line-height:1.5;
}

.section-heading{
  font-family:var(--font-display);
  font-size:2.375rem;
  font-weight:500;
  color:var(--color-primary);
  margin-bottom:var(--spacing-sm);
  text-align:left;
}

.two-column-section{
  padding:var(--spacing-xl) 0;
  background-color:#DADADA;
}
.two-column-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:var(--spacing-md);
  align-items:start;
}
.column-item{
  display:flex;
  flex-direction:column;
  height:550px;
}
.column-item:nth-child(2) .text-box{flex-grow:1;}
.image-wrapper{
  overflow:hidden;
  border-radius:4px 4px 0 0;
}
.image-wrapper img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.column-item:nth-child(2) .image-wrapper{max-height:280px;}
.text-box{
  background-color:white;
  padding:var(--spacing-md);
  border-radius:0 0 4px 4px;
}
.column-item:first-child .text-box{
  background-color:#041833;
  padding:var(--spacing-md);
}
.column-item:nth-child(2) .text-box{
  background-color:white;
  padding:var(--spacing-lg) var(--spacing-md);
}
.item-title{
  font-family:var(--font-serif);
  font-size:1.5rem;
  font-weight:600;
  color:#333333;
  margin:0 0 var(--spacing-sm) 0;
  line-height:1.2;
}
.column-item:first-child .item-title{color:white;}
.item-title em{font-family:var(--font-serif);font-style:italic;font-weight:400;}
.item-description{
  font-family:var(--font-body);
  font-size:0.95rem;
  color:var(--color-text-light);
  margin-bottom:var(--spacing-sm);
  line-height:1.6;
}
.column-item:first-child .item-description{color:rgba(255,255,255,0.9);}
.inline-link{
  font-family:var(--font-body);
  font-size:0.85rem;
  font-weight:600;
  color:var(--color-primary);
  text-transform:uppercase;
  letter-spacing:0.5px;
  transition:color var(--transition-base);
}
.column-item:first-child .inline-link{color:white;}
.inline-link:hover{color:var(--color-green);}
.column-item:first-child .inline-link:hover{opacity:0.8;}

.video-section{
  padding:var(--spacing-xl) 0;
  background-color:#16212F;
}
.video-section .section-heading{color:var(--color-green);}
.video-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--spacing-md);
  margin-bottom:var(--spacing-lg);
}
.video-item{display:flex;flex-direction:column;}
.video-item.hidden{display:none;}
.video-placeholder{
  aspect-ratio:16/9;
  background-color:#d0d0d0;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:var(--spacing-sm);
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.video-placeholder img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  top:0;left:0;
}
.hp-play-icon{
  font-size:3rem;
  color:white;
  opacity:0.9;
  position:relative;
  z-index:1;
  text-shadow:0 2px 8px rgba(0,0,0,0.5);
  pointer-events:none;
}
.video-description{
  font-family:var(--font-body);
  font-size:0.9rem;
  color:var(--color-text-white);
  line-height:1.6;
  margin-bottom:var(--spacing-xs);
}
.section-cta{text-align:center;}

.articles-section{
  padding:var(--spacing-xl) 0;
  background-color:var(--color-bg-alt);
}
.articles-section .section-heading{color:var(--color-green);}
.article-carousel-wrapper{
  overflow:hidden;
  margin-bottom:var(--spacing-lg);
  width:100%;
}
.article-grid{
  display:flex;
  gap:var(--spacing-sm);
  transition:transform 0.5s ease;
  width:300%;
}
.article-card{
  display:flex;
  flex-direction:column;
  background-color:white;
  box-shadow:0 1px 3px rgba(0,0,0,0.1);
  flex:0 0 calc((100% / 9) - (var(--spacing-sm) * 8 / 9));
}
.carousel-dots{
  display:flex;
  justify-content:center;
  gap:var(--spacing-sm);
  margin-top:var(--spacing-md);
}
.carousel-mobile-container{
  position:relative;
  display:flex;
  align-items:center;
}
.carousel-arrow{display:none;}
.dot{
  width:12px;height:12px;
  border-radius:50%;
  background-color:#D0D0D0;
  cursor:pointer;
  transition:background-color var(--transition-base);
}
.dot:hover{background-color:#A0A0A0;}
.dot.active{background-color:var(--color-green);}
.card-image{margin-bottom:0;overflow:hidden;}
.card-image img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}
.card-title{
  font-family:var(--font-serif);
  font-size:1.5rem;
  font-weight:600;
  color:#1e1d1d;
  margin-bottom:var(--spacing-sm);
  line-height:1.3;
  padding:var(--spacing-md) var(--spacing-md) 0;
}
.card-description{
  font-family:var(--font-body);
  font-size:0.95rem;
  color:var(--color-text-light);
  margin-bottom:var(--spacing-md);
  line-height:1.6;
  flex-grow:1;
  padding:0 var(--spacing-md);
}
.article-card .inline-link{
  padding:0 var(--spacing-md) var(--spacing-md);
  display:block;
}

.promo-section{padding:var(--spacing-xl) 0;background-color:#484848;}
.promo-content{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:var(--spacing-xl);
  align-items:center;
}
.promo-text{color:white;}
.promo-title{
  font-family:var(--font-display);
  font-size:2.5rem;
  font-weight:500;
  color:white;
  margin-bottom:var(--spacing-md);
  line-height:1.2;
}
.promo-description,.promo-body{
  font-family:var(--font-body);
  font-size:1rem;
  color:white;
  margin-bottom:var(--spacing-md);
  line-height:1.6;
}
.promo-body{margin-bottom:var(--spacing-lg);}
.promo-button{
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:600;
  color:white;
  background-color:#008350;
  border:none;
  padding:var(--spacing-sm) var(--spacing-lg);
  cursor:pointer;
  transition:background-color var(--transition-base);
}
.promo-button:hover{background-color:#006840;}
.promo-image{overflow:hidden;}
.promo-image img{width:100%;height:auto;display:block;}


.index-video-description-link{
  display:block;
  text-decoration:none;
  margin-top:0.25rem;
}
.index-video-description-link .video-description{
  color:var(--color-text-white);
  margin-bottom:0;
}
.index-video-read-profile{
  display:block;
  margin-top:0.4rem;
  color:white;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.8rem;
  text-transform:uppercase;
  letter-spacing:0.5px;
  transition:color var(--transition-base);
}
.index-video-description-link:hover .index-video-read-profile{
  color:var(--color-green);
}


.video-grid .hp-play-icon{
  display:none;
}

.video-grid .video-placeholder::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(255,255,255,0.15);
  z-index:1;
  transition:transform 0.2s ease, background 0.2s ease;
}

.video-grid .video-placeholder::after{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-40%,-50%);
  width:0;height:0;
  border-style:solid;
  border-width:10px 0 10px 18px;
  border-color:transparent transparent transparent rgba(255,255,255,0.85);
  z-index:2;
  transition:transform 0.2s ease;
}

.video-grid .video-placeholder img{
  transition:filter 0.2s ease;
}
.video-grid .video-placeholder:hover img{
  filter:brightness(0.75);
}

.video-grid .video-placeholder:hover::before{
  transform:translate(-50%,-50%) scale(1.12);
  background:rgba(255,255,255,0.25);
}

.video-grid .video-placeholder:hover::after{
  transform:translate(-40%,-50%) scale(1.15);
}

.video-grid .video-placeholder .index-video-bar{
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:var(--color-green);
  z-index:3;
}

.index-featured-video{
  cursor:pointer;
}

.index-featured-video::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:80px;height:80px;
  border-radius:50%;
  background:rgba(255,255,255,0.88);
  box-shadow:0 2px 14px rgba(0,0,0,0.35);
  z-index:1;
  transition:transform 0.2s ease, background 0.2s ease;
}

.index-featured-video::after{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-40%,-50%);
  width:0;height:0;
  border-style:solid;
  border-width:16px 0 16px 28px;
  border-color:transparent transparent transparent rgba(0,0,0,0.75);
  z-index:2;
  transition:transform 0.2s ease;
}

.index-featured-video img{
  transition:filter 0.2s ease;
}
.index-featured-video:hover img{
  filter:brightness(0.75);
}

.index-featured-video:hover::before{
  transform:translate(-50%,-50%) scale(1.12);
  background:rgba(255,255,255,1);
}

.index-featured-video:hover::after{
  transform:translate(-40%,-50%) scale(1.15);
}

.index-featured-video .index-video-bar{
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:var(--color-green);
  z-index:3;
}

@media(max-width:1024px){
  .container{padding:0 var(--spacing-sm);}
  .hero-content{grid-template-columns:1fr;gap:var(--spacing-md);}
  .hero-title{font-size:2rem;}
  .hero-aside{
    position:static;
    width:calc(100% + 2 * var(--spacing-sm));
    max-width:none;
    margin-left:calc(-1 * var(--spacing-sm));
    margin-right:calc(-1 * var(--spacing-sm));
    padding:var(--spacing-md);
    align-self:stretch;
    justify-self:stretch;
  }
  .two-column-grid{grid-template-columns:1fr 1fr;}
  .column-item{height:auto;}
  .column-item .image-wrapper{max-height:260px;}
  .column-item .image-wrapper img{height:260px;object-fit:cover;object-position:center top;}
  .column-item:nth-child(2) .text-box{padding:var(--spacing-md);}
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .article-carousel-wrapper{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-bottom:0;
    flex:1;
  }
  .article-carousel-wrapper::-webkit-scrollbar{display:none;}
  .carousel-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:36px;height:36px;
    background-color:rgba(4,24,51,0.85);
    color:white;
    border:none;
    border-radius:6px;
    box-shadow:0 2px 6px rgba(0,0,0,0.3);
    font-size:1.3rem;
    font-weight:600;
    cursor:pointer;
    transition:background-color 0.2s ease;
    padding-bottom:2px;
  }
  .carousel-arrow:hover{background-color:rgba(4,24,51,1);}
  .carousel-arrow-prev{margin-right:var(--spacing-xs);}
  .carousel-arrow-next{margin-left:var(--spacing-xs);}
  .article-grid{
    display:flex;
    width:auto;
    gap:var(--spacing-sm);
    transform:none !important;
    transition:none;
  }
  .article-card{flex:0 0 85%;scroll-snap-align:start;}
  .card-image img{aspect-ratio:16/9;width:100%;max-height:300px;object-fit:cover;}
  .carousel-dots{display:none;}
  .promo-content{grid-template-columns:1fr;gap:var(--spacing-md);}
  .promo-image{order:-1;max-width:90%;margin:0 auto;}
  .promo-image img{border-radius:4px;}
  .promo-title{font-size:2rem;}
}

@media(max-width:640px){
  .two-column-grid{grid-template-columns:1fr;}
  .video-grid{grid-template-columns:1fr;}
}

@media(max-width:480px){
  html{font-size:14px;}
  .section-heading{font-size:1.75rem;}
  .hero-title{font-size:1.75rem;}
  .hero-description{font-size:1rem;}
  .carousel-dots{display:none;}
  .article-grid{display:flex;flex-direction:row;width:auto;}
  .article-card{flex:0 0 85%;}
  .card-image img{aspect-ratio:16/9 !important;}
  .promo-title{font-size:1.5rem;}
  .promo-description,.promo-body{font-size:0.9rem;}
  .cta-button,.promo-button{width:100%;padding:var(--spacing-sm);text-align:center;}
}

.video-item--featured { max-width: 100%; }
.video-item--featured .video-placeholder { max-width: 100%; }
.video-section--white { background: var(--color-bg); }

.column-item .video-placeholder { margin-bottom: 0; }
.column-item .text-box { margin-top: 0; }

@media (min-width: 992px) {
  .column-item .video-placeholder { height: 420px; }
  .column-item .video-placeholder img { height: 100%; object-fit: cover; }
}

.dot--reset {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  padding: 0;
  margin: 0;
  background-color: #D0D0D0;
}
