/* General */
:root {
  --colorsite: #000;
  --colorwhite: #fff;
  --colorpink: #fa3c92;
}
/*@font-face {
    font-family: 'helveneubol';
    src: url('fonts/helveneubol-webfont.eot');
    src: url('fonts/helveneubol-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/helveneubol-webfont.woff') format('woff'),
         url('fonts/helveneubol-webfont.ttf') format('truetype'),
         url('fonts/helveneubol-webfont.svg#helveneubol') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'helveneuhea';
    src: url('fonts/helveneuhea-webfont.eot');
    src: url('fonts/helveneuhea-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/helveneuhea-webfont.woff') format('woff'),
         url('fonts/helveneuhea-webfont.ttf') format('truetype'),
         url('fonts/helveneuhea-webfont.svg#helveneuhea') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'helveneulig';
    src: url('fonts/helveneulig-webfont.eot');
    src: url('fonts/helveneulig-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/helveneulig-webfont.woff') format('woff'),
         url('fonts/helveneulig-webfont.ttf') format('truetype'),
         url('fonts/helveneulig-webfont.svg#helveneulig') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'helveneumed';
    src: url('fonts/helveneumed-webfont.eot');
    src: url('fonts/helveneumed-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/helveneumed-webfont.woff') format('woff'),
         url('fonts/helveneumed-webfont.ttf') format('truetype'),
         url('fonts/helveneumed-webfont.svg#helveneumed') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'helveneurom';
    src: url('fonts/helveneurom-webfont.eot');
    src: url('fonts/helveneurom-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/helveneurom-webfont.woff') format('woff'),
         url('fonts/helveneurom-webfont.ttf') format('truetype'),
         url('fonts/helveneurom-webfont.svg#helveneurom') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'neue-fad';
    font-display: auto;
    src: url('fonts/NeueHaasDisplayBlack.ttf');
}
@font-face {
    font-family: 'helv-fad';
    font-display: auto;
    src: url('fonts/NHaasGroteskDSPro-55Rg.ttf');
}*/

