.hero-brand-image-wrap {
  width: min(760px, 92vw);
  margin-inline: 0;
}
.hero-brand-image {
  display: block;
  width: 100%;
  max-height: clamp(130px, 25vw, 300px);
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 12px 32px rgba(15, 24, 40, .46));
}

.gallery-carousel-shell {
  position: relative;
  display: grid;
  grid-template-columns: clamp(46px, 5vw, 66px) minmax(0, 1fr) clamp(46px, 5vw, 66px);
  align-items: center;
  gap: clamp(.4rem, 1.2vw, 1rem);
  width: min(1480px, 100%);
  margin: 2.5rem auto 0;
}
.gallery-carousel-shell .gallery-strip {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: clamp(24rem, 44vw, 34rem) !important;
  margin: 0 !important;
  padding: 1.25rem max(7vw, calc((100% - min(68vw, 860px)) / 2)) 1.75rem !important;
  gap: clamp(.8rem, 1.8vw, 1.35rem) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  touch-action: pan-x;
  cursor: grab;
}
.gallery-carousel-shell .gallery-strip:active { cursor: grabbing; }
.gallery-carousel-shell .gallery-strip::-webkit-scrollbar { display: none; }
.gallery-carousel-shell .gallery-tile {
  flex: 0 0 min(68vw, 860px) !important;
  width: min(68vw, 860px);
  height: 100%;
  margin: 0 !important;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  border: 1px solid rgba(244, 239, 230, .13);
  opacity: .54;
  transform: scale(.9);
  transition: transform 520ms cubic-bezier(.16, 1, .3, 1), opacity 420ms ease, border-color 420ms ease !important;
}
.gallery-carousel-shell .gallery-tile:hover { flex-grow: 0 !important; }
.gallery-carousel-shell .gallery-tile.is-active {
  opacity: 1;
  transform: scale(1);
  border-color: rgba(212, 168, 87, .56);
}
.gallery-carousel-shell .gallery-tile:not(.is-active) img { filter: saturate(.65) brightness(.62); }
.gallery-carousel-shell .gallery-tile.is-active img { filter: contrast(1.05) saturate(1) brightness(.96); }
.gallery-carousel-shell .gallery-tile-meta { opacity: 1; transform: none; }
.gallery-arrow {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
  width: clamp(42px, 4.5vw, 58px);
  height: clamp(42px, 4.5vw, 58px);
  margin: auto;
  border: 1px solid rgba(244, 239, 230, .22);
  border-radius: 999px;
  color: var(--cream);
  background: rgba(15, 24, 40, .84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 15px 36px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
  cursor: pointer;
  transition: transform .28s cubic-bezier(.16,1,.3,1), background .28s, border-color .28s;
}
.gallery-arrow:hover { transform: scale(1.06); background: var(--sang); border-color: var(--sang); }
.gallery-arrow:active { transform: scale(.96); }
.gallery-arrow:disabled { opacity: .25; cursor: default; transform: none; }
.gallery-arrow svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.gallery-swipe-hint {
  grid-column: 2;
  justify-self: center;
  margin-top: -.65rem;
  color: rgba(244,239,230,.56);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.custom-content-section:empty,
.custom-content-section:has(.custom-content-list:empty) { display: none; }
.custom-content-section {
  padding: 5rem 1.5rem;
  color: var(--ink);
  background: var(--cream);
  border-top: 1px solid rgba(15,24,40,.12);
}
.custom-content-list { width: min(960px, 100%); margin: 0 auto; display: grid; gap: 2rem; }
.custom-text-block { font-size: 1.05rem; line-height: 1.75; }
.custom-text-block h2, .custom-text-block h3 { font-family: 'Fraunces', serif; line-height: 1.15; margin: 0 0 1rem; }
.custom-text-block a { color: var(--sang); text-decoration: underline; }

.footer-partners { display: flex; align-items: center; justify-content: center; gap: 1.25rem; flex-wrap: wrap; }
.footer-partners a { display: grid; place-items: center; min-height: 54px; padding: .55rem .8rem; border: 1px solid rgba(244,239,230,.12); border-radius: 10px; transition: border-color .3s, transform .3s; }
.footer-partners a:hover { transform: translateY(-2px); border-color: rgba(212,168,87,.55); }
.footer-partners img { display: block; width: auto; max-width: 155px; max-height: 48px; object-fit: contain; }

@media (max-width: 767px) {
  .hero-brand-image-wrap { width: min(94vw, 600px); margin-inline: auto; }
  .hero-brand-image { object-position: center; }
  .gallery-carousel-shell { grid-template-columns: 1fr; }
  .gallery-carousel-shell .gallery-strip {
    grid-column: 1;
    height: 27rem !important;
    padding-inline: 11vw !important;
  }
  .gallery-carousel-shell .gallery-tile { flex-basis: 78vw !important; width: 78vw; }
  .gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); }
  .gallery-arrow:hover { transform: translateY(-50%) scale(1.04); }
  .gallery-arrow:active { transform: translateY(-50%) scale(.95); }
  .gallery-arrow-prev { left: .7rem; }
  .gallery-arrow-next { right: .7rem; }
  .gallery-swipe-hint { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-carousel-shell .gallery-strip { scroll-behavior: auto; }
  .gallery-carousel-shell .gallery-tile, .gallery-arrow { transition: none !important; }
}
