@charset "UTF-8";
/* ========================= RESET ========================= */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*, *::before, *::after {
  box-sizing: border-box;
}

a, button {
  cursor: revert;
}

ol, ul, menu {
  list-style: none;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
  -moz-user-select: auto;
       user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
  -webkit-user-select: auto;
  -moz-user-select: auto;
       user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  display: none;
}

/* ========================= LENIS SMOOTH SCROLL ========================= */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis-stopped {
  overflow: hidden;
}

.lenis-scrolling iframe {
  pointer-events: none;
}

/* ========================= FONTS ========================= */
@font-face {
  font-family: "Inter Web";
  src: url("../fonts/Inter-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter Web";
  src: url("../fonts/Inter-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter Web";
  src: url("../fonts/Inter-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter Web";
  src: url("../fonts/Inter-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter Web";
  src: url("../fonts/Inter-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SuperGroteskComp Web";
  src: url("../fonts/SuperGroteskComp.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SuperGroteskComp Web";
  src: url("../fonts/SuperGroteskComp-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Libre Baskerville Web";
  src: url("../fonts/LibreBaskerville-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* ========================= DEFAULTS ========================= */
:root {
  --brand-10: #F2F7F7;
  --brand-20: #ECF2F3;
  --brand-30: #D8E5E5;
  --brand-40: #B2C7C8;
  --brand-50: #8BA8AB;
  --brand-60: #73999B;
  --brand-70: #608081;
  --brand-80: #4D6667;
  --brand-90: #3A4C4D;
  --brand-100: #2D3B3C;
  --brand-secondary-10: #F9F4F4;
  --brand-secondary-20: #F2EDEE;
  --brand-secondary-30: #E3D6D6;
  --brand-secondary-40: #D0B1B3;
  --brand-secondary-50: #BE9295;
  --brand-secondary-60: #AB7378;
  --brand-secondary-70: #7A4C53;
  --brand-secondary-80: #613039;
  --brand-secondary-90: #4C2A2F;
  --brand-secondary-100: #372225;
  --white: #FFFFFF;
  --black: #000000;
  --beige: #F8F7F4;
  --grey: #E9EBF8;
  --gray: #F8F9FA;
  --text-dark-white: #FFFFFF;
  --text-dark-secondary: #D9D9D9;
  --text-dark-disabled: #7C7C7C;
  --text-light-black: #000000;
  --text-light-footer: #535353;
  --text-light-secondary: #6B6B6B;
  --text-light-terciary: #8C8C8C;
  --divider-black: #000000;
  --divider-white: #FFFFFF;
  --divider-secondary: #CECECE;
  --divider-terciary: #E1E1E1;
}

html {
  font-size: 10px;
}

body {
  font-family: "Inter Web", sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--black);
  background: var(--white);
}

body.no-scroll {
  overflow: hidden;
}

a {
  color: var(--black);
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: var(--black);
  text-decoration: none;
  outline: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  line-height: 1;
}

strong, b {
  font-weight: 700;
}

p:last-child {
  margin-bottom: 0 !important;
}

/* ========================= GENERAL ========================= */
.container {
  max-width: 151.2rem;
  padding: 0 5.6rem;
  margin: 0 auto;
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.1rem solid var(--black);
  width: -moz-fit-content;
  width: fit-content;
  color: white;
  background-color: black;
  transition: all 0.3s ease;
}
.btn.btn-m {
  height: 4rem;
  padding: 2rem;
  font-size: 1.4rem;
}
.btn.btn-light {
  background-color: white;
  color: black;
  border-color: var(--white);
}
.btn.btn-light:hover {
  background-color: var(--brand-40);
  border-color: var(--brand-40);
}
.btn.btn-trans-light {
  background-color: transparent;
  border-color: var(--white);
}
.btn.btn-trans-light:hover {
  color: var(--brand-40);
  border-color: var(--brand-40);
}

.btn-link {
  color: var(--black);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  display: inline-flex;
  gap: 0.6rem;
}
.btn-link span {
  display: inline-block;
  border-bottom: 0.1rem solid transparent;
  transition: all 0.3s ease;
}
.btn-link:hover span {
  border-bottom-color: var(--black);
}

.heading-xxl {
  font-size: 6rem;
}

.heading-xl {
  font-size: 5.2rem;
}

.heading-l {
  font-size: 4rem;
}

.heading-m {
  font-size: 3.6rem;
}

.heading-s {
  font-size: 2.4rem;
}

.heading-xs {
  font-size: 2.2rem;
}

.controls {
  display: flex;
  align-items: center;
  gap: 4rem;
}
.controls .dots {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.controls .dots .dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
  background: #949494;
}
.controls .dots .dot.is-active {
  background: transparent;
  border: 0.2rem solid var(--black);
}
.controls .arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.controls .arrows button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.2rem;
  height: 4.2rem;
  border: 0.1rem solid var(--divider-terciary);
  border-radius: 50%;
  background: var(--white);
  color: var(--text-light-terciary);
  color: var(--black);
  cursor: pointer;
  transition: all 0.3s ease;
}
.controls .arrows button svg {
  width: 2rem;
  height: 2rem;
}
.controls .arrows button.swiper-button-disabled {
  pointer-events: none;
  color: var(--text-light-terciary) !important;
}
.controls .arrows button:not(.swiper-button-disabled):hover {
  background-color: var(--brand-40);
  border-color: var(--brand-40);
}

/* ========================= CUSTOM ========================= */
header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  height: 9rem;
  transition: background-color 0.3s ease;
}
header .container {
  max-width: none;
  padding: 1.6rem 5.6rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .logo {
  position: absolute;
  left: 5.6rem;
  top: 2.4rem;
  width: 11.6rem;
  height: 10.9rem;
  z-index: 2;
  color: var(--white);
  display: block;
  transition: width 0.3s ease, height 0.3s ease, top 0.3s ease, color 0.3s ease;
}
header .logo svg {
  width: 100%;
  height: 100%;
  display: block;
}
header nav {
  margin-left: 16rem;
}
header nav > ul {
  display: flex;
  align-items: center;
  gap: 4.8rem;
}
header nav > ul > li {
  position: relative;
}
header nav > ul > li > a {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 1.2rem 0 0.4rem;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  transition: color 0.3s ease, border-color 0.3s ease;
  border-bottom: 1px solid transparent;
  min-height: 4.4rem;
}
header nav > ul > li > a svg {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
}
header nav > ul > li:hover > a, header nav > ul > li.is-active > a {
  border-bottom-color: currentColor;
}
header .utils {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
header .utils a {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  transition: color 0.3s ease;
}
header .utils a svg {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
}
header.is-internal {
  background: var(--black);
}
header.is-internal .logo {
  width: 6.4rem;
  height: 6rem;
  top: 1.5rem;
}
header.is-scrolled:not(.is-internal):not(.is-beige), header.menu-open, header.search-open, header.is-light, header.is-beige {
  background: var(--white);
}
header.is-scrolled:not(.is-internal):not(.is-beige) .logo, header.menu-open .logo, header.search-open .logo, header.is-light .logo, header.is-beige .logo {
  width: 6.4rem;
  height: 6rem;
  top: 1.5rem;
  color: var(--black);
}
header.is-scrolled:not(.is-internal):not(.is-beige) nav > ul > li > a,
header.is-scrolled:not(.is-internal):not(.is-beige) .utils a, header.menu-open nav > ul > li > a,
header.menu-open .utils a, header.search-open nav > ul > li > a,
header.search-open .utils a, header.is-light nav > ul > li > a,
header.is-light .utils a, header.is-beige nav > ul > li > a,
header.is-beige .utils a {
  color: var(--black);
}
header.is-beige {
  background: var(--beige);
}
header .megamenu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: flex-start;
  min-height: 45.8rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  pointer-events: none;
}
header .megamenu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
header .megamenu .col {
  flex: 0 0 37.8rem;
  padding: 6.4rem 3.2rem 6.4rem 5.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-self: stretch;
}
header .megamenu .col .label {
  font-family: "Inter Web", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--text-light-secondary);
  margin: 0;
}
header .megamenu .col ul {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
header .megamenu .col li a {
  font-family: "Inter Web", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--black);
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
}
header .megamenu .col li a .arrow {
  width: 0;
  height: 1.6rem;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: width 0.15s ease, opacity 0.15s ease, margin-right 0.15s ease;
}
header .megamenu .col-level2 li {
  position: relative;
}
header .megamenu .col-level2 li.is-active > a {
  font-style: italic;
  font-weight: 300;
}
header .megamenu .col-level2 li.is-active > a .arrow {
  width: 1.6rem;
  opacity: 1;
  margin-right: 0.4rem;
}
header .megamenu .col-level2 li:hover > a {
  font-style: italic;
  font-weight: 300;
  text-decoration: underline;
}
header .megamenu .col-level2 li:hover > a .arrow {
  width: 1.6rem;
  opacity: 1;
  margin-right: 0.4rem;
}
header .megamenu .col-level3 {
  flex: 1 1 auto;
  padding: 10.6rem 3.2rem 6.4rem 5.6rem;
  overflow: hidden;
  display: grid;
}
header .megamenu .col-level3 > ul {
  grid-area: 1/1;
  display: flex;
  opacity: 0;
  transform: translateX(80vw);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.6s ease;
}
header .megamenu .col-level3 > ul.is-visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
header .megamenu .col-level3 li a {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  min-height: 2.2rem;
}
header .megamenu .col-level3 li a .arrow {
  height: 1.2rem;
}
header .megamenu .col-level3 li a:hover {
  font-style: italic;
  font-weight: 300;
  text-decoration: underline;
}
header .megamenu .col-level3 li a:hover .arrow {
  width: 1.2rem;
  opacity: 1;
  margin-right: 0.4rem;
}

.overlay {
  position: fixed;
  inset: 0;
  z-index: 99;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

header.menu-open ~ .overlay,
header.search-open ~ .overlay,
header.contact-open ~ .overlay {
  opacity: 1;
  visibility: visible;
}

header.contact-open ~ .overlay {
  z-index: 105;
}

.contact-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 46rem;
  background: var(--white);
  z-index: 110;
  padding: 2.4rem 3.2rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.35s ease, visibility 0.35s ease;
}
.contact-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
}
.contact-drawer header {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 0;
  background: transparent;
  position: static;
  height: auto;
  transition: none;
}
.contact-drawer header .close {
  align-self: flex-end;
  width: 2.4rem;
  height: 2.4rem;
  cursor: pointer;
  padding: 1rem 0;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-drawer header .close svg {
  display: block;
}
.contact-drawer header h2 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.21;
  color: var(--black);
  margin: 0;
}
.contact-drawer header p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #8C8C8C;
  margin: 0;
}
.contact-drawer form {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.contact-drawer .field {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.contact-drawer .field label {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.21;
  color: var(--black);
  display: inline-flex;
  align-items: center;
}
.contact-drawer .field .req {
  color: #F5554B;
  font-weight: 400;
  padding-left: 0.2rem;
}
.contact-drawer .field input,
.contact-drawer .field textarea {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  padding: 1.2rem;
  border: 1px solid #CFCFCF;
  border-radius: 0.4rem;
  background: var(--white);
  width: 100%;
  box-sizing: border-box;
}
.contact-drawer .field input::-moz-placeholder, .contact-drawer .field textarea::-moz-placeholder {
  color: #8C8C8C;
}
.contact-drawer .field input::placeholder,
.contact-drawer .field textarea::placeholder {
  color: #8C8C8C;
}
.contact-drawer .field input {
  height: 4.6rem;
}
.contact-drawer .field textarea {
  min-height: 22.2rem;
  resize: vertical;
}
.contact-drawer .field.phone .input-wrap {
  display: flex;
  align-items: center;
  padding: 0 1.2rem;
  gap: 0.8rem;
  height: 4.6rem;
  border: 1px solid #CFCFCF;
  border-radius: 0.4rem;
  background: var(--white);
}
.contact-drawer .field.phone .code {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: var(--black);
  flex-shrink: 0;
  padding-right: 0.4rem;
}
.contact-drawer .field.phone input {
  border: none;
  padding: 0;
  height: auto;
  flex: 1;
}
.contact-drawer .field.phone input::-moz-placeholder {
  color: #8C8C8C;
}
.contact-drawer .field.phone input::placeholder {
  color: #8C8C8C;
}
.contact-drawer .field.textarea .counter {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.21;
  color: #8C8C8C;
  align-self: flex-start;
}
.contact-drawer .field .optional {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  color: #8C8C8C;
  padding-left: 0.2rem;
}
.contact-drawer .field.dropdown {
  position: relative;
}
.contact-drawer .field.dropdown .select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  height: 4.6rem;
  padding: 0 1.2rem;
  border: 1px solid #CFCFCF;
  border-radius: 0.4rem;
  background: var(--white);
  cursor: pointer;
  outline: none;
}
.contact-drawer .field.dropdown .select-value {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #8C8C8C;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-drawer .field.dropdown .select-value.has-value {
  color: var(--black);
}
.contact-drawer .field.dropdown .caret {
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.contact-drawer .field.dropdown.is-open .caret {
  transform: rotate(180deg);
}
.contact-drawer .field.dropdown .options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0.4rem 0 0;
  padding: 0;
  max-height: 30rem;
  overflow-y: auto;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
  border-radius: 0.8rem;
  z-index: 10;
}
.contact-drawer .field.dropdown.is-open .options {
  display: block;
}
.contact-drawer .field.dropdown .options li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.6rem 1.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.contact-drawer .field.dropdown .options li:hover {
  background: rgba(0, 0, 0, 0.04);
}
.contact-drawer .field.dropdown.multi .options li {
  padding: 0;
}
.contact-drawer .field.dropdown.multi .options li label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: 100%;
  padding: 1.6rem 1.2rem;
  cursor: pointer;
}
.contact-drawer .field.dropdown.multi .options li input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--black);
  border-radius: 0.2rem;
  flex-shrink: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
}
.contact-drawer .field.dropdown.multi .options li input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  inset: 0.3rem;
  background: var(--black);
  border-radius: 0.1rem;
}
.contact-drawer .checkbox-intro {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.21;
  color: #535353;
  margin: 0;
}
.contact-drawer .legal {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.21;
  color: #535353;
  margin: 0;
}
.contact-drawer .checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.21;
  color: #535353;
  cursor: pointer;
}
.contact-drawer .checkbox input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--black);
  border-radius: 0.2rem;
  flex-shrink: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
}
.contact-drawer .checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  inset: 0.3rem;
  background: var(--black);
  border-radius: 0.1rem;
}
.contact-drawer .submit {
  align-self: flex-start;
  padding: 1.4rem 2rem;
  background: #8C8C8C;
  color: #D9D9D9;
  border-radius: 0.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.21;
  cursor: not-allowed;
  min-width: 9.2rem;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.contact-drawer .submit.is-active {
  background: var(--black);
  color: var(--white);
  cursor: pointer;
}
.contact-drawer form[hidden],
.contact-drawer .success[hidden] {
  display: none;
}
.contact-drawer.is-success header h2, .contact-drawer.is-success header p {
  display: none;
}
.contact-drawer .success {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  padding: 0 4.8rem;
  text-align: center;
}
.contact-drawer .success .head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
.contact-drawer .success svg {
  width: 6rem;
  height: 6rem;
  display: block;
}
.contact-drawer .success h2 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.21;
  color: var(--black);
  margin: 0;
}
.contact-drawer .success p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #535353;
  margin: 0;
}
.contact-drawer.is-success {
  gap: 10rem;
}

