/* Site logo — inline SVG (home/_includes/logo_svg.html).
   Color flows through currentColor so hover can recolor the whole mark. */

.site-logo {
  color: #231f20;
  display: inline-block;
  vertical-align: middle;
  transition: color 0.35s ease, transform 0.35s ease;
  animation: site-logo-in 0.8s ease-out both;
}

/* White variant for dark backgrounds (footer, mobile nav, sidebar) */
.site-logo--white {
  color: #ffffff;
}

/* Hero slider variant — bigger lockup above the slide title */
.site-logo--hero {
  width: 320px;
  max-width: 80%;
  height: auto;
}

/* Dark scrim over hero background VIDEOS — the theme's ::before gradient
   sits behind the <video>, so videos need their own overlay. Solid dark on
   the text side, fading to lightly-tinted on the other, so bright footage
   never washes out the hero text. */
.main-slider__video-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(17, 17, 17, 0.95) 0%,
    rgba(17, 17, 17, 0.88) 25%,
    rgba(17, 17, 17, 0.6) 55%,
    rgba(17, 17, 17, 0.25) 100%
  );
  pointer-events: none;
}

/* Bottom-right logo badge inside each hero slide */
.main-slider__logo-badge {
  position: absolute;
  right: 45px;
  bottom: 45px;
  z-index: 3;
  line-height: 0;
}

/* Hover: theme orange + a tiny lift/tilt */
a:hover .site-logo,
.site-logo:hover {
  color: var(--suntop-base, #f95e11);
  transform: scale(1.05) rotate(-1.5deg);
}

/* Header (tablet 768–1199px): the hamburger lives on the right, in the old
   dots-menu spot — hide the middle one. On phones (<768px) the whole
   bottom-right block is hidden by the theme, so the middle one stays. */
@media (min-width: 768px) and (max-width: 1199px) {
  .main-header-one__bottom-middle .mobile-nav__toggler {
    display: none;
  }
}

/* Subtle entrance on page load */
@keyframes site-logo-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Smaller logo on tablets & phones */
@media (max-width: 991px) {
  .site-logo {
    width: 130px;
    height: auto;
  }

  .site-logo--hero {
    width: 220px;
    max-width: 60%;
  }

  .main-slider__logo-badge {
    right: 30px;
    bottom: 30px;
  }
}

@media (max-width: 767px) {
  .site-logo {
    width: 108px;
    height: auto;
  }

  .site-logo--hero {
    width: 150px;
    max-width: 45%;
  }

  .main-slider__logo-badge {
    right: 20px;
    bottom: 20px;
  }

  /* Keep the hero photo visible on phones:
     1. no 1.1x zoom on the active slide (crops 10% extra)
     2. the desktop left-side gradient covers the whole narrow screen —
        use a lighter uniform scrim instead, so the image shows through
     3. shorter hero = aspect ratio closer to the landscape photo = less crop */
  .main-slider .swiper-slide-active .main-slider__bg {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .main-slider__bg::before,
  .main-slider__video-overlay {
    background: rgba(17, 17, 17, 0.55);
  }

  /* Fullscreen hero on phones: fill the viewport below the header
     (~90-100px tall on mobile — err on the side of slightly taller than
     the fold so no white stripe / next section ever peeks in).
     svh = stable viewport unit that ignores the browser UI bars. */
  .main-slider__content {
    min-height: calc(100vh - 90px);
    min-height: calc(100svh - 90px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 40px;
    padding-bottom: 100px; /* keeps text clear of the bottom-right logo badge */
  }

  /* Center the header logo on phones (wrapper is position:relative flex;
     the hamburger stays on the right, logo floats to the middle) */
  .main-header-one__logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-logo {
    animation: none;
    transition: color 0.35s ease;
  }
  a:hover .site-logo,
  .site-logo:hover {
    transform: none;
  }
}
