/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/montserrat-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/montserrat-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/montserrat-italic-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/montserrat-italic-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Mind & Sense Mexico — Montserrat brand typography, shared ES/EN components. */
body.msmx-design {
  --msmx-sans: 'Montserrat', Arial, sans-serif;
  font-family:var(--msmx-sans) !important;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
body.msmx-design :where(main,.ms-recommended-preview,div,section,article,aside,blockquote,table,td,th,p,a,button,input,select,textarea,li,label,summary,h3,h4,h5,h6,small,strong,b,em,span,dt,dd,legend,figcaption,footer) {
  font-family:var(--msmx-sans) !important;
}
body.msmx-design h1, body.msmx-design h2,
body.msmx-design :is(h1,h2) :is(em,span,strong,b,a) {
  font-family:var(--msmx-sans) !important;
  font-weight:400 !important;
  letter-spacing:-.025em !important;
  line-height:1.08 !important;
  text-wrap:balance;
}
body.msmx-design :is(p,li,input,select,textarea) {font-weight:400;}
body.msmx-design h1 em {font-family:var(--msmx-sans) !important;font-style:italic !important;font-weight:600 !important;color:#ed5d24 !important;}
body.msmx-design h1 {font-size:clamp(48px,5.5vw,82px) !important;line-height:1.02 !important;}
body.msmx-design h2 {font-size:clamp(36px,4.1vw,58px) !important;}
body.msmx-design :is(.legal-content,.client-logo-heading,.msr-client-logo-heading,footer) h2,
body.msmx-design :is(.legal-content,.client-logo-heading,.msr-client-logo-heading,footer) h2 * {
  font-family:var(--msmx-sans) !important;letter-spacing:normal !important;line-height:1.5 !important;font-weight:600 !important;
}
body.msmx-design .legal-content h2 {font-size:24px !important;}
body.msmx-design .support-hero aside h2 {font-family:var(--msmx-sans) !important;font-size:24px !important;line-height:1.35 !important;font-weight:500 !important;letter-spacing:normal !important;}
body.msmx-design :is(.client-logo-heading,.msr-client-logo-heading) h2 {
  font-size:11px !important;font-weight:700 !important;letter-spacing:.14em !important;line-height:1.5 !important;
}
body.msmx-design :is(.lead,.msr-lead) {font-size:17px !important;line-height:1.75 !important;}
body.msmx-design :is(.eyebrow,.msr-eyebrow) {font-size:11px !important;letter-spacing:.15em !important;font-weight:700 !important;}
body.msmx-design :is(.msr-solution-detail-copy,.solution-detail-copy) h3 {font-size:clamp(25px,2.4vw,34px) !important;line-height:1.2 !important;font-weight:500 !important;}
body.msmx-design :is(.msr-project-copy,.project-copy) h3 {font-size:clamp(22px,2vw,28px) !important;line-height:1.2 !important;font-weight:500 !important;}
body.msmx-design :is(.msr-gallery-card,.gallery-card) h3 {font-size:22px !important;line-height:1.3 !important;font-weight:500 !important;}
body.msmx-design :is(.button,.cta,.msr-cta) {
  min-height:48px !important;padding:14px 22px !important;gap:14px !important;
  font-size:13px !important;font-weight:600 !important;line-height:1.35 !important;
  border-radius:3px !important;letter-spacing:0 !important;box-shadow:none !important;
}
body.msmx-design :is(.button,.cta,.msr-cta):not(.alt):not(.msr-alt) {background:#d7612f !important;color:#fff !important;}
body.msmx-design :is(.button,.cta,.msr-cta):not(.alt):not(.msr-alt):hover {background:#bf5227 !important;}
body.msmx-design :is(.text-link,.msr-text-link) {font-size:13px !important;font-weight:600 !important;line-height:1.5 !important;}
/* Two existing markup generations share the same header proportions. */
body.msmx-design :is(.site-header,.msr-header,.header) {
  width:100% !important;max-width:none !important;margin:0 !important;height:84px !important;
  background:#fff !important;box-shadow:none !important;border-bottom:1px solid #e5e9ec !important;
}
body.msmx-design .site-header,
body.msmx-design :is(.msr-header,.header)>:is(.msr-wrap,.wrap) {
  display:flex !important;align-items:center !important;justify-content:space-between !important;
  width:100% !important;max-width:none !important;padding:0 clamp(24px,4vw,76px) !important;gap:24px !important;
}
body.msmx-design .site-header {position:sticky !important;top:38px !important;z-index:50 !important;}
body.msmx-design :is(.site-chrome,.msr-site-chrome) {position:sticky !important;top:0 !important;z-index:60 !important;box-shadow:none !important;}
body.msmx-design :is(.language-switcher,.utility,.msr-utility) {
  height:38px !important;min-height:38px !important;background:#193c67 !important;padding:0 4vw !important;
}
body.msmx-design :is(.language-switcher,.utility,.msr-utility) a {font-size:11px !important;font-weight:600 !important;letter-spacing:.03em !important;}
body.msmx-design :is(.utility,.msr-utility) {display:block !important;}
body.msmx-design :is(.site-header,.header,.msr-header) :is(.logo,.brand,.msr-brand) {width:170px !important;min-width:170px !important;height:64px !important;display:flex !important;align-items:center !important;}
body.msmx-design :is(.site-header,.header,.msr-header) :is(.logo,.brand,.msr-brand) img {width:170px !important;height:64px !important;object-fit:contain !important;}
body.msmx-design :is(.desktop-nav,.nav,.msr-nav) {gap:clamp(16px,1.8vw,28px) !important;align-items:center !important;font-size:12px !important;font-weight:600 !important;}
body.msmx-design :is(.desktop-nav,.nav,.msr-nav)>a {white-space:nowrap;line-height:1.5;}
body.msmx-design :is(.site-header,.header,.msr-header) :is(.button,.cta,.msr-cta) {white-space:nowrap;font-size:12px !important;}
body.msmx-design :is(.menu,.msr-menu,.mobile-menu>summary) {
  min-height:44px !important;min-width:64px !important;padding:10px 12px !important;
  font-size:12px !important;font-weight:600 !important;color:#193c67 !important;
  border:1px solid #dbe2e8 !important;background:#fff !important;border-radius:3px !important;letter-spacing:.03em !important;
  text-transform:none !important;
}
body.msmx-design .contact-hero>* {min-width:0;}
body.msmx-design .contact-hero aside a {overflow-wrap:anywhere;max-width:100%;}
body.msmx-design :is(.mobile-menu-panel,.mobile-nav-extra,.msr-mobile-nav-extra) a {font-size:13px !important;font-weight:600 !important;}
body.msmx-design :is(.footer-main,.msr-footer-main) {font-family:var(--msmx-sans) !important;}
body.msmx-design footer :is(h2,h3,h4) {font-family:var(--msmx-sans) !important;font-size:12px !important;font-weight:600 !important;line-height:1.5 !important;letter-spacing:.01em !important;}
body.msmx-design footer :is(p,a:not(.logo):not(.footer-logo):not(.msr-footer-logo)) {font-size:13px !important;line-height:1.75 !important;}
body.msmx-design footer :is(.footer-bottom,.msr-footer-bottom) {font-size:11px !important;}
body.msmx-design main [id] {scroll-margin-top:138px;}
body.msmx-design :is(a,button,summary,input,select,textarea):focus-visible {outline:3px solid #208da0 !important;outline-offset:4px !important;}
@media (min-width:1101px) {
  body.msmx-design :is(.desktop-nav,.nav,.msr-nav) {display:flex !important;}
  body.msmx-design :is(.mobile-menu,.menu,.msr-menu) {display:none !important;}
}
@media (max-width:1100px) {
  body.msmx-design .desktop-nav {display:none !important;}
  body.msmx-design .mobile-menu {display:block !important;position:static !important;}
  body.msmx-design :is(.site-header>.button,.header>.wrap>.cta,.msr-header>.msr-wrap>.msr-cta) {display:none !important;}
  body.msmx-design .mobile-menu-panel {position:absolute;top:100%;right:0;width:100%;max-height:calc(100dvh - 140px);overflow:auto;z-index:70;padding:16px 24px;}
  body.msmx-design .mobile-menu-panel nav {display:flex;flex-direction:column;gap:0;}
  body.msmx-design .mobile-menu-panel nav>a {display:flex;align-items:center;min-height:48px;}
  body.msmx-design :is(.nav,.msr-nav)[data-open="true"] {align-items:stretch !important;gap:0 !important;}
  body.msmx-design :is(.nav,.msr-nav)[data-open="true"]>a {min-height:48px !important;font-size:13px !important;}
}
@media (max-width:700px) {
  body.msmx-design h1 {font-size:46px !important;line-height:1.06 !important;}
  body.msmx-design h2 {font-size:36px !important;line-height:1.12 !important;}
  body.msmx-design .legal-content h2 {font-size:22px !important;}
  body.msmx-design :is(.client-logo-heading,.msr-client-logo-heading) h2 {font-size:10px !important;}
  body.msmx-design :is(.site-header,.header,.msr-header) {height:76px !important;}
  body.msmx-design :is(.site-header,.header,.msr-header) :is(.logo,.brand,.msr-brand) {width:144px !important;min-width:144px !important;}
  body.msmx-design :is(.site-header,.header,.msr-header) :is(.logo,.brand,.msr-brand) img {width:144px !important;height:58px !important;}
  body.msmx-design :is(.lead,.msr-lead) {font-size:16px !important;line-height:1.7 !important;}
  body.msmx-design .contact-hero aside {padding:28px;}
  body.msmx-design .contact-hero aside a {font-size:19px !important;}
  body.msmx-design footer :is(h2,h3,h4) {font-size:12px !important;}
}
@media(prefers-reduced-motion:reduce){body.msmx-design * {scroll-behavior:auto !important;}}