header .search {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  min-height: 38.4rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
header .search.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
header .search .col-left {
  flex: 1 1 50%;
  padding: 6.4rem 3.2rem 6.4rem 5.6rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
header .search .col-right {
  flex: 1 1 50%;
}
header .search .head {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
header .search .label {
  font-family: "Inter Web", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--text-light-secondary);
  margin: 0;
}
header .search .search-box {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.6rem;
  height: 5.2rem;
  background: var(--white);
  border: 1px solid #E8E8E8;
  border-radius: 0.4rem;
}
header .search .search-box svg {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}
header .search .search-box input {
  flex: 1;
  font-family: "Inter Web", sans-serif;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
header .search .search-box input::-moz-placeholder {
  color: #646464;
}
header .search .search-box input::placeholder {
  color: #646464;
}
header .search .search-box input::-webkit-search-cancel-button {
  display: none;
}
header .search .search-box .clear {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  cursor: pointer;
  flex-shrink: 0;
}
header .search .search-box input:-moz-placeholder ~ .clear {
  display: none;
}
header .search .search-box input:placeholder-shown ~ .clear {
  display: none;
}
header .search .results {
  display: flex;
}
header .search .results .col {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
header .search .results .col + .col {
  padding-left: 5.6rem;
}
header .search h2 {
  font-family: "Inter Web", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
}
header .search .suggerides h2 {
  color: var(--black);
}
header .search .populars h2 {
  color: #181818;
}
header .search ul {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
header .search li a {
  font-family: "Inter Web", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}
header .search .suggerides li a {
  color: var(--black);
}
header .search .suggerides li.more a {
  color: #6B6B6B;
  text-decoration: underline;
}
header .search .populars li a {
  color: #535353;
}

header .utils .search-trigger.is-open span {
  text-decoration: underline;
}

section.hero {
  position: relative;
  width: 100%;
  height: 100svh;
  overflow: hidden;
}
section.hero video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.hero .accessibility {
  position: absolute;
  bottom: 2.4rem;
  left: 2.4rem;
  padding: 0;
  background: none;
  border: 0;
  line-height: 0;
}
section.hero .scroll-hint {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--white);
}
section.hero .media-controls {
  position: absolute;
  bottom: 2.4rem;
  right: 2.4rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
section.hero .media-controls button {
  height: 4.4rem;
  border-radius: 2.2rem;
  background-color: color-mix(in srgb, var(--white) 70%, transparent);
  transition: all 0.3s ease;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.hero .media-controls button:hover {
  background-color: color-mix(in srgb, var(--white) 100%, transparent);
}
section.hero .media-controls button.audio {
  width: 4.4rem;
}
section.hero .media-controls button.audio .ico-on {
  display: none;
}
section.hero .media-controls button.audio .ico-off {
  display: block;
}
section.hero .media-controls button.audio.is-active .ico-on {
  display: block;
}
section.hero .media-controls button.audio.is-active .ico-off {
  display: none;
}
section.hero .media-controls button.pause {
  font-size: 1.4rem;
  text-transform: uppercase;
  font-weight: 500;
  padding: 0 1.8rem 0 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  --pausar-width: 10rem;
  --reproducir-width: 13rem;
}
section.hero .media-controls button.pause .pausar,
section.hero .media-controls button.pause .reproducir {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  transition: max-width 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s ease;
}
section.hero .media-controls button.pause .pausar {
  max-width: var(--pausar-width);
  opacity: 1;
  visibility: visible;
}
section.hero .media-controls button.pause .reproducir {
  max-width: 0;
  opacity: 0;
  visibility: hidden;
}
section.hero .media-controls button.pause.is-paused .pausar {
  max-width: 0;
  opacity: 0;
  visibility: hidden;
}
section.hero .media-controls button.pause.is-paused .reproducir {
  max-width: var(--reproducir-width);
  opacity: 1;
  visibility: visible;
}

section.texto-destacado {
  padding: 20rem 0;
  background: var(--white);
}
section.texto-destacado h2 {
  max-width: 93rem;
}

section.home-areas {
  padding: 4rem 0 10rem;
  background: var(--white);
}
section.home-areas .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--black);
  margin-bottom: 4rem;
  text-transform: uppercase;
}
section.home-areas .content {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
}
section.home-areas ul {
  flex: 1;
  max-width: 57.6rem;
  display: flex;
  flex-direction: column;
}
section.home-areas li {
  padding: 0.2rem 0;
  width: -moz-fit-content;
  width: fit-content;
}
section.home-areas li button {
  display: flex;
  align-items: center;
  text-align: left;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
  cursor: pointer;
  transition: font-weight 150ms ease, font-style 150ms ease;
}
section.home-areas li .arrow {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  width: 0;
  opacity: 0;
  flex-shrink: 0;
  transition: width 150ms ease, opacity 150ms ease, margin-right 150ms ease;
}
section.home-areas li .arrow svg {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
}
section.home-areas li.is-active button, section.home-areas li:hover button {
  font-style: italic;
  font-weight: 300;
}
section.home-areas li.is-active .arrow, section.home-areas li:hover .arrow {
  width: 4rem;
  opacity: 1;
  margin-right: 1.6rem;
}
section.home-areas .images {
  position: relative;
  flex: 0 0 80rem;
  width: 80rem;
  height: 60rem;
}
section.home-areas .images img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 1.6rem;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 150ms ease;
}
section.home-areas .images img.is-active {
  opacity: 1;
}

section.la-fundacion {
  position: relative;
  margin: 0 0.5rem;
  padding: 8rem 0;
  background: #0C0E0E;
  color: var(--white);
  border-radius: 1.6rem 1.6rem 0 0;
  display: grid;
  grid-template-columns: 1fr;
}
section.la-fundacion .label {
  border-bottom: 0.1rem solid var(--white);
  padding-bottom: 1.6rem;
  margin-bottom: 6.3rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--white);
}
section.la-fundacion .content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 50.9rem;
}
section.la-fundacion .stat {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
}
section.la-fundacion .stat .number {
  font-family: "Inter Web", sans-serif;
  font-weight: 200;
  font-size: 30rem;
  line-height: 36.3rem;
  color: var(--white);
}
section.la-fundacion .stat p {
  padding-top: 6.3rem;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 4rem;
  color: var(--white);
}
section.la-fundacion .description {
  width: 43.1rem;
}
section.la-fundacion .description p {
  font-family: "Inter Web", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 2.2rem;
  color: var(--white);
}
section.la-fundacion .floating-grid {
  display: flex;
  justify-content: space-between;
}
section.la-fundacion .floating-grid .col {
  display: flex;
  flex-direction: column;
}
section.la-fundacion .floating-grid .col img {
  width: 13.8rem;
  height: 13.7rem;
  border-radius: 0.8rem;
  -o-object-fit: cover;
     object-fit: cover;
}
section.la-fundacion .floating-grid .col.left {
  padding-top: 9.1rem;
}
section.la-fundacion .floating-grid .col.left .img:nth-child(1) {
  margin-bottom: 24rem;
  margin-left: 7.4rem;
}
section.la-fundacion .floating-grid .col.left .img:nth-child(2) {
  margin-bottom: 24rem;
  margin-left: 14rem;
}
section.la-fundacion .floating-grid .col.right {
  align-items: end;
}
section.la-fundacion .floating-grid .col.right .img:nth-child(1) {
  margin-bottom: 28.2rem;
  margin-right: 8.7rem;
}
section.la-fundacion .floating-grid .col.right .img:nth-child(2) {
  margin-bottom: 19.9rem;
  margin-right: 5.6rem;
}
section.la-fundacion .floating-grid .col.right .img:nth-child(3) {
  margin-right: 28.3rem;
}
section.la-fundacion .capa-atras {
  grid-area: 1/1;
  position: relative;
  z-index: 1;
}
section.la-fundacion .capa-adelante {
  grid-area: 1/1;
  position: relative;
  z-index: 2;
  padding-top: 68rem;
  pointer-events: none;
  display: flex;
  justify-content: center;
  width: 100%;
}
section.la-fundacion .capa-adelante .main-card {
  position: sticky;
  top: calc(50vh - 28rem);
  pointer-events: auto;
  width: 82.4rem;
  height: 56rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
section.la-fundacion .capa-adelante .main-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 0;
}
section.la-fundacion .capa-adelante .main-card .main-card-content {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  transition: all 0.5s ease;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.8) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
section.la-fundacion .capa-adelante .main-card.animado .main-card-content {
  opacity: 1;
}
section.la-fundacion .capa-adelante .main-card .box {
  width: 35rem;
}
section.la-fundacion .capa-adelante .main-card .box h3 {
  margin-bottom: 7.2rem;
}
section.la-fundacion .capa-adelante .main-card .box .botones {
  display: flex;
  justify-content: space-between;
  gap: 2.3rem;
}
section.la-fundacion .capa-adelante .main-card .box .botones .btn {
  flex: 1;
}

section.home-impacto {
  padding: 12rem 0;
}
section.home-impacto .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
section.home-impacto .intro {
  width: 32.6rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.home-impacto .intro .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 2.4rem;
  color: var(--black);
}
section.home-impacto .dates {
  width: 99.6rem;
  display: flex;
  justify-content: space-between;
}
section.home-impacto .dates .col {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
section.home-impacto .dates .col:nth-child(2) {
  padding-top: 8rem;
}
section.home-impacto .dates .col:nth-child(3) {
  padding-top: 17.1rem;
}
section.home-impacto .dates .card {
  width: 32.4rem;
  height: 24.4rem;
  padding: 2.2rem 1.2rem 1.2rem;
  border-radius: 0.4rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
section.home-impacto .dates .card .number {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 8rem;
  line-height: 8rem;
}
section.home-impacto .dates .card .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
}
section.home-impacto .dates .col:nth-child(1) .card:nth-child(1) {
  background: var(--brand-30);
}
section.home-impacto .dates .col:nth-child(1) .card:nth-child(2) {
  background: var(--brand-70);
}
section.home-impacto .dates .col:nth-child(2) .card:nth-child(1) {
  background: var(--brand-50);
}
section.home-impacto .dates .col:nth-child(2) .card:nth-child(2) {
  background: var(--brand-secondary-60);
}
section.home-impacto .dates .col:nth-child(3) .card:nth-child(1) {
  background: var(--brand-secondary-40);
}
section.home-impacto .dates .card:nth-child(2) {
  color: var(--white);
}
section.home-impacto .dates .link {
  display: inline-flex;
  align-self: flex-end;
  align-items: center;
  gap: 0.64rem;
  margin-top: 13.5rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.9rem;
  color: var(--black);
}
section.home-impacto .dates .link .arrow {
  display: inline-flex;
}
section.home-impacto .dates .link .arrow svg {
  width: 1.4rem;
  height: 1.4rem;
}

section.home-destacados {
  padding: 10rem 0;
  background: var(--gray);
}
section.home-destacados .container {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
section.home-destacados .header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
section.home-destacados .track {
  scrollbar-width: none;
}
section.home-destacados .track::-webkit-scrollbar {
  display: none;
}
section.home-destacados .card {
  flex: 0 0 calc((100% - 11.2rem) / 3);
  height: 46.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.home-destacados .card .image {
  height: 26.4rem;
  flex-shrink: 0;
  border-radius: 0.8rem;
  overflow: hidden;
}
section.home-destacados .card .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.home-destacados .card .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  justify-content: space-between;
}
section.home-destacados .card .head {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 1.6rem;
}
section.home-destacados .card .label {
  font-size: 1.2rem;
}
section.home-destacados .card .text p {
  font-size: 1.4rem;
}
section.home-destacados .card .link {
  padding-top: 1.6rem;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
}

section.home-testimonios {
  padding: 10rem 0;
  overflow: hidden;
}
section.home-testimonios .container {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
section.home-testimonios .header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
section.home-testimonios .header h2 {
  width: 59.9rem;
}
section.home-testimonios .track {
  overflow: visible;
}
section.home-testimonios .card {
  height: 35rem;
}
section.home-testimonios .panel {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 2rem;
  border-radius: 0.8rem;
  background: var(--brand-20);
}
section.home-testimonios .panel .text p {
  font-family: "Libre Baskerville Web", serif;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 3rem;
  letter-spacing: -0.04em;
  color: var(--black);
}
section.home-testimonios .panel .author {
  margin-top: auto;
  padding-top: 1.6rem;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.1);
  font-family: "Inter Web", sans-serif;
  font-weight: 300;
  font-size: 1.2rem;
  line-height: 1.2;
  color: var(--black);
}
section.home-testimonios .foto {
  width: 21rem;
  border-radius: 0.8rem;
  overflow: hidden;
}
section.home-testimonios .foto img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.home-testimonios .combo {
  width: 32.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.home-testimonios .combo .image {
  height: 16.7rem;
  border-radius: 0.8rem;
  overflow: hidden;
}
section.home-testimonios .combo .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.home-testimonios .combo .panel {
  height: 16.7rem;
  gap: 1.2rem;
  padding: 1.6rem;
  overflow: hidden;
}
section.home-testimonios .combo .panel .text p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
section.home-testimonios .cita {
  width: 32.5rem;
}
section.home-testimonios .cita .panel {
  height: 100%;
  background: var(--brand-70);
}
section.home-testimonios .cita .panel .text p {
  color: var(--white);
}
section.home-testimonios .cita .panel .author {
  border-top-color: rgba(255, 255, 255, 0.1);
  font-weight: 400;
  color: var(--white);
}

section.hero-interna {
  background: var(--black);
  padding: 19rem 0 0;
}
section.hero-interna .head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 5.1rem;
  padding-bottom: 5rem;
}
section.hero-interna h1 {
  font-size: 6rem;
  line-height: 1;
  color: var(--white);
  margin: 0;
  flex: 1;
}
section.hero-interna .subtitle {
  font-family: "Inter Web", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.22;
  color: var(--white);
  text-align: right;
  max-width: 62.3rem;
  margin: 0;
}
section.hero-interna .img {
  position: relative;
  padding: 0 0.8rem;
}
section.hero-interna .img img {
  display: block;
  width: 100%;
  height: 49.3rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.hero-interna .img::after {
  content: "";
  position: absolute;
  inset: 0 0.8rem;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 63.94%, rgba(255, 255, 255, 0.08) 100%);
  border-radius: 0.8rem;
  pointer-events: none;
}

.accessibility {
  position: fixed;
  left: 2.4rem;
  bottom: 2.4rem;
  width: 4.4rem;
  height: 4.4rem;
  cursor: pointer;
  z-index: 200;
}
.accessibility svg {
  display: block;
  width: 100%;
  height: 100%;
}

section.breadcrumbs {
  background: var(--white);
  padding: 2.4rem 0 0;
}
section.breadcrumbs nav {
  display: flex;
  align-items: center;
}
section.breadcrumbs nav a, section.breadcrumbs nav span {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 2rem;
  color: var(--text-light-terciary);
}
section.breadcrumbs nav a {
  letter-spacing: 0.015em;
  cursor: pointer;
}
section.breadcrumbs nav a:hover {
  text-decoration: underline;
}
section.breadcrumbs nav span {
  font-weight: 500;
  color: var(--text-light-secondary);
}
section.breadcrumbs nav .chevron {
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
}

section.programa-hero {
  background: #F8F7F4;
  padding: 19rem 0 10rem;
}
section.programa-hero .container {
  display: flex;
  align-items: flex-start;
  gap: 18rem;
}
section.programa-hero .info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
section.programa-hero .chip {
  align-self: flex-start;
  padding: 0.8rem 1.6rem;
  border: 1px solid #CFCFCF;
  border-radius: 999px;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.25;
  color: #535353;
}
section.programa-hero .text {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.programa-hero h1 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 6rem;
  line-height: 1;
  color: var(--black);
  margin: 0;
}
section.programa-hero .text p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.2;
  color: var(--black);
  margin: 0;
}
section.programa-hero .img {
  flex: 0 0 63.7rem;
}
section.programa-hero .img img {
  display: block;
  width: 100%;
  height: 38.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}

section.programa-intro {
  background: var(--white);
  padding: 12rem 0;
}
section.programa-intro h2 {
  max-width: 104.6rem;
  margin: 0 auto;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

section.programa-tabs {
  position: sticky;
  top: 9rem;
  z-index: 10;
  background: var(--white);
  height: 8.6rem;
}
section.programa-tabs .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
}
section.programa-tabs .tabs {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding-top: 2.4rem;
}
section.programa-tabs .tabs a {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  padding-bottom: 2.4rem;
  border-bottom: 0.2rem solid transparent;
  cursor: pointer;
  white-space: nowrap;
}
section.programa-tabs .tabs a.is-active, section.programa-tabs .tabs a:hover {
  border-bottom-color: var(--black);
}
section.programa-tabs .btn {
  flex-shrink: 0;
}

section.accordion {
  background: var(--white);
  padding: 6rem 0 0;
}
section.accordion .item {
  padding-bottom: 6rem;
  border-bottom: 0.1rem solid var(--black);
}
section.accordion .head {
  font-size: 4.8rem;
  line-height: 1;
}
section.accordion .head button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8rem;
  width: 100%;
  cursor: pointer;
}
section.accordion .head .toggle {
  width: 4.8rem;
  height: 4.8rem;
  flex-shrink: 0;
}
section.accordion .content {
  margin-top: 6rem;
}
section.accordion .content .row {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  width: 86rem;
  margin-left: auto;
  padding: 4rem 1.6rem;
  border-bottom: 0.1rem solid #5A5A5A;
  box-sizing: border-box;
}
section.accordion .content .row .title {
  flex: 0 0 24rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  color: var(--black);
}
section.accordion .content .row .text {
  flex: 1;
}
section.accordion .content .row .text p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--text-light-footer);
}
section.accordion:not(.is-open) .content {
  display: none;
}
section.accordion:not(.is-open) .head .toggle .vert {
  display: block;
}
section.accordion.is-open .head .toggle .vert {
  display: none;
}
section.accordion.is-dark {
  background: var(--black);
  padding-top: 4rem;
}
section.accordion.is-dark .item {
  padding-bottom: 4rem;
  border-bottom-color: var(--white);
}
section.accordion.is-dark .head {
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: var(--white);
}
section.accordion.is-dark .head .toggle {
  stroke: var(--white);
}

