/* Capa de legibilidad (octubre 2026). Se carga después de styles.css.
   Texto en Inter, tamaños mínimos legibles, más contraste y menos espaciado en las etiquetas.
   Titulares en Playfair Display. */
/* Gris de texto algo más oscuro para cumplir contraste AA sobre el fondo marfil */
:root{--stone:#635b54;}
body{font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body,.fi,input,select,textarea,button{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;}
.blog-content p,.blog-content li{font-size:17px;line-height:1.75;}
.faq-a{font-size:16px;line-height:1.7;}
.ft-legal{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.bf-reset-consent{margin-top:12px;display:inline-block;}

/* Aviso de cookies */
.bf-cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:640px;margin:0 auto;background:#0d2438;color:#f4f1ec;
  border:1px solid rgba(125,207,206,.35);padding:20px 22px;z-index:9990;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;
  font-family:'Inter',system-ui,sans-serif;box-shadow:0 10px 40px rgba(0,0,0,.35);cursor:auto;}
.bf-cookie p{margin:0;flex:1 1 300px;font-size:14px;line-height:1.6;color:rgba(244,241,236,.9);}
.bf-cookie a{color:#b8e8e7;text-decoration:underline;cursor:pointer;}
.bf-cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.bf-cookie button{font:500 13px/1 'Inter',system-ui,sans-serif;letter-spacing:.06em;padding:12px 18px;cursor:pointer;
  border:1px solid rgba(125,207,206,.5);background:transparent;color:#f4f1ec;}
.bf-cookie button.bf-accept{background:#b8e8e7;color:#0d2438;border-color:#b8e8e7;}

/* Ajustes generados a partir de styles.css */
.nav-links a{font-size:12px;color:rgba(184,232,231,0.78);font-weight:400}
.nav-cta{font-size:12px;letter-spacing:0.14em;font-weight:400}
.nav-mobile-cta{font-size:12px;letter-spacing:0.14em;font-weight:400}
.hero-eyebrow{font-size:12px;letter-spacing:0.14em;font-weight:400}
.hero-sub{font-size:12px;letter-spacing:0.14em;color:rgba(184,232,231,0.78);font-weight:400}
.btn-g{font-size:12px;letter-spacing:0.14em;font-weight:400}
.scroll-label{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.stmt-label{font-size:12px;letter-spacing:0.14em;font-weight:400}
.stmt-body{font-size:16px;line-height:1.7;font-weight:400}
.tech-num{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.tech-desc{font-size:15px;line-height:1.7;color:rgba(184,232,231,0.78);font-weight:400}
.works-all{font-size:12px;letter-spacing:0.14em;font-weight:400}
.wk-loc{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.wk-type{font-size:12px;font-weight:400}
.proc-desc{font-size:16px;line-height:1.7;font-weight:400}
.step-b{font-size:15px;line-height:1.7;font-weight:400}
.mat-o{font-size:12px;font-weight:400}
.q-author{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.cont-body{font-size:16px;line-height:1.7;font-weight:400}
.ci-label{font-size:12px;letter-spacing:0.14em;font-weight:400}
.ci-sub{font-weight:400}
.fl{font-size:12px;font-weight:400}
.fi{font-weight:400}
.fsub{font-size:12px;letter-spacing:0.14em;font-weight:400}
.ft-desc{font-size:14px;line-height:1.7;color:rgba(125,207,206,0.78);font-weight:400}
.ft-col-t{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.ft-links a{color:rgba(244,241,236,0.78);font-weight:400}
.ft-copy{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.inner-eyebrow{font-size:12px;letter-spacing:0.14em;font-weight:400}
.tecnicas-intro-label{font-size:12px;letter-spacing:0.14em;font-weight:400}
.tecnicas-intro-body{font-size:16px;line-height:1.7;font-weight:400}
.tecnica-full-label{font-size:12px;letter-spacing:0.14em;font-weight:400}
.tecnica-full-body{font-size:16px;line-height:1.7;font-weight:400}
.tecnica-tag{font-size:12px;font-weight:400}
.tecnica-btn{font-size:12px;letter-spacing:0.14em;font-weight:400}
.filter-btn{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.proj-item-meta{font-size:12px;font-weight:400}
.proj-item-type{font-size:12px;font-weight:400}
.featured-label{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.featured-num{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.featured-loc{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.featured-desc{font-size:15px;line-height:1.7;color:rgba(184,232,231,0.78);font-weight:400}
.featured-link{font-size:12px;letter-spacing:0.14em;font-weight:400}
.proceso-intro-body{font-size:16px;line-height:1.7;font-weight:400}
.timeline-note{font-size:14px;line-height:1.7;color:rgba(125,207,206,0.78);font-weight:400}
.tl-phase-num{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.tl-phase-dur{font-size:12px;font-weight:400}
.tl-phase-body{font-size:14px;line-height:1.7;color:rgba(184,232,231,0.78);font-weight:400}
.tl-task{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.tl-bar-label{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.tl-bar-weeks span{color:rgba(125,207,206,0.78);font-weight:400}
.tipo-time{font-size:12px;font-weight:400}
.tipo-desc{font-size:15px;line-height:1.7;font-weight:400}
.faq-a{font-size:16px;line-height:1.7;font-weight:400}
.contacto-left-body{font-size:16px;line-height:1.7;font-weight:400}
.cd-label{font-size:12px;letter-spacing:0.14em;font-weight:400}
.cd-sub{font-weight:400}
.contacto-form-sub{color:rgba(125,207,206,0.78);font-weight:400}
.fl-dark{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.fi-dark{font-weight:400}
.select-dark{font-weight:400}
.fsub-dark{font-size:12px;letter-spacing:0.14em;font-weight:400}
.map-sub{font-size:12px;letter-spacing:0.14em;color:rgba(125,207,206,0.78);font-weight:400}
.servicio-eyebrow{font-size:12px;letter-spacing:0.14em;font-weight:400}
.servicio-intro-body{font-size:16px;line-height:1.7;font-weight:400}
.servicio-bullet{font-weight:400}
.sw-loc{font-size:12px;font-weight:400}
.servicio-cta-body{font-size:16px;line-height:1.7;color:rgba(184,232,231,0.78);font-weight:400}
.servicio-cta-btn{font-size:12px;letter-spacing:0.14em;font-weight:400}
.form-success-body{font-size:15px;line-height:1.7;font-weight:400}
/* Hero */
  .hero-eyebrow{font-size:12px;letter-spacing:0.14em}
.city-card-link{font-size:12px;font-weight:400}
/* ─── Hero Breadcrumb ─── */
.hero-breadcrumb{font-size:12px;color:rgba(125,207,206,0.78);font-weight:400}
.form-l{font-size:12px;font-weight:400}
.form-i{font-weight:400}
.hero-breadcrumb{font-size:12px}
.hero-actions .hero-breadcrumb{font-size:12px!important;font-weight:400!important}
.locality-seo-copy p{font-size:16px;line-height:1.7;font-weight:400}
/* Locality fixes v16 */
.hero-content .hero-breadcrumb-top{font-size:12px!important;font-weight:400!important}
.locality-seo-copy p{font-size:16px!important;line-height:1.7!important;font-weight:400!important}
.statement .locality-stmt-main .stmt-body{text-align:left!important;text-justify:auto!important}
.tech-desc strong,.process strong,.timeline-section strong,.proyecto-tipos strong,.proceso-faq strong,.servicio-cta strong{font-weight:400!important}
.statement .locality-stmt-main .stmt-body{text-align:left!important;text-justify:auto!important}
.statement .locality-stmt-main .stmt-body{text-align:left!important;text-justify:auto!important}
.statement .locality-stmt-main .stmt-body{font-size:16px!important;line-height:1.7!important}
/* v20 SEO/content/layout refinements */
.hero-breadcrumb{font-size:12px}
.seo-second-section h2{font-weight:400}
.seo-second-section p{line-height:1.75;text-align:left;text-justify:auto}
.inline-contact-copy h2{font-weight:400}
.inline-contact-copy p{line-height:1.75}
.hero-breadcrumb{font-size:12px}
.locality-stmt-main .stmt-body{text-align:left!important;text-justify:auto!important}
.seo-second-section h2{font-weight:400!important}
.seo-second-section p{text-align:left!important;text-justify:auto!important}
.faq-light .faq-a{font-size:16px!important;line-height:1.7!important}
.locality-stmt-main .stmt-body{text-align:left!important;text-justify:auto!important}
.seo-second-section h2{font-weight:400!important}
.seo-second-section p{font-size:16px!important;line-height:1.7!important;text-align:left!important;text-justify:auto!important}
.faq-light .faq-a{font-size:16px!important;line-height:1.7!important}
.seo-second-section p{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.faq-light .faq-a{font-size:16px!important;line-height:1.7!important}
.inline-contact-copy h2{font-weight:400!important}
.inline-contact-copy p{font-size:16px!important;line-height:1.7!important}
.inline-contact-section .fl-dark{font-size:12px!important;letter-spacing:0.14em!important}
.inline-contact-section .fsub-dark{font-size:12px!important;letter-spacing:0.14em!important}
.locality-seo-copy p{text-align:left!important;text-justify:auto!important}
.locality-seo-copy p{text-align:left!important;text-justify:auto!important}
.statement .locality-stmt-main .stmt-body{text-align:left!important;text-justify:auto!important}
.blog-breadcrumb{font-size:12px;font-weight:400}
.blog-meta{font-size:12px;font-weight:400}
.blog-intro{line-height:1.75}
.blog-section p{line-height:1.75;text-align:left;text-justify:auto}
.blog-recent-card span{font-size:12px}
.nav-mobile a.nav-mobile-cta{font-size:12px!important;letter-spacing:0.14em!important}
.hero-sub{font-size:12px!important;letter-spacing:0.14em!important}
.scroll-label{font-size:12px!important;letter-spacing:0.14em!important}
.tecnica-detail-section p{line-height:1.75;font-weight:400;text-align:left;text-justify:auto}
.blog-header .blog-breadcrumb{font-size:12px!important}
.servicios-portfolio-intro p{font-size:16px;line-height:1.7;font-weight:400;text-align:left;text-justify:auto}
.servicios-grid-head p{font-size:15px;line-height:1.7;color:rgba(184,232,231,0.78)}
.servicio-card p{font-size:15px;line-height:1.7;color:rgba(184,232,231,0.78)}
html[lang="en-US"] section.contact .contact-grid > div:first-child p{font-size:16px!important;line-height:1.7!important;font-weight:400!important}
html[lang="en-US"] section.contact .form-l{font-size:12px!important}
html[lang="en-US"] section.contact .fsub{font-size:12px!important;letter-spacing:0.14em!important;font-weight:400!important}
/* ================================================================
   BASSFORM V51 — SERVICE ARCHITECTURE, PROJECT CASES, BLOG & MOBILE
   ================================================================ */
.section-kicker{font-size:12px;letter-spacing:0.14em;font-weight:400}
.home-services-head>a{font-size:12px}
.home-service-card p{font-size:15px;line-height:1.7;font-weight:400}
.home-service-card strong{font-size:12px;font-weight:400}
.services-hub-intro p{line-height:1.75;font-weight:400}
.service-hub-card span{font-size:12px;letter-spacing:0.14em}
.service-hub-card p{font-size:15px;line-height:1.7;font-weight:400}
.service-hub-card strong{font-size:12px}
.services-compare-grid p{font-size:15px;line-height:1.7;font-weight:400}
.services-compare-grid a{font-size:12px}
.service-page-eyebrow{font-size:12px;letter-spacing:0.14em}
.service-page-hero h1 em{font-weight:400}
.service-copy p{font-size:16px;line-height:1.7;font-weight:400;text-align:left;text-justify:auto}
.service-section-head p{font-size:16px;line-height:1.7;font-weight:400}
.service-scope-card p,.service-step p{font-size:15px;line-height:1.7;font-weight:400}
.service-tech-card p{font-size:14px;line-height:1.7;font-weight:400}
.service-tech-card span{font-size:12px}
.service-project-card span{font-size:12px}
.service-project-card p{font-weight:400}
.service-project-card strong{font-size:12px}
.service-inline-link{font-size:12px}
.service-contact p{font-size:16px;line-height:1.7;font-weight:400}
.service-email span{font-size:12px;letter-spacing:0.14em}
.project-breadcrumb{font-size:12px}
.project-detail-hero p{font-size:16px;line-height:1.7;font-weight:400}
.project-detail-facts span{font-size:12px}
.project-detail-copy p{font-size:16px;line-height:1.7;font-weight:400;text-align:left;text-justify:auto}
.location-commercial-copy>p{font-size:16px;line-height:1.7;font-weight:400;text-align:left;text-justify:auto}
.location-service-card p{font-size:14px;line-height:1.7;font-weight:400}
.location-service-card span{font-size:12px}
.location-project-reference span{font-size:12px}
.location-project-reference p{font-size:14px;line-height:1.7;font-weight:400}
.location-project-reference strong{font-size:12px}
.blog-index-intro p{font-size:16px;line-height:1.7;font-weight:400}
.blog-index-card span{font-size:12px}
.blog-index-card p{font-size:14px;line-height:1.7;font-weight:400}
.blog-index-card strong{font-size:12px}
.servicios-index-hero-inner>span{font-size:12px!important;letter-spacing:0.14em!important}
.service-editorial-card p{font-size:15px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.project-analysis-grid p{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.human-sitemap h3{font-size:12px!important}
.human-sitemap a{font-weight:400!important}
.locality-page-v54 .location-services-head-side p{font-size:16px!important;line-height:1.7!important;font-weight:400!important}
.locality-page-v54 .location-service-slide-top small{font-size:12px!important;font-weight:400!important}
.locality-page-v54 .location-service-slide p{font-size:14px!important;line-height:1.7!important;font-weight:400!important}
.locality-page-v54 .location-service-slide strong{font-size:12px!important;font-weight:400!important}
.home-v55 .wk-type{font-size:15px!important;line-height:1.7!important}
.services-page-v54 .service-location-grid-home .city-card-link{font-size:12px!important}
.locality-page-v54 .works .city-card-link{font-size:12px!important}
.tecnica-detail-page .tecnica-detail-section p{font-size:16px!important;line-height:1.7!important}
.services-page-v54 .service-location-grid-home .city-card-link{font-size:12px!important}
.locality-page-v54 .works .city-card-link{font-size:12px!important}
.home-v55 .works-seo-copy{font-size:16px;line-height:1.7;font-weight:400}
.home-v55 .materials-seo-copy{font-size:16px;line-height:1.7;font-weight:400}
.services-page-v54 .locality-seo-copy p{font-size:16px!important;line-height:1.7!important;font-weight:400!important}
/* ================================================================
   BASSFORM V61 — UNIVERSAL SAFE BREADCRUMBS
   One aligned breadcrumb per page, always below the desktop/mobile nav.
   ================================================================ */
.site-breadcrumb{font-size:12px!important;font-weight:400!important}
.site-breadcrumb{font-size:12px!important}
.site-breadcrumb{font-size:12px!important}
/* ================================================================
   BASSFORM V62 — VISUAL STRUCTURE CONSISTENCY
   Breadcrumb safety, max two-line H2s, project/service parity,
   technique structure, and locality sequence matching reference.
   ================================================================ */

/* Universal breadcrumb — always below navigation, never overlapping mobile menu */
.site-breadcrumb{font-size:12px!important}
.site-breadcrumb{font-size:12px!important}
.site-breadcrumb{font-size:12px!important}
.home-v55 .works .wk-loc,.home-v62 .works .wk-loc{font-size:12px!important}
.project-service-v62 .project-story-card p{font-size:15px!important;line-height:1.7!important}
.technique-service-v62 .technique-copy-block-v62 p{font-size:16px!important;line-height:1.7!important}
.locality-layout-v62 .works .city-card-link{font-size:12px!important}
.home-v62 .statement .home-intro-copy-v63 .stmt-body{font-size:16px!important;line-height:1.7!important}
.editorial-photo-copy .section-kicker{font-size:12px!important;letter-spacing:0.14em!important;font-weight:400!important}
.editorial-photo-copy p,
.editorial-photo-copy .editorial-justified,
.editorial-photo-copy .tecnica-full-body{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.locality-seo-section.editorial-photo-section .editorial-photo-copy p{text-align:left!important;text-justify:auto!important}
.statement .stmt-body{text-align:left!important;text-justify:auto!important}
.services-page-v54 .servicio-hero .site-breadcrumb{font-size:12px!important}
.services-page-v54 .servicio-hero-contact{font-size:12px!important;letter-spacing:0.14em!important;font-weight:400!important}
.services-page-v54 .servicio-intro-body,
.services-page-v54 .locality-seo-copy p{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.services-page-v54 .servicio-hero .site-breadcrumb{font-size:12px!important}
.services-page-v54 .service-intro-home-v70 .editorial-photo-copy p{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.services-hub-copy-v71 p{text-align:left!important;text-justify:auto!important}
.locality-intro-v72 .locality-intro-body-v72{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}
.blog-entry-v73 .blog-entry-eyebrow{font-size:12px!important;letter-spacing:0.14em!important;font-weight:400!important}
.blog-entry-v73 .blog-entry-meta{font-size:12px!important;letter-spacing:0.14em!important;font-weight:400!important}
.blog-entry-v73 .blog-entry-lead{line-height:1.75!important;text-align:left!important;text-justify:auto!important}
.blog-entry-v73 .blog-service-cluster .blog-cluster-kicker{font-size:12px!important;letter-spacing:0.14em!important;font-weight:400!important}
.blog-entry-v73 .blog-service-cluster .blog-cluster-intro{font-size:16px!important;line-height:1.7!important}
.blog-entry-v73 .blog-service-card p{font-size:14px!important;line-height:1.7!important;color:rgba(184,232,231,0.78)!important}
.blog-entry-v73 .blog-service-card span{font-size:12px!important;font-weight:400!important}
.blog-hub-v73 .blog-index-intro p{font-size:16px!important;line-height:1.7!important;font-weight:400!important;text-align:left!important;text-justify:auto!important}

/* Textos con estilos en línea demasiado pequeños */
[style*="font-size:9px"],[style*="font-size:10px"],[style*="font-size: 10px"]{font-size:12px!important;}
.form-legal{margin:14px 0 0;font-size:13px;line-height:1.6;color:var(--stone);max-width:520px;}
.form-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.cont-form-dark .form-legal,.contact-dark .form-legal{color:rgba(244,241,236,.7);}

/* Pantallas táctiles: sin cursor personalizado */
@media (hover:none),(pointer:coarse){
  html,body{cursor:auto!important;}
  .cursor,.cursor-ring{display:none!important;}
}

/* Versión móvil */
@media (max-width:860px){
  /* Nada se sale de la pantalla */
  footer{overflow-wrap:anywhere;}
  footer>div{min-width:0;}
  .tecnica-visual-large,.tecnica-visual-large img{max-width:100%!important;width:100%!important;height:auto!important;}
  img{max-width:100%;}
  *:has(> .filter-btn){display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-start!important;overflow:visible!important;}
  .filter-btn{flex:0 0 auto;min-height:44px;}

  /* Zonas táctiles de al menos 44px */
  .ft-links{gap:0!important;}
  .ft-links a{display:inline-flex;align-items:center;min-height:44px;}
  .ft-legal,.works-all,.site-breadcrumb a,.seo-inline-link,.tech-header a{display:inline-flex;align-items:center;min-height:44px;}
  .nav-logo,.ft-logo{display:inline-flex;align-items:center;min-height:44px;}
  .nav-burger{min-width:44px;min-height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;}
  .nav-mobile a{min-height:44px;}
  .lang-switch a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;}
  .btn-g,.fsub,.fsub-dark,.servicio-cta-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;}
  .service-email{display:inline-flex;align-items:center;min-height:44px;}
  .works-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .works-strip>*{scroll-snap-align:start;}

  /* Formularios: 16px evita el zoom automático al escribir en iOS */
  input,select,textarea,.fi,.form-i{font-size:16px!important;}

  /* Lectura más cómoda */
  .blog-content p,.blog-content li{font-size:17px;line-height:1.7;}
  .faq-q{font-size:16px;line-height:1.45;padding-top:14px;padding-bottom:14px;}
  .locality-faq-heading{white-space:normal!important;}
  .site-breadcrumb{flex-wrap:wrap;row-gap:0;}
  .bf-cookie{left:12px;right:12px;bottom:12px;padding:16px;}
  .bf-cookie-actions{width:100%;}
  .bf-cookie button{flex:1 1 0;min-height:44px;}
}
