
:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem); --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem); --text-base: clamp(0.96rem, 0.92rem + 0.18vw, 1rem); --text-lg: clamp(1.02rem, 0.98rem + 0.45vw, 1.18rem); --text-xl: clamp(1.24rem, 1.08rem + 0.95vw, 1.8rem); --text-2xl: clamp(1.6rem, 1.2rem + 1.7vw, 2.4rem); --text-3xl: clamp(2rem, 1.25rem + 2.8vw, 3.2rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; --space-20: 5rem; --space-24: 6rem;
  --color-bg:#ffffff; --color-surface:#f8fbff; --color-surface-2:#ffffff; --color-surface-offset:#edf4fb; --color-surface-offset-2:#dce9f7; --color-divider:#dbe5f0; --color-border:rgba(18,47,82,0.12); --color-text:#13263f; --color-text-muted:#54657b; --color-text-faint:#8191a3; --color-text-inverse:#f4f8fd; --color-primary:#1a4f89; --color-primary-hover:#143f6d; --color-primary-active:#0f2e4f; --color-primary-highlight:#d9e8f7;
  --radius-sm:0.375rem; --radius-md:0.5rem; --radius-lg:0.75rem; --radius-xl:1rem; --radius-2xl:1.5rem; --radius-full:9999px; --shadow-sm:0 1px 3px rgba(13,31,53,0.06); --shadow-md:0 10px 28px rgba(13,31,53,0.08); --shadow-lg:0 24px 60px rgba(13,31,53,0.12);
  --font-display:'Cormorant Garamond', Georgia, serif; --font-body:'Manrope', 'Inter', sans-serif; --content-default:1120px; --transition-interactive:180ms cubic-bezier(0.16,1,0.3,1);
}
[data-theme="dark"] { --color-bg:#091422; --color-surface:#0e1d31; --color-surface-2:#12253c; --color-surface-offset:#10233a; --color-surface-offset-2:#173250; --color-divider:#234262; --color-border:rgba(233,240,248,0.12); --color-text:#e7eef7; --color-text-muted:#b5c4d4; --color-text-faint:#8fa1b8; --color-text-inverse:#10233a; --color-primary:#7fb2e7; --color-primary-hover:#9fc7f0; --color-primary-active:#c1dbf7; --color-primary-highlight:#173551; --shadow-sm:0 1px 3px rgba(0,0,0,.2); --shadow-md:0 10px 28px rgba(0,0,0,.3); --shadow-lg:0 24px 60px rgba(0,0,0,.4); }
*,:before,:after{box-sizing:border-box;margin:0;padding:0} html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth} body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:linear-gradient(180deg,var(--color-bg),var(--color-surface) 65%,var(--color-bg));} a,button{transition:all var(--transition-interactive)} a{text-decoration:none;color:inherit} button{background:none;border:none;cursor:pointer} img,svg{display:block;max-width:100%;height:auto} h1,h2,h3{font-family:var(--font-display);line-height:1.08;font-weight:600;color:var(--color-text)} p,li{color:var(--color-text-muted);max-width:72ch}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:var(--color-primary);color:white;padding:.75rem 1rem;border-radius:var(--radius-md)} .container{width:min(calc(100% - 2rem),var(--content-default));margin-inline:auto}
.topbar{background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-sm)} .topbar .container{display:flex;justify-content:space-between;gap:var(--space-4);padding:.6rem 0;flex-wrap:wrap} .topbar a{color:var(--color-text-inverse)}
.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)} [data-theme="dark"] .site-header{background:rgba(14,29,49,.9)} .header-inner{min-height:5.2rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3)} .logo-link svg{width:auto;height:58px}
.header-actions{display:flex;align-items:center;gap:var(--space-3)} .menu-toggle,.theme-toggle{width:44px;height:44px;border:1px solid var(--color-border);border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-surface-2);color:var(--color-text)} .menu-toggle{display:none}
.primary-nav{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap} .primary-nav a{font-size:var(--text-sm);color:var(--color-text-muted);position:relative;padding:.45rem 0} .primary-nav a.current,.primary-nav a:hover{color:var(--color-text)} .primary-nav a:after{content:"";position:absolute;left:0;bottom:-.2rem;width:0;height:1px;background:var(--color-primary);transition:width var(--transition-interactive)} .primary-nav a.current:after,.primary-nav a:hover:after{width:100%}
.page-shell{padding:clamp(var(--space-8),6vw,var(--space-16)) 0 var(--space-16)} .page-frame{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);overflow:hidden}
.hero-premium{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--color-surface-2),var(--color-surface))}.hero-premium:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, var(--color-primary-highlight), transparent 40%);pointer-events:none}
.hero{padding:clamp(var(--space-10),9vw,var(--space-20)) clamp(var(--space-6),5vw,var(--space-10));display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-10);align-items:center} .eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--color-primary);font-weight:700;margin-bottom:var(--space-4)} .hero h1{font-size:var(--text-3xl);margin-bottom:var(--space-5)} .hero p{font-size:var(--text-lg)} .hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.panel{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-hover));color:var(--color-text-inverse);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)} .panel h2,.panel h3,.panel p,.panel li{color:var(--color-text-inverse)} .panel ul{list-style:none;display:grid;gap:var(--space-4);margin-top:var(--space-6)} .panel li{padding-bottom:var(--space-3);border-bottom:1px solid rgba(255,255,255,.16)}
.inner-section{padding:clamp(var(--space-10),6vw,var(--space-16)) clamp(var(--space-6),5vw,var(--space-10));border-top:1px solid var(--color-divider)} .inner-section:first-child{border-top:none} .section-head{display:grid;grid-template-columns:.7fr 1fr;gap:var(--space-8);align-items:start;margin-bottom:var(--space-8)} .section-head h2{font-size:var(--text-2xl)} .lead{font-size:var(--text-lg);color:var(--color-text)}
.grid-2,.grid-3{display:grid;gap:var(--space-6)} .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))} .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)} .card h3{font-size:var(--text-xl);margin-bottom:var(--space-3)} .card h4{font-size:var(--text-lg);margin-bottom:var(--space-3);font-family:var(--font-body);font-weight:700;color:var(--color-text)} .card ul{padding-left:1.1rem;display:grid;gap:.55rem}
.icon-badge{width:54px;height:54px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-primary);color:#fff;margin-bottom:var(--space-4)} .stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding:0 clamp(var(--space-6),5vw,var(--space-10)) clamp(var(--space-10),6vw,var(--space-16))} .stat{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-5);border-radius:var(--radius-lg)} .stat strong{display:block;font-size:var(--text-xl);font-family:var(--font-display);color:var(--color-text)} .stat span{font-size:var(--text-sm);color:var(--color-text-muted)}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.9rem 1.2rem;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:700;text-align:center} .cta.secondary{background:transparent;color:var(--color-primary);border:1px solid var(--color-border)} .list-clean{list-style:none;display:grid;gap:var(--space-4)} .list-clean li{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-divider)} .contact-wrap{display:grid;grid-template-columns:1fr .9fr;gap:var(--space-6)}
.footer{border-top:1px solid var(--color-border);padding:var(--space-8) 0 var(--space-12);margin-top:var(--space-12)} .footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:var(--space-6);padding-top:var(--space-6)} .footer-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-3)} .footer-list{list-style:none;display:grid;gap:var(--space-2)} .footer-list a{color:var(--color-text-muted)}
@media (max-width:980px){.hero,.section-head,.grid-2,.grid-3,.stat-grid,.contact-wrap,.footer-grid{grid-template-columns:1fr}.header-inner{align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.primary-nav{gap:var(--space-3)}.panel{padding:var(--space-6)}}
@media (max-width:760px){.container{width:min(calc(100% - 1.25rem),var(--content-default))}.logo-link svg{height:48px}.menu-toggle{display:grid}.header-actions{position:relative;flex-wrap:wrap}.primary-nav{display:none;flex-direction:column;align-items:flex-start;width:100%;padding:var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.primary-nav.open{display:flex}.primary-nav a{width:100%;padding:.7rem 0}.primary-nav a:after{display:none}.hero{padding-top:var(--space-10);gap:var(--space-6)}.hero-actions{flex-direction:column}.hero-actions .cta,.cta{width:100%}.inner-section{padding:var(--space-8) var(--space-5)}.stat-grid{padding:0 var(--space-5) var(--space-8)}.section-head{gap:var(--space-4);margin-bottom:var(--space-6)}.card{padding:var(--space-5)}.icon-badge{width:48px;height:48px}.footer{margin-top:var(--space-8)}}
@media (max-width:480px){.logo-link svg{height:42px}.hero h1{font-size:clamp(2rem,9vw,2.8rem)}.hero p,.lead{font-size:var(--text-base)}.panel{padding:var(--space-5)}.stat{padding:var(--space-4)}.theme-toggle,.menu-toggle{width:42px;height:42px}}

.hero-subtitle{max-width:56ch}.hero-page-title{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.hero-copy{display:grid;gap:var(--space-4)}.panel-note{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.18)}

.logo-link img{width:auto;height:58px}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.area-card{display:block;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}
.area-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.area-card h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700;margin-bottom:var(--space-3);color:var(--color-text)}
.breadcrumbs{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.breadcrumbs a{color:var(--color-primary)}
.area-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-6)}
.area-points{list-style:none;display:grid;gap:var(--space-3)}
.area-points li{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.map-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:700}
@media (max-width:980px){.area-grid,.area-detail{grid-template-columns:1fr}}
@media (max-width:760px){.logo-link img{height:48px}}
@media (max-width:480px){.logo-link img{height:42px}}

