/* ============ HERO ============ */
.hero-banner{ position:relative; height:min(92vh, 780px); min-height:520px; overflow:hidden; background:#1c231f;}
.hero-swiper, .hero-swiper .swiper-wrapper, .hero-swiper .swiper-slide{ height:100%; }
.hero-slide{position:relative;display:flex; align-items:flex-end; padding:clamp(1.5rem, 5vw, 4.5rem); color: var(--color-text); overflow:hidden;}
.hero-media{  position:absolute; inset:0% 0%; overflow:hidden; z-index:0;}
.hero-img{ position:absolute; inset:0; width:100%; height:100%;  object-fit:cover; display:block;}
.hero-slide::after{ content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(to top, rgba(28,35,31,0.88) 0%, rgba(28,35,31,0.45) 40%, rgba(28,35,31,0.05) 72%); pointer-events:none;}
.hero-content{ position:relative; z-index:3; max-width:640px;}
.hero-content > *{ opacity:1; will-change:transform, opacity; }
.hero-meta{ display:flex; align-items:center; gap:0.9rem; color:#9ca79b; margin-bottom:1rem; }
.hero-meta .dot{ opacity:0.5; }
.hero-title{ font-weight:600;font-size: var(--text-h1-home); margin:0 0 0.9rem; color: #fff;}
.hero-desc{font-size: var(--text-p); color:#fff; margin:0 0 1.6rem;}
.hero-content .themeht-btn img {filter: invert(0);}
.hero-controls{ position:absolute; z-index:6; right:clamp(1.2rem, 4vw, 3rem); bottom:clamp(1.2rem, 4vw, 3rem); display:flex; align-items:center; gap:0.9rem;}
.hero-counter{ font-size:1rem; color: #fff; letter-spacing:0.05em; min-width:52px;}
.hero-progress.swiper-pagination-progressbar{position:absolute; z-index:4; top:auto; bottom:0; left:0; right:0; height:3px; background:rgba(243,239,228,0.15);}
.hero-progress .swiper-pagination-progressbar-fill{ background:var(--color-primary);; }
.hero-arrow{width:42px; height:42px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,0.2);border:none;color:#1c231f;font-size:1.05rem;display:flex; align-items:center; justify-content:center;  cursor:pointer; transition:all .3s ease;}
.hero-arrow img {max-width: 18px;}
.hero-arrow:hover{ transform:scale(1.1); background:#fff; }
.hero-arrow:focus-visible{ outline:2px solid var(--color-text); outline-offset:2px; }
.hero-arrow:active{ transform:scale(0.94); }
.hero-counter-current {font-size: 1.375rem;}
.hero-banner {margin-top: 152px;}
.dark .hero-desc {color: #fff;}

@media (max-width: 1680px) {
.hero-banner{ position:relative; height:min(92vh, 710px); }
}

@media (max-width: 1440px) {
.hero-banner {margin-top: 149px;}
.hero-banner{ position:relative; height:min(92vh, 675px); }
}
@media (max-width: 1366px) {
.hero-banner {margin-top: 149px;}
.hero-banner{ position:relative; height:min(92vh, 615px); }
}



@media (max-width: 1023px) {
  .hero-banner {margin-top: 99px;}
}
@media (max-width: 767px) {
  .hero-media{inset:0% 0%;}
  .hero-slide .container {padding-left: 0; padding-right: 0;}
  .hero-content {padding-bottom: 10vw;}
}

@media screen and (min-width: 1025px) and (-webkit-min-device-pixel-ratio:1.5),screen and (min-width:1025px) and (min-resolution:144dpi) { 
  .hero-banner {margin-top: 152px;}
  .hero-banner{ position:relative; height:min(92vh, 482px); min-height:483px; }
  .hero-title {font-size: 2.875rem;}
}