
:root{
  --bg:#ffffff;--bg-soft:#f7f8fb;--card:#ffffff;--card-2:#f5f8fc;--text:#17345f;--muted:#627189;
  --line:#d8e1ee;--accent:#f4a166;--accent2:#1457bb;--accent3:#0f3f88;--shadow:0 18px 48px rgba(20,87,187,.08);
  --radius:26px;--max:1260px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.65;background:radial-gradient(circle at top right,rgba(244,161,102,.17),transparent 28%),linear-gradient(180deg,#fff,#fbfcff 42%,#f6f8fc 100%)}
a{color:var(--accent3);text-decoration:none} a:hover{color:var(--accent2)} img{max-width:100%;height:auto;display:block}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.75rem 1rem;border-radius:8px;z-index:1000}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,52,95,.08)}
.header-inner{max-width:var(--max);margin:0 auto;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.9rem}.brand img{width:110px;max-width:30vw;border-radius:18px;box-shadow:0 10px 25px rgba(20,87,187,.08)}
.nav-toggle{display:none}.nav{flex:1}.nav-menu{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav-menu a{display:inline-flex;padding:.78rem 1rem;border-radius:999px;font-weight:700;border:1px solid var(--line);background:rgba(255,255,255,.9);color:var(--text);font-size:.96rem}
.nav-menu a:hover,.nav-menu a.active{background:linear-gradient(90deg,var(--accent),#ffd8ba);color:var(--accent3);border-color:transparent}
.container,.hero,.section,.footer{max-width:var(--max);margin:0 auto;padding-left:1rem;padding-right:1rem}
.hero{padding-top:2rem;padding-bottom:1rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:2rem;align-items:center}.hero-grid.equal{grid-template-columns:1fr 1fr}
.hero-copy h1{font-size:clamp(2.2rem,4.6vw,4.7rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 1rem}.hero-copy p{font-size:1.1rem;color:var(--muted);max-width:64ch;margin:.5rem 0 1rem}
.badge{display:inline-block;padding:.5rem .85rem;border:1px solid rgba(20,87,187,.14);border-radius:999px;color:var(--accent3);font-weight:700;background:rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(20,87,187,.05);margin-bottom:1rem}
.cta-row,.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.1rem}.hero-note{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}.hero-note span{padding:.56rem .82rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.2rem;border-radius:999px;font-weight:700;border:1px solid transparent;transition:.25s ease}.btn:hover,.contact-chip:hover,.social-link:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(90deg,var(--accent2),var(--accent3));color:#fff;box-shadow:0 16px 26px rgba(20,87,187,.16)}.btn-secondary{background:#fff;border-color:var(--line);color:var(--accent3)}.btn-whatsapp{background:linear-gradient(90deg,#25d366,#1daf59);color:#fff;box-shadow:0 16px 26px rgba(37,211,102,.15)}
.hero-card,.panel,.footer-card,.contact-card,.social-card,.logo-box{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,248,253,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-card{overflow:hidden}.slideshow{position:relative;aspect-ratio:16/11;background:#eef3fb;min-height:420px}.slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}
.logo-showcase{display:grid;grid-template-columns:.84fr 1.16fr;gap:1.3rem;align-items:center}.logo-box{padding:1.15rem}.logo-box img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:18px}
.section{padding-top:1rem;padding-bottom:1rem}.section h2{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.1;margin:.2rem 0 1rem}.section-intro{color:var(--muted);max-width:820px}
.cards,.highlights,.gallery-grid,.social-links,.service-grid,.area-grid,.venue-grid{display:grid;gap:1.2rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.2rem}.highlights{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.2rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid,.area-grid,.venue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,.highlight,.text-block,.contact-card,.service-card,.area-card,.venue-card{padding:1.55rem}.card h3,.service-card h3,.area-card h3,.venue-card h3{margin:0 0 .65rem;font-size:1.4rem}.card p,.highlight p,.text-block p,.text-block li,.service-card p,.area-card p,.venue-card p,.contact-list li,.section p,.small,.muted{color:var(--muted)}
.feature-band,.two-col,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.feature-band .panel{padding:1.55rem}.feature-band .panel img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery figure{margin:0;overflow:hidden;border-radius:22px;background:#fff}.gallery figure.panel{padding:0}.gallery img{aspect-ratio:16/11;object-fit:cover;width:100%}.gallery figcaption{padding:1rem 1.15rem;color:var(--muted)}
.list-check,.contact-list{list-style:none;padding:0;margin:0}.list-check li,.contact-list li{position:relative;padding-left:1.5rem;margin:.6rem 0}.list-check li:before,.contact-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent2);font-weight:700}
.contact-chip,.social-link{display:inline-flex;align-items:center;gap:.7rem;padding:.95rem 1rem;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--text);font-weight:700;box-shadow:0 10px 24px rgba(20,87,187,.05)}
.social-links{grid-template-columns:1fr 1fr}.icon{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;flex:0 0 1.15rem}.icon svg{width:100%;height:100%;fill:currentColor}
.footer{padding-top:2rem;padding-bottom:2rem}.footer-card{padding:1.3rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.footer p{margin:0}
.eyebrow{font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2)}
.map-note{padding:1.35rem;border-left:5px solid var(--accent);background:#fff8f1;border-radius:16px;color:var(--text)}
@media (max-width:1024px){.hero-grid,.hero-grid.equal,.logo-showcase,.feature-band,.two-col,.contact-grid,.cards,.highlights,.gallery-grid,.service-grid,.area-grid,.venue-grid,.social-links{grid-template-columns:1fr}.slideshow{min-height:360px}}
@media (max-width:900px){.header-inner{flex-wrap:wrap}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--text);padding:.7rem .95rem;border-radius:999px;font-weight:700}.nav{width:100%}.nav-menu{display:none;flex-direction:column;align-items:stretch;padding-top:.75rem}.nav-menu.open{display:flex}.nav-menu a{justify-content:center}.brand img{width:86px}.hero{padding-top:1.3rem}.hero-copy h1{font-size:clamp(1.95rem,10vw,3rem)}.slideshow{min-height:300px}}
@media (max-width:640px){.section,.hero,.footer{padding-left:.9rem;padding-right:.9rem}.gallery img,.feature-band .panel img{aspect-ratio:4/3}.footer-card{padding:1.1rem}}

.slideshow .slide img[style*="object-fit:contain"]{padding:1rem}
.logo-showcase .hero-card .slideshow{aspect-ratio:1/1}
@media (min-width: 981px){
  .logo-showcase .hero-card .slideshow{aspect-ratio: 4/4.2}
}


/* final refinements */
.venue-card h3{font-size:1rem;margin:0 0 .25rem;line-height:1.2}
.venue-card p{font-size:.9rem;color:var(--muted);margin:0}
.venue-grid{gap:.85rem}
.venue-card{padding:1rem 1rem .9rem}

/* Hero full screen: slideshow a tutta pagina dopo il menu */
.hero.hero-full{
  max-width:none;
  width:100%;
  padding:0;
  margin:0;
  position:relative;
  min-height:calc(100vh - 88px);
  height:calc(100vh - 88px);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0d2345;
}
.hero-full .hero-bg{
  position:absolute;
  inset:0;
  min-height:0;
  aspect-ratio:auto;
  background:#0d2345;
}
.hero-full .hero-bg .slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease;
}
.hero-full .hero-bg .slide.active{opacity:1;}
.hero-full .hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-full::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(9,22,43,.76),rgba(9,22,43,.45) 48%,rgba(9,22,43,.22)),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.50));
}
.hero-overlay{
  position:relative;
  z-index:2;
  width:min(1120px,100%);
  padding:clamp(1.25rem,4vw,3rem);
  color:#fff;
}
.hero-overlay .hero-copy{max-width:840px;}
.hero-overlay .hero-copy h1{
  color:#fff;
  text-shadow:0 12px 32px rgba(0,0,0,.42);
}
.hero-overlay .hero-copy p{
  color:rgba(255,255,255,.92);
  text-shadow:0 8px 24px rgba(0,0,0,.35);
  font-size:clamp(1rem,2vw,1.22rem);
}
.hero-overlay .badge{
  background:rgba(255,255,255,.92);
  color:var(--accent3);
  border-color:rgba(255,255,255,.38);
}
.hero-overlay .hero-note span{
  background:rgba(255,255,255,.88);
  color:var(--accent3);
  border-color:rgba(255,255,255,.35);
}
.hero-overlay .cta-row,.hero-overlay .contact-actions{align-items:center;}
.hero-overlay .btn,.hero-overlay .contact-chip{box-shadow:0 16px 32px rgba(0,0,0,.24);}
.hero-overlay .contact-chip,.hero-overlay .social-link{background:rgba(255,255,255,.94);}
@media (max-width:900px){
  .hero.hero-full{
    min-height:78vh;
    height:auto;
    padding:4.2rem 0 3.2rem;
  }
  .hero-overlay{text-align:center;padding:1.15rem;}
  .hero-overlay .hero-copy{margin:0 auto;}
  .hero-overlay .hero-copy h1{
    font-size:clamp(2.05rem,10vw,3.05rem);
    line-height:1.05;
  }
  .hero-overlay .hero-copy p{margin-left:auto;margin-right:auto;max-width:38rem;}
  .hero-overlay .cta-row,.hero-overlay .contact-actions,.hero-overlay .hero-note{justify-content:center;}
  .hero-overlay .btn,.hero-overlay .contact-chip{width:100%;max-width:360px;}
}
@media (max-width:520px){
  .brand img{width:84px;}
  .hero.hero-full{
    min-height:calc(100svh - 76px);
    padding:3.2rem 0 2.2rem;
  }
  .hero-full::after{background:linear-gradient(180deg,rgba(9,22,43,.42),rgba(9,22,43,.78));}
  .hero-overlay .badge{font-size:.86rem;}
  .hero-overlay .hero-copy h1{font-size:clamp(1.85rem,10.5vw,2.55rem);}
  .hero-overlay .hero-copy p{font-size:1rem;line-height:1.55;}
  .hero-overlay .hero-note span{font-size:.88rem;}
}


/* Video nello slideshow hero: ottimizzato per desktop e mobile */
.hero-full .hero-bg video,
.slide video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.hero-full .video-slide{background:#0d2345;}
@media (max-width:520px){
  .hero-full .hero-bg video{object-position:center center;}
}
