/* Overrides perfecto: fotos Dani, SEO-safe, sin borde lateral IA */

/* Hero / about photos → Dani.
   Hero home: <img class="about-img-home"> (LCP descubrible + fetchpriority). */
img.about-img-home{
  background-image:none!important;
  display:block;
  width:100%;
  max-width:35em;
  height:30em;
  object-fit:cover;
  object-position:50% 20%;
  border-radius:.5rem;
}
@media (max-width:991px){
  img.about-img-home{
    max-width:100%;
    height:30em;
    object-position:50% 0;
  }
}
.about-img-home:not(img) {
  background-image: url(../images/dani_1.webp) !important;
  background-position: 50% 20%;
}
.about-img-right.is-2,
.about-img-right {
  background-image: url(../images/dani_2.webp) !important;
  background-position: 50% 20%;
}
.about-hero-img {
  background-image: url(../images/dani_8.webp) !important;
  background-position: 50% 30%;
  opacity: 1 !important;
}

/* Viewport: nunca maximum-scale (WCAG) — el reference lo traía en HTML, no en CSS */

/* Sin borde lateral tipo “IA” en ningún bloque */
.resumen-directo,
[class*="resumen"] {
  border-left: 0 !important;
}

/* Criterio: una sola fila (copy | stack).
   Nota: #section-work-heading en base.css hace span 2 cols → apilaba todo. */
#criterio-pillars.grid--6-6.is-services{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:center;
  column-gap:clamp(2rem, 5vw, 6em);
  row-gap:2.5em;
}
#criterio-copy{
  grid-area:auto!important; /* anula spans de IDs Webflow reutilizados */
  margin-bottom:0;
  min-width:0;
}
#criterio-card-stack.card-container{
  grid-area:auto!important;
  display:flex;
  flex-direction:row;
  align-items:center;
  width:100%;
  min-width:0;
}
#criterio-card-stack .slider-arrow-wrap{
  flex-direction:column;
  order:0;
  padding-top:0;
  padding-right:1.5rem;
}
#criterio-card-stack .card-container-inner{
  width:100%;
  max-width:28rem;
  margin-top:0;
  flex:1 1 auto;
}
#criterio-card-stack .card{
  background-color:#ddd;
  min-height:13.5rem;
  height:auto;
  padding:1.5em 2.1em;
}
#criterio-card-stack .card .is-txt-xlarge{
  margin:0;
  line-height:1.25;
}
#criterio-card-stack .card > .is-txt-small{
  margin:0;
  max-width:36ch;
  color:var(--copy, #4e5e5f);
}
@media (max-width:991px){
  #criterio-pillars.grid--6-6.is-services{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #criterio-card-stack.card-container{
    flex-direction:column;
  }
  #criterio-card-stack .slider-arrow-wrap{
    flex-direction:row;
    padding:1rem 0 0;
    order:1;
  }
}

/* card01: borde como las cards de servicio del reference */
.card01 {
  border-color: #b4b4b3;
}
/* card01: el mockup hover-design.svg era solo de la card Diseño del reference.
   Aquí las cards son aprendizajes / ecosistema / ideas → hover limpio, sin mockup. */
.card01:hover,
.card01:focus-within {
  background-image: none !important;
  background-color: #ddd;
  color: var(--orange);
  border-color: rgba(71, 84, 103, 0.05);
  box-shadow: 0 20px 20px -10px #d4d4d4;
}
.card01:hover .is-txt-black-100,
.card01:hover .is-txt-xlarge,
.card01:focus-within .is-txt-black-100,
.card01:focus-within .is-txt-xlarge {
  color: var(--orange);
}
.card01:hover a,
.card01:focus-within a {
  color: inherit;
}

/* FAQ interiores: misma maqueta que reference (tabs + accordion) */
.page-wrap .tabs.w-tabs{
  width:100%;
  align-items:stretch;
}
.page-wrap .tabs-content-wrapper.w-tab-content,
.page-wrap .tab-content-inner,
.page-wrap .accordion-wrapper{
  width:100%;
}
.page-wrap .tab-content-inner{
  display:block;
}
.page-wrap .faq_headline-wrap{
  align-items:flex-start;
  margin-bottom:1.5rem;
}
.page-wrap .is-h3-faq{
  text-align:left;
  font-size:clamp(1.75rem, 4vw, 2.25rem);
}
.page-wrap .accordion-heading{
  font-family:"Fff acidgrotesk",sans-serif;
}

/* Stories block (El día a día / reference is-stories)
   Clave: el SVG inferior-dcho (227×96) recorta la esquina del panel oscuro;
   el “móvil” sobresale por arriba y aterriza sobre ese corte. */
.page-wrap .is-stories-section{
  overflow:visible;
  padding-top:10em;
}
.page-wrap .is-stories-section .is-stories{
  padding-top:0;
  align-items:center;
  overflow:visible;
  grid-column-gap:clamp(2rem, 5vw, 6em);
}
.page-wrap .storie-content-wrap{
  padding:0 4em;
  overflow:visible;
  position:relative;
  border-radius:.5em;
  background-color:#161616;
  /* Recorte a la caja oscura (lados y abajo); el móvil puede asomar por arriba. */
  clip-path:inset(-12em 0 -2px 0 round 0 0 .5em .5em);
}
.page-wrap .storie-content-wrap .insights-links-wrap{
  margin-top:.5rem;
}
.page-wrap .storie-content-wrap .dsg_footer-link{
  color:#aaa;
}
.page-wrap .storie-content-wrap .dsg_footer-link:hover{
  color:var(--orange);
}
.page-wrap .storie-content-wrap .is-txt-small a{
  color:#dae1e4;
  text-decoration:underline;
  text-underline-offset:.15em;
}
.page-wrap .storie-wrap{
  position:relative;
  z-index:2;
  justify-self:stretch;
  width:100%;
  display:flex;
  justify-content:flex-start;
}
.page-wrap .tab-wrapper{
  margin-top:-10em;
  width:80%;
  max-width:28.2rem;
  border-radius:1em 1em 0 0;
  overflow:hidden;
  z-index:2;
}
.page-wrap .tabs-demo-function{
  height:min(35em, 70vh);
  min-height:28rem;
  position:relative;
  border-radius:.5em .5em 0 0;
  overflow:hidden;
}
.page-wrap .tabs-content-demo .tab-pane-demo{
  display:none;
  height:100%;
}
.page-wrap .tabs-content-demo .tab-pane-demo.w--tab-active{
  display:block;
}
.page-wrap .tabs-content-demo .tab-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* Esquina inferior derecha: misma geometría que la reference (227px, no 120) */
.page-wrap .storie-bg-img.non-clickable{
  pointer-events:none;
  display:block;
  position:absolute;
  z-index:1;
  top:auto;
  bottom:-1px;
  left:auto;
  right:0;
  width:227px;
  max-width:38%;
  height:auto;
  margin:0;
}
@media (max-width:991px){
  .page-wrap .is-stories-section{
    padding-top:4em;
  }
  .page-wrap .storie-content-wrap{
    padding:3em 1.5em 0;
  }
  .page-wrap .storie-wrap{
    justify-content:center;
  }
  .page-wrap .tab-wrapper{
    margin-top:0;
    width:100%;
    max-width:22rem;
  }
  .page-wrap .tabs-demo-function{
    height:28em;
    min-height:22rem;
  }
  .page-wrap .is-stories-section .grid--6-6.is-stories{
    grid-row-gap:2.5em;
  }
  .page-wrap .storie-bg-img.non-clickable{
    width:min(227px, 55vw);
  }
}
@media (prefers-reduced-motion:reduce){
  .page-wrap .timer-line-demo{
    transition:none;
  }
}

