/*
 * MicheleBusce.it · controllo qualità globale 1.0
 * WCAG 2.2 AA: tipografia, reflow, focus, contrasto e riduzione movimento.
 * Foglio correttivo unico, caricato per ultimo in tutta l'anteprima.
 */
:root{
  --mb-text-meta:.875rem;
  --mb-text-small:.9375rem;
  --mb-text-body:clamp(1rem,.97rem + .16vw,1.125rem);
  --mb-text-lead:clamp(1.125rem,1.05rem + .34vw,1.35rem);
  --mb-title-card:clamp(1.5rem,1.28rem + 1.05vw,2.5rem);
  --mb-title-section:clamp(2.125rem,1.62rem + 2.35vw,4.5rem);
  --mb-title-page:clamp(2.75rem,2rem + 3.55vw,6.125rem);
  --mb-line-body:1.65;
  --mb-line-title:1;
  --mb-reading-width:68ch;
  --mb-blue-text:#2f668f;
  --mb-training-text:#805311;
  --mb-territory-text:#7b542f;
  --font-display:var(--mb-font-display);
  --font-mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:7rem;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
body{
  min-width:0;
  font-size:var(--mb-text-body);
  line-height:var(--mb-line-body);
  overflow-x:clip;
}
main{overflow:visible}
main[id],section[id],article[id],h1[id],h2[id],h3[id]{scroll-margin-top:7rem}
img,svg,video,canvas,iframe{max-width:100%}
img{height:auto}
p,li,dd{line-height:var(--mb-line-body)}
p{max-width:var(--mb-reading-width)}
small{font-size:var(--mb-text-meta);line-height:1.5}
code,kbd,samp{overflow-wrap:anywhere}

h1,h2,h3{
  max-width:100%;
  line-height:var(--mb-line-title);
  letter-spacing:-.025em;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
h1{font-size:var(--mb-title-page)}
h2{font-size:var(--mb-title-section)}
h3{font-size:var(--mb-title-card)}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--mb-focus);
  outline-offset:4px;
  box-shadow:0 0 0 2px var(--mb-paper),0 0 0 6px var(--mb-focus);
}
:where(button,[type="button"],[type="submit"],[type="reset"],.button,.menu-button){touch-action:manipulation}
:where(button,[type="button"],[type="submit"],[type="reset"],.button,.menu-button,.home-v1-button,.home-v2-rail-head button){min-width:44px;min-height:44px}
main :where(p,li) a{text-decoration-thickness:.1em;text-underline-offset:.2em}

.skip-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  font-size:1rem;
  font-weight:800;
}
.preview-header-inner{min-height:80px}
.preview-brand small{font-size:var(--mb-text-meta)}
.preview-navigation a,.menu-button,.button{
  font-size:var(--mb-text-meta);
  line-height:1.25;
  letter-spacing:.035em;
}
.preview-navigation a{min-height:44px;display:inline-flex;align-items:center}
.kicker,.system-label,.section-heading p,.page-status span,.ds-heading span{
  font-size:var(--mb-text-meta);
  letter-spacing:.07em;
}
.preview-hero h1,.page-hero h1{
  font-size:var(--mb-title-page);
  line-height:1;
  letter-spacing:-.035em;
}
.hero-lead,.page-hero>div>p:last-child,.page-hero>p:last-child{font-size:var(--mb-text-lead);line-height:1.65}
.section-heading h2,.ds-heading h2,.slug-rules h2,.placeholder-panel h2{font-size:var(--mb-title-section);line-height:1}
.route-card strong{font-size:var(--mb-title-card);line-height:1.05}
.route-card small,.system-card li span,.foundation-item small{font-size:var(--mb-text-meta)}

/* Colori testuali conformi su fondi chiari */
:where(.home-v1-kicker,.home-v2-editorial-head>div>p,.home-v3-projects-head>div>p,.home-v4-solutions-head>div>p,.home-v5-profile-copy>p:first-child,.home-v5-follow>div:first-child>p:first-child){color:var(--mb-blue-text)}
.home-v6-access-card.is-training>span{color:var(--mb-training-text)}

/* Home: scala unica e spaziature meno dispersive */
.home-v1-hero{
  gap:clamp(2rem,5vw,5.5rem);
  min-height:auto;
  padding-block:clamp(3rem,7vw,6.5rem);
}
.home-v1-kicker,
.home-v2-editorial-head>div>p,
.home-v2-editorial-method>p,
.home-v2-rail-head>p,
.home-v3-projects-head>div>p,
.home-v4-solutions-head>div>p,
.home-v5-profile-copy>p:first-child,
.home-v5-follow>div:first-child>p:first-child,
.home-v6-access-head>div>p,
.home-v6-access-card>span,
.home-v1-method-card>span,
.home-v1-status>div>p{
  font-size:var(--mb-text-meta);
  line-height:1.35;
  letter-spacing:.075em;
}
.home-v1-title{
  font-size:var(--mb-title-page);
  line-height:.98;
  letter-spacing:-.035em;
  text-transform:none;
}
.home-v1-lead{font-size:var(--mb-text-lead);line-height:1.65;max-width:62ch}
.home-v1-roles{font-size:var(--mb-text-small);line-height:1.5}
.home-v1-preview-chip span,.home-v1-preview-chip strong{font-size:var(--mb-text-meta);line-height:1.45}
.home-v1-topics a{min-height:112px}
.home-v1-topics a>span,.home-v2-meta,.home-v3-project-meta,.home-v3-project-number{font-size:var(--mb-text-meta);line-height:1.4}
.home-v1-topics strong{font-size:clamp(1.25rem,1.05rem + .75vw,1.8rem);line-height:1.1}
.home-v1-topics small{font-size:var(--mb-text-meta);line-height:1.45}