@font-face {
  font-family: "NeueHaasGroteskDispPro";
  src: url("fonts/NHaasGroteskDSPro-45Lt.eot");
  src: url("fonts/NHaasGroteskDSPro-45Lt.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/NHaasGroteskDSPro-45Lt.woff2") format("woff2"),
    url("fonts/NHaasGroteskDSPro-45Lt.woff") format("woff"),
    url("fonts/NHaasGroteskDSPro-45Lt.ttf") format("truetype"),
    url("fonts/NHaasGroteskDSPro-45Lt.svg#NHaasGroteskDSPro-45Lt") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NeueHaasGroteskDispPro";
  src: url("fonts/NHaasGroteskDSPro-55Rg.eot");
  src: url("fonts/NHaasGroteskDSPro-55Rg.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/NHaasGroteskDSPro-55Rg.woff2") format("woff2"),
    url("fonts/NHaasGroteskDSPro-55Rg.woff") format("woff"),
    url("fonts/NHaasGroteskDSPro-55Rg.ttf") format("truetype"),
    url("fonts/NHaasGroteskDSPro-55Rg.svg#NHaasGroteskDSPro-55Rg") format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NeueHaasGroteskDispPro";
  src: url("fonts/NHaasGroteskDSPro-65Md.eot");
  src: url("fonts/NHaasGroteskDSPro-65Md.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/NHaasGroteskDSPro-65Md.woff2") format("woff2"),
    url("fonts/NHaasGroteskDSPro-65Md.woff") format("woff"),
    url("fonts/NHaasGroteskDSPro-65Md.ttf") format("truetype"),
    url("fonts/NHaasGroteskDSPro-65Md.svg#NHaasGroteskDSPro-65Md") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NeueHaasGroteskTextPro";
  src: url("fonts/NHaasGroteskTXPro-45Lt.eot");
  src: url("fonts/NHaasGroteskTXPro-45Lt.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/NHaasGroteskTXPro-45Lt.woff2") format("woff2"),
    url("fonts/NHaasGroteskTXPro-45Lt.woff") format("woff"),
    url("fonts/NHaasGroteskTXPro-45Lt.ttf") format("truetype"),
    url("fonts/NHaasGroteskTXPro-45Lt.svg#NHaasGroteskTXPro-45Lt") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NeueHaasGroteskTextPro";
  src: url("fonts/NHaasGroteskTXPro-55Rg.eot");
  src: url("fonts/NHaasGroteskTXPro-55Rg.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/NHaasGroteskTXPro-55Rg.woff2") format("woff2"),
    url("fonts/NHaasGroteskTXPro-55Rg.woff") format("woff"),
    url("fonts/NHaasGroteskTXPro-55Rg.ttf") format("truetype"),
    url("fonts/NHaasGroteskTXPro-55Rg.svg#NHaasGroteskTXPro-55Rg") format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NeueHaasGroteskTextPro";
  src: url("fonts/NHaasGroteskTXPro-65Md.eot");
  src: url("fonts/NHaasGroteskTXPro-65Md.eot?#iefix")
      format("embedded-opentype"),
    url("fonts/NHaasGroteskTXPro-65Md.woff2") format("woff2"),
    url("fonts/NHaasGroteskTXPro-65Md.woff") format("woff"),
    url("fonts/NHaasGroteskTXPro-65Md.ttf") format("truetype"),
    url("fonts/NHaasGroteskTXPro-65Md.svg#NHaasGroteskTXPro-65Md") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

html {
  font-size: 62.5%;
  background-color: transparent;
}
body {
  background-color: #fff;
  color: #000;
  font-family: "NeueHaasGroteskDispPro", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
  font-size: 1.6rem;
  line-height: 2rem;
  letter-spacing: 0;
}
#page {
  /*overflow: scroll;
	-webkit-overflow-scrolling: touch;*/
}
a:active {
  outline: none;
}
a:focus {
  -moz-outline-style: none;
  outline: none;
}
p {
  margin-bottom: 1em;
}
b,
strong {
  font-weight: 500;
}
.row {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
input:-internal-autofill-selected,
textarea:-internal-autofill-selected {
  background-color: transparent !important;
  background-image: none !important;
  color: #000 !important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--colorsite) !important;
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  transition: background-color 5000s ease-in-out 0s !important;
  /*color: var(--colorsite) !important;*/
  color: #000 !important;
}
img,
video,
iframe {
  user-select: none;
}
/* General */
#page {
  width: 100%;
  height: 100%;
  padding: 0 0 0 0;
  margin: 0 auto;
  float: left;
  position: relative;
  opacity: 0;
  transition: opacity 0.55s ease-in-out;
  -webkit-transition: opacity 0.55s ease-in-out;
}
#page.visible {
  opacity: 1;
  transition: opacity 0.55s ease-in-out;
  -webkit-transition: opacity 0.55s ease-in-out;
}
/* Header */
.site-header {
  width: 100%;
  height: auto;
  position: fixed;
  top: 0;
  left: 0;
  float: left;
  padding: 0 0 0 0;
  margin: 0;
  background-color: transparent;
  color: #fff;
  z-index: 1500;
  transition: all 0.45s ease-in-out;
  -webkit-transition: all 0.45s ease-in-out;
  opacity: 1;
  pointer-events: all;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.home .site-header .site-branding,
.home .site-header .main-navigation {
  transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -webkit-transform: translate(0, -100%);
  opacity: 0;
  pointer-events: none;
}
.home .site-header.fixed-top .site-branding,
.home .site-header.fixed-top .main-navigation {
  transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  opacity: 1;
  pointer-events: all;
}
/*.site-header.fixed-top.menu-open, .site-header.menu-open {
    transform: none;
    -moz-transform: none;
    -webkit-transform: none;
    opacity: 1;
    pointer-events: all;
}*/
.site-header .site-branding {
  width: auto;
  height: auto;
  padding: 0 0 0 0;
  margin: 0 14px 0 0;
  text-align: left;
  float: left;
  position: relative;
  flex: 1;
  background-color: #000;
  transition: all 0.45s ease-in-out;
  -webkit-transition: all 0.45s ease-in-out;
}
.site-header .site-branding .site-title {
  width: auto;
  height: auto;
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 24px;
  line-height: 28px;
  font-size: 2.4rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 500;
  text-align: left;
  float: left;
  text-transform: none;
  padding: 17px 40px 17px 40px;
  margin: 0 0 0 0 !important;
  text-decoration: none !important;
  position: relative;
  background-image: none;
  flex: 1;
}
.site-header .site-branding .site-title a {
  width: auto;
  height: 100%;
  float: left;
  text-transform: none;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
.site-header .site-branding .site-description {
  display: none;
}
.site-header .main-navigation {
  float: left;
  position: relative;
  margin: 0 0 0 14px;
  width: 145px;
  height: 62px;
  flex: none;
  background-color: #000;
  z-index: 1000;
  transition: all 0.45s ease-in-out;
  -webkit-transition: all 0.45s ease-in-out;
}

.site-header .button-menu {
  float: left;
  position: relative;
  margin: 0 0 0 0;
  width: 100%;
  height: 100%;
}
.site-header .button-menu a {
  float: left;
  width: 100%;
  height: 100%;
  position: relative;
  background-image: url("../img/icon-menu.svg");
  background-position: right 13px center;
  /*background-size: auto 58%;*/
  background-size: auto 46%;
  background-repeat: no-repeat;
  margin: 0 0 0 0;
}
.site-header.menu-open .button-menu a {
  text-transform: lowercase;
}
.site-branding::after {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  width: 0;
  height: 0;
  border-bottom: 62px solid transparent;
  border-left: 20px solid black;
  z-index: 2;
}
.main-navigation::before {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  width: 0;
  height: 0;
  border-top: 62px solid transparent;
  border-right: 20px solid black;
  z-index: 2;
}
.site-header .site-logos .logo-premisfad {
  /*width: 576px;
  height: 373px;
  position: fixed;
  top: 0;
  left: 54px;
  z-index: 10;*/
  width: 400px;
  height: 259px;
  position: fixed;
  top: 0;
  left: 44px;
  z-index: 10;
}
.site-header .site-logos .logo-premisfad a {
  width: 100%;
  height: 100%;
  position: relative;
  float: left;
  background-image: url("../img/premisfad-logo.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.site-header .site-logos .logo-arquinfad {
  /*width: 173px;
  height: 67px;*/
  width: 143px;
  height: 56px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
}
.site-header .site-logos .logo-arquinfad a {
  width: 100%;
  height: 100%;
  position: relative;
  float: left;
  background-image: url("../img/arquinfad-logo.svg");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.site-header .site-logos .logo-premisfad,
.site-header .site-logos .logo-arquinfad {
  opacity: 1;
  visibility: visible;
  transition: all 0.45s ease-in-out;
  -webkit-transition: all 0.45s ease-in-out;
  pointer-events: all;
}
.site-header .site-logos.hide-up .logo-premisfad,
.site-header .site-logos.hide-up .logo-arquinfad {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  top: -10%;
}
/* Menu Contextual */
.mc-primary-nav .menu-contextual {
  top: 0;
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.55, 0, 0.1, 1);
  pointer-events: none;
}
.mc-primary-nav .menu-contextual::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-20vw + 10px);
  width: 0;
  height: 0;
  border-top: 100vh solid transparent;
  border-right: calc(20vw + 10px) solid black;
  z-index: 2;
}
.mc-primary-nav .menu-contextual.is-visible {
  top: 0;
  opacity: 1;
  transition: all 0.8s cubic-bezier(0.55, 0, 0.1, 1);
}
.mc-primary-nav {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  background-color: transparent;
}
.mc-primary-nav .menu-contextual {
  position: fixed;
  width: auto;
  min-width: 30vw;
  height: 100%;
  z-index: 9;
  margin: 0;
  padding: 0 0 0 0;
  background-color: transparent;
  display: block;
  opacity: 0;
  right: -100%;
  z-index: -1;
}
.mc-primary-nav .menu-contextual.is-visible {
  position: fixed;
  right: 0;
  display: block;
  background-color: #000;
  height: 100%;
  padding: 0 0 0 0;
  z-index: 900;
  display: block;
  pointer-events: all;
}
.mc-primary-nav .menu-contextual .row {
  background-color: #000;
  width: 100%;
  height: 100%;
  padding: 0 0 0 0;
  z-index: 900;
  position: relative;
  float: right;
  display: block;
}
.mc-primary-nav .menu-contextual .row .content-row {
  position: relative;
  padding: 10px 40px 10px 40px;
  margin: 0 0 0 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mc-primary-nav .menu-contextual .menu-menu-container,
.mc-primary-nav .menu-contextual .menu-menu-container ul {
  width: 100%;
  height: 100%;
  float: left;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  list-style: none;
  position: relative;
  overflow: hidden;
}
.mc-primary-nav .menu-contextual .column-menu,
.mc-primary-nav .menu-contextual .column-share,
.mc-primary-nav .menu-contextual .column-policy {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  list-style: none;
  float: left;
  position: relative;
}
.mc-primary-nav .menu-contextual .column-menu ul {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  list-style: none;
  float: left;
  position: relative;
}
.mc-primary-nav .menu-contextual .column-menu ul {
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
}
.mc-primary-nav .menu-contextual .column-menu ul > li {
  width: auto;
  padding: 30px 0 30px 0;
  margin: 0 0 0 0;
  text-align: left;
  float: left;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mc-primary-nav .menu-contextual .column-menu ul.sub-menu {
  padding: 0 0 0 0;
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
}
.mc-primary-nav .menu-contextual .column-menu ul.sub-menu > li {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  border-top: 0;
}
.mc-primary-nav .menu-contextual .column-menu ul > li > a {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 96px;
  line-height: 67%;
  font-size: 9.6rem;
  font-style: normal;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: #fff;
  padding: 0 0 0 0;
  margin: 0 0 0 0 !important;
  text-transform: none;
  text-decoration: none;
  text-align: right;
  width: auto;
  position: relative;
  float: left;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
  z-index: 100;
  border: none;
}
.mc-primary-nav .menu-contextual .column-menu ul > li.current-menu-item > a {
  text-decoration: none;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
/*.mc-primary-nav .menu-contextual .column-share {
  margin: 0 0 0 0;
}
.mc-primary-nav .menu-contextual .column-share a {
  color: var(--colorwhite);
  margin-bottom: 1em !important;
  clear: both;
}
.mc-primary-nav .menu-contextual .column-share .share-links {
  width: 100%;
  float: left;
}*/
.entry-header .entry-title {
  margin: 21px 0 21px 0;
}
/* Slider */
.entry-content {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
.entry-content .swiper-container {
  padding: 0 0 0 0;
  width: 100%;
  height: auto;
}
.entry-content .swiper-container .swiper {
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.entry-content .swiper .swiper-slide {
  padding: 0 0 0 0;
  width: 100%;
  height: 100%;
}
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
  color: #000;
}
.swiper .content-slide {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0 0 0 0;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: end;
  background-color: #000;
  color: #000;
}
.swiper .content-slide::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 438px;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.75) 100%
  );
  z-index: -200;
}
.home .swiper .content-slide::before {
  z-index: -200;
}
.swiper .content-slide {
}
.swiper .content-slide .image-background {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.swiper .content-slide .image-background img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}
.swiper .content-slide {
}
.swiper .content-slide .video-background {
  background: #000;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.swiper .content-slide .video-foreground,
.swiper .content-slide .video-background iframe,
.swiper .content-slide .video-background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.swiper .content-slide .video-background video {
  width: 100%;
  height: 100%;
  background-color: #fff;
}
@media (min-aspect-ratio: 16/9) {
  .swiper .content-slide .video-foreground {
    height: 200%;
    top: -50%;
  }
}

@media (max-aspect-ratio: 16/9) {
  .swiper .content-slide .video-foreground {
    width: 200%;
    left: -50%;
  }
}
.swiper .content-slide .caption-slide {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 100%;
  height: auto;
  text-align: left;
  flex: none;
  z-index: 10;
}
.swiper .content-slide .caption-slide .title-caption {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 96px;
  font-size: 9.6rem;
  line-height: 96px;
  line-height: 9.6rem;
  letter-spacing: -0.012em;
  font-style: normal;
  font-weight: 400;
  color: #fff;
  padding: 40px;
  margin: 0;
  width: 100%;
  height: auto;
  text-align: left;
  border-bottom: 1px solid;
}
.swiper .content-slide .caption-slide .text-caption {
  display: flex;
  flex-direction: row;
  align-items: start;
  justify-content: space-between;
  width: 100%;
  padding: 40px 40px 70px 40px;
  margin: 0;
  min-height: 348px;
}
.swiper .content-slide .caption-slide .subtitle-caption {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 24px;
  line-height: 28px;
  font-size: 2.4rem;
  line-height: 2.8rem;
  font-style: normal;
  font-weight: 400;
  color: #fff;
  flex: 1;
  padding: 0;
  margin: 0;
  text-align: left;
}
.swiper .content-slide .caption-slide .description-caption {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 24px;
  line-height: 28px;
  font-size: 2.4rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  color: #fff;
  flex: 2;
  padding: 0 10% 0 0;
  margin: 0;
  text-align: left;
}
.swiper .swiper-button-prev {
  width: 30px;
  left: 30px;
  right: auto;
}
.swiper .swiper-button-next {
  width: 30px;
  left: auto;
  right: 30px;
}
.swiper .swiper-button-prev:after {
  text-indent: -99999px;
  background-image: url("../img/icon-arrow-left.png");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  width: 100%;
}
.swiper .swiper-button-next:after {
  text-indent: -99999px;
  background-image: url("../img/icon-arrow-right.png");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  width: 100%;
}

/* Home */
.site-header .site-logos {
  display: none;
}
.home .site-header .site-logos {
  display: block !important;
}
.home .swiper .content-slide .caption-slide {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: end;
}
.home .swiper .content-slide .caption-slide .title-caption {
  flex: none;
  width: 50%;
  border: none;
  padding: 40px 40px 70px 40px;
}
.home .swiper .content-slide .caption-slide .text-caption {
  min-height: auto;
  flex: none;
  width: 50%;
  padding: 40px 40px 70px 40px;
  display: flex;
  flex-direction: row;
  gap: 15%;
}
.home .swiper .content-slide .caption-slide .subtitle-caption {
}
.home .swiper .content-slide .caption-slide .btn-slide {
  display: inline-block;
  align-self: flex-start;
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 25px;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: 10px;
}
.home .swiper .content-slide .caption-slide .btn-slide:hover {
  background: #fff;
  color: #000;
}
.home .entry-content .section-info {
  padding: 70px 40px;
  margin: 0;
  width: 100%;
  height: auto;
  text-align: left;
  border-bottom: 1px solid #000;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.home .entry-content .section-info h2 {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 64px;
  font-size: 6.4rem;
  line-height: 72px;
  line-height: 7.2rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  color: #000;
  padding: 0 10% 0 0;
  margin: 0 0 1em 0;
  width: 100%;
  height: auto;
  text-align: left;
}
.home .entry-content .section-info h2:last-child {
  margin-bottom: 0;
}

.section-categories-edition {
  width: 100%;
  height: auto;
  padding: 0 50% 0 0;
  border-bottom: 1px solid #000;
  position: relative;
}
.section-categories-edition::before {
  width: 1px;
  height: 100%;
  top: 0;
  left: 50%;
  position: absolute;
  z-index: 1;
  background: #000;
  content: "";
  margin-left: -1px;
}
.section-categories-edition .title-edition,
.section-categories-edition .list-categories .item-category .title-category,
.history
  .list-milestones
  .item-milestone
  .header-item-milestone
  .period-milestone,
.history
  .list-milestones
  .item-milestone
  .header-item-milestone
  .title-milestone {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 64px;
  font-size: 6.4rem;
  line-height: 72px;
  line-height: 7.2rem;
  letter-spacing: 0;
  font-style: normal;
}
.section-categories-edition .title-edition {
  font-weight: 400;
}
.section-categories-edition .title-list-categories {
  font-weight: 500;
}
.section-categories-edition .title-edition {
  padding: 40px 40px 90px 40px;
  margin: 0;
}
.section-categories-edition .title-list-categories,
.history
  .list-milestones
  .item-milestone
  .info-item-milestone
  .description-milestone,
.history .title-list-milestones {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 20px;
  line-height: 2rem;
  letter-spacing: 0;
  font-style: normal;
}
.section-categories-edition .title-list-categories {
  padding: 0 40px 11px 40px;
}
.section-categories-edition .list-categories {
  font-family: "NeueHaasGroteskTextPro", serif;
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  list-style: none;
}
.section-categories-edition .list-categories .item-category {
  padding: 0 0 0 0;
  border-top: 1px solid #000;
  margin: 0 0 0 0;
  position: static;
  width: 100%;
}
.section-categories-edition .list-categories .item-category .title-category {
  font-weight: 300;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  width: 100%;
}
.section-categories-edition .list-categories .item-category .title-category a {
  padding: 20px 40px 20px 40px;
  margin: 0 0 0 0;
  width: 100%;
  display: block;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.section-categories-edition
  .list-categories
  .item-category
  .title-category
  a:hover {
  color: white;
  background: black;
}
.section-categories-edition .list-categories .item-category .image-category {
  opacity: 0;
  pointer-events: all;
  visibility: hidden;
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0;
  right: 0;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.section-categories-edition
  .list-categories
  .item-category:first-child
  .image-category {
  opacity: 1;
  visibility: visible;
}
.section-categories-edition
  .list-categories:hover
  .item-category:first-child
  .image-category {
  opacity: 0;
  visibility: hidden;
}
.section-categories-edition
  .list-categories
  .item-category:hover
  .image-category,
.section-categories-edition
  .list-categories:hover
  .item-category:first-child:hover
  .image-category {
  opacity: 1;
  visibility: visible;
}
.section-categories-edition
  .list-categories
  .item-category
  .image-category
  img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Content */
#primary {
  float: left;
  width: 100%;
  margin-top: 0;
  padding-top: 0;
}
.site-main {
  min-height: 100vh;
  float: left;
  width: 100%;
}
/* Section Join */
.section-join {
  border-bottom: 1px solid;
  position: relative;
  width: 100%;
}
.section-join .content-join {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  aspect-ratio: 8 / 3;
  position: relative;
  width: 100%;
}
.section-join .content-join .image-join {
  flex: none;
  width: 50%;
  height: 100%;
  position: relative;
  border-right: 1px solid;
  overflow: hidden;
}
.section-join .content-join .image-join img {
  width: 102%;
  height: 102%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.section-join .content-join .info-join {
  flex: none;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px;
  height: 100%;
  align-items: start;
  position: relative;
}
.section-join .content-join .info-join .title-info {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  width: 100%;
}
.section-join .content-join .info-join .title-info a {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 64px;
  font-size: 6.4rem;
  line-height: 72px;
  line-height: 7.2rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  padding: 0 0 0 0;
  margin: 0 0 1em 0;
  width: 100%;
  height: auto;
  text-align: left;
}
.section-join .content-join .info-join .description-info {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  padding: 0 10% 0 0;
  margin: 0 0 0 0;
  width: 100%;
  height: auto;
  text-align: left;
}
.section-join .content-join .info-join .button-info {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 17px;
  line-height: 1.7rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 500;
  padding: 14px 14px 14px 14px;
  margin: 0 0 0 0;
  width: auto;
  height: auto;
  text-align: center;
  letter-spacing: -0.01em;
  border: 1px solid;
  border-radius: 30px;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.section-join .content-join .info-join .button-info:hover {
  color: white;
  background: black;
}
/* History */
body.bg-dark {
  background-color: #000;
  color: #fff;
}
body.bg-dark .section-join .content-join .info-join .button-info:hover {
  color: #000;
  background: #fff;
}
.row::before,
.row::after {
  display: none;
}
.history {
}
.history .section-info {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 92px 40px;
}
.history .section-info .col-left {
  width: 20%;
  min-width: 463px;
}
.history .section-info .entry-subtitle {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 28px;
  line-height: 2.8rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  padding: 0;
  margin: 0;
}
.history .section-info .col-right {
  padding-right: 10%;
}
.history .section-info .entry-title {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 64px;
  font-size: 6.4rem;
  line-height: 72px;
  line-height: 7.2rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  padding: 0;
  margin: 0 0 1em 0;
}
.history .section-info p {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 20px;
  line-height: 2rem;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 300;
}
.history .section-milestones {
  border-bottom: 1px solid;
}
.history .title-list-milestones {
  font-weight: 600;
  padding: 0 40px 11px 40px;
}
.history .list-milestones {
  display: flex;
  flex-direction: column;
}
.history .list-milestones .item-milestone {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0;
  border-top: 1px solid;
}
.history .list-milestones .item-milestone .content-item-milestone {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0;
}
.history .list-milestones .item-milestone .header-item-milestone {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 12px 40px 12px 40px;
}
.history
  .list-milestones
  .item-milestone
  .header-item-milestone
  .period-milestone {
  width: 20%;
  min-width: 463px;
  font-weight: 400;
}
.history
  .list-milestones
  .item-milestone
  .header-item-milestone
  .title-milestone {
  font-weight: 400;
  margin: 0;
  padding: 0;
}
.history
  .list-milestones
  .item-milestone
  .header-item-milestone
  .title-milestone
  a {
}
.history .list-milestones .item-milestone .info-item-milestone {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 29px 40px 0 40px;
}
.history
  .list-milestones
  .item-milestone
  .info-item-milestone
  .description-milestone {
  width: 20%;
  min-width: 463px;
  font-weight: 300;
}
.history
  .list-milestones
  .item-milestone
  .info-item-milestone
  .image-milestone {
  width: 100%;
  aspect-ratio: 1377 / 724;
  position: relative;
  margin: 0 0 57px 0;
}
.history
  .list-milestones
  .item-milestone
  .info-item-milestone
  .image-milestone
  img {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* Contact */
.description-contact {
  display: flex;
  flex-direction: row;
  column-gap: 4em;
}
/* Policies */

/* Footer */
.site-footer {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #000;
  color: #fff;
  padding: 0 0 0 0;
  float: left;
}
.site-footer .site-info {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: start;
  /*min-height: 638px;*/
  min-height: 560px;
  padding: 40px;
}
.site-footer .top-footer {
  display: flex;
  flex-direction: row;
  align-items: start;
  justify-content: space-between;
  width: 100%;
  column-gap: 0;
}
.site-footer .top-footer .menu-footer {
  flex: none;
  width: calc(50% - 40px);
}

.site-footer .top-footer .menu-footer .info-menu {
  width: 100%;
  float: left;
}

.site-footer .top-footer .menu-footer .info-menu ul {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  list-style: none;
  float: left;
  position: relative;
}
.site-footer .top-footer .menu-footer .info-menu ul {
  display: block;
  /*flex-direction: row;
    align-items: start;
    justify-content: start;
    flex-wrap: wrap;
    column-gap: 38px;
    row-gap: 4px;*/
  float: left;
}
.site-footer .top-footer .menu-footer .info-menu ul > li:after {
  content: "·";
  position: absolute;
  right: 10px;
  top: 0;
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-weight: 400;
}
.site-footer .top-footer .menu-footer .info-menu ul > li:last-child:after {
  display: none;
}
.site-footer .top-footer .menu-footer .info-menu ul > li {
  width: auto;
  padding: 0 24px 0 0;
  margin: 0 0 0 0;
  text-align: left;
  float: left;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  float: left;
}
.site-footer .top-footer .menu-footer .info-menu ul.sub-menu {
  padding: 0 0 0 0;
  display: flex;
  flex-direction: row;
  gap: 0;
  justify-content: center;
}
.site-footer .top-footer .menu-footer .info-menu ul.sub-menu > li {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  border-top: 0;
}
.site-footer .top-footer .menu-footer .info-menu ul > li > a {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-weight: 400;
  color: #fff;
  padding: 0 0 0 0;
  margin: 0 0 0 0 !important;
  text-transform: none;
  text-decoration: none;
  text-align: left;
  width: auto;
  position: relative;
  float: left;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
  z-index: 100;
  border: none;
}

.site-footer .top-footer .menu-footer .info-contact {
  width: 100%;
  margin: 1em 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  flex-direction: column;
  column-gap: 10%;
  justify-content: start;
  float: left;
}
.site-footer .top-footer .menu-footer .info-contact .column-contact {
  display: flex;
  flex-direction: column;
}
.site-footer
  .top-footer
  .menu-footer
  .info-contact
  .column-contact
  .title-column-contact {
  margin-bottom: 1em;
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-style: normal;
  font-weight: 600;
  display: none;
}
.site-footer .top-footer .menu-footer .info-contact .column-contact p,
.site-footer .top-footer .menu-footer .info-contact .column-contact p a {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-style: normal;
  font-weight: 300;
  margin: 0;
}
.site-footer .top-footer .menu-footer .info-contact .column-contact p a {
}

.site-footer .top-footer .sponsor-site-footer {
  flex: none;
  width: 25%;
}
.site-footer .top-footer .sponsor-site-footer .title-sponsor {
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-style: normal;
  font-weight: 600;
  padding: 0 0 0 0;
  margin: 0 0 20px 0;
}
.site-footer .top-footer .sponsor-site-footer .logo-sponsor {
  width: 100%;
  max-width: 200px;
  height: auto;
}
.site-footer .top-footer .sponsor-site-footer .logo-sponsor .image-sponsor {
  width: 100%;
  height: auto;
  float: left;
}
.site-footer .top-footer .sponsor-site-footer .logo-sponsor .image-sponsor img {
  width: 100%;
  height: auto;
  float: left;
  max-width: 100%;
}
.site-footer .top-footer .languages-footer {
  flex: none;
  width: auto;
}
.site-footer .top-footer .languages-footer ul {
  list-style: none;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  width: 100%;
  display: flex;
  flex-direction: row;
}
.site-footer .top-footer .languages-footer ul li {
  padding: 0 12px 0 12px;
  height: 46px;
  margin: 0 0 0 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  border: 2px solid white;
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-style: normal;
  font-weight: 600;
  text-transform: capitalize;
  color: black;
  background: white;
  transition: all 0.35s ease-in-out;
  -webkit-transition: all 0.35s ease-in-out;
}
.site-footer .top-footer .languages-footer ul li:first-child {
  width: auto;
  border-radius: 46px;
  color: black !important;
  background: white !important;
  text-transform: none;
}
.site-footer .top-footer .languages-footer ul li.active,
.site-footer .top-footer .languages-footer ul li:hover {
  color: white;
  background: black;
}
.site-footer .bottom-footer {
  width: 100%;
}
.site-footer .bottom-footer .title-site-footer {
}
.site-footer .bottom-footer .title-site-footer .links-policies-footer {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0 0 25px 0;
  text-align: left;
  float: left;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: start;
  justify-content: start;
  column-gap: 20px;
}
.site-footer .bottom-footer .title-site-footer .links-policies-footer a,
.site-footer .bottom-footer .title-site-footer .links-policies-footer span {
  opacity: 0.5;
  font-family: "NeueHaasGroteskTextPro", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  letter-spacing: -0.01em;
  font-style: normal;
  font-weight: 600;
}
.site-footer .bottom-footer .title-site-footer .title-footer {
  font-family: "NeueHaasGroteskDispPro", serif;
  font-size: 64px;
  font-size: 6.4rem;
  /*line-height: 72px;
  line-height: 7.2rem;*/
  line-height: 100%;
  letter-spacing: 0;
  font-style: normal;
  font-weight: 400;
  padding: 0;
  margin: 0 0 0 0;
}
.site-footer .bottom-footer .logo-site-footer {
  width: 400px;
  height: 259px;
  position: absolute;
  bottom: 44px;
  right: 44px;
  z-index: 10;
}
.site-footer .bottom-footer .logo-site-footer a {
  width: 100%;
  height: 100%;
  position: relative;
  float: right;
  background-image: url("../img/premisfad-logo.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

/* Responsive */
@media only screen and (min-width: 768px) {
  .visible-mobile {
    display: none;
  }
  .hidden-mobile {
    display: block !important;
  }
}

@media only screen and (min-width: 1921px) {
}
@media only screen and (min-width: 1920px) and (max-width: 1960px) {
}
@media only screen and (min-width: 1920px) {
}
@media only screen and (max-width: 1800px) {
}
@media only screen and (min-width: 1600px) and (max-width: 1800px) {
}
@media only screen and (min-width: 1600px) and (max-width: 1919px) {
}
@media only screen and (min-width: 1600px) {
}
@media only screen and (max-width: 1599px) and (min-width: 1440px) {
}
@media only screen and (max-width: 1599px) and (min-width: 1240px) {
}
@media only screen and (min-width: 1440px) {
}
@media only screen and (max-width: 1439px) and (min-width: 768px) {
  html {
    font-size: 50%;
  }
}
@media only screen and (max-width: 1439px) and (min-width: 1321px) {
  .models .list-projects .item-project {
    width: 25%;
  }
}
@media only screen and (max-width: 1439px) and (min-width: 1040px) {
}
@media only screen and (min-width: 1040px) {
  .page-work .entry-content .info-content .col-form .content-fixed {
    background-color: #fff;
    flex: 1;
    padding: 0 30px 0 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    left: 0;
    top: 140px;
    height: calc(100vh - 239px);
    width: 50%;
  }
}
@media only screen and (max-width: 1320px) and (min-width: 1101px) {
}
@media only screen and (max-width: 1360px) and (min-width: 1240px) {
}
@media only screen and (max-width: 1369px) and (min-width: 768px) {
}
@media only screen and (max-width: 1239px) and (min-width: 1040px) {
}
@media only screen and (max-width: 1169px) and (min-width: 1040px) {
  .wpcf7 form .model-form .field.field-radio-buttons .group-fields > p {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .wpcf7 form .model-form .field.field-radio-buttons .wpcf7-checkbox {
    flex-wrap: wrap;
  }
  .wpcf7
    form
    .model-form
    .field.field-radio-buttons
    .group-fields
    > p
    span:last-child {
    flex: none;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 768px) {
}
@media only screen and (min-width: 1240px) {
}
@media only screen and (max-width: 1239px) and (min-width: 768px) {
}
@media only screen and (max-width: 1679px) and (min-width: 768px) and (max-height: 820px) {
}
@media only screen and (max-width: 1439px) and (min-width: 768px) and (max-height: 720px) {
}
@media only screen and (max-width: 1679px) and (min-width: 768px) and (max-height: 680px) {
}
@media only screen and (max-width: 1039px) and (min-width: 960px) {
}
@media only screen and (max-width: 959px) and (min-width: 768px) {
}
@media only screen and (max-width: 1170px) and (min-width: 768px) {
}
@media only screen and (max-width: 1170px) and (min-width: 1101px) {
}
@media only screen and (max-width: 1170px) and (min-width: 768px) {
}
@media only screen and (max-width: 1170px) and (min-width: 1040px) {
}
@media only screen and (min-width: 1040px) {
}
@media only screen and (max-width: 1039px) and (min-width: 768px) {
}
@media (min-width: 960px) {
}
@media only screen and (max-width: 959px) and (min-width: 768px) {
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 62.5%;
  }
  body {
    width: 100%;
    overflow-x: hidden;
  }
  .visible-mobile {
    display: block;
  }
  .hidden-mobile {
    display: none !important;
  }
}
@media only screen and (max-width: 580px) {
}
@media only screen and (max-width: 767px) and (min-width: 480px) {
}
@media only screen and (max-width: 767px) and (min-width: 341px) {
}
@media only screen and (max-width: 380px) {
}
@media only screen and (max-width: 340px) {
}

/* Landscape mobile */
#landscape {
  display: none;
  z-index: -100;
}
.device-desktop #landscape,
.device-tablet #landscape,
.device-desktop #landscape.visible,
.device-tablet #landscape.visible {
  display: none !important;
}
.device-mobile #landscape.visible {
  display: flex !important;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #fff !important;
  z-index: 99999;
  width: 100%;
  height: 100%;
  font-size: 120%;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.device-mobile #landscape.visible div {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-align: center;
  color: #000;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
  font-size: 1.6rem;
  line-height: 2rem;
  background-image: url("../img/rotate-mobile.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 70%;
  width: 100%;
  height: 100%;
}

/* ========================================
   EDICIÓN EN CURSO - Custom Styles
   ======================================== */

/* General fullwidth container */
.page-id-15 .entry-content,
.page-id-15 article {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Roadmap Section */
.section-roadmap {
  padding: 60px 40px;
  background: #fff;
  max-width: 100%;
  width: 100%;
}

.section-roadmap .section-title {
  font-size: 12px;
  font-weight: 500;
  padding: 10px 0;
  margin-top: 20px;
  margin-bottom: 20px;
  color: #000;
  letter-spacing: -0.01em;
  line-height: 1;
  border-bottom: 1px solid #000;
}

.roadmap-timeline {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  max-width: 100%;
}

.roadmap-item {
  flex: 0 0 auto;
  width: auto;
  aspect-ratio: 300 / 400;
  border: 1px solid #000;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.roadmap-date {
  width: 100%;
  background: #fff;
  color: #000;
  padding: 14px 10px 14px 10px;
  text-align: left;
  border: none;
  border-radius: 0;
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
}

.roadmap-date .date-line {
  font-family: NeueHaasGroteskDisplayPro, sans-serif;
  font-size: 48px;
  line-height: 100%;
  font-weight: 400;
  display: block;
  letter-spacing: -0.01em;
}

.roadmap-date .year {
  font-family: NeueHaasGroteskDisplayPro, sans-serif;
  font-size: 48px;
  line-height: 100%;
  font-weight: 400;
  display: block;
  letter-spacing: -0.01em;
  margin-top: 0;
  line-height: -1%;
}

.roadmap-description {
  width: 100%;
  background: #fff;
  padding: 14px 10px 14px 10px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 300;
  letter-spacing: 0;
  font-family: NeueHaasGroteskTextPro, sans-serif;
  color: #000;
}

.roadmap-description p {
  margin: 0;
  color: #000;
  text-align: left;
  font-family: NeueHaasGroteskTextPro, sans-serif;
}

.roadmap-item.roadmap-active .roadmap-date {
  background: var(--colorpink);
}

.roadmap-item.roadmap-completed .roadmap-date {
  background: #28a745;
}

.roadmap-item.roadmap-pending .roadmap-date {
  background: #6c757d;
}

/* Bases Section */
.section-bases {
  padding: 60px 40px;
  background: #fff;
  max-width: 100%;
  width: 100%;
}

.section-bases .section-title {
  font-size: 12px;
  font-weight: 500;
  padding: 10px 0;
  margin-bottom: 0;
  color: #000;
  letter-spacing: -0.01em;
  line-height: 1;
  border-bottom: 1px solid #000;
}

.bases-accordion-item {
  margin-bottom: 15px;
  border: none;
  border-radius: 0;
  overflow: visible;
}

.bases-accordion-header {
  width: 100%;
  background: transparent;
  color: #000;
  padding: 20px 0;
  border: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: default;
  transition: none;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  pointer-events: none;
}

.bases-accordion-header:hover {
  background: transparent;
}

.bases-accordion-icon {
  font-size: 28px;
  line-height: 1;
  transition: none;
  display: none;
}

.bases-accordion-content {
  max-height: none;
  overflow: visible;
  transition: none;
  background: transparent;
}

.bases-accordion-content.active {
  max-height: none;
}

.bases-content-inner {
  padding: 0;
}

.bases-description {
  margin-bottom: 20px;
  color: #333;
  line-height: 1.8;
}

.bases-additional-info {
  margin-bottom: 30px;
  padding: 0;
  background: #fff;
  border-left: none;
  color: #555;
  line-height: 1.6;
}

.btn-download {
  display: inline-block;
  background: var(--colorpink);
  color: #fff;
  padding: 12px 30px;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.btn-download:hover {
  background: #d62d7a;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(250, 60, 146, 0.4);
  color: #fff;
}

/* Jurado Section */
.section-jurado {
  padding: 60px 40px;
  background: #fff;
  max-width: 100%;
  width: 100%;
}

.section-jurado .section-title {
  font-size: 64px;
  font-weight: 400;
  line-height: 96px;
  letter-spacing: -0.01em;
  margin-top: 80px;
  margin-bottom: 27px;
  color: #000;
}

.jurado-accordion-item {
  margin-bottom: 15px;
  border: none;
  border-radius: 0;
  overflow: visible;
}

.jurado-accordion-header {
  width: 100%;
  background: transparent;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  padding: 10px 0;
  margin-bottom: 0;
  color: #000;
  letter-spacing: -0.01em;
  line-height: 1;
  border: none;
  /*border-bottom: 1px solid #000;*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: default;
  transition: none;
  pointer-events: none;
}

.jurado-accordion-header:hover {
  background: transparent;
}

.jurado-accordion-icon {
  font-size: 28px;
  line-height: 1;
  transition: none;
  display: none;
}

.jurado-accordion-content {
  max-height: none;
  overflow: visible;
  transition: none;
  background: transparent;
}

.jurado-accordion-content.active {
  max-height: none;
}

.jurado-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 30px;
  padding: 30px 0;
  background: transparent;
  max-width: 100%;
}

.jurado-card {
  text-align: center;
  background: transparent;
  padding: 0;
  border-radius: 0;
  transition: all 0.3s ease;
}

.jurado-card:hover {
  transform: none;
  box-shadow: none;
}

.jurado-photo {
  margin-bottom: 15px;
}

.jurado-photo img {
  width: 100%;
  max-width: 200px;
  height: auto;
  border-radius: 50%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.jurado-name {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
  color: #000;
}

.jurado-profession {
  font-size: 14px;
  color: #666;
  margin-bottom: 15px;
  line-height: 1.4;
}

.jurado-links {
  display: none;
}

.jurado-acta {
  padding: 20px 30px 30px;
  text-align: center;
}

/* Jurado cargo sections */
.jurado-tabs-wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.jurado-type-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}

.jurado-cargo-section {
  flex: 1;
}

.jurado-cargo-title {
  font-size: 16px;
  font-weight: 500;
  padding: 10px 0;
  margin-bottom: 0;
  color: #000;
  letter-spacing: -0.01em;
  line-height: 1;
  border-bottom: 1px solid #000;
  color: #000;
  text-align: left;
}

.jurado-cargos-container {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.jurado-cargos-container .jurado-cargo-section:first-child {
  flex: 0 0 calc(16.666667vw - 24px);
}

.jurado-cargos-container .jurado-cargo-section:last-child {
  flex: 1;
}

.jurado-grid-archivo {
  display: grid;
  grid-template-columns: repeat(auto-fill, 180px);
  gap: 30px;
}

.jurado-card-archivo {
  text-align: left;
  width: 180px;
}

.jurado-name-archivo {
  text-align: left;
}

.jurado-profession-archivo {
  text-align: left;
}

/* Seleccionados Section */
.section-seleccionados {
  padding: 60px 40px;
  background: #fff;
  width: 100%;
}

.section-seleccionados .section-title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: left;
  color: #000;
}

.table-responsive {
  overflow-x: auto;
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.table-seleccionados {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  box-shadow: none;
  border: 1px solid #ddd;
}

.table-seleccionados thead {
  background: #000;
  color: #fff;
}

.table-seleccionados th {
  padding: 15px 20px;
  text-align: left;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
}

.table-seleccionados td {
  padding: 15px 20px;
  border-bottom: 1px solid #eee;
  color: #333;
}

.table-seleccionados tbody tr:hover {
  background: #f8f8f8;
}

.obra-numero {
  font-weight: bold;
  color: #000;
  width: 80px;
}

.obra-titulo a {
  color: var(--colorpink);
  text-decoration: none;
  font-weight: 500;
}

.obra-titulo a:hover {
  text-decoration: underline;
}

.premio-fad {
  background: #fff9e6;
}

.premio-mencion {
  background: #f0f8ff;
}

.premio-seleccionado {
  background: #fff;
}

.obra-premio {
  font-weight: bold;
}

/* Patrocinadores Section */
.section-patrocinadores {
  padding: 0 40px 60px 40px;
  background: #fff;
  width: 100%;
}

.section-patrocinadores .section-title {
  font-size: 64px;
  font-weight: 400;
  line-height: 96px;
  letter-spacing: -0.01em;
  margin-top: 0;
  margin-bottom: 27px;
  text-align: left;
  color: #000;
  width: 100%;
}

.section-patrocinadores .container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 40px;
  column-gap: 10px;
}

.patrocinadores-categoria {
  display: inline-flex;
  flex-direction: column;
  gap: 20px;
}

.patrocinadores-categoria-title {
  font-size: 12px;
  font-weight: 500;
  padding: 0 0 10px 0;
  margin-top: 0;
  margin-bottom: 0;
  color: #000;
  letter-spacing: -0.01em;
  line-height: 1;
  color: #000;
  text-align: left;
  border-bottom: 1px solid #000;
}

.patrocinadores-grid {
  display: inline-flex;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}

.patrocinador-item {
  background: #000;
  padding: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: none;
  border: 1px solid #000;
  aspect-ratio: 1 / 1;
  width: calc(19.5vw - 80px);
}

.patrocinador-item:hover {
  transform: none;
  box-shadow: none;
  border-color: #333;
}

.patrocinador-link {
  display: block;
  width: 100%;
  text-decoration: none;
}

.patrocinador-logo {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 1 / 1;
}

.patrocinador-name {
  color: #000;
  font-weight: bold;
  text-align: center;
}

/* Container overrides for edition sections */
.section-roadmap .container,
.section-bases .container,
.section-jurado .container,
.section-seleccionados .container,
.section-patrocinadores .container,
.section-edition-categories .container,
.section-habitacola .container {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Edition Categories Section */
.section-edition-categories {
  padding: 60px 40px 0 40px;
  background: #fff;
}

.section-edition-categories .section-title {
  font-size: 12px;
  font-weight: 500;
  padding: 10px 0;
  margin-bottom: 0;
  color: #000;
  letter-spacing: -0.01em;
  line-height: 1;
  border-bottom: 1px solid #000;
}

.category-accordion-item {
  border-bottom: 1px solid #000;
}

.category-accordion-header {
  width: 100%;
  background: none;
  border: none;
  padding: 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 64px;
  font-weight: 400;
  line-height: 96px;
  letter-spacing: -0.01em;
  color: #000;
  text-align: left;
}

.category-accordion-icon {
  font-size: 84px;
  font-weight: 300;
  line-height: 1;
  font-family: "NeueHaasGroteskTextPro";
}

.category-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.category-accordion-content.active {
  max-height: none;
  padding-bottom: 40px;
}

.category-section {
  margin: 20px 0;
  display: flex;
  grid-template-columns: 1fr 1fr;
  gap: 6em;
}

.category-section .bases-description,
.category-section .bases-additional-info {
  max-width: 33.33333%;
}

.category-section .bases-link {
}

.bases-link {
  display: inline-block;
  padding: 10px 20px;
  background: #000;
  color: #fff !important;
  text-decoration: none;
  font-size: 14px;
}

.bases-link:hover {
  background: #000;
}

.category-section-title {
  font-size: 64px;
  font-weight: 400;
  line-height: 96px;
  letter-spacing: -0.01em;
  margin: 0 0 27px 0;
  color: #000;
}

.jurado-cargos-container {
  margin-top: 40px;
}

.jurado-cargo-section {
  margin-bottom: 10px;
}

.jurado-cargo-title {
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 20px 0;
  color: #000;
}

.jurado-simple-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
.jurado-cargos-container .jurado-cargo-section:first-child .jurado-simple-grid {
  grid-template-columns: repeat(1, 1fr);
}
.jurado-card-simple {
  text-align: left;
}

.jurado-photo-simple {
  width: 100%;
  aspect-ratio: 300 / 400;
  overflow: hidden;
  margin-bottom: 10px;
  background-color: #ccc;
}

.jurado-photo-simple img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
}

.jurado-name-simple {
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 5px 0;
  color: #000;
}

.jurado-profession-simple {
  font-size: 12px;
  color: #666;
  margin: 0;
}

/* Habitacola Section */
.section-habitacola {
  padding: 0 40px 0 40px;
  background: #fff;
}

.section-habitacola .section-title {
  font-size: 64px;
  font-weight: 400;
  line-height: 96px;
  letter-spacing: -0.01em;
  margin-top: 0;
  margin-bottom: 80px;
  text-align: left;
  color: #000;
}

.section-habitacola .section-title a {
  color: #000;
  text-decoration: none;
}

.section-habitacola .section-title a:hover {
  color: #666;
}

/* Container overrides for edition sections */

/* Edition Info Section */
.section-edition-info {
  padding: 40px 40px;
  background: #fff;
}

.section-edition-info .container {
  max-width: 100%;
  width: 100%;
  padding: 40px 0 0 0;
  border-top: 1px solid #000;
}

.edition-info-wrapper {
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: 60px;
  align-items: start;
}
.edition-year h2 {
  font-family: NeueHaasGroteskTextPro, serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 400;
  color: #000;
  margin: 0;
}

.edition-content {
  font-family: NeueHaasGroteskTextPro, serif;
  font-size: 24px;
  line-height: 28px;
  font-weight: 400;
  color: #000;
  padding-right: 10%;
}

.edition-content p {
  margin-bottom: 20px;
}

.edition-content p:last-child {
  margin-bottom: 0;
}

/* Breadcrumb */
.breadcrumb {
  padding: 20px 0;
  font-size: 14px;
  color: #666;
}

.breadcrumb a {
  color: var(--colorpink);
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

/* Archivo Sections */
.archivo-seccion-jurado,
.archivo-seccion-bases {
  padding: 0;
  background: #fff;
  max-width: 100%;
  width: 100%;
}

.breadcrumb-archivo {
  padding: 20px 0;
  font-size: 14px;
  color: #666;
  margin-bottom: 20px;
}

.breadcrumb-archivo a {
  color: var(--colorpink);
  text-decoration: none;
}

.breadcrumb-archivo a:hover {
  text-decoration: underline;
}

.archivo-seccion-title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #000;
  text-align: center;
}

/* Archivo Jurado - Tabs */
.jurado-tabs-wrapper {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 60px 40px;
  background: #fff;
  border-bottom: 1px solid #eee;
}

.jurado-tabs-wrapper:last-child {
  border-bottom: none;
}

.jurado-type-title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #000;
}

.jurado-tabs-header {
  display: flex;
  gap: 10px;
  margin-bottom: 40px;
  border-bottom: 1px solid #ddd;
}

.jurado-tab-btn {
  background: transparent;
  border: none;
  padding: 15px 30px;
  font-size: 16px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
}

.jurado-tab-btn:hover {
  color: #000;
}

.jurado-tab-btn.active {
  color: #000;
  border-bottom-color: #000;
  font-weight: bold;
}

.jurado-tab-content {
  display: none;
}

.jurado-tab-content.active {
  display: block;
}

.jurado-grid-archivo {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 30px;
  padding: 20px 0;
}

.jurado-card-archivo {
  text-align: center;
}

.jurado-photo-archivo {
  margin-bottom: 15px;
}

.jurado-photo-archivo img {
  width: 100%;
  max-width: 180px;
  height: auto;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.jurado-card-archivo:hover .jurado-photo-archivo img {
  filter: grayscale(0%);
}

.jurado-name-archivo {
  font-size: 16px;
  font-weight: bold;
  margin: 10px 0 5px;
  color: #000;
}

.jurado-profession-archivo {
  font-size: 13px;
  color: #666;
  line-height: 1.4;
}

/* Archivo Bases - Fullwidth Open sections */
.bases-fullwidth-content {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 60px 40px;
  background: #fff;
}

.bases-seccion-open {
  margin-bottom: 80px;
}

.bases-seccion-title {
  font-size: 42px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #000;
  line-height: 1.2;
}

.bases-seccion-description {
  margin-bottom: 30px;
}

.bases-seccion-description p {
  color: #333;
  line-height: 1.8;
  font-size: 16px;
  margin-bottom: 20px;
}

.bases-seccion-info {
  margin-bottom: 30px;
  padding-left: 20px;
  border-left: 3px solid #000;
}

.bases-seccion-info p {
  color: #555;
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.6;
}

.bases-lang-buttons {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

.bases-lang-label {
  font-weight: bold;
  color: #000;
  font-size: 16px;
}

.btn-lang {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 25px;
  font-weight: bold;
  font-size: 14px;
  transition: all 0.3s ease;
  text-transform: uppercase;
  min-width: 50px;
  text-align: center;
}

.btn-lang:hover {
  background: #333;
  color: #fff;
  transform: scale(1.05);
}

.btn-lang.active {
  background: #000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Responsive */
@media (min-width: 768px) {
  .site-footer .bottom-footer {
    padding-right: 444px;
  }
}
@media (max-width: 767px) {
  .roadmap-item {
    flex-direction: column;
    gap: 15px;
  }

  .roadmap-date {
    width: 100%;
    max-width: 150px;
  }

  .jurado-grid {
    grid-template-columns: 1fr;
  }

  .patrocinadores-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 20px;
  }

  .table-seleccionados {
    font-size: 14px;
  }

  .table-seleccionados th,
  .table-seleccionados td {
    padding: 10px;
  }

  .section-title {
    font-size: 28px !important;
  }
}

/* === RESPONSIVE MOBILE (≤767px) === */
@media (max-width: 767px) {
  .home .entry-content .section-info {
    padding: 40px 20px 40px 20px !important;
    min-height: auto !important;
  }
  .home .entry-content .section-info h2 {
    padding-right: 0 !important;
    margin-bottom: 1em;
    font-family: "NeueHaasGroteskTextPro", serif;
    font-size: 18px !important;
    font-size: 1.8rem !important;
    line-height: 21px !important;
    line-height: 2.1rem !important;
    font-weight: 400;
    letter-spacing: 0;
  }
  .section-categories-edition {
    padding: 0 !important;
  }
  .section-categories-edition::before {
    display: none !important;
  }
  .section-categories-edition .title-edition {
    padding: 20px !important;
  }
  .section-categories-edition .title-list-categories {
    padding-left: 20px;
    padding-right: 20px;
  }
  .section-categories-edition
    .list-categories
    .item-category
    .title-category
    a {
    padding-left: 20px;
    padding-right: 20px;
  }
  .section-categories-edition .image-category {
    display: none !important;
  }
  .entry-content .swiper-container .swiper {
    height: 100vh !important;
    height: calc(var(--vh, 1vh) * 100) !important;
  }
  .home .swiper .content-slide .caption-slide {
    flex-direction: column;
    padding: 20px 0 20px 0 !important;
  }
  .home .swiper .content-slide .caption-slide .text-caption,
  .home .swiper .content-slide .caption-slide .title-caption {
    width: 100% !important;
    padding: 0 20px !important;
    flex-direction: column;
    gap: 20px;
  }
  .home .swiper .content-slide .caption-slide .title-caption {
    font-family: "NeueHaasGroteskDispPro", serif;
    font-size: 56px !important;
    font-size: 5.6rem !important;
    line-height: 52px !important;
    line-height: 5.2rem !important;
    font-weight: 400;
    letter-spacing: -0.012em;
  }
  .home .swiper .content-slide .caption-slide .subtitle-caption {
    margin-top: 20px;
    font-family: "NeueHaasGroteskTextPro", serif;
    font-size: 18px !important;
    font-size: 1.8rem !important;
    line-height: 22px !important;
    line-height: 2.2rem !important;
    font-weight: 400;
    letter-spacing: -0.01em;
  }
  .home .swiper .content-slide .caption-slide .btn-slide {
    margin-top: 9px;
    font-family: "NeueHaasGroteskTextPro", serif;
    font-size: 14px !important;
    font-size: 1.4rem !important;
    line-height: 14px !important;
    line-height: 1.4rem !important;
    font-weight: 500;
    letter-spacing: -0.01em;
  }
  /* === HEADER === */
  .site-header .site-branding .site-title {
    font-size: 16px;
    line-height: 20px;
    font-size: 1.6rem;
    line-height: 2rem;
  }

  .mc-primary-nav .menu-contextual .column-menu ul > li > a {
    font-size: 32px !important;
    line-height: 1.1 !important;
    font-size: 3.2rem !important;
  }
  /* Ocultar texto completo y mostrar solo "Premis FAD" */
  .site-header .site-branding .site-title a::after {
    content: "Premis FAD";
    font-size: 24px;
    line-height: 21px;
  }

  .site-header .site-branding .site-title a {
    font-size: 0;
  }
  .site-header,
  .site-header .site-logos .logo-premisfad {
    max-width: 100vw;
  }
  .site-header .site-logos .logo-premisfad {
    width: 100%;
    left: 0;
  }
  .site-header .site-logos .logo-premisfad a {
    background-position: top;
    background-size: calc(100% - 80px) auto;
  }
  .site-footer .bottom-footer .logo-site-footer {
    width: 100%;
    left: 0;
    right: 0;
    position: relative;
    bottom: auto;
  }
  .site-footer .bottom-footer .logo-site-footer a {
    background-position: bottom;
    background-size: calc(100% - 80px) auto;
  }
  .site-footer .bottom-footer .links-policies-footer {
    flex-direction: column !important;
    gap: 0;
    margin-top: 25px !important;
  }
  .site-header .site-logos .logo-arquinfad {
    display: none;
  }
  /* === TIPOGRAFÍA === */
  h1,
  .h1 {
    font-size: 28px !important;
    line-height: 32px !important;
  }

  h2,
  .h2 {
    font-size: 24px !important;
    line-height: 28px !important;
  }

  h3,
  .h3 {
    font-size: 20px !important;
    line-height: 24px !important;
  }

  h4,
  .h4 {
    font-size: 18px !important;
    line-height: 22px !important;
  }

  body {
    font-size: 16px !important;
    line-height: 20px !important;
  }
  p {
    font-size: 18px !important;
    line-height: 22px !important;
  }

  .section-title {
    font-size: 24px !important;
    line-height: 28px !important;
  }

  /* === BLOQUES ESPECÍFICOS === */
  /* Jurado, Patrocinadores y Roadmap: 50% de ancho */
  .jurado-grid,
  .patrocinadores-grid,
  .roadmap-container {
    width: 100% !important;
  }

  .jurado-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px;
  }

  .patrocinadores-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px;
  }

  .roadmap-item {
    width: 48%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 15px;
  }

  /* Resto de bloques: 100% de ancho */
  .section-container,
  .content-wrapper,
  .main-content,
  .seleccionados-container,
  .bases-container,
  .recursos-container {
    width: 100% !important;
    display: block;
  }

  /* Secciones una debajo de otra */
  .section {
    width: 100% !important;
    display: block;
    margin-bottom: 30px;
  }

  /* === TABLAS === */
  .table-seleccionados {
    font-size: 12px;
    display: block;
    overflow-x: auto;
  }

  .table-seleccionados th,
  .table-seleccionados td {
    padding: 8px 5px;
    font-size: 12px;
  }

  /* === ELEMENTOS VARIOS === */
  .button,
  .btn {
    font-size: 14px;
    padding: 10px 15px;
  }

  /* Ajustar imágenes */
  img {
    max-width: 100%;
    height: auto;
  }

  /* === NAVEGACIÓN === */
  .main-navigation {
    width: 100%;
  }

  /* === MENÚ CONTEXTUAL DE LADO A LADO === */
  .mc-primary-nav .menu-contextual {
    min-width: 100vw !important;
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
  }

  .mc-primary-nav .menu-contextual.is-visible {
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
  }

  .mc-primary-nav .menu-contextual::before {
    display: none !important;
  }

  .mc-primary-nav .menu-contextual .row {
    width: 100%;
  }

  .mc-primary-nav .menu-contextual .row .content-row {
    padding: 20px;
  }

  /* === SECCIÓN FESTE SOCI (JOIN) === */
  .section-join .content-join {
    flex-direction: column;
    aspect-ratio: auto;
  }

  .section-join .content-join .image-join {
    width: 100%;
    height: auto;
    min-height: 250px;
    border-right: none;
    border-bottom: 1px solid;
  }

  .section-join .content-join .info-join {
    width: 100%;
    padding: 30px 20px;
  }

  .section-join .content-join .info-join .title-info a {
    font-family: "NeueHaasGroteskDispPro", serif;
    font-size: 56px !important;
    font-size: 5.6rem !important;
    line-height: 52px !important;
    line-height: 5.2rem !important;
    font-weight: 400;
    letter-spacing: -0.012em;
  }

  .section-join .content-join .info-join .description-info {
    margin-top: 20px;
    font-family: "NeueHaasGroteskTextPro", serif;
    font-size: 18px !important;
    font-size: 1.8rem !important;
    line-height: 22px !important;
    line-height: 2.2rem !important;
    font-weight: 400;
    letter-spacing: -0.01em;
    padding: 0;
  }

  .section-join .content-join .info-join .button-info {
    margin-top: 20px;
    font-family: "NeueHaasGroteskTextPro", serif;
    font-size: 14px !important;
    font-size: 1.4rem !important;
    line-height: 14px !important;
    line-height: 1.4rem !important;
    font-weight: 500;
    letter-spacing: -0.01em;
  }

  /* === FOOTER === */
  .site-footer {
    font-size: 12px;
  }
  .site-footer .site-info {
    padding: 20px;
  }
  .site-footer .top-footer {
    flex-direction: column;
    align-items: start;
    text-align: left;
    gap: 20px;
  }
  .site-footer .top-footer .menu-footer,
  .site-footer .bottom-footer .links-policies-footer {
    width: 100%;
  }
  /* Imagen del footer no flotante */
  .site-footer .top-footer .sponsor-site-footer {
    width: 100%;
  }
  .title-site-footer .title-footer {
    display: none;
  }
  .site-footer .top-footer .sponsor-site-footer .logo-sponsor {
    position: relative;
    float: none;
    display: block;
  }

  .site-footer .top-footer .sponsor-site-footer .logo-sponsor .image-sponsor {
    position: relative;
    float: none;
    display: block;
  }

  .site-footer
    .top-footer
    .sponsor-site-footer
    .logo-sponsor
    .image-sponsor
    img {
    position: relative;
    float: none;
    display: block;
  }
  .section-edition-info,
  .section-roadmap,
  .section-bases,
  .section-jurado,
  .section-seleccionados,
  .section-patrocinadores,
  .section-edition-categories,
  .section-habitacola {
    padding: 20px !important;
  }
  .edition-info-wrapper {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .swiper .content-slide .caption-slide .title-caption,
  .swiper .content-slide .caption-slide .text-caption {
    padding: 20px !important;
  }
  .swiper .content-slide .caption-slide .text-caption {
    flex-direction: column;
  }
  .category-accordion-title,
  .category-section-title {
    font-size: 32px !important;
    line-height: 36px !important;
    padding: 10px 0 10px 0 !important;
  }
  .category-accordion-icon {
    font-size: 48px !important;
  }
  .section-habitacola .section-title {
    margin: 0 0 0 0;
  }
  .roadmap-timeline {
    flex-wrap: wrap;
  }
  .roadmap-item {
    width: calc(50% - 10px) !important;
    flex: none !important;
  }
  .roadmap-date {
    font-size: 24px;
    padding: 0 !important;
    margin-bottom: 10px;
  }
  .roadmap-date .date-line,
  .roadmap-date .year {
    font-size: 24px;
  }
  .roadmap-description {
    font-size: 14px;
    line-height: 18px;
    padding: 0;
  }
  .patrocinador-item {
    width: calc(47vw - 20px) !important;
  }
  .category-section {
    flex-direction: column;
    gap: 0;
  }
  .category-section .bases-description,
  .category-section .bases-additional-info {
    max-width: 100%;
  }
  .jurado-cargos-container {
    flex-direction: column;
    gap: 20px;
  }
  .jurado-cargos-container .jurado-cargo-section:first-child {
    flex: 0 0 calc(47vw - 20px);
    max-width: calc(47vw - 20px);
  }
  .jurado-simple-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .history .section-info {
    padding: 20px !important;
    min-height: auto !important;
    flex-direction: column !important;
  }
  .history .list-milestones .item-milestone .header-item-milestone,
  .history .list-milestones .item-milestone .info-item-milestone {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .history .list-milestones .item-milestone .header-item-milestone,
  .history .list-milestones .item-milestone .info-item-milestone,
  .history .title-list-milestones {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .period-milestone,
  .description-milestone {
    width: 100% !important;
    min-width: 100% !important;
    font-size: 32px !important;
    flex: none;
  }
  .site-header .site-branding .site-title {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
