:root {
  --gs-yellow: #f6c700;
  --gs-black: #121516;
  --gs-ink: #202527;
  --gs-paper: #f2f2ee;
  --gs-line: #d1d3cf;
  /* Borde claro para tarjetas/cajas blancas sobre fondo claro (más sutil que
     --gs-line, pensado para no competir visualmente): unifica #dedfda/#dedfdb/#dcded9. */
  --gs-line-soft: #dcded9;
  /* Texto secundario: mismo tono gris que ya se usaba disperso en variaciones
     casi idénticas (#747a7c, #72787a, #777d7f...) por distintas secciones.
     Oscurecido ~10% respecto al original (#75797b): ese daba 3.92:1 sobre
     --gs-paper, por debajo del mínimo WCAG AA para texto normal (4.5:1). Este
     tono da 4.66:1 sobre --gs-paper y 5.23:1 sobre blanco — pasa en los dos
     fondos donde se usa, sin cambiar el tono gris que ya tenía el sitio. */
  --gs-muted: #696d6f;
  /* Texto de énfasis (más oscuro que el secundario, sin llegar al negro de --gs-ink):
     mismo criterio, unifica #4d5355/#4d5456. */
  --gs-emphasis: #4d5456;
  /* Superficie alterna al blanco/papel base, para secciones que necesitan distinguirse
     sutilmente: unifica #f0f1ed/#f1f2ee. */
  --gs-surface: #f0f1ed;
  /* Curva de easing compartida para hovers y micro-transiciones: misma duración
     que ya usaba cada elemento, solo una aceleración/desaceleración más suave. */
  --gs-ease: cubic-bezier(.4, 0, .2, 1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--gs-ink);
  background: var(--gs-paper);
  font-family: "Manrope",sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
}
.gs-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 96px;
  padding: 0 max(36px,4.2vw);
  border-bottom: 1px solid rgba(255,255,255,.18);
  color: #fff;
}
.gs-header--solid {
  position: relative;
  color: #fff;
  background: var(--gs-black);
}
.gs-logo {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #fff;
}
.gs-logo img {
  width: 72px;
  height: 52px;
  object-fit: contain;
}
.gs-logo span {
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .18em;
}
.gs-header nav {
  display: flex;
  gap: 34px;
}
.gs-header nav a {
  position: relative;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.gs-header nav a:after {
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 2px;
  background: var(--gs-yellow);
  content: "";
  transition: width .25s var(--gs-ease);
}
.gs-header nav a:hover:after {
  width: 100%;
}
.gs-contact {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.gs-contact b {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  color: var(--gs-black);
  background: var(--gs-yellow);
}
.gs-hero {
  position: relative;
  min-height: 900px;
  overflow: hidden;
  color: #fff;
  /* Fondo real: Admin > Inicio (contenido_bloque_imagenes, rol "fondo"), aplicado
     inline por templates/Paginas/inicio.php. Sin ella, solo el degradado. */
  background: linear-gradient(110deg,#111516 54%,#282f31);
}
.gs-hero:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65));
  content: "";
}
.gs-lines {
  position: absolute;
  inset: 0;
  opacity: .11;
  background-image: linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);
  background-size: 82px 82px;
  mask-image: linear-gradient(90deg,#000,transparent 82%);
}
.gs-hero__copy {
  position: relative;
  z-index: 3;
  width: min(1480px,calc(100% - 80px));
  margin: auto;
  padding-top: 190px;
}
.gs-hero__copy>p,
.gs-heading>p,
.gs-capacity>div>p,
.gs-cta>p,
.gs-brand-features>div>p,
.gs-other>p {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 27px;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .18em;
}
.gs-hero__copy>p i {
  display: block;
  width: 34px;
  height: 2px;
  background: var(--gs-yellow);
}
.gs-hero h1 {
  margin: 0;
  font: 700 clamp(78px,8.4vw,145px)/.76 "Barlow Condensed",sans-serif;
  letter-spacing: -.045em;
  text-transform: uppercase;
}
.gs-hero h1 em {
  color: var(--gs-yellow);
  font-style: normal;
}
.gs-hero__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  max-width: 810px;
  margin-top: 40px;
}
.gs-hero__bottom>span {
  max-width: 610px;
  color: rgba(255,255,255,.65);
  font-size: 22px;
  line-height: 1.7;
}
.gs-hero__bottom>a {
  flex: 0 0 auto;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--gs-yellow);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.gs-hero__products {
  position: absolute;
  z-index: 4;
  right: 3vw;
  bottom: 78px;
  width: 38%;
  height: 650px;
}
.gs-hero__products>span {
  position: absolute;
  right: 4%;
  bottom: 30px;
  width: 410px;
  aspect-ratio: 1;
  border: 1px solid rgba(246,199,0,.42);
  border-radius: 50%;
  box-shadow: 0 0 0 50px rgba(246,199,0,.04),0 0 0 100px rgba(246,199,0,.025);
}
.gs-hero__products img {
  position: absolute;
  bottom: 30px;
  object-fit: contain;
  filter: drop-shadow(0 35px 32px rgba(0,0,0,.56));
}
.gs-hero__products .p1 {
  z-index: 3;
  right: 22%;
  width: 250px;
}
.gs-hero__products .p2 {
  z-index: 2;
  right: 58%;
  width: 185px;
}
.gs-hero__products .p3 {
  z-index: 1;
  right: -3%;
  width: 175px;
}
.gs-hero__rail {
  position: absolute;
  z-index: 5;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 86px;
  padding: 0 max(40px,5vw);
  border-top: 1px solid rgba(255,255,255,.18);
  background: rgba(10,12,13,.42);
  backdrop-filter: blur(12px);
}
.gs-hero__rail b {
  margin-right: 11px;
  color: var(--gs-yellow);
  font: 600 23px/1 "Barlow Condensed";
}
.gs-hero__rail span {
  margin-right: 46px;
  color: rgba(255,255,255,.65);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.gs-solutions,
.gs-brands,
.gs-capacity,
.gs-brand-features,
.gs-other {
  padding: 120px max(40px,5vw);
}
.gs-heading {
  display: grid;
  grid-template-columns: 1.1fr minmax(280px,.55fr);
  align-items: end;
  gap: 70px;
  margin-bottom: 55px;
}
.gs-heading>p {
  grid-column: 1/-1;
  margin-bottom: -33px;
  color: var(--gs-muted);
}
.gs-heading h2,
.gs-capacity h2,
.gs-cta h2,
.gs-brand-features h2 {
  margin: 0;
  font: 700 clamp(62px,6vw,102px)/.83 "Barlow Condensed",sans-serif;
  letter-spacing: -.035em;
}
.gs-heading>span {
  color: var(--gs-muted);
  font-size: 21px;
  line-height: 1.75;
}
/* Promociones / Ofertas: franjas cortas de productos elegidos a mano (Admin > Inicio),
   en un carril que se desliza horizontalmente en vez de una grilla cuando hay varios.
   Misma tarjeta que el catálogo (sin descripción, ver product_card.php). Fondo oscuro
   a propósito: entre dos secciones que también son oscuras (Marcas, Capacidad), no
   suma otra franja más al tono claro por defecto del resto de la página, y la
   tarjeta blanca del producto queda mucho más presente sobre ese fondo. */
.gs-featured-strip {
  padding: 100px max(40px,5vw);
  color: #fff;
  background: var(--gs-black);
}
.gs-featured-strip__empty {
  padding: 50px max(40px,5vw);
  border: 1px dashed rgba(255,255,255,.22);
  text-align: center;
}
.gs-featured-strip__empty p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 17px;
}
.gs-scroller {
  margin: 0 calc(max(40px,5vw) * -1);
  padding: 0 max(40px,5vw);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.gs-scroller__track {
  display: flex;
  gap: 16px;
  padding-bottom: 10px;
  scroll-snap-type: x proximity;
}
.gs-scroller__track .gs-product-card {
  flex: 0 0 clamp(260px,26vw,320px);
  scroll-snap-align: start;
}
.gs-solution-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.gs-solution-grid article {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: #111;
}
.gs-solution-grid article:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 38%,rgba(0,0,0,.85));
  content: "";
}
.gs-solution-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s var(--gs-ease);
}
.gs-solution-grid article:hover img {
  transform: scale(1.06);
}
.gs-solution-grid__copy {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 25px;
  bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #fff;
}
.gs-solution-grid small {
  color: var(--gs-yellow);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}
