/* ==========================================================================
   ABMedia — hoja de estilos base
   Sustituye la dependencia externa. Maquetación propia sobre los tokens
   definidos en :root (ver <style> del documento).
   ========================================================================== */

/* --------------------------------------------------------- reset y base -- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: 'Figtree', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--ink);
  background-color: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, p, figure, blockquote { margin: 0; }
ul, ol { margin: 0; padding: 0; }
img, svg, video { display: block; max-width: 100%; }
img { border: 0; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }

/* -------------------------------------------- utilidades del exportador -- */
/* Equivalentes genéricos para que el marcado exportado siga maquetando. */
.w-inline-block { display: inline-block; max-width: 100%; }
.w-container { max-width: 940px; margin-left: auto; margin-right: auto; }
.w-container::after { content: ""; display: table; clear: both; }
.w-layout-blockcontainer { display: block; max-width: 940px; margin-left: auto; margin-right: auto; }
.w-layout-grid { display: grid; grid-auto-columns: 1fr; grid-row-gap: 16px; grid-column-gap: 16px; }
.w-dyn-list, .w-dyn-items, .w-dyn-item { display: block; }
.w-embed::after { content: ""; display: table; clear: both; }
.w-embed, .w-script { display: block; }

/* ------------------------------------------------------------ contenedores */
.container-55 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
}
.container-59,
.container-large-3,
.container-xlarge,
.container-regular {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.padding-global-2,
.padding-global-3 { padding-left: 40px; padding-right: 40px; }
.padding-section-small { padding-top: 56px; padding-bottom: 56px; }
.overflow { overflow: hidden; }

/* ------------------------------------------------------------------ hero -- */
.hero-content.bottom {
  position: relative;
  z-index: 100;
  width: 100%;
  padding: 140px 40px 90px;
  text-align: center;
}
.wrap-v-small.align-v-l {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.nav_logo { height: 44px; width: auto; }

.heading-82.gca.large {
  font-weight: 800;
  font-size: clamp(32px, 4.6vw, 62px);
  line-height: 1.06;
  letter-spacing: -.025em;
  color: var(--ink);
  max-width: 20ch;
  margin: 0 auto;
}
.paragraph-regular.max-width-x-small {
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 56ch;
  margin: 0 auto;
}

/* botón principal */
.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 42px;
  border-radius: 999px;
  background: var(--grad);
  color: #FFFFFF;
  font-weight: 700;
  transition: transform .2s ease, filter .2s ease;
}
.cta-button:hover { transform: translateY(-1px); filter: brightness(1.07); }
.cta-button.padding-small { padding: 12px 28px; }
.text-block-34 { font-weight: 700; font-size: 16px; }
.text-block-34.small { font-size: 15px; }
.big-cta-svg-embed { display: inline-flex; align-items: center; }
.big-cta-svg-embed svg { width: 16px; height: 16px; }

/* luces decorativas heredadas: se anulan, el fondo lo pinta .container-55 */
.home-lights, .card2, .spotlight { display: none; }

/* ------------------------------------------------- títulos de sección ---- */
.heading-86 {
  font-weight: 800;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--ink);
  text-align: center;
  margin-bottom: 34px;
}
.heading-medium,
.heading-medium._2 {
  font-weight: 800;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--ink);
}
.heading-style-h5 {
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  color: var(--ink-soft);
}

/* ------------------------------------------------- carrusel de creadores -- */
.marquee-wrapper.hide-dmobile {
  position: relative;
  width: 100%;
  height: 414px;
  overflow: hidden;
}
.marquee-track {
  position: absolute;
  display: flex;
  white-space: nowrap;
  will-change: transform;
}
.marquee-list { display: flex; gap: 24px; padding-right: 24px; }

.marquee-item {
  flex: 0 0 auto;
  width: 300px;
}
.marquee-image { position: relative; }
.gf-cs-link._2 {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  background: var(--surface);
}
.gf-slide-img.roundded {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  display: block;
}

/* superposición con nombre y redes */
.slidertxts-icon.gca {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 20px 16px 16px;
  text-align: center;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.82) 62%);
}
.creator-name._2 {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  text-transform: uppercase;
  color: #FFFFFF;
  margin-bottom: 10px;
}
.slidesociallinkc {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.sociallinks {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.social-icon { width: 15px; height: 15px; object-fit: contain; }
.followers.inside.gca {
  font-size: 13px;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
}
.div-block-133 { display: none; }

/* variante móvil del carrusel */
.collection-list-wrapper-4 { display: none; }
.marquee-item.mobile { width: 240px; }
.gf-slide-img.roundded.mobile { aspect-ratio: 2 / 3; }

/* --------------------------------------------------------------- marcas -- */
.section_marquee { padding: 90px 0 40px; }
.inner_wrapper-flex-2 { position: relative; }
.home-logo-wrapper.hidde-mobile {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 16px;
  overflow: hidden;
}
.clients-grid { display: flex; align-items: center; }
.clients-grid-mobile.hide-desktop { display: none; }
.home-logo-left-gradient {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.home-logo-left-gradient.right { left: auto; right: 0; }

/* --------------------------------------------------------------- cifras -- */
.section_about { padding: 90px 0; }
.section_about.is-full { width: 100%; }
.div-block-134._2 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 56px;
}
.section-header._2._3 { max-width: 620px; }

.about_component { width: 100%; }
.about_number-component-2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.about_number-wrapper {
  position: relative;
  padding: 34px 28px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  overflow: hidden;
}
.about_number-content-wrapper { margin-bottom: 10px; }
.number-plus,
.number-count_text {
  font-weight: 800;
  font-size: clamp(34px, 4.4vw, 54px);
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--ink);
}
.text-span-17 { color: var(--ink); }
.text-color-white-linear { color: var(--ink); }
.feature-line { display: none; }

/* ---------------------------------------------------------- utilidades --- */
.hide { display: none !important; }
.none { display: none; }

@media only screen and (max-width: 991px) {
  .padding-global-2, .padding-global-3 { padding-left: 24px; padding-right: 24px; }
  .hero-content.bottom { padding: 110px 24px 70px; }
  .about_number-component-2 { grid-template-columns: repeat(2, 1fr); }
  .marquee-wrapper.hide-dmobile { height: 360px; }
  .marquee-item { width: 250px; }
}

@media only screen and (max-width: 767px) {
  .padding-global-2, .padding-global-3 { padding-left: 20px; padding-right: 20px; }
  .hero-content.bottom { padding: 96px 20px 60px; }
  .section_marquee { padding: 64px 0 30px; }
  .section_about { padding: 64px 0; }
  .about_number-component-2 { grid-template-columns: 1fr; }
  .div-block-134._2 { flex-direction: column; align-items: flex-start; }
  .hide-mobile { display: none !important; }
  .mobile-none { display: none; }
  .marquee-wrapper.hide-dmobile { height: 330px; }
  .marquee-item { width: 220px; }
  .creator-name._2 { font-size: 16px; }
  .followers.inside.gca { font-size: 12px; }
}