/* Interior pages: ritmo, alineación con home (container-col-12 + card01 + notes) */
.page-wrap .page-hero{
  padding:3.25em 0 2.75em;
}
.page-wrap .page-hero nav.breadcrumbs{
  margin-bottom:1.75rem;
}
.page-wrap .page-hero nav.breadcrumbs a{
  color:#818181;
}
.page-wrap .page-hero nav.breadcrumbs a:hover{
  color:var(--orange);
}
.page-wrap .page-hero nav.breadcrumbs [aria-current="page"]{
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
}
/* Hero hub: H1 con presencia (no “bandera corta”) */
.page-wrap .page-hero h1,
.page-wrap .page-hero .is-h1{
  font-size:clamp(2.4rem, 5vw, 3.75rem);
  line-height:1.05;
  letter-spacing:-.03em;
  max-width:16ch;
  margin:0 0 .85rem;
  text-indent:0!important;
}
.page-wrap .page-hero .lead{
  max-width:38ch;
  font-size:1.05rem;
  line-height:1.55;
}
.page-wrap .page-hero .hero-grid{
  align-items:end;
  column-gap:clamp(2rem, 5vw, 5em);
}
.page-wrap .page-hero .hero-photo{
  width:100%;
  aspect-ratio:5/4;
  object-fit:cover;
  object-position:top center;
  border-radius:.5rem;
}
.page-wrap .page-hero .headline-wrap>.is-txt-subheadline,
.page-wrap .page-hero .headline-wrap>.kicker{
  position:relative!important;
  top:auto!important;
  margin:0 0 .15rem;
}
/* Héroes sin foto: no se quedan como la columna izquierda de un grid vacío */
.page-wrap .page-hero:not(:has(.hero-grid)) h1,
.page-wrap .page-hero:not(:has(.hero-grid)) .is-h1{
  max-width:22ch;
  font-size:clamp(2.2rem, 4.6vw, 3.4rem);
}
.page-wrap .page-hero:not(:has(.hero-grid)) .lead{
  max-width:min(42rem, 100%);
}
.page-wrap .page-hero .hero-byline,
.page-wrap .page-hero > .container-col-12 > .is-txt-small,
.page-wrap .page-hero .hero-grid .is-txt-small{
  margin:.85rem 0 0;
  font-size:.95rem;
  line-height:1.5;
  color:var(--copy,#4e5e5f);
}
.page-wrap .page-hero .hero-byline,
.page-wrap .page-hero .hero-grid .is-txt-small{
  max-width:46ch;
}
.page-wrap .page-hero:not(:has(.hero-grid)) > .container-col-12 > .is-txt-small{
  max-width:min(42rem, 100%);
}
.page-wrap .page-hero .hero-byline a,
.page-wrap .page-hero .hero-grid .is-txt-small a{
  color:inherit;
}
.page-wrap .page-hero.narrow{
  max-width:min(52rem, 100%);
  padding:3.25em 0 5em;
}
.page-wrap .page-hero.narrow h1{
  max-width:none;
  font-size:clamp(2rem, 4vw, 2.75rem);
  margin:0 0 1.5rem;
  line-height:1.12;
}
.page-wrap .page-hero.narrow h2{
  margin:2.25rem 0 .75rem;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:clamp(1.35rem, 2.5vw, 1.75rem);
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
  background:none;
}
.page-wrap .page-hero.narrow p{
  max-width:68ch;
  margin:0;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--copy,#4e5e5f);
}
.page-wrap .page-hero.narrow h2 + p{margin-top:0}
.page-wrap .page-hero.narrow p + p{margin-top:1.1rem}

/* CTA interiores: el padding vive en CSS, no en style="" */
.page-wrap .cta-section.page-cta-band,
.cta-section.page-cta-band{
  padding:4rem;
}
.cta-section:not(#contact){
  padding:4rem;
}
.page-wrap .page-cta-band .headline-wrap{
  margin-bottom:1.5rem;
}

/* Home hero (+ teaser about): mismo stack eyebrow → titular */
.hero-section .home_headline-wrap,
.about-section .headline-stack{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.4rem;
}
.hero-section .home_headline-wrap .is-txt-subheadline,
.about-section .headline-stack > .is-txt-subheadline{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  margin:0;
}
.hero-section .home_headline-wrap .is-h1,
.hero-section .is-h1{
  text-indent:0!important;
  width:100%;
  max-width:18ch;
  margin:0;
}
.about-section .headline-stack > .is-h3{
  text-indent:0!important;
  margin:0;
}

/* Global: matar el patrón Webflow (eyebrow absolute + text-indent en titulares).
   Cubre contacto (#h-contacto-final), CTAs sueltos y cualquier wrap que se escape. */
.is-txt-subheadline,
.is-txt-subheadline-white{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin:0 0 .35rem!important;
  display:block;
}
.is-h1,
.is-h3,
.is-h3.is-txt-white-100,
h1,
h2{
  text-indent:0!important;
}

/* Secciones (home + interiores): eyebrow siempre encima del H2, nunca al lado */
._3columns01_headline-wrap{
  position:relative;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:.4rem;
}
._3columns01_headline-wrap > .is-txt-subheadline,
._3columns01_headline-wrap > .is-txt-subheadline-white{
  margin:0!important;
  order:-1; /* si el HTML aún trae el H2 antes del eyebrow */
}
._3columns01_headline-wrap .is-h3,
._3columns01_headline-wrap h2,
._3columns01_headline-wrap > .is-pad-b-24 > .is-h3,
._3columns01_headline-wrap > .is-pad-b-24 > h2{
  margin-top:0;
}

/* Contacto: .is-margin-b-24 (no usa _3columns01_headline-wrap) */
.contact_content-wrap > .is-margin-b-24,
#contact .is-margin-b-24:has(> .is-txt-subheadline){
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.4rem;
}
.contact_content-wrap > .is-margin-b-24 > .is-txt-subheadline,
#contact .is-margin-b-24 > .is-txt-subheadline{
  margin:0!important;
  order:-1;
}
.contact_content-wrap > .is-margin-b-24 > .is-h3,
#contact .is-margin-b-24 > .is-h3,
#contact .is-margin-b-24 > h2{
  margin:0;
}

