/*
 * MicheleBusce.it · Soluzioni digitali 1.1
 * Unico foglio della cartella /soluzioni-digitali/.
 * Tipografia, reflow, focus e componenti orientati a WCAG 2.2 AA.
 */
.solutions-page{
  --solution-border:rgba(32,43,53,.18);
  --solution-soft:#eef1f3;
  --solution-max:1540px;
  width:100%;
  color:var(--mb-ink);
  overflow-wrap:anywhere;
}
.solutions-page :where(h1,h2,h3,p,dl,dd){margin-top:0}
.solutions-page :where(p,li,dd){font-size:var(--mb-text-body);line-height:var(--mb-line-body)}
.solutions-page :where(a,button){text-underline-offset:.22em}
.solutions-page :where(a,button):focus-visible{outline:3px solid currentColor;outline-offset:4px}
.solutions-eyebrow,
.solutions-heading>div>p,
.solution-section-heading>p,
.solutions-standards>div>p,
.solution-limit>div>p{
  margin:0 0 .8rem;
  color:var(--solution-color,var(--mb-blue-text));
  font-size:var(--mb-text-meta);
  font-weight:850;
  line-height:1.4;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.solutions-lead{
  max-width:64ch;
  margin-bottom:0;
  color:#44525b;
  font-size:var(--mb-text-lead)!important;
  line-height:1.62!important;
}
.solutions-hero,
.solution-detail-hero{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.68fr);
  gap:clamp(2.5rem,7vw,7.5rem);
  align-items:center;
  min-height:clamp(650px,78vh,900px);
  padding:clamp(4rem,8vw,8rem) var(--mb-gutter);
  background:
    linear-gradient(90deg,rgba(32,43,53,.052) 1px,transparent 1px),
    linear-gradient(rgba(32,43,53,.052) 1px,transparent 1px),
    var(--mb-paper);
  background-size:52px 52px;
  border-bottom:1px solid var(--solution-border);
}
.solutions-hero-copy,
.solution-detail-copy{min-width:0}
.solutions-hero h1,
.solution-detail-hero h1{
  max-width:13ch;
  margin:0 0 1.5rem;
  font-family:var(--mb-font-display);
  font-size:var(--mb-title-page);
  line-height:.98;
  letter-spacing:-.035em;
}
.solutions-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:2rem;
}
.solution-button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:.9rem 1rem;
  border:1px solid #68747c;
  background:#fff;
  color:var(--mb-ink);
  font-size:var(--mb-text-small);
  font-weight:820;
  line-height:1.35;
  text-decoration:none;
}
.solution-button:hover{background:#eef1f3}
.solution-button.primary{
  border-color:var(--solution-color,var(--mb-blue-text));
  background:var(--solution-color,var(--mb-blue-text));
  color:#fff;
}
.solution-button.primary:hover{filter:brightness(.92)}
.solutions-facts{
  margin:0;
  display:grid;
  align-self:end;
  border-top:5px solid var(--mb-blue-text);
  background:#fff;
  box-shadow:var(--mb-shadow-small);
}
.solutions-facts div{
  display:grid;
  grid-template-columns:minmax(120px,.62fr) minmax(0,1fr);
  gap:1rem;
  padding:1.15rem 1.25rem;
  border-bottom:1px solid var(--solution-border);
}
.solutions-facts div:last-child{border-bottom:0}
.solutions-facts dt{
  color:var(--mb-muted);
  font-size:var(--mb-text-meta);
  font-weight:760;
  line-height:1.45;
}
.solutions-facts dd{
  margin:0;
  font-weight:800;
  line-height:1.45;
}
.solutions-jump{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:var(--mb-night);
  color:#fff;
}
.solutions-jump a{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:1rem clamp(1rem,2.4vw,2rem);
  border-right:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-size:var(--mb-text-small);
  font-weight:780;
  line-height:1.35;
  text-decoration:none;
}
.solutions-jump a:last-child{border-right:0}
.solutions-jump a:hover{background:rgba(255,255,255,.08)}
.solutions-jump span{
  width:2rem;
  height:2rem;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.55);
  font-size:var(--mb-text-meta);
}
.solutions-catalogue,
.solutions-situations,
.solutions-process,
.solution-use,
.solution-scope,
.solution-examples{
  padding:clamp(4rem,7vw,7rem) var(--mb-gutter);
  border-bottom:1px solid var(--solution-border);
}
.solutions-catalogue,
.solution-use{background:#edf0f2}
.solutions-situations,
.solution-scope,
.solution-examples{background:var(--mb-paper)}
.solutions-heading,
.solution-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);
  gap:clamp(2rem,7vw,7rem);
  align-items:end;
  max-width:var(--solution-max);
  margin:0 auto clamp(2.5rem,5vw,4.5rem);
}
.solutions-heading h2,
.solution-section-heading h2,
.solutions-standards h2,
.solution-limit h2,
.solution-detail-cta h2{
  max-width:16ch;
  margin:0;
  font-family:var(--mb-font-display);
  font-size:var(--mb-title-section);
  line-height:1.02;
  letter-spacing:-.03em;
}
.solutions-heading>p,
.solutions-heading>div+ p{
  max-width:58ch;
  margin:0;
  color:#4d5a63;
}
.solutions-grid{
  max-width:var(--solution-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--solution-border);
  border:1px solid var(--solution-border);
}
.solution-card{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);
  min-height:440px;
  background:#fff;
}
.solution-card-visual{
  position:relative;
  min-height:100%;
  display:block;
  overflow:hidden;
  background:var(--solution-color);
  color:#fff;
  text-decoration:none;
}
.solution-card-visual>span:first-child{
  position:absolute;
  z-index:3;
  top:1rem;
  left:1rem;
  font-size:var(--mb-text-meta);
  font-weight:850;
  letter-spacing:.08em;
}
.solution-visual{
  position:absolute;
  inset:15%;
  display:block;
  border:1px solid rgba(255,255,255,.42);
}
.solution-visual i,.solution-visual b,.solution-visual em{position:absolute;display:block}
.solution-visual.is-web i:first-child{inset:12%;border:2px solid #fff}
.solution-visual.is-web i:nth-child(2){left:18%;right:18%;top:28%;height:6px;background:#fff}
.solution-visual.is-web i:nth-child(3){left:18%;right:36%;top:43%;height:4px;background:rgba(255,255,255,.72)}
.solution-visual.is-web b{left:18%;right:18%;bottom:18%;height:27%;border:1px solid rgba(255,255,255,.7)}
.solution-visual.is-software i:first-child{left:13%;right:13%;top:18%;height:16%;border:1px solid #fff}
.solution-visual.is-software i:nth-child(2),.solution-visual.is-software i:nth-child(3){top:43%;width:26%;height:38%;border:1px solid rgba(255,255,255,.7)}
.solution-visual.is-software i:nth-child(2){left:14%}
.solution-visual.is-software i:nth-child(3){right:14%}
.solution-visual.is-software b{left:45%;top:35%;width:10%;height:48%;background:#fff}
.solution-visual.is-map i{border:1px solid rgba(255,255,255,.72);border-radius:50%}
.solution-visual.is-map i:first-child{inset:13%}
.solution-visual.is-map i:nth-child(2){inset:29%}
.solution-visual.is-map i:nth-child(3){left:48%;top:13%;bottom:13%;width:1px;background:rgba(255,255,255,.65)}
.solution-visual.is-map b{left:57%;top:38%;width:13px;height:13px;background:#fff;border-radius:50%;box-shadow:-70px 44px 0 rgba(255,255,255,.9),35px 80px 0 rgba(255,255,255,.75)}
.solution-visual.is-automation i{left:12%;right:12%;height:1px;background:rgba(255,255,255,.7)}
.solution-visual.is-automation i:first-child{top:27%}
.solution-visual.is-automation i:nth-child(2){top:50%}
.solution-visual.is-automation i:nth-child(3){top:73%}
.solution-visual.is-automation b,.solution-visual.is-automation em{width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:var(--solution-color)}
.solution-visual.is-automation b{left:20%;top:39%}
.solution-visual.is-automation em{right:19%;top:62%}
.solution-card-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:clamp(1.35rem,2.8vw,2.2rem);
}
.solution-card-copy h3{
  margin:0 0 1rem;
  font-family:var(--mb-font-display);
  font-size:var(--mb-title-card);
  line-height:1.05;
  letter-spacing:-.025em;
}
.solution-card-copy h3 a{color:inherit;text-decoration:none}
.solution-card-copy h3 a:hover{text-decoration:underline}
.solution-card-copy>p{margin-bottom:1.4rem;color:#4e5b64}
.solution-card-copy ul,
.solution-scope-grid ul{
  display:grid;
  gap:.72rem;
  margin:0 0 2rem;
  padding:0;
  list-style:none;
}
.solution-card-copy li,
.solution-scope-grid li{
  position:relative;
  padding-left:1.15rem;
  font-size:var(--mb-text-small);
  font-weight:690;
  line-height:1.55;
}
.solution-card-copy li::before,
.solution-scope-grid li::before{
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  background:var(--solution-color);
  border-radius:50%;
  content:"";
}
.solution-card-link,
.solution-project-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:44px;
  margin-top:auto;
  color:var(--solution-color);
  font-size:var(--mb-text-small);
  font-weight:850;
  text-decoration:none;
}
.solution-card-link:hover,
.solution-project-link:hover{text-decoration:underline}
.solutions-situation-grid{
  max-width:var(--solution-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--solution-border);
  border-left:1px solid var(--solution-border);
}
.solutions-situation-grid article{
  min-width:0;
  min-height:300px;
  padding:1.5rem;
  border-right:1px solid var(--solution-border);
  border-bottom:1px solid var(--solution-border);
  background:#fff;
}
.solutions-situation-grid span{
  color:var(--mb-blue-text);
  font-size:var(--mb-text-meta);
  font-weight:850;
}
.solutions-situation-grid h3{
  margin:clamp(2.2rem,5vw,4.5rem) 0 .8rem;
  font-family:var(--mb-font-display);
  font-size:clamp(1.8rem,2.4vw,2.6rem);
  line-height:1.08;
}
.solutions-situation-grid p{margin:0;color:#4e5b64}
.solutions-process{background:var(--mb-night);color:#fff}
.solutions-process .solutions-heading h2{color:#fff}
.solutions-process .solutions-heading>div>p{color:#a7c0df}
.solutions-process .solutions-heading>p{color:#d3d9dd}
.solutions-process-list{
  max-width:var(--solution-max);
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.22);
  border-left:1px solid rgba(255,255,255,.22);
  list-style:none;
}
.solutions-process-list li{
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:2.2rem;
  padding:1.5rem;
  border-right:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.22);
}
.solutions-process-list>li>span{color:#a7c0df;font-size:var(--mb-text-meta);font-weight:850;letter-spacing:.08em}
.solutions-process-list h3{margin:0 0 .75rem;color:#fff;font-family:var(--mb-font-display);font-size:clamp(1.9rem,2.8vw,2.8rem);line-height:1.08}
.solutions-process-list p{margin:0;color:#d3d9dd}
.solutions-standards{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);
  gap:clamp(2.5rem,8vw,9rem);
  padding:clamp(4rem,7vw,7rem) var(--mb-gutter);
  background:#fff;
}
.solutions-standards>div{min-width:0}
.solutions-standards dl{margin:0;display:grid;border-top:4px solid var(--mb-blue-text)}
.solutions-standards dl div{padding:1.2rem 0;border-bottom:1px solid var(--solution-border)}
.solutions-standards dt{margin-bottom:.35rem;color:var(--mb-blue-text);font-size:var(--mb-text-small);font-weight:850}
.solutions-standards dd{margin:0;color:#4e5b64}
.solution-detail-hero{--solution-color:#5757a0}
.solution-detail-visual{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:var(--solution-color);
}
.solution-detail-visual .solution-visual{inset:16%}
.solution-detail-visual>span:last-child{
  position:absolute;
  right:1rem;
  bottom:1rem;
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  border:1px solid rgba(255,255,255,.6);
  color:#fff;
  font-size:var(--mb-text-meta);
  font-weight:850;
}
.solution-check-grid{
  max-width:var(--solution-max);
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--solution-border);
  border:1px solid var(--solution-border);
  list-style:none;
}
.solution-check-grid li{
  min-width:0;
  min-height:190px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1.2rem;
  align-items:start;
  padding:1.5rem;
  background:#fff;
}
.solution-check-grid span{
  display:grid;
  place-items:center;
  width:2.2rem;
  height:2.2rem;
  border:1px solid var(--solution-color);
  color:var(--solution-color);
  font-size:var(--mb-text-meta);
  font-weight:850;
}
.solution-check-grid p{margin:0;font-weight:720}
.solution-scope-grid{
  max-width:var(--solution-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--solution-border);
  border:1px solid var(--solution-border);
}
.solution-scope-grid article{min-width:0;padding:clamp(1.5rem,3vw,2.5rem);background:#fff}
.solution-scope-grid h3{margin:0 0 2rem;font-family:var(--mb-font-display);font-size:var(--mb-title-card);line-height:1.08}
.solution-scope-grid ul{margin-bottom:0}
.solution-limit{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);
  gap:clamp(2rem,7vw,7rem);
  align-items:end;
  padding:clamp(4rem,7vw,7rem) var(--mb-gutter);
  background:var(--solution-color);
  color:#fff;
}
.solution-limit>div>p{color:#fff}
.solution-limit h2{color:#fff}
.solution-limit>p{max-width:54ch;margin:0;color:#fff;font-size:var(--mb-text-lead);line-height:1.6}
.solution-project-grid{
  max-width:var(--solution-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:var(--solution-border);
  border:1px solid var(--solution-border);
}
.solution-project-card{min-width:0;display:flex;flex-direction:column;background:#fff}
.solution-project-brand{
  min-height:220px;
  display:grid;
  place-items:center;
  padding:1.5rem;
  border-top:6px solid var(--project-color);
  background:#f3f5f3;
  text-decoration:none;
}
.solution-project-brand img{display:block;width:auto;max-width:min(100%,270px);height:auto;max-height:150px;object-fit:contain}
.solution-project-brand>span{display:grid;place-items:center;width:96px;height:96px;border:2px solid var(--project-color);color:var(--project-color);font-size:2rem;font-weight:900}
.solution-project-card>div{flex:1;display:flex;flex-direction:column;padding:1.5rem}
.solution-project-card>div>p:first-child{margin:0 0 .65rem;color:var(--project-color);font-size:var(--mb-text-meta);font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.solution-project-card h3{margin:0 0 .8rem;font-family:var(--mb-font-display);font-size:var(--mb-title-card);line-height:1.08}
.solution-project-card h3 a{color:inherit;text-decoration:none}
.solution-project-card h3 a:hover{text-decoration:underline}
.solution-project-card>div>p:not(:first-child){margin-bottom:1.3rem;color:#4e5b64}
.solution-project-link{color:var(--project-color)}
.solution-detail-cta{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  padding:clamp(4rem,7vw,7rem) var(--mb-gutter);
  background:var(--mb-night);
  color:#fff;
}
.solution-detail-cta p{max-width:64ch;margin:0 0 1rem;color:#d3d9dd}
.solution-detail-cta h2{color:#fff}
.solution-detail-cta>a{
  min-width:max-content;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:.9rem 1rem;
  border:1px solid rgba(255,255,255,.65);
  color:#fff;
  font-size:var(--mb-text-small);
  font-weight:850;
  text-decoration:none;
}
.solution-detail-cta>a:hover{background:#fff;color:var(--mb-night)}
@media(max-width:1120px){
  .solutions-hero,.solution-detail-hero{grid-template-columns:1fr;min-height:0}
  .solutions-facts{width:100%;max-width:720px}
  .solutions-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solutions-jump a:nth-child(2){border-right:0}
  .solutions-jump a:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}
  .solution-card{grid-template-columns:1fr}
  .solution-card-visual{min-height:290px}
  .solutions-situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solutions-process-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solutions-standards{grid-template-columns:1fr}
  .solution-project-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .solutions-heading,.solution-section-heading,.solution-limit{grid-template-columns:1fr}
  .solutions-grid,.solution-check-grid,.solution-scope-grid,.solution-project-grid{grid-template-columns:1fr}
  .solution-detail-visual{min-height:420px}
  .solution-detail-cta{display:grid}
  .solution-detail-cta>a{min-width:0;width:100%}
}
@media(max-width:560px){
  .solutions-hero,.solution-detail-hero{padding:3.5rem 1rem;background-size:32px 32px}
  .solutions-hero h1,.solution-detail-hero h1{font-size:clamp(2.75rem,14vw,4.35rem);line-height:1}
  .solutions-actions{display:grid}
  .solution-button{width:100%}
  .solutions-facts div{grid-template-columns:1fr;gap:.25rem}
  .solutions-jump{grid-template-columns:1fr}
  .solutions-jump a{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .solutions-jump a:last-child{border-bottom:0}
  .solutions-catalogue,.solutions-situations,.solutions-process,.solution-use,.solution-scope,.solution-examples{padding:3.75rem 1rem}
  .solutions-situation-grid,.solutions-process-list{grid-template-columns:1fr}
  .solutions-situation-grid article{min-height:0}
  .solutions-process-list li{min-height:220px}
  .solutions-standards,.solution-limit,.solution-detail-cta{padding:3.75rem 1rem}
  .solution-card-copy{padding:1.25rem}
  .solution-card-visual{min-height:250px}
  .solution-detail-visual{min-height:340px}
  .solution-check-grid li{min-height:0;padding:1.25rem}
  .solution-project-brand{min-height:190px}
}
@media(prefers-reduced-motion:reduce){
  .solutions-page *,
  .solutions-page *::before,
  .solutions-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media(forced-colors:active){
  .solution-card-visual,.solution-detail-visual,.solution-limit,.solutions-process,.solution-detail-cta{forced-color-adjust:auto}
  .solution-button,.solution-check-grid span,.solution-project-brand,.solutions-jump a{border:1px solid ButtonText}
}
