:root {
  --blue-pre: #095bcc;
  --blue-top: #006ee6;
  --blue-divider: #1b87ff;
  --white: #ffffff;
  --text: #0a1f44;
  --divider: #d9d9d9;
  --container-custom: 1200px;
  --header-pad: 40px;         
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: "Nunito", sans-serif;
  color: var(--text);
  background: var(--white);
}

/* pre-header */
.pre-header {
  background: #095bcc;
  height: 32px;
  padding: 4px var(--header-pad);
  display: flex;
  align-items: center;
}
.pre-header-group {
  width: 251.4884px;
  height: 27px;
  padding: 3px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.mef-logo { width: 23.4884px; height: 21px; display: block; }
.pre-header-text {
  color: #fff;
  font-size: 13.5px;
  letter-spacing: 0.75px;
  line-height: 21px;
}

/* top header */
.top-header { background:#006EE6; min-height:72px; display:flex; align-items:center; }
.top-header__row {
  width: 100%;
  padding: 0 var(--header-pad);     
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
/* rimosso il vecchio .top-header__row { padding:0 var(--px) } */
.args-logo{ height:32px; display:block; }
.top-header__cta{ margin-left: auto; }  

/* CTA buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:500;
  letter-spacing:0;
  color:#fff;
}
.btn-sm{
  height:40px;
  min-width:160px;
  padding:8px 12px;       
  border-radius:8px;
  line-height:24px;
  font-size:14px;
}
.w160{ width:160px; }
.btn-outline{
  background:transparent;
  border:1px solid rgba(255,255,255,1);
  color:#fff;
}
.btn-txt{
  color:#fff; text-decoration:none; font-weight:600;
  min-height:40px; display:inline-flex; align-items:center; gap:8px; padding:0 4px;
}
.icon-16{ width:16px; height:16px }
.icon-24{ width:24px; height:24px; display:inline-block; }
.divider-vert{ width:1px; height:24px; background:#d9d9d9; display:inline-block; }
.btn-acc{ background:#FFFFFF; color:#006EE6; border:0; }

/* divider */
.divider {
  height: 1px;
  width: 100%;
  background: #1b87ff;
  display: block;
  position: relative;
  z-index: 2;
}

/* subheader */
.subheader {
  background: #006ee6;
  height: 48px;
  display: flex;
  align-items: center;
}
.subheader-row {
  width: 100%;
  height: 48px;
  padding: 0 var(--header-pad);    
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.subheader-left { display:flex; align-items:center; gap:24px; }
.subheader-right{ margin-left: auto; }   /* “Cerca” ancorato a destra */
.subheader a { color: #fff; }

/* hero bg */
/* .hero-wrap { position: relative; overflow: hidden; }
.hero-wrap::before{
  content:""; position:absolute; inset:0;
  background:url("../componentSvg/Bg_1.svg") no-repeat center;
  background-size: 1440px 791px; z-index:0;
}
.hero-wrap > *{ position:relative; z-index:1; } */

/* breadcrumb */
.breadcrumb {
  padding: 16px var(--header-pad);
  display: flex;
  align-items: center;
  gap: 8px;
}
.breadcrumb .slash { color:#006ee6; }
.breadcrumb a { color:#006ee6; text-decoration:underline; font-weight:600; }
.home-icon img { width:16px; height:16px; }

/* hero text */
/* .hero {
  height: 416px;
  display: flex;
  align-items: center;
  padding: 80px 155px;
  gap: 16px;
  border-bottom: 1px solid var(--divider);
}
.hero-content { max-width: 784px; }
.hero-content h1 {
  font-size: 32px; font-weight:600; color:#202124; line-height:1.3; margin:0 0 16px;
}
.hero-content p {
  font-weight:300; font-size:16px; line-height:28px; color:#202124; margin:0;
} */

/* intro */
.intro { display:flex; gap:24px; padding:0 155px; margin-top:40px; }
.description { max-width:533px; display:flex; flex-direction:column; gap:16px; }
.intro-subtitle { font-weight:300; color:#494949; }
.description h2 { font-weight:600; font-size:28px; color:#202124; margin:0; }
.description p { font-weight:300; color:#202124; margin:0; }
.pillar {display:flex; flex-direction:column; gap:32px; }

/*pillar section*/
.pillar-item { display:flex; gap:24px; }
.pillar-item div {flex: 1 }
.icon-box{
  width:64px; height:64px; border-radius:25.6px; border:1px solid #d9d9d9; background:#fff;
  display:flex; align-items:center; justify-content:center;
}
/*.pillar-item p{ font-weight:700; font-size:14px; line-height:24px; color:#202124; margin:0; }*/


/* numeri */
.numbers { padding:40px 155px 0; }
.numbers__content {  }
.numbers__header { display:flex; flex-direction:column; gap:8px; }
.numbers__title { height:42px; font-weight:600; font-size:28px; line-height:42px; color:#202124; margin:0; }
.numbers__desc { height:28px; font-weight:300; font-size:16px; line-height:28px; color:#202124; margin:0; }
.numbers__cards{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;
}
.numbers__cards--vrs{ 
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;
}
.num-card{
  min-width:173px; border-radius:8px; padding:24px;
  display:flex; flex-direction:column; gap:8px;
}
.num-card__value{ height:52px; margin:0; font-weight:600; font-size:32px; line-height:52px; }
.num-card__text{ height:72px; margin:0; font-weight:300; font-size:14px; line-height:24px; color:#202124; }
.bg-green{ background:#329f960f; }
.bg-green .num-card__value{ color:#329f96; }
.bg-violet{ background:#896bb314; }
.bg-violet .num-card__value{ color:#896bb3; }
.bg-amber{ background:#b38c190a; }
.bg-amber .num-card__value{ color:#b38c19; }

/* verso */
.verso{ padding:0 155px; margin-top:24px; }
.verso__cover{
  border-radius:8px;
  padding: 40px;
  background-image:url("../componentSvg/CoverVerso.svg");
  background-repeat:no-repeat; background-position:right center; background-size:cover;
  display:flex; align-items:center;
}
.verso__cover vrs-hyperlink{width: 100%;}
.verso__content{ max-width:784px; }
.verso__titleline{ display:flex; align-items:center; gap:12px; }
.verso__h2{ margin:0; font-weight:600; font-size:28px; line-height:42px; color:#202124; }
.verso__v{ width:32px; height:30.166px }
.verso__text{ margin:0; font-weight:300; font-size:16px; line-height:28px; color:#202124; }
.btn-prim{
  width:191px; min-width:180px; height:48px; border-radius:8px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 16px;
  background:#006ee6; color:#fff; text-decoration:none; font-weight:500;
}

/* case study */
.case-study{display:flex; gap:24px; align-items:center; }
.case-study__img{ width: 50%; border-radius:8px; background:#eeeeee; overflow:hidden;}
.case-study__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.case-study__text{ margin-top: 8px; margin-bottom: 24px; }
.case-study__text-container{ width: 50%; }
.cs-paragraph{ height:106px; display:flex; flex-direction:column; gap:8px; }
.cs-title{ margin:0; height:42px; font-weight:600; font-size:28px; line-height:42px; color:#202124; }
.cs-desc{ margin:0; height:56px; font-weight:300; font-size:16px; line-height:28px; color:#202124; }
.cs-link{ width:fit-content; display:inline-flex; align-items:center; gap:4px; color:#006ee6; text-decoration:none; font-weight:600; font-size:14px; line-height:24px; }
.cs-link img{ width:16px; height:16px; }

.site-footer{ margin-top:24px; }

/* footer */
.site-footer{ background:#006ee6; }
.footer-inner{
  height:64px; display:flex; align-items:center; gap:40px;
  padding:16px var(--header-pad);
}
.footer-mini{ width:31.9568px; height:32px; display:block; }
.footer-link{ color:#fff; text-decoration:underline; font-weight:600; line-height:28px; }
.footer-external{ display:inline-flex; align-items:center; gap:8px; }

/* subfooter */
.subfooter{ background:#fff; }
.subfooter-inner{
  height:50.3183px; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px var(--header-pad);
}
.rgs-brand{ display:flex; align-items:center; gap:6.16px; padding:6.16px 0; }
.rgs-mef{ width:24.111px; height:21.557px; display:block; }
.rgs-brand-text{
  color:#003897; font-family:"Nunito", sans-serif; font-weight:400;
  font-size:13.86px; line-height:21.56px; letter-spacing:0.77px;
}

/* help badge */
.help-fab{
  position:fixed; right:24px; bottom:24px; width:80px; height:80px; border-radius:100px;
  background:#e6f9f8; border:1px solid #038984;
  display:flex; align-items:center; justify-content:center; text-decoration:none; z-index:1000;
}
.help-fab img{ max-width:64px; max-height:64px; display:block; }

.logo-group{ margin-left:0 !important; }

.title-text-container {
  max-width: 784px;
}

@media (max-width: 1200px) {
  .top-header__row,
  .breadcrumb,
  .subheader-row {
    padding-left: var(--header-pad) !important;
    padding-right: var(--header-pad) !important;
    max-width: 100%;
    margin: 0 auto;
  }
  /* .hero { padding: 40px 16px; height: auto; } */
  .intro { padding: 0 16px; flex-direction: column; }
  .numbers { padding: 40px 16px 0; }
  .verso { padding: 0 16px; }
  .footer-inner, .subfooter-inner { padding: 10px 16px; }
}

@media (min-width: 1440px) {
  .site-footer { margin-top: 24px; }
}

@media(max-width: 425px)  {
  .verso__cover { width: 100%; padding: 16px; }
}
/* Utility spacing */
.margin-t-40 {
  margin-top: 40px;
}

.margin-t-24 {
  margin-top: 24px;
}

.margin-t-16 {
  margin-top: 16px;
}

.margin-t-8 {
  margin-top: 8px;
}

.margin-t-80 {
  margin-top: 80px;
}

.margin-b-0 {
  margin-bottom: 0px;
}

.margin-b-16 {
  margin-bottom: 16px;
}
.margin-b-40 {
  margin-bottom: 40px;
}
.margin-b-80 {
  margin-bottom: 80px;
}
.padding-b-40 {
  padding-bottom: 40px;
}
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

.category-row {
  display: flex;
}

/* Links e bottoni */
.category-link {
  display: flex;
  gap: 4px;
  text-decoration: none;
  color: #0070f3 !important;
  margin-left: 3px;
  font-weight:600; 
  font-size:14px; 
  line-height:24px;
}
.pillar-icon{
  width: 64px; 
  height: 64px;
  max-width: none !important;
}
.t-green {
    color: #329F96 !important;
}

.t-violet {
    color: #896BB3 !important;
}

.t-amber {
    color: #B38C19 !important;
}
.text-box__description-color {
  color: #494949 !important;
}

@media (max-width: 768px) {
  .btn-prim {
    width: 100%;
  }
  
    .pillar-item {
    flex-direction: column;
      gap: 16px;
  }
}
@media (max-width: 425px) {
  .case-study { padding: 0 16px; flex-direction: column; align-items: flex-start; }
  .case-study__img, .case-study__text { width: 100%; }
  .case-study__text-container{ width: 100%; }
  .numbers__cards { grid-template-columns: 1fr; height: auto; }
  .case-study__divider {display: none;}
  .margin-t-80 {
    margin-top: 24px !important;
  }
}