/* CTA band suelta (home “Trabajar conmigo”, ideas “En abierto”, page-cta-band) */
.cta-section > .is-txt-subheadline,
.page-cta-band > .is-txt-subheadline{
  margin:0 0 .4rem!important;
}
.cta-section:not(#contact) > .is-h3 + .is-txt-small,
.cta-section:not(#contact) > h2 + .is-txt-small{
  margin-top:1.6rem;
  max-width:none;
}
.page-wrap .section{
  padding:6em 0;
}
.page-wrap .section-tight{
  padding:3em 0 1.5em;
}
/* Resumen GEO: a ancho de contenedor, pegado al hero (no tarjeta huérfana estrecha) */
/* Resumen GEO: caja a medida del cuerpo (52rem), no banda full-bleed
   con texto a 68ch y vacío a la derecha. */
.page-wrap .section-tight.hero-resumen{
  padding-top:0;
  padding-bottom:2.5em;
}
.page-wrap .resumen-directo,
.page-wrap .container-col-12 .resumen-directo{
  max-width:min(52rem, 100%);
  width:100%;
  margin:0;
  padding:clamp(1.5rem, 2.5vw, 2rem) clamp(1.5rem, 3vw, 2.25rem);
  background:#ddd;
  border:none;
  border-radius:.5rem;
  box-sizing:border-box;
}
.page-wrap .resumen-directo p{
  max-width:none;
  margin:0;
  font-size:clamp(1.02rem, 1.15vw, 1.12rem);
  line-height:1.7;
  color:var(--headings, #242736);
}
.page-wrap .resumen-directo p + p{
  margin-top:1rem;
}
/* Cuerpo longform: misma medida que el resumen (52rem). */
.page-wrap .content-narrow{
  max-width:min(52rem, 100%);
}
.page-wrap .ideas-card-grid .card01 h3,
.page-wrap .contacto-paths .card01 h3{
  margin:0;
  font-size:1.35rem;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
  background:none;
  text-indent:0;
}
.page-wrap .ideas-card-grid .card01:hover h3,
.page-wrap .ideas-card-grid .card01:focus-within h3,
.page-wrap .contacto-paths .card01:hover h3,
.page-wrap .contacto-paths .card01:focus-within h3{
  color:var(--orange);
  -webkit-text-fill-color:var(--orange);
}
.page-wrap .ideas-card-grid .card01 h3 a,
.page-wrap .contacto-paths .card01 h3 a{
  color:inherit;
  text-decoration:none;
}
.page-wrap .contacto-paths{
  grid-template-columns:repeat(2, 1fr);
}
/* Ideas hub: 4 cards → 2×2 */
.page-wrap .ideas-list-grid{
  grid-template-columns:repeat(2, 1fr);
}
@media (max-width:991px){
  .page-wrap .contacto-paths,
  .page-wrap .ideas-list-grid{grid-template-columns:1fr}
}
.page-wrap .page-cta-band .social{
  margin-top:.25rem;
}
.page-wrap .page-cta-band .social a{
  border-color:#cecece;
}
.page-wrap .page-cta-band .headline-wrap > h2{
  text-indent:0!important;
}
/* Longform: tipografía de lectura (proyectos, ideas, criterio) */
.page-wrap .content-narrow > h2{
  margin-top:clamp(2.5rem, 5vw, 3.25rem);
  margin-bottom:.85rem;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:clamp(1.75rem, 3.2vw, 2.35rem);
  line-height:1.15;
  letter-spacing:-.02em;
  max-width:22ch;
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
  background:none;
  text-indent:0;
}
.page-wrap .content-narrow > h2:first-child{
  margin-top:0;
}
.page-wrap .content-narrow > p,
.page-wrap .content-narrow > ul{
  max-width:68ch;
  font-size:1.1rem;
  line-height:1.7;
  color:var(--copy, #4e5e5f);
}
.page-wrap .content-narrow > p{
  margin:0;
}
.page-wrap .content-narrow > p + p{
  margin-top:1.15rem;
}
.page-wrap .content-narrow > ul{
  margin:1.35rem 0 1.6rem;
  padding-left:1.15rem;
  list-style:disc;
}
.page-wrap .content-narrow > ul > li{
  margin:0 0 .85rem;
  padding-left:.2rem;
  line-height:1.65;
}
.page-wrap .content-narrow > ul > li:last-child{
  margin-bottom:0;
}
.page-wrap .content-narrow > ul > li::marker{
  color:var(--orange);
}
.page-wrap .content-narrow > h2 + p,
.page-wrap .content-narrow > h2 + ul{
  margin-top:.15rem;
}
.page-wrap .content-narrow a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.15em;
}
.page-wrap .content-narrow a:hover{
  color:var(--orange);
}
/* Artículos (proyectos + posts): un poco más de aire vertical en el cuerpo */
.page-wrap article > .section:has(> .container-col-12 > .content-narrow:not(.faq-block)){
  padding-top:4.5em;
  padding-bottom:4.5em;
}

/* Fichas de proyecto e ideas: mismo eje que los hubs (contenedor),
   cuerpo en dos columnas a todo el ancho — no un marco centrado que “salta” al entrar. */
.page-wrap article.article-longform{
  --article-gap:clamp(2rem, 4vw, 4.5rem);
}
.page-wrap article.article-longform .content-narrow{
  max-width:none;
  width:100%;
}
.page-wrap article.article-longform .page-hero nav.breadcrumbs{
  margin-bottom:1.25rem;
}
.page-wrap .article-hero-grid{
  display:grid;
  grid-template-columns:minmax(10rem, 1fr) minmax(0, 1.15fr);
  column-gap:var(--article-gap, clamp(2rem, 4vw, 4.5rem));
  align-items:end;
  width:100%;
}
.page-wrap .article-hero-grid .headline-wrap{
  margin:0;
}
.page-wrap article.article-longform .page-hero:not(:has(.hero-grid)) .article-hero-grid h1,
.page-wrap article.article-longform .page-hero:not(:has(.hero-grid)) .article-hero-grid .is-h1{
  max-width:22ch;
  margin:0;
  font-size:clamp(2.2rem, 4.6vw, 3.4rem);
}
.page-wrap article.article-longform .page-hero .article-hero-copy .lead{
  max-width:none;
  margin:0;
}
.page-wrap .article-hero-copy .button-wrap{
  margin-top:1.25rem;
}
.page-wrap .article-hero-grid--solo{
  display:block;
  width:100%;
}
.page-wrap article.article-longform .page-hero:not(:has(.hero-grid)) .article-hero-grid--solo h1{
  max-width:22ch;
  font-size:clamp(2.2rem, 4.6vw, 3.4rem);
}
.page-wrap article.article-longform .resumen-directo,
.page-wrap article.article-longform .container-col-12 .resumen-directo{
  max-width:none;
  width:100%;
  margin:0;
}
.page-wrap article.article-longform figure.narrow:not(.studio-gallery) img,
.page-wrap article.article-longform figure.section img{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
}
.page-wrap .article-chapter{
  display:grid;
  grid-template-columns:minmax(10rem, 1fr) minmax(0, 1.15fr);
  column-gap:var(--article-gap, clamp(2rem, 4vw, 4.5rem));
  align-items:start;
  width:100%;
  margin:0 0 clamp(2.75rem, 5.5vw, 4.25rem);
}
.page-wrap .article-chapter:last-child{
  margin-bottom:0;
}
.page-wrap .article-chapter-body{
  max-width:42rem;
}
.page-wrap .article-chapter > h2{
  margin:0;
  max-width:14ch;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:clamp(1.45rem, 2.4vw, 1.9rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
  background:none;
  text-indent:0;
}
.page-wrap .article-chapter-body > p,
.page-wrap .article-chapter-body > ul{
  max-width:none;
  font-size:1.1rem;
  line-height:1.7;
  color:var(--copy, #4e5e5f);
}
.page-wrap .article-chapter-body > p{
  margin:0;
}
.page-wrap .article-chapter-body > p + p,
.page-wrap .article-chapter-body > ul + p,
.page-wrap .article-chapter-body > p + ul{
  margin-top:1.15rem;
}
.page-wrap .article-chapter-body > ul{
  margin:1.15rem 0 0;
  padding-left:1.15rem;
  list-style:disc;
}
.page-wrap .article-chapter-body > ul > li{
  margin:0 0 .85rem;
  padding-left:.2rem;
  line-height:1.65;
}
.page-wrap .article-chapter-body > ul > li:last-child{
  margin-bottom:0;
}
.page-wrap .article-chapter-body > ul > li::marker{
  color:var(--orange);
}
.page-wrap .article-chapter-body > h3{
  margin:1.75rem 0 .45rem;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:1.12rem;
  line-height:1.25;
  letter-spacing:-.015em;
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
  background:none;
  text-indent:0;
}
.page-wrap .article-chapter-body > h3:first-child{
  margin-top:0;
}
.page-wrap .article-chapter-body a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.15em;
}
.page-wrap .article-chapter-body a:hover{
  color:var(--orange);
}
@media (max-width:991px){
  .page-wrap .article-hero-grid,
  .page-wrap .article-chapter{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:.75rem;
    justify-content:stretch;
  }
  .page-wrap article.article-longform .page-hero:not(:has(.hero-grid)) .article-hero-grid h1,
  .page-wrap article.article-longform .page-hero:not(:has(.hero-grid)) .article-hero-grid--solo h1,
  .page-wrap .article-chapter > h2{
    max-width:none;
  }
  .page-wrap .article-hero-grid{
    align-items:start;
  }
}

/* Sobre mí / biografía: capítulos editoriales (H2 izq · copy dcha)
   El .is-txt-subheadline de base.css es absolute (pensado con text-indent en H2).
   Aquí lo apilamos encima del título para que no se monte. */
.page-wrap .bio-chapters .bio-chapter{
  align-items:start;
  margin-bottom:clamp(3.5rem, 7vw, 5.5rem);
}
.page-wrap .bio-chapters .bio-chapter:last-child{
  margin-bottom:0;
}
.page-wrap .bio-chapters .bio-chapter ._3columns01_headline-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.35rem;
}
.page-wrap .bio-chapters .bio-chapter .is-txt-subheadline{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  margin:0;
  display:block;
}
.page-wrap .bio-chapters .bio-chapter .is-h3{
  margin:0;
  text-indent:0!important;
  background:none;
  -webkit-text-fill-color:var(--headings);
  color:var(--headings);
  max-width:14ch;
}
.page-wrap .bio-chapters .bio-chapter-body .is-txt-small{
  margin:0;
  max-width:38rem;
}
.page-wrap .bio-chapters .bio-chapter-body .is-txt-small + .is-txt-small{
  margin-top:1.15rem;
}
.page-wrap .bio-chapters .bio-chapter-body a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.15em;
}
.page-wrap .bio-chapters .bio-chapter-body a:hover{
  color:var(--orange);
}
@media (max-width:991px){
  .page-wrap .bio-chapters .bio-chapter{
    grid-row-gap:1.25rem;
    margin-bottom:3rem;
  }
  .page-wrap .bio-chapters .bio-chapter .is-h3{
    max-width:none;
  }
}
/* Figuras de artículo: mismo eje izquierdo que el cuerpo (contenedor 1416),
   imagen a 52rem como .content-narrow — no centradas a pantalla completa. */
.page-wrap figure.narrow:not(.studio-gallery),
.page-wrap figure.section{
  width:100%;
  max-width:1416px;
  margin:3rem auto;
  padding:0 2em;
}
.page-wrap figure.narrow:not(.studio-gallery) img,
.page-wrap figure.section img{
  width:100%;
  max-width:min(52rem, 100%);
  border-radius:.5rem;
}
.page-wrap figure img{
  width:100%;
  border-radius:.5rem;
}
/* Galería estudio: full-bleed del contenedor, una foto completa (sin recortes),
   autoplay + drag vía JS. Sin botones. */
.page-wrap figure.studio-gallery{
  width:100%;
  max-width:1416px;
  margin:3.5rem auto;
  padding:0 2em;
  position:relative;
}
.page-wrap .studio-gallery__viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y;
  border-radius:.5rem;
  user-select:none;
}
.page-wrap .studio-gallery__viewport::-webkit-scrollbar{display:none}
.page-wrap .studio-gallery__viewport.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
}
.page-wrap .studio-gallery__track{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:0;
  width:100%;
}
.page-wrap .studio-gallery__slide{
  flex:0 0 100%;
  width:100%;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  margin:0;
  min-width:0;
}
.page-wrap .studio-gallery__slide img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:.5rem;
  background:#d0d0d0;
  pointer-events:none;
  -webkit-user-drag:none;
}
@media (prefers-reduced-motion:reduce){
  .page-wrap .studio-gallery__viewport{scroll-behavior:auto}
}
@media (max-width:767px){
  .page-wrap figure.studio-gallery{padding:0 1.25rem;margin:2.5rem auto}
}
/* Pain points: sobre el gris de página, sin isla */
.page-wrap .pain-section{
  background:transparent;
}
.page-wrap .pain-lead{
  max-width:min(52rem, 100%);
  margin:0 0 2.75rem;
}
.page-wrap .pain-lead > p{
  font-size:1.05rem;
  line-height:1.7;
  color:var(--copy,#4e5e5f);
}
.page-wrap .pain-lead > p + p{margin-top:1.1rem}
.page-wrap .ref-pain-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  column-gap:clamp(1.75rem, 3vw, 2.75rem);
  row-gap:clamp(2.5rem, 4vw, 4rem);
  background:transparent;
  padding:0;
}
.page-wrap .ref-pain-cell{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:none;
  padding:1rem 0 0;
  background:transparent;
  border-top:1px solid #e0ddd6;
}
.page-wrap .ref-pain-diagram{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  margin:0 0 2rem;
  overflow:hidden;
  background:transparent;
}
.page-wrap .ref-pain-diagram img,
.page-wrap .ref-pain-diagram svg{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.page-wrap .ref-pain-diagram svg{
  transform:translateZ(0);
}
.page-wrap .ref-pain-diagram svg circle{
  fill:#b4b4b3;
}
.page-wrap .ref-pain-diagram path[stroke]{
  stroke-dasharray:1;
  stroke-dashoffset:0;
}
.page-wrap .ref-pain-cell:hover path[stroke],
.page-wrap .ref-pain-cell:focus-within path[stroke]{
  animation:pain-draw .85s cubic-bezier(.22,1,.36,1) both;
}
@keyframes pain-draw{
  from{stroke-dashoffset:1}
  to{stroke-dashoffset:0}
}
.page-wrap .ref-pain-title{
  margin:0;
  max-width:27.5rem;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:1.2rem;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--headings,#242736);
}
.page-wrap .ref-pain-desc{
  margin:.5rem 0 0;
  max-width:27.5rem;
  font-size:.95rem;
  line-height:1.5;
  color:#6b7278;
}
@media (max-width:991px){
  .page-wrap .ref-pain-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:639px){
  .page-wrap .ref-pain-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .page-wrap .ref-pain-cell:hover path[stroke],
  .page-wrap .ref-pain-cell:focus-within path[stroke]{
    animation:none;
  }
}
/* Encaje: paneles Superport (framer-rcmgkq / framer-10ikiwm) */
.page-wrap .encaje-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5rem;
  align-items:stretch;
}
.page-wrap .encaje-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  gap:1.75rem;
  min-height:18.75rem;
  height:100%;
  padding:1rem;
  background-color:var(--bg-cta,#dbdedd);
  background-image:url("../img/ui/bg-element.svg");
  background-position:0 0;
  background-repeat:no-repeat;
  background-size:auto 6em;
  border:0;
  border-radius:var(--r,.5rem);
  box-shadow:none;
  overflow:hidden;
}
.page-wrap .encaje-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  width:6rem;
  height:6rem;
  flex:none;
  align-self:flex-end;
}
.page-wrap .encaje-card--yes .encaje-badge{
  background:var(--orange,#ec5c29);
}
.page-wrap .encaje-card--no .encaje-badge{
  background:var(--bg,#e5e5e5);
}
.page-wrap .encaje-arrow{
  position:relative;
  display:block;
  width:40px;
  height:40px;
}
.page-wrap .encaje-arrow::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#fff;
  box-shadow:
    6px 0 0 #fff,
    12px 0 0 #fff,
    18px 0 0 #fff,
    24px 0 0 #fff,
    30px 0 0 #fff,
    36px 0 0 #fff,
    29px 7px 0 #fff,
    36px 6px 0 #fff,
    23px 12px 0 #fff,
    36px 12px 0 #fff,
    17px 18px 0 #fff,
    36px 18px 0 #fff,
    12px 24px 0 #fff,
    36px 24px 0 #fff,
    6px 30px 0 #fff,
    36px 30px 0 #fff,
    0 36px 0 #fff,
    36px 36px 0 #fff;
}
.page-wrap .encaje-card--no .encaje-arrow{
  transform:rotate(180deg);
}
.page-wrap .encaje-card p{
  margin:0;
  font-size:1rem;
  line-height:1.55;
  color:var(--copy,#4e5e5f);
}
.page-wrap .encaje-card strong{
  display:block;
  margin-bottom:.85rem;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:1.35rem;
  font-weight:400;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--headings,#242736);
}
.page-wrap .encaje-card--yes strong{
  color:var(--orange,#ec5c29);
}
@media (max-width:991px){
  .page-wrap .encaje-grid{
    grid-template-columns:1fr;
    gap:.5rem;
  }
  .page-wrap .encaje-card{min-height:12.5rem}
  .page-wrap .encaje-badge{
    width:4rem;
    height:4rem;
  }
}

/* Diferencia: titular + copy; enlaces como continuación, no párrafo corrido */
.page-wrap .diferencia-panel p + p{
  margin-top:1rem;
}
.page-wrap .diferencia-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.75rem;
  margin:2rem 0 0;
  padding-top:1.35rem;
  border-top:1px solid var(--line,#d0d0d0);
}
.page-wrap .diferencia-links a{
  display:inline-block;
  max-width:100%;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:1.05rem;
  line-height:1.3;
  letter-spacing:-.02em;
  color:var(--headings,#242736);
  text-decoration:none;
}
.page-wrap .diferencia-links a:hover{
  color:var(--orange);
}
.page-wrap .content-narrow .headline-wrap{
  margin-bottom:1.5rem;
}
.page-wrap .ideas-card-grid .card01 h3{
  margin:0;
  font-size:1.35rem;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--headings);
  -webkit-text-fill-color:var(--headings);
  background:none;
  text-indent:0;
}
.page-wrap .ideas-card-grid .card01:hover h3,
.page-wrap .ideas-card-grid .card01:focus-within h3{
  color:var(--orange);
  -webkit-text-fill-color:var(--orange);
}
/* Rejilla Personas / Tecnología / Procesos (hover) */
.page-wrap .sistema-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(1.5rem, 3vw, 2.75rem);
  margin:0 0 3rem;
  background:transparent;
  border:1px solid #b4b4b3;
  border-radius:1em;
  padding:1.5em;
  overflow:hidden;
  box-sizing:border-box;
}
.page-wrap .sistema-layout__visual{
  position:relative;
  min-height:min(62vw, 22rem);
}
.page-wrap .sistema-grid-root{
  position:absolute;
  inset:0;
  overflow:hidden;
  touch-action:pan-y;
  background:transparent;
}
.page-wrap .sistema-handle{
  position:absolute;
  z-index:3;
  left:2.25rem;
  top:2.25rem;
  width:2.75rem;
  height:2.75rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--orange,#ec5c29);
  color:#fff;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1;
  pointer-events:none;
  transform:translate(-50%,-50%);
}
.page-wrap .sistema-handle img{
  display:block;
  width:58%;
  height:auto;
  filter:brightness(0) invert(1);
}
@media (hover:hover) and (pointer:fine){
  .page-wrap .sistema-handle{
    opacity:0;
  }
  .page-wrap .sistema-grid-root.is-sistema-live .sistema-handle{
    opacity:1;
  }
}
.page-wrap .sistema-grid-canvas{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
}
.page-wrap .sistema-grid-root--static .sistema-grid-canvas{display:none}
.page-wrap .sistema-grid-root--static{
  background-color:transparent;
  background-image:radial-gradient(circle, #b4b4b3 1.35px, transparent 1.45px);
  background-size:28px 28px;
}
.page-wrap .sistema-badge{
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:.75rem;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.page-wrap .sistema-badge__dot{
  width:1rem;
  height:1rem;
  flex-shrink:0;
  border-radius:50%;
  background:var(--orange,#ec5c29);
}
.page-wrap .sistema-badge__label{
  white-space:nowrap;
  padding:.55rem .9rem;
  background:#161616;
  color:#e5e5e5;
  font-family:"Fff acidgrotesk",sans-serif;
  font-size:.8rem;
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1;
  border-radius:.25rem;
}
.page-wrap .sistema-layout__copy{
  display:flex;
  align-items:center;
  padding:0;
}
.page-wrap .sistema-layout__copy .is-txt-small{
  margin:0;
  max-width:36ch;
  font-size:1.05rem;
  line-height:1.65;
}
@media (max-width:991px){
  .page-wrap .sistema-layout{
    grid-template-columns:1fr;
  }
  .page-wrap .sistema-layout__visual{
    min-height:min(78vw, 20rem);
  }
  .page-wrap .sistema-badge[data-badge="personas"]{
    left:48% !important;
    top:22% !important;
  }
  .page-wrap .sistema-badge[data-badge="tecnologia"]{
    left:68% !important;
    top:48% !important;
  }
  .page-wrap .sistema-badge[data-badge="procesos"]{
    left:44% !important;
    top:76% !important;
  }
}
/* notes-section en interiores: mismo ritmo que home */
.page-wrap .notes-section{
  padding-top:0;
  padding-bottom:4rem;
}
.page-wrap .notes-section .section,
.page-wrap section.notes-section{
  padding-top:0;
  padding-bottom:0;
}
.page-wrap .page-cta-band{
  max-width:none;
  margin:0;
  overflow:visible;
}
.page-wrap .page-cta-band .cta-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem 2rem;
  margin:0;
  width:100%;
}
.page-wrap .page-cta-band .cta-pager a{
  text-decoration:none;
}
.page-wrap .page-cta-band .cta-pager a:hover{
  color:var(--orange);
}
.page-wrap .page-cta-band .cta-pager a:last-child{
  text-align:right;
}
@media (max-width:767px){
  .page-wrap .page-cta-band .cta-pager{
    flex-direction:column;
    align-items:flex-start;
  }
  .page-wrap .page-cta-band .cta-pager a:last-child{
    text-align:left;
  }
}
.page-wrap .page-cta-band .pullquote{
  max-width:28ch;
}
.page-wrap .page-cta-band .btn-row{
  margin-top:2rem;
}
/* Cita + CTA en una fila (trabajar-conmigo, etc.) */
.page-wrap .page-cta-band:has(> .pullquote):has(> .btn-row){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1.75rem 3rem;
}
.page-wrap .page-cta-band:has(> .pullquote):has(> .btn-row) .pullquote{
  flex:1 1 22rem;
  max-width:36ch;
  margin:0;
}
.page-wrap .page-cta-band:has(> .pullquote):has(> .btn-row) .btn-row{
  flex:0 0 auto;
  margin-top:0!important;
}
/* Titular + redes en una fila (sobre-mí, enlaces) */
.page-wrap .page-cta-band:has(> .headline-wrap):has(> .social){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem 2.5rem;
}
.page-wrap .page-cta-band:has(> .headline-wrap):has(> .social) .headline-wrap{
  flex:1 1 16rem;
  margin-bottom:0!important;
}
.page-wrap .page-cta-band:has(> .headline-wrap):has(> .social) .social{
  flex:0 0 auto;
  margin-top:0;
}
/* Titular izq. + cuerpo dcha. (proyectos “Con quién”, etc.) */
.page-wrap .page-cta-band:has(> .headline-wrap):has(> .cta-band-body){
  display:grid;
  grid-template-columns:minmax(14rem, .95fr) minmax(0, 1.35fr);
  column-gap:clamp(1.75rem, 4vw, 4rem);
  row-gap:1.5rem;
  align-items:start;
}
.page-wrap .page-cta-band:has(> .headline-wrap):has(> .cta-band-body) .headline-wrap{
  margin-bottom:0!important;
}
.page-wrap .page-cta-band .cta-band-body{
  min-width:0;
}
.page-wrap .page-cta-band .cta-band-body > .is-txt-small{
  max-width:none;
}
.page-wrap .page-cta-band .cta-band-body .btn-row{
  margin-top:1.5rem!important;
}
@media (max-width:767px){
  .page-wrap .page-cta-band:has(> .pullquote):has(> .btn-row){
    flex-direction:column;
    align-items:flex-start;
  }
  .page-wrap .page-cta-band:has(> .pullquote):has(> .btn-row) .btn-row{
    margin-top:.5rem!important;
  }
  .page-wrap .page-cta-band:has(> .headline-wrap):has(> .social){
    flex-direction:column;
    align-items:flex-start;
  }
  .page-wrap .page-cta-band:has(> .headline-wrap):has(> .cta-band-body){
    grid-template-columns:1fr;
  }
}
.page-wrap .faq-block{
  max-width:48rem;
}
.page-wrap .faq-block.faq-cols-2{
  max-width:none;
}
.page-wrap .faq-accordion-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem 2.5rem;
  align-items:start;
  width:100%;
}
.page-wrap .faq-accordion-cols .accordion-wrapper{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  width:100%;
  margin:0;
}
@media (max-width:991px){
  .page-wrap .faq-accordion-cols{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
}
@media (max-width:767px){
  .page-wrap .page-hero{padding:3.5em 0 1.5em}
  .page-wrap .section{padding:4em 0}
  .page-wrap .cta-section.page-cta-band,
  .cta-section.page-cta-band,
  .cta-section:not(#contact){
    padding:1.75rem 1.25rem;
  }
  .button-wrap .btn-wrap,
  .btn-row .btn-wrap,
  .button-wrap > .btn-primary-blk,
  .btn-row > .btn-primary-blk{
    margin-right:0;
  }
  #contact-form-wrap{
    min-height:0;
  }
  #contact-form-wrap .submit-btn-wrap.is-tally-mail{
    justify-content:flex-start;
  }
  #contact-form-wrap .is-tally-mail .contact-form-mail-wrap{
    text-align:left;
  }
  .dsg-navbar .dsg-nav_wrapper > .btn-prm--med{
    font-size:.8rem;
    padding:.55rem .8rem;
    white-space:nowrap;
  }
  .footer-section .dsg_footer-link{
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .page-wrap .sistema-badge__label{
    font-size:.68rem;
    padding:.4rem .6rem;
  }
}

/* Glow Webflow (glow-inner / glow-border): en la reference solo aparece con IX2 al mover
   el ratón; sin ese runtime se ve como mancha. Lo desactivamos. */
.glow-inner,
.glow-border {
  display: none !important;
}

/* CTAs: flecha solo en hover + espacio de seguridad para que no solape al vecino */
.btn-primary-blk {
  position: relative;
  overflow: visible;
}
.btn-primary-blk .btn-icon-wrap {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
  transform: translateX(-6px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}
.btn-primary-blk:hover .btn-icon-wrap,
.btn-primary-blk:focus-within .btn-icon-wrap {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary-blk .btn-icon-wrap {
    transition: none;
  }
}

/* Secundario: estilo original btn-prm--med.is-outlined + flecha en hover */
.btn-icon-host {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: visible;
}
.btn-icon-host .btn-prm--med.is-outlined {
  background-color: #e5e5e5;
  border: 1px solid var(--headings, #242736);
  color: var(--headings, #242736);
  position: relative;
  z-index: 2;
}
.btn-icon-host .btn-prm--med.is-outlined:hover {
  border-color: var(--orange);
  color: var(--orange);
  background-color: #e5e5e5;
}
.btn-icon-host .btn-icon-wrap {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
  transform: translateX(-6px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}
.btn-icon-host:hover .btn-icon-wrap,
.btn-icon-host:focus-within .btn-icon-wrap {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0);
}

/* Reserva fija para la flecha absolute (right:-33px) — siempre, hover o no */
.btn-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.button-wrap,
.btn-row {
  overflow: visible;
}
.button-wrap .btn-wrap,
.btn-row .btn-wrap,
.button-wrap > .btn-primary-blk,
.btn-row > .btn-primary-blk {
  margin-right: 2.75rem; /* holgura permanente: la flecha no invade al siguiente CTA */
  overflow: visible;
}

/* Cierre de sección: mismos outlined que el hero, no un párrafo suelto */
.section-more{
  margin-top:0;
}
.section-more .btn-wrap{
  margin-right:0;
}
.section-more .btn-prm--med{
  width:auto;
  max-width:100%;
  white-space:normal;
  text-align:left;
  line-height:1.25;
  height:auto;
}
.section-more .btn-prm--med.is-outlined{
  background-color:#e5e5e5;
  border:1px solid var(--headings,#242736);
  color:var(--headings,#242736);
}
.section-more .btn-prm--med.is-outlined:hover{
  border-color:var(--orange);
  color:var(--orange);
  background-color:#e5e5e5;
}

/* Nav: sin mix-blend (invertía el hover #d8d8d8 a casi negro).
   Píldora oscura = solo página activa; hover = gris #d8d8d8. */
.menu_link { pointer-events: auto !important; }
.menu {
  isolation: isolate;
}
.menu_shape {
  opacity: 0;
  z-index: 1;
}
.menu_shape.is-on {
  opacity: 1;
}
.menu .menu_link {
  mix-blend-mode: normal !important;
  color: var(--headings, #242736) !important;
  background-color: transparent;
  transition: background-color 0.25s ease;
  /* Nav = Inter (como reference); Acid solo en logo / display / botones */
  font-family: "Inter webfont", Inter, sans-serif !important;
  font-weight: 400;
  font-size: inherit;
  padding: 0.6em 1.7em;
}
.menu .menu_link-text {
  font-family: inherit !important;
  font-weight: 400 !important;
  font-size: 1em !important;
  color: inherit !important;
}
.logo-txt {
  font-family: "Fff acidgrotesk", "Acid Grotesk", sans-serif !important;
  font-weight: 400;
}
.menu .menu_link .menu_link-text,
.menu .menu_link p {
  color: inherit !important;
  margin-bottom: 0;
}
.menu .menu_link:hover {
  background-color: #d8d8d8 !important;
}
.menu .menu_link.w--current {
  color: #fff !important;
}
.menu .menu_link.w--current:hover {
  background-color: transparent !important;
  color: #fff !important;
}

/* Bloque GEO dentro del sistema visual (base; interiors usan reglas .page-wrap arriba) */
.resumen-directo {
  background: #ddd;
  border: none;
  border-radius: 0.5rem;
  padding: clamp(1.5rem, 2.5vw, 2rem) clamp(1.5rem, 3vw, 2.25rem);
  color: var(--headings, #242736);
  max-width: min(52rem, 100%);
  width: 100%;
  box-sizing: border-box;
}
.resumen-directo p { margin: 0; max-width: none; }
.resumen-directo strong { color: var(--headings, #242736); }

/* Stats — panel editorial DM: cifras naranja, revelado + count-up */
.stats-dm {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 2.75em 0 0;
  padding: clamp(1.75rem, 3.5vw, 2.5rem) clamp(1.25rem, 2.5vw, 2rem);
  background: #dbdedd;
  border-radius: .5rem;
  border: none;
}
.stats-dm__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .85rem;
  padding: .35rem clamp(1rem, 2.2vw, 1.75rem);
  min-height: 0;
  border: 0;
}
.stats-dm[data-stats-ready] .stats-dm__item {
  opacity: 0;
  transform: translateY(.85rem);
  transition: opacity .55s ease, transform .55s ease;
}
.stats-dm[data-stats-ready].is-in .stats-dm__item {
  opacity: 1;
  transform: none;
}
.stats-dm[data-stats-ready].is-in .stats-dm__item:nth-child(1) { transition-delay: .05s; }
.stats-dm[data-stats-ready].is-in .stats-dm__item:nth-child(2) { transition-delay: .14s; }
.stats-dm[data-stats-ready].is-in .stats-dm__item:nth-child(3) { transition-delay: .23s; }
.stats-dm[data-stats-ready].is-in .stats-dm__item:nth-child(4) { transition-delay: .32s; }
.stats-dm__item + .stats-dm__item {
  border-left: 1px solid rgba(36, 39, 54, 0.12);
}
.stats-dm__item::before {
  content: none;
  display: none;
}
.stats-dm .num {
  font-family: "Fff acidgrotesk", "Acid Grotesk", sans-serif;
  font-size: clamp(3.25rem, 5.8vw, 4.75rem);
  font-weight: 400;
  color: var(--orange, #ec5c29);
  line-height: .9;
  letter-spacing: -.045em;
  display: block;
  margin: 0;
  font-variant-numeric: tabular-nums;
}
.stats-dm .lbl {
  display: block;
  margin: 0;
  max-width: 17ch;
  font-family: "Inter webfont", Inter, sans-serif;
  font-size: .95rem;
  line-height: 1.45;
  color: #4e5e5f;
}
@media (max-width: 991px) {
  .stats-dm {
    grid-template-columns: 1fr 1fr;
    padding: 1.5rem 1rem;
  }
  .stats-dm__item {
    padding: 1.15rem 1rem;
  }
  .stats-dm__item:nth-child(2n + 1) {
    border-left: 0;
  }
  .stats-dm__item:nth-child(2n) {
    border-left: 1px solid rgba(36, 39, 54, 0.12);
  }
  .stats-dm__item:nth-child(n + 3) {
    border-top: 1px solid rgba(36, 39, 54, 0.1);
  }
  .stats-dm .num {
    font-size: clamp(2.75rem, 12vw, 3.5rem);
  }
}
@media (max-width: 479px) {
  .stats-dm {
    grid-template-columns: 1fr;
    padding: 1.25rem 1.15rem;
  }
  .stats-dm__item,
  .stats-dm__item:nth-child(2n),
  .stats-dm__item:nth-child(2n + 1) {
    padding: 1.15rem .35rem;
    border-left: 0;
  }
  .stats-dm__item + .stats-dm__item,
  .stats-dm__item:nth-child(n + 3) {
    border-top: 1px solid rgba(36, 39, 54, 0.1);
    border-left: 0;
  }
  .stats-dm .lbl {
    max-width: 28ch;
  }
}
@media (prefers-reduced-motion: reduce) {
  .stats-dm[data-stats-ready] .stats-dm__item {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Ideas cards: misma altura y contenido alineado arriba */
.ideas-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5em;
  align-items: stretch;
}
@media (max-width: 991px) {
  .ideas-card-grid { grid-template-columns: 1fr; }
}
.ideas-card-grid .card01 {
  min-height: 14em;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.75rem;
}
.ideas-card-grid .card01 > p {
  margin: 0;
}
.ideas-card-grid .card01 > .is-txt-xsmall {
  flex: 0 0 auto;
}
.ideas-card-grid .card01 > .is-txt-xlarge {
  flex: 1 1 auto;
}
.ideas-card-grid .card01 > .is-txt-medium {
  flex: 0 0 auto;
  margin-top: 0;
}
.ideas-card-grid .card01 > .is-txt-medium:last-child {
  margin-top: auto;
}
.ideas-card-grid .card01 a { text-decoration: none; }
.ideas-card-grid .card01 a:hover { color: var(--orange); }

/* Manifiesto a todo el ancho: la foto corta la frase, no es otro 6-6 */
#about-page-blocks .display-manifest{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
}
#about-page-blocks #about-split-left-top{
  position:relative;
}
#about-page-blocks .is-txt-subheadline.is-about{
  position:relative;
  top:auto;
  left:auto;
  max-width:none;
  margin:0 0 .9rem;
}
#about-page-blocks p.is-display{
  margin:0;
  color:var(--headings);
  -webkit-text-fill-color:unset;
  background:none;
  font-family:"Fff acidgrotesk", sans-serif;
  font-size:clamp(2.6rem, 6.4vw, 6.1rem);
  line-height:.96;
  letter-spacing:-.03em;
  text-indent:0;
}
#about-page-blocks p.is-display-end{
  margin:0;
  max-width:none;
  text-align:left;
}
#about-page-blocks .display-manifest-close{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(16rem,.95fr);
  gap:.75rem 2.75rem;
  align-items:end;
  margin-top:.7rem;
}
#about-page-blocks .display-manifest-media{
  width:100%;
  margin:.55rem 0 0;
}
#about-page-blocks .about-hero-img{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0;
  aspect-ratio:2.45 / 1;
  margin:0;
  opacity:1 !important;
  border-radius:1em;
  background-size:cover;
  background-position:50% 32%;
}
#about-page-blocks #about-split-left-bottom{
  max-width:none;
  margin:0;
  padding-bottom:.15em;
}
#about-page-blocks #about-split-left-bottom .is-txt-large{
  margin:0;
  max-width:36ch;
  font-size:clamp(1.05rem, 1.4vw, 1.25rem);
  line-height:1.45;
}
@media (max-width: 991px){
  #about-page-blocks p.is-display{
    font-size:clamp(2rem, 9vw, 3rem);
    max-width:none;
  }
  #about-page-blocks .about-hero-img{
    aspect-ratio:16 / 10;
  }
  #about-page-blocks .display-manifest-close{
    grid-template-columns:1fr;
    gap:.85rem;
    margin-top:.85rem;
  }
}

