/* ===== HERO ===== */
.hero {
  position: relative;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
@supports (height: 100dvh) {
  .hero { height: 100dvh; }
}
.hero-slides { position:absolute; inset:0; }
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  transform: scale(1.04);
  transition: opacity 1.6s ease, transform 5s ease;
  will-change: opacity, transform;
}
.hero-slide.active { opacity:1; transform:scale(1); }
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.45) 60%,
    rgba(0,0,0,0.65) 100%
  );
}
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: white;
  padding: clamp(1rem, 4vw, 2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 680px;
  width: 100%;
  margin: 84px auto 0;
  animation: heroFadeIn 1.2s ease both;
}
@keyframes heroFadeIn {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
.hero-logo-img {
  height: clamp(70px, 12vw, 110px);
  width: auto;
  margin-bottom: 1rem;
  filter: brightness(0) invert(1);
  drop-shadow: 0 4px 16px rgba(0,0,0,0.3);
}
/* hero-tagline moved to HERO FIXES block */
.hero-sub {
  font-size: clamp(16px, 3vw, 22px);
  color: rgba(255,255,255,0.92);
  margin-bottom: 0.4rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.hero-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn-white {
  background: white;
  color: var(--green-deep);
  padding: 13px 30px;
  border-radius: var(--r-full);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  border: none;
  font-family: var(--font-body);
  transition: background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.btn-white:hover { background:var(--cream); transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,0.25); }
.btn-outline-white {
  background: transparent;
  color: white;
  padding: 13px 30px;
  border-radius: var(--r-full);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  border: 2px solid rgba(255,255,255,0.7);
  font-family: var(--font-body);
  transition: all var(--t-fast);
  backdrop-filter: blur(4px);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn-outline-white:hover { background:rgba(255,255,255,0.15); border-color:white; transform:translateY(-2px); }

/* Hero stats */
.hero-stats {
  position: absolute;
  bottom: 5rem;
  right: clamp(1rem, 3vw, 3rem);
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.stat-chip {
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: var(--r-md);
  padding: 10px 16px;
  color: white;
  text-align: center;
  min-width: 80px;
}
.stat-num { font-size:20px; font-weight:800; line-height:1.1; }
.stat-lbl { font-size:11px; opacity:0.82; margin-top:2px; }

/* Slide dots */
.slide-dots {
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 7px;
  z-index: 3;
}
.dot {
  width: 7px; height: 7px;
  border-radius: var(--r-full);
  background: rgba(255,255,255,0.35);
  cursor: pointer;
  transition: all 0.3s;
}
.dot.active { background:white; width:22px; border-radius:4px; }

/* Scroll hint */
.scroll-hint {
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: scrollBounce 2s ease infinite;
}
@keyframes scrollBounce {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50% { transform:translateX(-50%) translateY(6px); }
}
.scroll-hint svg { width:24px; height:24px; stroke:rgba(255,255,255,0.7); }

/* ===== HERO NEW ELEMENTS ===== */
/* hero-brand-name removed */

/* Hero centering fix */
#page-home {
  position: relative;
}
.hero {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-sub2 {
  font-size: clamp(14px, 2.5vw, 18px);
  color: rgba(255,255,255,0.78);
  margin-bottom: 2.5rem;
  letter-spacing: 0.08em;
  font-weight: 300;
}