.gs-solution-grid h3 {
  margin: 0;
  font: 600 clamp(28px,3.4vw,41px)/1.08 "Barlow Condensed";
  text-transform: uppercase;
}
.gs-brands {
  color: #fff;
  background: var(--gs-black);
}
.gs-heading--dark>p {
  color: rgba(255,255,255,.5);
}
.gs-heading--dark>span {
  color: rgba(255,255,255,.57);
}
.gs-brand-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid rgba(255,255,255,.14);
  border-left: 1px solid rgba(255,255,255,.14);
}
.gs-brand-grid>a {
  position: relative;
  display: flex;
  min-height: 255px;
  padding: 25px;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  overflow: hidden;
}
.gs-brand-grid>a:after {
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: var(--accent);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--gs-ease);
}
.gs-brand-grid>a:hover:after {
  transform: scaleX(1);
}
.gs-brand-grid>a>span {
  position: absolute;
  top: 22px;
  left: 22px;
  color: rgba(255,255,255,.35);
  font: 600 18px/1 "Barlow Condensed";
}
.gs-brand-grid img {
  width: 180px;
  height: 92px;
  object-fit: contain;
  filter: grayscale(1) brightness(1.8);
  opacity: .74;
  transition: filter .3s var(--gs-ease), opacity .3s var(--gs-ease), transform .3s var(--gs-ease);
}
.gs-brand-grid>a:hover img {
  filter: none;
  opacity: 1;
  transform: scale(1.05);
}
.gs-brand-grid p {
  position: absolute;
  left: 23px;
  bottom: 18px;
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.gs-brand-grid b {
  position: absolute;
  right: 23px;
  bottom: 18px;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.gs-capacity {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  color: #fff;
  background: #272c2e;
}
.gs-capacity>div>p {
  color: var(--gs-yellow);
}
.gs-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  align-self: end;
  border-top: 1px solid rgba(255,255,255,.16);
}
.gs-stats article {
  padding: 28px 15px 0 0;
}
.gs-stats strong {
  display: block;
  margin-bottom: 8px;
  color: var(--gs-yellow);
  font: 700 58px/1 "Barlow Condensed";
}
.gs-stats span {
  color: rgba(255,255,255,.54);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.gs-cta {
  padding: 110px 5vw 130px;
  text-align: center;
  background: var(--gs-yellow);
}
.gs-cta>p {
  justify-content: center;
  color: rgba(18,21,22,.62);
}
.gs-cta h2 {
  font-size: clamp(76px,9vw,150px);
}
.gs-cta>a {
  display: inline-flex;
  margin-top: 30px;
  padding: 20px 27px;
  color: #fff;
  background: var(--gs-black);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.gs-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 45px max(40px,5vw) 100px;
  color: rgba(255,255,255,.48);
  background: #0d1011;
  font-size: 14px;
}
.gs-footer__brand {
  display: flex;
  align-items: center;
  gap: 18px;
}
.gs-footer img {
  width: 75px;
  height: 55px;
  object-fit: contain;
}
.gs-footer p {
  margin: 0;
}
.gs-brand-hero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  min-height: 760px;
  background: #171a1b;
}
.gs-brand-hero__image {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  background: #171a1b;
}
.gs-brand-hero__image:after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.52));
  content: "";
}
.gs-brand-hero__image>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Centrado a propósito: recomendación es componer la foto con el sujeto
     centrado. Un pequeño zoom centrado nunca lo pierde de vista, a
     diferencia de anclar a un lado (se cortaba según cada foto). */
  object-position: center;
}
.gs-brand-hero__image>span {
  position: absolute;
  z-index: 2;
  left: 42px;
  bottom: 35px;
  color: #fff;
  font: 600 28px/1 "Barlow Condensed";
  letter-spacing: .1em;
}
.gs-brand-hero__copy {
  display: flex;
  flex-direction: column;
  /* Alineado arriba a propósito (no centrado): centrar podía arrancar el
     bloque detrás del header fijo (96px) cuando el texto era más alto de lo
     normal. Con esto el punto de partida es siempre el mismo, sin depender
     de cuánto texto tenga cada marca. */
  justify-content: flex-start;
  padding: 148px clamp(42px,6vw,100px) 80px;
  color: #fff;
}
.gs-brand-hero__copy>p {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 34px;
  color: rgba(255,255,255,.56);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.gs-brand-hero__copy>p i {
  width: 30px;
  height: 2px;
  background: var(--brand-accent);
}
.gs-brand-hero__copy>img {
  width: min(250px,72%);
  height: 120px;
  object-fit: contain;
  object-position: left center;
}
.gs-brand-hero__copy h1 {
  margin: 33px 0 22px;
  font: 600 clamp(56px,5.2vw,92px)/.88 "Barlow Condensed";
  text-transform: uppercase;
  letter-spacing: -.035em;
}
.gs-brand-hero__copy>span {
  max-width: 650px;
  color: rgba(255,255,255,.61);
  font-size: 21px;
  line-height: 1.75;
}
.gs-brand-hero__copy>div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 35px;
}
.gs-brand-hero__copy>div a {
  padding: 17px 22px;
  border: 1px solid rgba(255,255,255,.22);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.gs-brand-hero__copy>div a:first-child {
  color: #111;
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}
.gs-brand-features {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
}
.gs-brand-features>div>p {
  color: var(--gs-muted);
}
.gs-brand-features>div:last-child {
  border-top: 1px solid var(--gs-line);
}
.gs-brand-features article {
  display: grid;
  grid-template-columns: 60px 1fr 1fr;
  gap: 25px;
  padding: 28px 0;
  border-bottom: 1px solid var(--gs-line);
}
.gs-brand-features article>span {
  color: var(--brand-accent);
  font: 600 26px/1 "Barlow Condensed";
}
.gs-brand-features h3 {
  margin: 0;
  font: 600 32px/1 "Barlow Condensed";
  text-transform: uppercase;
}
.gs-brand-features article p {
  margin: 0;
  color: var(--gs-muted);
  font-size: 16px;
  line-height: 1.65;
}
.gs-brand-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 700px;
  color: #fff;
  background: var(--gs-black);
}
.gs-brand-gallery>div:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gs-brand-gallery__statement {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 7vw;
  overflow: hidden;
}
.gs-brand-gallery__statement>p {
  margin: 0 0 18px;
  color: var(--brand-accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .17em;
}
.gs-brand-gallery__statement h2 {
  position: relative;
  z-index: 2;
  max-width: 650px;
  margin: 0;
  font: 600 clamp(60px,6vw,105px)/.84 "Barlow Condensed";
  text-transform: uppercase;
}
.gs-brand-gallery__statement>img {
  position: absolute;
  z-index: 1;
  right: 5%;
  bottom: 6%;
  width: 36%;
  height: 38%;
  object-fit: contain;
  opacity: .23;
  filter: grayscale(1);
}
.gs-other>p {
  color: var(--gs-muted);
}
.gs-other>div {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  border-top: 1px solid var(--gs-line);
  border-left: 1px solid var(--gs-line);
}
.gs-other a {
  position: relative;
  display: grid;
  min-height: 150px;
  padding: 18px;
  place-items: center;
  border-right: 1px solid var(--gs-line);
  border-bottom: 1px solid var(--gs-line);
  background: rgba(255,255,255,.32);
}
.gs-other a.is-current {
  box-shadow: inset 0 -4px var(--brand-accent);
}
.gs-other img {
  width: 120px;
  height: 62px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .62;
}
.gs-other a:hover img,
.gs-other a.is-current img {
  filter: none;
  opacity: 1;
}
.gs-other a span {
  position: absolute;
  right: 12px;
  bottom: 9px;
  font-size: 16px;
}
@media (max-width: 1080px) {
  .gs-header nav {
    display: none;
  }
  .gs-hero__products {
    right: -7vw;
    width: 50%;
    opacity: .67;
  }
  .gs-heading,
  .gs-capacity,
  .gs-brand-features {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .gs-brand-grid {
    grid-template-columns: repeat(2,1fr);
  }
  .gs-brand-hero {
    grid-template-columns: 1fr;
  }
  .gs-brand-hero__image {
    min-height: 520px;
  }
  .gs-brand-features>div:last-child {
    margin-top: 20px;
  }
  .gs-other>div {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width: 720px) {
  .gs-header {
    min-height: 80px;
    padding: 0 18px;
  }
  .gs-logo img {
    width: 58px;
  }
  .gs-logo span,
  .gs-contact {
    display: none;
  }
  .gs-hero {
    min-height: 820px;
  }
  .gs-hero__copy {
    width: calc(100% - 28px);
    padding-top: 155px;
  }
  .gs-hero h1 {
    font-size: clamp(62px,17.5vw,82px);
  }
  .gs-hero__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .gs-hero__products {
    right: -100px;
    bottom: 80px;
    width: 430px;
    height: 420px;
    opacity: .44;
  }
  .gs-hero__products>span {
    display: none;
  }
  .gs-hero__products .p1 {
    right: 30%;
    width: 160px;
  }
  .gs-hero__products .p2 {
    right: 58%;
    width: 125px;
  }
  .gs-hero__products .p3 {
    right: 5%;
    width: 120px;
  }
  .gs-hero__rail {
    height: 74px;
    padding: 0 12px;
  }
  .gs-hero__rail b {
    font-size: 18px;
  }
  .gs-hero__rail span {
    margin-right: 15px;
    font-size: 8px;
  }
  .gs-solutions,
  .gs-brands,
  .gs-capacity,
  .gs-brand-features,
  .gs-other,
  .gs-featured-strip {
    padding: 60px 20px;
  }
  .gs-scroller {
    margin: 0 -20px;
    padding: 0 20px;
  }
  .gs-scroller__track .gs-product-card {
    flex-basis: 78vw;
  }
  .gs-heading {
    margin-bottom: 38px;
  }
  .gs-heading>p {
    margin-bottom: 0;
  }
  .gs-heading h2,
  .gs-capacity h2,
  .gs-brand-features h2 {
    font-size: clamp(57px,18vw,76px);
  }
  .gs-solution-grid {
    display: flex;
    grid-template-columns: none;
    gap: 14px;
    margin: 0 -20px;
    padding: 0 20px 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .gs-solution-grid article {
    flex: 0 0 78vw;
    min-height: 430px;
    scroll-snap-align: start;
  }
  .gs-brand-grid {
    display: flex;
    grid-template-columns: none;
    margin: 0 -20px;
    padding: 0 20px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    border-top: 0;
    border-left: 0;
  }
  .gs-brand-grid>a {
    flex: 0 0 58vw;
    min-height: 210px;
    padding: 20px;
    scroll-snap-align: start;
    border: 1px solid rgba(255,255,255,.14);
  }
  .gs-capacity {
    gap: 55px;
  }
  .gs-stats {
    grid-template-columns: 1fr;
  }
  .gs-stats article {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .gs-cta {
    padding: 80px 18px 110px;
  }
  .gs-cta h2 {
    font-size: clamp(68px,22vw,100px);
  }
  .gs-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 38px 20px 105px;
  }
  .gs-brand-hero__image {
    min-height: 400px;
  }
  .gs-brand-hero__copy {
    padding: 65px 22px 75px;
  }
  .gs-brand-hero__copy h1 {
    font-size: clamp(58px,18vw,82px);
  }
  .gs-brand-features article {
    grid-template-columns: 45px 1fr;
  }
  .gs-brand-features article p {
    grid-column: 2;
  }
  .gs-brand-gallery {
    grid-template-columns: 1fr;
  }
  .gs-brand-gallery>div:first-child {
    height: 410px;
  }
  .gs-brand-gallery__statement {
    min-height: 520px;
    padding: 65px 22px;
  }
  .gs-other>div {
    grid-template-columns: repeat(2,1fr);
  }
  .gs-other a {
    min-height: 120px;
  }
  .gs-other img {
    width: 90px;
  }
}
