

@font-face {
  font-family: "Inter";
  src: url("inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  -webkit-text-size-adjust: 100%;
  --background: #fefdfc;
  --text: #000;
  --accent: #faf590;
  --accent-about: #faf590;
  --font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ls: .0125em;                                  
  --ls-small: .01em;
  --font: 640 .8rem/1rem var(--font-family);
  --font-bold: 760 .8rem/1rem var(--font-family);
  --font-small: 640 .5rem/.6rem var(--font-family);
  --font-small-bold: 760 .5rem/.6rem var(--font-family);
  --grid-template-columns: repeat(8, 1fr);
  --gap: .25rem;
  --padding-side: 1rem;
  font-size: 125%;
  font-family: var(--font-family);
  font-weight: 600;
  background: var(--background);
  color: var(--text);
  interpolate-size: allow-keywords;
  scroll-behavior: auto;
}
@media (width > 700px) {
  :root { --padding-side: 1.25rem; --grid-template-columns: repeat(12, 1fr); }
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-decoration: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "kern", "liga", "clig", "calt";
  touch-action: manipulation;
  outline: none;
}
html { letter-spacing: var(--ls); }
.footer, .filters-title, .about-section-title, .about-list-item-year, .project-spec-title, .regesto-item-category, .regesto-item-size,
.regesto-item-year, .regesto-item-location, .regesto-hover-spec-title, .about-languages, .about-footer, .mobile-nav-languages,
.mobile-nav-contacts, .mobile-nav-footer, .aviso-muestra { letter-spacing: var(--ls-small); }
body {
  padding-top: 2rem;
  min-height: 100vh;
  min-height: 100svh;
  background: var(--background);
  font: var(--font);
}
html#home, html#home body { height: 100%; overflow: hidden; }
a { word-break: break-word; }
button { background: none; border: none; text-align: left; cursor: pointer; }
img { display: block; width: 100%; height: auto; }
ol, ul { list-style: none; }
[hidden] { display: none !important; }
.vh {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.saltar {
  position: fixed; left: var(--padding-side); top: .5rem; z-index: 20000;
  padding: .25rem .5rem; background: var(--text); color: var(--background); font: var(--font-bold);
  transform: translateY(-300%);
}
.saltar:focus-visible { transform: none; }


a:focus-visible, button:focus-visible, .filters-input:focus-visible + .filters-label {
  outline: 2px solid var(--text);
  outline-offset: 2px;
}
.about-is-open #about a:focus-visible, .about-is-open #about button:focus-visible,
.mobile-navigation-is-open .mobile-navigation-container a:focus-visible,
.mobile-navigation-is-open .mobile-navigation-container button:focus-visible { outline-color: var(--text); }
#main-focus:focus { outline: none; }
main:focus { outline: none; }


.cursor {
  position: fixed; top: 50%; left: 50%; z-index: 999999; display: none; mix-blend-mode: difference; pointer-events: none;
}
.cursor svg { width: 22px; height: 22px; fill: #fff; display: none; }
.cursor-up svg.cursor-up { display: block; }
.cursor-left svg.cursor-left { display: block; }
.cursor-right svg.cursor-right { display: block; }
.cursor-link svg.cursor-link { display: block; }
@media (hover: hover) and (pointer: fine) {
  html.con-cursor .cursor { display: grid; top: 0; left: 0; opacity: 0; will-change: transform; }
  html.con-cursor .cursor.visible { opacity: 1; }
  html.con-cursor, html.con-cursor * { cursor: none !important; }
  html.con-cursor :is(a, button) * { pointer-events: none; }
}


.header {
  position: fixed; inset: 0 0 auto 0; z-index: 10000;
  background: var(--accent);
  display: grid; grid-template-columns: var(--grid-template-columns); gap: var(--gap);
  padding: .5rem var(--padding-side);
  grid-template-areas: "title title title title title button button button";
}
@media (width > 700px) { .header { grid-template-areas: "title title title title title title title title . button button button"; } }
@media (width > 800px) { .header { grid-template-areas: "title title title title menu menu menu menu . . . button"; } }
.header-home-link { grid-area: title; justify-self: start; }
.header-title { text-transform: uppercase; font: var(--font-bold); display: block; }
.header-home-link:hover { opacity: .5; }
.header-menu { grid-area: menu; display: flex; justify-content: space-around; }
.header-menu:has(a:hover) a:not(:hover) { opacity: .5; }
.header-menu-item { font: var(--font-bold); }
.header-buttons { grid-area: button; justify-self: end; display: flex; }
.header-button {
  cursor: pointer; aspect-ratio: 1; border: none; width: 1rem; height: 1rem; display: inline-flex; color: var(--text);
}
.header-button svg { margin: auto; width: 100%; }
.header-button:hover { opacity: .5; }
.header-button-close { display: none; }

.header-project-title, .header-project-size, .header-project-year { display: none; font: var(--font-bold); grid-row: 1; }
.header-project-title { grid-column: 4 / 7; overflow: hidden; text-wrap: nowrap; text-overflow: ellipsis; }
.header-project-size { grid-column: 7 / 9; }
.header-project-year { grid-column: 10 / 12; }
#project .header-project-title, #project .header-project-size, #project .header-project-year { display: block; }
#project .header-menu { display: none; }
#project .header-button-about { display: none; }
#project .header-button-close { display: inline-flex; transform: rotate(45deg); }
@media (width <= 800px) {
  #project .header-home-link { display: none; }
  .header-project-title { grid-column: 1 / 7; }
  .header-project-size { grid-column: 7 / 9; }
  .header-project-year { grid-column: 10 / 12; grid-row: 1; }
}
@media (width <= 700px) {
  .header-project-title { grid-column: 1 / 5; grid-row: 1; }
  .header-project-size { display: none !important; }
  .header-project-year { grid-column: 5 / 9; justify-self: end; padding-right: 1.5rem; }
}


.vista { width: 100%; }
html#home .footer { display: none; }


.home {
  height: calc(100vh - 2rem); height: calc(100svh - 2rem);
  position: relative;
  display: grid;
  grid-template-columns: var(--grid-template-columns);
  gap: 0 var(--gap);
  grid-template-rows: auto auto 1fr;
  grid-template-areas:
    "about about about about about about about about about about about about"
    "controls controls controls controls controls controls controls controls controls controls controls controls"
    "slider slider slider slider slider slider slider slider slider slider slider slider";
}
@media (width > 800px) {
  .home {
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "about about about about about about about controls controls controls controls controls"
      "slider slider slider slider slider slider slider slider slider slider slider slider";
  }
}
.about { grid-area: about; padding: .5rem var(--padding-side); }
.about p { font: var(--font-bold); }
@media (width > 800px) { .about [aria-hidden] { display: none; } }
@media (width <= 800px) {
  .about { overflow: hidden; background: var(--text); color: var(--background); display: flex; gap: 1ch; white-space: nowrap; }
  .about div { animation: marquee 45s linear infinite; }
}
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(calc(-100% - 1ch)); } }

.slides { grid-area: slider; position: relative; touch-action: pan-y; user-select: none; -webkit-user-drag: none; }
.slide {
  position: absolute; inset: 0;
  transition-property: opacity; transition-duration: 150ms; transition-timing-function: ease-out;
}
.slides.auto .slide { transition-duration: 700ms; transition-timing-function: ease-in-out; }
.slide:not(.slide-active) { opacity: 0; pointer-events: none; }
.slide-image { height: 100%; object-fit: cover; object-position: center; pointer-events: none; background: #1c1c1c; }
.slide:nth-child(2) .slide-image { object-position: 50% 40%; }
.slider-title, .slider-number { font: var(--font-bold); text-align: right; }
.slider-prev, .slider-next, .slider-number { border: none; cursor: pointer; }
.slider-controls { grid-area: controls; justify-self: end; align-self: start; padding: .5rem var(--padding-side); }
@media (width <= 800px) { .slider-controls { display: flex; justify-content: space-between; justify-self: stretch; } }
.slider-numbers { display: flex; gap: var(--gap); justify-content: flex-end; }
@media (width > 800px) { .slider-numbers { margin-top: .5rem; } }
.slider-number:not(.slider-number-active) { opacity: .5; }
.slider-number:hover { opacity: 1; }
.slider-buttons {
  grid-area: slider; z-index: 9000; pointer-events: none; justify-content: space-between; display: none;
}
@media (hover: hover) { .slider-buttons { display: flex; } }
.slider-buttons button { width: 25vw; pointer-events: all; }
.slider-buttons button:focus-visible { outline: 3px solid #fff; outline-offset: -10px; background: rgba(0, 0, 0, .14); }
.slide:focus-visible { outline: 3px solid #fff; outline-offset: -10px; }


.aviso-muestra {
  position: absolute; left: var(--padding-side); bottom: .5rem; z-index: 9500; grid-area: slider; align-self: end; justify-self: start;
  font: var(--font-small-bold); color: #fff; text-shadow: 0 0 6px rgba(0, 0, 0, .6), 0 0 2px rgba(0, 0, 0, .5); pointer-events: none;
}
.aviso-muestra a { pointer-events: auto; text-decoration: underline; text-underline-offset: 2px; }
.aviso-muestra a:hover { opacity: .5; }


.footer {
  padding: 0 var(--padding-side) var(--padding-side);
  display: grid; grid-template-columns: var(--grid-template-columns); gap: var(--gap);
  grid-template-areas: "contacts contacts contacts contacts contacts contacts contacts contacts contacts contacts contacts contacts" "links links links links links links links links links links links links";
  margin-top: 10rem;
  font: var(--font-small);
  text-transform: uppercase;
}
@media (width > 700px) { .footer { margin-top: 25rem; } }
@media (width > 1200px) { .footer { grid-template-areas: "contacts contacts contacts contacts contacts . . . . links links links"; } }
.footer-contacts { grid-area: contacts; display: grid; grid-template-columns: 1fr; gap: var(--gap); }
@media (width > 850px) { .footer-contacts { grid-template-columns: repeat(3, auto); justify-content: space-between; } }
.footer-links { grid-area: links; display: flex; justify-content: space-between; gap: 1rem; white-space: nowrap; }
.footer-aviso { text-transform: none; }
.footer a:hover { opacity: .5; }
@media (width <= 1200px) { .footer-links { margin-top: 1.5rem; } }


.filters {
  padding: 1rem 0; position: sticky; top: 2rem; background: var(--background);
  overflow: auto; z-index: 8000; scrollbar-width: none;
}
.filters-controls { border: none; display: flex; gap: 1rem; align-items: baseline; padding: 0 var(--padding-side); }
.filters-title { font: var(--font-small); text-transform: uppercase; }
legend.filters-title { display: none; }
.filters-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.filters-label { font: var(--font-bold); opacity: .5; cursor: pointer; text-wrap: nowrap; }
.filters-label:hover { opacity: 1; }
.filters-input:checked + .filters-label { opacity: 1; }


#about {
  padding: 3rem var(--padding-side) var(--padding-side);
  display: none; grid-template-columns: var(--grid-template-columns); gap: var(--gap);
  position: fixed; inset: 0; background: var(--accent-about); z-index: 9999;
  grid-template-areas: "content content content content content content content content";
  align-items: start; overflow: auto; pointer-events: none; width: 100vw;
}
@media (width > 700px) {
  #about { grid-template-areas: "content content content content content content content content contacts contacts contacts contacts"; }
}
.about-content {
  grid-area: content; display: grid; grid-template-columns: 1fr; gap: 5rem var(--gap); padding-bottom: 33vh;
}
@media (width > 1100px) { .about-content { grid-template-columns: 1fr 1fr; } }
.about-contacts { grid-area: contacts; position: sticky; top: 0; }
.about-section-title, .about-list-item-year { font: var(--font-small); text-transform: uppercase; }
.about-section-text, .about-list-item-title { font: var(--font-bold); }
.about-list-item { display: flex; flex-direction: column; margin-top: .5rem; position: relative; }
.about-section-image { width: 50%; margin-bottom: 1em; }
@media (width > 700px) {
  .about-section { position: relative; }
  .about-section-image { position: absolute; top: .75rem; display: none; pointer-events: none; z-index: 100; max-width: 15rem; width: 100%; }
  .about-section-title:hover + img, .about-section-title:focus-visible + img { display: block; }
}
html.about-is-open { overflow: hidden; }
.about-is-open #about { display: grid; pointer-events: all; }
.about-is-open .header-menu { opacity: 0; pointer-events: none; visibility: hidden; }
.about-is-open .header-button-about { transform: rotate(45deg); }
.about-languages {
  grid-row: 1; grid-column: 9 / -1; justify-self: end; font: var(--font-small); z-index: 1; position: sticky; top: 0;
}
.about-footer {
  grid-column: 9 / -1; grid-row: 1; display: flex; justify-content: space-between;
  font: var(--font-small); text-transform: uppercase; position: sticky; top: calc(100% - .5rem);
}
.about-footer .about-link:first-child { text-transform: uppercase; }
.about-footer span.about-link { text-transform: none; }
.about-footer a:hover, .about-footer button:hover { opacity: .5; }
@media (width <= 700px) {
  .about-contacts, .about-footer, .about-languages { display: none; }
}
@media (width > 700px) {
  .about-section, .about-awards, .about-publications { padding-right: 1rem; }
  .about-awards { grid-column: 1 / 2; }
}


#contacts {
  padding: 3rem var(--padding-side) var(--padding-side); position: fixed; inset: 0; background: var(--accent-about); z-index: 9999;
  align-items: start; overflow: auto; display: none; pointer-events: none; backdrop-filter: blur(10px);
}
@media (width <= 800px) { .contact-is-open #contacts { display: block; pointer-events: all; } }
@media (width > 800px) { #contacts { display: none !important; } }
.contacts-content { font: var(--font-bold); }


@media (width <= 800px) { .header-menu { display: none; } }
.mobile-navigation-container {
  position: fixed; inset: 0; z-index: 9999; background: var(--accent-about); padding: 2rem var(--padding-side) .5rem;
  display: grid; grid-template-rows: 1fr 1fr 1fr auto;
  grid-template-areas: ". ." "nav languages" "contacts contacts" "footer footer";
  pointer-events: none; opacity: 0; visibility: hidden; transition: opacity 150ms ease-out, visibility 0s linear 150ms; align-items: baseline;
}
.mobile-nav { grid-area: nav; display: flex; flex-direction: column; gap: .25rem; }
.mobile-nav-item { font: var(--font-bold); appearance: none; border: none; text-align: left; cursor: pointer; width: max-content; }
.mobile-nav-languages { grid-area: languages; font: var(--font-small); text-align: right; }
.mobile-nav-contacts { grid-area: contacts; align-self: end; font: var(--font-small); text-transform: uppercase; }
.mobile-nav-contacts p { margin-bottom: .5rem; }
.mobile-nav-footer { grid-area: footer; font: var(--font-small); display: flex; justify-content: space-between; text-transform: uppercase; }
.mobile-nav-footer-link { text-transform: none; }
@media (width > 800px) { .mobile-navigation-container { display: none; } }
@media (width <= 800px) {
  .mobile-navigation-is-open .mobile-navigation-container { opacity: 1; pointer-events: all; visibility: visible; transition-delay: 0s; }
  .mobile-navigation-is-open .header-button-about { transform: rotate(-45deg); }
  html.mobile-navigation-is-open { overflow: hidden; }
  .about-is-open .header-button-about, .contact-is-open .header-button-about { transform: rotate(45deg); }
}


.works .filters { margin-top: 0; }
.selected-projects {
  padding: 0 var(--padding-side); display: grid; grid-template-columns: 1fr; gap: 6rem;
}
@media (width > 800px) { .selected-projects { grid-template-columns: 1fr 1fr; gap: var(--gap); } }
.selected-project {
  position: relative; grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; grid-template-areas: "content .";
  pointer-events: none;
}
.selected-project-wrapper { grid-area: content; pointer-events: all; position: relative; }
.selected-project.hidden { display: none; }
@media (width > 800px) {
  .selected-project:nth-child(even) { grid-template-areas: ". content"; }
  .selected-project:not(:first-child):not(.first-selected) { margin-top: max(-7rem, -10%); }
}
.selected-project-info {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--gap); font: var(--font-bold); padding-top: var(--gap); position: relative;
}
.selected-project-title { grid-column: span 3; }
.selected-project-size { grid-column: span 2; }
.selected-project-year { grid-column: span 1; }
.selected-project-thumb-container { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--gap); position: relative; }
.selected-project-thumb-container[data-images="1"] img.portrait { grid-column: span 3; }
.selected-project-thumb-container[data-images="1"] img.landscape { grid-column: span 6; }
.selected-project-thumb-container[data-images="1"] img.square { grid-column: span 4; }
.selected-project-image { aspect-ratio: 8 / 5; object-fit: cover; background: #ddd; }
.selected-project-link { position: static; }
.selected-project-link::after { content: ""; position: absolute; inset: 0; }
.selected-project-wrapper:hover .selected-project-title { opacity: .5; }


.regesto { min-height: 100%; }
.regesto .filters { margin-top: 1rem; }
.regesto-list { margin-top: 1rem; position: relative; }
.regesto-list::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--text); }
.regesto-item {
  border-bottom: 1px solid var(--text); position: relative; padding: 1rem var(--padding-side);
  display: grid; grid-template-columns: var(--grid-template-columns); gap: 0 var(--gap); align-items: baseline; transition: height 150ms ease-out;
}
.regesto-item.hidden { display: none; }
@media (width > 700px) { .regesto-item:hover [class*='regesto-item'] { opacity: .5; } }
.regesto-item:hover .regesto-hover-container, .regesto-item:focus-within .regesto-hover-container { display: grid; }
.regesto-item-category, .regesto-item-size, .regesto-item-year, .regesto-item-location {
  font: var(--font-small); text-transform: uppercase; grid-row: 1; overflow: hidden; text-overflow: ellipsis; text-wrap: nowrap;
}
.regesto-item-title { font: var(--font-bold); grid-row: 1; grid-column: 1 / 5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.regesto-item-category { grid-column: 5 / 8; padding-right: 3rem; }
.regesto-item-size { grid-column: 7 / 8; justify-self: end; }
.regesto-item-year { grid-column: 9 / 10; justify-self: end; }
.regesto-item-location { grid-column: 10 / 13; justify-self: end; max-width: 100%; }
.regesto-item-link { position: absolute; inset: 0; font-size: 0; color: transparent; text-transform: uppercase; }
.regesto-item-link:focus-visible { outline-offset: -4px; }
.regesto-hover-container {
  position: absolute; inset: calc(100% + 1px) 0 auto; padding: 0 var(--padding-side); display: none;
  grid-template-columns: var(--grid-template-columns); gap: var(--gap);
  grid-template-areas: ". . . . content content content content content . . .";
  z-index: 9999; pointer-events: none;
}
@media (width < 1400px) { .regesto-hover-container { grid-template-areas: ". . . . content content content content content content content ."; } }
@media (width < 900px) { .regesto-hover-container { grid-template-areas: ". . . content content content content content content content content content"; } }
.regesto-hover-inner { grid-area: content; display: grid; grid-template-columns: 1fr 1fr; background: var(--accent); min-height: calc(21rem + 6px); }
@media (width > 1900px) { .regesto-hover-inner { min-height: calc(27rem + 8px); } }
.regesto-hover-style-image .regesto-hover-inner { grid-template-areas: "image image"; }
.regesto-hover-style-text .regesto-hover-inner { grid-template-areas: "text text"; }
.regesto-hover-style-both .regesto-hover-inner { grid-template-areas: "image text"; }
.regesto-hover-style-image .regesto-hover-text { display: none; }
.regesto-hover-style-text .regesto-hover-picture { display: none; }
.regesto-hover-picture { width: 100%; height: 100%; object-fit: cover; object-position: center; grid-area: image; }
.regesto-hover-text { padding: 1rem; width: 100%; grid-area: text; }
.regesto-hover-spec { margin-bottom: 1rem; }
.regesto-hover-spec-title { font: var(--font-small); text-transform: uppercase; }
.regesto-hover-spec-text { font: var(--font); }
@media (width < 950px) {
  .regesto-item-category, .regesto-item-location { display: none; }
  .regesto-item-title { grid-column: 1 / 8; }
  .regesto-item-size { grid-column: 9 / 11; }
  .regesto-item-year { grid-column: 11 / 13; }
}
@media (width <= 700px) {
  .regesto-item-category { display: block; justify-self: end; grid-column: 1 / -1; grid-row: 4; opacity: 0; padding-right: 0; }
  .regesto-item-location { display: block; justify-self: end; grid-column: 1 / -1; grid-row: 3; opacity: 0; }
  .regesto-item-size { display: block; justify-self: end; grid-column: 1 / -1; grid-row: 2; opacity: 0; }
  .regesto-item-title { grid-column: 1 / 7; align-self: baseline; }
  .regesto-item-year { grid-column: 7 / 9; justify-self: end; }
  .regesto-item { padding: .5rem var(--padding-side); align-items: end; overflow: hidden; height: 2rem; grid-template-rows: 1rem; grid-auto-rows: auto; cursor: pointer; }
  .regesto-item-link { position: static; grid-column: 1 / -1; grid-row: 5; color: var(--text); font: var(--font-small); opacity: 0; display: none; }
  .regesto-hover-container { position: static; display: grid; grid-column: 1 / -1; padding: 0; margin-top: .25rem; grid-template-areas: "content content content content content content content content"; opacity: 0; z-index: 0; }
  .regesto-hover-inner { background: unset; grid-template-columns: 1fr; gap: var(--padding-side); min-height: unset; }
  .regesto-hover-style-image .regesto-hover-inner { grid-template-areas: "image"; }
  .regesto-hover-style-text .regesto-hover-inner { grid-template-areas: "text"; }
  .regesto-hover-style-both .regesto-hover-inner { grid-template-areas: "image" "text"; }
  .regesto-hover-text { padding: 0; }
  .regesto-hover-picture { height: auto; }
  .item-is-expanded { height: auto; }
  .item-is-expanded * { opacity: 1; }
  .item-is-expanded .regesto-item-link { display: block; text-transform: uppercase; }
  .item-is-expanded .regesto-item-title { white-space: unset; overflow: unset; grid-row: 1 / 5; align-self: start; }
}


.project-opening-image {
  height: calc(100vh - 6.5rem); height: calc(100svh - 6.5rem); object-fit: cover; object-position: center center; background: #1c1c1c;
}
@media (orientation: portrait) { .project-opening-image { max-height: calc(100svh - 6.5rem); height: auto; } }
.project-specs { padding: 1.5rem var(--padding-side); display: grid; grid-template-columns: var(--grid-template-columns); gap: 2.5rem var(--gap); }
.project-specs-bottom { padding-top: 25rem; }
@media (width <= 700px) {
  .project-specs { gap: 1rem var(--gap); padding-bottom: 10rem; }
  .project-specs-bottom { padding-top: 10rem; padding-bottom: 0; }
}
.project-spec { grid-column: span 6; }
@media (width > 1000px) { .project-spec { grid-column: span 3; } }
.project-spec-title { font: var(--font-small); text-transform: uppercase; }
.project-spec-text { font: var(--font-bold); }

.block { padding-right: var(--padding-side); padding-left: var(--padding-side); margin-bottom: var(--gap); }
.block img { mix-blend-mode: multiply; }
@media (width <= 700px) {
  .block { padding-right: 0; padding-left: 0; }
  .block-textimage-text { padding-right: var(--padding-side); padding-left: var(--padding-side); margin-bottom: 10rem; }
}
@media (width > 700px) { .block-image-is-fullscreen { padding: calc(var(--padding-side) - var(--gap)) 0; } }
.block-smallimagetext, .block-bigimagetext {
  display: grid; grid-template-columns: var(--grid-template-columns); gap: var(--gap); align-content: center; align-items: center;
}
.block-layout-1-2 { grid-template-areas: "small small small small big big big big big big big big"; }
.block-layout-2-1 { grid-template-areas: "big big big big big big big big small small small small"; }
@media (width <= 700px) {
  .block-layout-1-2, .block-layout-2-1 { grid-template-areas: "small small small small small small small small" "big big big big big big big big"; }
}
.block-textimage-text { font: var(--font-bold); display: grid; grid-template-columns: subgrid; }
.block-smallimagetext .block-textimage-text { grid-area: big; }
.block-smallimagetext.block-layout-2-1 .block-textimage-text-content { grid-column: 4 / -1; }
.block-smallimagetext.block-layout-1-2 .block-textimage-text-content { grid-column: 3 / -1; }
.block-textimage-small-image { grid-area: small; }
.block-textimage-big-image { grid-area: big; }
.block-textimage-big-image img { object-fit: cover; object-position: center; }
.block-bigimagetext .block-textimage-text { grid-area: small; }
.block-bigimagetext.block-layout-2-1 .block-textimage-text-content { grid-column: 2 / span 3; }
.block-bigimagetext.block-layout-1-2 .block-textimage-text-content { grid-column: span 3; }
.editor p:not(:last-child) { margin-bottom: 1em; }
.editor p { font: var(--font-bold); max-width: 60ch; }
.about-section-text.editor p { max-width: none; }
@media (width <= 1200px) {
  .block-bigimagetext.block-layout-2-1 .block-textimage-text-content { grid-column: 1 / span 4; padding-left: 2rem; }
  .block-bigimagetext.block-layout-1-2 .block-textimage-text-content { grid-column: span 4; padding-left: 2rem; }
}
@media (width <= 800px) {
  .block-bigimagetext.block-layout-2-1 .block-textimage-text-content, .block-bigimagetext.block-layout-1-2 .block-textimage-text-content { grid-column: 1 / -1; padding-left: 0; padding-top: 0; }
  .block-bigimagetext.block-layout-2-1, .block-bigimagetext.block-layout-1-2 {
    grid-template-areas: "big big big big big big big big big big big big" "small small small small small small small small small small small small";
  }
}
@media (width <= 700px) {
  .block-smallimagetext.block-layout-1-2 .block-textimage-text-content, .block-smallimagetext.block-layout-2-1 .block-textimage-text-content { grid-column: 1 / -1; }
  .block-smallimagetext.block-layout-1-2 .block-textimage-text, .block-bigimagetext.block-layout-2-1 .block-textimage-text-content,
  .block-bigimagetext.block-layout-1-2 .block-textimage-text-content, .block-smallimagetext.block-layout-2-1 .block-textimage-text { padding-top: 10rem; }
}
.block-text { display: grid; grid-template-columns: var(--grid-template-columns); gap: var(--gap); align-content: center; align-items: center; }
.block-text:not(:first-child) { margin-top: 10rem; }
.block-text:not(:last-child) { margin-bottom: 10rem; }
.block-text.block-layout-1-2 { grid-template-areas: ". . . . . . text text text text text text"; }
@media (width <= 700px) {
  .block-text { padding-right: var(--padding-side); padding-left: var(--padding-side); }
  .block-text.block-layout-1-2 { grid-template-areas: "text text text text text text text text"; }
}
.block-text-text { grid-area: text; font: var(--font-bold); }


.aviso-flotante {
  position: fixed; left: 50%; bottom: 1.25rem; z-index: 30000; transform: translateX(-50%);
  background: var(--text); color: var(--background); padding: .4rem .8rem; font: var(--font-bold); white-space: nowrap;
}


@media (prefers-reduced-motion: reduce) {
  .slide, .slides.auto .slide { transition-duration: 0s; }
  .about div { animation: none; }
  @media (width <= 800px) {
    .about { display: block; white-space: normal; }
    .about [aria-hidden] { display: none; }
  }
  .mobile-navigation-container { transition: none; }
}
