:root{--ink:#1e1e1c;--cyan:#00cbea;--muted:#646464;--line:#e8e8e8;--header-height:85px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,.logos:focus-visible{outline:3px solid #008da4;outline-offset:5px}
.skip-link{position:fixed;top:10px;left:20px;padding:12px 18px;background:#fff;z-index:100;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header-inner{max-width:1440px;margin:auto;min-height:var(--header-height);padding:16px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:11px;font-weight:700;letter-spacing:1.6px;white-space:nowrap;min-height:44px;display:flex;align-items:center}
.brand span{color:var(--cyan);font-size:18px;margin-left:5px}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{position:relative;display:flex;align-items:center;min-height:44px;gap:4px;font-size:12px;white-space:nowrap}
.main-nav a:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav a:hover:after,.main-nav a.is-current:after,.main-nav a:focus-visible:after{transform:scaleX(1)}
.header-contact{font-size:12px;display:flex;align-items:center;gap:15px;min-height:44px}
.header-contact span{font-size:19px}
main{max-width:1440px;margin:auto}
.hero{text-align:center;padding:72px 24px 82px}
.hero h1{margin:0}
.hero-logo{display:block;width:310px;max-width:80%;height:auto;margin:auto}
.payoff{font-size:23px;letter-spacing:4px;margin:30px 0 32px;font-weight:400}
.payoff span{color:var(--cyan);display:inline-block;animation:appear .8s ease both}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.button{display:inline-flex;align-items:center;gap:48px;min-height:50px;padding:15px 24px;font-size:13px;border:1px solid var(--ink);border-radius:100px;transition:background .2s}
.button:hover{background:var(--cyan)}
.division{margin:0 6%;padding:72px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:38px 70px}
.eyebrow,.band-heading h3{font-size:10px;line-height:1.6;font-weight:500;letter-spacing:2px;margin:0}
.division-number{color:var(--muted);letter-spacing:0;margin-right:16px}
.division h2{font-weight:500;font-size:clamp(30px,3.65vw,50px);line-height:1.13;letter-spacing:-2px;margin:22px 0 0;overflow-wrap:normal}
.division h2 span,.contact h2 span{color:var(--cyan)}
.division-lead{font-size:clamp(23px,2.5vw,32px);line-height:1.3;letter-spacing:-.7px;margin:0 0 20px}
.division-copy{font-size:15px;line-height:1.85;color:var(--muted);max-width:540px;margin:0}
.service-list{list-style:none;margin:27px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}
.service-list li{font-size:12px;line-height:1.5;display:flex;gap:10px;align-items:baseline}
.service-list li:before{content:"";width:5px;height:5px;flex:0 0 5px;background:var(--cyan);border-radius:50%;position:relative;top:-1px}
.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:12px;border-bottom:1px solid #a8a8a8}
.text-link span{font-size:20px}
.text-link:hover{border-color:var(--cyan)}
.representations{grid-column:1/-1;border-top:1px solid var(--line);padding-top:30px;margin-top:15px;min-width:0}
.band-heading{display:flex;align-items:center;justify-content:space-between}
.mobile-hint{display:none}
.logos{display:flex;justify-content:center;flex-wrap:wrap;gap:20px 40px;padding-top:27px}
.logo-card{display:flex;align-items:center;justify-content:center;min-width:145px;flex:1 0 145px;max-width:240px;height:calc(var(--logo-desktop,64px) + 40px)}
.logo-card img{max-height:var(--logo-desktop,64px);max-width:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(100%)!important;transition:filter .3s,transform .3s}
.logo-card:hover img,.logo-card:focus-visible img,.logo-card.active img{filter:none!important;transform:scale(1.035)}
.contact{border-top:1px solid var(--line);padding:70px 6% 85px;background:#fafafa}
.contact-line{display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact h2{font-size:clamp(48px,7vw,100px);letter-spacing:-5px;margin:18px 0 25px;font-weight:500}
.round{background:var(--cyan);border-radius:50%;width:70px;height:70px;display:grid;place-items:center;font-size:32px;transition:transform .2s;flex-shrink:0}
.round:hover{transform:rotate(8deg)}
.details{display:flex;gap:35px;font-size:17px;flex-wrap:wrap}
.details a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
.details a:hover{text-decoration:underline}
.site-footer{border-top:1px solid var(--line);padding:24px 6%;font-size:10px;color:var(--muted);display:flex;gap:25px;justify-content:space-between;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:1000px){.header-inner{padding-right:4%;padding-left:4%;gap:18px}.main-nav{gap:20px}.main-nav a{font-size:11px}.brand{font-size:10px;letter-spacing:1px}.division{gap:38px 35px}.division h2{font-size:clamp(28px,4vw,40px)}}
@media(max-width:760px){:root{--header-height:116px}.header-inner{display:grid;grid-template-columns:1fr auto;gap:0 15px;padding:8px 24px 10px}.brand{grid-column:1}.header-contact{grid-column:2;grid-row:1}.main-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:10px;padding-top:3px}.main-nav a{min-height:49px;justify-content:center;flex-direction:column;gap:3px;font-size:12px}.main-nav a span{font-size:9px;color:var(--muted);letter-spacing:.5px}.main-nav a:after{bottom:0;left:15%;right:15%}.hero{padding:56px 24px 64px}.hero-logo{width:260px}.payoff{font-size:20px;letter-spacing:3.5px;margin:27px 0 28px}.division{margin:0 24px;padding:45px 0;grid-template-columns:1fr;gap:29px}.division h2{font-size:clamp(28px,7.7vw,47px);letter-spacing:-1.3px;margin-top:17px}.division-lead{font-size:25px}.division-copy{font-size:14px;line-height:1.85}.service-list{gap:12px 18px;margin:24px 0 19px}.service-list li{font-size:12px}.representations{margin:4px -24px -4px;padding:25px 0 0;overflow:hidden}.band-heading{padding:0 24px}.mobile-hint{display:block;font-size:10px;color:var(--muted)}.logos{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:24px max(24px,calc((100% - 220px)/2)) 10px;scrollbar-width:none}.logos::-webkit-scrollbar{display:none}.logo-card{flex:0 0 220px;min-width:220px;scroll-snap-align:center;height:calc(var(--logo-mobile,52px) + 60px);border-radius:20px;background:#f8f8fa}.logo-card img{max-height:var(--logo-mobile,52px);max-width:180px}.contact{padding:48px 24px 54px}.contact h2{font-size:clamp(42px,12vw,65px);letter-spacing:-2.7px}.round{width:48px;height:48px;font-size:25px}.details{flex-direction:column;gap:0;font-size:16px}.site-footer{padding:22px 24px;align-items:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Loghi delle divisioni: proporzioni e colori originali. */
.division .division-logo-heading{margin-top:24px;line-height:1}
.division-logo{display:block;width:320px;max-width:100%;height:auto}
@media(max-width:760px){.division .division-logo-heading{margin-top:18px}.division-logo{width:250px}}