/* Ocultar demos interactivos de servicios freelance del CSS reference si quedaran */
.cc-consulting-card,
.cc-dev-card,
.retainer-table,
.ui-bar-wrap,
.comment-form-block,
.align-left-img,
.design-element,
.cursor-wrap {
  display: none !important;
}

/* Footer links Dani (no steffen) */
.dsg_footer-link:hover { color: var(--orange); }

/* Footer: dos filas como reference (top links + is-footer) */
.footer-section .footer-top{
  align-items:start;
  margin-bottom:0;
}
.footer-section .footer-top .card04,
.footer-section .is-footer .card04{
  text-align:left;
  align-items:flex-start;
}
.footer-section .footer-link-wrap{
  justify-content:flex-start;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem 1.5rem;
}
.footer-section .footer-link-wrap > .is-txt-xsmall{
  color:var(--copy, #6b6b6b);
}
.footer-section .footer_branding{
  text-align:left;
  align-items:flex-start;
}
.footer-section .footer_branding .is-txt-white-125{
  margin:0;
}
.footer-section .is-footer{
  margin-top:2rem;
}
.footer-section #footer-email .footer-mark{
  display:block;
  height:22px;
  width:auto;
}
.footer-section .footer-top #footer-social{
  text-align:center;
}
.footer-section .footer-top #footer-social .footer-link-wrap{
  justify-content:center;
}
.footer-section .footer-top #footer-ecosystem{
  text-align:right;
}
.footer-section .footer-top #footer-ecosystem .footer-link-wrap{
  justify-content:flex-end;
}
@media (max-width:767px){
  .footer-section .footer-top{
    grid-row-gap:2rem;
  }
  .footer-section .is-footer{
    margin-top:1.5rem;
    padding-top:1.5rem;
  }
}

