/* =========================
   BRAND MARQUEE — 5 ROWS (Bicester-inspired)
   Runway-clean, closest-legal typography
========================= */

.brand-marquee-3{
  margin: 3.4rem 0 2.2rem;
}

.brand-marquee-heading{
  text-align: center;
  margin: 0 0 1.25rem;
}

.brand-marquee-heading span{
  font-family: "Inter", sans-serif;
  font-size: .75rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
}

/* Row container */
.brand-marquee-3 .marquee-row{
  position: relative;
  overflow: hidden;
  padding: .65rem 0;
}

/* subtle edge fade */
.brand-marquee-3 .marquee-row::before,
.brand-marquee-3 .marquee-row::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 92px;
  z-index: 2;
  pointer-events: none;
}

.brand-marquee-3 .marquee-row::before{
  left: 0;
  background: linear-gradient(to right, rgba(247,241,235,1), rgba(247,241,235,0));
}
.brand-marquee-3 .marquee-row::after{
  right: 0;
  background: linear-gradient(to left, rgba(247,241,235,1), rgba(247,241,235,0));
}

/* Track */
.brand-marquee-3 .marquee-track{
  display: inline-flex;
  width: max-content;
  will-change: transform;
  animation: marqueeMove 42s linear infinite;
}

.brand-marquee-3 .row-2 .marquee-track{
  animation-duration: 58s;
}

.brand-marquee-3 .row-3 .marquee-track{
  animation-duration: 50s;
}

.brand-marquee-3 .row-4 .marquee-track{
  animation-duration: 66s;
}

.brand-marquee-3 .row-5 .marquee-track{
  animation-duration: 56s;
}

.brand-marquee-3 .marquee-track.reverse{
  animation-direction: reverse;
}

/* Pause on hover (desktop) */
@media (hover:hover){
  .brand-marquee-3:hover .marquee-track{
    animation-play-state: paused;
  }
}

/* group */
.brand-marquee-3 .marquee-group{
  display: inline-flex;
  align-items: center;
  gap: 2.25rem;
  padding-right: 2.25rem;
  white-space: nowrap;
}

.brand-marquee-3 .brand-item{
  /* Premium defaults (brand-safe): crisp kerning + runway-like tracking */
  font-size: 1.86rem;
  line-height: 1;
  text-transform: uppercase;
  opacity: .92;
  letter-spacing: .12em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-optical-sizing: auto;
  font-synthesis: none;
  font-feature-settings: "kern" 1, "liga" 1, "clig" 1;
}

/* Motion */
@keyframes marqueeMove{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Typography worlds (brand-safe; tuned via classes) */
.b-didot-thin{
  font-family:"GFS Didot","Libre Bodoni","Bodoni Moda",serif;
  font-weight:400;
  letter-spacing:.20em;
  font-size: 1.92rem;
}

.b-didot-bold{
  font-family:"GFS Didot","Libre Bodoni","Bodoni Moda",serif;
  font-weight:700;
  letter-spacing:.16em;
  font-size: 1.90rem;
}

.b-bodoni{
  font-family:"Bodoni Moda","Libre Bodoni","GFS Didot",serif;
  font-weight:600;
  letter-spacing:.12em;
  font-size: 1.84rem;
}

.b-roman{
  font-family:"Cinzel","GFS Didot",serif;
  font-weight:500;
  letter-spacing:.24em;
  font-size: 1.86rem;
}

.b-grotesk{
  font-family:"Inter","Space Grotesk",sans-serif;
  font-weight:600;
  letter-spacing:.24em;
  font-size: 1.66rem;
}

.b-geo{
  font-family:"Space Grotesk","Inter",sans-serif;
  font-weight:700;
  letter-spacing:.16em;
  font-size: 1.62rem;
}

.b-street{
  font-family:"Montserrat","Space Grotesk",sans-serif;
  font-weight:800;
  letter-spacing:.10em;
  font-size: 1.58rem;
  text-transform: uppercase;
}

.b-utility{
  font-family:"Inter","Space Grotesk",sans-serif;
  font-weight:700;
  letter-spacing:.14em;
  font-size: 1.56rem;
}

/* Micro tuners (optional) */
.bt-tight{ letter-spacing:.06em; }
.bt-wide{ letter-spacing:.26em; }
.bt-ultrawide{ letter-spacing:.34em; }
.bt-ultratight{ letter-spacing:.02em; }
.bt-condense{ transform: scaleX(.94); transform-origin: left center; }
.bt-expand{ transform: scaleX(1.04); transform-origin: left center; }
.bt-slim{ font-weight:500; }
.bt-heavy{ font-weight:800; }

/* Responsive tuning */
@media (max-width: 680px){
  .brand-marquee-3{ margin: 2.6rem 0 1.6rem; }
  .brand-marquee-3 .brand-item{ font-size: 1.35rem; }
  .b-grotesk{ font-size: 1.22rem; letter-spacing: .18em; }
  .b-geo{ font-size: 1.18rem; }
  .b-street{ font-size: 1.15rem; }
  .b-utility{ font-size: 1.15rem; }
  .brand-marquee-3 .marquee-row::before,
  .brand-marquee-3 .marquee-row::after{ width: 54px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .brand-marquee-3 .marquee-track{
    animation: none !important;
    transform: translateX(0) !important;
  }
}
