/* Shared spatial and type tokens. Marketing displays intentionally use the upper end. */
:root{
 --space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;
 --space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;
 --space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
 --radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;
 --text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;
 --leading-display:1.1;--leading-heading:1.25;--leading-body:1.6;
}
/* Solution-first hierarchy: two primary offers, supporting engineering below. */
@media(max-width:999px){
  body .header{left:12px!important;right:12px!important;top:10px!important;width:calc(100% - 24px)!important;border-radius:14px!important;transform:none!important;overflow:visible!important}
  body .header .nav{width:100%!important;padding:0 16px!important;min-height:66px!important;height:66px!important;display:flex!important;align-items:center!important;overflow:visible!important}
  body .header .brand{flex:0 0 auto!important}
  body .header .brand-logo{width:140px!important}
  body .header .mobile-toggle{display:flex!important;align-items:center!important;flex:0 0 auto!important;margin-left:auto!important;gap:9px!important;background:transparent!important;color:#17191b!important;border:0!important;width:auto!important;min-width:64px!important;height:44px!important;padding:0 4px!important;text-decoration:none!important}
  body .mobile-toggle span{font-size:12px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
  body .mobile-toggle span::after{display:none!important}
  body .mobile-toggle::before,body .mobile-toggle::after{display:none!important}
  body .mobile-toggle span{position:static!important;text-decoration:none!important}
  body .mobile-toggle i{display:block!important;position:relative!important;inset:auto!important;width:17px!important;height:10px!important;border-top:1px solid!important;border-bottom:1px solid!important;transform:none!important}
  body .mobile-toggle i::before,body .mobile-toggle i::after{display:none!important}
  body .nav-context,body .nav-quick-cta{display:none!important}
  body .header .nav-links:not(.open){display:none!important}
  body .header .nav-links.open{position:absolute!important;inset:76px 0 auto!important;z-index:9999!important;isolation:isolate!important;width:auto!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 110px)!important;overflow:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:18px!important;border-radius:12px!important;background:#f7f5f1!important;box-shadow:0 15px 45px #0004!important}
  body .nav-links.open>a:not(.nav-cta){display:flex!important;align-items:center!important;grid-column:auto!important;grid-row:auto!important;width:100%;height:auto!important;color:#17191b!important;font-size:25px!important;padding:16px 0!important;line-height:1.2!important;min-height:0!important;border-bottom:1px solid #dedbd5!important}
  body .nav-links.open>a:not(.nav-cta)>span{color:#17191b!important}
  body .nav-links.open>a small{display:none!important}
  body .nav-links.open .nav-cta{grid-row:auto!important;width:100%;height:auto!important;min-height:0!important;align-self:auto!important;padding:18px!important;margin-top:16px!important;background:#a90e17!important;border:0!important;border-radius:6px!important;font-size:14px!important}
  body .nav-links.open .nav-cta::before,body .nav-links.open .nav-cta::after{display:none!important}
  body .nav-links.open .nav-cta>span,body .nav-links.open .nav-cta>em{display:none!important}
  body .nav-links.open .nav-cta>strong{display:block!important;color:#fff!important;font-size:16px!important;line-height:1.35!important}
  body .nav-links.open .nav-cta>b{position:static!important;margin-left:auto!important;color:#fff!important}
  body.nav-overlay-open .header{transform:none!important}
  body .nav-overlay-head,body .nav-overlay-foot{display:none!important}
}
.hx-hero h1,.sp-hero h1{overflow-wrap:anywhere;hyphens:manual}
.sp-hero .sp-hero-title-compact{font-size:clamp(38px,3.7vw,58px)!important;line-height:1.04!important;letter-spacing:-.045em!important;max-width:19ch}
#intent-title,#engineering{scroll-margin-top:130px}
.focus-offerings .conv-intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--space-6)!important}
.focus-offerings .conv-intent-grid>a{min-width:0;border:1px solid #d9d6d0!important;border-radius:var(--radius-lg);overflow:hidden;background:#faf9f6}
.focus-offerings .conv-intent-grid figure{aspect-ratio:16/9;height:auto!important;max-height:340px;margin:0}
.focus-offerings .conv-intent-grid figure img{width:100%;height:100%;object-fit:cover}
.focus-offerings .conv-intent-card-copy{padding:var(--space-8)!important}
.focus-offerings .conv-intent-card-copy strong{font-size:clamp(26px,2.5vw,38px)!important;max-width:22ch}
.focus-offerings .conv-intent-card-copy em{display:block;margin-top:var(--space-6);color:#9c1018;font-style:normal;font-weight:750;font-size:var(--text-base)}
.offering-support{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-block:22px;border-top:1px solid #d3cfc9}
.offering-support p{margin:0;color:#50565a;font-size:17px}
.offering-support a{color:#941019;font-size:17px;font-weight:750;text-underline-offset:5px}
.engineering-support{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;padding-top:32px;border-top:1px solid #45494d}
.engineering-support h3{font-size:clamp(24px,2.4vw,34px);color:#fff;margin:14px 0}
.engineering-support p{font-size:17px!important;line-height:1.65;color:#c7cbce!important}
.engineering-support nav{display:grid;align-content:start}
.engineering-support nav a{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #44494d;color:#eef0f2;font-size:17px;text-decoration:none}
.engineering-support nav a:hover{color:#ffadb2}
.mega-support{border-top:1px solid #d2cec8;margin-top:24px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 22px}
.mega-support .mega-kicker{flex-basis:100%;margin:0!important}
.mega-support a{font-size:14px;color:#454b50;text-underline-offset:4px}
.mega-support a:hover{color:#971018}
.corp-footer-nav small:not(:first-child){margin-top:30px!important;padding-top:24px!important;border-top:1px solid rgba(255,255,255,.12);width:100%}
.corp-footer-nav .footer-secondary{font-size:14px!important;color:#bfc3c6!important;padding:11px 0!important;line-height:1.4!important}
.corp-footer-nav .footer-secondary + .footer-secondary{border-top:1px solid rgba(255,255,255,.055)}
.corporate-footer .corp-footer-brand>span{color:#8d9297!important}
.corporate-footer .corp-footer-main small{color:#92979c!important}
.corporate-footer .corp-footer-main a b{color:#7d8389!important}
.corporate-footer .corp-footer-contact>span{color:#979ca1!important}
.corporate-footer .footer-bottom{color:#959a9f!important}
.corporate-footer .footer-bottom a{color:#b7bbbf!important}
.sp-related{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important}
.sp-related a{min-width:0;align-items:flex-start;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.sp-related a span{flex:0 0 auto}
.subpage .sp-button{padding:var(--space-4) var(--space-6)!important;border-radius:var(--radius-sm)!important}
.subpage .sp-card{padding:var(--space-8)!important;border-radius:var(--radius-md)!important}
.subpage .sp-cards{gap:var(--space-6)!important}
.subpage .sp-section{padding-block:var(--space-24)}
.subpage p{line-height:var(--leading-body)}
.focus-offerings a:focus-visible,.engineering-support a:focus-visible,.offering-support a:focus-visible{outline:3px solid #d53039;outline-offset:4px}
@media(max-width:700px){
 .conv-proof-graphic{max-width:100%;gap:18px!important}
 .conv-proof-graphic small{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;max-width:55%!important;font-size:12px!important}
 .hx-hero h1{font-size:clamp(34px,8.5vw,52px)!important;line-height:1.08!important}
 .sp-hero h1{font-size:clamp(32px,8vw,48px)!important;line-height:1.1!important}
 .sp-hero .sp-hero-title-compact{font-size:clamp(34px,8vw,44px)!important;line-height:1.08!important;max-width:none}
 .focus-offerings .conv-intent-grid{grid-template-columns:1fr!important;gap:20px!important}
 .focus-offerings .conv-intent-card-copy{padding:24px!important}
 .subpage .sp-section{padding-block:var(--space-16)!important}
 .subpage .sp-card{padding:var(--space-6)!important}
 .offering-support{align-items:flex-start;flex-direction:column;gap:10px}
 .engineering-support{grid-template-columns:1fr;gap:20px}
}
@media(min-width:701px) and (max-width:1100px){
 .sp-related{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .sp-related a{padding:22px!important;font-size:17px}
 .sp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-cards .sp-card:last-child{grid-column:1/-1}
}
@media(min-width:761px) and (max-width:999px){
 body .header .nav-links.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:auto!important;align-content:start!important;gap:0 28px!important;padding:16px 22px 20px!important}
 body .nav-links.open>a:not(.nav-cta){font-size:20px!important;padding:14px 0!important}
 body .nav-links.open .nav-cta{grid-column:1/-1!important;margin-top:14px!important;padding:15px 18px!important}
 body .nav-links.open .nav-cta>strong{font-size:15px!important}
 .subpage .sp-wrap{width:calc(100% - 56px)}
 .subpage .sp-hero{padding-top:140px}
 .sp-hero-grid,.sp-section-head,.sp-scope,.sp-split,.sp-faq,.sp-contact-grid{grid-template-columns:1fr;gap:38px}
 .sp-hero-grid{align-items:start}
 .sp-hero-grid .sp-media{max-width:760px}
 .sp-media img{height:clamp(360px,56vw,520px)}
 .subpage .sp-section{padding-block:var(--space-20)!important}
 .sp-section-head{margin-bottom:30px}
 .sp-form{max-width:760px}
 .sp-nav .sp-wrap{gap:14px 26px}
 .subpage section[id]{scroll-margin-top:105px}
 .conv-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .conv-timeline li{min-width:0}
}
@media(max-width:760px){
 body .header .nav-links.open{inset:74px 0 auto!important;padding:14px 18px 18px!important}
 body .nav-links.open>a:not(.nav-cta){font-size:21px!important;padding:13px 0!important}
 body .nav-links.open .nav-cta{margin-top:12px!important;padding:15px!important}
}