/* Testimonios: scatter legible; drag en toda #notes-drag-bounds */
.notes-section{
  overflow:visible;
  padding-bottom:3rem;
}
#notes-drag-bounds{
  position:relative;
  overflow:visible;
}
.notes-section .container-col-12,
.notes-section .is-margin-b-24,
.notes-section .grid--6-6.is-notes{
  overflow:visible;
}
#about-notes-wrap.notes-wrap{
  position:relative;
  display:block; /* base.css lo pone en flex y estorba al drag */
  width:100%;
  min-height:38em;
  height:38em;
  overflow:visible; /* permite sacar cards hacia la columna de texto */
  z-index:5;
}
#about-notes-wrap [class*="note-wrap-"].ui-draggable-dragging{
  z-index:30;
}
#about-notes-wrap .pattern-bg{
  pointer-events:none;
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  padding-top:0;
  overflow:hidden;
  border-radius:.5em;
  background-image:radial-gradient(circle closest-corner,rgba(255,255,255,0),#e5e5e5),url(../images/6486f6ed5b4d5580f7cfcd15_patter.svg);
  background-position:0 0,50% 50%;
  background-repeat:repeat,no-repeat;
  background-size:auto,cover;
}
/* Solo top/left al posicionar (evita estirón con bottom/right en drag).
   Scatter amplio + cards rectangulares para tapar el pattern de fondo. */
