@font-face{font-family:Montserrat;src:url('assets/css-Montserrat-Regular.ttf')}@font-face{font-family:Montserrat;src:url('assets/css-Montserrat-SemiBold.ttf');font-weight:600}@font-face{font-family:Montserrat;src:url('assets/css-Montserrat-Bold.ttf');font-weight:700}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#202125;background:#fff;font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #e91c48;outline-offset:5px}header{height:95px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #ededed}.brand img{width:190px;display:block}nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:600}.nav-contact{border-bottom:1px solid #d71d43;padding:8px 0;margin-left:15px}nav a:hover{color:#d71d43}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:55% 45%;min-height:650px}.hero-copy{padding:65px 7% 0 9%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px;margin:0 0 25px}.dot{width:7px;height:7px;background:#e61e49;border-radius:50%;display:inline-block}h1{font-size:clamp(38px,4.8vw,73px);line-height:1.09;letter-spacing:-3px;font-weight:600;margin:30px 0}em{font-style:normal;color:#d91c45}.intro{max-width:470px;font-size:17px;color:#666;line-height:1.8}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;background:#d91c45;color:white;padding:16px 22px;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:600;border:0}.button:hover{background:#b91337}.text-link{font-size:12px;border-bottom:1px solid #aaa;padding:8px 0}.hero-foot{margin-top:55px;border-top:1px solid #ddd;padding:20px 0;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;gap:20px}.hero-visual{position:relative;overflow:hidden;background:#15181b;margin:25px 25px 25px 0;min-height:580px}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;filter:saturate(.45)}.visual-shade{position:absolute;inset:0;background:linear-gradient(0deg,#141518 0%,transparent 65%,#14151888)}.visual-label{position:absolute;top:30px;left:30px;color:white;font-size:9px;letter-spacing:1.5px}.visual-bottom{position:absolute;bottom:40px;left:35px;right:30px;color:white;display:flex;align-items:end;justify-content:space-between}.visual-bottom span{font-size:36px;line-height:1.15;font-weight:600;letter-spacing:-1px}.visual-bottom small{font-size:8px;letter-spacing:1.5px}.discipline{display:flex;justify-content:space-around;align-items:center;gap:15px;background:#f3f2f0;padding:25px 5%;font-size:10px;letter-spacing:1px;font-weight:600}.discipline b{color:#d91c45;font-size:20px}.section{padding:95px 7%;scroll-margin-top:10px}h2{font-size:clamp(30px,3.5vw,51px);line-height:1.17;letter-spacing:-1.8px;font-weight:600;margin:0}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:110px;padding-bottom:110px}.approach-copy>p{margin:0 0 20px;font-size:16px}.muted{color:#777}.steps{border-top:1px solid #ddd;display:flex;justify-content:space-between;gap:15px;padding-top:25px;margin-top:35px}.steps>div{display:flex;gap:10px;font-size:11px}.steps b{color:#d91c45}.steps small{font-size:9px;color:#777}.pale{background:#f5f4f2}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head>p{max-width:350px;color:#777;font-size:14px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dcdad7;border:1px solid #dcdad7}.service-card{background:#f5f4f2;border:0;text-align:left;padding:30px;min-height:245px;position:relative;transition:background .2s}.service-card:hover{background:#fff}.service-number{font-size:10px;color:#a5a09d}.service-card h3{font-size:19px;line-height:1.4;font-weight:600;max-width:270px;margin:22px 0 12px}.service-card p{font-size:12px;line-height:1.8;color:#777;max-width:270px;margin:0 0 15px}.arrow{position:absolute;right:25px;top:25px;color:#d91c45;font-size:20px}.dark{background:#1d2025;color:#fff}.dark .section-head>p{color:#b4b7be}.dark em{color:#ff5a7b}.tech-layout{display:grid;grid-template-columns:35% 1fr;gap:7%}.tech-tab{display:flex;width:100%;text-align:left;background:none;color:#b1b3ba;border:0;border-bottom:1px solid #45474c;padding:23px 5px;gap:20px;align-items:center;font-size:15px}.tech-tab small{font-size:10px}.tech-tab.active{color:white;border-bottom:2px solid #f0375e}.tech-tab.active small{color:#ff5a7b}#tech-detail{display:grid;grid-template-columns:47% 1fr;gap:27px;align-items:center}#tech-detail img{width:100%;aspect-ratio:1;object-fit:cover}#tech-detail h3{font-size:22px;line-height:1.4;margin-top:0}#tech-detail p{font-size:12px;color:#b4b7be}#tech-detail button{background:none;color:white;border:0;border-bottom:1px solid #ff5a7b;padding:10px 0;font-size:12px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-row button{background:white;border:1px solid #ddd;padding:10px 17px;border-radius:25px;font-size:11px}.filter-row button.active{background:#22252a;color:white;border-color:#22252a}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.sector-card{border:0;background:#fff;text-align:left;padding:0}.sector-card img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;background:#eee;transition:filter .2s}.sector-card:hover img{filter:brightness(.85)}.sector-card h3{font-size:13px;display:flex;justify-content:space-between;gap:10px;margin:13px 0 20px;font-weight:600}.sector-card h3 span{color:#d91c45}.partners{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:#e5e3df;border:1px solid #e5e3df}.partners a{background:white;display:flex;align-items:center;justify-content:center;min-height:110px;padding:20px}.partners img{max-width:100%;width:100%;height:65px;object-fit:contain}.contact{background:#f2e9e8}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.email{display:inline-block;font-size:20px;margin:30px 0 55px;border-bottom:1px solid #bda6a7}.offices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfc0c0;padding-top:30px;gap:30px}.offices article>span{color:#b58f96;font-size:10px}.offices h3{font-size:20px;margin:12px 0}.offices p{font-size:13px;color:#665e60}footer{background:#191c20;color:#a3a6ad;padding:45px 7% 25px;font-size:11px}footer img{width:170px}footer>p{margin:15px 0 30px}footer>div{display:flex;gap:30px;align-items:center;border-top:1px solid #3b3d41;padding-top:25px}footer>div span{margin-right:auto}footer small{display:block;font-size:9px;margin-top:25px;color:#858a93}dialog{border:0;width:min(780px,92vw);max-height:85vh;padding:50px;color:#25272c;font-family:Montserrat;box-shadow:0 15px 70px #0004}dialog::backdrop{background:#10151dbb;backdrop-filter:blur(3px)}dialog h2{font-size:32px;padding-right:20px}dialog #dialog-text{font-size:14px;line-height:1.9;white-space:pre-line;margin:25px 0}dialog .close{position:absolute;right:18px;top:10px;font-size:30px;background:none;border:0}body.modal-open{overflow:hidden}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:1100px){nav{gap:15px;font-size:10px}.brand img{width:155px}.hero-copy{padding-top:45px}.hero-foot{font-size:7px}.actions{gap:15px}.text-link{font-size:10px}.partners{grid-template-columns:repeat(4,1fr)}.tech-layout{gap:4%}#tech-detail{grid-template-columns:1fr 1fr}.sector-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){header{height:75px;padding:0 6%}.menu-toggle{display:block;border:0;background:none;font-size:12px}.menu-toggle span{margin-left:10px}nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:20px 6%;box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch;font-size:14px;gap:18px}nav.open{display:flex}.nav-contact{margin:0}.hero{display:block}.hero-copy{padding:40px 7% 0}h1{font-size:48px;letter-spacing:-2px}.intro{font-size:15px}.actions{flex-wrap:wrap}.hero-foot{margin-top:35px;font-size:7px}.hero-visual{margin:0 6% 25px;min-height:350px}.visual-bottom span{font-size:30px}.discipline{flex-wrap:wrap;font-size:8px;gap:10px}.discipline b{font-size:14px}.section{padding:60px 7%}.approach{grid-template-columns:1fr;gap:30px}.approach-copy>p{font-size:14px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:23px;min-height:235px}.service-card h3{font-size:16px}.tech-layout{grid-template-columns:1fr;gap:30px}#tech-tabs{display:flex;overflow-x:auto}.tech-tab{min-width:160px;padding:15px;font-size:12px}.tech-tab small{display:none}#tech-detail{gap:20px}#tech-detail h3{font-size:18px}.sector-grid{grid-template-columns:1fr 1fr;gap:18px}.partners a{min-height:85px;padding:12px}.partners img{height:50px}.contact-top{align-items:start;flex-direction:column}.offices{grid-template-columns:1fr;gap:20px}.offices article{border-bottom:1px solid #d7c8c8;padding-bottom:15px}.offices h3{margin:5px 0}.email{font-size:17px;margin-bottom:35px}footer>div{flex-wrap:wrap;gap:20px}footer>div span{width:100%}dialog{padding:35px 25px}dialog h2{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

[hidden]{display:none!important}

/* Variante richiesta: header nello stesso colore del footer. */
header {
  background: #191c20;
  color: #f5f4f2;
  border-bottom-color: #3b3d41;
}
header nav a { color: #f5f4f2; }
header nav a:hover { color: #ff5a7b; }
header .nav-contact { border-bottom-color: #ff5a7b; }
header .menu-toggle { color: #f5f4f2; }
@media (max-width: 780px) {
  header nav {
    background: #191c20;
    box-shadow: 0 10px 20px #0004;
  }
}
