
:root{
  --red:#941827;--red-dark:#4f0710;--gold:#d0aa5e;--ink:#111;--muted:#68625a;
  --sand:#efe9df;--white:#fff;--max:1240px;
  --serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff}
img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(var(--max),86vw);margin:auto}
.site-header{height:112px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8e2d8;position:relative;z-index:20}
.brand img{height:82px;width:auto}.main-navigation{display:flex;gap:28px;align-items:center}.main-navigation a{text-decoration:none;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:1.4px}
.menu-button{display:none;background:none;border:0}.menu-button span{display:block;width:25px;height:2px;background:#111;margin:5px}
.hero{min-height:calc(100vh - 112px);position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,4,5,.92),rgba(7,4,5,.42) 62%,rgba(7,4,5,.12)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}
.hero-copy{position:relative;z-index:2;width:min(var(--max),86vw);margin:0 auto;padding:90px 0 100px}.hero h1{font:600 clamp(76px,11vw,170px)/.77 var(--serif);margin:0 0 28px}.hero-copy>p:not(.eyebrow){max-width:650px;font-size:20px;line-height:1.6;color:rgba(255,255,255,.8)}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:2.4px;font-size:11px;font-weight:700}.red{color:var(--red)}.gold{color:var(--gold)}
.btn{display:inline-flex;padding:16px 24px;text-decoration:none;text-transform:uppercase;letter-spacing:1.4px;font-size:12px;font-weight:700;border:1px solid transparent;margin-top:20px}.btn-light{background:#fff;color:#111}.btn-gold{background:var(--gold);color:#111}.btn-red{background:var(--red);color:#fff}
.section{padding:120px 0}.white{background:#fff}.dark{background:#111;color:#fff}.sand{background:var(--sand)}.burgundy{background:linear-gradient(145deg,var(--red-dark),#21070c);color:#fff}.contact-band{background:var(--red);color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.section h2,.section-head h2,.split-feature h2,.image-story h2,.map-card h2{font:600 clamp(54px,7vw,100px)/.9 var(--serif);margin:0}.section-head.light-head h2{color:#fff}.link-arrow{text-decoration:none;color:var(--red);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:1.4px}
.split{display:grid;grid-template-columns:1fr .75fr;gap:100px;align-items:end}.lead p{font-size:19px;line-height:1.8;color:rgba(255,255,255,.7)}.darktext p{color:var(--muted)}
.news-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:24px}.news-grid article{min-height:360px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #ddd6cc}.news-feature{background:linear-gradient(145deg,var(--red-dark),var(--red));color:#fff}.news-card{background:#fff}.news-grid h3{font:600 38px/1 var(--serif);margin:10px 0 18px}.news-grid p{line-height:1.7}.news-grid a{margin-top:20px;font-weight:700;text-decoration:none}.tag{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:var(--gold)}
.image-story{min-height:80vh;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.image-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-story-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,4,5,.93),rgba(8,4,5,.42) 65%,rgba(8,4,5,.1))}.image-story-copy{position:relative;z-index:2;width:min(var(--max),86vw);margin:auto;padding:100px 0}.image-story-copy p:not(.eyebrow){max-width:640px;font-size:18px;line-height:1.7}
.partner-copy{max-width:720px;font-size:20px;line-height:1.7;color:var(--muted)}
.discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.discipline{min-height:680px;position:relative;padding:52px;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.discipline h3{font:600 clamp(54px,6vw,84px)/.88 var(--serif);margin:0 0 20px}.discipline p:not(.eyebrow){max-width:500px;font-size:18px;line-height:1.6}.football{background:linear-gradient(145deg,var(--red-dark),var(--red))}.boxing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,3,4,.92),rgba(5,3,4,.08))}.discipline>div:last-child{position:relative;z-index:2}
.facts{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid #ddd6cc}.facts div{padding:34px 4vw;border-right:1px solid #ddd6cc}.facts span{display:block;color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700}.facts strong{display:block;font:600 30px/1.1 var(--serif);margin-top:8px}
.gallery-hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:70px}.gallery-hero img{height:530px;width:100%;object-fit:cover}
.split-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.split-feature>img{width:100%;height:100%;object-fit:cover}.split-feature>div{padding:80px 8vw;display:flex;flex-direction:column;justify-content:center}.split-feature p:not(.eyebrow){font-size:18px;line-height:1.8;color:rgba(255,255,255,.7)}.award{background:var(--sand)}.award>div p:not(.eyebrow){color:var(--muted)}.award>img{object-fit:contain;padding:60px;background:#fff}
.person-card{display:grid;grid-template-columns:1fr 1fr;margin-bottom:34px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}.person-card.reverse img{order:2}.person-card img{width:100%;height:620px;object-fit:cover}.person-card>div{padding:65px;display:flex;flex-direction:column;justify-content:center}.person-card h3{font:600 clamp(44px,5vw,72px)/.92 var(--serif);margin:0 0 22px}.person-card p:not(.eyebrow){color:rgba(255,255,255,.72);font-size:18px;line-height:1.8}
.museum-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.museum-grid img{width:100%;height:420px;object-fit:cover}.museum-grid .wide{grid-row:1/3;height:862px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;color:#fff}.contact-layout h2{font:600 clamp(58px,7vw,100px)/.88 var(--serif);margin:0}.contact-cards{display:grid;gap:16px}.contact-cards a{padding:28px 32px;background:#fff;color:#111;text-decoration:none}.contact-cards span{display:block;color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700}.contact-cards strong{display:block;font-size:26px;margin-top:8px;overflow-wrap:anywhere}
.map-section{display:grid;grid-template-columns:1.25fr .75fr;min-height:620px;background:var(--sand)}.map-section iframe{width:100%;height:100%;border:0}.map-card{padding:70px;display:flex;flex-direction:column;justify-content:center}
.timeline-section{padding:120px 0;background:#111;color:#fff}.timeline article{display:grid;grid-template-columns:180px 1fr;gap:40px;padding:35px 0;border-top:1px solid rgba(255,255,255,.15)}.timeline article:last-child{border-bottom:1px solid rgba(255,255,255,.15)}.timeline span{font:600 48px/1 var(--serif);color:var(--gold)}.timeline h3{font:600 36px/1 var(--serif);margin:0 0 10px}.timeline p{color:rgba(255,255,255,.68);font-size:17px;line-height:1.7}.history-places{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.history-places img{height:600px;width:100%;object-fit:cover}.history-places h3{font:600 52px/1 var(--serif);margin:0 0 20px}.history-places p{font-size:18px;line-height:1.8;color:var(--muted)}
.site-footer{background:#080808;color:#fff;padding:70px 7vw 30px}.footer-main{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:55px;max-width:var(--max);margin:auto}.footer-main>div{display:flex;flex-direction:column;gap:12px}.footer-main span{color:#777;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:700}.footer-main a{text-decoration:none;color:#ccc}.footer-brand{flex-direction:row!important;align-items:center}.footer-brand img{height:90px}.footer-brand strong{font:600 30px/1 var(--serif)}.footer-brand div{display:flex;flex-direction:column}.footer-bottom{max-width:var(--max);margin:55px auto 0;padding-top:24px;border-top:1px solid #222;display:flex;justify-content:space-between;color:#777;font-size:12px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){
 .main-navigation{display:none;position:absolute;top:112px;left:0;right:0;background:#fff;padding:25px;flex-direction:column}.main-navigation.is-open{display:flex}.menu-button{display:block}
 .news-grid,.discipline-grid,.split,.split-feature,.gallery-hero,.person-card,.museum-grid,.contact-layout,.map-section,.history-places{grid-template-columns:1fr}
 .facts{grid-template-columns:1fr 1fr}.museum-grid .wide{grid-row:auto;height:420px}.person-card.reverse img{order:0}.footer-main{grid-template-columns:1fr 1fr}.hero h1{font-size:70px}.section{padding:85px 0}.split-feature>div{padding:70px 7vw}
}
@media(max-width:600px){
 .site-header{height:92px}.brand img{height:65px}.main-navigation{top:92px}.hero{min-height:75vh}.hero-copy{padding:70px 0}.hero h1{font-size:58px}.section-head{align-items:flex-start;flex-direction:column}
 .facts{grid-template-columns:1fr}.facts div{border-right:0;border-bottom:1px solid #ddd6cc}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:12px}
 .timeline article{grid-template-columns:1fr}.gallery-hero img,.person-card img,.history-places img{height:420px}.discipline{min-height:560px;padding:35px}
}

/* SECONDARY PAGES FIX */

.simple-hero{padding:90px 0;background:#f3eee5;border-bottom:1px solid #ddd6cc}
.simple-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.simple-hero h1{font:600 clamp(64px,8vw,118px)/.84 var(--serif);margin:0 0 24px}
.simple-hero p:not(.eyebrow){max-width:650px;font-size:19px;line-height:1.7;color:var(--muted)}
.simple-hero img{width:100%;height:520px;object-fit:cover}
.red-hero{color:#fff;background:linear-gradient(145deg,var(--red-dark),var(--red))}
.red-hero p:not(.eyebrow){color:rgba(255,255,255,.76)}
.crest-panel{height:520px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08)}
.crest-panel img{width:auto;height:300px;object-fit:contain}
.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.club-grid a{min-height:300px;padding:38px;background:#fff;border:1px solid #ddd6cc;text-decoration:none}
.club-grid span{color:var(--red);font:600 36px/1 var(--serif)}
.club-grid h3{font:600 38px/1 var(--serif);margin:45px 0 18px}
.club-grid p{color:var(--muted);line-height:1.7}
.org-list{border-top:1px solid rgba(255,255,255,.18)}
.org-list>div{padding:28px 0;display:grid;grid-template-columns:180px 1fr;gap:25px;border-bottom:1px solid rgba(255,255,255,.18)}
.org-list span{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700}
.org-list strong{font-size:20px}
.roster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.roster-grid article{min-height:220px;padding:30px;border:1px solid #ddd6cc;background:#fff}
.roster-grid span{color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700}
.roster-grid h3{font:600 34px/1 var(--serif);margin-top:70px}
.match-card{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ddd6cc}
.match-card>div{padding:28px;border-right:1px solid #ddd6cc}
.match-card>div:last-child{border-right:0}
.match-card span{display:block;color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:1.6px;font-weight:700}
.match-card strong{display:block;margin-top:9px;font-size:18px}
.versus{margin-top:35px;padding:45px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;background:#111;color:#fff}
.versus>div{display:flex;align-items:center;justify-content:center;gap:20px}
.versus img{height:120px;width:auto}.versus>span{font:600 42px/1 var(--serif);color:var(--gold)}
.opponent>div{width:120px;height:120px;display:flex;align-items:center;justify-content:center;border:1px solid #555;color:#888}
.season-list{border-top:1px solid #ccc}
.season-list>div{display:grid;grid-template-columns:90px 1fr 1fr;gap:25px;padding:26px 0;border-bottom:1px solid #ccc}
.season-list span{color:var(--red);font:600 28px/1 var(--serif)}.season-list small{color:var(--muted)}
.news-page-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:22px}
.news-page-grid article{min-height:340px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #ddd6cc;background:#fff}
.news-page-grid .featured-news{color:#fff;background:linear-gradient(145deg,var(--red-dark),var(--red))}
.news-page-grid span{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700}
.news-page-grid h3{font:600 38px/1 var(--serif);margin:14px 0 18px}.news-page-grid p{line-height:1.7}.news-page-grid a{text-decoration:none;font-weight:700}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.partners-grid div{min-height:180px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd6cc;background:#faf8f4;text-transform:uppercase;letter-spacing:1.5px;color:#888;font-weight:700}
.contact-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contact-page-grid a{min-height:190px;padding:32px;display:flex;flex-direction:column;justify-content:center;text-decoration:none;border:1px solid #ddd6cc;background:#fff}
.contact-page-grid span{color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700}
.contact-page-grid strong{margin-top:14px;font-size:22px;overflow-wrap:anywhere}

@media(max-width:900px){
  .simple-hero-grid,.club-grid,.roster-grid,.news-page-grid,.partners-grid,.contact-page-grid{grid-template-columns:1fr 1fr}
  .match-card{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .simple-hero-grid,.club-grid,.roster-grid,.news-page-grid,.partners-grid,.contact-page-grid{grid-template-columns:1fr}
  .simple-hero img,.crest-panel{height:380px}
  .match-card,.versus{grid-template-columns:1fr}
  .match-card>div{border-right:0;border-bottom:1px solid #ddd6cc}
  .season-list>div,.org-list>div{grid-template-columns:1fr}
}


/* FIX COMPETIZIONI E CONTATTI */

.coach-card{
  min-height:220px;
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05)
}
.coach-card span{
  color:var(--gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase
}
.coach-card strong{
  margin-top:16px;
  font:600 clamp(36px,4vw,58px)/1 var(--serif)
}

.competition-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:42px
}
.competition-tab{
  padding:15px 20px;
  border:1px solid #cfc7bc;
  background:#fff;
  color:#111;
  font-weight:700;
  cursor:pointer
}
.competition-tab.active{
  color:#fff;
  background:var(--red);
  border-color:var(--red)
}
.competition-panel{display:none}
.competition-panel.active{display:block}
.competition-head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:28px
}
.competition-head>div{
  display:flex;
  gap:20px;
  align-items:end
}
.competition-head span{
  color:var(--red);
  font:600 36px/1 var(--serif)
}
.competition-head h3{
  margin:0;
  font:600 clamp(38px,5vw,62px)/1 var(--serif)
}
.competition-head p{
  max-width:420px;
  color:var(--muted)
}
.competition-panel .season-list{margin-top:30px}
.contact-email-only{
  grid-template-columns:1fr!important;
  max-width:760px
}

@media(max-width:700px){
  .competition-head{
    align-items:flex-start;
    flex-direction:column
  }
  .competition-head>div{
    align-items:flex-start;
    flex-direction:column
  }
}


/* PUGILATO — FOTO UNICHE */
.page-boxing .ali-feature img { object-position: center; }
.page-boxing .ali-feature > div p:not(.eyebrow) {
  margin: 0 0 18px;
  color: rgba(255,255,255,.76);
  font-size: 17px;
  line-height: 1.82;
}
.page-boxing .gallery-hero img { object-position: center; }
