/* =========================
   ABOUT HERO
========================= */

.page-hero{
  position:relative;
  min-height:72vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}

.page-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.38);
}

.page-hero .container{
  position:relative;
  z-index:2;
}

.page-hero-content h1{
  color:#fff;
  font-size:clamp(34px,6vw,68px);
  margin-bottom:14px;
}

.page-hero-content p{
  color:rgba(255,255,255,.88);
  font-size:18px;
}

/* =========================
   LEGACY SECTION
========================= */

.about-legacy{
  padding:90px 20px;
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}

.about-left h2{
  font-size:48px;
  margin-bottom:22px;
}

.about-left p{
  margin-bottom:18px;
}

/* =========================
   SLIDER
========================= */
.about-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 22px;
    background: #e9e3d8;
}

.about-slides {
    display: flex;
    transition: transform 0.6s ease-in-out;
    width: 100%;
}

.about-slide {
    min-width: 100%;
    flex: 0 0 100%;
}

.about-slide img {
    width: 100%;
    height: 650px;
    display: block;
    object-fit: cover;
    border-radius: 22px;
}

.about-prev,
.about-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
z-index: 20;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    transition: 0.3s ease;
}

.about-prev:hover,
.about-next:hover {
    background: rgba(0, 0, 0, 0.75);
}

.about-prev {
    left: 16px;
}

.about-next {
    right: 16px;
}

.about-dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
 gap: 10px;
    z-index: 20;
}

.about-dots button {
    width: 10px;
    height: 10px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    cursor: pointer;
    padding: 0;
}

.about-dots button.active {
    background: #111;
}

/* =========================
   INFRASTRUCTURE
========================= */

.infrastructure-section{
  padding:90px 0;
  background:#fffdf9;
}

.infra-intro{
  max-width:840px;
  margin:18px auto 0;
  text-align:center;
}

.infra-video-wrapper{
  max-width:1100px;
  margin:44px auto 0;
  overflow:hidden;
  border-radius:24px;
  box-shadow:var(--shadow-md);
  background:#000;
}

.infra-video-wrapper video{
  width:100%;
  height:auto;
  display:block;
  max-height:620px;
  object-fit:cover;
}

/* =========================
   TIMELINE
========================= */

.process-section{
  padding:90px 0;
  background:#f8f6f2;
}

.process-timeline{
  max-width:860px;
  margin:0 auto;
  display:grid;
  gap:22px;
}

.timeline-item{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:22px;
  background:#fff;
  padding:26px;
  border-radius:22px;
  box-shadow:var(--shadow-sm);
}

.timeline-number{
  width:62px;
  height:62px;
  border-radius:50%;
  background:rgba(199,161,90,.14);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:20px;
}

.timeline-content h3{
  font-size:30px;
  margin-bottom:8px;
}

/* =========================
   CTA
========================= */

.cta-section{
  padding:90px 0;
  text-align:center;
  background:linear-gradient(135deg,#111,#2a241c);
}

.cta-content h2{
  color:#fff;
  font-size:48px;
  margin-bottom:16px;
}

.cta-content p{
  color:rgba(255,255,255,.82);
  max-width:720px;
  margin:0 auto 26px;
}

.cta-buttons{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

/* =========================
   MOBILE
========================= */

@media (max-width:1100px){

  .about-legacy{
    grid-template-columns:1fr;
  }

}

@media (max-width:768px){

  .page-hero{
    min-height:58vh;
  }

  .page-hero-content h1{
    font-size:38px;
  }

  .page-hero-content p{
    font-size:16px;
  }

  .about-left h2{
    font-size:34px;
  }

  .about-slide img{
    height:340px;
  }

  .timeline-item{
    grid-template-columns:1fr;
  }

  .cta-content h2{
    font-size:34px;
  }

  .cta-buttons{
    flex-direction:column;
    align-items:center;
  }

  .cta-buttons .btn{
    width:100%;
    max-width:320px;
  }

}

@media (max-width:480px){

  .about-legacy{
    padding:70px 16px;
  }

  .about-slide img{
    height:280px;
  }

}