section.transition-hero {
  background: var(--white);
}
section.transition-hero .container {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
section.transition-hero h2 {
  font-size: 4.8rem;
  line-height: 1;
}
section.transition-hero .media {
  padding: 8rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.transition-hero .media .frame {
  width: 29.9rem;
  height: 41.6rem;
  flex-shrink: 0;
}
section.transition-hero .media .frame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}

section.event-details {
  background: var(--black);
  padding: 4rem 0 6rem;
}
section.event-details .grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4.9rem 19rem;
  border-top: 0.1rem solid var(--white);
  padding-top: 3.2rem;
}
section.event-details .grid .col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
section.event-details .grid .col .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.3;
  color: #696969;
}
section.event-details .grid .col .value {
  font-family: "Inter Web", sans-serif;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 1.3;
  color: var(--white);
}

section.programa-statement {
  background: var(--black);
  padding: 12rem 0;
}
section.programa-statement h2 {
  max-width: 104.6rem;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
}

section.image-gallery {
  background: var(--black);
  padding: 12rem 0;
}
section.image-gallery .container {
  display: flex;
  justify-content: flex-end;
}
section.image-gallery .controls {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding-left: 1.6rem;
}
section.image-gallery .dots {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
section.image-gallery .dots .dot {
  box-sizing: border-box;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
  background: #5A5A5A;
}
section.image-gallery .dots .dot.is-active {
  background: transparent;
  border: 0.2rem solid var(--white);
}
section.image-gallery .arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
section.image-gallery .arrows button {
  box-sizing: border-box;
  width: 4.4rem;
  height: 4.4rem;
  border: 0.1rem solid #5A5A5A;
  border-radius: 999px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
section.image-gallery .arrows button svg {
  width: 2rem;
  height: 2rem;
}
section.image-gallery .track {
  min-height: 45.6rem;
  margin-top: 3.2rem;
  padding-block: 1.6rem;
  padding-left: calc(max((100vw - 151.2rem) / 2, 0px) + 5.6rem);
  padding-right: 0;
  display: flex;
  align-items: center;
  gap: 8rem;
  overflow-x: auto;
  scrollbar-width: none;
}
section.image-gallery .track::-webkit-scrollbar {
  display: none;
}
section.image-gallery .track .image {
  flex: none;
  width: 38rem;
  height: 38rem;
  background: #A3A3A3;
  border-radius: 0.4rem;
}
section.image-gallery .track .image.landscape {
  height: 25.3rem;
}

section.video-gallery {
  background: var(--black);
  padding: 8rem 0 10rem;
}
section.video-gallery .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
section.video-gallery .header h2 {
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
}
section.video-gallery .controls {
  padding-left: 1.6rem;
}
section.video-gallery .controls .dots .dot {
  background: #5A5A5A;
}
section.video-gallery .controls .dots .dot.is-active {
  border-color: var(--white);
}
section.video-gallery .controls .arrows button {
  width: 4.4rem;
  height: 4.4rem;
  border: 0.1rem solid #5A5A5A;
  background: transparent;
}
section.video-gallery .content {
  margin-top: 5.6rem;
  padding: 0 5.6rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 9rem;
}
section.video-gallery .list {
  flex: none;
  width: 23rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 4rem 0 2.4rem;
}
section.video-gallery .list a {
  display: flex;
  align-items: center;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.2;
  color: #A2A2A2;
  cursor: pointer;
  transition: color 0.15s ease;
}
section.video-gallery .list a .arrow {
  width: 0;
  height: 2.4rem;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: width 0.15s ease, opacity 0.15s ease, margin-right 0.15s ease;
}
section.video-gallery .list a.is-active, section.video-gallery .list a:hover {
  font-style: italic;
  font-weight: 300;
  color: var(--white);
}
section.video-gallery .list a.is-active .arrow, section.video-gallery .list a:hover .arrow {
  width: 2.4rem;
  opacity: 1;
  margin-right: 0.4rem;
}
section.video-gallery .video {
  flex: 1;
}
section.video-gallery .video img {
  display: block;
  width: 100%;
  height: 37.6rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1.6rem;
}
section.video-gallery .description {
  flex: none;
  width: 32.4rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 4rem 0 2.4rem;
}
section.video-gallery .description h3 {
  font-family: "Inter Web", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  color: var(--white);
}
section.video-gallery .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #DFDFDF;
}

section.publicaciones {
  background: var(--black);
  border-radius: 0 0 1.6rem 1.6rem;
  padding: 8rem 0;
}
section.publicaciones .container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11.2rem;
}
section.publicaciones .image {
  flex: none;
  width: 39rem;
  height: 47rem;
  background: #C4C4C4;
  transform: rotate(-5deg);
}
section.publicaciones .info {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.publicaciones .info h2 {
  font-size: 4rem;
  line-height: 1;
  color: var(--white);
  white-space: nowrap;
}
section.publicaciones .info .btn {
  padding: 1.3rem 2rem;
  gap: 0.4rem;
  border-radius: 0.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
}
section.publicaciones .info .btn .arrow {
  width: 2rem;
  height: 2rem;
}

section.status-cards {
  background: var(--gray);
  padding: 12rem 0;
}
section.status-cards .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
section.status-cards .header h2 {
  font-size: 4.8rem;
  line-height: 1;
  color: var(--black);
}
section.status-cards .track {
  margin-top: 6rem;
  padding-left: calc(max((100vw - 151.2rem) / 2, 0px) + 5.6rem);
  display: flex;
  gap: 3.2rem;
  overflow-x: auto;
  scrollbar-width: none;
}
section.status-cards .track::-webkit-scrollbar {
  display: none;
}
section.status-cards .card {
  flex: none;
  width: 42rem;
  height: 54.9rem;
  background: var(--white);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.03);
  border-radius: 1.2rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
section.status-cards .card .image {
  width: 100%;
  height: 25rem;
  flex-shrink: 0;
  background: #E8E8E8;
}
section.status-cards .card .card-content {
  flex: 1;
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
section.status-cards .card .top {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.status-cards .card .tags {
  display: flex;
  gap: 0.6rem;
}
section.status-cards .card .tags span {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  padding: 0.8rem 1.6rem;
  border-radius: 0.4rem;
}
section.status-cards .card .tags .tag-type {
  border: 0.1rem solid var(--brand-40);
  color: var(--brand-70);
}
section.status-cards .card .tags .tag-status {
  background: var(--brand-30);
  color: var(--brand-90);
}
section.status-cards .card .info {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
section.status-cards .card .info h3 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.2;
  color: var(--black);
  padding-bottom: 1.2rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
}
section.status-cards .card .info .lines {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
section.status-cards .card .info .lines span {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2;
  color: var(--text-light-secondary);
}
section.status-cards .card .buttons {
  display: flex;
  gap: 1.6rem;
}
section.status-cards .card .buttons .btn {
  flex: 1;
  padding: 1.2rem 2rem;
  border-radius: 0.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
}
section.status-cards .card .buttons .btn.outline {
  background: transparent;
  color: var(--black);
}

section.text-image {
  background: var(--white);
}
section.text-image .container {
  display: flex;
  align-items: stretch;
  gap: 4.8rem;
  min-height: 68.8rem;
}
section.text-image .text {
  flex: 1;
  padding: 4rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4rem;
}
section.text-image .chip {
  padding: 0.8rem 1.6rem;
  border: 0.1rem solid #CFCFCF;
  border-radius: 999px;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.25;
  color: #535353;
}
section.text-image .info {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.text-image .head {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
section.text-image .head h2 {
  font-size: 4.8rem;
  line-height: 1;
  color: var(--black);
}
section.text-image .head .date {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1;
  color: var(--black);
}
section.text-image .description {
  max-width: 41.6rem;
}
section.text-image .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.text-image .image {
  flex: 1;
  border-radius: 0.8rem;
  overflow: hidden;
}
section.text-image .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

section.programa-list {
  background: var(--white);
  padding: 8rem 0;
}
section.programa-list .container {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
section.programa-list .list-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
section.programa-list .list-head h2 {
  font-size: 4.8rem;
  line-height: 1;
  color: var(--black);
}
section.programa-list .list-head .toggle {
  width: 4.8rem;
  height: 4.8rem;
  flex-shrink: 0;
}
section.programa-list .filter {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.2rem;
  width: 13.3rem;
  height: 4.6rem;
  border: 0.1rem solid #CFCFCF;
  border-radius: 0.4rem;
  box-sizing: border-box;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--text-light-terciary);
  cursor: pointer;
}
section.programa-list .filter .ico {
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
}
section.programa-list .filter span {
  flex: 1;
}
section.programa-list .filter .caret {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}
section.programa-list .cards {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.programa-list .card {
  display: flex;
  gap: 7.2rem;
  height: 30.7rem;
}
section.programa-list .card .image {
  flex: none;
  width: 48rem;
  height: 30.7rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background: #C4C4C4;
}
section.programa-list .card .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.programa-list .card .content {
  flex: 1;
  padding: 5rem 0 3rem;
  border-top: 0.1rem solid var(--divider-terciary);
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
section.programa-list .card .text {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
section.programa-list .card .head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
section.programa-list .card .tag {
  padding: 0.8rem 1.6rem;
  background: var(--beige);
  border-radius: 0.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  color: var(--text-light-secondary);
}
section.programa-list .card h3 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1.21;
  color: var(--black);
}
section.programa-list .card p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--text-light-secondary);
}
section.programa-list .card .btn-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.2;
  color: var(--black);
}
section.programa-list .card .btn-link .arrow {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
section.programa-list .load-more {
  display: flex;
  justify-content: center;
  padding: 1.6rem 0;
}
section.programa-list .load-more a {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 0.3em;
  cursor: pointer;
}

section.recomendaciones {
  background: #FDFCFA;
  padding: 6rem 0;
}
section.recomendaciones .container {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
section.recomendaciones h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 1;
  color: var(--black);
}
section.recomendaciones .cards {
  display: flex;
  border: 0.1rem solid var(--divider-terciary);
  border-radius: 0.8rem;
  overflow: hidden;
}
section.recomendaciones .card {
  flex: 1;
  padding: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  border-right: 0.1rem solid var(--divider-terciary);
}
section.recomendaciones .card:last-child {
  border-right: none;
}
section.recomendaciones .card .top {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
section.recomendaciones .card .head {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.recomendaciones .card .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.25;
  color: var(--text-light-terciary);
}
section.recomendaciones .card h3 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.227;
  color: var(--black);
}
section.recomendaciones .card p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.recomendaciones .card .link {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--text-light-terciary);
}

section.filtros-hero {
  background: var(--white);
  padding-top: 19rem;
}
section.filtros-hero .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 5.1rem;
  padding-bottom: 6rem;
}
section.filtros-hero h1 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 6rem;
  line-height: 1;
  color: var(--black);
  margin: 0;
  flex: 1;
}
section.filtros-hero .filtros-tabs {
  display: flex;
  justify-content: center;
  gap: 4.8rem;
  padding-top: 2.4rem;
  padding-bottom: 6rem;
}
section.filtros-hero .filtros-tabs .tab {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 0 0 2.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 2.7rem;
  color: var(--black);
  cursor: pointer;
}
section.filtros-hero .filtros-tabs .tab.is-active {
  font-weight: 600;
  border-bottom-color: var(--black);
}

section.filtros-results {
  background: var(--white);
  padding: 0;
}
section.filtros-results .container {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.filtros-results .bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
section.filtros-results .bar .actions {
  display: flex;
  gap: 6.4rem;
}
section.filtros-results .bar .actions .action {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.19;
  color: var(--black);
}
section.filtros-results .bar .actions .action svg {
  display: block;
}
section.filtros-results .bar .actions .action.clear[hidden] {
  display: none;
}
section.filtros-results .bar .counter {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.19;
  color: #6B6B6B;
}
section.filtros-results .content {
  display: flex;
  align-items: flex-start;
  gap: 5.6rem;
}
section.filtros-results .filters {
  flex: 0 0 30.4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.filtros-results .filters .group {
  padding-bottom: 3.2rem;
  border-bottom: 1px solid #CFCFCF;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.filtros-results .filters .group .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  padding: 1.4rem 0;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.19;
  color: var(--black);
  text-align: left;
  width: 100%;
}
section.filtros-results .filters .group .head svg {
  flex-shrink: 0;
  display: block;
  transition: transform 0.2s ease;
}
section.filtros-results .filters .group .options {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.filtros-results .filters .group:not(.is-open) {
  gap: 0;
}
section.filtros-results .filters .group:not(.is-open) .options {
  display: none;
}
section.filtros-results .filters .group:not(.is-open) .head svg .vert {
  display: block;
}
section.filtros-results .filters .group.is-open .head svg .vert {
  display: none;
}
section.filtros-results .filters li label {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  cursor: pointer;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4;
  color: var(--black);
}
section.filtros-results .filters input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--black);
  border-radius: 0.2rem;
  flex-shrink: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
}
section.filtros-results .filters input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  inset: 0.3rem;
  background: var(--black);
  border-radius: 0.1rem;
}
section.filtros-results .cards {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.8rem 4rem;
}
section.filtros-results.filters-hidden .filters {
  display: none;
}
section.filtros-results.filters-hidden .cards {
  grid-template-columns: repeat(4, 1fr);
}
section.filtros-results .card {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
section.filtros-results .card .img {
  width: 100%;
  aspect-ratio: 320/348;
  border-radius: 0.8rem;
  overflow: hidden;
}
section.filtros-results .card .img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.filtros-results .card .text {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
section.filtros-results .card h3 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.32;
  color: var(--black);
  margin: 0;
}
section.filtros-results .card .arrow {
  display: none;
  vertical-align: -0.3em;
  margin-left: 0.4rem;
}
section.filtros-results .card:hover .arrow {
  display: inline-block;
}
section.filtros-results .card p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.21;
  color: var(--black);
  margin: 0;
}
section.filtros-results .pagination {
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  padding: 0.8rem;
  background: var(--white);
  width: 32rem;
}
section.filtros-results .pagination .prev,
section.filtros-results .pagination .next {
  width: 4.8rem;
  height: 4.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
}
section.filtros-results .pagination .prev svg,
section.filtros-results .pagination .next svg {
  display: block;
}
section.filtros-results .pagination .main {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding-left: 0.8rem;
}
section.filtros-results .pagination .field {
  width: 4.8rem;
  height: 4.8rem;
}
section.filtros-results .pagination .field input {
  width: 100%;
  height: 100%;
  padding: 1.2rem;
  border: 1px solid #8C8C8C;
  border-radius: 0.4rem;
  background: var(--white);
  text-align: center;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  box-sizing: border-box;
}
section.filtros-results .pagination .of,
section.filtros-results .pagination .total {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  padding: 0 0.8rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #8A8A8A;
}
section.filtros-results .up-to-top {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  padding: 0.8rem 2.4rem 0.8rem 0;
  box-sizing: border-box;
}
section.filtros-results .up-to-top button {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.filtros-results .up-to-top button svg {
  display: block;
}

/* Actualitat — cards de notícies (mateixa estructura que filtros, targeta diferent) */
section.filtros-results.actualitat .cards {
  gap: 3.2rem 2.4rem;
}
section.filtros-results.actualitat .pagination {
  background: transparent;
}
section.filtros-results.actualitat .card-noticia {
  display: flex;
  flex-direction: column;
  background: var(--white);
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.03);
  border-radius: 1.2rem;
  overflow: hidden;
}
section.filtros-results.actualitat .card-noticia .img {
  height: 25rem;
  background: #C5C5C5;
}
section.filtros-results.actualitat .card-noticia .img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.filtros-results.actualitat .card-noticia .content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.6rem;
  padding: 2.4rem;
}
section.filtros-results.actualitat .card-noticia .labels {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
}
section.filtros-results.actualitat .card-noticia .tag {
  padding: 0.8rem 1.2rem;
  border: 1px solid #B2C7C8;
  border-radius: 0.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #4D6667;
  white-space: nowrap;
}
section.filtros-results.actualitat .card-noticia .media {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
section.filtros-results.actualitat .card-noticia .media .ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  background: #ECF2F3;
  border-radius: 0.52rem;
}
section.filtros-results.actualitat .card-noticia .media .ico svg {
  display: block;
}
section.filtros-results.actualitat .card-noticia .body {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
section.filtros-results.actualitat .card-noticia h3 {
  margin: 0;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
  min-height: 11rem;
}
section.filtros-results.actualitat .card-noticia .date {
  margin: 0;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.25;
  color: #535353;
}
section.filtros-results.actualitat .card-noticia .divider {
  display: block;
  height: 0;
  border-top: 1px solid #CFCFCF;
}
section.filtros-results.actualitat .card-noticia .more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  text-decoration: none;
}
section.filtros-results.actualitat .card-noticia .more svg {
  display: block;
}

/* Actualitat — fons crema perquè les targetes blanques destaquin (com a Figma) */
body.actualitat-page {
  background: var(--beige);
}
body.actualitat-page section.filtros-hero,
body.actualitat-page section.filtros-results {
  background: var(--beige);
}

section.intro-statement {
  background: var(--black);
  padding: 10rem 0 6rem;
}
section.intro-statement .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
}
section.intro-statement .plus {
  width: 2.4rem;
  height: 2.4rem;
}
section.intro-statement h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 6rem;
  line-height: 1;
  color: var(--white);
  text-align: center;
  max-width: 74.4rem;
  margin: 0;
}
section.intro-statement .line {
  display: block;
  width: 1px;
  height: 6rem;
  background: var(--white);
}

