/* ==========================================================================
   SIL Global · Sistema tipográfico
   Sora (títulos, etiquetas, UI) · Manrope (texto corrido) · Fraunces itálica (acentos).
   Escala ampliada en todas las secciones EXCEPTO la portada (.hero): ahí solo
   cambia la familia, los tamaños del hero no se tocan.
   ========================================================================== */
:root{
  --font:'Manrope',Arial,Helvetica,sans-serif;
  --font-display:'Sora','Manrope',Arial,Helvetica,sans-serif;
  --font-serif:'Fraunces',Georgia,'Times New Roman',serif;
}
body{font-family:var(--font);font-size:16px}
h1,h2,h3,.eyebrow,.button,.nav-link,.category-tab,.text-link,.section-number,.step-number,.product-title,.product-category,.product-bottom,
.contact-card strong,.contact-card small,.globe-note strong,.globe-note small,.solution-item strong,.footer-nav,.hud,.mira-label,.marquee-track,.catalog-count,.catalog-note,.about-line strong,.brand-tagline{font-family:var(--font-display)}
.serif-accent,.footer-bottom em,.about-line-number{font-family:var(--font-serif);font-optical-sizing:auto}
.serif-accent{font-weight:400;letter-spacing:-.5px}
h1,h2,h3{font-weight:600}
.hero h1{font-weight:800}
.ghost,.contact-watermark{font-family:var(--font-display);font-weight:800;font-style:normal}

/* ---------- Escala general (fuera del hero) ---------- */
h2{font-size:clamp(38px,3.6vw,56px);letter-spacing:-1.6px;line-height:1.08}
h3{font-size:24px}
.eyebrow{font-size:13px;letter-spacing:2.4px}
.section-number{font-size:13px}
.heading-description{font-size:17px;line-height:1.7}
.section-heading{margin-bottom:40px}
.button{font-size:15px;min-height:56px;padding:14px 26px}
.button .icon{width:21px;height:21px}
.text-link{font-size:15px}

/* Franja de soluciones */
.solution-item strong{font-size:15px;font-weight:600}
.solution-item small{font-size:13px}
.solution-item{min-height:62px}

/* Catálogo (pantalla de decisión: más legible, igual de quieta) */
.category-tab{font-size:14px}
.catalog-search{width:260px}
.catalog-search input{font-size:14px;height:46px}
.catalog-search input::placeholder{font-size:14px}
.product-title{font-size:20px;min-height:52px;letter-spacing:-.4px;line-height:1.28}
.product-summary{font-size:14px;line-height:1.6;min-height:44px;margin-top:10px}
.product-bottom{font-size:13px;margin-top:20px}
.product-category{font-size:10px;letter-spacing:1.4px}
.product-arrow{width:32px;height:32px}
.catalog-count,.catalog-note{font-size:12.5px}
.catalog-bottom .text-link{font-size:15px}
.empty-state h3{font-size:24px}
.empty-state p{font-size:16px}

/* Proceso */
.process-heading .heading-description{font-size:17px;max-width:360px}
.process-step h3{font-size:26px;letter-spacing:-.4px}
.process-step p{font-size:15.5px;line-height:1.7;margin-top:14px;max-width:260px}
.step-number{font-size:13px;letter-spacing:1.4px}
.step-icon{width:58px;height:58px}
.step-icon .icon{width:27px;height:27px}

/* Cinta */
.marquee-track>span{font-size:12px;letter-spacing:2.8px}
.marquee-track i{font-size:13px}

/* Internacional */
.international-copy h2{font-size:clamp(36px,3.5vw,54px)}
.international-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;margin-top:24px}
.service-details{gap:14px;margin:30px 0 34px}
.service-details>div{font-size:16px;font-weight:500}
.service-details>div span{width:26px;height:26px}
.international-copy .button{font-size:15px;min-height:54px}
.international-image strong{font-size:34px}
.international-image .eyebrow{font-size:11px;letter-spacing:2px}
.image-disclaimer{font-size:9px;letter-spacing:1.4px}
.hud{font-size:9.5px;letter-spacing:2px;top:20px}

/* Nosotros */

/* Contacto */
.contact-copy h2{font-size:clamp(48px,4.6vw,70px)}
.contact-copy .eyebrow{font-size:11px;letter-spacing:2.2px}
.contact-copy>p:not(.eyebrow){font-size:16.5px;line-height:1.75}
.contact-copy .button{font-size:15px;min-height:54px}
.contact-card{min-height:98px;gap:20px}
.contact-card small{font-size:10.5px;letter-spacing:1.6px}
.contact-card strong{font-size:18px;font-weight:600}
.contact-card .contact-icon{width:44px;height:44px}
.contact-card .contact-icon .icon{width:24px;height:24px}
.contact-card>.icon{width:18px;height:18px}

/* Footer */
.footer-nav{font-size:14px;gap:32px}
.footer-bottom{font-size:12px}
.footer-bottom>span:last-child{font-size:15px}
.footer-bottom em{font-size:19px}
.prototype-note{font-size:11px}

