/* Public-site typography. Preserve existing layouts and artwork. */
body{font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:17px;line-height:1.65}
button,input,select,textarea{font-family:inherit}
#app h1{font-weight:600;letter-spacing:-.025em;line-height:1.16;text-wrap:balance}
#app h2{font-weight:600;letter-spacing:-.018em;line-height:1.25;text-wrap:balance}
#app h3{font-weight:600;letter-spacing:0;line-height:1.35}
#app :is(.lead,.section-intro,.section-header p){font-size:19px;line-height:1.7}
#app :is(.card p,.media-copy p,.story-copy p,.mini-visual-card p,.guide-grid p,.capability-grid p,.module-summary p,.module-offer p){font-size:17px;line-height:1.7}
#app :is(.small,.visual-caption,.metric span,.number-card span,.module-ribbon-copy small,.module-ribbon-copy b,.feature-ribbon span,.timeline span,.execution-board span,.execution-board small,.integration-card small,.architecture-node span,.architecture-core small,.center-focus p,.chart-card>p,.legend,.chart-labels,.workspace-list i,.workspace-side p,.system-lines span,.system-lines em){font-size:15px;line-height:1.55}
#app :is(.kicker,.eyebrow,.image-chip,.module-ribbon-label,.module-ribbon-heading>div>span,.capability-no){font-size:14px;font-weight:600;letter-spacing:.025em;text-transform:none;line-height:1.55}
#app :is(.btn,.module-nav a){font-size:16px;font-weight:600;line-height:1.4;min-height:48px;white-space:normal}
#app :is(label,th,td){font-size:16px;line-height:1.55}
.site-header .service-login,.nav-links .drawer-login{font-family:inherit;font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;min-height:48px;border-radius:13px;background:#e7784e;box-shadow:0 5px 18px #0002;cursor:pointer}
.site-header.is-scrolled .service-login,.service-login:hover{box-shadow:0 6px 20px #0003}
.nav-links{width:min(390px,92vw);padding:26px 20px;gap:7px}
.nav-links a,.nav-links .nav-solutions-toggle{font-size:17px;font-weight:500;line-height:1.4;min-height:48px}
.nav-links .nav-solutions-list a{font-size:16px;line-height:1.45;min-height:44px}
.nav-links :is(a small,.nav-solutions-toggle small){font-size:13px;color:#9ab0c0;letter-spacing:0}
.drawer-head>span{font-size:15px;font-weight:600;letter-spacing:.02em;text-transform:none}
.brand-sub{font-size:12px;letter-spacing:.02em;text-transform:none}
.service-selector :is(p,.service-option-description){font-size:17px;line-height:1.6}
.service-selector :is(small,.service-option-note){font-size:15px;line-height:1.5}
.service-option strong{font-weight:600}
.footer-inner{font-size:15px;line-height:1.65}
body.anpr-hardware #app :is(.an-eyebrow,.an-note,.an-subnav a,.an-demo-progress span,.an-scene-header,.an-demo-controls button,.an-offline-toggle,#an-demo-status,.an-plate-readout small,#an-count-hint,#an-config-status){font-size:16px;line-height:1.6}
body.anpr-hardware #app .an-demo-progress{gap:12px}
body.anpr-hardware #app .an-demo-progress span{font-size:14px}
body.anpr-hardware #app .an-eyebrow{text-transform:none;letter-spacing:.02em;font-weight:600}
body.anpr-hardware #app :is(.an-card p,.an-section-head p,.an-timeline p){font-size:18px;line-height:1.7}
@media(max-width:640px){
 body{font-size:17px}
 #app .hero h1{font-size:clamp(30px,8vw,40px);line-height:1.2;overflow-wrap:normal}
 #app :is(.hero .lead,.section-intro,.section-header p){font-size:18px;line-height:1.65}
 #app h2{font-size:clamp(27px,7vw,34px);line-height:1.25;overflow-wrap:normal}
 .site-header .service-login{font-size:15px;padding:11px 14px;gap:8px}
 .nav{gap:9px}
 .nav-links{padding:22px 18px}
 #app .module-ribbon-copy small{font-size:15px}
 body.anpr-hardware #app .an-demo-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.anpr-hardware #app .an-demo-controls{flex-wrap:wrap}
}
#app .hero-inner{padding-top:118px}
#app .module-ribbon-heading h2{font-size:clamp(32px,3.8vw,50px);line-height:1.2}
#app .center-focus small{font-size:14px;letter-spacing:.025em;text-transform:none}
.pegas-highlight{font-weight:600}
.nav-links .drawer-login{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
@media(max-width:640px){#app .hero-inner{padding-top:108px}#app .module-ribbon-heading h2{font-size:30px}}
.service-selector .kicker{font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:none}.service-selector-title{font-weight:600;letter-spacing:-.02em}.service-option b{font-size:15px;letter-spacing:0;font-weight:600}.service-option span{font-size:17px}
#app :is(.module-feature-grid p,.client-value-grid p,.module-flow p,.offer-grid p,.offer-card p){font-size:17px;line-height:1.65}#app :is(.role-panel b,.product-screen figcaption,.product-screen figcaption span,.product-screen figcaption b){font-size:15px;line-height:1.55;font-weight:500}
#app .module-ribbon-copy small{font-weight:400;letter-spacing:0}
#app .module-ribbon-copy strong{font-weight:600;line-height:1.2}
#app .module-ribbon-copy b{font-weight:600;text-transform:none;letter-spacing:0}
#app :is(.module-visual-overlay span,.role-panel span,.module-offer-result span,.module-ribbon-footer){font-size:14px;font-weight:600;text-transform:none;letter-spacing:.02em}
#app .module-connection-grid a>span,#app .related-card span{font-weight:600}
/* Keep the fixed header compact on narrow phones. */
@media(max-width:360px){
 .site-header .nav{width:calc(100% - 24px);gap:8px}
 .site-header .menu-toggle{width:42px;height:44px;flex-basis:42px;border-radius:12px}
 .site-header .brand{padding:6px;border-radius:12px}
 .site-header .brand img{width:30px;height:30px}
 .site-header .service-login{white-space:nowrap;font-size:14px;gap:6px;padding:10px 12px;min-height:44px}
}