section.cultura-patrimoni {
  background: var(--black);
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
section.cultura-patrimoni .container {
  padding: 0 27.9rem;
  position: relative;
  z-index: 1;
}
section.cultura-patrimoni .phrase {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 9rem;
  line-height: 1.34;
  letter-spacing: -0.04em;
  color: var(--white);
  text-align: center;
  margin: 0;
}
section.cultura-patrimoni .phrase > span:not(.spacer) {
  white-space: nowrap;
}
section.cultura-patrimoni .phrase .spacer {
  display: block;
  width: 6.3rem;
  height: 16.4rem;
  flex-shrink: 0;
}
section.cultura-patrimoni .img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6.3rem;
  height: 16.4rem;
  overflow: hidden;
  z-index: 0;
}
section.cultura-patrimoni .img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

section.programas {
  background: var(--black);
  padding: 7.2rem 0;
}
section.programas .container {
  display: flex;
  flex-direction: column;
  gap: 7.2rem;
}
section.programas > .container > .head {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
section.programas > .container > .head .intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
section.programas > .container > .head .controls {
  align-self: stretch;
  justify-content: flex-end;
  padding-left: 1.6rem;
}
section.programas > .container > .head h2 {
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  margin: 0;
}
section.programas > .container > .head .subtitle p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.2;
  color: #D9D9D9;
  max-width: 81rem;
  margin: 0;
}
section.programas .controls {
  display: flex;
  align-items: center;
  gap: 4rem;
}
section.programas .controls .dots {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex: none;
  width: auto;
}
section.programas .controls .dots .dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
  background: #5A5A5A;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border 0.2s ease;
}
section.programas .controls .dots .dot.is-active {
  background: transparent;
  border: 2px solid var(--white);
}
section.programas .controls .arrows {
  display: flex;
  gap: 0.8rem;
}
section.programas .controls .arrows button {
  width: 4.4rem;
  height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  cursor: pointer;
  background: transparent;
  border: 0.5px solid #5A5A5A;
  border-radius: 999px;
  transition: color 0.2s ease, background-color 0.2s ease;
}
section.programas .controls .arrows button:hover:not(.swiper-button-disabled) {
  background: rgba(255, 255, 255, 0.05);
}
section.programas .controls .arrows button.swiper-button-disabled {
  color: #7C7C7C;
  cursor: default;
}
section.programas .controls .arrows button svg {
  display: block;
}
section.programas.no-controls .controls {
  display: none;
}
section.programas .track.swiper {
  width: 100%;
  overflow: visible;
}
section.programas .card {
  position: relative;
  width: 39rem;
  height: 45.2rem;
  border-radius: 0.8rem;
  overflow: hidden;
  flex-shrink: 0;
}
section.programas .card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.programas .card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
section.programas .card .content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
  padding: 2.4rem;
  z-index: 1;
  border-radius: 0 0 0.8rem 0.8rem;
  transition: background-color 0.3s ease;
}
section.programas .card .content .head {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}
section.programas .card .content .head h3 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.2;
  color: var(--white);
  margin: 0;
  max-width: 32rem;
}
section.programas .card .content .head .arrow {
  width: 2.4rem;
  height: 2.4rem;
  color: var(--white);
  flex-shrink: 0;
  display: none;
}
section.programas .card .content .description {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.22;
  color: var(--white);
  margin: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.35s ease;
}
section.programas .card:hover .content {
  background: rgba(77, 102, 103, 0.9);
}
section.programas .card:hover .content .head .arrow {
  display: block;
}
section.programas .card:hover .content .description {
  max-height: 12rem;
  opacity: 1;
}
section.programas .card:hover::after {
  opacity: 0;
}

