 .u-section-1 {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJkZWZhdWx0LWltYWdlLXNvbGlkIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDAwIDI2NSIgc3R5bGU9IndpZHRoOiA0MDBweDsgaGVpZ2h0OiAyNjVweDsiPg0KPHJlY3QgZmlsbD0iI0M2RDhFMSIgd2lkdGg9IjQwMCIgaGVpZ2h0PSIyNjUiLz4NCjxwYXRoIGZpbGw9IiNEOUUzRTgiIGQ9Ik0zOTUuMyw5Ni4yYy01LTAuOC02LjEsMS4xLTguNSwyLjljLTEtMi4zLTIuNi02LjItNy43LTVjMS41LTUuMy0yLjYtOC40LTcuNy04LjRjLTAuNiwwLTEuMiwwLjEtMS44LDAuMg0KCWMtMS44LTQuMS02LTYuOS0xMC43LTYuOWMtNi41LDAtMTEuOCw1LjMtMTEuOCwxMS44YzAsMC40LDAsMC45LDAuMSwxLjNjLTEuMi0wLjgtMi41LTEuMy0zLjktMS4zYy00LjMsMC03LjksNC4yLTcuOSw5LjQNCgljMCwxLjIsMC4yLDIuNCwwLjYsMy41Yy0wLjUtMC4xLTEtMC4xLTEuNi0wLjFjLTYuOSwwLTEyLjUsNS41LTEyLjcsMTIuNGMtMC45LTAuMi0xLjktMC40LTIuOS0wLjRjLTYuNCwwLTExLjcsNS4yLTEyLjUsMTEuOA0KCWMtMS4yLTAuNC0yLjUtMC42LTMuOS0wLjZjLTUuOSwwLTEwLjgsMy44LTEyLjEsOC45Yy0yLjQtMi01LjUtMy4yLTguOS0zLjJjLTYsMC0xMS4xLDMuNy0xMi44LDguOGMtMS41LTEuNC0zLjgtMi4zLTYuMy0yLjMNCgljLTIuMSwwLTQuMSwwLjYtNS41LDEuN2gtMC4xYy0xLjMtNS41LTYuMi05LjUtMTIuMS05LjVjLTIuNCwwLTQuNywwLjctNi42LDEuOWMtMS40LTAuNy0zLTEuMi00LjgtMS4yYy0wLjMsMC0wLjUsMC0wLjgsMA0KCWMtMS41LTQuMS01LjItNy05LjUtN2MtMy4xLDAtNS45LDEuNS03LjgsMy45Yy0yLjItNC44LTYuOC04LjItMTIuMi04LjJjLTUuNiwwLTEwLjUsMy43LTEyLjUsOC44Yy0yLjEtMC45LTQuNC0xLjUtNi45LTEuNQ0KCWMtNi44LDAtMTIuNSwzLjktMTQuNSw5LjNjLTAuMiwwLTAuNSwwLTAuNywwYy01LjIsMC05LjYsMy4yLTExLjQsNy44Yy0yLjctMi44LTctNC41LTExLjgtNC41Yy0zLjMsMC02LjQsMC45LTguOSwyLjMNCgljLTIuMS02LjUtOC0xMi4yLTE4LjEtOS45Yy0yLjctMi4zLTYuMy0zLjctMTAuMS0zLjdjLTIuNSwwLTQuOCwwLjYtNi45LDEuNmMtMi4yLTUuOS03LjktMTAuMS0xNC42LTEwLjFjLTguNiwwLTE1LjYsNy0xNS42LDE1LjYNCgljMCwwLjksMC4xLDEuNywwLjIsMi41Yy0yLjYtNS03LjgtOC40LTEzLjgtOC40Yy04LjMsMC0xNS4xLDYuNS0xNS42LDE0LjZjLTIuOS0zLjItNy01LjMtMTEuNy01LjNjLTcuNCwwLTEzLjUsNS4xLTE1LjIsMTINCgljLTIuOS0zLjUtOS44LTYtMTQuNy02djExOS4yaDQwMFYxMDJDNDAwLDEwMiw0MDAsOTcsMzk1LjMsOTYuMnoiLz4NCjxwYXRoIGZpbGw9IiM4RUE4QkIiIGQ9Ik00MDAsMjA2LjJjMCwwLTI1LjMtMTkuMi0zMy42LTI1LjdjLTEzLjQtMTAuNi0yMy4xLTEyLjktMzEuNy03cy0yMy45LDE5LjctMjMuOSwxOS43cy01OC45LTYzLjktNjEuNS02Ni40DQoJYy0xLjUtMS40LTMuNi0xLjctNS41LTAuOWMtNS4yLDIuNC0xNy42LDkuNy0yNC41LDEyLjdjLTYuOSwyLjktNDEtNTAuNy00OS42LTUzcy04NC4zLDgzLjMtMTAxLjQsNzUuMXMtMjYuOS0yLjMtMzUuNCwzLjUNCgljLTguNiw1LjktMTEsNS45LTE1LjksOC4ycy0xNy4xLTUuOS0xNy4xLTUuOVYyNjVjMCwwLDQwMCwwLjIsNDAwLDB2LTU4LjhINDAweiIvPg0KPHBhdGggZmlsbD0iIzdFOTZBNiIgZD0iTTMzMy40LDE3OWMtMTMuMS05LjMtNDAsNC42LTU1LjEsMTAuN2MtMjMuNiw5LjYtOTQtNTQuNC0xMDcuMi01OS43YzAsMC00LjIsMy43LTkuNiw3LjYNCgljLTMuNS0wLjQtOC40LTUuNy05LjktNC43Yy00LjYsMy4xLTE3LjgsMTUuNC0yOC4zLDI2LjZjLTEwLjUsMTEuMy0xMS43LDAtMTUuOC0wLjZjLTIuNS0wLjQtNTQuMSw0Mi41LTU4LjcsNDMuMQ0KCUMyMi4zLDIwNS4zLDAsMTk3LjUsMCwxOTcuNVYyNjVsNDAwLTAuMXYtNTMuM0M0MDAsMjExLjYsMzQ0LjgsMTg3LjEsMzMzLjQsMTc5eiIvPg0KPHBhdGggZmlsbD0iIzc4OEY5RSIgZD0iTTAsMjY0Ljl2LTU4LjZjMCwwLDguMiwxLjgsMTEuMyw1LjNjMy4xLDMuNiwyNi4xLTQuMiwyNi4xLDQuN3MwLjUsNC4yLDAuNSwxNC44YzAsMTAuNywyMy00LjIsMzguMS0xOC40DQoJczM0LjktNDkuMiwzNi0zNWMxLDE0LjItMTUuMSwzOS4yLTI0LDU2LjRDNzkuMSwyNTEuNCw1MS43LDI2NSw1MS43LDI2NUwwLDI2NC45eiIvPg0KPHBhdGggZmlsbD0iIzc4OEY5RSIgZD0iTTEwMCwyNjVjMCwwLDY2LjctMTI1LjEsNjguMy0xMTYuOHMtNi44LDI5LjcsMi4xLDI2LjFjOC45LTMuNiwxNC42LTE2LDE4LjgtOS41czE2LjIsMzguNiwyMS45LDMzLjgNCgljNS43LTQuNywyMS40LTEzLjEsMjIuNC02LjVjMSw2LjUtMSw1LjMtNS43LDIwLjJDMjIzLjEsMjI3LjEsMjAwLDI2NSwyMDAsMjY1aC0xMGMwLDAsNi0yNC44LDguNi0zNC45YzIuNi0xMC4xLTMuNy0xOS0xMi04LjMNCglzLTIzLDIyLTI0LDE3LjhzLTUuNy0zMC4zLTE4LjgtMTQuMmMtMTMsMTYtMzMuOCwzOS43LTMzLjgsMzkuN2gtMTBWMjY1eiIvPg0KPHBhdGggZmlsbD0iIzc4OEY5RSIgZD0iTTI0NSwyNjVjMCwwLDE5LjgtNTQuNywzMy40LTY0LjJzNTMuNy0yNy45LDQ2LjktMTMuNmMtNi44LDE0LjItMTEsMzQuNC0yMC4zLDQ5LjgNCgljLTkuNCwxNS40LTE4LjgsMjYuMS0xNC4xLDEzLjZjNC43LTEyLjUsNi40LTIzLjMsMy43LTIzLjFDMjcxLjMsMjI5LjEsMjYwLDI2NSwyNjAsMjY1SDI0NXoiLz4NCjwvc3ZnPg0K');
  background-position: 50% 50%;
}

