/* ============================================================
   HERO SLIDER (home, first section)
   ============================================================ */
.hero-slides{display:grid;grid-template-columns:minmax(0,1fr);position:relative;z-index:2}
.hero-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility 0s linear .8s}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .8s ease,visibility 0s}

/* content enters with a small stagger */
.hero-slide .hero-copy>*,.hero-slide .hero-visual{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.hero-slide.is-active .hero-copy>*,.hero-slide.is-active .hero-visual{opacity:1;transform:none}
.hero-slide.is-active .hero-copy>*:nth-child(2){transition-delay:.1s}
.hero-slide.is-active .hero-copy>*:nth-child(3){transition-delay:.2s}
.hero-slide.is-active .hero-copy>*:nth-child(4){transition-delay:.28s}
.hero-slide.is-active .hero-copy>*:nth-child(5){transition-delay:.36s}
.hero-slide.is-active .hero-visual{transition-delay:.2s}

/* slightly different card tint per slide */
.hero-slide:nth-child(2) .visual-card{background:linear-gradient(145deg,rgba(74,150,63,.45),rgba(0,25,54,.15))}
.hero-slide:nth-child(3) .visual-card{background:linear-gradient(145deg,rgba(18,59,79,.6),rgba(74,150,63,.18))}
.hero-slide:nth-child(4) .visual-card{background:linear-gradient(145deg,rgba(143,190,94,.35),rgba(0,31,81,.2))}

/* split layout: text 600px on the left, image 400px on the right */
.hero-slider .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);padding:70px 0 40px;min-height:0;align-items:center}
.hero-slider .hero-copy{max-width:none}
.hero-slider .hero-title{font-family:Manrope,sans-serif;font-size:clamp(44px,5.2vw,78px);line-height:.95;letter-spacing:-.055em;font-weight:800;overflow-wrap:anywhere}
.hero-slider .hero-title em{font-family:var(--serif);font-weight:400;color:var(--accent)}
.hero-slider .hero-lead{font-size:21px;margin-top:22px}
.hero-slider .hero-visual{min-height:0;width:100%;max-width:none;display:flex;flex-direction:column;gap:16px}
.slide-figure{position:relative;margin:0;background:#fff;padding:8px;border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.slide-figure:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid rgba(183,217,138,.35);border-radius:14px;z-index:-1}
.hero-slider .slide-figure img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.hero-slide .slide-figure img{transform:scale(1.04);transition:transform 5s ease}
.hero-slide.is-active .slide-figure img{transform:none}
.slide-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.slide-chips li{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lime);border:1px solid rgba(183,217,138,.35);border-radius:40px;padding:6px 11px;background:rgba(255,255,255,.04)}
.slide-chips li:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:7px;vertical-align:1px}

/* controls */
.hero-controls{position:absolute;left:0;right:0;width:min(1180px,calc(100% - 48px));margin:auto;bottom:22px;z-index:5;display:flex;align-items:center;gap:22px}
.hero-dots{display:flex;gap:8px}
.hero-dot{width:44px;height:20px;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center}
.hero-dot i{display:block;width:100%;height:2px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.hero-dot i:after{content:"";position:absolute;inset:0;background:var(--lime);transform:scaleX(0);transform-origin:left}
.hero-dot.is-active i:after{animation:heroProgress var(--hero-delay,6s) linear forwards}
.hero-slider.is-paused .hero-dot.is-active i:after{animation-play-state:paused}
.hero-dot:hover i{background:rgba(255,255,255,.45)}
@keyframes heroProgress{to{transform:scaleX(1)}}
.hero-counter{font-size:11px;letter-spacing:.14em;color:#89a59b}.hero-counter b{color:#fff}
.hero-arrows{margin-left:auto;display:flex;gap:8px}
.hero-arrows button{width:44px;height:44px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font-size:16px;cursor:pointer;border-radius:3px;transition:.2s}
.hero-arrows button:hover{background:var(--lime);border-color:var(--lime);color:var(--deep)}
.hero-dot:focus-visible,.hero-arrows button:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.hero-slider .hero-scroll{bottom:36px}

@media (max-width:900px){
  .hero-slider .hero-inner{grid-template-columns:minmax(0,1fr);gap:28px;padding:44px 0 12px;min-height:0}
  .hero-slider .hero-copy,.hero-slider .hero-visual{min-width:0}
  .hero-slider .hero-scroll{display:none}
}
@media (max-width:640px){
  .hero-slider .hero-title{font-size:clamp(36px,10.5vw,50px)}
  .hero-dot{width:28px}
  .hero-counter{display:none}
  .hero-arrows button{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
  .hero-slide,.hero-slide .hero-copy>*,.hero-slide .hero-visual{transition:none;transform:none}
  .hero-dot.is-active i:after{animation:none;transform:scaleX(1)}
}
