﻿/* benwl — mobile nav + home polish */

@media (max-width: 960px) {
  .ch-nav {
    padding-top: max(0.65rem, env(safe-area-inset-top));
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }

  .ch-burger {
    display: flex;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    margin-left: auto;
    border-radius: 0;
    -webkit-tap-highlight-color: transparent;
  }

  .ch-nav__links,
  .ch-nav__cta {
    display: none !important;
  }

  .ch-drawer {
    width: min(100vw - 1.25rem, 380px);
    padding-top: max(5.25rem, calc(env(safe-area-inset-top) + 4.25rem));
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
    padding-left: max(1.25rem, env(safe-area-inset-left));
    padding-right: max(1.25rem, env(safe-area-inset-right));
  }

  .ch-drawer__nav a {
    min-height: 54px;
    font-size: 1.15rem;
    border-radius: 0;
    opacity: 0;
    transform: translateX(22px);
    transition:
      opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
      color 0.2s,
      background 0.2s;
  }

  .ch-drawer.is-open .ch-drawer__nav a {
    opacity: 1;
    transform: none;
    transition-delay: calc(100ms + var(--i, 0) * 70ms);
  }

  .ch-drawer__foot,
  .ch-drawer__phone {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.45s var(--ease), transform 0.5s var(--ease);
  }

  .ch-drawer.is-open .ch-drawer__foot,
  .ch-drawer.is-open .ch-drawer__phone {
    opacity: 1;
    transform: none;
    transition-delay: 0.42s;
  }

  .ch-drawer__close {
    width: auto;
    min-width: 88px;
    height: 48px;
    min-height: 48px;
  }

  .ch-drawer__phone {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
  }

  /* Hero: reduce max(680px,100svh) emptiness */
  .ch-hero {
    min-height: min(78svh, 580px) !important;
  }

  .ch-hero__copy {
    padding-bottom: max(2.5rem, env(safe-area-inset-bottom) + 1.5rem);
    padding-right: var(--gutter);
  }

  .ch-hero__brand {
    font-size: clamp(2.8rem, 14vw, 4.4rem);
  }

  .ch-hero h1 {
    font-size: clamp(1.3rem, 5.4vw, 1.7rem);
    max-width: 14ch;
  }

  .ch-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ch-hero__actions .ch-btn {
    width: 100%;
    min-height: 48px;
  }

  .ch-hero__scroll {
    display: none;
  }

  .ch-btn {
    min-height: 48px;
  }

  .ch-rail__media,
  .ch-rail__media img {
    min-height: 0;
    aspect-ratio: 16 / 10;
    height: auto;
  }

  .ch-seasonbleed__card,
  .ch-seasonbleed__copy {
    min-height: 300px;
  }

  .ch-why__mosaic {
    min-height: 220px;
  }

  .ch-cta {
    min-height: 0;
    padding: 3.25rem 0;
  }

  .ch-glassband {
    min-height: auto;
  }

  .ch-glassband__panel {
    padding: 2rem 1.15rem;
  }
}

@media (max-width: 640px) {
  .ch-hero {
    min-height: min(72svh, 540px) !important;
  }

  .ch-hero__brand {
    font-size: clamp(2.6rem, 15vw, 4rem);
  }
}

/* Bloom / rise motion */
.js [data-bloom] {
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  transition:
    opacity 0.85s var(--ease),
    transform 0.95s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--d, 0) * 75ms);
}
.js [data-bloom].in {
  opacity: 1;
  transform: none;
}

@keyframes chBloomLeaf {
  0% { transform: translateY(18px) rotate(-1.5deg); opacity: 0; }
  100% { transform: none; opacity: 1; }
}

.ch-hero__media img {
  animation: chKen 26s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion: reduce) {
  .js [data-bloom],
  .js [data-bloom].in,
  .ch-drawer__nav a,
  .ch-drawer__foot,
  .ch-drawer__phone {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .ch-hero__media img {
    animation: none !important;
  }
}
