.fa-menu-toggle{display:none}
.fa-mobile-menu{color:#f4f1e8;background:#141c28;border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;overscroll-behavior:contain}
.fa-mobile-menu::backdrop{background:#141c28}
.fa-mobile-menu[open]{display:flex;flex-direction:column;overflow-y:auto;padding:20px 26px max(28px,env(safe-area-inset-bottom));gap:30px}
body.fa-menu-open{overflow:hidden}
.fa-mobile-menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}
.fa-mobile-brand{display:block;width:190px;text-decoration:none}
.fa-mobile-menu .fa-logo-art{background:transparent url('affronti-logo-bianco.svg') center/contain no-repeat}
.fa-menu-close,.fa-menu-toggle{border:0;border-radius:0;background:none;color:inherit;padding:12px 0;align-items:center;gap:12px;min-height:48px;font:500 12px/1 var(--fa-sans);letter-spacing:.08em;text-transform:uppercase}
.fa-menu-close{display:flex}.fa-menu-close span,.fa-menu-toggle span{font-size:27px;font-weight:400;color:#51acc0;line-height:1}
.fa-mobile-links{display:flex;flex-direction:column;margin:auto 0;flex-shrink:0}
.fa-mobile-links a{display:grid;grid-template-columns:25px 1fr 25px;gap:10px;align-items:baseline;text-decoration:none;border-bottom:1px solid #344150;padding:21px 0;font-size:clamp(27px,7.5vw,52px);font-weight:400;line-height:1.1;letter-spacing:-.045em;text-transform:uppercase}
.fa-mobile-links a:first-child{border-top:1px solid #344150}
.fa-menu-number{font:10px/1 var(--fa-mono);letter-spacing:0;color:#51acc0}
.fa-menu-arrow{font-size:24px;color:#51acc0;text-align:right}
.fa-mobile-menu-bottom{display:grid;gap:20px;flex-shrink:0}
.fa-menu-whatsapp{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#51acc0;color:#141c28;border:1px solid #51acc0;border-radius:0;width:100%;min-height:56px;padding:16px 18px;font-size:14px;font-weight:500;text-align:left}
.fa-menu-whatsapp span{font-size:22px}
.fa-mobile-menu-bottom p{font:9px/1.8 var(--fa-mono);color:#b4bdc7;letter-spacing:.015em}
@media(max-width:900px){
 .fa-header-band .fa-mobile-nav-ready{display:flex;align-items:center;justify-content:space-between;min-height:84px;padding-block:10px;gap:18px;width:calc(100% - 40px)}
 .fa-header-band .fa-mobile-nav-ready .fa-header-brand{width:190px;max-width:57%}
 .fa-mobile-nav-ready .fa-nav{display:none}
 .fa-menu-toggle{display:flex;flex-shrink:0}
 html{scroll-padding-top:24px}
 .fa-mobile-menu:focus-visible{outline:none}
}
@media(prefers-reduced-motion:no-preference){
 .fa-mobile-menu[open]{animation:fa-menu-appear .28s ease-out both}
 .fa-mobile-menu[open] .fa-mobile-links a{animation:fa-menu-link .4s ease-out both}
 .fa-mobile-menu[open] .fa-mobile-links a:nth-child(2){animation-delay:.05s}
 .fa-mobile-menu[open] .fa-mobile-links a:nth-child(3){animation-delay:.1s}
 .fa-mobile-menu[open] .fa-mobile-links a:nth-child(4){animation-delay:.15s}
 @keyframes fa-menu-appear{from{opacity:0}to{opacity:1}}
 @keyframes fa-menu-link{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* Smartphone: larger logo, closer to the left edge, icon-only menu. */
@media(max-width:900px){
 .fa-header-band .fa-mobile-nav-ready{width:calc(100% - 24px);gap:12px}
 .fa-header-band .fa-mobile-nav-ready .fa-header-brand{width:232px;max-width:76%;margin-left:-16px}
 .fa-menu-toggle{width:48px;height:48px;padding:10px;justify-content:center}
 .fa-menu-toggle .fa-hamburger{display:flex;flex-direction:column;justify-content:space-between;width:26px;height:18px}
 .fa-hamburger i{display:block;width:100%;height:2px;background:#141c28;border-radius:1px}
}
