html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
input, select, textarea, button {
  font-size: 16px;
  max-width: 100%;
}
input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 10px;
  min-height: 48px;
  font-size: 16px;
}
.brand, .store-brand, a.brand {
  font-family: var(--brand, var(--display), Georgia, serif) !important;
  font-weight: 650;
  line-height: 0.9;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  max-width: min(58vw, 14rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-sheet, .cart-sheet, .sheet {
  padding-bottom: max(18px, env(safe-area-inset-bottom));
}
.search-sheet,
.sheet.search-sheet,
.sheet.glass.search-sheet,
.glass.search-sheet {
  background: #F7F5F1 !important;
  background-image: none !important;
  color: #1B263B !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.search-sheet input,
.search-sheet input[type="search"] {
  background: #fff !important;
  color: #1B263B !important;
  border: 2px solid #1B263B !important;
}
.search-hit {
  min-height: 64px;
}
.search-hit .benefit {
  display: none !important;
}
#search-panel.open, #cart-panel.open, #drawer.open, .panel.open {
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
}
.dock {
  padding-bottom: env(safe-area-inset-bottom);
}
.btn, .icon-btn, .cart, a.btn, button.btn, .chip, .dock a, .dock button, .preview-chip, .burger {
  border-radius: 10px !important;
}
@media (max-width: 980px) {
  .layer { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .dock {
    display: grid !important;
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 60;
    grid-template-columns: 1fr 1fr 1fr;
    min-height: 56px;
    background: #fff !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 2px solid var(--ink, #1B263B);
  }
  .dock a, .dock button {
    min-height: 52px;
    font-size: 12px;
    font-weight: 800;
  }
  header.site, .ed-nav, .ls-nav-wrap, .cv-nav, .mt-rail {
    padding-top: env(safe-area-inset-top);
  }
  .burger, .icon-btn, .cart, .btn {
    min-height: 48px;
    min-width: 44px;
  }
  .search-sheet, .cart-sheet {
    width: 100% !important;
    max-height: 88dvh;
    grid-template-columns: 1fr !important;
  }
  .search-bar {
    flex-direction: column;
  }
  .search-bar input {
    width: 100%;
    min-height: 48px;
    font-size: 16px;
  }
  #open-search {
    display: none !important;
  }
  #search-panel.open {
    background: rgba(12, 14, 20, 0.78) !important;
    padding: 0 !important;
  }
  #search-panel .search-sheet {
    width: 100% !important;
    max-width: none !important;
    max-height: 100dvh !important;
    height: 100%;
    border-radius: 0 !important;
    padding: max(14px, env(safe-area-inset-top)) 16px calc(88px + env(safe-area-inset-bottom)) !important;
  }
}
@supports (padding: max(0px)) {
  .dock { bottom: max(10px, env(safe-area-inset-bottom)); }
}
@media (display-mode: standalone) {
  body { min-height: 100dvh; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

.cv-nav .brand,
.tx-top .brand,
.hy-nav .brand {
  font-size: clamp(1.05rem, 2.2vw, 1.35rem) !important;
}

@media (min-width: 641px) and (max-width: 980px) {
  .ls-chapters,
  .ls-trust,
  .cv-grid,
  .hy-stream,
  .tx-trays {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 980px) {
  html, body { overflow-x: hidden; }
  .ls-feature,
  .ls-mail,
  .ls-trust,
  .ls-chapters,
  .ed-scenes,
  .cv-drop,
  .cv-floor,
  .tx-object,
  .hy-decide,
  .hy-compare {
    grid-template-columns: 1fr !important;
  }
  .ls-feature,
  .ls-feature img,
  .ed-scene,
  .ed-scene img,
  .tx-object img,
  .hy-decide img {
    min-height: 0 !important;
    height: min(42vh, 280px) !important;
  }
  .ls-feature h1,
  .ed-scene h1,
  .hy-decide h1,
  .tx-object h1 {
    font-size: clamp(1.4rem, 7vw, 2rem) !important;
  }
  .ls-feature .lb-credit,
  .ls-story,
  .ls-cta,
  .ls-mail {
    padding: 16px 14px !important;
  }
  .btn, .btn.ghost {
    min-height: 44px;
  }
  .preview-chip {
    top: max(8px, env(safe-area-inset-top));
    right: 8px;
    font-size: 10px;
    padding: 6px 8px;
  }
}
