/* ============================= */
/* HOME PAGE STYLES */
/* ============================= */


/* ============================= */
/* HERO SECTION */
/* ============================= */

.hero-section{
  position:relative;
  padding:120px 0 90px;
  overflow:hidden;
  /* allow background image via custom property */
  background-image: var(--hero-bg, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-section .hero-content h1,
.hero-section .hero-content p,
.hero-section .eyebrow,
.hero-section .hero-highlights li{
  text-shadow:0 3px 8px rgba(0,0,0,0.8);
}

/* Animated background layer */
.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 50%, rgba(201,179,124,0.08) 0%, rgba(201,179,124,0) 40%),
    radial-gradient(circle at 30% 70%, rgba(139,115,85,0.06) 0%, rgba(139,115,85,0) 50%),
    radial-gradient(circle at 100% 0%, rgba(201,179,124,0.04) 0%, rgba(201,179,124,0) 45%),
    linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6));
  animation:backgroundShift 20s ease-in-out infinite;
  pointer-events:none;
  z-index:0;
}

.hero-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 40% 30%, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0) 40%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0) 50%);
  animation:backgroundFloat 25s ease-in-out infinite reverse;
  pointer-events:none;
  z-index:0;
}

@keyframes backgroundShift {
  0%, 100% {
    opacity:1;
    filter:blur(0px);
  }
  50% {
    opacity:0.85;
    filter:blur(1px);
  }
}

@keyframes backgroundFloat {
  0%, 100% {
    opacity:0.6;
  }
  50% {
    opacity:1;
  }
}

.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:64px;
  align-items:center;
  position:relative;
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:1;
}

.hero-description{
  max-width:650px;
  font-size:18px;
  margin-top:18px;
  margin-bottom:28px;
  color:var(--color-text-muted);
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:28px;
}

.hero-highlights{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}

.hero-highlights li{
  position:relative;
  padding-left:24px;
  color:var(--color-text-muted);
  transition:all 0.3s ease;
}

.hero-highlights li:hover {
  color:var(--color-text);
  transform:translateX(4px);
}

.hero-highlights li::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--color-primary);
  box-shadow:0 0 0 6px rgba(201,179,124,0.12);
  transition:all 0.3s ease;
}

.hero-highlights li:hover::before {
  box-shadow:0 0 0 8px rgba(201,179,124,0.25), 0 0 8px rgba(201,179,124,0.3);
  transform:scale(1.2);
}


/* ============================= */
/* HERO VISUAL / CARD */
/* ============================= */

.hero-visual{
  display:flex;
  justify-content:flex-end;
  position:relative;
  z-index:1;
}

.hero-card{
  width:100%;
  max-width:460px;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.04)
  );
  border:1px solid rgba(255,255,255,0.09);
  border-radius:24px;
  padding:30px;
  box-shadow:0 18px 50px rgba(0,0,0,0.22);
  backdrop-filter:blur(10px);
  transition:all 0.5s cubic-bezier(0.23, 1, 0.320, 1);
  animation:floatCard 6s ease-in-out infinite;
}

.hero-card:hover {
  border-color:rgba(201,179,124,0.3);
  box-shadow:0 28px 70px rgba(201,179,124,0.16), 0 0 1px rgba(255,255,255,0.3) inset;
  transform:translateY(-12px);
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.12),
    rgba(255,255,255,0.06)
  );
}

@keyframes floatCard {
  0%, 100% {
    transform:translateY(0px);
  }
  50% {
    transform:translateY(-16px);
  }
}

.hero-card-top{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:18px;
  margin-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:var(--color-text-muted);
  font-size:14px;
}

.status-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--color-primary);
  box-shadow:0 0 0 6px rgba(201,179,124,0.13);
  animation:pulseGlow 2.5s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow:0 0 0 6px rgba(201,179,124,0.13);
    transform:scale(1);
  }
  50% {
    box-shadow:0 0 0 12px rgba(201,179,124,0.06), 0 0 12px rgba(201,179,124,0.25);
    transform:scale(1.1);
  }
}

.hero-card-body{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.metric-block{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
}

.metric-block h3{
  margin-bottom:8px;
}

.metric-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.metric{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
}


/* ============================= */
/* TRUST STRIP */
/* ============================= */

.trust-strip-section{
  padding:0 0 30px;
  background-image: var(--trust-bg, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.trust-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.trust-item{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--color-border);
  border-radius:18px;
  padding:20px 22px;
}

.trust-label{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--color-text-muted);
  margin-bottom:8px;
}

.trust-item strong{
  font-size:16px;
  color:var(--color-text);
}


/* ============================= */
/* MISSION SECTION */
/* ============================= */

.mission-section{
  text-align:center;
}

.mission-section .section-text{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}


/* ============================= */
/* SERVICES SECTION */
/* ============================= */

.services-section .info-card{
  min-height:100%;
}

.services-section .info-card h3{
  margin-bottom:12px;
}


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

.why-section .split-content p + p{
  margin-top:16px;
}


/* ============================= */
/* FEATURED PROJECTS */
/* ============================= */

.featured-projects-section .project-card{
  min-height:100%;
}

.project-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(201,179,124,0.1);
  border:1px solid rgba(201,179,124,0.18);
  color:var(--color-primary);
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em;
  margin-bottom:16px;
}


/* ============================= */
/* PROCESS SECTION */
/* ============================= */

.process-section .timeline-step{
  min-height:100%;
}

.process-section .timeline-step h3{
  margin-bottom:10px;
}


/* ============================= */
/* IMPACT SECTION */
/* ============================= */

.impact-section .impact-grid{
  margin-bottom:28px;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.testimonial-card p{
  color:var(--color-text);
  margin-bottom:18px;
}

.testimonial-card span{
  color:var(--color-text-muted);
  font-size:14px;
}


/* ============================= */
/* AUDIENCE SECTION */
/* ============================= */

.audience-section .split-content p + p{
  margin-top:16px;
}


/* ============================= */
/* UPDATES SECTION */
/* ============================= */

.update-card{
  min-height:100%;
}

.update-card h3{
  margin:10px 0 12px;
}

.update-type{
  margin-bottom:4px;
}


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

.cta-section{
  padding-top:40px;
}

.cta-box{
  background:
    linear-gradient(180deg, rgba(20,41,63,0.96), rgba(15,31,47,0.96)),
    radial-gradient(circle at top right, rgba(201,179,124,0.12), transparent 35%);
}

.cta-content h2{
  margin-bottom:14px;
}


/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width: 1100px){

  .hero-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  .hero-visual{
    justify-content:flex-start;
  }

  .trust-strip{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 800px){

  .hero-section{
    padding:90px 0 70px;
  }

  .hero-description{
    font-size:17px;
  }

  .metric-row{
    grid-template-columns:1fr;
  }

  .testimonial-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-actions .btn{
    width:100%;
    text-align:center;
  }

  .trust-strip{
    grid-template-columns:1fr;
  }

  .hero-card{
    padding:22px;
  }

  .trust-item{
    padding:18px;
  }
}