#about-notes-wrap [class*="note-wrap-"]{
  position:absolute;
  bottom:auto!important;
  right:auto!important;
  height:auto;
  width:min(26rem, 94%);
  max-width:min(26rem, 94%);
  z-index:1;
  overflow:visible;
  transition:box-shadow .4s;
}
#about-notes-wrap .note-wrap-1._1{
  top:4%;
  left:28%;
  z-index:3;
  transform:rotate(7deg);
}
#about-notes-wrap .note-wrap-2._2{
  top:28%;
  left:0;
  z-index:2;
  transform:rotate(-7deg);
}
#about-notes-wrap .note-wrap-4._4{
  top:52%;
  left:18%;
  z-index:4;
  width:min(28rem, 96%);
  max-width:min(28rem, 96%);
  transform:rotate(-6deg);
  cursor:grab;
  grid-column-gap:1em;
  background-color:#e5e5e5;
  border:1px solid #b4b4b3;
  border-radius:.5em;
  padding:1.5em;
  display:flex;
}
#about-notes-wrap .note-wrap-4._4:hover{
  box-shadow:0 20px 20px -20px #d4d4d4;
  z-index:5;
}
#about-notes-wrap .note-wrap-4._4:active{
  cursor:grabbing;
}
#about-notes-wrap .note-wrap-5._5{
  top:22%;
  left:40%;
  width:min(18rem, 72%);
  max-width:min(18rem, 72%);
  min-height:5.7rem;
  z-index:1;
  display:flex;
  align-items:center;
}
#about-notes-wrap .is-txt-xsmall{
  overflow:visible;
  white-space:normal;
}
#about-notes-wrap .note-profile .is-txt-medium{
  margin:0;
  font-size:.75rem;
  line-height:1;
  font-weight:500;
  letter-spacing:.02em;
}
@media (max-width:991px){
  #about-notes-wrap.notes-wrap{
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:1.25rem;
  }
  #about-notes-wrap .pattern-bg{display:none}
  #about-notes-wrap .note-wrap-1._1,
  #about-notes-wrap .note-wrap-2._2,
  #about-notes-wrap .note-wrap-4._4,
  #about-notes-wrap .note-wrap-5._5{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    transform:none!important;
    cursor:default;
  }
}
@media (prefers-reduced-motion:reduce){
  #about-notes-wrap [class*="note-wrap-"]{
    transform:none!important;
  }
}

