/* ═══ Landing page GUS — stili condivisi (IT+EN) ═══ */
.lp-hero { padding: calc(var(--testata-h) + clamp(3rem, 8vh, 5.5rem)) 0 clamp(2.5rem, 5vh, 4rem); }
.lp-hero h1 { font-weight: 550; text-transform: uppercase; letter-spacing: -.015em; line-height: .95; font-size: clamp(2.4rem, 7vw, 5.5rem); }
.lp-hero h1 .corsivo { color: var(--corallo-vivo); text-transform: none; }
.lp-hero .sotto { max-width: 60ch; color: var(--soft); margin-top: 1.4rem; font-size: clamp(1rem, 1vw + .55rem, 1.15rem); }
.lp-briciole { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--soft); margin-bottom: 1.6rem; }
.lp-briciole a:hover { color: var(--corallo-vivo); }
.lp-galleria { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(.8rem, 1.6vw, 1.4rem); margin: clamp(2rem, 5vh, 3.5rem) 0 0; }
.lp-galleria img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border: 1px solid var(--hair); }
@media (max-width: 800px) { .lp-galleria { grid-template-columns: repeat(2, 1fr); } }
.lp-sezione { padding: clamp(2.5rem, 6vh, 4.5rem) 0; }
.lp-sezione h2 { font-weight: 550; text-transform: uppercase; font-size: clamp(1.5rem, 3.4vw, 2.6rem); line-height: 1.05; margin-bottom: 1.2rem; }
.lp-sezione h2 .corsivo { color: var(--corallo-vivo); text-transform: none; }
.lp-sezione p { color: var(--soft); max-width: 68ch; margin-bottom: 1rem; }
.lp-faq details { border-top: 1px solid var(--hair); padding: 1.1rem 0; }
.lp-faq details:last-child { border-bottom: 1px solid var(--hair); }
.lp-faq summary { font-weight: 500; font-size: 1.05rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.lp-faq summary::after { content: '+'; color: var(--corallo-vivo); font-size: 1.3rem; flex: none; }
.lp-faq details[open] summary::after { content: '–'; }
.lp-faq details p { margin-top: .8rem; }
.lp-faq a { text-decoration: underline; text-underline-offset: 3px; }
.lp-correlate { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.8rem, 1.6vw, 1.4rem); }
.lp-corr { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border: 1px solid var(--hair-forte); padding: 1.1rem 1.3rem; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; font-size: .9rem; transition: border-color .3s, background .3s; background: var(--pannello); }
.lp-corr:hover { border-color: var(--corallo); background: var(--notte-2); }
.lp-corr i { color: var(--corallo-vivo); font-style: normal; }
@media (max-width: 800px) { .lp-correlate { grid-template-columns: 1fr; } }
.lp-cta { background: var(--corallo); color: var(--crema-viva); padding: clamp(3rem, 7vh, 5rem) 0; text-align: center; }
.lp-cta h2 { font-weight: 550; text-transform: uppercase; font-size: clamp(1.7rem, 4vw, 3rem); margin-bottom: 1rem; }
.lp-cta p { max-width: 54ch; margin: 0 auto 1.8rem; opacity: .95; }
.lp-cta .btn { background: var(--notte); }
.lp-cta .contattini { margin-top: 1.6rem; font-size: .9rem; opacity: .9; }
.lp-cta .contattini a { text-decoration: underline; text-underline-offset: 3px; }
.wa-flottante { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 3500; width: 54px; height: 54px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 26px rgba(0,0,0,.45); transition: transform .25s; }
.wa-flottante:hover { transform: scale(1.08); }
