/* Comfortable reading sizes across all marketing pages. Loaded after layout styles. */
:root{--muted:#3c5261;--green:#006e43;--font-body:1.25rem;--font-small:1.125rem;--font-label:1rem}
body{font-size:var(--font-body);line-height:1.65;-webkit-text-size-adjust:100%;text-size-adjust:100%}
p,li,dd{line-height:1.65}
h1,h2,h3{line-height:1.2;letter-spacing:-.025em}
p,li,dd,a,strong{overflow-wrap:break-word}
.hero .lead,.page-title .lead,.lead{font-size:1.375rem;line-height:1.6}
.large-text{font-size:1.625rem;line-height:1.5}
.eyebrow,.hero .eyebrow,.block-label,.number{font-family:Arial,Helvetica,sans-serif;font-size:var(--font-label);line-height:1.6;letter-spacing:.065em;font-weight:650}
.hero .eyebrow{max-width:none}
nav,header nav,.menu{font-size:var(--font-small);line-height:1.5}
.nav-wrap{max-width:1440px;gap:28px}
nav{gap:20px}
nav a,.menu{min-height:48px;display:inline-flex;align-items:center}
.menu{gap:14px;padding:10px 15px}
header .menu{display:none}
.button,.hero .button,.text-link,.heading-row .text-link{font-size:var(--font-small);line-height:1.5;min-height:52px}
.button,.hero .button{padding:14px 21px;gap:20px;white-space:normal;max-width:100%}
.text-link{gap:20px}
.text-link:hover{gap:24px}
.hero-foot,.hardware-bottom p,.hardware-bottom a{font-size:var(--font-small);line-height:1.65}
.hardware-top,.process-top,.process-board .process-note,.hmi-system-heading>span{font-family:Arial,Helvetica,sans-serif;font-size:var(--font-label);line-height:1.6;letter-spacing:.035em}
.hardware-top,.process-top,.hmi-system-heading{flex-wrap:wrap;gap:12px 20px}
.hardware-bottom strong{font-size:1.5rem}
.discipline-strip .wrap{font-family:Arial,Helvetica,sans-serif;font-size:var(--font-label);line-height:1.6;letter-spacing:.04em;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.discipline-strip span+span{padding-left:24px}
.cap-card p,.work-card p,.process-board li p,.application-list p,.tech-notes p,.tech-notes dd,.project p,.hmi-home-outcomes p,.hmi-flow p,.hmi-feedback,.hmi-outcomes p,.hmi-scope-grid p,.hmi-provider p,.hmi-questions p{font-size:var(--font-body);line-height:1.65}
.cap-card p{max-width:none}
.cap-card h3,.application-list h3,.work-card h3,.hmi-home-outcomes h3,.hmi-scope-grid h3{font-size:1.75rem;line-height:1.25}
.process-board strong{font-size:1.625rem;line-height:1.3}
.process-board li{padding:24px 0;gap:8px 18px;align-items:start}
.process-board li>.block-icon{margin-top:3px}
.process-board li p{margin-top:0}
.application-list>a{grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 28px;gap:28px;padding:30px 0}
.application-list>a>span{font-size:1.375rem}
.tech-notes dt,.project h3,.locations a,.team-grid p,.contact-location p,.contact-location a{font-size:var(--font-body);line-height:1.6}
.tech-notes dd{margin-top:10px}
.fine,caption,.jump-nav a,form .fine,label{font-size:var(--font-small);line-height:1.65}
table{font-size:var(--font-body);line-height:1.6}
.jump-nav a{padding:10px 16px;min-height:50px}
.project h3{font-weight:700;margin-top:26px}
.team-grid h3{font-size:1.625rem}
.email-link{font-size:1.375rem;line-height:1.5}
.contact-location h3{font-size:1.375rem}
input,select,textarea{font-size:var(--font-body);line-height:1.5;min-height:54px;padding:13px;min-width:0}
label{margin:22px 0}
.hmi-flow h2{font-size:1.75rem;line-height:1.25}
.hmi-flow li{padding-inline:22px}
.hmi-flow p{margin-top:18px}
.hmi-home-outcomes>div{grid-template-columns:32px minmax(0,1fr);gap:9px 20px;padding:28px 0}
.hmi-outcomes h2{font-size:2rem;line-height:1.25}
.hmi-provider{flex-wrap:wrap}
.hmi-provider .text-link{white-space:normal}
.hmi-questions strong{font-size:1.5rem;line-height:1.4}
footer{font-size:var(--font-small);line-height:1.65}
.footer-main strong,.footer-main h3{font-size:1.25rem;line-height:1.5}
.footer-main a{padding-block:6px}
.footer-bottom{font-size:var(--font-label);line-height:1.6;gap:15px}
.closing p{font-size:var(--font-body);line-height:1.65}
.closing .button{white-space:normal;flex-shrink:0}
.cap-grid,.work-grid,.team-grid,.locations,.hmi-outcomes{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-grid,.locations{grid-template-columns:repeat(2,minmax(0,1fr))}
.intro-split>*,.tech-split>*,.global-grid>*,.technology-block>*,.industry>*,.project>*,.contact-grid>*,.hmi-intro>*,.hmi-home-inner>*,.footer-main>*{min-width:0}
@media(max-width:1320px){
 header .menu{display:inline-flex}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:16px 30px 24px;background:white;border-bottom:1px solid var(--line);gap:6px;max-height:calc(100dvh - 95px);overflow-y:auto}
 header nav.open{display:flex}
 header nav a{padding:12px 0;min-height:50px}
 header nav .nav-contact{justify-content:center;margin-top:8px;padding:12px 16px}
 .hero .button{font-size:var(--font-small)}
 .intro-split,.tech-split,.global-grid,.technology-block,.industry,.contact-grid,.hmi-intro,.hmi-home-inner{gap:45px}
}
@media(max-width:1050px){
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
 .cap-grid{grid-template-columns:1fr}
 .cap-card+.cap-card{border-left:0;border-top:1px solid var(--line)}
 .cap-card{padding:30px 32px 65px}
 .hmi-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .hmi-flow li,.hmi-flow li:first-child,.hmi-flow li:last-child{border:0;border-top:1px solid #c5d0c3;padding:24px 0 0;margin:0}
 .hmi-flow .block-label{flex-direction:row;align-items:center}
 .hmi-system-heading{margin-bottom:22px}
 .application-list>a{grid-template-columns:36px minmax(0,1fr) 28px;gap:12px 22px}
 .application-list p{grid-column:2;grid-row:2}
 .application-list>a>span:last-child{grid-column:3;grid-row:1}
 .discipline-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
 .discipline-strip span+span{border:0;padding-left:0}
 .hmi-outcomes{grid-template-columns:1fr;gap:28px}
 .intro-split,.tech-split,.global-grid,.technology-block,.contact-grid,.hmi-intro,.hmi-home-inner{grid-template-columns:1fr;gap:30px}
 .hero{grid-template-columns:1fr}
 .hero .lead{max-width:700px}
 .hero-hardware{max-width:700px;width:100%}
}
@media(max-width:700px){
 .wrap{padding-left:22px;padding-right:22px}
 .nav-wrap{padding:15px 22px;gap:16px}
 .brand,.brand img{width:clamp(155px,46vw,210px)}
 .menu{font-size:var(--font-small);gap:10px;padding:9px 12px}
 .hero h1{font-size:clamp(2.5rem,10vw,3.25rem);line-height:1.1;letter-spacing:-.03em}
 .page-title h1{font-size:clamp(2.5rem,9vw,3.25rem);line-height:1.15}
 .hero .eyebrow{font-size:var(--font-label);max-width:none}
 .hero .lead,.page-title .lead{font-size:1.375rem}
 .large-text{font-size:1.5rem}
 .hero-foot{font-size:var(--font-small)}
 .hardware-top{font-size:var(--font-label)}
 .hardware-bottom strong{font-size:1.5rem}
 .discipline-strip .wrap{font-size:var(--font-label);gap:20px}
 .heading-row .text-link{font-size:var(--font-small)}
 .application-list>a{grid-template-columns:32px minmax(0,1fr) 24px;gap:12px 16px;padding:28px 0}
 .application-list h3{font-size:1.625rem;line-height:1.3}
 .application-list p{font-size:var(--font-body);line-height:1.65}
 .application-list>a>span:last-child{grid-column:3;grid-row:1}
 .cap-card h3,.work-card h3,.hmi-home-outcomes h3,.hmi-scope-grid h3{font-size:1.625rem}
 .cap-card p{font-size:var(--font-body);max-width:none}
 .work-grid,.team-grid,.locations,.hmi-outcomes{grid-template-columns:1fr}
 .industry,.project{grid-template-columns:1fr;gap:28px}
 .hmi-flow{grid-template-columns:1fr;gap:0}
 .hmi-flow li,.hmi-flow li:first-child,.hmi-flow li:last-child{padding:25px 0}
 .hmi-flow li:first-child{border-top:0}
 .hmi-flow h2{font-size:1.75rem}
 .hmi-flow .block-label{font-size:var(--font-label)}
 .hmi-system-heading>span{font-size:var(--font-label)}
 .hmi-questions strong{font-size:1.375rem}
 .footer-main{grid-template-columns:1fr;gap:30px}
 .footer-bottom{font-size:var(--font-label);gap:12px}
 .closing p{font-size:var(--font-body)}
 .closing .button{width:auto;max-width:100%}
 .actions{gap:16px}
 .button,.hero .button{font-size:var(--font-small);padding:14px 18px;gap:16px}
 form{padding:24px}
 .form-row{grid-template-columns:1fr}
}
/* Review feedback: consistent portraits, laptop balance, touch targets and stacked comparison. */
.team-grid img{width:200px;height:240px;max-width:100%;padding:0;object-fit:cover;object-position:50% 28%;border-radius:4px;background:#edf1eb}
.hardware-bottom a,a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
#copy-brief{margin-top:18px}
@media(min-width:900px) and (max-width:1050px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;align-items:center}.hero h1{font-size:clamp(3rem,5.6vw,3.7rem)}.hero .lead{font-size:1.25rem}.hero-hardware{max-width:none;margin:0}.hero .actions{flex-direction:column;align-items:flex-start}.hardware-bottom p{font-size:1.125rem}.hardware-bottom p br{display:none}}
@media(max-width:899px){.hero-hardware{margin-inline:auto;max-width:none}}
@media(max-width:700px){.comparison .table-scroll{overflow:visible}.comparison table{display:block;min-width:0;width:100%;border:0}.comparison caption{display:block;text-align:left;padding:0 0 20px}.comparison thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.comparison tbody{display:block}.comparison tr{display:block;border:1px solid var(--line);margin:0 0 20px;background:white}.comparison tbody th{display:block;background:#e8f0e8;padding:16px;font-size:1.375rem}.comparison td{display:block;padding:16px;border:0;border-top:1px solid var(--line)}.comparison td::before{content:attr(data-label);display:block;font-weight:700;color:var(--green);margin-bottom:8px}}

/* Home navigation, more visible brand and wider screen use. */
:root{--max:1680px}
.wrap{max-width:var(--max);padding-inline:clamp(22px,3vw,48px)}
.nav-wrap{max-width:1760px;padding:20px clamp(22px,3vw,48px);gap:24px}
.brand,.brand img{width:320px}
header nav{gap:16px}
@media(max-width:1320px){header nav{gap:6px}.brand,.brand img{width:300px}}
@media(max-width:700px){.nav-wrap{padding:15px 18px;gap:12px}.brand,.brand img{width:min(240px,calc(100vw - 146px))}.wrap{padding-inline:22px}}
/* Interfaces, apps, licensing and complete-product context. */
.hero-product-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 24px 20px}.hero-product-pair figure{margin:0;min-width:0}.hero-product-pair img{width:100%;height:130px;object-fit:contain;background:#f8f9f5}.hero-product-pair figcaption{font-size:1rem;line-height:1.5;margin-top:8px;color:var(--muted)}
.software-grid,.engineering-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.software-grid article{padding-block:20px;min-width:0}.software-grid h2{font-size:clamp(2rem,3vw,2.75rem)}.licensing-section,.engineering-section{padding-top:60px;margin-top:50px;border-top:1px solid var(--line)}.licensing-section{padding-bottom:20px}.engineering-section{margin-bottom:70px}.engineering-grid{margin-top:28px;align-items:start}.engineering-grid figure{margin:0}.vibration-feature{background:#e8f0e8}.vibration-feature .lead{max-width:850px}.software-preview .lead{max-width:850px}
@media(max-width:1050px){.software-grid,.engineering-grid{grid-template-columns:1fr;gap:24px}.hero-product-pair{gap:12px;padding-inline:20px}.hero-product-pair img{height:100px}}
@media(max-width:700px){.hero-product-pair{padding-inline:18px}.hero-product-pair img{height:100px}.hero-product-pair figcaption{font-size:1rem}.licensing-section,.engineering-section{padding-top:35px;margin-top:30px}}
.language-bar{display:flex;justify-content:flex-end;align-items:center;gap:4px;max-width:1760px;margin:auto;padding:0 clamp(22px,3vw,48px);border-bottom:1px solid var(--line);font-size:1rem;line-height:1.3}.language-bar span{margin-right:10px;color:var(--muted)}.language-bar a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;padding:8px;color:var(--ink)}.language-bar a[aria-current]{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:5px}html{scroll-padding-top:180px}header nav{max-height:calc(100dvh - 165px)}
@media(max-width:700px){.language-bar{padding-inline:18px}.language-bar a{min-height:40px}html{scroll-padding-top:150px}header nav{max-height:calc(100dvh - 145px)}}
HTML:lang(pt) .hero h1,html:lang(es) .hero h1{font-size:clamp(3rem,5.5vw,5.25rem)}
@media(max-width:700px){html:lang(pt) .hero h1,html:lang(es) .hero h1{font-size:clamp(2.5rem,10vw,3.25rem)}}
.software-demo{max-width:900px;margin:45px auto}.software-demo figure{margin:0}.video-poster-title{overflow-wrap:anywhere}

/* Editorial headings: a clear green panel, separate from explanatory text. */
.heading-highlight{background:#d4eadc;border-left:5px solid #007448;border-radius:0 8px 8px 0;padding:24px 28px;margin-bottom:28px;color:var(--ink);min-width:0}
.heading-highlight>.eyebrow{color:#00663e;margin:0 0 18px}
.heading-highlight>h1,.heading-highlight>h2{color:var(--ink);margin:0;overflow-wrap:break-word}
.heading-highlight em{color:#00663e}
.page-title>.heading-highlight{max-width:1200px}
.section-head>.heading-highlight{margin-bottom:20px}
.engineering-section>.heading-highlight{max-width:1000px}
@media(max-width:700px){.heading-highlight{padding:20px 18px;margin-bottom:24px;border-left-width:4px}.heading-highlight>.eyebrow{margin-bottom:14px}}

/* Keep highlighted headings bounded and readable inside dark sections. */
.heading-highlight p:not(.eyebrow){color:#3c5261}
.hmi-provider p:not(.eyebrow){color:#d5e4e8}
.dtfc-brand{display:flex;justify-content:center;align-items:center;width:180px;max-width:calc(100% - 48px);min-height:44px;margin:24px auto 0;padding:10px;background:#fff;border-radius:4px}
.dtfc-brand img{display:block;width:100%;height:auto;object-fit:contain}
.dtfc-brand:focus-visible{outline:3px solid #007448;outline-offset:4px}
@media(max-width:700px){.dtfc-brand{width:150px;margin-top:20px}}

.hmi-provider .heading-highlight h3{color:var(--ink);margin:0}.hmi-provider .heading-highlight .eyebrow{color:#00663e}