/* Nav: Hablemos fuera del pill — SOLO desktop.
   En móvil NO forzar display:flex (rompe el hide de Webflow y deja el menú
   en una columna de 48px detrás de la hamburguesa). */
@media screen and (min-width:992px){
  .dsg-nav_menu{
    display:flex!important;
    align-items:center;
    gap:.75rem;
  }
  .menu_wrap{flex:0 1 auto}
  .dsg-menu-button.w-nav-button{
    display:none!important;
  }
}

/* Menú móvil: panel bajo el header (sin Webflow IX2) */
@media screen and (max-width:991px){
  .dsg-navbar.w-nav{
    position:relative;
    z-index:100;
  }
  .dsg-navbar .dsg-nav_wrapper{
    min-height:4.5rem;
    align-items:center;
    min-width:0;
  }
  .dsg-menu-button.w-nav-button{
    display:flex!important;
    align-items:center;
    justify-content:center;
    float:none;
    flex:0 0 auto;
    width:auto;
    height:auto;
    min-width:44px;
    min-height:44px;
    margin-left:auto;
    padding:10px;
    border:1px solid #cecece;
    border-radius:.5em;
    background:transparent;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .dsg-menu-button.w-nav-button.w--open{
    background:transparent;
    color:inherit;
  }
  .menu-burger-static{
    display:flex;
  }
  .dsg-navbar .dsg-nav_menu.w-nav-menu{
    display:none!important;
  }
  .dsg-navbar.is-nav-open .dsg-nav_menu.w-nav-menu,
  .dsg-navbar .dsg-nav_menu.w-nav-menu[data-nav-menu-open]{
    display:flex!important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:1rem 1.25rem 1.35rem;
    background:#e5e5e5;
    border-bottom-left-radius:.5em;
    border-bottom-right-radius:.5em;
    box-shadow:0 20px 24px -16px rgba(0,0,0,.18);
    z-index:101;
    min-height:0!important;
    height:auto!important;
    overflow:visible;
  }
  .dsg-navbar.is-nav-open .menu_wrap,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .menu_wrap{
    width:100%;
  }
  .dsg-navbar.is-nav-open .menu,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:.25rem;
  }
  .dsg-navbar.is-nav-open .menu_link,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .menu_link{
    width:100%;
    padding:.85rem .25rem;
  }
  .dsg-navbar.is-nav-open .btn-prm--med,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .btn-prm--med{
    width:100%;
    margin-top:.75rem;
    text-align:center;
  }
  .dsg-navbar .menu_shape{display:none!important}
  .dsg-brand-link .brand-text-col{
    min-width:0;
    max-width:min(12.5rem, 52vw);
  }
  .dsg-brand-link .rotate-wrap{
    width:100%;
    min-width:8rem;
    max-width:100%;
  }
  .dsg-navbar .w-nav-overlay{
    display:none;
  }
  .dsg-navbar.is-nav-open .w-nav-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:99;
    background:rgba(36,39,54,.18);
  }
  html.nav-lock,
  html.nav-lock body{
    overflow:hidden;
  }
}