section.equipaments {
  background: var(--black);
  padding-bottom: 7.2rem;
}
section.equipaments .head {
  padding: 7.2rem 0;
}
section.equipaments .head h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  margin: 0;
}
section.equipaments .cards {
  display: flex;
  flex-direction: column;
  gap: 7.2rem;
}
section.equipaments .card {
  display: flex;
  align-items: stretch;
  background: #F3F1EF;
  border-radius: 1.6rem;
  overflow: hidden;
}
section.equipaments .image {
  position: relative;
  width: 75rem;
  aspect-ratio: 750/549;
  flex-shrink: 0;
  overflow: hidden;
}
section.equipaments .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.equipaments .image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
  pointer-events: none;
}
section.equipaments .panel {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3.2rem;
  padding: 6.4rem;
}
section.equipaments .content {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.equipaments .logos {
  display: block;
  width: 29.8rem;
  height: 8.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
section.equipaments .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #6C6C6C;
  margin: 0;
}
section.equipaments .btn {
  align-self: flex-start;
  padding: 1.5rem 2rem;
  border-radius: 0.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.57;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
section.equipaments .btn:hover {
  background-color: #1A1A1A;
}

section.espais-natura {
  background: var(--black);
  padding: 8rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8.5rem;
}
section.espais-natura .header {
  display: flex;
  flex-direction: column;
  gap: 6.3rem;
  padding: 0 5.6rem 6rem;
  width: 100%;
  max-width: 151.2rem;
  box-sizing: border-box;
}
section.espais-natura .header .eyebrow {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white);
  margin: 0;
  padding-bottom: 1.6rem;
  border-bottom: 0.5px solid var(--white);
}
section.espais-natura .header .content {
  display: flex;
  align-items: flex-start;
  gap: 20.6rem;
  min-height: 21.9rem;
}
section.espais-natura .header .stat {
  display: flex;
  align-items: flex-start;
  gap: 7.6rem;
  flex-shrink: 0;
}
section.espais-natura .header .stat .number {
  width: 35.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 200;
  font-size: 30rem;
  line-height: 0.73;
  color: var(--white);
}
section.espais-natura .header .stat h3 {
  width: 32.5rem;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1;
  color: var(--white);
  margin: 0;
}
section.espais-natura .header .info {
  display: flex;
  flex-direction: column;
  gap: 4.1rem;
  width: 43.1rem;
  min-height: 21.9rem;
  flex-shrink: 0;
}
section.espais-natura .header .info .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #D9D9D9;
  margin: 0;
}
section.espais-natura .header .info .btn {
  align-self: flex-start;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.4rem 2rem;
  background: var(--white);
  color: var(--black);
  border-radius: 0.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}
section.espais-natura .header .info .btn svg {
  width: 1.8rem;
  height: 1.8rem;
  flex-shrink: 0;
}
section.espais-natura .header .info .btn:hover {
  background-color: #EDEDED;
}
section.espais-natura .directory {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 100%;
  max-width: 151.2rem;
  box-sizing: border-box;
}
section.espais-natura .directory .tabs {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding-left: 48.6rem;
}
section.espais-natura .directory .tabs .tab {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  background: transparent;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #7C7C7C;
}
section.espais-natura .directory .tabs .tab svg {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
section.espais-natura .directory .tabs .tab.is-active {
  color: var(--white);
}
section.espais-natura .directory .list {
  display: flex;
  flex-direction: column;
  padding: 0 5.6rem;
}
section.espais-natura .accordeon {
  border-top: 0.5px solid var(--white);
}
section.espais-natura .accordeon .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4.4rem;
  width: 100%;
  cursor: pointer;
  background: transparent;
}
section.espais-natura .accordeon .head .title {
  padding: 1rem 0;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--white);
}
section.espais-natura .accordeon .head .toggle {
  width: 4.8rem;
  height: 4.8rem;
  flex-shrink: 0;
  color: var(--white);
}
section.espais-natura .accordeon .head .toggle svg {
  display: block;
  width: 100%;
  height: 100%;
}
section.espais-natura .accordeon .panel {
  display: none;
  margin-left: 43rem;
  padding-bottom: 1.6rem;
}
section.espais-natura .accordeon .panel li {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 6rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--white);
}
section.espais-natura .accordeon .panel li:last-child {
  border-bottom: none;
}
section.espais-natura .accordeon .panel li .label {
  display: inline-flex;
  align-items: center;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.2;
  color: var(--white);
}
section.espais-natura .accordeon .panel li .label .arrow {
  width: 0;
  height: 2.4rem;
  flex-shrink: 0;
  opacity: 0;
  overflow: hidden;
  transition: width 0.15s ease, opacity 0.15s ease, margin-right 0.15s ease;
}
section.espais-natura .accordeon .panel li .label .name {
  transition: font-style 0.15s ease, font-weight 0.15s ease;
}
section.espais-natura .accordeon .panel li .thumb {
  position: absolute;
  left: 53.3rem;
  top: -5.5rem;
  width: 30rem;
  height: 17rem;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 2;
}
section.espais-natura .accordeon .panel li:hover .label .arrow {
  width: 2.4rem;
  opacity: 1;
  margin-right: 0.8rem;
}
section.espais-natura .accordeon .panel li:hover .label .name {
  font-style: italic;
  font-weight: 300;
}
section.espais-natura .accordeon .panel li:hover .thumb {
  opacity: 1;
}
section.espais-natura .accordeon.is-open .head {
  align-items: center;
}
section.espais-natura .accordeon.is-open .panel {
  display: block;
}
section.espais-natura .accordeon.is-open .toggle .v {
  display: none;
}
section.espais-natura .directory.view-grid .accordeon.is-open .panel {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding-bottom: 1.6rem;
}
section.espais-natura .directory.view-grid .panel li {
  width: 31rem;
  height: 18rem;
  min-height: 0;
  padding: 0;
  border-bottom: none;
  border-radius: 0.4rem;
  overflow: hidden;
}
section.espais-natura .directory.view-grid .panel li::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 1;
}
section.espais-natura .directory.view-grid .panel li .thumb {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  opacity: 1;
  z-index: 0;
}
section.espais-natura .directory.view-grid .panel li .label {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 2.4rem;
  opacity: 0;
  transition: opacity 0.2s ease;
}
section.espais-natura .directory.view-grid .panel li .label .arrow {
  width: 2.4rem;
  opacity: 1;
  margin-right: 0.8rem;
}
section.espais-natura .directory.view-grid .panel li .label .name {
  font-style: italic;
  font-weight: 300;
}
section.espais-natura .directory.view-grid .panel li:hover::after {
  opacity: 1;
}
section.espais-natura .directory.view-grid .panel li:hover .label {
  opacity: 1;
}
section.espais-natura .directory .map-view {
  display: none;
}
section.espais-natura .directory.view-map .list {
  display: none;
}
section.espais-natura .directory.view-map .map-view {
  display: block;
}
section.espais-natura .map-view {
  margin: 0 0.8rem;
  padding: 8rem 5.6rem;
  background: #F8F7F4;
  border-radius: 1.6rem;
  overflow: hidden;
}

section.mission {
  padding: 8rem 0;
  background: var(--black);
}
section.mission .container {
  display: flex;
  align-items: center;
  gap: 3.544rem;
}
section.mission .image-card {
  width: 70.284rem;
  height: 43.411rem;
  flex-shrink: 0;
  border-radius: 0.8rem;
  overflow: hidden;
}
section.mission .image-card img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.mission .text-card {
  flex: 1;
  min-width: 0;
  height: 43.411rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 3.544rem 4.046rem;
  border: 1px solid #E1E1E1;
  border-radius: 0.8rem;
}
section.mission .text-card .head {
  display: flex;
  flex-direction: column;
  gap: 1.18rem;
}
section.mission .text-card .head .eyebrow {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #A5A5A5;
  margin: 0;
}
section.mission .text-card .head .body {
  display: flex;
  flex-direction: column;
  gap: 2.36rem;
}
section.mission .text-card .head .body h2 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1;
  color: var(--white);
  margin: 0;
}
section.mission .text-card .head .body .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.4;
  color: #A5A5A5;
  margin: 0;
}
section.mission .text-card .link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--white);
}
section.mission .text-card .link svg {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
section.mission .text-card .link:hover span {
  text-decoration: underline;
}

footer {
  background: #FDFCFA;
}
footer .up {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6.9rem 0 12rem;
  gap: 3.6rem;
}
footer .brand {
  width: 15rem;
  flex-shrink: 0;
}
footer .brand svg {
  display: block;
  width: 100%;
  height: auto;
}
footer .columns {
  display: flex;
  gap: 3.6rem;
}
footer .col {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 23.4rem;
}
footer .col h3 {
  padding-bottom: 1.6rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
footer .col ul {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
footer .col a {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 2rem;
  color: var(--text-light-footer);
}
footer .newsletter {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  width: 44.2rem;
  height: 20.4rem;
  flex-shrink: 0;
  padding: 1.6rem 2.4rem 2.4rem;
  border-radius: 0.8rem;
  background: var(--black);
}
footer .newsletter .text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding-right: 2.4rem;
}
footer .newsletter .text h3 {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 2.4rem;
  color: var(--beige);
}
footer .newsletter .text p {
  font-family: "Inter Web", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 2.2rem;
  color: var(--beige);
}
footer .newsletter .field {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem 0;
  border-bottom: 0.1rem solid var(--beige);
}
footer .newsletter .field input {
  flex: 1;
  font-family: "Inter Web", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 2.2rem;
  color: var(--beige);
}
footer .newsletter .field input::-moz-placeholder {
  color: var(--text-dark-disabled);
}
footer .newsletter .field input::placeholder {
  color: var(--text-dark-disabled);
}
footer .newsletter .field button {
  flex-shrink: 0;
  cursor: pointer;
  color: var(--text-dark-disabled);
}
footer .newsletter .field button svg {
  width: 3.6rem;
  height: 3.6rem;
}
footer .down {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.4rem 0;
  gap: 6rem;
}
footer .social-copy {
  display: flex;
  align-items: center;
  gap: 3.6rem;
}
footer .social-copy p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--text-light-footer);
}
footer .social {
  display: flex;
  gap: 1.6rem;
}
footer .social a {
  display: inline-flex;
  color: var(--black);
}
footer .social svg {
  width: 2rem;
  height: 2rem;
}
footer .legal {
  display: flex;
  align-items: center;
}
footer .legal a {
  padding: 0 1.2rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--text-light-footer);
}
footer .legal a:first-child {
  padding-left: 0;
}
footer .legal a + a {
  border-left: 0.1rem solid rgba(0, 0, 0, 0.1);
}

