/* Full-screen stops belong to the WeSound homepage only. */
body.wesound-home{--section-nav:126px;--section-gap:clamp(18px,3vh,36px)}
body.wesound-home > section:not(#enchanted-forest){height:100vh;height:100svh;min-height:0;max-height:100svh;box-sizing:border-box;overflow:hidden;padding:calc(var(--section-nav) + var(--section-gap)) clamp(24px,5vw,64px) var(--section-gap);display:flex;flex-direction:column;justify-content:center}
body.wesound-home > section:not(#enchanted-forest) > div{width:100%;max-height:100%;min-height:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
body.wesound-home > section[hidden]{display:none!important}
body.wesound-home #progetti > div{height:100%;display:flex;flex-direction:column;overflow:hidden}
body.wesound-home #progetti .progetti-header{margin-bottom:1rem;flex-shrink:0}
body.wesound-home #progetti h2{font-size:clamp(1.8rem,4vw,3.5rem)}
body.wesound-home #progetti .filter-bar{margin-bottom:.7rem;gap:.5rem;flex-shrink:0}
body.wesound-home #progetti .filter-btn{padding:.5rem .8rem;font-size:.65rem}
body.wesound-home #progetti .projects-navigation{margin-bottom:.5rem;flex-shrink:0}
body.wesound-home #progetti .projects-expedition{flex:1;min-height:0;align-items:stretch;padding-bottom:10px}
body.wesound-home #progetti .proj-card{height:100%;min-height:0;display:flex;flex-direction:column}
body.wesound-home #progetti .proj-thumb-wrap{flex:0 1 42%;min-height:70px;overflow:hidden}
body.wesound-home #progetti .proj-thumb{height:100%;width:100%;object-fit:cover;aspect-ratio:auto}
body.wesound-home #progetti .proj-info{min-height:0;padding:1rem;gap:.5rem;overflow:auto}
body.wesound-home #progetti .proj-card h3{font-size:clamp(1.1rem,2vw,1.7rem)}
body.wesound-home #progetti .proj-desc{-webkit-line-clamp:2;font-size:.8rem}
body.wesound-home #progetti .proj-discover{padding-top:.5rem;margin-top:0}
body.wesound-home #progetti .projects-toggle-wrap:has([hidden]){display:none}
body.wesound-home > section#contatti{justify-content:space-between;gap:1rem}
body.wesound-home > section#contatti .prefooter-inner{margin:auto;flex-shrink:1}
body.wesound-home > section#contatti footer{width:100%;padding:1rem 0;flex-shrink:0}
@media(max-width:1024px),(hover:none) and (pointer:coarse){body.wesound-home{--section-nav:46px;--section-gap:18px}body.wesound-home #progetti .projects-navigation{flex-direction:row;align-items:center}body.wesound-home #projectsInvitation{font-size:.7rem;max-width:22ch}body.wesound-home #progetti .progetti-header{gap:.5rem}body.wesound-home #progetti .progetti-header .btn{padding:.6rem .8rem}body.wesound-home .team-grid{gap:1rem}body.wesound-home > section#contatti footer{font-size:.65rem}}
@media(max-height:650px){body.wesound-home{--section-gap:12px}body.wesound-home .section-label{margin-bottom:.5rem}body.wesound-home #progetti .proj-desc,body.wesound-home #projectsInvitation{display:none}body.wesound-home #progetti .proj-info{padding:.65rem}body.wesound-home #progetti .progetti-header{flex-direction:row}body.wesound-home #progetti .proj-details{font-size:.6rem;padding-top:0}}
/* Contacts use a full-bleed map and a separate, readable footer band. */
body.wesound-home > section#contatti{--contact-gutter:clamp(20px,4vw,64px);position:relative;isolation:isolate;padding-left:var(--contact-gutter);padding-right:var(--contact-gutter);padding-bottom:0;justify-content:flex-end;gap:18px;background:#10191c}
body.wesound-home > section#contatti #projectMap{position:absolute;inset:0;z-index:-1;height:100%;width:100%;max-height:none;overflow:hidden;pointer-events:none}
body.wesound-home > section#contatti #projectMap[hidden]{display:none}
body.wesound-home > section#contatti .map-visual{position:absolute;inset:0;width:100%;height:100%;opacity:.85;mask-image:linear-gradient(to bottom,transparent 4%,#000 24%,#000 65%,transparent 88%)}
body.wesound-home > section#contatti #projectMap svg{width:100%;height:100%}
body.wesound-home > section#contatti #mapHeading{position:absolute;z-index:1;top:calc(var(--section-nav) + 22px);left:20px;right:20px;max-width:none;font-size:clamp(1.25rem,2.7vw,2.5rem);text-align:center;text-shadow:0 2px 18px #071014}
body.wesound-home > section#contatti .prefooter-inner{position:relative;z-index:1;flex:0 0 auto;margin:0;max-width:none;max-height:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px;overflow:visible;text-align:center;text-shadow:0 2px 12px #071014}
body.wesound-home > section#contatti .prefooter-inner .section-label{width:100%;justify-content:center;margin:0;font-size:11px}
body.wesound-home > section#contatti .prefooter-text{font-size:16px;line-height:1.4;margin:0}
body.wesound-home > section#contatti .prefooter-mail{font-size:15px;padding:12px 20px;margin:0;overflow-wrap:anywhere}
body.wesound-home > section#contatti footer{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;flex:0 0 auto;width:calc(100% + 2 * var(--contact-gutter));max-width:none;min-height:80px;gap:24px;margin:0 calc(-1 * var(--contact-gutter));padding:14px var(--contact-gutter) max(14px,env(safe-area-inset-bottom));box-sizing:border-box;background:#0c1518;border-top:1px solid #435255;color:#d1d9d5;text-align:left}
body.wesound-home > section#contatti footer .footer-left,body.wesound-home > section#contatti footer .footer-center,body.wesound-home > section#contatti footer .footer-right{flex:none;min-width:0;display:flex;align-items:center;justify-content:flex-start}
body.wesound-home > section#contatti footer .footer-right{justify-content:flex-end;flex-wrap:wrap;gap:12px}
body.wesound-home > section#contatti .footer-logo{height:44px;width:auto;opacity:1}
body.wesound-home > section#contatti footer p{margin:0;font-size:14px;line-height:1.5;color:#d1d9d5}
body.wesound-home > section#contatti footer a{font-size:14px;line-height:1.5;color:#e3e8e4;padding:8px 0;text-underline-offset:4px}
body.wesound-home > section#contatti footer a:hover{text-decoration:underline;color:#f4c892}
body.wesound-home > section#contatti footer a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){
 body.wesound-home > section#contatti{gap:14px}
 body.wesound-home > section#contatti #mapHeading{top:calc(var(--section-nav) + 18px);font-size:1.35rem}
 body.wesound-home > section#contatti .prefooter-inner{gap:8px}
 body.wesound-home > section#contatti .prefooter-text{width:100%;font-size:14px}
 body.wesound-home > section#contatti .prefooter-mail{font-size:14px}
 body.wesound-home > section#contatti footer{grid-template-columns:40px minmax(0,1fr);gap:0 16px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 body.wesound-home > section#contatti footer .footer-left{grid-row:1 / 3;align-self:center}
 body.wesound-home > section#contatti footer .footer-center{text-align:left}
 body.wesound-home > section#contatti footer .footer-right{grid-column:2;justify-content:flex-start;gap:10px}
 body.wesound-home > section#contatti .footer-logo{height:40px}
 body.wesound-home > section#contatti footer p{font-size:12px}
 body.wesound-home > section#contatti footer a{font-size:13px;min-height:40px;display:inline-flex;align-items:center}
}
@media(max-height:500px){
 body.wesound-home > section#contatti{gap:10px}
 body.wesound-home > section#contatti .prefooter-inner .section-label{display:none}
 body.wesound-home > section#contatti .prefooter-inner{flex-wrap:nowrap;gap:16px}
 body.wesound-home > section#contatti .prefooter-text{width:auto;font-size:13px}
 body.wesound-home > section#contatti .prefooter-mail{font-size:13px;padding:9px 14px}
 body.wesound-home > section#contatti footer{min-height:64px;padding-top:8px;padding-bottom:8px;gap:16px}
 body.wesound-home > section#contatti .footer-logo{height:36px}
}

/* No section has an internal scroll track. */
body.wesound-home > section:not(#enchanted-forest) > div{overflow:hidden;overscroll-behavior:none}
body.wesound-home #progetti .projects-expedition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;scroll-snap-type:none;gap:20px;margin:0;padding:0}
body.wesound-home #progetti .proj-card{width:100%;min-width:0;overflow:hidden}
body.wesound-home #progetti .proj-info{overflow:hidden}
body.wesound-home #progetti .proj-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.wesound-home #progetti .proj-card h3{-webkit-line-clamp:2}
body.wesound-home > section.has-section-views{justify-content:flex-start;gap:18px}
body.wesound-home .section-views{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;overflow:visible}
body.wesound-home .section-views button{font:inherit;font-size:13px;min-height:38px;padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:#152023;color:var(--text);cursor:pointer}
body.wesound-home .section-views button[aria-selected=true]{background:var(--accent);color:#17120c;border-color:var(--accent)}
body.wesound-home .section-views button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.wesound-home #chi-siamo .chi-grid,body.wesound-home #retreat .retreat-content{display:block;flex:1;width:100%;min-height:0;margin:0 auto;max-width:1000px}
body.wesound-home [role=tabpanel][hidden]{display:none!important}
body.wesound-home #chi-siamo .chi-text h2,body.wesound-home #retreat h2,body.wesound-home #team h2{font-size:clamp(1.6rem,4vw,3rem);line-height:1.1;margin-bottom:16px}
body.wesound-home #chi-siamo .chi-text p{font-size:clamp(14px,1.4vw,17px);line-height:1.6;margin:10px 0;max-width:75ch}
body.wesound-home #chi-siamo .stats-grid{margin-top:20px;gap:12px}
body.wesound-home #chi-siamo .stat-card{padding:12px}
body.wesound-home #chi-siamo .stat-num{font-size:1.8rem}
body.wesound-home #chi-siamo .stat-label{font-size:11px}
body.wesound-home #chi-siamo .chi-quote{font-size:clamp(1rem,2vw,1.6rem);margin-bottom:16px}
body.wesound-home #chi-siamo .timeline li{font-size:14px;padding-bottom:14px;line-height:1.5}
body.wesound-home #team > div:not(.section-views){flex:1;min-height:0;width:100%;margin:0 auto}
body.wesound-home #team .team-grid{display:block;margin-top:18px}
body.wesound-home #team .team-card{max-width:900px;padding:22px}
body.wesound-home #team .team-bio{font-size:16px;line-height:1.65}
body.wesound-home #team .team-highlight{font-size:14px}
body.wesound-home #retreat .retreat-card{max-width:900px;margin:auto}
body.wesound-home #retreat .retreat-text p{font-size:16px;line-height:1.6;max-width:70ch}
body.wesound-home #retreat .retreat-features{margin-top:18px}
body.wesound-home #retreat .retreat-features li{padding:10px 0;font-size:15px}
body.wesound-home .section-arriving > div:not(#projectMap):not(.section-views){animation:section-open 650ms cubic-bezier(.22,1,.36,1) both}
@keyframes section-open{from{opacity:.5;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){body.wesound-home #progetti .projects-expedition{grid-template-columns:1fr}body.wesound-home #chi-siamo .stats-grid{grid-template-columns:repeat(2,1fr)}body.wesound-home .section-views{gap:6px}body.wesound-home .section-views button{font-size:12px;padding:6px 12px}body.wesound-home #team .team-card{padding:16px}body.wesound-home #team .team-bio{font-size:14px;line-height:1.55}body.wesound-home #retreat .retreat-text p{font-size:14px}body.wesound-home #retreat .retreat-features li{font-size:14px}}
@media(max-height:650px){body.wesound-home > section.has-section-views{gap:10px}body.wesound-home #chi-siamo .chi-text h2,body.wesound-home #team h2,body.wesound-home #retreat h2{font-size:1.6rem;margin-bottom:8px}body.wesound-home #chi-siamo .chi-text p{font-size:13px;line-height:1.45;margin:7px 0}body.wesound-home #chi-siamo .stats-grid{margin-top:10px;gap:6px}body.wesound-home #chi-siamo .stat-card{padding:6px}body.wesound-home #chi-siamo .stat-num{font-size:1.3rem}body.wesound-home #team .team-grid{margin-top:8px}body.wesound-home #team .team-card{padding:12px}body.wesound-home #team .team-bio{font-size:13px;line-height:1.45}body.wesound-home #team .team-highlight{font-size:12px}body.wesound-home #retreat .retreat-features{margin-top:10px}body.wesound-home #retreat .retreat-features li{padding:6px 0;font-size:13px}body.wesound-home #retreat .retreat-text p{font-size:13px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){body.wesound-home .section-arriving > div{animation:none!important}}

body.wesound-home > section#contatti #projectMap .map-visual{pointer-events:auto;touch-action:none;mask-image:linear-gradient(to bottom,transparent 6%,#000 23%,#000 64%,transparent 86%)}
body.wesound-home > section#contatti #projectMap svg{cursor:grab;touch-action:none}
body.wesound-home > section#contatti #projectMap svg:active{cursor:grabbing}
body.wesound-home > section#contatti #projectMap .is-connected{pointer-events:auto;cursor:pointer}
body.wesound-home > section#contatti #projectMap .is-connected:hover,body.wesound-home > section#contatti #projectMap .is-selected{fill:#ffe2a9}
body.wesound-home > section#contatti #projectMap .is-connected:focus-visible{outline:none;stroke:#fff;stroke-width:3}
body.wesound-home > section#contatti .map-tools{position:absolute;z-index:4;right:20px;top:calc(var(--section-nav) + 85px);display:flex;gap:6px;pointer-events:auto}
body.wesound-home > section#contatti .map-tools button{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:#0c1518ed;color:var(--text);font-size:20px;cursor:pointer}
body.wesound-home > section#contatti .map-tools button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.wesound-home > section#contatti .map-selection{position:absolute;z-index:4;top:calc(var(--section-nav) + 90px);left:20px;padding:10px 16px;border:1px solid var(--border);border-radius:20px;background:#0c1518ed;color:var(--accent);font-size:14px;pointer-events:none}
body.wesound-home > section#contatti .map-selection[hidden]{display:none}
@media(max-width:600px){body.wesound-home > section#contatti .map-tools{top:calc(var(--section-nav) + 85px);right:12px}body.wesound-home > section#contatti .map-tools button{width:36px;height:36px}body.wesound-home > section#contatti .map-selection{left:12px;top:auto;bottom:245px;font-size:12px}}

@media(max-height:650px){body.wesound-home #progetti .proj-desc{display:none}body.wesound-home #progetti .proj-card h3{-webkit-line-clamp:1;font-size:1.1rem}body.wesound-home #progetti .proj-info{gap:4px;padding:8px}body.wesound-home #progetti .proj-details{font-size:10px;line-height:1.3;max-height:26px;overflow:hidden}body.wesound-home #progetti .proj-discover{font-size:11px;padding-top:4px}body.wesound-home #progetti .proj-cat{font-size:10px}}

/* Let the image absorb spare height; never compress lines of text. */
body.wesound-home #progetti .proj-thumb-wrap{flex:1 1 auto;min-height:65px;max-height:none}
body.wesound-home #progetti .proj-info{flex:0 0 auto;display:flex;gap:5px;padding:12px;height:auto;overflow:hidden}
body.wesound-home #progetti .proj-info > *{flex-shrink:0}
body.wesound-home #progetti .proj-card h3{font-size:clamp(18px,1.8vw,24px);line-height:1.2;height:auto;max-height:2.4em;min-height:1.2em;margin:0;-webkit-line-clamp:2}
body.wesound-home #progetti .proj-cat{font-size:10px;line-height:1.4;margin:0}
body.wesound-home #progetti .proj-desc{font-size:13px;line-height:1.45;max-height:2.9em;margin:0}
body.wesound-home #progetti .proj-details{font-size:11px;line-height:1.4;max-height:2.8em;overflow:hidden;margin:0;padding:0}
body.wesound-home #progetti .proj-discover{font-size:12px;line-height:1.4;padding-top:6px;margin:0}
@media(max-height:800px){body.wesound-home #progetti .proj-desc{display:none}}
@media(max-height:650px){body.wesound-home #progetti .proj-info{padding:8px;gap:4px}body.wesound-home #progetti .proj-card h3{font-size:18px;line-height:1.2;max-height:1.2em;-webkit-line-clamp:1}body.wesound-home #progetti .proj-details{font-size:10px;line-height:1.3;max-height:2.6em}body.wesound-home #progetti .proj-discover{font-size:11px}}

@media(min-width:641px){body.wesound-home #chi-siamo .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Compact card spacing, not text scaling, keeps Ambient Night within small screens. */
body.wesound-home #retreat .retreat-card-top{padding:18px}
body.wesound-home #retreat .retreat-card-body{padding:18px}
body.wesound-home #retreat .retreat-card-body p{font-size:14px;line-height:1.6;margin:0 0 12px}
body.wesound-home #retreat .retreat-card-body .btn{padding:12px;line-height:1.3}
@media(max-height:650px){body.wesound-home #retreat .retreat-card-top,body.wesound-home #retreat .retreat-card-body{padding:12px}body.wesound-home #retreat .retreat-card-top h3{font-size:24px}body.wesound-home #retreat .retreat-card-body p{font-size:13px;line-height:1.45;margin:0 0 10px}body.wesound-home #retreat .retreat-card-body .btn{font-size:12px;padding:10px}}
