/* V53: layout della bozza approvata, contenuti e fotografie DUDA. */
:root{--red:#89131a;--red-dark:#6d0f15;--ink:#252b32;--tint:#f6f5f3;--max:1240px}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink)}
h1,h2,h3{color:var(--red)}
.contact-ribbon{background:var(--red);color:#fff;font-size:12px}
.contact-ribbon>.container{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:20px}
.contact-ribbon .container>div{display:flex;gap:28px}
.header-inner{min-height:112px;gap:20px}
.brand img{width:100px;height:100px}
.brand{min-width:260px}
.brand-name{font-size:20px;letter-spacing:0;color:var(--red)}
.brand-domain{font-size:14px}.brand-sub{font-size:13px}
.main-nav{gap:19px}.main-nav>a:not(.nav-cta){font-size:13px}
.main-nav .nav-cta{padding:14px 18px;border-radius:4px}
.home-intro{padding:0;border:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 25%,rgba(255,255,255,.82) 42%,rgba(255,255,255,.05) 67%),url('hero.webp') center 55%/cover no-repeat}
.home-intro>.container{min-height:480px;display:flex;align-items:center}
.intro-content{padding:42px 0;max-width:650px}
.home-intro h1{font-size:clamp(38px,4vw,58px);font-weight:750;line-height:1.05;letter-spacing:-.04em;margin:0 0 21px}
.home-intro h1 span{font-size:.85em}
.home-intro-lead{font-size:18px;line-height:1.6;max-width:490px;color:#333940}
.intro-kicker{font-size:11px;letter-spacing:.18em;margin-bottom:16px}
.intro-actions{gap:12px;max-width:610px}.intro-actions .button{padding:17px 22px;font-size:13px;min-height:54px}
.intro-note{font-size:12px;color:#5a5554}
.trust-grid{padding:22px 0;gap:24px}.trust-item{align-items:center}.trust-item strong{font-size:14px}.trust-item p{font-size:12px}.trust-symbol{font-size:30px}
.section{padding:50px 0}
#servizi .section-heading{display:block;text-align:center;margin-bottom:28px}
#servizi .section-heading>p{max-width:none;margin:13px 0 0}
.section-heading h2{font-size:32px;line-height:1.2}
.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-card{border:1px solid #e9e3e0;border-radius:6px;box-shadow:0 5px 16px #39232308}
.service-card>img{height:165px}
.service-card-body{padding:19px;gap:0}
.service-number{display:none}
.service-card h3{font-size:19px;line-height:1.2;margin:0 0 10px}
.service-card p{font-size:14px;line-height:1.55;margin:0 0 10px}
.service-card a{margin:0;font-size:13px}
.service-secondary{grid-column:span 2;display:grid;grid-template-columns:125px 1fr}
.service-secondary>img{height:100%;min-height:135px}
.service-secondary .service-card-body{padding:18px}
.hero{padding:40px 0 45px;background:white}
.photo-heading{text-align:center;margin-bottom:24px}.photo-heading h2{font-size:32px;margin:0 0 10px}.photo-heading p:last-child{color:#62666e;font-size:14px}
.hero-photo-frame{max-width:1240px!important;height:360px!important;aspect-ratio:auto!important;position:relative;border-radius:6px}
.hero-photo-panel{background:#f6f3ef}
.hero-three-images{gap:8px}
.welcome-section{background:#f6f5f3}
.welcome-grid{grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
.welcome-visual img{height:360px;object-fit:cover;object-position:35% center;border-radius:6px}
.section-copy h2{font-size:34px}.section-copy .intro-text{font-size:17px}.section-copy>p{font-size:15px}
.welcome-sticker{left:16px;bottom:20px;border-radius:4px}
.story-expand{margin:28px auto;border:1px solid #e5d9d5;border-radius:6px}
.story-expand>summary{padding:20px 24px;font-size:18px;font-weight:600;color:var(--red);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.story-expand>summary span{font-size:24px}.story-expand[open]>summary span{transform:rotate(45deg)}
.five-banners{padding:10px 0 24px}.five-banners-inner{padding:0 20px}.story-finale{padding-bottom:0}
.milano-local{padding:36px 0}
#milano-local-title{font-size:30px}
.cta-inner{padding-block:28px}.cta-inner h2{font-size:30px}
.review-card{padding:24px;border-radius:6px}.stars{color:#fbbc04!important}
.faq-grid h2,.quote-grid h2{font-size:32px}
.footer{background:#f4efeb;color:#403735}.footer h2,.footer h3{color:var(--red)}.footer a,.footer p,.footer-bottom{color:#514642}
.floating-whatsapp{background:#207547;color:#fff}
@media(max-width:1100px){.main-nav{gap:12px}.brand-copy .brand-name{font-size:17px}.brand{min-width:230px}.main-nav>a:not(.nav-cta){font-size:12px}}
@media(max-width:990px){.header-inner{min-height:106px}.brand img{width:96px;height:96px}.main-nav.is-open{top:100%}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-secondary{grid-column:span 1;display:flex}.service-secondary>img{height:165px;min-height:0}.home-intro>.container{min-height:460px}}
@media(max-width:700px){
.container{width:calc(100% - 36px)}.contact-ribbon .container{justify-content:center;min-height:30px}.contact-ribbon .container>span,.contact-ribbon a[href^="mailto"]{display:none}
.header-inner{min-height:100px}.brand img{width:88px;height:88px}.brand-name{font-size:17px!important;max-width:none}.brand-domain{font-size:13px}.brand-sub{font-size:12px}.brand{gap:9px;min-width:0}.brand-copy{flex-shrink:1}
.home-intro{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.83) 57%,rgba(255,255,255,.24)),url('hero.webp') 60% center/cover no-repeat}
.home-intro>.container{min-height:460px}.intro-content{padding:30px 0}.home-intro h1{font-size:41px;max-width:340px}.home-intro-lead{font-size:16px;max-width:310px}.intro-kicker{font-size:10px}
.intro-actions{display:grid;max-width:330px;gap:10px}.intro-actions .button{font-size:13px;padding:16px}.intro-note{font-size:11px;max-width:290px}
.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px 0}.trust-item{border:0;padding:0;gap:8px;align-items:flex-start}.trust-symbol{font-size:23px;min-width:24px}.trust-item strong{font-size:12px}.trust-item p{font-size:11px}
.section{padding:35px 0}.section-heading h2,#servizi .section-heading h2{font-size:28px}.section-heading>p{font-size:14px}
.services-grid{grid-template-columns:1fr;gap:16px}.service-card>img,.service-secondary>img{height:190px}.service-card-body{padding:20px}.service-card h3{font-size:21px}
.hero{padding:30px 0}.photo-heading h2{font-size:28px}.hero-photo-frame{width:calc(100% - 36px)!important;height:410px!important}
.welcome-grid{grid-template-columns:1fr;gap:25px}.welcome-visual img{height:300px}.section-copy h2{font-size:29px}
.story-expand>summary{font-size:16px;padding:17px}.five-banners-inner{padding:0}.five-banners-grid{padding-left:15px}
.review-card{padding:22px}.reviews-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px}.review-card{flex:0 0 88%;scroll-snap-align:start}
.faq-grid h2,.quote-grid h2{font-size:29px}.cta-inner h2{font-size:27px}
}
#home-title[tabindex="-1"]:focus{outline:none}

/* V54: i cinque banner sono sempre visibili dopo il carosello. */
.five-banners{padding:24px 0 36px;background:#f6f5f3}
.five-banners-inner{max-width:1280px;margin:auto;padding:0 24px}
.five-banners .feature-unified-media h1,.five-banners .feature-unified-media h2{background:#89131a!important;color:white!important;border:0;font-weight:600}
.five-banners-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media(max-width:700px){.five-banners-inner{padding:0 0 0 18px}.five-banners-grid{display:flex;padding-left:0}.five-banners .feature-card{width:min(82vw,320px)}}
/* V90: spazio al catalogo senza tagliare il menu desktop */
@media(min-width:991px){.header-inner{flex-wrap:wrap}.header-inner .main-nav{flex-wrap:wrap;justify-content:flex-end;flex:1 1 700px;min-width:0;row-gap:10px;padding:12px 0}.header-inner .brand{flex-shrink:0}}