/* ========================= LA FUNDACIÓ (pàgina) ========================= */
nav.fundacio-nav {
  position: sticky;
  top: 9rem;
  z-index: 10;
  margin-top: 9rem;
  height: 8.6rem;
  background: var(--white);
}
nav.fundacio-nav .container {
  height: 100%;
  display: flex;
  align-items: center;
}
nav.fundacio-nav ul {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding-top: 2.4rem;
}
nav.fundacio-nav a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
nav.fundacio-nav a::after {
  content: "";
  align-self: stretch;
  height: 0.2rem;
  background: var(--black);
  opacity: 0;
  transition: opacity 150ms ease;
}
nav.fundacio-nav a.is-active::after {
  opacity: 1;
}

#la-fundacio,
#visio-missio,
#patronat {
  scroll-margin-top: 22rem;
}

section.fundacio-header {
  padding: 10rem 0 6rem;
  background: var(--beige);
}
section.fundacio-header h1 {
  font-size: 6rem;
  line-height: 6rem;
  color: var(--black);
}
section.fundacio-header.is-dark {
  background: var(--black);
}
section.fundacio-header.is-dark h1 {
  color: var(--white);
}

section.fundacio-intro {
  padding: 8rem 0;
  background: var(--beige);
}
section.fundacio-intro .container {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.fundacio-intro .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--black);
}
section.fundacio-intro h3 {
  max-width: 108rem;
  font-weight: 400;
  line-height: 6rem;
}

section.fundacio-video {
  position: relative;
}
section.fundacio-video video {
  display: block;
  width: 100%;
  height: 48rem;
  -o-object-fit: cover;
     object-fit: cover;
}
section.fundacio-video .play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
}
section.fundacio-video .play svg {
  width: 2.4rem;
  height: 2.4rem;
}

section.stories {
  padding: 12rem 0;
  background: var(--beige);
}
section.stories .container {
  position: relative;
  display: flex;
  gap: 10.4rem;
}
section.stories .capa-atras {
  flex: 0 0 68.2rem;
}
section.stories .capa-atras .img img {
  display: block;
  width: 68.2rem;
  height: 70rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.stories .capa-adelante {
  position: absolute;
  top: 34.5rem;
  left: 62.6rem;
  z-index: 2;
}
section.stories .capa-adelante .img img {
  display: block;
  width: 26rem;
  height: 30rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.stories .textos {
  flex: 1;
}
section.stories .textos .bloc-titol {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
section.stories .textos .bloc-titol .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--black);
}
section.stories .textos .bloc-titol h3 {
  max-width: 44.5rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
}
section.stories .textos .description {
  margin-top: 15rem;
  margin-left: 10.8rem;
  max-width: 36.9rem;
}
section.stories .textos .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.stories .textos .description p + p {
  margin-top: 2rem;
}

section.visio-missio {
  position: relative;
  padding-bottom: 8rem;
  background: var(--white);
}
section.visio-missio .media {
  position: relative;
}
section.visio-missio .media .img img {
  display: block;
  width: 100%;
  height: 67.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
section.visio-missio .media h2 {
  position: absolute;
  top: 8rem;
  left: 5.6rem;
  font-size: 4.8rem;
  line-height: 4.8rem;
  color: var(--black);
}
section.visio-missio .container {
  position: relative;
  padding: 0;
}
section.visio-missio .textos {
  margin-top: 5.6rem;
  padding: 0 5.6rem;
  display: flex;
  gap: 4.3rem;
}
section.visio-missio .textos .content {
  flex: 0 0 43.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.visio-missio .textos .content .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--black);
}
section.visio-missio .textos .content .description {
  max-width: 36rem;
}
section.visio-missio .textos .content .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.visio-missio .capa-adelante {
  position: absolute;
  top: 45.9rem;
  left: 95.7rem;
  z-index: 2;
}
section.visio-missio .capa-adelante .img img {
  display: block;
  width: 44.3rem;
  height: 52rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}

section.valors {
  background: var(--white);
}
section.valors .container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 42.5rem;
}
section.valors .img {
  position: absolute;
  left: 5.6rem;
  top: 8rem;
}
section.valors .img img {
  display: block;
  width: 22rem;
  height: 27rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}
section.valors.invertit .img {
  left: auto;
  right: 5.6rem;
}
section.valors .bloc {
  position: relative;
  width: 72rem;
}
section.valors .bloc .label {
  position: absolute;
  top: -6.8rem;
  left: 0;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--black);
}
section.valors .bloc .container-valor {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.valors .bloc .container-valor .valor-nom {
  font-family: "Inter Web", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 2rem;
  line-height: 2.4rem;
  color: var(--black);
}
section.valors .bloc .container-valor .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 3.4rem;
  color: var(--black);
}

section.patronat {
  padding: 10rem 0 6rem;
  background: var(--gray);
}
section.patronat .header {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
section.patronat .header h2 {
  font-size: 4.8rem;
  line-height: 4.8rem;
  color: var(--black);
}
section.patronat .header .description {
  max-width: 75rem;
}
section.patronat .header .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}

section.product-list {
  padding: 3.9rem 0;
  background: var(--gray);
}
section.product-list .container {
  display: flex;
  flex-direction: column;
  gap: 5.8rem;
}
section.product-list .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--black);
}
section.product-list .content {
  display: flex;
  gap: 3.2rem;
}
section.product-list .noms {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
section.product-list .noms li {
  display: flex;
  align-items: center;
}
section.product-list .noms li .arrow {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  width: 0;
  opacity: 0;
  flex-shrink: 0;
  transition: width 150ms ease, opacity 150ms ease, margin-right 150ms ease;
}
section.product-list .noms li .arrow svg {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
}
section.product-list .noms li button {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
  text-align: left;
  cursor: pointer;
  transition: font-weight 150ms ease, font-style 150ms ease;
}
section.product-list .noms li.is-active .arrow, section.product-list .noms li:hover .arrow {
  width: 4rem;
  opacity: 1;
  margin-right: 1.6rem;
}
section.product-list .noms li.is-active button, section.product-list .noms li:hover button {
  font-style: italic;
  font-weight: 300;
}
section.product-list .ficha {
  flex: 0 0 56rem;
  display: flex;
  gap: 4rem;
  transition: opacity 150ms ease;
}
section.product-list .ficha.is-changing {
  opacity: 0;
}
section.product-list .ficha .img {
  flex: 0 0 20rem;
}
section.product-list .ficha .img img {
  display: block;
  width: 20rem;
  height: 23rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}
section.product-list .ficha .info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
section.product-list .ficha .info .head {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
section.product-list .ficha .info .head .nom {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
}
section.product-list .ficha .info .head .rol p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--text-light-terciary);
}
section.product-list .ficha .info .bio p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.7rem;
  letter-spacing: -0.02em;
  color: var(--text-light-footer);
}

/* ========================= TRANSPARENCIA - MODEL DE FINANCAMENT ========================= */
section.financament {
  background: var(--beige);
  padding: 5.6rem 0 8.8rem;
}
section.financament .container {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
}
section.financament .left {
  width: 68rem;
  flex-shrink: 0;
}
section.financament .left .img img {
  display: block;
  width: 68rem;
  height: 74.4rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.financament .left .cols {
  margin-top: 6.4rem;
  display: flex;
  gap: 5.8rem;
}
section.financament .left .cols > div {
  width: 31.1rem;
}
section.financament .left .cols p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.financament .right {
  width: 63.4rem;
  flex-shrink: 0;
}
section.financament .right .titol {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
section.financament .right .titol .label {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--black);
}
section.financament .right .titol h3 {
  width: 58.7rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
}
section.financament .right .secundari {
  margin-top: 3.2rem;
  width: 37.6rem;
}
section.financament .right .secundari p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.financament .right .img {
  margin-top: 12.9rem;
  margin-left: 24.3rem;
}
section.financament .right .img img {
  display: block;
  width: 31.5rem;
  height: 37.3rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}

/* ========================= TRANSPARENCIA - MEMORIA ========================= */
section.memoria {
  background: var(--white);
  padding: 6rem 0 0;
}
section.memoria .container {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
section.memoria h2 {
  font-size: 4.8rem;
  line-height: 4.8rem;
  color: var(--black);
}
section.memoria .content {
  display: flex;
  align-items: flex-start;
  gap: 5.6rem;
}
section.memoria .content .img img {
  display: block;
  width: 68rem;
  height: 37rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.memoria .content .text {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 57.8rem;
}
section.memoria .content .text p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}

/* ========================= TRANSPARENCIA - MODULE DESCARREGA ========================= */
section.module {
  background: var(--white);
  padding: 8rem 0;
}
section.module .container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 11.2rem;
}
section.module .cover img {
  display: block;
  width: 43rem;
  height: auto;
}
section.module .info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.2rem;
  width: 37.3rem;
}
section.module .info .head {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.module .info .head h2 {
  font-size: 4rem;
  line-height: 4rem;
  color: var(--black);
}
section.module .info .head .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
}
section.module .info .download {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 1.3rem 2rem;
  border: 0.1rem solid var(--black);
  border-radius: 0.2rem;
}
section.module .info .download span {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
section.module .info .download svg {
  width: 2rem;
  height: 2rem;
}

/* ========================= TRANSPARENCIA - RECURSOS (CARDS) ========================= */
section.recursos {
  background: var(--white);
  padding: 6rem 0;
}
section.recursos .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
}
section.recursos .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8rem;
  width: 100%;
  cursor: pointer;
}
section.recursos .head h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 4rem;
  letter-spacing: -0.04em;
  color: var(--black);
}
section.recursos .head .icon {
  position: relative;
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
}
section.recursos .head .icon::before, section.recursos .head .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 0.2rem;
  background: var(--black);
  transform: translate(-50%, -50%);
}
section.recursos .head .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
  transition: opacity 150ms ease;
}
section.recursos .title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}
section.recursos .title h2 {
  font-size: 4.8rem;
  line-height: 4.8rem;
  color: var(--black);
}
section.recursos .title .subtitle p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.recursos .cards {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 2.4rem 1.6rem;
  width: 100%;
}
section.recursos .card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  width: 33.8rem;
  min-height: 17.8rem;
  padding: 2.4rem;
  background: var(--gray);
  border-radius: 0.8rem;
}
section.recursos .card .badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  background: var(--brand-30);
  border-radius: 0.8rem;
}
section.recursos .card .badge svg {
  width: 2.4rem;
  height: 2.4rem;
}
section.recursos .card .name {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
}
section.recursos.is-collapsed .icon::after {
  opacity: 1;
}
section.recursos.is-collapsed .cards {
  display: none;
}

/* ========================= ACCESSIBILITAT - BLOC INTRO ========================= */
section.accessibilitat {
  background: var(--beige);
  padding: 5.6rem 0 14.2rem;
}
section.accessibilitat .container {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
}
section.accessibilitat .left {
  width: 68rem;
  flex-shrink: 0;
}
section.accessibilitat .left .img img {
  display: block;
  width: 68rem;
  height: 74.4rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.accessibilitat .left .frame {
  margin-top: 6.4rem;
  display: flex;
  gap: 5.8rem;
}
section.accessibilitat .left .frame .text {
  width: 31.1rem;
}
section.accessibilitat .left .frame p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.accessibilitat .right {
  width: 56.6rem;
  flex-shrink: 0;
  padding-top: 2.4rem;
}
section.accessibilitat .right h2 {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
}
section.accessibilitat .right .img {
  margin-top: 11.8rem;
  margin-left: 24.3rem;
}
section.accessibilitat .right .img img {
  display: block;
  width: 31.5rem;
  height: 37.3rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}

/* ========================= ACCESSIBILITAT - EQUIPAMENTS (ACCORDION) ========================= */
section.equipaments-acc {
  background: var(--white);
  padding: 6rem 0;
}
section.equipaments-acc .item .container {
  display: flex;
  flex-direction: column;
  padding-top: 6rem;
  padding-bottom: 6rem;
  border-bottom: 0.1rem solid var(--black);
}
section.equipaments-acc .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8rem;
  width: 100%;
  cursor: pointer;
}
section.equipaments-acc .head h2 {
  font-size: 4.8rem;
  line-height: 1;
  color: var(--black);
}
section.equipaments-acc .head .toggle {
  position: relative;
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
}
section.equipaments-acc .head .toggle::before, section.equipaments-acc .head .toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 0.2rem;
  background: var(--black);
  transform: translate(-50%, -50%);
}
section.equipaments-acc .head .toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 150ms ease;
}
section.equipaments-acc .content {
  display: none;
  margin-top: 6rem;
}
section.equipaments-acc .content .row {
  display: flex;
  align-items: flex-start;
  gap: 7rem;
}
section.equipaments-acc .content .row .img {
  flex-shrink: 0;
  padding: 6rem 0 4.4rem;
}
section.equipaments-acc .content .row .img img {
  display: block;
  width: 47rem;
  height: 32rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}
section.equipaments-acc .content .row .text {
  flex-shrink: 0;
  width: 86rem;
  padding: 4.4rem 1.6rem 4rem;
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  align-items: flex-start;
}
section.equipaments-acc .content .row .text p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
section.equipaments-acc .item.is-open .toggle::after {
  opacity: 0;
}
section.equipaments-acc .item.is-open .content {
  display: block;
}

