@charset "UTF-8";
/* TIGA v3: bright white and brand blue, with complete trilingual navigation. */
:root { --deep:#0a3566; --navy:#0a3566; --ink:#183e5a; --muted:#52697b; --line:#d9e7ee; --wash:#f5fafc; }
body { background:#fff; }
h1,h2,h3 { color:var(--navy); }
.site-header { border-bottom-color:#e2edf2; }
.header-inner { height:86px; gap:24px; }
.language-switch { display:flex; align-items:center; gap:10px; flex-shrink:0; white-space:nowrap; padding-left:19px; border-left:1px solid var(--line); font-size:11px; color:#5a7182; }
.language-switch a,.language-switch span { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:3px 2px; }
.language-switch a:hover { color:#007b98; }
.language-switch [aria-current] { color:var(--navy); font-weight:650; border-bottom:2px solid var(--cyan); }
.hero-stage { background:#f6fafc; color:var(--ink); min-height:650px; }
.hero-stage-inner { min-height:650px; padding-block:58px 82px; }
.hero-kicker { color:#00758f; font-weight:500; }
.hero-stage h1 { color:var(--navy); font-weight:600; font-size:clamp(42px,3.65vw,55px); }
.hero-stage-copy > p { color:#4d6578; font-size:15px; }
.hero-stage .button,.cta-band .button { color:#fff; background:var(--navy); border-color:var(--navy); }
.hero-stage .button:hover,.cta-band .button:hover { background:#075589; border-color:#075589; }
.hero-stage .text-link { color:var(--navy); border-color:#80bfce; }
.hero-stage .text-link:hover { color:#007b98; border-color:var(--cyan); }
.render-label { color:#496779; background:rgb(248 252 254 / 92%); font-size:10px; }
.section-label { color:#287b92; }
.portfolio-services { background:#fff; }
.service-tile p { color:var(--muted); }
.engineering-story { background:#f1f8fb; }
.story-visual { background:#eef4f7; }
.story-copy > p { color:var(--muted); }
.story-caption { color:#466477; background:rgb(250 253 255 / 93%); }
.page-intro { background:#f5fafc; border-bottom-color:#e1edf2; }
.solution-machine { background:#f2f7fa; }
.solution-machine .figure-caption { color:#4d6578; background:#f2f7fa; }
.solution-machine .figure-caption::before { background:#64adbf; }
.feature-copy { background:#fff; }
.feature-visual .figure-caption { background:#f2f7fa; color:#4d6578; }
.solution-note { border-left-color:#6cc0d1; }
.question-grid article,.process-step { border-top-color:#9fcbd9; }
.process-step::before { color:#068ba6; }
.cta-band { background:#edf8fc; color:var(--navy); border-top:1px solid #d6eaf1; padding-block:72px; }
.cta-band h2 { color:var(--navy); }
.cta-band p { color:#4d6578; }
.cta-email { color:var(--navy); }
.site-footer { background:#fff; }
.company-mark { background:#f1f8fb; }
.certificate-card figure { background:#f5f8fa; }
.certificate-zoom,.lightbox .close-button { background:var(--navy); }

html[lang="en"] body { font-family:"Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height:1.7; }
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3 { letter-spacing:0; text-wrap:balance; }
html[lang="en"] .hero-stage h1 { font-size:clamp(40px,3.45vw,52px); line-height:1.25; }
html[lang="en"] .hero-stage-copy { width:43%; max-width:530px; }
html[lang="en"] .hero-stage-copy > p { max-width:27em; line-height:1.85; }
html[lang="en"] .hero-kicker { letter-spacing:0; font-size:13px; }
html[lang="en"] .section-label { letter-spacing:.015em; }
html[lang="en"] .service-tile h3 { font-size:25px; line-height:1.3; }
html[lang="en"] .service-tile p,html[lang="en"] .service-detail p,html[lang="en"] .tab-panel p { line-height:1.8; }
html[lang="en"] .story-copy h2 { line-height:1.3; }
html[lang="en"] .page-intro .lead { line-height:1.85; }
html[lang="en"] .process-step h3 { font-size:19px; line-height:1.5; }
html[lang="en"] .certificate-copy h4 { line-height:1.4; }
html[lang="en"] .certificate-copy dl { line-height:1.7; }
html[lang="en"] .certificate-subtitle { letter-spacing:0; }
html[lang="en"] .company-table > div { grid-template-columns:125px minmax(0,1fr); }
html[lang="en"] .company-table dd { line-height:1.8; }
html[lang="en"] .footer-company address { max-width:27em; }

@media (min-width:1700px) {
 .hero-stage,.hero-stage-inner { min-height:700px; }
}
@media (max-width:1200px) {
 .header-inner { gap:20px; }
 .desktop-nav { gap:20px; }
 .language-switch { padding-left:15px; gap:8px; }
 .hero-stage,.hero-stage-inner { min-height:620px; }
 .hero-stage h1 { font-size:44px; }
 html[lang="en"] .hero-stage h1 { font-size:46px; }
}
@media (max-width:1100px) {
 .hero-stage,.hero-stage-inner { min-height:0; }
 .hero-stage-inner { padding-block:48px 10px; }
 .hero-stage-copy,html[lang="en"] .hero-stage-copy { width:100%; max-width:640px; }
 .render-label { background:transparent; }
 html[lang="en"] .hero-stage-copy > p { max-width:38em; }
}
@media (max-width:900px) {
 .header-inner { gap:15px; }
 .desktop-nav { gap:14px; }
 .language-switch { padding-left:10px; }
 .hero-stage h1 { font-size:44px; }
 html[lang="en"] .service-tile h3 { font-size:22px; }
}
@media (max-width:800px) {
 .header-inner { height:76px; gap:14px; }
 .language-switch { margin-left:auto; padding-left:0; border:0; gap:9px; }
 .brand span { font-size:13px; }
}
@media (max-width:600px) {
 .header-inner { height:74px; gap:11px; }
 .brand { gap:10px; }
 .brand span { font-size:11px; }
 .brand img { width:35px; height:43px; }
 .language-switch { font-size:11px; gap:7px; }
 .menu-toggle { width:36px; height:40px; padding:7px; }
 .hero-stage-inner { padding-block:40px 8px; }
 .hero-stage h1 { font-size:37px; line-height:1.45; }
 .hero-stage-copy > p { font-size:14px; line-height:1.9; }
 .hero-stage .actions { margin-top:26px; }
 html[lang="en"] .hero-stage h1 { font-size:34px; line-height:1.25; }
 html[lang="en"] .hero-stage-copy { max-width:100%; }
 html[lang="en"] .page-intro h1 { font-size:34px; line-height:1.2; }
 html[lang="en"] h2 { line-height:1.35; }
 html[lang="en"] .certificate-copy h4 { font-size:21px; }
 html[lang="en"] .company-table > div { grid-template-columns:88px minmax(0,1fr); }
 html[lang="en"] .cta-band h2 { line-height:1.4; }
 html[lang="en"] .tabs { gap:20px; }
 .cta-band { padding-block:52px; }
}
@media (max-width:360px) {
 .brand span { display:none; }
 .hero-stage h1 { font-size:32px; }
 html[lang="en"] .hero-stage h1 { font-size:29px; }
 html[lang="en"] .tabs { gap:12px; }
 html[lang="en"] .tab { font-size:11px; }
}
@media print {
 .hero-stage,.cta-band { background:#fff; }
 .hero-stage h1,.hero-stage-copy > p,.hero-kicker,.render-label { color:var(--navy); }
}
