:root{--blue:#093965;--red:#c71e31;--ink:#142838;--muted:#526472;--line:#dbe2e7;--pale:#f2f5f7;--navy:#081d2c;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}p{font-size:1rem;line-height:1.7;color:var(--muted)}h1,h2,h3{font-weight:600;letter-spacing:-.045em}h2{font-size:clamp(2rem,3.1vw,3.25rem);line-height:1.12;margin-bottom:26px}h3{font-size:1.4rem;line-height:1.2}a:focus-visible,button:focus-visible{outline:3px solid #2c80bb;outline-offset:5px}::selection{background:#c71e31;color:white}
.header{min-height:106px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;position:relative;z-index:10;border-top:4px solid var(--red)}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand img{width:88px;height:88px;object-fit:contain}.brand>span{border-left:1px solid var(--line);padding-left:18px;font-size:14px;line-height:1.5;letter-spacing:.14em;color:var(--blue)}.brand b{font-size:12px;letter-spacing:.16em}.navigation{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}.navigation>a{padding:12px 0}.navigation>a:hover{color:var(--red)}.navigation .nav-contact{display:flex;gap:13px;align-items:center;border-left:1px solid var(--line);padding-left:25px;color:var(--red)}.menu-toggle{display:none;background:none;border:0;color:var(--blue);padding:12px}
.hero{position:relative;isolation:isolate;min-height:640px;height:calc(100svh - 150px);max-height:860px;display:flex;flex-direction:column;background:var(--navy);color:white}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-media img,.hero-media video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(4,19,32,.88),rgba(4,19,32,.64) 51%,rgba(4,19,32,.18)),linear-gradient(0deg,rgba(4,19,32,.8),transparent 25%)}.hero-content{padding:75px 6%;margin-block:auto;animation:reveal .75s ease-out both}.eyebrow{font-family:monospace;font-size:.8rem;line-height:1.5;text-transform:uppercase;letter-spacing:.11em;display:flex;align-items:center;gap:12px;font-weight:500;color:var(--blue);margin-bottom:27px}.eyebrow>span{width:21px;height:3px;background:var(--red);flex-shrink:0}.hero .eyebrow{color:#d8e2ea}.hero h1{font-size:clamp(3rem,5.7vw,5.7rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:28px}.hero h1 span{color:#d4dfe8}.hero-content>p:not(.eyebrow){font-size:1.15rem;color:#d1dce5;line-height:1.65;margin-bottom:34px;max-width:660px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--red);color:white;font-size:.88rem;font-weight:600;min-height:54px;padding:16px 23px;border:1px solid var(--red);transition:background .18s,color .18s}.button:hover{background:#a5192a;border-color:#a5192a}.button-light{border-color:#899ba9;background:transparent;color:inherit}.button-light:hover{background:white;color:var(--blue);border-color:white}.hero-bottom{padding:0 6% 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:12px monospace;letter-spacing:.08em;color:#c3d1dc}.hero-bottom>span{display:flex;align-items:center;gap:15px}.hero-bottom i{width:3px;height:3px;background:var(--red)}.hero-bottom button{display:flex;align-items:center;gap:8px;background:none;color:inherit;border:0;min-height:40px;font:12px monospace}.hero-bottom button:disabled{cursor:default}.domain-strip{display:flex;justify-content:space-between;gap:20px;background:var(--blue);color:#d9e4ed;padding:21px 6%;font-size:14px}.domain-strip>span:first-child{font:12px monospace;color:#fff;letter-spacing:.06em}
.section{padding:100px 6%;max-width:1800px;margin:0 auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;margin-bottom:3px}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.problem-card{position:relative;padding:33px 32px 35px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:264px;transition:background .18s}.problem-card:hover{background:var(--pale)}.problem-top{display:flex;justify-content:space-between;align-items:center;color:var(--blue);margin-bottom:28px}.problem-top>span{font:12px monospace;color:#7d8b97}.micro{font:12px monospace;letter-spacing:.075em;color:var(--muted);display:block;margin-bottom:12px}.problem-card h3{font-size:1.43rem;max-width:280px;margin-bottom:12px}.problem-card p{max-width:310px;font-size:.95rem;margin-bottom:5px;padding-right:20px}.card-arrow{position:absolute;bottom:27px;right:25px;color:var(--red)}
.divisions{background:var(--pale);max-width:none}.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.division{background:white}.division-image{height:265px;position:relative;overflow:hidden}.division-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.6)}.division-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(3,17,29,.6))}.division-image>span{position:absolute;bottom:24px;left:32px;color:white;font:12px monospace;letter-spacing:.12em;z-index:1}.division-body{padding:36px 38px 35px}.division-body h3{font-size:2.2rem;margin-bottom:18px}.division-body>p{max-width:490px}.tags{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 30px}.tags span{font:12px monospace;border:1px solid var(--line);padding:8px 10px;color:var(--muted)}.text-link{font-size:.9rem;font-weight:600;color:var(--blue);display:inline-flex;align-items:center;gap:23px}.text-link:hover{color:var(--red)}
.integration{background:var(--navy);color:white;max-width:none;display:grid;grid-template-columns:.9fr 1.25fr;gap:65px;align-items:center}.integration .eyebrow{color:#b9cad8}.integration h2{font-size:clamp(2.2rem,3.5vw,3.6rem)}.integration h2>span{color:#91a8ba}.integration-copy>p:not(.eyebrow){color:#b5c4d0;max-width:430px}.integration .button{margin-top:17px}.architecture{background:#0e2a3d;padding:25px;color:#e0e9f0;border:1px solid #294356}.diagram-header{display:flex;justify-content:space-between;gap:20px;font:12px monospace;letter-spacing:.06em;color:#a9bece;padding-bottom:27px;border-bottom:1px solid #294356}.architecture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:29px}.sensor-node{display:flex;align-items:flex-start;flex-direction:column;gap:15px;border:1px solid #395567;padding:18px 13px;background:#122f43;position:relative}.sensor-node svg{color:#9db9cd}.sensor-node strong{font-size:14px;font-weight:500;line-height:1.35}.sensor-node>span{font-size:12px;color:#a8bdcd;line-height:1.5}.sensor-node:after{content:'';position:absolute;left:50%;bottom:-23px;width:1px;height:22px;background:#7694aa}.architecture-bus{border-top:1px solid #7694aa;margin:22px 16.5% 0;position:relative;height:67px;display:flex;justify-content:center;align-items:center}.architecture-bus:before{content:'';height:67px;width:1px;background:#7694aa;position:absolute;top:0}.architecture-bus span{position:relative;background:#0e2a3d;padding:7px 10px;font:12px monospace;color:#afc2d1;text-align:center;max-width:240px}.operator-node{position:relative;display:flex;align-items:center;gap:15px;border:1px solid #be5360;background:#163349;padding:22px 19px}.operator-node>svg{color:#c7d8e5;flex-shrink:0}.operator-node strong{display:block;font-size:15px;font-weight:500}.operator-node div>span{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:#afc2d1}.operator-label{font:12px monospace;margin-left:auto;color:#a9bdcd}.diagram-note{font-size:12px;color:#9bb0c0;margin:20px 0 0;line-height:1.6}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px}.process-grid>div{border-top:1px solid var(--line);padding-top:23px}.process-number{display:flex;align-items:center;justify-content:space-between;font:14px monospace;color:var(--red);margin-bottom:35px}.process-number svg{color:#8596a3}.process-grid h3{font-size:1.3rem;margin-bottom:15px}.process-grid p{font-size:.95rem;margin:0}.presence{background:var(--pale);max-width:none;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.presence-copy>p:not(.eyebrow){max-width:395px}.presence-copy .text-link{margin-top:15px}.map{border-bottom:1px solid var(--line);padding:0 0 17px}.map svg{width:100%;height:auto;min-height:200px}.map-caption{display:block;text-align:right;font:12px monospace;color:#687c8c;letter-spacing:.08em}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.location-grid>div>span{font:12px monospace;color:var(--red)}.location-grid h3{font-size:1.1rem;margin:12px 0}.location-grid p{font-size:.9rem;margin:0}.contact-band{background:var(--blue);color:white;padding:65px 6% 72px}.contact-band .eyebrow{color:#c3d3df}.contact-band>div{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-band h2{margin-bottom:0}.contact-band .button{min-width:210px}.footer{padding:62px 6% 25px;background:#061724;color:#c1ccd4}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:50px}.footer-brand{font-size:20px;color:white;letter-spacing:.06em;line-height:1.3}.footer-top p:not(.footer-brand){font-size:14px;color:#99acba}.footer-top .micro{color:#7f99ad;margin-bottom:24px}.footer-top a{display:block;font-size:14px;margin-bottom:17px}.footer-top a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #254052;padding-top:24px;font-size:12px;color:#96aab9}.legal{font-size:12px;color:#8198a9;max-width:960px;margin:20px 0 0}
.detail-hero{background:var(--pale);max-width:none;padding-top:70px;padding-bottom:75px;border-bottom:1px solid var(--line)}.breadcrumb{display:block;font:12px monospace;color:#738694;margin-bottom:40px}.detail-hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.06;max-width:960px;margin-bottom:30px;color:var(--blue)}.detail-hero>p:not(.eyebrow){max-width:720px;font-size:1.2rem;margin-bottom:30px}.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:65px;padding-bottom:65px}.detail-intro h2{font-size:2rem;margin:0}.detail-intro>p{font-size:1.1rem;margin-bottom:0}.wide-image{height:370px;position:relative;background:var(--navy)}.wide-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.6)}.wide-image>span{position:absolute;bottom:18px;left:6%;font:12px monospace;color:white;background:#081d2cbb;padding:9px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-top:40px}.detail-grid article{padding:38px 45px 42px 0;border-bottom:1px solid var(--line)}.detail-grid article:nth-child(even){padding-left:45px;border-left:1px solid var(--line)}.index{font:13px monospace;color:var(--red);display:block;margin-bottom:26px}.detail-grid h2{font-size:1.8rem}.technical{display:block;font:12px monospace;line-height:1.7;color:var(--blue);margin-top:22px}.diagram-section{background:var(--navy);max-width:none;color:white;display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center}.diagram-section .eyebrow{color:#b9cad8}.responsibility{background:var(--pale);max-width:none}.responsibility>p:last-child{font-size:1.2rem;max-width:850px}.related>div{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.related a{border-bottom:1px solid var(--line);padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--blue)}.related a:hover{color:var(--red)}.module-section{background:var(--navy);color:white;max-width:none}.module-section .eyebrow{color:#b9cad8}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:35px}.module-grid>div{padding:25px;border:1px solid #365365}.module-grid span{display:block;font:12px monospace;color:#afbfca;margin-bottom:30px}.module-grid strong{display:block;font-weight:500;font-size:18px;line-height:1.4}.module-grid p{color:#a8bbc9;font-size:14px;margin:20px 0 0}.structure-parent{background:var(--blue);color:white;text-align:center;padding:30px;font-weight:600;letter-spacing:.12em;margin:45px 0 0}.structure-children{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:30px}.structure-children>a{border:1px solid var(--line);padding:30px;position:relative}.structure-children>a>span{font:12px monospace;color:var(--red);display:block;margin-bottom:23px}.structure-children>a>svg{position:absolute;right:25px;top:25px;color:var(--blue)}.italy-note{background:var(--pale);border-left:3px solid var(--red);padding:18px;font-size:15px;line-height:1.5}.italy-note small{font-size:13px;color:var(--muted)}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.contact-options article{padding:30px;border:1px solid var(--line);display:flex;flex-direction:column}.contact-options h2{font-size:1.9rem}.contact-options p{font-size:1rem}.contact-guide{padding-top:20px;border-top:1px solid var(--line);margin-top:auto}.contact-options .button{margin-top:15px}.contact-note{background:var(--pale);max-width:none}.contact-note h2{font-size:2rem}.contact-note p{max-width:850px}.contact-note a{color:var(--blue);font-size:1.2rem}
@keyframes reveal{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.section,.hero-content,.contact-band,.footer{padding-left:max(6%,calc((100vw - 1500px)/2));padding-right:max(6%,calc((100vw - 1500px)/2))}}
@media(max-width:1150px){.brand>span{display:none}.navigation{gap:18px}.navigation .nav-contact{padding-left:18px}.integration,.presence,.diagram-section{gap:35px}.architecture{padding:18px}.sensor-node{padding:15px 10px}.section{padding-top:75px;padding-bottom:75px}.contact-options{gap:18px}.contact-options article{padding:22px}.hero{min-height:600px}.hero h1{font-size:clamp(3rem,6.3vw,5rem)}}
@media(max-width:850px){.header{min-height:90px}.brand img{width:77px;height:77px}.brand>span{display:block}.menu-toggle{display:block}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 6%;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #081d2c15}.navigation.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.navigation>a{padding:15px 0}.navigation .nav-contact{padding-left:0;border:0}.integration,.presence,.diagram-section{grid-template-columns:1fr;gap:40px}.integration-copy>p:not(.eyebrow){max-width:600px}.problem-card{padding:25px}.problem-grid{grid-template-columns:repeat(2,1fr)}.section-heading{gap:30px}.section-heading>p{max-width:280px}.process-grid{grid-template-columns:1fr 1fr;gap:35px}.domain-strip>span:first-child{display:none}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.module-grid{grid-template-columns:1fr 1fr}.contact-options{grid-template-columns:1fr}.contact-options article{padding:30px}.contact-options .button{align-self:flex-start}.contact-guide{margin-top:5px}.hero{height:auto;min-height:620px}.hero h1{font-size:clamp(2.8rem,7.2vw,4.4rem)}.detail-intro{gap:30px}.division-body{padding:28px}.division-body h3{font-size:1.9rem}}
@media(max-width:560px){.header{padding:0 20px}.brand img{width:70px;height:70px}.brand{gap:12px}.brand>span{font-size:12px;padding-left:12px}.brand b{font-size:12px}.hero{min-height:760px;height:auto}.hero-media{height:360px}.hero-media img,.hero-media video{object-position:61% center}.hero-shade{background:linear-gradient(180deg,rgba(8,29,44,.12),rgba(8,29,44,.3) 180px,#081d2c 355px)}.hero-content{padding:240px 22px 22px;margin:0}.hero-content .eyebrow{font-size:12px;margin-bottom:22px}.hero h1{font-size:clamp(2rem,7.9vw,2.75rem);line-height:1.1}.hero-content>p:not(.eyebrow){font-size:1rem}.desktop-break{display:none}.hero-actions{flex-direction:column}.hero-actions .button{width:100%;font-size:13px;gap:10px}.hero-bottom{padding:15px 22px 23px;flex-wrap:wrap;font-size:12px}.hero-bottom>span{gap:10px}.hero-bottom button{font-size:12px}.domain-strip{padding:19px 22px;gap:12px;font-size:12px}.section{padding:60px 22px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:23px;max-width:none}.eyebrow{font-size:12px;margin-bottom:22px}.problem-grid{grid-template-columns:1fr}.problem-card{min-height:225px;padding:25px}.problem-top{margin-bottom:24px}.problem-card h3{max-width:none;font-size:1.5rem}.problem-card p{max-width:95%}.division-grid{grid-template-columns:1fr;gap:25px}.division-image{height:230px}.division-body{padding:28px}.division-body h3{font-size:2rem}.architecture{padding:18px 12px}.diagram-header{font-size:12px;gap:12px}.architecture-grid{gap:6px}.sensor-node{padding:12px 7px;gap:12px}.sensor-node strong{font-size:12px}.sensor-node>span{font-size:12px}.sensor-node svg{width:25px;height:25px}.architecture-bus span{font-size:12px;padding:6px;min-width:145px}.operator-node{padding:18px 10px;gap:10px}.operator-node strong{font-size:13px}.operator-node div>span{font-size:12px}.operator-label{display:none}.diagram-note{font-size:12px}.process-grid{gap:30px 22px;margin-top:30px}.process-number{margin-bottom:24px}.process-grid h3{font-size:1.15rem}.process-grid p{font-size:.9rem}.location-grid{gap:20px}.location-grid h3{font-size:1rem}.location-grid p{font-size:.85rem}.map svg{min-height:155px}.map-caption{font-size:12px}.contact-band{padding:50px 22px}.contact-band>div{display:block}.contact-band .button{margin-top:28px}.footer{padding:45px 22px 24px}.footer-top{gap:20px}.footer-top a{font-size:12px;overflow-wrap:anywhere}.footer-bottom{flex-direction:column;font-size:12px;gap:12px}.detail-hero h1{font-size:2.65rem}.detail-hero>p:not(.eyebrow){font-size:1.1rem}.detail-intro{grid-template-columns:1fr;gap:20px}.detail-grid{grid-template-columns:1fr}.detail-grid article,.detail-grid article:nth-child(even){padding:30px 0;border-left:0}.wide-image{height:240px}.wide-image>span{font-size:12px;left:22px;right:22px}.related>div{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr;gap:12px}.module-grid>div{padding:18px}.module-grid strong{font-size:16px}.module-grid p{font-size:13px}.structure-children{grid-template-columns:1fr}.structure-parent{font-size:13px;padding:23px 15px}.contact-options{gap:20px}.contact-options article{padding:26px}.contact-note a{font-size:1rem}.contact-note h2{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