/* ========================= ACCESSIBILITAT - MATERIALS ========================= */
section.materials {
  background: var(--black);
  padding: 8rem 0 4.8rem;
}
section.materials .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
section.materials .label {
  width: 100%;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid var(--white);
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--white);
}
section.materials .destacat {
  width: 83.6rem;
  padding: 3.2rem 0 8rem;
}
section.materials .destacat h3 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 4rem;
  color: var(--white);
}
section.materials .text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 71.9rem;
}
section.materials .text p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--white);
}

/* ========================= ACCESSIBILITAT - SPLIT CONTENT (NECESSITES AJUDA) ========================= */
section.split-content {
  background: var(--white);
  padding: 8rem 0;
}
section.split-content .card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
  padding: 4.8rem;
  background: var(--beige);
  border-radius: 0.8rem;
}
section.split-content .info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  width: 41rem;
}
section.split-content .info .text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.split-content .info .text h2 {
  font-size: 4rem;
  line-height: 4rem;
  color: var(--black);
}
section.split-content .info .text .description p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
}
section.split-content .info .boto {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem 2rem;
  border: 0.1rem solid var(--black);
  border-radius: 0.2rem;
}
section.split-content .info .boto span {
  font-family: "Inter Web", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
section.split-content .img img {
  display: block;
  width: 39.9rem;
  height: 36.9rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}

/* ========================= IMPACTE - XIFRA ========================= */
section.impacte-numero {
  background: var(--black);
  padding: 8rem 0;
}
section.impacte-numero .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6.3rem;
}
section.impacte-numero .label {
  width: 100%;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid var(--white);
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--white);
}
section.impacte-numero .numero {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.4rem;
}
section.impacte-numero .numero .xifra {
  font-family: "Inter Web", sans-serif;
  font-weight: 200;
  font-size: 30rem;
  line-height: 0.97;
  color: var(--white);
}
section.impacte-numero .numero h3 {
  font-size: 4rem;
  line-height: 4rem;
  color: var(--white);
}

/* ========================= IMPACTE - STATEMENT ========================= */
section.impacte-statement {
  background: var(--white);
  padding: 8rem 0;
}
section.impacte-statement .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 3.2rem;
}
section.impacte-statement h2 {
  width: 108rem;
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 6rem;
  line-height: 6rem;
  color: var(--black);
}

/* ========================= IMPACTE - DATES (XIFRES) ========================= */
section.dates {
  background: var(--white);
  padding-bottom: 9.4rem;
}
section.dates .container {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
section.dates .col {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 45.6rem;
}
section.dates .col:nth-child(1) {
  margin-top: 7.96rem;
}
section.dates .col:nth-child(2) {
  margin-top: 16.96rem;
}
section.dates .col:nth-child(3) {
  margin-top: 26.21rem;
}
section.dates .card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 34rem;
  padding: 1.2rem 1.6rem 1.6rem;
  border-radius: 0.4rem;
}
section.dates .card .xifra {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 9rem;
  line-height: 9rem;
  color: var(--black);
}
section.dates .card p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 2.4rem;
  color: var(--black);
}
section.dates .card.is-brand-30 {
  background: var(--brand-30);
}
section.dates .card.is-brand-50 {
  background: var(--brand-50);
}
section.dates .card.is-brand-70 {
  background: var(--brand-70);
}
section.dates .card.is-sec-40 {
  background: var(--brand-secondary-40);
}
section.dates .card.is-sec-60 {
  background: var(--brand-secondary-60);
}
section.dates .card.is-sec-80 {
  background: var(--brand-secondary-80);
}
section.dates .card.is-sec-80 .xifra,
section.dates .card.is-sec-80 p {
  color: var(--white);
}

/* ========================= IMPACTE - DETALL PER AMBIT ========================= */
section.impacte-detall {
  background: var(--beige);
  padding: 12rem 0;
}
section.impacte-detall .caixa {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10rem;
}
section.impacte-detall .ambit {
  width: 117.6rem;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.impacte-detall .dalt {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
section.impacte-detall .dalt .img {
  flex: 0 0 46rem;
}
section.impacte-detall .dalt .img img {
  display: block;
  width: 46rem;
  height: 46rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}
section.impacte-detall .dalt .enunciat {
  flex: 1;
  padding: 0 2.4rem;
}
section.impacte-detall .dalt .enunciat p {
  max-width: 61.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
}
section.impacte-detall .baix {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
section.impacte-detall .titol {
  flex: 0 0 46rem;
  height: 46rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.4rem;
  border-radius: 0.4rem;
}
section.impacte-detall .titol h3 {
  font-size: 5.2rem;
  line-height: 5.2rem;
  color: var(--black);
}
section.impacte-detall .titol .cat {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--white);
}
section.impacte-detall .titol.is-brand-30 {
  background: var(--brand-30);
}
section.impacte-detall .titol.is-brand-50 {
  background: var(--brand-50);
}
section.impacte-detall .titol.is-brand-70 {
  background: var(--brand-70);
}
section.impacte-detall .titol.is-brand-70 h3 {
  color: var(--white);
}
section.impacte-detall .titol.is-sec-40 {
  background: var(--brand-secondary-40);
}
section.impacte-detall .titol.is-sec-60 {
  background: var(--brand-secondary-60);
}
section.impacte-detall .titol.is-sec-60 h3 {
  color: var(--white);
}
section.impacte-detall .titol.is-sec-80 {
  background: var(--brand-secondary-80);
}
section.impacte-detall .titol.is-sec-80 h3 {
  color: var(--white);
}
section.impacte-detall .xifres {
  flex: 0 0 70rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
section.impacte-detall .fila {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}
section.impacte-detall .card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50rem;
  height: 23rem;
  padding: 1.2rem 1.6rem 1.6rem;
  background: var(--white);
  border-radius: 0.4rem;
}
section.impacte-detall .card .num {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 13rem;
  line-height: 13rem;
  color: var(--black);
}
section.impacte-detall .card p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
}
section.impacte-detall .card.principal {
  width: 100%;
  height: 46.1rem;
  padding: 2.4rem;
}
section.impacte-detall .card.principal .num {
  font-size: 15rem;
  line-height: 15rem;
}
section.impacte-detall .card.principal p {
  font-size: 2.8rem;
  line-height: 3.4rem;
}
section.impacte-detall .card.circle {
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  width: 24.2rem;
  min-width: 24.2rem;
  height: 24.2rem;
  border-radius: 50%;
  text-align: center;
}
section.impacte-detall .card.circle .num {
  font-size: 4rem;
  line-height: 4rem;
}
section.impacte-detall .card.circle p {
  font-size: 1.6rem;
  line-height: 2.2rem;
}
section.impacte-detall .card.circle.is-green {
  background: var(--brand-20);
}
section.impacte-detall .card.circle.is-pink {
  background: var(--brand-secondary-20);
}

/* Cards secundàries: 500px per defecte; en fila de 2 (no círculs) -> 242px */
section.impacte-detall .fila .card:not(.principal):not(.circle):not(:only-child) {
  width: 24.2rem;
  min-width: 0;
}

/* cards 506px (Sostenibilitat 421.913 i Patrimoni 947.803) */
section.impacte-detall .ambit:nth-child(2) .fila:nth-child(2) .card, section.impacte-detall .ambit:nth-child(6) .fila:nth-child(2) .card {
  width: 50.6rem;
}

/* ambit 6 - Patrimoni (cercle gran 500) */
section.impacte-detall .ambit:nth-child(6) .fila:nth-child(3) .card.circle {
  width: 50rem;
  min-width: 50rem;
  height: 50rem;
}

section.impacte-detall .ambit:nth-child(6) .fila:nth-child(3) .card.circle .num {
  font-size: 9rem;
  line-height: 9rem;
}

section.impacte-detall .ambit:nth-child(6) .fila:nth-child(3) .card.circle p {
  font-size: 2.8rem;
  line-height: 3.4rem;
}

/* ========================= FAQ - TABS ========================= */
section.faq-tabs {
  background: var(--white);
  height: 7.2rem;
}
section.faq-tabs .container {
  height: 100%;
  display: flex;
  align-items: center;
}
section.faq-tabs ul {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding-top: 2.4rem;
}
section.faq-tabs a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  white-space: nowrap;
  cursor: pointer;
}
section.faq-tabs a::after {
  content: "";
  align-self: stretch;
  height: 0.2rem;
  background: var(--black);
  opacity: 0;
  transition: opacity 150ms ease;
}
section.faq-tabs li.is-active a::after {
  opacity: 1;
}

/* ========================= FAQ - ACCORDION ========================= */
section.faq {
  background: var(--white);
  padding: 2.4rem 0 6rem;
}
section.faq .toggle {
  position: relative;
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
}
section.faq .toggle::before, section.faq .toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 0.2rem;
  background: var(--black);
  transform: translate(-50%, -50%);
}
section.faq .toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 150ms ease;
}
section.faq .grup {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4rem;
  padding: 4rem 0;
  border-bottom: 0.05rem solid var(--black);
}
section.faq .grup .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8rem;
  width: 100%;
  cursor: pointer;
}
section.faq .grup .head h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 4rem;
  letter-spacing: -0.04em;
  color: var(--black);
}
section.faq .grup .content {
  display: none;
  flex-direction: column;
  width: 86rem;
}
section.faq .grup.is-open > .head .toggle::after {
  opacity: 0;
}
section.faq .grup.is-open .content {
  display: flex;
}
section.faq .item {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 3.2rem 0;
  border-bottom: 0.1rem solid #CFCFCF;
}
section.faq .item .q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
  cursor: pointer;
}
section.faq .item .q h3 {
  font-family: "Inter Web", sans-serif;
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.7rem;
  color: var(--black);
}
section.faq .item .a {
  display: none;
}
section.faq .item .a p, section.faq .item .a li {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--text-light-footer);
}
section.faq .item .a ul {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-left: 2rem;
  list-style: disc;
}
section.faq .item .a li {
  display: list-item;
}
section.faq .item .a a {
  color: inherit;
  text-decoration: underline;
}
section.faq .item.is-open .q .toggle::after {
  opacity: 0;
}
section.faq .item.is-open .a {
  display: block;
}

section.faq .panel {
  display: none;
}

section.faq .panel.is-active {
  display: block;
}

/* up-to-top global (botó tornar amunt abans del footer) */
.up-to-top {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  padding: 0.8rem 2.4rem 0.8rem 0;
  box-sizing: border-box;
}
.up-to-top button {
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.up-to-top button svg {
  display: block;
}

/* ========================= TERMES LEGALS (ACCORDION) ========================= */
section.legals {
  background: var(--white);
  padding: 6rem 0;
}
section.legals .item {
  padding: 4rem 0;
  border-bottom: 0.05rem solid var(--black);
}
section.legals .item .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8rem;
  width: 100%;
  cursor: pointer;
}
section.legals .item .head h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 4rem;
  color: var(--black);
}
section.legals .item .head .toggle {
  position: relative;
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
}
section.legals .item .head .toggle::before, section.legals .item .head .toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 0.2rem;
  background: var(--black);
  transform: translate(-50%, -50%);
}
section.legals .item .head .toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 150ms ease;
}
section.legals .item .content {
  display: none;
  margin-top: 4rem;
}
section.legals .item .content p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #6B6B6B;
}
section.legals .item.is-open .toggle::after {
  opacity: 0;
}
section.legals .item.is-open .content {
  display: block;
}

/* module: placeholder gris rotat (variant sense imatge real, ex. programa) */
section.module .cover .placeholder {
  width: 39rem;
  height: 47rem;
  background: #C4C4C4;
  border-radius: 0.4rem;
  transform: rotate(-5deg);
}

/* image-gallery variant clara (fons blanc) */
section.image-gallery.is-light {
  background: var(--white);
}
section.image-gallery.is-light .dots .dot {
  background: #949494;
}
section.image-gallery.is-light .dots .dot.is-active {
  border-color: var(--black);
}
section.image-gallery.is-light .arrows button {
  border: 0.05rem solid #E1E1E1;
}