/* Fichas y formulario */
.product-dialog-content .eyebrow{font-size:12px}
.product-dialog-content h2{font-size:34px}
.product-dialog-content>p:not(.eyebrow){font-size:16px;line-height:1.7}
.product-detail-note{font-size:14.5px;line-height:1.65}
.product-dialog-content .product-confirmation{font-size:12px!important}
.product-dialog-content .button{font-size:15px}
.quote-header .eyebrow{font-size:12px}
.quote-header h2{font-size:40px}
.quote-header p{font-size:16px}
#quote-form label{font-size:15px}
#quote-form input,#quote-form select,#quote-form textarea{font-size:16px}
.form-privacy{font-size:13.5px}
.form-status{font-size:14.5px}
.optional{font-size:13px}
.no-js{font-size:15px}

/* Header: solo la familia; el tamaño del menú sube un punto */
.nav-link{font-size:14px}
.button-nav{font-size:14px}

/* ---------- Tablet ---------- */
@media(max-width:1150px){
  .solution-item strong{font-size:13px}.solution-item small{font-size:12px}
  .product-title{font-size:18px;min-height:48px}
  .process-step p{font-size:14.5px}
}
@media(max-width:900px){
  h2{font-size:clamp(34px,4.6vw,44px)}
  .process-step h3{font-size:21px}.process-step p{font-size:14px}
  .step-icon{width:48px;height:48px}.step-icon .icon{width:23px;height:23px}
  .international-copy h2{font-size:38px}
  .contact-card strong{font-size:16px}.contact-card small{font-size:9px}
  .product-title{font-size:19px;min-height:auto}.product-summary{min-height:auto}
}
/* ---------- Móvil ---------- */
@media(max-width:700px){
  body{font-size:15.5px}
  h2{font-size:clamp(34px,9vw,42px);letter-spacing:-1.3px}
  .eyebrow{font-size:11px;letter-spacing:2px}
  .heading-description{font-size:15.5px}
  .button{font-size:14.5px;min-height:52px}
  .solution-item strong{font-size:12px}.solution-item small{font-size:10.5px}
  .category-tab{font-size:12.5px;padding:9px 13px;min-height:42px}
  .catalog-search input{font-size:15px;height:46px}
  .product-title{font-size:16.5px;min-height:42px}.product-summary{font-size:13px;min-height:auto}
  .product-bottom{font-size:12px}.product-category{font-size:8.5px}
  .catalog-count{font-size:12px}
  .process-heading h2{font-size:36px}.process-heading .heading-description{font-size:15px;max-width:300px}
  .process-step h3{font-size:22px}.process-step p{font-size:14px}
  .marquee-track>span{font-size:9.5px}
  .international-copy h2{font-size:36px;letter-spacing:-1.3px}
  .international-copy>p:not(.eyebrow){font-size:15.5px}
  .service-details>div{font-size:14.5px}
  .international-image strong{font-size:30px}.international-image .eyebrow{font-size:9.5px}
  .contact-copy h2{font-size:clamp(44px,12vw,54px)}
  .contact-copy .eyebrow{font-size:9.5px}.contact-copy>p:not(.eyebrow){font-size:15px}
  .contact-card{min-height:86px}.contact-card strong{font-size:16px}.contact-card small{font-size:9px}
  .footer-nav{font-size:12px;gap:12px}.footer-bottom{font-size:11px}.footer-bottom>span:last-child{font-size:13.5px}
  .product-dialog-content h2{font-size:29px}.quote-header h2{font-size:33px}
}
@media(max-width:359px){
  .solution-item strong{font-size:10.5px}.solution-item small{font-size:9.5px}
  .contact-card strong{font-size:14.5px}
  .product-title{font-size:15px}
}

/* ---------- Títulos de sección: Bricolage Grotesque + acento con subrayado dorado ---------- */
:root{--font-titles:'Bricolage Grotesque','Sora',Arial,sans-serif}
h2,h3,.svc-spine span,.about-statement{font-family:var(--font-titles);font-optical-sizing:auto}
h2{font-weight:800;letter-spacing:-2px;line-height:1.02}
h3{font-weight:700;letter-spacing:-.6px}
.hero h1{font-family:var(--font-display)}
/* el acento deja de ser serif itálica: mismo peso, color de marca y trazo dorado debajo */
h2 .serif-accent,h3 .serif-accent,.about-statement .serif-accent{font-family:var(--font-titles);font-style:normal;font-weight:800;letter-spacing:-2px;
  color:#1670c2;background:linear-gradient(90deg,var(--gold),var(--gold-light)) no-repeat 0 92%/100% .14em;padding-bottom:.04em}
.process-section h2 .text-gold,.contact-copy h2 .text-gold{background:linear-gradient(90deg,#ffffff55,#ffffff22) no-repeat 0 92%/100% .12em}
.about-statement .serif-accent,.contact-copy h2 .serif-accent{color:var(--gold-light)}
.eyebrow{font-family:var(--font-titles);font-weight:700;letter-spacing:3px}
