/* Versione 2: più spazio, logo ufficiale e percorsi più diretti. */
.site-header{background:#fff;color:var(--ink);border-bottom-color:var(--line)}
.header-inner{min-height:90px}.official-logo{width:54px;height:58px;object-fit:contain}
.brand{gap:14px}.brand-name{font-size:.76rem;font-weight:700;line-height:1.45;letter-spacing:.015em}.brand-name>span{font-weight:500;letter-spacing:.16em;font-size:.66rem}
.site-nav a:not(.btn){color:#646a78;font-size:.85rem}.site-nav a:not(.btn):hover,.site-nav a[aria-current=page]:not(.btn){color:var(--ink)}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:#087f64}
.menu-toggle{color:var(--ink);border-color:#b6bdca}.site-nav a[aria-current=page]:not(.btn)::after{background:#15856a}
.hero-main{min-height:565px;padding-block:50px;gap:65px}.hero-copy>p{max-width:440px;margin-block:26px 30px;font-size:1.04rem}
.hero .eyebrow{font-size:.7rem}.hero-art{min-height:390px}.hero-art svg{max-height:455px}
.hero-bottom{padding-block:20px}.home-routes{padding-block:72px 82px}
.offer-grid{border-top:0;gap:24px}.route-card{display:block;padding:30px!important;border:1px solid var(--line)!important;border-radius:9px;background:#fff;transition:border-color .18s,background .18s}
.route-card:hover{background:#f2f8f5;border-color:#8abcac!important}.route-card:focus-visible{outline-offset:4px}
.route-card .offer-num{margin-bottom:23px;color:#707b8b}.route-card h2{font-size:1.8rem;margin-bottom:13px;letter-spacing:-.04em}.route-card p{max-width:280px;font-size:.92rem;min-height:3.3em}.route-label{display:inline-block;font-size:.77rem;font-weight:600;margin-top:23px;color:#176f58}
.home-magazine .article-card .meta{margin-bottom:12px}.article-card .text-link{font-size:.8rem;margin-top:8px}
.event-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.event-content h3{margin:21px 0}.event-content .text-link{margin-top:18px}
.event-list .event-content{display:block}.event-list .event-content h2{font-size:1.75rem}.event-list .event-content>p{max-width:620px}.event-list details[open] summary{color:#0b795b}
.join-band{padding:39px 48px;margin-bottom:75px}.join-band h2{font-size:2.1rem;line-height:1.2}
.site-footer .official-logo{width:67px;height:72px}.site-footer .brand-name{font-size:.73rem}.footer-brand p{margin-top:20px}
.page-intro{padding-block:28px 52px}.page-intro h1{font-size:clamp(2.7rem,4.8vw,4.5rem)}.page-intro>p{max-width:660px;font-size:1rem}
.club-gallery{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:start}.club-gallery figure{min-width:0}.club-gallery figure:nth-child(2){padding-top:60px}.club-gallery figcaption{font-size:.74rem;color:var(--muted);margin-top:12px}.photo-link{display:block;border-radius:9px;overflow:hidden;position:relative;background:#e5e9ed}.photo-link img{width:100%;height:auto;display:block}.photo-link::after{content:'↗';position:absolute;right:15px;bottom:15px;background:#fff;color:var(--ink);border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:1rem}.photo-link:hover::after{background:var(--mint-light)}
.panel{padding:30px 34px}.panel h3{margin-block:18px 14px}.panel p{max-width:470px}
.disclosure-section{border-top:1px solid var(--line)}.disclosure-section:last-child{border-bottom:1px solid var(--line)}.disclosure-section>summary{list-style:none;display:flex;align-items:center;gap:20px;font-size:1.35rem;letter-spacing:-.025em;font-weight:550;cursor:pointer;padding:27px 0}.disclosure-section>summary::-webkit-details-marker{display:none}.disclosure-section>summary span{font-size:.75rem;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:auto}.disclosure-section>summary::after{content:'+';font-size:1.5rem;font-weight:400;margin-left:15px}.disclosure-section[open]>summary::after{content:'−'}.disclosure-section .team-grid{padding:10px 0 25px}.disclosure-copy{padding:0 0 30px;max-width:700px}.disclosure-copy p+p{margin-top:16px}.disclosure-copy .text-link{margin-top:15px}
.poster-preview{display:inline-flex;flex-direction:column;gap:10px;width:min(100%,210px);margin-top:22px;font-size:.76rem;font-weight:600}.poster-preview img{width:100%;max-height:260px;object-fit:contain;object-position:left;border:1px solid var(--line);border-radius:5px;background:white}.poster-preview:hover{color:#087f64}.detail-photo{display:block;max-width:350px;margin-top:22px}.detail-photo img{width:100%;height:auto;border-radius:6px}
.join-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center}.join-intro .page-intro{padding-block:28px 55px}.join-intro h1{font-size:clamp(2.7rem,4.3vw,4rem)}.join-illustration{overflow:hidden;border-radius:10px;background:#f7f8fa;align-self:center}.join-illustration img{width:100%;height:auto;display:block}.steps a{text-decoration:underline;text-underline-offset:4px;color:#087f64}.application-card{position:static}.application-card h2{font-size:1.8rem}.application-card p{margin-block:18px}.steps li:first-child{padding-top:0;border-top:0}
.image-dialog{padding:0;border:0;border-radius:10px;background:#fff;color:var(--ink);max-width:min(95vw,1350px);width:max-content;max-height:94vh;overflow:auto;box-shadow:0 20px 100px #0006}.image-dialog::backdrop{background:#131929e6}.lightbox-inner{padding:24px;position:relative}.lightbox-close{display:block;margin:0 0 16px auto;min-width:92px;min-height:44px;padding:8px 14px;border:1px solid #bac3cf;border-radius:4px;background:white;font-weight:600;font-size:.85rem}.lightbox-close:hover{background:var(--mint-light)}.lightbox-image{display:block;max-width:100%;max-height:67vh;width:auto;height:auto;margin:auto}.lightbox-caption{padding:16px 0 0;font-size:.86rem;max-width:700px}.lightbox-caption:empty{display:none}.lightbox-full{display:inline-block;margin-top:8px;color:#087f64;text-decoration:underline;font-size:.76rem;min-height:36px;padding-block:6px}body.image-open{overflow:hidden}
@media(max-width:1100px){.site-nav{gap:20px}.brand-name{font-size:.66rem}.brand-name>span{font-size:.61rem}.official-logo{width:48px;height:52px}.hero-main{gap:25px}.hero-art{min-height:365px}.route-card{padding:27px!important}.join-intro{gap:25px}}
@media(max-width:850px){.header-inner{min-height:78px}.brand-name{font-size:.73rem}.hero-main{min-height:520px}.hero-art{min-height:310px}.offer-grid{grid-template-columns:repeat(3,1fr);gap:16px}.route-card{display:block;padding:22px!important}.route-card .offer-num{flex-direction:row;gap:10px;margin-bottom:22px}.route-card h2{font-size:1.5rem}.route-card p{font-size:.85rem;min-height:5em}.route-label{font-size:.72rem}.join-band{padding:32px}.club-gallery{gap:20px}.club-gallery figure:nth-child(2){padding-top:40px}.join-intro{grid-template-columns:1fr 1fr;gap:25px}.join-intro h1{font-size:2.65rem}.join-intro .page-intro>p{font-size:.92rem}.image-dialog{max-height:92vh}}
@media(max-width:620px){.header-inner{min-height:76px}.official-logo{width:42px;height:46px}.brand{gap:10px}.brand-name{font-size:.65rem}.brand-name>span{font-size:.57rem}.hero-main{padding-block:43px 16px;gap:0}.hero-copy>p{font-size:.95rem;max-width:330px}.hero .eyebrow{font-size:.62rem}.hero-art{max-width:255px;min-height:0;padding:0;margin-top:25px}.hero-art svg{height:235px}.hero-bottom{font-size:.59rem;gap:14px;padding-block:17px}.hero-bottom span:first-child{max-width:210px}.hero-bottom a{white-space:nowrap}.home-routes{padding-block:39px 48px}.offer-grid{grid-template-columns:1fr;gap:12px}.route-card{position:relative;padding:22px 25px!important;display:grid;grid-template-columns:1fr 32px;gap:0}.route-card h2{font-size:1.5rem;grid-column:1;grid-row:1;margin-bottom:8px}.route-card p{grid-column:1;grid-row:2;min-height:0;max-width:260px;font-size:.85rem}.route-card .offer-num{grid-column:2;grid-row:1/3;display:flex;justify-content:center;align-items:center;flex-direction:column;margin:0}.route-card .offer-num>span:first-child{display:none}.route-label{display:none}.page-intro{padding-block:22px 36px}.page-intro h1{font-size:clamp(2.6rem,10.6vw,3.7rem)}.page-intro>p{font-size:.94rem;margin-top:21px}.event-content{padding:27px}.event-content h3{margin-block:17px}.event-content .text-link{margin-top:12px}.event-list .event-content h2{font-size:1.58rem}.join-band{margin-bottom:52px;padding:27px}.join-band h2{font-size:1.85rem}.club-gallery{grid-template-columns:1fr;gap:22px}.club-gallery figure:nth-child(2){padding-top:0}.club-gallery figcaption{margin-top:9px}.panel{padding:26px}.disclosure-section>summary{font-size:1.08rem;gap:12px;padding-block:23px}.disclosure-section>summary span{font-size:.65rem}.disclosure-section>summary::after{margin-left:0}.join-intro{grid-template-columns:1fr;gap:0}.join-intro .page-intro{padding-bottom:12px}.join-intro h1{font-size:2.8rem}.join-illustration{max-width:345px;width:100%;justify-self:center;margin-bottom:32px}.application-card h2{font-size:1.8rem}.lightbox-inner{padding:15px}.lightbox-image{max-height:64vh}.lightbox-caption{font-size:.76rem}.site-footer .official-logo{width:56px;height:60px}}
/* Smartphone: comfortable touch targets, readable fields and short viewports. */
@media(max-width:850px){
  .js .site-nav.is-open{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
  .search-control input,.field input{font-size:16px}
  .filter-btn,.share-button,.text-link,.lightbox-full{min-height:44px}
  .image-dialog{max-height:92vh;max-height:92dvh;overscroll-behavior:contain}
}
@media(max-width:620px){
  .hero-main{padding-block:34px 12px;min-height:0}
  .hero h1{font-size:clamp(2.65rem,11.4vw,3.65rem)}
  .hero-copy>p{font-size:1rem;margin-block:22px 25px}
  .hero-copy .actions{gap:10px}.hero-copy .actions .btn{width:100%;min-height:48px}
  .hero-art{max-width:215px;margin-top:18px}.hero-art svg{height:180px}
  .hero-bottom{font-size:.69rem;flex-wrap:wrap;gap:8px;padding-block:12px}
  .hero-bottom a{min-height:44px;align-items:center}
  .route-card p,.event-content p,.panel p,.faq details>p,.steps p,.prose p,.prose ul,.prose ol{font-size:1rem}
  .filter-btn{font-size:.875rem}.article-card .meta{font-size:.75rem;flex-wrap:wrap;gap:6px 12px}
  .club-gallery figcaption,.lightbox-caption{font-size:.8125rem}
  .footer-links{gap:3px;font-size:.875rem}.footer-links a{min-height:44px;display:flex;align-items:center;max-width:100%}
  .footer-bottom{font-size:.75rem}.footer-bottom div{flex-wrap:wrap;gap:8px 22px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .contact-item a{display:inline-block;padding-block:9px;min-height:44px;font-size:1rem}
  .article-toc nav{gap:4px 20px}.article-toc nav a{min-height:44px;display:flex;align-items:center;font-size:.875rem}
  .lightbox-image{max-height:min(64vh,calc(100vh - 205px));max-height:min(64dvh,calc(100dvh - 205px))}
}
@media(max-width:380px){
  .calc-fields{grid-template-columns:1fr}.calc-fields label{min-height:0}
  .join-intro h1{font-size:2.5rem}.article-header h1{font-size:2.3rem}
  .disclosure-section>summary{flex-wrap:wrap;gap:7px 12px}.disclosure-section>summary span{font-size:.75rem}
}
@media(max-width:850px) and (max-height:500px){
  .lightbox-inner{padding:10px 15px}.lightbox-close{margin-bottom:8px}
  .lightbox-image{max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px)}
  .lightbox-caption{padding-top:8px}
}
@media print{.image-dialog{display:none!important}.club-gallery{display:block}.club-gallery figure{width:48%;display:inline-block;vertical-align:top}.disclosure-section{break-inside:avoid}.hero-main{min-height:0}.join-illustration{display:none}}