/* ========================= ENTITATS COL·LABORADORES (LOGOS) ========================= */
section.collaboradores {
  background: var(--beige);
  padding: 6rem 0;
}
section.collaboradores .container {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
section.collaboradores .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
section.collaboradores .header h2 {
  font-family: "SuperGroteskComp Web", sans-serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 4rem;
  color: var(--black);
}
section.collaboradores .controls {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding-left: 1.6rem;
}
section.collaboradores .controls .dots {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
section.collaboradores .controls .dots .dot {
  box-sizing: border-box;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
  background: #949494;
}
section.collaboradores .controls .dots .dot.is-active {
  background: transparent;
  border: 0.2rem solid var(--black);
}
section.collaboradores .controls .arrows {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
section.collaboradores .controls .arrows button {
  box-sizing: border-box;
  width: 4.4rem;
  height: 4.4rem;
  border: 0.05rem solid #E1E1E1;
  border-radius: 999px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
section.collaboradores .controls .arrows button svg {
  width: 2rem;
  height: 2rem;
}
section.collaboradores .track {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  gap: 6rem 13.3rem;
}
section.collaboradores .track .logo {
  flex: none;
  width: 25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}
section.collaboradores .track .logo .img {
  width: 25rem;
  height: 10rem;
  background: #E7E6E6;
}
section.collaboradores .track .logo p {
  font-family: "Inter Web", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.7rem;
  text-align: center;
  color: #6B6B6B;
}

/* collaboradores variant 1 fila (carrusel horizontal amb scroll) */
section.collaboradores.is-row .track {
  flex-wrap: nowrap;
  gap: 13.3rem;
  overflow-x: auto;
  scrollbar-width: none;
}

section.collaboradores.is-row .track::-webkit-scrollbar {
  display: none;
}

section.map-centres {
  background: var(--beige);
  padding: 6rem 0;
}
section.map-centres .container {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
section.map-centres h2 {
  font-family: "SuperGroteskComp Web";
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 4.8rem;
  color: var(--black);
  margin: 0;
}

/* ===== Mòdul reutilitzable de mapa: cercador + mapa + modal ===== */
/* Usat a programa (section.map-centres) i distributiva (.map-view) */
.map-finder {
  display: flex;
  gap: 7.4rem;
  align-items: stretch;
}
.map-finder .search {
  flex: 0 0 45.3rem;
  max-width: 45.3rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.map-finder .search .intro {
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.2rem;
  color: var(--black);
  margin: 0;
}
.map-finder .search .search-box {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.6rem;
  height: 5.2rem;
  background: var(--white);
  border: 0.1rem solid #E8E8E8;
  border-radius: 0.4rem;
}
.map-finder .search .search-box svg {
  flex: none;
  width: 2rem;
  height: 2rem;
}
.map-finder .search .search-box input {
  flex: 1 1 auto;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
.map-finder .search .search-box input::-moz-placeholder {
  color: #646464;
}
.map-finder .search .search-box input::placeholder {
  color: #646464;
}
.map-finder .search .filters {
  display: flex;
  gap: 2.4rem;
}
.map-finder .search .filters .field {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.map-finder .search .filters .field label {
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
.map-finder .search .filters .field.dropdown {
  position: relative;
}
.map-finder .search .filters .field.dropdown .select {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  padding: 0 1.2rem;
  height: 4.6rem;
  border: 0.1rem solid #CFCFCF;
  border-radius: 0.4rem;
  background: var(--white);
  cursor: pointer;
  outline: none;
}
.map-finder .search .filters .field.dropdown .select-value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #8C8C8C;
}
.map-finder .search .filters .field.dropdown .select-value.has-value {
  color: var(--black);
}
.map-finder .search .filters .field.dropdown .caret {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.map-finder .search .filters .field.dropdown.is-open .caret {
  transform: rotate(180deg);
}
.map-finder .search .filters .field.dropdown .options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0.4rem 0 0;
  padding: 0;
  max-height: 30rem;
  overflow-y: auto;
  list-style: none;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
  border: 0.1rem solid #E8E8E8;
  border-radius: 0.8rem;
  z-index: 10;
}
.map-finder .search .filters .field.dropdown.is-open .options {
  display: block;
}
.map-finder .search .filters .field.dropdown .options li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.4rem 1.2rem;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.map-finder .search .filters .field.dropdown .options li:hover {
  background: rgba(0, 0, 0, 0.04);
}
.map-finder .search .cards {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  max-height: 45.2rem;
  overflow-y: auto;
  padding-right: 1rem;
  scrollbar-width: thin;
  scrollbar-color: var(--brand-50) rgba(0, 0, 0, 0.05);
}
.map-finder .search .cards::-webkit-scrollbar {
  width: 0.6rem;
}
.map-finder .search .cards::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 999px;
}
.map-finder .search .cards::-webkit-scrollbar-thumb {
  background: var(--brand-50);
  border-radius: 999px;
}
.map-finder .search .cards .card-map {
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 2.4rem;
  background: var(--white);
  border-radius: 0.8rem;
}
.map-finder .search .cards .card-map .info {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.map-finder .search .cards .card-map .info h3 {
  font-family: "Inter Web";
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.7rem;
  color: var(--black);
  margin: 0;
}
.map-finder .search .cards .card-map .info p {
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.3;
  color: var(--text-light-footer);
  margin: 0;
}
.map-finder .search .cards .card-map .img {
  width: 100%;
  height: 18rem;
  background: #C4C4C4;
  border-radius: 0.6rem;
}
.map-finder .map {
  flex: 1 1 auto;
  position: relative;
  min-height: 66.2rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background: #E6EAE6;
}
.map-finder .map .map-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
     object-fit: cover;
}
.map-finder .map .poi {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: var(--black);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.map-finder .map .poi:hover {
  box-shadow: 0 0 0 0.6rem rgba(0, 0, 0, 0.15);
}
.map-finder .map .poi:focus-visible {
  outline: 0.2rem solid var(--black);
  outline-offset: 0.3rem;
}
.map-finder .map .poi-main {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map-finder .map .poi-main::after {
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 999px;
  background: var(--white);
}
.map-finder .map .poi-main:hover {
  transform: translate(-50%, -50%) scale(1.05);
}
.map-finder .card-map {
  cursor: pointer;
}
.map-finder .map-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(0.4rem);
  -webkit-backdrop-filter: blur(0.4rem);
}
.map-finder .map-modal[hidden] {
  display: none;
}
.map-finder .map-modal .modal-map {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  width: 101.5rem;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 3.2rem;
  background: var(--beige);
  border-radius: 1.6rem;
}
.map-finder .map-modal .modal-map .modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
}
.map-finder .map-modal .modal-map .modal-head h3 {
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 3.4rem;
  color: var(--black);
  margin: 0;
}
.map-finder .map-modal .modal-map .modal-head .close {
  flex: none;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.map-finder .map-modal .modal-map .modal-head .close svg {
  width: 2.4rem;
  height: 2.4rem;
}
.map-finder .map-modal .modal-map .modal-body {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}
.map-finder .map-modal .modal-map .modal-body .col-left {
  flex: none;
  width: 40.5rem;
  max-width: 40.5rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.map-finder .map-modal .modal-map .modal-body .col-left .photo {
  position: relative;
  width: 100%;
  height: 27.5rem;
  background: #C4C4C4;
  border-radius: 1.4rem;
}
.map-finder .map-modal .modal-map .modal-body .col-left .photo .eco {
  position: absolute;
  right: 2.2rem;
  bottom: 2.2rem;
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 999px;
  background: var(--brand-30);
  display: flex;
  align-items: center;
  justify-content: center;
}
.map-finder .map-modal .modal-map .modal-body .col-left .photo .eco svg {
  width: 2.2rem;
  height: 2.2rem;
}
.map-finder .map-modal .modal-map .modal-body .col-left .programs {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.map-finder .map-modal .modal-map .modal-body .col-left .programs .ttl {
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  margin: 0;
}
.map-finder .map-modal .modal-map .modal-body .col-left .programs .tags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.map-finder .map-modal .modal-map .modal-body .col-left .programs .tags .tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.6rem;
  min-height: 4rem;
  background: var(--brand-30);
  border-radius: 0.6rem;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
  text-align: center;
}
.map-finder .map-modal .modal-map .modal-body .col-right {
  flex: 1 1 auto;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2.8rem;
}
.map-finder .map-modal .modal-map .modal-body .col-right .rows {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}
.map-finder .map-modal .modal-map .modal-body .col-right .rows .row {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  padding-bottom: 2.4rem;
  border-bottom: 0.1rem solid rgba(18, 55, 63, 0.3);
}
.map-finder .map-modal .modal-map .modal-body .col-right .rows .row.is-last {
  padding-bottom: 0;
  border-bottom: none;
}
.map-finder .map-modal .modal-map .modal-body .col-right .rows .row .k {
  flex: 1 1 0;
  max-width: 17rem;
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
.map-finder .map-modal .modal-map .modal-body .col-right .rows .row .v {
  flex: 1 1 0;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
}
.map-finder .map-modal .modal-map .modal-body .col-right .rows .row .v.sched {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.map-finder .map-modal .modal-map .modal-body .col-right .actions {
  display: flex;
  justify-content: flex-end;
}
.map-finder .map-modal .modal-map .modal-body .col-right .actions .btn-mail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 2rem;
  background: var(--black);
  border-radius: 0.2rem;
  cursor: pointer;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--white);
  text-align: center;
}

section.stories {
  background: var(--beige);
  padding: 12rem 0;
}
section.stories .content {
  display: flex;
  align-items: flex-start;
  gap: 6rem;
}
section.stories .media {
  position: relative;
  flex: 0 0 75.9rem;
  width: 75.9rem;
  height: 85.8rem;
}
section.stories .media .big {
  position: absolute;
  top: 0;
  left: 0;
  width: 68rem;
  height: 70.7rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.stories .media .small {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 25.9rem;
  height: 30.3rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.8rem;
}
section.stories .text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9rem;
}
section.stories .text .lead {
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 5.1rem;
  color: var(--black);
  margin: 0;
}
section.stories .text .body {
  max-width: 31.1rem;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  margin: 0;
}

section.sostenibilitat-acc {
  background: var(--white);
  padding: 6rem 0;
}
section.sostenibilitat-acc .accordion-l > .container {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
section.sostenibilitat-acc .accordion-l > .container::after {
  content: "";
  position: absolute;
  left: 5.6rem;
  right: 5.6rem;
  bottom: 0;
  border-top: 0.05rem solid var(--black);
}
section.sostenibilitat-acc .accordion-l .head {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8rem;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
section.sostenibilitat-acc .accordion-l .head .ttl {
  flex: 1 1 auto;
  font-family: "SuperGroteskComp Web";
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 4.8rem;
  color: var(--black);
}
section.sostenibilitat-acc .accordion-l .head .toggle {
  flex: none;
  width: 4.8rem;
  height: 4.8rem;
}
section.sostenibilitat-acc .accordion-l > .container > .content {
  display: none;
  padding-top: 6rem;
}
section.sostenibilitat-acc .accordion-l.is-open > .container > .content {
  display: block;
}
section.sostenibilitat-acc .accordion-l.is-open > .container > .head .toggle .vert {
  display: none;
}
section.sostenibilitat-acc .accordion-l .media-row {
  display: flex;
  align-items: flex-start;
  gap: 7rem;
}
section.sostenibilitat-acc .accordion-l .media-row .img {
  flex: none;
  width: 47rem;
  height: 32rem;
  -o-object-fit: cover;
     object-fit: cover;
}
section.sostenibilitat-acc .accordion-l .media-row .txt {
  flex: 1 1 auto;
  padding: 0.8rem 1.6rem;
}
section.sostenibilitat-acc .accordion-l .media-row .txt p {
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--black);
  margin: 0;
}
section.sostenibilitat-acc .accordion-l .media-row .txt.w-400 p {
  font-weight: 400;
}
section.sostenibilitat-acc .accordion-l .subs {
  display: flex;
  flex-direction: column;
  margin-top: 1rem;
}
section.sostenibilitat-acc .accordion-l .sub-item {
  align-self: flex-end;
  width: 86rem;
  max-width: 100%;
  box-sizing: border-box;
  padding: 3.2rem 0 3.2rem 1.6rem;
  border-bottom: 0.1rem solid #CFCFCF;
}
section.sostenibilitat-acc .accordion-l .sub-item .sub-head {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
section.sostenibilitat-acc .accordion-l .sub-item .sub-head .q {
  flex: 1 1 auto;
  font-family: "Inter Web";
  font-weight: 600;
  font-size: 2.2rem;
  line-height: 2.7rem;
  color: var(--black);
}
section.sostenibilitat-acc .accordion-l .sub-item .sub-head .toggle {
  flex: none;
  width: 4.8rem;
  height: 4.8rem;
}
section.sostenibilitat-acc .accordion-l .sub-item .sub-body {
  display: none;
  padding: 0 1.6rem;
  margin-top: 1.6rem;
  gap: 2.4rem;
  align-items: flex-start;
}
section.sostenibilitat-acc .accordion-l .sub-item.is-open .sub-body {
  display: flex;
}
section.sostenibilitat-acc .accordion-l .sub-item.is-open > .sub-head .toggle .vert {
  display: none;
}
section.sostenibilitat-acc .accordion-l .sub-item .sub-body .img {
  flex: none;
  width: 24rem;
  height: 16.3rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.4rem;
}
section.sostenibilitat-acc .accordion-l .sub-item .sub-body .txt p {
  margin: 0;
  font-family: "Inter Web";
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--text-light-footer);
}

section.module-video {
  position: relative;
  height: 63.9rem;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 2.4rem;
  overflow: hidden;
  background: #E6EAE6;
}
section.module-video .bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
     object-fit: cover;
}
section.module-video .media-controls {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 0.8rem;
}
section.module-video .media-controls button {
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  border: none;
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.module-video .media-controls button svg {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
}
section.module-video .media-controls .audio {
  width: 4.4rem;
  height: 4.4rem;
  padding: 1rem;
}
section.module-video .media-controls .play {
  height: 4.4rem;
  padding: 1rem 1.6rem;
  gap: 0.8rem;
}
section.module-video .media-controls .play .label {
  font-family: "Inter Web";
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--black);
}
section.module-video .media-controls .play .ico-pause {
  display: none;
}
section.module-video .media-controls .play.is-playing .ico-play {
  display: none;
}
section.module-video .media-controls .play.is-playing .ico-pause {
  display: block;
}/*# sourceMappingURL=main.css.map */