.home-v2-editorial,
.home-v3-projects,
.home-v4-solutions,
.home-v5-profile,
.home-v5-follow,
.home-v6-access{
  padding-block:clamp(4rem,7vw,7rem);
}
.home-v2-editorial-head h2,
.home-v3-projects-head h2,
.home-v4-solutions-head h2,
.home-v5-profile-copy h2,
.home-v5-follow h2,
.home-v6-access-head h2{
  font-family:var(--mb-font-display);
  font-size:var(--mb-title-section);
  line-height:1;
  letter-spacing:-.03em;
  text-transform:none;
}
.home-v2-editorial-head p,
.home-v2-featured-copy>p,
.home-v2-card-copy>p,
.home-v3-projects-intro>p,
.home-v3-featured-copy>p,
.home-v3-project-copy>p,
.home-v4-solutions-head>div:last-child>p,
.home-v4-solution-card>p,
.home-v5-profile-copy>p:nth-of-type(2),
.home-v5-follow>div:first-child>p:nth-of-type(2),
.home-v6-access-head>p,
.home-v6-access-card p{
  font-size:var(--mb-text-body);
  line-height:var(--mb-line-body);
}
.home-v2-featured-copy h3,
.home-v2-card-copy h3,
.home-v3-featured-copy h3,
.home-v3-project-copy h3,
.home-v4-solution-card h3,
.home-v5-profile-areas strong,
.home-v5-follow-grid strong,
.home-v6-access-card h3{
  font-size:var(--mb-title-card);
  line-height:1.05;
  letter-spacing:-.025em;
  text-transform:none;
}
.home-v2-editorial-method small,
.home-v3-featured-copy li,
.home-v3-project-copy li,
.home-v4-solution-card li,
.home-v4-process small,
.home-v5-profile-areas small,
.home-v5-follow-grid small{
  font-size:var(--mb-text-meta);
  line-height:1.5;
}
.home-v2-featured,.home-v3-featured-project{min-height:0}
.home-v2-featured-copy,.home-v3-featured-copy{padding:clamp(1.5rem,3vw,3rem)}
.home-v2-card,.home-v3-project-card,.home-v4-solution-card,.home-v6-access-card{min-height:0}
.home-v3-projects-intro>div strong{font-size:clamp(2.25rem,4vw,4.5rem);line-height:1}
.home-v3-projects-intro>div span{font-size:var(--mb-text-meta);line-height:1.45}
.home-v3-capabilities span{font-size:var(--mb-text-meta);line-height:1.4}
.home-v4-process>div strong{font-size:clamp(1.35rem,1.2rem + .55vw,1.9rem);line-height:1.1}
.home-v5-profile-portrait{min-height:clamp(430px,52vw,620px)}
.home-v5-profile-portrait span,.home-v5-profile-portrait strong,.home-v5-follow-grid i{font-size:var(--mb-text-meta);line-height:1.35}
.home-v6-access-card{padding:clamp(1.5rem,3vw,3rem)}
.home-v6-access-card>span{margin-block:1.5rem 1rem}
.home-v6-card-visual{height:clamp(140px,16vw,180px)}

/* Pagine interne e schede articolo */
:where(.solution-hero h1,.profile-hero h1,.media-hero h1,.editorial-hero h1,.article-hero h1,.archive-hero h1){
  font-size:var(--mb-title-page);
  line-height:1;
  letter-spacing:-.035em;
}
:where(.solution-page h2,.profile-page h2,.media-page h2,.editorial-page h2,.article-page h2,.archive-page h2){
  font-size:var(--mb-title-section);
  line-height:1.02;
  letter-spacing:-.025em;
}
:where(.solution-page h3,.profile-page h3,.media-page h3,.editorial-page h3,.article-page h3,.archive-page h3){
  font-size:var(--mb-title-card);
  line-height:1.08;
}
:where(.solution-page,.profile-page,.media-page,.editorial-page,.article-page,.archive-page) small,
:where(.solution-page,.profile-page,.media-page,.editorial-page,.article-page,.archive-page) [class*="meta"],
:where(.solution-page,.profile-page,.media-page,.editorial-page,.article-page,.archive-page) [class*="kicker"]{
  font-size:var(--mb-text-meta);
  line-height:1.5;
}
:where(.article-body,.article-content,.editorial-copy,.profile-copy,.media-copy,.solution-copy) p,
:where(.article-body,.article-content,.editorial-copy,.profile-copy,.media-copy,.solution-copy) li{
  font-size:var(--mb-text-body);
  line-height:1.72;
}

/* Reflow a 320 CSS px e zoom testo */
@media (max-width:980px){
  .preview-header-inner{min-height:72px}
  .preview-navigation a{width:100%;padding:.75rem 0}
  .home-v2-editorial-head,.home-v3-projects-head,.home-v4-solutions-head,.home-v6-access-head{gap:1.5rem}
}
@media (max-width:640px){
  :root{
    --mb-title-page:clamp(2.5rem,2.15rem + 1.8vw,3.25rem);
    --mb-title-section:clamp(2rem,1.8rem + 1vw,2.7rem);
    --mb-title-card:clamp(1.45rem,1.35rem + .5vw,1.9rem);
  }
  body{font-size:1rem}
  .preview-brand strong{font-size:1.05rem}
  .preview-brand small{font-size:.875rem}
  .home-v1-hero,
  .home-v2-editorial,
  .home-v3-projects,
  .home-v4-solutions,
  .home-v5-profile,
  .home-v5-follow,
  .home-v6-access{padding-inline:1rem;padding-block:3.5rem}
  .home-v1-title,
  .home-v2-editorial-head h2,
  .home-v3-projects-head h2,
  .home-v4-solutions-head h2,
  .home-v5-profile-copy h2,
  .home-v5-follow h2,
  .home-v6-access-head h2{font-size:inherit}
  .home-v1-title{font-size:var(--mb-title-page)}
  .home-v2-editorial-head h2,
  .home-v3-projects-head h2,
  .home-v4-solutions-head h2,
  .home-v5-profile-copy h2,
  .home-v5-follow h2,
  .home-v6-access-head h2{font-size:var(--mb-title-section)}
  .home-v1-topics a{min-height:0;padding:1rem}
  .home-v2-featured-media,.home-v3-featured-visual{min-height:260px}
  .home-v5-profile-portrait{min-height:460px}
  .home-v5-follow-grid span{grid-template-columns:2.25rem minmax(0,1fr)}
}
@media (max-width:360px){
  .preview-header-inner{padding-inline:.75rem}
  .preview-logo{width:52px}
  .home-v1-hero,
  .home-v2-editorial,
  .home-v3-projects,
  .home-v4-solutions,
  .home-v5-profile,
  .home-v5-follow,
  .home-v6-access{padding-inline:.875rem}
  .home-v1-actions,.hero-actions{display:grid;grid-template-columns:1fr}
  .home-v1-button,.button{width:100%}
}

