/* Reading scale shared by EN, IT and ES, including legal pages. */
:root{--reading-size:1.0625rem;--secondary-size:.9375rem;--note-size:.8125rem}
body{font-size:var(--reading-size);line-height:1.75}
.eyebrow,.hero-eyebrow .eyebrow,.topics legend,.ai-areas p.ai-status{font-size:var(--note-size);letter-spacing:.1em;line-height:1.65}
.micro,.sector>.micro,.service-number,.legal-date,.legal-contact p{font-size:var(--note-size);line-height:1.65}
.navigation,.language,.header-cta,.menu-toggle{font-size:.875rem}
.navigation{gap:24px}.navigation a{padding-block:16px}
.language a{color:#ded4e8}.header-cta,.menu-toggle{min-height:46px}
.hero-location,.hero-focus,.hero-action .micro,.hero-foot a,.focus-bottom>p,.proof-art-labels,.modes,.service-tags{font-size:.875rem;line-height:1.7}
.hero-eyebrow .eyebrow{max-width:680px}
.hero-copy>p:first-child,.intro,.journey-aside>p,.service-body>p:first-child,.proof-copy>p+p,.sector-copy,.people-origin p,.founder>p,.ai-copy>p:not(.eyebrow),.ai-areas p,.ai .partner p,.faq-item>p,.contact-heading>p:last-child{font-size:var(--reading-size);line-height:1.8}
.journey-flex,.specialists,.sector-category,.founder p.founder-note,.ai-copy>p.ai-principle,.topic-hint{font-size:var(--secondary-size);line-height:1.8}
.proof-copy .proof-intro{font-size:clamp(22px,2.1vw,28px);line-height:1.5}.proof-copy p.proof-aside{font-size:1.125rem;line-height:1.6}
.text-link,.focus-bottom .text-link,.contact-partner,.ai .partner .text-link{font-size:var(--secondary-size);line-height:1.6;min-height:44px}
.button,.hero-action .button,.contact-action .button{font-size:1rem;line-height:1.5;min-height:64px}
.hero-action .button{gap:20px;padding-left:22px}.hero-action .micro,.hero-focus{color:#ddd2e6}
.faq-item summary{font-size:var(--reading-size);line-height:1.65}
.topic{font-size:var(--secondary-size);line-height:1.5;min-height:76px;padding:16px;gap:12px}
.channel-note,.contact-direct .contact-save-hint{font-size:var(--note-size);line-height:1.75;color:#ded3e9}
.contact-direct{font-size:1rem;gap:12px}.contact-kind{font-size:.875rem}
.contact-direct .save-contact{font-size:var(--secondary-size);min-height:52px;padding:13px 20px}.contact-direct .contact-save-hint{max-width:420px}
.footer-bottom{font-size:var(--note-size);line-height:1.8;color:#ded3e9;align-items:flex-start;flex-wrap:wrap;gap:22px 32px}
.footer-bottom a,.back-top{font-size:.875rem;line-height:1.6}
.legal-links{max-width:390px;gap:8px 20px}.legal-links a{min-height:40px;display:inline-flex;align-items:center}
.legal-intro,.legal-section p,.legal-section li,.legal-section address{font-size:var(--reading-size);line-height:1.85}
.legal-toc a{font-size:.9375rem;line-height:1.6;padding-block:9px}.legal-contact a{font-size:clamp(16px,2vw,23px)}.legal-review{font-size:.9375rem}
html[lang="es-419"] .contact h2{font-size:clamp(43px,6.1vw,92px)}
.proof-art-labels>span{max-width:none;padding-inline:8px}
.head-grid>*:not(svg),.journey-grid>*,.proof-grid>*,.sector-grid>*,.people-top>*,.founders>*,.ai-grid>*,.faq-grid>*{min-width:0}
@media(max-width:1150px){
 .header-inner{height:88px}
 .navigation{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px var(--gutter);background:var(--ink);border-bottom:1px solid #665574;flex-direction:column;align-items:stretch;gap:2px;font-size:1rem}
 .navigation.is-open{display:flex}.menu-toggle{display:flex}.header-tools{gap:18px}.hero-bottom{gap:36px}
 .head-grid,.journey-grid,.proof-grid,.people-top,.ai-grid,.faq-grid,.contact-grid{column-gap:44px}.legal-grid{column-gap:40px}
}
@media(max-width:900px){
 :root{--reading-size:1rem}.header-inner{height:82px}
 .journey-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:32px}
 .service-body{padding-left:0;padding-right:0}.ai-grid{column-gap:32px}.ai-areas>li{gap:16px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-heading>p:last-child{max-width:620px}.contact .topic-options{grid-template-columns:1fr 1fr}.topic{min-height:58px}.legal-links{max-width:330px}
}
@media(max-width:680px){
 .header-inner{height:auto;min-height:92px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding-block:12px}
 .brand img{width:125px}.header-tools{display:contents}
 .language{grid-column:2;grid-row:1;font-size:.875rem;gap:5px}.language a{min-width:28px;min-height:40px}
 .menu-toggle{grid-column:2;grid-row:2;justify-self:end;font-size:.875rem;padding:7px 12px;min-height:40px;gap:12px}
 .brand{grid-row:1 / span 2;align-self:center}.navigation{top:100%}html{scroll-padding-top:125px}
 .hero-eyebrow .eyebrow{max-width:none;font-size:var(--note-size);letter-spacing:.075em;align-items:flex-start}.tiny-dot{margin-top:8px}
 .hero-foot{flex-wrap:wrap;gap:18px}.hero-foot a{font-size:.875rem;gap:14px}.hero-action .button{padding-left:18px}.hero-action .micro{font-size:.875rem}
 .journey-grid{grid-template-columns:1fr}.journey-aside>p{display:block;font-size:1rem;line-height:1.8}
 .service-body{padding-left:0;padding-right:0}.service summary{gap:14px}.service h3{font-size:23px}
 .proof-art-labels{font-size:.8125rem;line-height:1.55}.proof-art-labels>span{padding-inline:5px;max-width:none;overflow-wrap:anywhere}
 .founder p.founder-note{font-size:.9375rem}.people-origin{align-items:flex-start}.people-origin img{margin-top:6px}
 .ai-grid{grid-template-columns:1fr}.ai-areas p.ai-status{font-size:var(--note-size)}.ai .partner{gap:20px}
 .contact .topic-options{grid-template-columns:1fr}.topic{min-height:58px}.contact h2{font-size:clamp(58px,16vw,100px)}html[lang="es-419"] .contact h2{font-size:clamp(43px,12.5vw,80px)}
 .contact-direct>a{flex-wrap:wrap;overflow-wrap:anywhere}.contact-direct .save-contact{flex-wrap:nowrap}
 .footer-top{gap:26px}.footer-bottom>p:first-child{max-width:100%;overflow-wrap:anywhere}.legal-links{max-width:none}
 .legal-toc{gap:5px 22px}.legal-toc a{font-size:.9375rem}.legal-section{scroll-margin-top:145px}
}
@media(max-width:360px){.brand img{width:118px}.language{gap:3px}.menu-toggle{font-size:.875rem}.service h3{font-size:21px}.proof-art-labels>span{padding-inline:2px}}

/* One shared text size throughout the footer; keep the legal name together. */
.footer{--footer-text-size:.75rem;font-size:var(--footer-text-size)}
.footer p,.footer a,.footer .slogan{font-size:var(--footer-text-size)}
.footer-bottom>.footer-company{flex-shrink:0;overflow-wrap:normal}
.footer-company-name{white-space:nowrap;overflow-wrap:normal}
@media(max-width:360px){.footer{--footer-text-size:.6875rem}}
