:root{--navy:#0a2a56;--ink:#122f54;--blue:#1267c2;--pale:#eaf4fc;--line:#ced9e8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"Avenir Next",Avenir,"Century Gothic","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.container{width:min(1440px,calc(100% - 13%));margin-inline:auto}
.hero{height:675px;position:relative;overflow:hidden;background:linear-gradient(110deg,#fafcfe 5%,#e5f1fb 50%,#bdd9eb 100%)}
.hero-visual{position:absolute;right:0;top:0;bottom:30px;width:59%;background-image:linear-gradient(to right,rgba(233,244,251,0.98) 0%,rgba(233,244,251,.3) 24%,rgba(233,244,251,0) 45%),url('assets/motore-circuiti.webp');background-position:center,right center;background-size:cover,cover;background-repeat:no-repeat;opacity:.98}
.hero-content{position:relative;z-index:1;height:100%}
.brand{padding-top:36px}
.brand img{display:block;width:350px;height:auto;mix-blend-mode:multiply}
.headline-block{margin-top:47px;max-width:780px}
.eyebrow{font-size:17px;line-height:1.4;letter-spacing:.015em;text-transform:uppercase;margin:0 0 24px;white-space:normal}
.eyebrow span{color:#367ed0}.eyebrow b{font-weight:500;padding-inline:3px}
h1{font-size:clamp(37px,3.4vw,58px);line-height:1.08;color:#092753;letter-spacing:-.025em;font-weight:650;margin:0 0 31px}
.statement{font-size:19px;line-height:1.45;letter-spacing:-.014em;font-weight:500}
.statement p{margin:0}
.white-wave{position:absolute;z-index:2;left:0;right:0;bottom:-1px;width:100%;height:105px;display:block}
.services{position:relative;background:white;margin-top:-1px;z-index:3}
.services-grid{padding-top:22px;padding-bottom:42px;display:grid;grid-template-columns:1fr 1.18fr .9fr;gap:33px}
.service{min-width:0;display:grid;grid-template-columns:86px 1fr;align-items:start;gap:16px}
.service+.service{border-left:1px solid var(--line);padding-left:32px}
.service-icon{display:block;width:69px;height:69px;color:#0868bf}
.service-copy{min-width:0;border-left:1px solid var(--line);padding-left:15px;min-height:145px}
h2{font-size:17px;color:#0d2854;line-height:1.28;text-transform:uppercase;margin:0;font-weight:760;letter-spacing:-.015em;min-height:43px}
.underline{display:block;width:43px;border-top:2px solid #2789ec;margin:12px 0 14px}
.service p{font-size:15.5px;line-height:1.4;margin:0;letter-spacing:-.01em}
.service .qualification{color:#074e9e;margin-top:13px;font-size:14.2px;line-height:1.34}
.footer{border-top:1px solid var(--line);background:#fff}
.footer-grid{padding-top:16px;padding-bottom:19px;display:grid;grid-template-columns:1fr auto;column-gap:26px;row-gap:10px;font-size:13px;align-items:center}
.legal,.contact-links{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.sep{color:#a2b4ca}.contact-links a{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;color:#18395f;text-decoration:none}
.contact-links a:hover,.contact-links a:focus-visible{color:var(--blue);text-decoration:underline}
.contact-links svg{color:#0877d8;width:19px;height:19px}
.copyright{grid-column:1/-1;margin:2px 0 0;color:#526a82;font-size:12px}
@media(max-width:1250px){.container{width:calc(100% - 9%)}.brand img{width:310px}.hero{height:660px}.hero-visual{width:60%}.eyebrow{font-size:15px}.headline-block{max-width:690px}.statement{font-size:17px}.services-grid{gap:18px}.service{grid-template-columns:59px 1fr;gap:12px}.service+.service{padding-left:15px}.service-icon{width:53px;height:53px}.service-copy{padding-left:12px}h2{font-size:15px}.service p{font-size:13.5px}.service .qualification{font-size:12.5px}}
@media(max-width:860px){.hero{height:auto;min-height:695px}.container{width:calc(100% - 48px)}.hero-visual{width:95%;height:420px;right:-25%;left:auto;top:0;bottom:auto;opacity:.58;mask-image:linear-gradient(to bottom,black 40%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent 100%)}.brand{padding-top:30px}.brand img{width:min(310px,85%)}.headline-block{margin-top:82px;max-width:95%;padding-bottom:130px}.eyebrow{font-size:13px;max-width:470px}h1{font-size:clamp(36px,6.5vw,54px);line-height:1.11}.statement{font-size:17px;max-width:670px}.desktop-only{display:none}.white-wave{height:88px}.services-grid{padding-top:22px;grid-template-columns:1fr;gap:28px;padding-bottom:35px}.service,.service+.service{border-left:0;padding-left:0;grid-template-columns:66px 1fr;gap:18px}.service-icon{width:61px;height:61px}.service-copy{min-height:0}.service h2{min-height:0;font-size:17px}.service p{font-size:16px}.service .qualification{font-size:15px}.footer-grid{grid-template-columns:1fr}.contact-links{justify-content:flex-start}.copyright{grid-column:1}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.hero{min-height:640px}.hero-visual{right:-46%;width:150%;height:370px;opacity:.38}.brand img{width:min(278px,86%)}.headline-block{margin-top:88px;padding-bottom:120px}.eyebrow{font-size:12px;line-height:1.7;margin-bottom:20px}h1{font-size:clamp(33px,8.3vw,42px);letter-spacing:-.03em;margin-bottom:28px}.statement{font-size:16px;line-height:1.48}.white-wave{height:75px}.services-grid{padding-top:8px}.service,.service+.service{grid-template-columns:52px 1fr;gap:8px}.service-icon{width:49px;height:49px}.service-copy{padding-left:12px}.service h2{font-size:14px}.service p{font-size:14px}.service .qualification{font-size:13px}.underline{margin:11px 0}.legal{gap:8px}.footer-grid{font-size:12px}.contact-links{gap:10px}.contact-links a{font-size:13px}}

/* Selettore bilingue: piccolo e discreto, senza modificare il layout approvato. */
.language-switch{position:absolute;top:43px;right:0;z-index:5;display:flex;align-items:center;gap:3px;padding:4px;background:rgba(255,255,255,.94);border:1px solid #b6c9d9;border-radius:9px;box-shadow:0 2px 12px rgba(20,56,92,.12);font-size:14px;line-height:1;letter-spacing:.035em;font-weight:700}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:32px;color:#173d61;text-decoration:none;padding:8px 10px;border-radius:6px;transition:background-color .15s,color .15s}
.language-switch a[aria-current="page"]{background:#123c67;color:#fff;font-weight:800}
.language-switch span{color:#6e8ca4;font-weight:400}
.language-switch a:hover,.language-switch a:focus-visible{outline:2px solid #356b9d;outline-offset:1px}
@media(max-width:860px){.language-switch{top:36px;right:0}}
@media(max-width:480px){.language-switch{top:163px;right:0;font-size:13px}}
/* Controllo dell'andata a capo nei testi tedeschi più lunghi. */
html[lang="de"] .service p{overflow-wrap:break-word}