/* WCAG 2.2 · 1.4.12: tollera spaziatura personalizzata senza tagli */
:where(p,li,dd,dt,small,strong,span,a){max-height:none}
:where(.home-v1-preview-chip,.home-v2-meta,.home-v3-project-meta,.home-v5-follow-grid span,.preview-brand>span:last-child){overflow:visible}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  [data-reveal]{opacity:1!important;transform:none!important}
}
@media (forced-colors:active){
  :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid CanvasText;box-shadow:none}
  .preview-header,.home-v2-card,.home-v3-project-card,.home-v4-solution-card,.home-v6-access-card{border:1px solid CanvasText}
}
@media print{
  .preview-header,.preview-footer,.mb-shot-toolbar,.home-v1-orbit,.home-v1-contours{display:none!important}
  body,main{background:#fff;color:#000;max-width:none}
  a{color:#000;text-decoration:underline}
}

/* Correzioni puntuali rilevate nel controllo tipografico della home */
.home-v1-photo-label,
.home-v3-console-top,
.home-v3-console-summary b,
.home-v3-projects-head>div:first-child>p,
.home-v3-project-meta,
.home-v4-solution-top span,
.home-v4-solutions-head>div:first-child>p,
.home-v4-solutions-head>div:last-child>p:first-child,
.home-v2-featured-foot,
.home-v1-button{
  font-size:var(--mb-text-meta)!important;
  line-height:1.45;
}
.home-v3-projects-intro>div span,
.home-v4-solution-card li{
  font-size:var(--mb-text-meta)!important;
  line-height:1.5;
}
.home-v1-photo-label span,
.home-v1-photo-label strong,
.home-v3-console-top span,
.home-v3-console-summary b,
.home-v3-project-meta span,
.home-v3-project-meta small,
.home-v4-solution-top span,
.home-v2-featured-foot>span{
  font-size:inherit!important;
  line-height:inherit;
}
.menu-button span,.home-v4-process span{font-size:var(--mb-text-meta)!important;line-height:1.35}

/* Pagine interne: titoli e metadati verificati nel controllo a 320–1440 px */
.profile-hero h1,
.solutions-hero h1,
.archive-hero h1,
.article-hero h1,
.media-hero h1,
.editorial-hero h1{
  font-size:var(--mb-title-page)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}
.profile-section-heading h2,
.solutions-heading h2,
.archive-section-head h2,
.article-evidence-head h2,
.article-related-head h2,
.media-section-heading h2,
.editorial-section-heading h2{
  font-size:var(--mb-title-section)!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}
.profile-principle-grid h3,
.profile-method-grid h3,
.solution-card h3,
.archive-card h3,
.article-related h3{
  font-size:var(--mb-title-card)!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}

.profile-hero .kicker,
.profile-role-list span,
.profile-portrait>div span,
.profile-portrait>div strong,
.profile-section-heading>p,
.profile-principle-grid article>span,
.profile-path>div>p,
.profile-path span,
.profile-method-grid article>span,
.solutions-hero .kicker,
.system-node,
.solutions-heading>p,
.solution-card-visual>span,
.solutions-process-list span,
.solutions-principles>p,
.archive-numbers dt,
.archive-search span,
.archive-section-head>p,
.archive-feature-media>span,
.archive-card-media>span,
.archive-card-themes a,
.archive-method>p,
.archive-tags>p,
.archive-tags small,
.article-back,
.article-kicker span,
.article-meta dt,
.article-themes a,
.article-layout-switcher span,
.article-layout-switcher a,
.article-tool-actions button,
.article-toc>p,
.article-toc a,
.article-status span,
.article-status p,
.article-summary>p,
.article-tags>span,
.article-tags b,
.article-evidence-head>p,
.article-source-card small,
.article-source-card span,
.article-method>p,
.article-related-head>p{
  font-size:var(--mb-text-meta)!important;
  line-height:1.5!important;
}

.profile-role-list span,
.article-layout-switcher a,
.article-tool-actions button,
.article-themes a,
.archive-card-themes a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.profile-portrait figcaption span,
.profile-portrait figcaption strong,
.solutions-principles>div:first-child>p,
.archive-tools label>span,
.archive-method>div:first-child>p,
.archive-tags>div:first-child>p,
.archive-card-link span{
  font-size:var(--mb-text-meta)!important;
  line-height:1.5!important;
}
.article-sources small,
.article-sources li a>span,
.article-method>div:first-child>p,
.article-external{
  font-size:var(--mb-text-meta)!important;
  line-height:1.5!important;
}

/* Reflow robusto: restringe griglie e contenuti a 320 CSS px e con testo ingrandito. */
@media (max-width:640px){
  html,body,main,
  .page-shell,
  .profile-hero,.profile-section,.profile-principles,.profile-method,
  .solutions-hero,.solutions-section,
  .archive-hero,.archive-results,.archive-method,.archive-tags,
  .article-hero,.article-layout,.article-evidence,.article-method,.article-related{
    min-width:0!important;
    max-width:100%!important;
  }

  body{overflow-wrap:anywhere;word-break:normal}

  .profile-hero,.profile-section,.profile-principles,.profile-method,
  .solutions-hero,.solutions-section,
  .archive-hero,.archive-results,.archive-method,.archive-tags,
  .article-layout,.article-evidence,.article-method,.article-related{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }

  .profile-portrait,
  .profile-portrait figure,
  .profile-portrait figcaption,
  .profile-principle-grid,
  .profile-method-grid,
  .profile-path,
  .profile-path>div,
  .profile-principle-grid article,
  .profile-method-grid article,
  .solutions-grid,
  .solution-card,
  .archive-hero-copy,
  .archive-numbers,
  .archive-method>div,
  .archive-method ol,
  .archive-tags>div,
  .archive-grid,
  .article-sidebar,
  .article-column,
  .article-body,
  .article-summary,
  .article-toc,
  .article-status{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }

  .profile-portrait figcaption{
    left:.75rem!important;
    right:.75rem!important;
    display:grid!important;
    gap:.25rem!important;
  }
  .profile-portrait figcaption strong,
  .profile-portrait figcaption span{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .profile-principle-grid,
  .profile-method-grid,
  .profile-path,
  .archive-numbers,
  .archive-method ol,
  .archive-grid,
  .solutions-grid,
  .article-layout,
  .article-sidebar,
  .article-evidence-grid,
  .article-method ol,
  .article-related .archive-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .profile-principle-grid article,
  .profile-method-grid article,
  .archive-method li,
  .solution-card{
    padding:1rem!important;
  }

  .archive-hero-copy,
  .archive-numbers,
  .archive-method>div,
  .archive-method ol,
  .archive-tags>div{
    overflow-wrap:anywhere!important;
  }

  .article-layout{gap:2rem!important}
  .article-body a,
  .article-toc a,
  .article-sources a,
  .article-external{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .article-layout-timeline .article-body{
    padding-left:0!important;
  }
  .article-layout-timeline .article-body::before,
  .article-layout-timeline .article-body h2::before{
    display:none!important;
  }
}

@media (max-width:640px){
  .archive-hero .kicker,
  .themes-hero .kicker,
  .theme-hero .kicker{
    display:grid!important;
    grid-template-columns:1.5rem minmax(0,1fr)!important;
    align-items:start!important;
    gap:.5rem!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .archive-hero .kicker::before,
  .themes-hero .kicker::before,
  .theme-hero .kicker::before{
    width:1.5rem!important;
    margin-top:.55em!important;
  }
  .archive-feature,
  .archive-feature-media,
  .archive-feature-copy{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
}

/* MB-SITE-HOME-011 · shell globale, navigazione e footer accessibili */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.preview-devbar{
  width:100%;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 1.5rem;
  padding:.42rem max(var(--mb-gutter),1rem);
  background:var(--mb-night);
  color:#fff;
  font-size:var(--mb-text-meta);
  line-height:1.35;
}
.preview-devbar>div,
.preview-devbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1rem}
.preview-devbar span{color:#bac5ca}
.preview-devbar a{color:#fff;text-underline-offset:.2em}

.preview-header{top:0!important}
.preview-header-inner{grid-template-columns:minmax(230px,1fr) auto!important}
.preview-brand small{
  max-width:42ch;
  font-size:var(--mb-text-meta)!important;
  line-height:1.35!important;
}
.preview-navigation a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  font-size:var(--mb-text-meta)!important;
  line-height:1.2!important;
}
.preview-navigation a[aria-current="page"]{font-weight:900}
.menu-button{min-width:104px;min-height:44px;justify-content:center}
.preview-nav-backdrop[hidden]{display:none!important}

.site-breadcrumb{
  width:100%;
  max-width:var(--mb-content);
  margin:0 auto;
  padding:.8rem var(--mb-gutter);
  border-bottom:1px solid var(--mb-line);
  background:var(--mb-paper);
}
.site-breadcrumb ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem .55rem;
  margin:0;
  padding:0;
  list-style:none;
  font-size:var(--mb-text-meta);
  line-height:1.5;
}
.site-breadcrumb li{display:inline-flex;align-items:center;min-width:0}
.site-breadcrumb li:not(:last-child)::after{content:"/";margin-left:.55rem;color:var(--mb-muted)}
.site-breadcrumb a{color:var(--mb-blue-text);font-weight:760}
.site-breadcrumb [aria-current="page"] span{
  max-width:min(56ch,70vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--mb-muted);
}

.site-footer{
  width:100%;
  max-width:var(--mb-content);
  margin:0 auto;
  padding:clamp(2.5rem,5vw,5rem) var(--mb-gutter) max(1.5rem,env(safe-area-inset-bottom));
  background:var(--mb-night);
  color:#fff;
}
.site-footer-grid{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(150px,.65fr));
  gap:clamp(2rem,4vw,4rem);
}
.site-footer-identity{max-width:42ch}
.site-footer-identity img{width:74px;height:auto;margin:0 0 1.1rem;object-fit:contain}
.site-footer-identity>strong{display:block;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.15}
.site-footer-identity p{margin:.8rem 0 0;color:#c4cdd1;font-size:var(--mb-text-body);line-height:1.65}
.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.72rem}
.site-footer h3{margin:0 0 .45rem;font-size:var(--mb-text-meta);line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:#aebbc1}
.site-footer a{min-height:44px;display:inline-flex;align-items:center;color:#fff;font-size:var(--mb-text-small);line-height:1.35}
.site-footer a:hover{text-decoration-thickness:.14em}
.site-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem 2rem;
  margin-top:clamp(2.5rem,5vw,4.5rem);
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.2);
  color:#aebbc1;
  font-size:var(--mb-text-meta);
  line-height:1.5;
}

@media(max-width:1180px){
  .preview-header-inner{grid-template-columns:minmax(0,1fr) auto!important}
  .preview-nav-backdrop{
    position:fixed;
    z-index:-1;
    inset:0;
    background:rgba(17,25,31,.52);
    backdrop-filter:blur(2px);
  }
  .js .preview-navigation{
    z-index:2;
    max-height:calc(100svh - 76px)!important;
  }
  body.menu-open{overflow:hidden}
  body.menu-open .preview-header{z-index:210}
  .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer-identity{grid-column:1/-1}
}

@media(max-width:760px){
  .preview-devbar{align-items:flex-start;flex-direction:column;padding:.55rem 1rem}
  .preview-devbar nav{gap:.4rem .8rem}
  .preview-brand small{display:block!important;max-width:28ch}
  .preview-logo{width:50px!important}
  .menu-button span{display:inline!important}
  .site-breadcrumb{padding:.72rem 1rem}
  .site-breadcrumb [aria-current="page"] span{max-width:58vw}
  .site-footer{padding-left:1rem;padding-right:1rem}
  .site-footer-grid{grid-template-columns:1fr;gap:2.1rem}
  .site-footer-identity{grid-column:auto}
  .site-footer nav{border-top:1px solid rgba(255,255,255,.16);padding-top:1.1rem}
  .site-footer-bottom{flex-direction:column}
}

@media(max-width:390px){
  .preview-brand small{font-size:.78rem!important}
  .menu-button{min-width:92px;padding:.6rem .72rem!important}
}

.no-js .menu-button{display:none!important}
@media(max-width:1180px){
  .no-js .preview-header-inner{grid-template-columns:1fr!important}
  .no-js .preview-navigation{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:0 1rem}
  .no-js .preview-navigation a{white-space:normal;border-bottom:1px solid var(--mb-line)}
}
@media(max-width:520px){.no-js .preview-navigation{grid-template-columns:1fr}}

@media print{
  .preview-devbar,.preview-header,.site-breadcrumb,.site-footer{display:none!important}
}
@media(max-width:1180px){
  .preview-header-inner{z-index:4}
  .preview-nav-backdrop{z-index:1}
  .js .preview-navigation{z-index:5}
}

/* MB-SITE-ACCESSIBILITA-001 */
:target{scroll-margin-top:clamp(86px,11vw,150px)}
main:focus{outline:none}
.preview-page :where(p,li,dd){overflow-wrap:anywhere}
.preview-page :where(a:not([class])){text-underline-offset:.18em;text-decoration-thickness:.08em}
.accessibility-page{background:var(--mb-paper,#f5f4ef);color:var(--mb-ink,#202b35)}
.accessibility-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:clamp(44px,8vw,120px);
  padding:clamp(72px,9vw,142px) max(22px,calc((100vw - 1400px)/2));
  border-bottom:1px solid rgba(32,43,53,.18);
}
.accessibility-hero h1{
  max-width:15ch;
  margin:0;
  font-family:var(--mb-font-display,var(--font-display,Impact,'Arial Narrow',sans-serif));
  font-size:clamp(3rem,6vw,6.25rem);
  line-height:.96;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.accessibility-hero>div>p:last-of-type{
  max-width:66ch;
  margin:28px 0 0;
  font-size:clamp(1.05rem,1rem + .25vw,1.25rem);
  line-height:1.7;
}
.accessibility-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.accessibility-summary{margin:0;border-top:1px solid rgba(32,43,53,.24)}
.accessibility-summary div{
  display:grid;
  grid-template-columns:minmax(105px,.34fr) minmax(0,1fr);
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid rgba(32,43,53,.24);
}
.accessibility-summary dt{font-weight:900;color:#2f668f}
.accessibility-summary dd{margin:0;line-height:1.58}
.accessibility-measures{
  padding:clamp(72px,9vw,138px) max(22px,calc((100vw - 1400px)/2));
  background:#fff;
}
.accessibility-section-heading{display:grid;grid-template-columns:minmax(0,.75fr) minmax(300px,.55fr);gap:40px;align-items:end;margin-bottom:50px}
.accessibility-section-heading h2,
.accessibility-test h2,
.accessibility-help h2{
  max-width:900px;
  margin:0;
  font-size:clamp(2.15rem,4vw,4.65rem);
  line-height:1;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.accessibility-section-heading>p:last-child{max-width:56ch;margin:0;line-height:1.68}
.accessibility-measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(32,43,53,.18)}
.accessibility-measure-grid article{min-height:320px;padding:clamp(26px,3.3vw,45px);border-right:1px solid rgba(32,43,53,.18);border-bottom:1px solid rgba(32,43,53,.18)}
.accessibility-measure-grid article:nth-child(3n){border-right:0}
.accessibility-measure-grid article:nth-child(n+4){border-bottom:0}
.accessibility-measure-grid span{color:#3f6281;font-size:.875rem;font-weight:900}
.accessibility-measure-grid h3{margin:58px 0 17px;font-size:clamp(1.45rem,2vw,2rem);line-height:1.08}
.accessibility-measure-grid p{margin:0;line-height:1.68}
.accessibility-test{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  gap:clamp(44px,8vw,120px);
  padding:clamp(72px,9vw,138px) max(22px,calc((100vw - 1400px)/2));
  background:#202b35;
  color:#fff;
}
.accessibility-test>div>p:last-child{max-width:55ch;margin:26px 0 0;color:rgba(255,255,255,.82);line-height:1.68}
.accessibility-test ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.24)}
.accessibility-test li{display:grid;grid-template-columns:44px minmax(160px,.45fr) minmax(0,1fr);gap:18px;align-items:start;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.24)}
.accessibility-test li>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-weight:900}
.accessibility-test li strong{font-size:1.05rem}
.accessibility-test li small{font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.82)}
.accessibility-help{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:40px;
  align-items:end;
  padding:clamp(72px,9vw,122px) max(22px,calc((100vw - 1400px)/2));
  background:#e9eef2;
}
.accessibility-help p:last-child{max-width:70ch;margin:24px 0 0;line-height:1.7}
.accessibility-help>a{display:inline-flex;min-height:48px;align-items:center;gap:10px;padding:0 18px;background:#3f6281;color:#fff;font-weight:900;text-decoration:none}
@media(max-width:1000px){
  .accessibility-hero,.accessibility-test{grid-template-columns:1fr}
  .accessibility-section-heading{grid-template-columns:1fr;align-items:start}
  .accessibility-measure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accessibility-measure-grid article,.accessibility-measure-grid article:nth-child(3n),.accessibility-measure-grid article:nth-child(n+4){border-right:1px solid rgba(32,43,53,.18);border-bottom:1px solid rgba(32,43,53,.18)}
  .accessibility-measure-grid article:nth-child(even){border-right:0}
  .accessibility-measure-grid article:nth-last-child(-n+2){border-bottom:0}
  .accessibility-help{grid-template-columns:1fr;align-items:start}
}
@media(max-width:650px){
  .accessibility-hero,.accessibility-measures,.accessibility-test,.accessibility-help{padding-inline:18px}
  .accessibility-hero h1{font-size:clamp(2.75rem,13vw,4.5rem)}
  .accessibility-summary div{grid-template-columns:1fr;gap:7px}
  .accessibility-measure-grid{grid-template-columns:1fr}
  .accessibility-measure-grid article,.accessibility-measure-grid article:nth-child(even),.accessibility-measure-grid article:nth-last-child(-n+2){min-height:auto;border-right:0;border-bottom:1px solid rgba(32,43,53,.18)}
  .accessibility-measure-grid article:last-child{border-bottom:0}
  .accessibility-measure-grid h3{margin-top:40px}
  .accessibility-test li{grid-template-columns:42px minmax(0,1fr)}
  .accessibility-test li small{grid-column:2}
}
@media(prefers-contrast:more){
  .accessibility-summary div,.accessibility-measure-grid,.accessibility-measure-grid article{border-color:currentColor}
  .accessibility-help>a{outline:2px solid currentColor}
}
@media(forced-colors:active){
  .accessibility-measure-grid,.accessibility-measure-grid article,.accessibility-test li,.accessibility-summary div{border-color:CanvasText}
  .accessibility-help>a{border:1px solid LinkText}
}


/* MB-SITE-RESPONSIVE-001 · reflow, viewport reali e stabilità del caricamento */
:root{
  --mb-fluid-gutter:clamp(1rem,3vw,2.75rem);
  --mb-touch-size:44px;
}
html{
  scrollbar-gutter:stable;
  font-synthesis:none;
}
body{
  width:100%;
  max-width:100%;
  overscroll-behavior-x:none;
}
@supports not (overflow-x:clip){body{overflow-x:hidden}}
:where(main,section,article,header,footer,nav,aside,form,fieldset,div){min-width:0}
:where(input,select,textarea,button){max-width:100%;font:inherit}
:where(input,select,textarea){min-width:0}
:where(pre,table,.url-registry,.article-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
:where(.button,.home-v1-button,.archive-filter-actions button,.article-tool-actions button){white-space:normal;text-align:center}

/* Stabilità visiva: immagini e loghi non modificano il layout dopo il caricamento. */
.preview-logo img,
.site-footer-identity img,
.home-v3-project-brand img,
.project-brand img{display:block}
.home-v1-photo-frame>img,
.home-v5-profile-portrait>img,
.profile-portrait img,
.article-cover img,
.archive-feature-media img,
.archive-card-media img,
.home-v2-featured-media img,
.home-v2-card-media img{width:100%;height:100%;object-fit:cover}
.home-v3-project-brand img,.project-brand img{object-fit:contain}

/* Header e menu: nessun taglio su tablet, zoom e schermi bassi. */
body.menu-open{overflow:hidden;touch-action:none}
.preview-header-inner{padding-left:max(var(--mb-fluid-gutter),env(safe-area-inset-left));padding-right:max(var(--mb-fluid-gutter),env(safe-area-inset-right))}
.preview-navigation{min-width:0}
.preview-navigation a{overflow-wrap:normal}
@media(max-width:1180px){
  .js .preview-navigation{
    position:fixed;
    left:0;
    right:0;
    top:var(--mb-mobile-header-height,76px);
    max-height:calc(100dvh - var(--mb-mobile-header-height,76px));
    padding-left:max(var(--mb-fluid-gutter),env(safe-area-inset-left));
    padding-right:max(var(--mb-fluid-gutter),env(safe-area-inset-right));
  }
  .preview-nav-backdrop{position:fixed;inset:var(--mb-mobile-header-height,76px) 0 0}
  .preview-navigation a{min-height:48px}
}

/* Griglie principali: 3→2→1 colonne senza comprimere testo e marchi. */
@media(max-width:1100px){
  .home-v3-project-grid,.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-v4-solution-grid,.solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-v6-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-v1-topics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer-identity{grid-column:1/-1}
}
@media(max-width:760px){
  .home-v3-project-grid,.project-card-grid,
  .home-v4-solution-grid,.solutions-grid,
  .home-v6-access-grid,
  .archive-grid,.theme-directory-grid-v2,
  .profile-principle-grid,.profile-method-grid,
  .accessibility-measure-grid{grid-template-columns:1fr!important}
  .home-v1-topics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v3-project-visual{height:clamp(210px,68vw,270px)}
  .home-v3-project-brand--wide{width:min(82%,330px)}
  .home-v4-process{grid-template-columns:1fr!important}
  .home-v4-process>i{display:none}
  .home-v4-process>div{min-height:0}
  .site-footer-grid{grid-template-columns:1fr}
  .site-footer-identity{grid-column:auto}
}

/* Pagine interne e articoli. */
@media(max-width:900px){
  .project-index-hero,.project-detail-hero,
  .solutions-hero,.solution-detail-hero,
  .profile-hero,.media-hero,
  .archive-hero,.themes-overview-hero,.theme-detail-hero,
  .article-hero,.article-layout,
  .accessibility-hero,.accessibility-test{
    grid-template-columns:1fr!important;
  }
  .project-index-facts,.archive-numbers,.themes-overview-stats,.theme-detail-stats{width:100%;max-width:none}
  .article-sidebar{position:static!important;inset:auto!important}
  .article-layout-switcher{justify-content:flex-start}
  .accessibility-section-heading,.archive-section-head,.project-group-heading,.solutions-heading{grid-template-columns:1fr!important;align-items:start!important}
}

/* Reflow stretto: testo leggibile, controlli interi e nessuna colonna fuori viewport. */
@media(max-width:520px){
  :root{
    --mb-fluid-gutter:1rem;
    --mb-title-page:clamp(2.35rem,12.2vw,3.45rem);
    --mb-title-section:clamp(1.95rem,9.4vw,2.75rem);
  }
  .preview-header-inner{gap:.7rem}
  .preview-brand{min-width:0}
  .preview-brand>span:last-child{min-width:0}
  .preview-brand strong{overflow-wrap:anywhere}
  .menu-button{flex:0 0 auto}
  .site-breadcrumb{padding-left:var(--mb-fluid-gutter);padding-right:var(--mb-fluid-gutter)}
  .site-breadcrumb ol{display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .site-breadcrumb li{flex:0 0 auto}
  .home-v1-topics{grid-template-columns:1fr}
  .home-v1-actions,.project-index-actions,.accessibility-actions,.archive-filter-actions,.article-tool-actions,.mb-form-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .home-v1-actions>a,.project-index-actions>a,.accessibility-actions>a,.archive-filter-actions>*,.article-tool-actions>*{width:100%}
  .home-v2-featured-copy,.home-v3-featured-copy,.home-v3-project-copy,.home-v4-solution-card,.home-v6-access-card{padding-left:1rem!important;padding-right:1rem!important}
  .home-v3-project-brand--emblem{width:168px;height:168px}
  .home-v3-project-brand--stacked{width:182px;height:172px}
  .home-v3-project-brand--mark{width:146px;height:146px}
  .project-card-body,.solution-card-body,.archive-card-body{padding-left:1rem!important;padding-right:1rem!important}
  .article-meta,.article-status,.article-summary{grid-template-columns:1fr!important}
  .article-layout-switcher,.article-themes,.article-tags{align-items:stretch}
  .article-layout-switcher a,.article-themes a{justify-content:center}
  .url-registry{display:block}
  .registry-head{display:none!important}
  .registry-row{display:grid!important;grid-template-columns:1fr!important;gap:.55rem;padding:1rem;border-bottom:1px solid var(--mb-line)}
  .registry-row code,.registry-row small{white-space:normal;overflow-wrap:anywhere}
}

/* Schermi bassi e orientamento orizzontale. */
@media(max-height:560px) and (orientation:landscape) and (max-width:1180px){
  .preview-header-inner{min-height:62px}
  .js .preview-navigation{top:62px;max-height:calc(100dvh - 62px)}
  .preview-nav-backdrop{inset:62px 0 0}
  .preview-navigation a{min-height:44px;padding:.55rem 0}
}

/* Risparmio dati: mantiene i contenuti, riduce soltanto gli elementi ornamentali. */
@media(prefers-reduced-data:reduce){
  .home-v1-contours,.home-v1-orbit,.home-v3-featured-orbit,.motion-demo{display:none!important}
  [data-home-parallax]{transform:none!important}
}


/* MB-SITE-INCHIESTE-002 · correzioni tablet, componenti editoriali e footer compatto */
.article-tools{justify-content:flex-end!important}
.article-tool-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.article-tool-actions .article-tool-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.6rem .75rem;
  border:1px solid var(--mb-ink);
  background:#fff;
  color:var(--mb-ink);
  font-size:var(--mb-text-meta);
  font-weight:900;
  letter-spacing:.045em;
  line-height:1.35;
  text-decoration:none;
  text-transform:uppercase;
}
.article-tool-actions .article-tool-link:hover{background:var(--mb-ink);color:#fff}

/* Il componente delle pubblicazioni collegate usa le stesse regole delle card dell'archivio. */
.article-related .archive-grid{width:100%;min-width:0}
.article-related .archive-card,.article-related .archive-card-media,.article-related .archive-card-body{min-width:0}
.article-related .archive-card-media img{display:block;width:100%;height:100%;object-fit:cover}

/* Tablet verticale: immagine e temi non restano più affiancati o attaccati. */
@media(max-width:1100px){
  .article-hero-side{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:1.35rem!important;
  }
  .article-cover{width:100%;max-width:none!important}
  .article-themes{
    width:100%;
    max-width:none!important;
    gap:.6rem!important;
    margin:0!important;
    padding:.35rem 0 0!important;
  }
  .article-related .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .article-related .archive-grid{grid-template-columns:minmax(0,1fr)!important}
  .article-tools{position:static!important;padding:.75rem 1rem!important}
  .article-tool-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .article-tool-actions>*{width:100%!important}
}

/* Footer più compatto: stessa leggibilità, minore distanza verticale. */
.site-footer{padding-top:clamp(2.1rem,4vw,3.6rem)!important}
.site-footer-grid{gap:clamp(1.35rem,2.7vw,2.5rem)!important}
.site-footer nav{gap:.08rem!important}
.site-footer h3{margin-bottom:.28rem!important}
.site-footer a{
  min-height:36px!important;
  padding:.12rem 0!important;
  line-height:1.25!important;
}
.site-footer-bottom{margin-top:clamp(1.7rem,3vw,2.8rem)!important}
@media(max-width:760px){
  .site-footer-grid{gap:1.25rem!important}
  .site-footer nav{padding-top:.72rem!important}
  .site-footer a{min-height:36px!important}
  .site-footer-bottom{gap:.35rem!important;padding-top:.85rem!important}
}

/* MB-SITE-RESPONSIVE-002 · matrice viewport e consolidamento tablet */
html,body{max-width:100%;overflow-x:clip}
main,main>*,section,article,header,footer,nav,figure{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
pre,code,.article-body,.project-card-body,.solution-card-body,.archive-card-body{overflow-wrap:anywhere;word-break:normal}

/* I modelli editoriali sono scelti nel CMS, non dal lettore. */
.article-layout-switcher,[data-article-layout-switcher]{display:none!important}

/* Tablet e piccoli notebook: fascia critica 700–1100 px. */
@media (min-width:700px) and (max-width:1100px){
  :root{--mb-fluid-gutter:clamp(1.35rem,3.2vw,2.35rem)}
  .article-hero{padding-top:clamp(2.6rem,5vw,4.4rem)!important;padding-bottom:clamp(2.8rem,5vw,4.8rem)!important;gap:2rem!important}
  .article-hero h1{max-width:15ch!important;font-size:clamp(3.35rem,7.5vw,5.6rem)!important;line-height:.93!important}
  .article-deck{max-width:68ch!important}
  .article-hero-side{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:1.25rem!important}
  .article-cover{width:100%!important;max-width:none!important;margin:0!important}
  .article-cover img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important}
  .article-themes{position:static!important;display:flex!important;width:100%!important;max-width:none!important;gap:.65rem!important;margin:0!important;padding:.2rem 0 0!important;justify-content:flex-start!important}
  .article-themes a{min-height:44px;display:inline-flex;align-items:center;padding:.55rem .75rem!important}
  .article-meta{max-width:none!important}
  .article-related{padding-top:clamp(2.8rem,5vw,4rem)!important}
  .article-related-head{grid-template-columns:minmax(150px,.3fr) minmax(0,1fr)!important;gap:1.5rem!important}
  .article-related .archive-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important}
  .article-related .archive-card{display:flex!important;min-width:0!important;flex-direction:column!important}
  .article-related .archive-card-media{display:block!important;width:100%!important;height:clamp(220px,31vw,330px)!important;min-height:0!important;overflow:hidden!important}
  .article-related .archive-card-media img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
  .article-related .archive-card-body{display:flex!important;flex:1!important;flex-direction:column!important;padding:1.2rem!important}
  .article-related .archive-card-link{margin-top:auto!important}
  .article-method ol{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .site-footer{padding-top:2.5rem!important}
  .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.15rem 2rem!important}
  .site-footer-identity{grid-column:1/-1;max-width:62ch}
  .site-footer nav{align-content:start;gap:0!important;padding-top:.35rem!important}
  .site-footer h3{margin:0 0 .35rem!important}
  .site-footer a{min-height:34px!important;padding:.08rem 0!important;line-height:1.2!important}
  .site-footer-bottom{margin-top:1.5rem!important;padding-top:.8rem!important}
}

/* Samsung Galaxy Tab e tablet verticali attorno agli 800 px. */
@media (min-width:760px) and (max-width:860px) and (orientation:portrait){
  .preview-header-inner{padding-left:1rem!important;padding-right:1rem!important}
  .article-hero{padding-left:1.35rem!important;padding-right:1.35rem!important}
  .article-hero h1{font-size:clamp(3.15rem,9vw,4.75rem)!important}
  .article-layout,.article-evidence,.article-method,.article-related{padding-left:1.35rem!important;padding-right:1.35rem!important}
  .article-tools{padding-left:1.35rem!important;padding-right:1.35rem!important}
  .article-tool-actions{justify-content:flex-start!important}
  .article-related-head{grid-template-columns:1fr!important;gap:.55rem!important}
  .article-related .archive-card-media{height:250px!important}
  .project-card-grid,.solution-grid,.theme-directory-grid-v2,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-v3-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Smartphone e telefoni grandi. */
@media (max-width:699px){
  html,body{overflow-x:hidden}
  .article-hero h1{max-width:none!important;text-wrap:balance}
  .article-cover img{aspect-ratio:4/3!important}
  .article-themes{display:flex!important;flex-wrap:wrap!important;gap:.55rem!important;margin-top:.2rem!important}
  .article-themes a{min-height:42px;display:inline-flex;align-items:center}
  .article-related .archive-card-media{height:auto!important;aspect-ratio:16/10!important}
  .article-related .archive-card-media img{height:100%!important;object-fit:cover!important}
  .site-footer{padding-top:2rem!important}
  .site-footer-grid{grid-template-columns:1fr!important;gap:.8rem!important}
  .site-footer-identity{margin-bottom:.35rem}
  .site-footer nav{gap:0!important;padding:.45rem 0!important;border-top:1px solid rgba(255,255,255,.14)}
  .site-footer h3{margin:0 0 .25rem!important}
  .site-footer a{min-height:34px!important;padding:.08rem 0!important}
}

/* Landscape basso: menu e strumenti non coprono il contenuto. */
@media (max-height:650px) and (orientation:landscape) and (max-width:1180px){
  .article-tools{position:static!important}
  .preview-navigation{overscroll-behavior:contain}
  .preview-navigation a{min-height:42px!important}
}

/* Tabelle, registri e moduli: reflow senza tagli. */
@media (max-width:900px){
  .article-body table,.editorial-page table,.project-page table,.solutions-page table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .article-body table th,.article-body table td{min-width:150px}
  input,select,textarea,button{max-width:100%}
  .archive-filter-grid,.contact-form-grid,.newsletter-form-grid{grid-template-columns:1fr!important}
  .home-v4-process{overflow-x:auto;overscroll-behavior-inline:contain}
}

/* Le aree cliccabili restano conformi anche quando il footer è compatto. */
@media (pointer:coarse){
  .preview-navigation a,.site-footer a,.article-themes a,.article-tool-link,.archive-card-link,.project-card-link{touch-action:manipulation}
}

/* MB-SITE-NAVIGAZIONE-GLOBALE-049 */
.preview-header{overflow:visible}
.preview-header-inner{
  width:min(100%,var(--mb-content));
  max-width:var(--mb-content);
  min-width:0;
  grid-template-columns:minmax(250px,1fr) max-content!important;
  overflow:visible;
}
.preview-brand{min-width:0;max-width:100%}
.preview-brand>span:last-child{min-width:0}
.preview-navigation{
  min-width:0;
  flex-wrap:nowrap;
  gap:clamp(.48rem,.78vw,.92rem);
}
.preview-navigation a{
  flex:0 0 auto;
  font-size:clamp(.68rem,.64rem + .11vw,.78rem)!important;
  letter-spacing:.032em;
}
.preview-navigation-home{display:none!important}
.menu-button{position:relative;z-index:12;flex:0 0 auto}
.preview-nav-backdrop{
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
}
.preview-nav-backdrop:not([hidden]){pointer-events:auto;opacity:1}

@media(max-width:1460px){
  .preview-header-inner{grid-template-columns:minmax(0,1fr) max-content!important}
  body:not(.menu-ready) .menu-button{display:none!important}
  body:not(.menu-ready) .preview-header-inner{grid-template-columns:1fr!important}
  body:not(.menu-ready) .preview-navigation{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    gap:0 1rem;
    padding:.5rem 0 .9rem;
  }
  body:not(.menu-ready) .preview-navigation a{
    min-height:44px;
    border-bottom:1px solid var(--mb-line);
    white-space:normal;
  }
  body.menu-ready .menu-button{display:inline-flex!important}
  body.menu-ready .preview-navigation{
    position:absolute!important;
    z-index:15!important;
    top:calc(100% + 1px)!important;
    left:var(--mb-gutter)!important;
    right:var(--mb-gutter)!important;
    width:auto!important;
    max-height:calc(100dvh - 96px)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch!important;
    gap:0 1.25rem!important;
    padding:1rem clamp(1rem,2.4vw,2rem) max(1.25rem,env(safe-area-inset-bottom))!important;
    border:1px solid var(--mb-line);
    border-top:0;
    background:#fff!important;
    box-shadow:var(--mb-shadow);
  }
  body.menu-ready .preview-navigation[hidden]{display:none!important}
  body.menu-ready .preview-navigation.is-open{display:grid!important}
  body.menu-ready .preview-navigation a{
    width:100%;
    min-height:52px;
    padding:.75rem 0!important;
    border-bottom:1px solid var(--mb-line);
    font-size:.9rem!important;
    white-space:normal;
  }
  body.menu-ready .preview-navigation-home{display:flex!important}
  body.menu-ready .follow-link{
    margin:.5rem 0 0!important;
    padding:.75rem .9rem!important;
    justify-content:center;
    border:1px solid var(--mb-ink)!important;
  }
  .preview-nav-backdrop{
    position:fixed;
    z-index:8;
    inset:0;
    background:rgba(17,25,31,.42);
    backdrop-filter:blur(2px);
  }
  body.menu-open{overflow:hidden}
  body.menu-open .preview-header{z-index:220}
}

@media(min-width:1460.02px){
  body.menu-ready .menu-button{display:none!important}
  body.menu-ready .preview-navigation{display:flex!important}
  .preview-nav-backdrop{display:none!important}
}

@media(max-width:760px){
  .preview-header-inner{padding-inline:1rem!important}
  body.menu-ready .preview-navigation{
    position:fixed!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100dvh - 76px)!important;
    grid-template-columns:1fr;
    gap:0!important;
    padding:1rem max(1rem,env(safe-area-inset-left)) max(1.4rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-right))!important;
    border-left:0;
    border-right:0;
  }
  body:not(.menu-ready) .preview-navigation{grid-template-columns:1fr}
  .preview-brand small{display:none!important}
  .menu-button{min-width:96px!important}
}

@media(max-width:390px){
  .preview-brand strong{font-size:.98rem!important}
  .preview-logo{width:46px!important}
  .menu-button{min-width:48px!important;padding:.6rem!important}
  .menu-button span{display:none!important}
}

/* 049 · pannello mobile pieno e opaco */
@media(max-width:760px){
  body.menu-ready .preview-navigation{
    height:calc(100dvh - 76px)!important;
    min-height:calc(100dvh - 76px)!important;
    background:#fff!important;
    align-content:start!important;
  }
}