.home-logo-large{height:92px !important}.page-activities .hero{grid-template-columns:1fr}.page-activities .panel{display:none}.page-news .panel{display:none}.page-news .stat-grid{display:none}




/* Logo grande in filigrana nella hero della home */
.hero-with-logo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero-with-logo > * {
  position: relative;
  z-index: 1;
}
.hero-with-logo::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("logo-benatti.jpg");
  background-repeat: no-repeat;
  background-position: left 11% top 38%;
  background-size: min(58vw, 680px);
  opacity: 0.11;
  pointer-events: none;
  z-index: 0;
}



.trust-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.trust-card {border:none;color:#fff;box-shadow:var(--shadow-md);}
.trust-card strong {font-size:clamp(1.9rem,1.3rem + 2vw,3rem);line-height:1;}
.trust-card span {color:rgba(255,255,255,.92);font-weight:600;}
.trust-card-dark {background:linear-gradient(135deg,#0d3f79,#0a5ea8);}
.trust-card-mid {background:linear-gradient(135deg,#0b4c8c,#2a78c8);}
.trust-card-light {background:linear-gradient(135deg,#6eb6ea,#2f78c5);}
@media (max-width: 980px){.trust-grid{grid-template-columns:1fr;}}


.hero-branding {margin-bottom: var(--space-4);}
.hero-branding img {width:min(100%, 520px); height:auto; object-fit:contain; display:block;}


.hero-branding-image {margin-bottom: var(--space-4);}
.hero-branding-image img {width:min(100%, 560px);height:auto;display:block;object-fit:contain;}


/* Timeline home: colori invertiti per 1974, 1980, Via Fara 30 */
.timeline-card-left{
  background-color:#e3f2fd; /* azzurro chiaro */
  border-color:#90caf9;
}
.timeline-card-center{
  background-color:#1e3a8a; /* blu intenso */
  color:#f9fafb;
  border-color:#1d4ed8;
}
.timeline-card-right{
  background-color:#e3f2fd;
  border-color:#90caf9;
}
.timeline-card-center h3,
.timeline-card-center p,
.timeline-card-center li{
  color:#e5ecff;
}


/* Colori forzati per le 3 tabelle cronologiche della home */
.stat-grid:first-of-type .stat:nth-child(1),
.stat-grid:first-of-type .stat:nth-child(3){
  background:#dbeafe !important;
  border:1px solid #93c5fd !important;
  color:#16324f !important;
}
.stat-grid:first-of-type .stat:nth-child(2){
  background:#1d4ed8 !important;
  border:1px solid #1e40af !important;
  color:#ffffff !important;
}
.stat-grid:first-of-type .stat:nth-child(1) strong,
.stat-grid:first-of-type .stat:nth-child(1) span,
.stat-grid:first-of-type .stat:nth-child(3) strong,
.stat-grid:first-of-type .stat:nth-child(3) span{
  color:#16324f !important;
}
.stat-grid:first-of-type .stat:nth-child(2) strong,
.stat-grid:first-of-type .stat:nth-child(2) span{
  color:#ffffff !important;
}

/* v39 - Logo placeholder nella hero (sostituisce la scritta eyebrow) */
.hero-copy .hero-logo {
  margin-bottom: 1.25rem;
  max-width: 480px;
}
.hero-copy .hero-logo img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 640px) {
  .hero-copy .hero-logo {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* v40 - Foto team: thumbnail nella pagina team e foto grande nelle sottopagine */
.team-card-with-photo {
  text-align: center;
}
.team-card-with-photo h3 {
  margin-bottom: 0.75rem;
}
.team-card-with-photo .team-thumb {
  display: block;
  width: 140px;
  height: 140px;
  margin: 0 auto;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  border: 3px solid rgba(11, 61, 102, 0.12);
  box-shadow: 0 4px 14px rgba(11, 61, 102, 0.10);
  background-color: #f1f4f7;
}
.team-card-with-photo:hover .team-thumb {
  border-color: rgba(11, 61, 102, 0.35);
  transform: scale(1.03);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

/* Foto grande nelle pagine individuali */
.team-photo-large {
  margin: 0 0 1.75rem 0;
  display: flex;
  justify-content: center;
}
.team-photo-large img {
  width: 100%;
  max-width: 360px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(11, 61, 102, 0.15);
  border: 1px solid rgba(11, 61, 102, 0.10);
}
@media (min-width: 768px) {
  .team-photo-large img {
    max-width: 420px;
  }
}

/* Utility: screen reader only */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* v43 - Foto copertina nella pagina Studio */
.studio-cover {
  margin: 0 clamp(1rem, 5vw, 2.5rem) clamp(2rem, 5vw, 3rem);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(11, 61, 102, 0.18);
  border: 1px solid rgba(11, 61, 102, 0.10);
}
.studio-cover img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 768px) {
  .studio-cover img {
    max-height: 320px;
  }
}

/* v46 - Descrizione completa sotto il titolo nelle pagine area */
.hero-description p {
  margin: 0;
}
.hero-description p + p {
  margin-top: 0.85rem;
}

/* v50 - Ottimizzazione mobile dei bottoni stat/trust nella home */
@media (max-width: 768px) {
  .trust-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .trust-grid .trust-card {
    padding: 1rem 1.1rem;
    min-height: auto;
  }
  .trust-grid .trust-card strong {
    font-size: clamp(1.6rem, 5vw, 2rem);
    line-height: 1.1;
    margin-bottom: 0.35rem;
    display: block;
  }
  .trust-grid .trust-card span {
    font-size: 0.92rem;
    line-height: 1.35;
    display: block;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .trust-grid .trust-card span {
    font-size: 0.88rem;
    line-height: 1.35;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}
/* Su tutte le dimensioni: evita testo che esce dal bottone */
.trust-card span {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ============================================== */
/* v51 - Ottimizzazione mobile globale del sito  */
/* ============================================== */

@media (max-width: 768px) {
  /* Container e padding generali ottimizzati */
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .page-frame {
    padding: 1.25rem 0.9rem;
  }

  /* Tipografia titoli più compatta su mobile */
  .hero-page-title,
  h1 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    line-height: 1.2;
  }
  .hero-subtitle,
  .hero-description {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .panel h2,
  aside.panel h2 {
    font-size: 1.35rem !important;
    line-height: 1.25;
  }
  h2 {
    font-size: 1.5rem;
    line-height: 1.25;
  }
  h3 {
    font-size: 1.15rem;
    line-height: 1.3;
  }

  /* Hero: layout colonna su mobile, panel sotto la copy */
  .hero {
    grid-template-columns: 1fr !important;
    gap: 1.25rem;
  }
  .hero-copy,
  aside.panel {
    width: 100%;
  }

  /* Bottoni CTA: full-width su mobile per facile tap */
  .hero-actions {
    flex-direction: column;
    gap: 0.6rem;
    align-items: stretch;
  }
  .hero-actions .cta {
    width: 100%;
    text-align: center;
    padding: 0.85rem 1.2rem;
    font-size: 1rem;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Header: hamburger e bottoni con target tap >= 44px */
  .menu-toggle,
  .theme-toggle {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Stat-grid in colonna singola */
  .stat-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
  }

  /* Grid generiche a colonna singola */
  .grid-2 {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  /* Card e riquadri: padding più contenuto */
  .card,
  aside.panel,
  .panel {
    padding: 1.1rem 1.15rem;
  }
  .area-card {
    padding: 1.1rem 1.15rem;
  }

  /* Team: griglia in 2 colonne su mobile (era 3 desktop) */
  .area-grid,
  .grid-3 {
    grid-template-columns: 1fr !important;
    gap: 0.85rem;
  }
  /* Per la pagina team: forziamo 1 colonna per garantire leggibilità */
  body .grid-3 .team-card-with-photo {
    width: 100%;
  }
  .team-card-with-photo .team-thumb {
    width: 120px;
    height: 120px;
  }

  /* Foto grande nei profili individuali */
  .team-photo-large img {
    max-width: 280px;
    border-radius: 12px;
  }

  /* Foto copertina pagina Studio: visibile fin da subito */
  .studio-cover {
    margin: 0 0 1.5rem 0;
    border-radius: 12px;
  }
  .studio-cover img {
    max-height: 240px;
  }

  /* Hero logo (logo grande nella home) */
  .hero-copy .hero-logo {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  /* Filigrana hero più discreta su mobile */
  .hero-with-logo::before {
    background-size: min(85vw, 420px);
    background-position: center top 32%;
    opacity: 0.08;
  }

  /* Footer: spacing più ariosa, link più cliccabili */
  .footer .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
  .footer .footer-list a,
  .footer a[href^="tel:"],
  .footer a[href^="mailto:"] {
    display: inline-block;
    min-height: 36px;
    line-height: 1.3;
    padding: 0.25rem 0;
  }
  .footer .footer-title {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }

  /* Topbar: testo più piccolo, telefono cliccabile */
  .topbar {
    font-size: 0.82rem;
  }
  .topbar a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
  }

  /* Trust card (i 6 bottoni colorati): testi non troncati */
  .trust-card strong {
    display: block;
  }

  /* Breadcrumbs leggibili */
  .breadcrumbs {
    font-size: 0.82rem;
    word-break: break-word;
  }

  /* Evita overflow orizzontale ovunque */
  body, html {
    overflow-x: hidden;
  }
  img {
    max-width: 100%;
    height: auto;
  }
}

/* Mobile piccolo (≤ 380px) — telefoni stretti */
@media (max-width: 380px) {
  .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .hero-page-title,
  h1 {
    font-size: 1.5rem !important;
  }
  .panel h2,
  aside.panel h2 {
    font-size: 1.2rem !important;
  }
  .trust-card strong {
    font-size: 1.45rem !important;
  }
  .trust-card span {
    font-size: 0.85rem;
  }
}
