@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-wdth-italic.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap}
html{scroll-behavior:smooth}

body{margin:0;background:#fff}
a{color:#003399}a:hover{color:#0B1630}
.lbl{font-size:12px;letter-spacing:3px;font-weight:700;text-transform:uppercase}
.cond{font-stretch:75%}
.hero{position:relative;overflow:hidden;background:#06122E !important;color:#fff;display:flex;flex-direction:column;min-height:860px}
.hero-img{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:heroFade 24s infinite;transform:scale(1.04)}
.hero-scrim{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(6,18,46,0.72)}
.hero-copy{position:relative;z-index:2;margin-top:auto;padding-top:80px}
.hero h1,.hero p,.hero .lbl{text-shadow:0 2px 18px rgba(0,0,0,0.45)}
.hero-img.i2{animation-delay:6s}.hero-img.i3{animation-delay:12s}.hero-img.i4{animation-delay:18s}
@keyframes heroFade{0%{opacity:0;transform:scale(1.04)}4%{opacity:1}25%{opacity:1}30%{opacity:0;transform:scale(1.12)}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.hero-img{animation:none}.hero-img.i1{opacity:1}}
.navl a{color:#fff;text-decoration:none;font-size:13px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;padding:14px 0}.navl a:hover{color:#AFC2F0}
.navl a.cta-w{color:#0B1630;padding:0 28px}.navl a.cta-w:hover{color:#fff}
.intro{--s:2;visibility:visible;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;z-index:50;border:0;padding:0;margin:0;cursor:pointer;color:#fff;font:inherit;background:rgba(6,18,46,1);animation:introBg 5.2s ease forwards,introGone 0s linear 5.2s forwards}
.intro-logo{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:14px;text-align:left;transform:translate(-50%,-50%) scale(var(--s));opacity:0;animation:introMove 5.2s cubic-bezier(.65,0,.35,1) forwards}
.intro-txt{position:relative;display:flex;flex-direction:column;gap:6px}
.intro-teco{position:absolute;top:100%;left:0;margin-top:12px;white-space:nowrap;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#AFC2F0;opacity:0;animation:introTeco 5.2s ease forwards}
@keyframes introBg{0%,42%{background:rgba(6,18,46,1)}86%,100%{background:rgba(6,18,46,0)}}
@keyframes introMove{0%{opacity:0;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--s))}8%,42%{opacity:1;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--s))}90%{opacity:1;left:max(32px,calc((100% - 1424px)/2 + 32px));top:18px;transform:translate(0,0) scale(1)}100%{opacity:0;left:max(32px,calc((100% - 1424px)/2 + 32px));top:18px;transform:translate(0,0) scale(1)}}
@keyframes introTeco{0%,10%{opacity:0}17%,34%{opacity:1}41%,100%{opacity:0}}
@media (max-width: 760px){.intro{--s:1}
header a > img,.intro-logo > img{width:48px!important;height:48px!important}
header a span img,.intro-txt img{height:22px!important}
header a span span,.intro-txt > span:not(.intro-teco){font-size:13px!important}}
@media (prefers-reduced-motion: reduce){.intro{display:none}}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
.gal4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ico{display:block;flex:0 0 48px;width:48px;height:48px;background:#fff}
@media (max-width: 760px){.gal,.gal4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cards{grid-template-columns:minmax(0,1fr)}}
.cta{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 28px;font-size:13px;letter-spacing:2.5px;font-weight:800;text-transform:uppercase;text-decoration:none;box-sizing:border-box}
.cta-w{background:#fff;color:#0B1630}.cta-w:hover{background:#003399;color:#fff}
.cta-b{background:#003399;color:#fff}.cta-b:hover{background:#0B1630;color:#fff}
.cta-o{border:2px solid #fff;color:#fff}.cta-o:hover{background:#fff;color:#0B1630}
.row a{color:inherit;text-decoration:none}
.field{display:flex;flex-direction:column;gap:8px;flex:1 1 240px;min-width:0}
.field label{font-size:11px;letter-spacing:2.5px;color:#9AA6C2;font-weight:700;text-transform:uppercase}
.field input,.field select,.field textarea{font:inherit;font-size:17px;color:#fff;background:transparent;border:0;border-bottom:2px solid #4A5A80;border-radius:0;padding:10px 0;min-height:48px;box-sizing:border-box;width:100%}
.field select option{color:#0B1630}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:#fff}
@media (max-width: 760px){
.navl a:not(.cta){display:none}
.hero{min-height:620px !important}
.hero-copy{padding-top:48px}
h1,h2{overflow-wrap:break-word;hyphens:manual}
#contatti h2{font-size:48px !important}
#studio h2{hyphens:none;font-size:36px !important}
.pad{padding-top:64px !important;padding-bottom:64px !important}
}

@keyframes introGone{to{visibility:hidden}}
.site{font-family:Archivo,system-ui,sans-serif;color:#0B1630;background:#fff}
.navl a[aria-current]{color:#AFC2F0}
.navl a.cta-w[aria-current]{color:#0B1630}
.mnav{display:none}
.phead{background:#06122E;color:#fff;position:relative}
.phead-t{max-width:1360px;margin:0 auto;padding:72px 32px 80px;display:flex;flex-direction:column;gap:22px}
.phead-t h1{margin:0;font-size:clamp(44px,6.6vw,104px);line-height:.92;font-weight:900;text-transform:uppercase;font-stretch:75%;max-width:1100px}
.phead-t p{margin:0;font-size:19px;line-height:1.6;color:#D5DCEA;max-width:640px}
.more{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:2.5px;font-weight:800;text-transform:uppercase;text-decoration:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width: 760px){
.navl{display:none!important}
.mnav{display:block}
.mnav summary{list-style:none;cursor:pointer;font-size:13px;letter-spacing:2.5px;font-weight:800;text-transform:uppercase;border:2px solid #fff;padding:12px 18px;color:#fff}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] summary{background:#fff;color:#0B1630}
.mnav nav{position:absolute;left:0;right:0;top:100%;z-index:20;background:#06122E;display:flex;flex-direction:column;padding:4px 32px 28px;border-bottom:1px solid rgba(255,255,255,.25)}
.mnav nav a{color:#fff;text-decoration:none;font-size:15px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.phead-t{padding:48px 32px 56px}
}