.u-section-1 .u-sheet-1 {
  min-height: 800px;
}

.u-section-1 .u-text-1 {
  margin: 60px auto 0;
}

.u-section-1 .u-text-2 {
  width: 607px;
  font-size: 1.5rem;
  margin: 30px auto 60px;
}

@media (max-width: 1199px) {
  .u-section-1 .u-sheet-1 {
    min-height: 660px;
  }

  .u-section-1 .u-text-2 {
    font-size: 1.25rem;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 506px;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-sheet-1 {
    min-height: 380px;
  }

  .u-section-1 .u-text-2 {
    width: 540px;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-sheet-1 {
    min-height: 307px;
  }

  .u-section-1 .u-text-2 {
    width: 340px;
    font-size: 1rem;
  }
} .u-section-2 {
  background-image: none;
}

.u-section-2 .u-sheet-1 {
  min-height: 549px;
}

@media (max-width: 1199px) {
  .u-section-2 .u-sheet-1 {
    min-height: 436px;
  }
}

/* Portfolio editorial */
.portfolio-page {
  --portfolio-green: #667257;
  --portfolio-green-dark: #4f5b43;
  --portfolio-ink: #171a16;
  --portfolio-muted: #696e67;
  --portfolio-paper: #f2f0e9;
  color: var(--portfolio-ink);
  font-family: "Open Sans", sans-serif;
}

.portfolio-eyebrow {
  color: var(--portfolio-green);
  font-family: Montserrat, sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin: 0 0 13px;
}

.portfolio-hero {
  align-items: flex-end;
  background-image: linear-gradient(0deg, rgba(7, 12, 7, 0.58), rgba(7, 12, 7, 0.08)), url("images/Photo-9032.jpg");
  background-image: linear-gradient(0deg, rgba(7, 12, 7, 0.58), rgba(7, 12, 7, 0.08)), image-set(url("images/responsive/Photo-9032-1920.avif") type("image/avif"), url("images/responsive/Photo-9032-1920.webp") type("image/webp"), url("images/Photo-9032.jpg") type("image/jpeg"));
  background-position: 50% 38%;
  background-size: cover;
  color: #fff;
  display: flex;
  min-height: min(760px, 72vh);
  padding: 70px max(28px, calc((100% - 1180px) / 2));
}

.portfolio-hero-content { max-width: 720px; }
.portfolio-hero .portfolio-eyebrow { color: rgba(255, 255, 255, 0.8); }
.portfolio-hero h1 {
  font-family: Merriweather, serif;
  font-size: clamp(4rem, 10vw, 8.5rem);
  font-weight: 300;
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin: 0 0 26px;
}
.portfolio-hero p:not(.portfolio-eyebrow) { font-size: clamp(1rem, 1.8vw, 1.25rem); line-height: 1.7; margin: 0; max-width: 620px; }
.portfolio-hero a { align-items: center; border: 1px solid rgba(255, 255, 255, 0.75); border-radius: 50%; color: #fff; display: flex; font-size: 1.3rem; height: 48px; justify-content: center; margin-top: 34px; text-decoration: none; width: 48px; }
.portfolio-hero a:hover, .portfolio-hero a:focus-visible { background: #fff; color: var(--portfolio-ink); }

.portfolio-gallery-section { margin: 0 auto; max-width: 1240px; padding: 10px 30px 50px; scroll-margin-top: 140px; }
.portfolio-gallery-heading { align-items: end; border-bottom: 1px solid #deded8; display: grid; gap: 60px; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr); padding-bottom: 35px; }
.portfolio-gallery-heading h2,
.portfolio-story-copy h2,
.portfolio-cta h2 { font-family: Merriweather, serif; font-weight: 300; }
.portfolio-gallery-heading h2 { font-size: clamp(2.35rem, 5vw, 4.2rem); line-height: 1.15; margin: 0; }
.portfolio-gallery-heading > p { color: var(--portfolio-muted); line-height: 1.75; margin: 0; }
.portfolio-filters { display: flex; flex-wrap: wrap; gap: 27px; margin: 34px 0 45px; }
.portfolio-filters button { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--portfolio-muted); cursor: pointer; font-family: Montserrat, sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; padding: 5px 0; }
.portfolio-filters button:hover,
.portfolio-filters button:focus-visible,
.portfolio-filters button.is-active { border-color: var(--portfolio-green); color: var(--portfolio-ink); }

.portfolio-grid { display: grid; gap: 14px; grid-auto-flow: dense; grid-auto-rows: 145px; grid-template-columns: repeat(12, 1fr); }
.portfolio-shot { background: #eee; border: 0; cursor: zoom-in; grid-column: span 4; grid-row: span 3; overflow: hidden; padding: 0; position: relative; }
.portfolio-shot[hidden] { display: none !important; }
.portfolio-shot.shot-wide { grid-column: span 8; grid-row: span 3; }
.portfolio-shot.shot-large { grid-column: span 8; grid-row: span 5; }
.portfolio-shot.shot-tall { grid-column: span 4; grid-row: span 4; }
.portfolio-shot img { height: 100%; object-fit: cover; transition: filter 0.35s, transform 0.6s; width: 100%; }
.portfolio-shot span { background: linear-gradient(transparent, rgba(0, 0, 0, 0.64)); bottom: 0; color: #fff; font-family: Montserrat, sans-serif; font-size: 0.68rem; left: 0; letter-spacing: 0.1em; opacity: 0; padding: 55px 20px 18px; position: absolute; right: 0; text-align: left; transform: translateY(8px); transition: opacity 0.3s, transform 0.3s; }
.portfolio-shot:hover img,
.portfolio-shot:focus-visible img { filter: brightness(0.9); transform: scale(1.025); }
.portfolio-shot:hover span,
.portfolio-shot:focus-visible span { opacity: 1; transform: translateY(0); }

.portfolio-story { background: var(--portfolio-paper); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr); }
.portfolio-client-collections { background:var(--portfolio-paper); padding:100px max(22px,calc((100% - 1240px)/2)) 115px; }
.portfolio-client-collections-heading { margin-bottom:38px; max-width:760px; }
.portfolio-client-collections-heading h2 { font-family:Merriweather,serif; font-size:clamp(2.3rem,5vw,4.2rem); font-weight:300; margin:0 0 18px; }
.portfolio-client-collections-heading > p:last-child { color:var(--portfolio-muted); line-height:1.75; }
.portfolio-client-collections-grid { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.portfolio-collection-card { background:#fff; border:1px solid #e1e1dc; border-radius:15px; color:var(--portfolio-ink); overflow:hidden; text-decoration:none; }
.portfolio-collection-card figure { aspect-ratio:3/2; margin:0; overflow:hidden; }
.portfolio-collection-card img { height:100%; object-fit:cover; transition:transform .5s ease; width:100%; }
.portfolio-collection-card:hover img { transform:scale(1.025); }
.portfolio-collection-copy { padding:21px; }
.portfolio-collection-copy span { color:var(--portfolio-green); font:700 .6rem Montserrat,sans-serif; letter-spacing:.14em; }
.portfolio-collection-copy h3 { font-family:Merriweather,serif; font-size:1.25rem; font-weight:300; margin:8px 0; }
.portfolio-collection-copy p { color:var(--portfolio-muted); font-size:.72rem; line-height:1.65; }
.portfolio-collection-copy small { font-size:.6rem; font-weight:700; letter-spacing:.08em; }
.portfolio-collections-loading { color:var(--portfolio-muted); font-size:.7rem; }
.portfolio-story-image { min-height: 680px; overflow: hidden; }
.portfolio-story-image img { height: 100%; object-fit: cover; width: 100%; }
.portfolio-story-copy { align-self: center; max-width: 620px; padding: 75px clamp(40px, 7vw, 100px); }
.portfolio-story-copy h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); line-height: 1.22; margin: 0 0 25px; }
.portfolio-story-copy > p:not(.portfolio-eyebrow) { color: var(--portfolio-muted); line-height: 1.8; }
.portfolio-story-copy a { color: var(--portfolio-green-dark); display: inline-block; font-family: Montserrat, sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; margin-top: 18px; text-decoration: none; }

.portfolio-cta { padding: 110px 25px 120px; text-align: center; }
.portfolio-cta h2 { font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.16; margin: 0 auto 20px; max-width: 850px; }
.portfolio-cta > p:not(.portfolio-eyebrow) { color: var(--portfolio-muted); line-height: 1.7; margin: 0 auto 32px; }
.portfolio-cta > div { display: flex; gap: 13px; justify-content: center; }
.portfolio-cta a { background: var(--portfolio-green); border: 1px solid var(--portfolio-green); border-radius: 999px; color: #fff; font-family: Montserrat, sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; padding: 14px 25px; text-decoration: none; }
.portfolio-cta a:hover, .portfolio-cta a:focus-visible { background: var(--portfolio-green-dark); }
.portfolio-cta a.portfolio-cta-secondary { background: transparent; color: var(--portfolio-ink); }

.portfolio-lightbox[hidden] { display: none; }
.portfolio-lightbox { inset: 0; position: fixed; z-index: 10000; }
.portfolio-lightbox-backdrop { background: rgba(8, 9, 8, 0.96); inset: 0; position: absolute; }
.portfolio-lightbox-dialog { align-items: center; display: grid; grid-template-columns: 58px minmax(0, 1fr) 58px; inset: 0; padding: 35px; position: absolute; }
.portfolio-lightbox figure { align-items: center; display: flex; flex-direction: column; height: calc(100vh - 70px); justify-content: center; margin: 0; min-width: 0; }
.portfolio-lightbox figure img { max-height: calc(100% - 40px); max-width: 100%; object-fit: contain; }
.portfolio-lightbox figcaption { color: rgba(255, 255, 255, 0.76); font-family: Montserrat, sans-serif; font-size: 0.7rem; letter-spacing: 0.1em; margin-top: 15px; }
.portfolio-lightbox button { background: none; border: 0; color: #fff; cursor: pointer; font-size: 2.4rem; }
.portfolio-lightbox-close { position: absolute; right: 23px; top: 18px; z-index: 2; }
.portfolio-lightbox-open { overflow: hidden; }

@media (max-width: 900px) {
  .portfolio-gallery-heading { grid-template-columns: 1fr; }
  .portfolio-grid { grid-auto-rows: 110px; }
  .portfolio-shot, .portfolio-shot.shot-tall { grid-column: span 6; }
  .portfolio-shot.shot-wide, .portfolio-shot.shot-large { grid-column: span 12; }
  .portfolio-story { grid-template-columns: 1fr; }
  .portfolio-story-image { min-height: 560px; }
  .portfolio-story-copy { max-width: 760px; }
  .portfolio-client-collections-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 600px) {
  .portfolio-hero { min-height: 600px; padding-bottom: 48px; }
  .portfolio-gallery-section { padding: 10px 14px 50px; }
  .portfolio-filters { gap: 16px 22px; }
  .portfolio-grid { display: block; }
  .portfolio-shot, .portfolio-shot.shot-wide, .portfolio-shot.shot-large, .portfolio-shot.shot-tall { display: block; height: 410px; margin-bottom: 10px; width: 100%; }
  .portfolio-shot.shot-wide { height: 280px; }
  .portfolio-story-image { min-height: 430px; }
  .portfolio-story-copy { padding: 55px 24px 65px; }
  .portfolio-cta { padding: 80px 20px 90px; }
  .portfolio-cta > div { align-items: center; flex-direction: column; }
  .portfolio-lightbox-dialog { grid-template-columns: 42px minmax(0, 1fr) 42px; padding: 20px 5px; }
  .portfolio-client-collections { padding:75px 14px; }
  .portfolio-client-collections-grid { grid-template-columns:1fr; }
}

/* Historias destacadas en formato wide */
.portfolio-featured-stories { background:var(--portfolio-paper); padding:72px max(22px,calc((100% - 1240px)/2)) 88px; }
.portfolio-featured-inner { margin:0 auto; max-width:1240px; }
.portfolio-featured-heading { align-items:end; border-bottom:1px solid #d9d8d1; display:flex; gap:35px; justify-content:space-between; margin-bottom:34px; padding-bottom:25px; }
.portfolio-featured-heading h2 { font-family:Merriweather,serif; font-size:clamp(2rem,4vw,3.5rem); font-weight:300; line-height:1.15; margin:0; }
.portfolio-featured-heading > a { color:var(--portfolio-green-dark); flex:0 0 auto; font:700 .65rem Montserrat,sans-serif; letter-spacing:.09em; padding-bottom:7px; text-decoration:none; }
.portfolio-featured-grid { display:grid; gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.portfolio-featured-card { background:#fff; border:1px solid #e1e1dc; border-radius:15px; min-width:0; overflow:hidden; }
.portfolio-featured-card > a { color:var(--portfolio-ink); display:grid; grid-template-columns:minmax(0,1.18fr) minmax(220px,.82fr); height:100%; text-decoration:none; }
.portfolio-featured-card figure { aspect-ratio:4/3; margin:0; overflow:hidden; }
.portfolio-featured-card img { height:100%; object-fit:cover; transition:transform .5s ease; width:100%; }
.portfolio-featured-card > a > div { align-self:center; padding:28px clamp(22px,3vw,38px); }
.portfolio-featured-card span { color:var(--portfolio-green); font:700 .58rem Montserrat,sans-serif; letter-spacing:.15em; }
.portfolio-featured-card h3 { font-family:Merriweather,serif; font-size:clamp(1.15rem,2vw,1.7rem); font-weight:300; line-height:1.3; margin:10px 0 12px; }
.portfolio-featured-card p { color:var(--portfolio-muted); font:400 .72rem/1.65 Montserrat,sans-serif; margin:0 0 18px; }
.portfolio-featured-card small { font:700 .57rem Montserrat,sans-serif; letter-spacing:.09em; }
.portfolio-featured-card:hover img,.portfolio-featured-card:focus-within img { transform:scale(1.025); }

@media (max-width: 1050px) {
  .portfolio-featured-card > a { grid-template-columns:1fr; }
  .portfolio-featured-card figure { aspect-ratio:3/2; }
}
@media (max-width: 700px) {
  .portfolio-featured-stories { padding:55px 14px 65px; }
  .portfolio-featured-heading { align-items:flex-start; flex-direction:column; }
  .portfolio-featured-grid { grid-template-columns:1fr; }
  .portfolio-featured-card > a { grid-template-columns:minmax(0,1.05fr) minmax(150px,.95fr); }
  .portfolio-featured-card figure { aspect-ratio:4/3; }
  .portfolio-featured-card > a > div { padding:22px 18px; }
}
@media (max-width: 480px) {
  .portfolio-featured-card > a { grid-template-columns:1fr; }
  .portfolio-featured-card figure { aspect-ratio:3/2; }
}

@media (max-width: 991px) {
  .u-section-2 .u-sheet-1 {
    min-height: 334px;
  }
}

@media (max-width: 767px) {
  .u-section-2 .u-sheet-1 {
    min-height: 251px;
  }
}

@media (max-width: 575px) {
  .u-section-2 .u-sheet-1 {
    min-height: 158px;
  }
} .u-section-3 {
  background-image: none;
}

.u-section-3 .u-sheet-1 {
  min-height: 366px;
}

.u-section-3 .u-text-1 {
  margin: 90px auto 0;
}

.u-section-3 .u-text-2 {
  font-size: 1rem;
  width: 780px;
  font-weight: 400;
  margin: 20px auto 0;
}

.u-section-3 .u-btn-1 {
  background-image: none;
  margin: 30px auto 35px;
  padding: 10px 39px;
}

@media (max-width: 991px) {
  .u-section-3 .u-text-2 {
    width: 720px;
  }
}

@media (max-width: 767px) {
  .u-section-3 .u-text-2 {
    width: 540px;
  }
}

@media (max-width: 575px) {
  .u-section-3 .u-sheet-1 {
    min-height: 375px;
  }

  .u-section-3 .u-text-1 {
    margin-top: 60px;
  }

  .u-section-3 .u-text-2 {
    width: 340px;
  }

  .u-section-3 .u-btn-1 {
    margin-bottom: 60px;
  }
} .u-section-4 {
  background-image: none;
}

.u-section-4 .u-sheet-1 {
  min-height: 821px;
}

.u-section-4 .u-text-1 {
  margin: 60px auto 0;
}

.u-section-4 .u-text-2 {
  width: 774px;
  margin: 16px auto 0;
}

.u-section-4 .u-list-1 {
  margin: 57px 0 60px;
}

.u-section-4 .u-repeater-1 {
  grid-template-columns: repeat(2, calc(50% - 5px));
  min-height: 526px;
  --gap: 10px;
  grid-auto-columns: calc(50% - 5px);
}

.u-section-4 .u-list-item-1 {
  background-image: none;
}

.u-section-4 .u-container-layout-1 {
  padding: 21px 30px;
}

.u-section-4 .u-icon-1 {
  height: 63px;
  width: 63px;
  background-image: none;
  color: rgb(255, 255, 255) !important;
  margin: 0 auto 0 0;
  padding: 17px;
}

.u-section-4 .u-text-3 {
  margin: -63px 0 0 94px;
}

.u-section-4 .u-text-4 {
  margin: 25px 0 0 94px;
}

.u-section-4 .u-list-item-2 {
  background-image: none;
}

.u-section-4 .u-container-layout-2 {
  padding: 21px 30px;
}

.u-section-4 .u-icon-2 {
  height: 63px;
  width: 63px;
  background-image: none;
  color: rgb(255, 255, 255) !important;
  margin: 0 auto 0 0;
  padding: 17px;
}

.u-section-4 .u-text-5 {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 1.5rem;
  margin: -63px 0 0 94px;
}

.u-section-4 .u-text-6 {
  font-style: normal;
  margin: 25px 0 0 94px;
}

.u-section-4 .u-list-item-3 {
  background-image: none;
}

.u-section-4 .u-container-layout-3 {
  padding: 21px 30px;
}

.u-section-4 .u-icon-3 {
  height: 63px;
  width: 63px;
  background-image: none;
  color: rgb(255, 255, 255) !important;
  margin: 0 auto 0 0;
  padding: 17px;
}

.u-section-4 .u-text-7 {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 1.5rem;
  margin: -63px 0 0 94px;
}

.u-section-4 .u-text-8 {
  font-style: normal;
  margin: 25px 0 0 94px;
}

.u-section-4 .u-list-item-4 {
  background-image: none;
}

.u-section-4 .u-container-layout-4 {
  padding: 21px 30px;
}

.u-section-4 .u-icon-4 {
  height: 63px;
  width: 63px;
  background-image: none;
  color: rgb(255, 255, 255) !important;
  margin: 0 auto 0 0;
  padding: 17px;
}

.u-section-4 .u-text-9 {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 1.5rem;
  margin: -63px 0 0 94px;
}

.u-section-4 .u-text-10 {
  font-style: normal;
  margin: 25px 0 0 94px;
}

.u-section-4 .u-list-item-5 {
  background-image: none;
}

.u-section-4 .u-container-layout-5 {
  padding: 21px 30px;
}

.u-section-4 .u-icon-5 {
  height: 63px;
  width: 63px;
  background-image: none;
  color: rgb(255, 255, 255) !important;
  margin: 0 auto 0 0;
  padding: 17px;
}

.u-section-4 .u-text-11 {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 1.5rem;
  margin: -63px 0 0 94px;
}

.u-section-4 .u-text-12 {
  font-style: normal;
  margin: 25px 0 0 94px;
}

.u-section-4 .u-list-item-6 {
  background-image: none;
}

.u-section-4 .u-container-layout-6 {
  padding: 21px 30px;
}

.u-section-4 .u-icon-6 {
  height: 63px;
  width: 63px;
  background-image: none;
  color: rgb(255, 255, 255) !important;
  margin: 0 auto 0 0;
  padding: 17px;
}

.u-section-4 .u-text-13 {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  font-size: 1.5rem;
  margin: -63px 0 0 94px;
}

.u-section-4 .u-text-14 {
  font-style: normal;
  margin: 25px 0 0 94px;
}

@media (max-width: 1199px) {
  .u-section-4 .u-list-1 {
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-4 .u-repeater-1 {
    grid-gap: 10px;
    min-height: 434px;
  }

  .u-section-4 .u-text-3 {
    width: auto;
    margin-left: 88px;
  }

  .u-section-4 .u-text-4 {
    width: auto;
    margin-top: 30px;
    margin-left: 88px;
  }

  .u-section-4 .u-text-5 {
    width: auto;
    margin-left: 88px;
  }

  .u-section-4 .u-text-6 {
    width: auto;
    margin-top: 30px;
    margin-left: 88px;
  }

  .u-section-4 .u-text-7 {
    width: auto;
    margin-left: 88px;
  }

  .u-section-4 .u-text-8 {
    width: auto;
    margin-top: 30px;
    margin-left: 88px;
  }

  .u-section-4 .u-text-9 {
    width: auto;
    margin-left: 88px;
  }

  .u-section-4 .u-text-10 {
    width: auto;
    margin-top: 30px;
    margin-left: 88px;
  }

  .u-section-4 .u-text-11 {
    width: auto;
    margin-left: 88px;
  }

  .u-section-4 .u-text-12 {
    width: auto;
    margin-top: 30px;
    margin-left: 88px;
  }

  .u-section-4 .u-text-13 {
    width: auto;
    margin-left: 88px;
  }

  .u-section-4 .u-text-14 {
    width: auto;
    margin-top: 30px;
    margin-left: 88px;
  }
}

@media (max-width: 991px) {
  .u-section-4 .u-sheet-1 {
    min-height: 993px;
  }

  .u-section-4 .u-text-2 {
    width: 720px;
  }

  .u-section-4 .u-list-1 {
    margin-top: 25px;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-4 .u-repeater-1 {
    min-height: 722px;
    grid-auto-columns: calc(100% - 0px);
  }

  .u-section-4 .u-container-layout-1 {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .u-section-4 .u-icon-1 {
    margin-top: 18px;
  }

  .u-section-4 .u-text-3 {
    margin-left: 93px;
  }

  .u-section-4 .u-text-4 {
    margin-left: 93px;
  }

  .u-section-4 .u-container-layout-2 {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .u-section-4 .u-icon-2 {
    margin-top: 18px;
  }

  .u-section-4 .u-text-5 {
    margin-left: 93px;
  }

  .u-section-4 .u-text-6 {
    margin-left: 93px;
  }

  .u-section-4 .u-container-layout-3 {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .u-section-4 .u-icon-3 {
    margin-top: 18px;
  }

  .u-section-4 .u-text-7 {
    margin-left: 93px;
  }

  .u-section-4 .u-text-8 {
    margin-left: 93px;
  }

  .u-section-4 .u-container-layout-4 {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .u-section-4 .u-icon-4 {
    margin-top: 18px;
  }

  .u-section-4 .u-text-9 {
    margin-left: 93px;
  }

  .u-section-4 .u-text-10 {
    margin-left: 93px;
  }

  .u-section-4 .u-container-layout-5 {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .u-section-4 .u-icon-5 {
    margin-top: 18px;
  }

  .u-section-4 .u-text-11 {
    margin-left: 93px;
  }

  .u-section-4 .u-text-12 {
    margin-left: 93px;
  }

  .u-section-4 .u-container-layout-6 {
    padding-top: 0;
    padding-bottom: 30px;
  }

  .u-section-4 .u-icon-6 {
    margin-top: 18px;
  }

  .u-section-4 .u-text-13 {
    margin-left: 93px;
  }

  .u-section-4 .u-text-14 {
    margin-left: 93px;
  }
}

@media (max-width: 767px) {
  .u-section-4 .u-text-2 {
    width: 540px;
  }

  .u-section-4 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-text-3 {
    margin-top: 20px;
    margin-left: 0;
  }

  .u-section-4 .u-text-4 {
    margin-left: 0;
  }

  .u-section-4 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-text-5 {
    margin-top: 20px;
    margin-left: 0;
  }

  .u-section-4 .u-text-6 {
    margin-left: 0;
  }

  .u-section-4 .u-container-layout-3 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-text-7 {
    margin-top: 20px;
    margin-left: 0;
  }

  .u-section-4 .u-text-8 {
    margin-left: 0;
  }

  .u-section-4 .u-container-layout-4 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-text-9 {
    margin-top: 20px;
    margin-left: 0;
  }

  .u-section-4 .u-text-10 {
    margin-left: 0;
  }

  .u-section-4 .u-container-layout-5 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-text-11 {
    margin-top: 20px;
    margin-left: 0;
  }

  .u-section-4 .u-text-12 {
    margin-left: 0;
  }

  .u-section-4 .u-container-layout-6 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-text-13 {
    margin-top: 20px;
    margin-left: 0;
  }

  .u-section-4 .u-text-14 {
    margin-left: 0;
  }
}

@media (max-width: 575px) {
  .u-section-4 .u-text-2 {
    width: 340px;
  }

  .u-section-4 .u-repeater-1 {
    grid-template-columns: 100%;
  }
}

/* Galería simétrica de tres columnas */
.portfolio-grid {
  column-count: 3;
  column-gap: 18px;
  display: block;
}

.portfolio-shot,
.portfolio-shot.shot-wide,
.portfolio-shot.shot-large,
.portfolio-shot.shot-tall {
  aspect-ratio: 3 / 2;
  break-inside: avoid;
  display: block;
  height: auto;
  margin: 0 0 18px;
  width: 100%;
}

.portfolio-shot.shot-tall {
  aspect-ratio: 2 / 3;
}

.portfolio-shot[hidden] {
  display: none !important;
}
.portfolio-public-empty { color:var(--portfolio-muted); column-span:all; font:400 .8rem/1.7 Montserrat,sans-serif; padding:45px 0; text-align:center; }

@media (max-width: 900px) {
  .portfolio-grid {
    column-count: 2;
  }
}

@media (max-width: 600px) {
  .portfolio-grid {
    column-count: 1;
  }

  .portfolio-shot,
  .portfolio-shot.shot-wide,
  .portfolio-shot.shot-large,
  .portfolio-shot.shot-tall {
    height: auto;
    margin-bottom: 12px;
  }
}
