/* Hero Slider Custom CSS */
.hero-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
    min-height: 80vh;
    overflow: hidden;
}
.hero-panel {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 60px;
  overflow: hidden;
  border-right: 2px solid rgba(255,255,255,0.3);
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.7s cubic-bezier(.77,0,.18,1), transform 0.7s cubic-bezier(.77,0,.18,1);
}
.hero-panel:last-child { border-right: none; }
.hero-panel.slice-in { opacity: 1; transform: translateY(0); }
.hero-panel.slice-out { opacity: 0; transform: translateY(80px); }
.panel-1, .panel-2, .panel-3, .panel-4 { background-size: cover; background-position: center; }
.panel-overlay { position: absolute; inset: 0; background: rgba(20,20,20,0.55); z-index: 1; }
.panel-content { position: absolute; bottom: 40px; left: 30px; right: 30px; z-index: 2; color: #fff; text-align: left; display: flex; flex-direction: column; align-items: flex-start; }
.panel-content h2 { font-size: 20px; font-weight: 900; color: #fff; margin: 0 0 10px 0; text-shadow: 0 2px 8px rgba(0,0,0,0.7); line-height: 1.2; letter-spacing: 0.5px; }
.panel-content p { font-size:13px; color: #eee; margin: 0 0 18px 0; text-shadow: 0 1px 4px rgba(0,0,0,0.5); font-weight: 400; }
.panel-btn { background: transparent; color: #fff; border: 2px solid #fff; padding: 12px 36px; border-radius: 2px; font-size: 1.1rem; font-weight: 700; cursor: pointer; transition: background 0.2s, color 0.2s; text-transform: uppercase; margin-top: 10px; letter-spacing: 1px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.panel-btn:hover { background: #fff; color: #222; border-color: #fff; }
.hero-heading { position: absolute; left: 0; right: 0; top: 38%; text-align: center; z-index: 5; pointer-events: none; }
.hero-heading h1 { font-size: 2vw; font-weight: 900; letter-spacing: 2px; color: #fff; text-shadow: 0 4px 16px rgba(0,0,0,0.7); margin: 0; text-transform: uppercase; }
.nav-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: rgba(34,34,34,0.7); color: #fff; border: none; font-size: 2.5rem; padding: 8px 18px; border-radius: 50%; cursor: pointer; transition: background 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.nav-arrow.left { left: 18px; }
.nav-arrow.right { right: 18px; }
.nav-arrow:hover { background: #ff9800; color: #fff; }
.social-icons { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 18px; z-index: 10; }
.social-icons img { width: 28px; height: 28px; filter: brightness(0) invert(1); opacity: 0.85; transition: opacity 0.2s, filter 0.2s; }
.social-icons img:hover { opacity: 1; filter: brightness(1) invert(0) sepia(1) hue-rotate(-20deg) saturate(5); }
.nav-dots { position: absolute; right: 28px; bottom: 38px; display: flex; flex-direction: column; gap: 10px; z-index: 10; }
.dot { width: 12px; height: 12px; border-radius: 50%; background: #fff; opacity: 0.5; transition: opacity 0.2s, background 0.2s; border: 2px solid #ff9800; }
.dot.active { opacity: 1; background: #ff9800; }
@media (max-width: 1100px) { .hero-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; } .hero-panel { min-height: 40vh; } .hero-heading { top: 30%; } }
@media (max-width: 700px) {
  .main-navbar { flex-direction: column; padding: 12px 10px; gap: 10px; }
  .navbar-center { margin: 10px 0; }
  .hero-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    min-height: 40vh;
  }
  .hero-panel {
    display: none;
  }
  .hero-panel.active {
    display: flex;
  }
  .hero-heading { top: 18%; }
  .social-icons { right: 8px; top: unset; bottom: 80px; flex-direction: row; gap: 10px; transform: none; }
  .nav-dots { right: 12px; bottom: 18px; }
} 