/* Shared visual language: Inter, controlled weights and consistent tracking. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url('fonts/inter-800.woff') format('woff')}
:root{--font-ui:Inter,Arial,sans-serif;--brand-ink:#b64c29;--heading-tracking:-.025em;--label-tracking:.14em}
html body{font-family:var(--font-ui);font-weight:400;letter-spacing:0;line-height:1.65}
button,input,select,textarea,summary{font-family:inherit}
body h1,body h2{font-weight:700!important;letter-spacing:var(--heading-tracking)!important;line-height:1.15!important;text-wrap:balance}
body h3{font-weight:600!important;letter-spacing:-.015em!important;line-height:1.35!important;text-wrap:balance}
body h4{font-weight:600;letter-spacing:0;line-height:1.4}
body p,body li{letter-spacing:0}
body .font-black{font-weight:700}
body .font-medium{font-weight:600}
body .uppercase,body .eyebrow,body .fact span,body .site-mobile-services-label{font-weight:700;letter-spacing:var(--label-tracking);line-height:1.5}
body .brand-action,body .site-header-cta,body .site-mobile-menu .site-mobile-cta{background:var(--brand-ink);color:#fff;font-weight:600;letter-spacing:0;line-height:1.45}
body .brand-action:hover,body .site-header-cta:hover{background:#18181b;color:#fff}
body .brand-ink{color:var(--brand-ink)}
body header{color:#18181b;background:rgba(244,242,238,.96)}
body header .site-header-inner,body header>div:first-child{width:min(1280px,100%);height:86px;margin:auto;padding-left:32px;padding-right:32px;gap:24px}
body header .site-logo-link img,body header>div:first-child>a:first-child img{height:54px;width:auto;max-width:none}
body header .site-desktop-nav,body header nav.hidden{gap:24px;font-size:14px;font-weight:600;letter-spacing:0;line-height:20px}
body header .site-desktop-nav>a,body header .site-services>summary,body header nav.hidden>a,body header .services-trigger{font-size:14px;font-weight:600;letter-spacing:0;line-height:20px}
body header .language-switch{font-size:12px;font-weight:600;letter-spacing:.04em;line-height:18px}
body header .site-header-cta,body header .header-action{font-size:14px;font-weight:600;letter-spacing:0;line-height:20px;padding:12px 20px}
body header [data-services-menu]>div,body .site-services-menu{white-space:normal;overflow-wrap:break-word;width:min(420px,calc(100vw - 40px));max-height:calc(100dvh - 110px);overflow-y:auto}
body .site-services-menu strong,body header [data-services-menu]>div .font-black{font-size:14px;font-weight:600;letter-spacing:0;line-height:1.5}
body .site-services-menu small,body header [data-services-menu]>div .text-xs{font-size:12px;font-weight:400;letter-spacing:0;line-height:1.65;color:#52525b}
body .site-mobile-menu{max-height:calc(100dvh - 86px);overflow-y:auto}
body :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #b64c29;outline-offset:3px}
body main [id],body section[id],body footer[id]{scroll-margin-top:110px}
body .cta a{background:#18181b;color:#fff;font-weight:600;letter-spacing:0;line-height:1.5}
@media(min-width:768px) and (max-width:1100px){body header .site-desktop-nav,body header nav.hidden,body header .site-header-cta,body header .header-action{display:none!important}body header .site-mobile-nav,body header>div:first-child>button{display:flex!important}body header .language-switch{margin-left:auto}}
@media(max-width:767px){body header .site-header-inner,body header>div:first-child{padding-left:20px;padding-right:20px;gap:12px}body header .site-logo-link img,body header>div:first-child>a:first-child img{height:46px;max-width:calc(100vw - 200px)}body h1,body h2,body h3{white-space:normal!important}body form input,body form select,body form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

body h3.font-black,body h3.font-semibold{font-weight:600}

/* Let grid/flex copy shrink and wrap at narrow and tablet widths. */
body .grid>*,body form,body .flex>div{min-width:0}
body h1,body h2,body h3{white-space:normal!important;overflow-wrap:break-word}
body input,body select,body textarea{max-width:100%}
@media(max-width:480px){body .links{flex-wrap:wrap}body .links a{max-width:100%}}

body .page>*{min-width:0}
body .action:not(.secondary){background:var(--brand-ink);color:#fff;font-weight:600}