/* Marquee: logos de clientes Truman */
#logo-reel.content01_logo-reel-wrap{
  overflow:hidden;
}
#logo-reel .marquee-2{
  overflow:hidden;
  align-items:center;
  gap:3.25rem;
}
#logo-reel .marquee-content-2.scroll{
  display:flex;
  align-items:center;
  gap:3.25rem;
  padding-inline:0;
  animation-duration:48s;
  animation-name:logo-reel-scroll;
}
@keyframes logo-reel-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% - 3.25rem))}
}
#logo-reel .marquee-image{
  width:auto;
  height:2.55rem;
  max-width:8.5rem;
  flex:0 0 auto;
  object-fit:contain;
  object-position:center;
  opacity:.72;
  filter:none;
}
#logo-reel .marquee-image.is-wide{
  max-width:11.5rem;
  height:2.15rem;
}
#logo-reel .marquee-2:hover .scroll{
  animation-play-state:paused;
}
@media (max-width:767px){
  #logo-reel .marquee-2,
  #logo-reel .marquee-content-2.scroll{
    gap:2.1rem;
  }
  #logo-reel .marquee-content-2.scroll{
    animation-duration:36s;
  }
  @keyframes logo-reel-scroll{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-100% - 2.1rem))}
  }
  #logo-reel .marquee-image{
    height:2.05rem;
    max-width:6.75rem;
  }
  #logo-reel .marquee-image.is-wide{
    max-width:8.75rem;
    height:1.75rem;
  }
}
@media (prefers-reduced-motion:reduce){
  #logo-reel .scroll{
    animation:none;
  }
}

/* Brand: logo a la izquierda de nombre + texto rotatorio */
.dsg-brand-link{
  flex-direction:row!important;
  align-items:center!important;
  gap:.75rem;
}
.dsg-brand-link .logo-mark{
  width:36px;
  height:36px;
  flex:0 0 auto;
  display:block;
}
.dsg-brand-link .brand-text-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  flex:0 0 auto;
  min-width:0;
  gap:.15rem;
}
.dsg-brand-link .logo-bar{
  display:block;
  margin:0;
}
/* width fija: los .rotatingtext van absolute (base.css) → width:auto colapsa a 0 */
.dsg-brand-link .rotate-wrap{
  width:15.5rem;
  max-width:100%;
  height:1.2em;
  overflow:hidden;
  position:relative;
}
@media screen and (min-width:992px){
  .dsg-brand-link .brand-text-col{
    min-width:15.5rem; /* cabe “Fundador · Truman Digital” sin cortar */
  }
  .dsg-brand-link .rotate-wrap{
    width:15.5rem;
  }
}
/* Evitar que el texto saliente y el entrante se solapen a media transición */
.dsg-brand-link .rotatingtext{
  font-family:"Inter webfont",Inter,sans-serif;
  font-weight:400;
  white-space:nowrap;
  width:max-content;
  right:auto; /* base.css pone left+right:0 y encoge al wrap */
  opacity:0;
  animation-name:dm-rotate;
  animation-duration:10s;
  animation-iteration-count:infinite;
  animation-timing-function:cubic-bezier(0.2,0.5,0.3,1);
}
@keyframes dm-rotate{
  0%{
    transform:translate3d(0,100%,0);
    opacity:0;
  }
  2.5%{
    transform:translate3d(0,0,0);
    opacity:1;
  }
  22.5%{
    transform:translate3d(0,0,0);
    opacity:1;
  }
  25%{
    transform:translate3d(0,-100%,0);
    opacity:0;
  }
  99.9999%{
    transform:translate3d(0,-100%,0);
    opacity:0;
  }
  100%{
    transform:translate3d(0,100%,0);
    opacity:0;
  }
}
@media (prefers-reduced-motion:reduce){
  .dsg-brand-link .rotatingtext{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    position:static;
  }
  .dsg-brand-link .rotatingtext:not(:first-of-type){
    display:none;
  }
  .dsg-brand-link .rotate-wrap{
    height:auto;
    overflow:visible;
  }
}

/* Tally embed + mailto under form */
#contact-form-wrap{
  position:relative;
  z-index:2;
  min-height:32rem;
  color:#dae1e4;
}
#contact-form-wrap iframe[data-tally-src],
#contact-form-wrap iframe[src*="tally.so"]{
  display:block;
  width:100%;
  border:0;
  min-height:495px;
  background:transparent;
  position:relative;
  z-index:2;
}
#contact-form-wrap .submit-btn-wrap.is-tally-mail{
  display:flex;
  justify-content:flex-end;
  margin-top:1.25rem;
  position:relative;
  z-index:2;
}
#contact-form-wrap .is-tally-mail .contact-form-mail-wrap{
  text-align:right;
}

/* Headings: Webflow .is-pad-b-64 centra todo; la reference alinea a la izquierda */
.is-pad-b-64{
  text-align:left!important;
}
.is-pad-b-64 .is-h3,
.is-pad-b-64 h2,
.is-pad-b-64 h3,
.is-pad-b-64 ._3columns01_headline-wrap{
  text-align:left;
}

/* Footer: una sola fila en desktop (email · Sígueme · Ecosistema)
   Anula grid-area span de Webflow (#footer-social span 2, etc.) */
.footer-section .footer-top.grid--4-4-4{
  grid-template-columns:1.1fr 1.4fr 1.4fr!important;
  grid-template-rows:auto!important;
  align-items:start;
}
.footer-section .footer-top #footer-email,
.footer-section .footer-top #footer-social,
.footer-section .footer-top #footer-ecosystem{
  grid-area:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:stretch;
  width:auto;
  max-width:none;
}
.footer-section .grid--4-4-4.is-footer{
  grid-template-columns:1fr auto!important;
  align-items:center;
}
.footer-section .is-footer #footer-branding,
.footer-section .is-footer #footer-legal{
  grid-area:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
.footer-section .is-footer #footer-legal{
  justify-self:end;
}
.footer-section .is-footer .footer-link-wrap{
  justify-content:flex-end;
}
@media (max-width:767px){
  .footer-section .footer-top.grid--4-4-4,
  .footer-section .grid--4-4-4.is-footer{
    grid-template-columns:1fr!important;
  }
  .footer-section .is-footer #footer-legal{
    justify-self:start;
  }
  .footer-section .is-footer .footer-link-wrap{
    justify-content:flex-start;
  }
  .footer-section .footer-top #footer-social,
  .footer-section .footer-top #footer-ecosystem{
    text-align:left;
  }
  .footer-section .footer-top #footer-social .footer-link-wrap,
  .footer-section .footer-top #footer-ecosystem .footer-link-wrap{
    justify-content:flex-start;
  }
}

/* Menú móvil: menos aire entre links y CTA */
@media screen and (max-width:991px){
  .dsg-navbar.is-nav-open .menu,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .menu{
    gap:0;
  }
  .dsg-navbar.is-nav-open .menu_link,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .menu_link{
    padding:.7rem 0;
  }
  .dsg-navbar.is-nav-open .btn-prm--med,
  .dsg-navbar .dsg-nav_menu[data-nav-menu-open] .btn-prm--med{
    margin-top:.5rem;
  }
}

/* Contenedor canónico = referencia Steffen: 1416px centrado (no full-bleed).
   Un override previo ponía max-width:100% en .container-col-12 y lo estiraba. */
.container-col-12,
.container-col-12.w-container,
.page-wrap .container-col-12,
.page-content .container-col-12{
  width:100%;
  max-width:1416px;
  margin-left:auto;
  margin-right:auto;
  padding-left:2em;
  padding-right:2em;
}
@media (max-width:767px){
  .container-col-12,
  .container-col-12.w-container,
  .page-wrap .container-col-12,
  .page-content .container-col-12{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }
}
.page-wrap .container,
nav.breadcrumbs,
footer .cols,
.footer-bottom{
  max-width:1416px;
}
/* Overflow horizontal: clip en wrappers, sin anular el max del contenedor */
.page-wrap,
.page-content,
.page-wrapper,
.main-wrapper{
  overflow-x:clip;
}
html{
  overflow-x:clip;
}
body{
  overflow-x:clip;
}
.legal-page,
.page-wrap .content-narrow,
.w-richtext{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Contacto page: mismo bloque CTA que la home */
.page-wrap .contact-cta-section{
  padding:0;
}
.page-wrap #contact.cta-section{
  max-width:none;
  margin:0;
  overflow:hidden;
}
.page-wrap #contact .contact-wrap{
  display:flex;
  flex-direction:column;
  gap:0;
}
.page-wrap #contact .contact-address{
  display:block;
  margin:1.25rem 0 0;
  font-style:normal;
  font-size:1rem;
  line-height:1.5;
  color:var(--copy);
  max-width:28ch;
}
.page-wrap #contact .contact_content-wrap a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:.15em;
}
.page-wrap #contact .contact_content-wrap a:hover{
  color:var(--orange);
}
.page-wrap #contact .form-wrapper{
  position:relative;
  z-index:1;
}
.page-wrap #contact .is-contact{
  z-index:1;
}
