/* ==========================================================
   HOME - fasce alternate
   La pagina e' costruita con widget Elementor (heading,
   text-editor, button, image, posts). Qui si aggancia la
   marcatura che Elementor produce: .<mia-classe> sta sul
   wrapper del widget, il contenuto sta dentro.
   Token, testata e piede stanno in mrp-sito.css.
   ========================================================== */

/* i contenitori Elementor non devono aggiungere spazi propri */
.mrp.t-fasceblu .e-con,
.mrp.t-fasceblu .e-con-inner{--gap:0px;--padding-block-start:0px;--padding-block-end:0px;
  --padding-inline-start:0px;--padding-inline-end:0px;}
.mrp.t-fasceblu .elementor-widget{margin-block:0;}
.mrp.t-fasceblu .elementor-widget-container{margin:0;}

.mrp.t-fasceblu .fg-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);width:100%;}

/* ---------------- la fascia ---------------- */
.mrp.t-fasceblu .fg-b{padding-block:clamp(40px,5.6vw,92px);border-block-end:1px solid var(--line);
  display:block;width:100%;}
.mrp.t-fasceblu .fg-b-sc{background:var(--dark);color:var(--dark-ink);border-block-end-color:var(--dark-2);
  position:relative;}
.mrp.t-fasceblu .fg-b-sc::before{content:'';position:absolute;inset-block-start:0;inset-inline:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(127,182,238,.5),transparent);}

/* occhiello di sezione */
.mrp.t-fasceblu .fg-cap .elementor-heading-title{font-family:var(--fm);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3);font-weight:400;line-height:1.6;}
.mrp.t-fasceblu .fg-cap{margin-block-end:clamp(12px,1.8vw,20px);}
.mrp.t-fasceblu .fg-b-sc .fg-cap .elementor-heading-title{color:var(--dark-ink-2);}

/* ---------------- occhiello di pagina ---------------- */
.mrp.t-fasceblu .fg-hero{background:linear-gradient(180deg,var(--bg-2),var(--bg) 74%);
  padding-block:clamp(46px,6.4vw,104px);}
.mrp.t-fasceblu .fg-top{display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,23vw,286px);
  gap:clamp(22px,3.4vw,52px);align-items:center;width:100%;}
.mrp.t-fasceblu .fg-testo{display:block;}
.mrp.t-fasceblu .fg-h1 .elementor-heading-title{font-family:var(--fd);font-weight:700;
  font-size:clamp(37px,6.6vw,92px);line-height:.95;letter-spacing:-.028em;text-transform:uppercase;max-width:15ch;
  background:linear-gradient(96deg,#12395C 0%,#2F6DA6 50%,#4E93CE 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.mrp.t-fasceblu .fg-lead{margin-block-start:clamp(18px,2.4vw,28px);}
.mrp.t-fasceblu .fg-lead p{font-size:clamp(15.5px,1.7vw,19px);line-height:1.7;color:var(--ink-2);max-width:58ch;margin:0;}
.mrp.t-fasceblu .fg-lead strong{color:var(--ink);font-weight:600;}
.mrp.t-fasceblu .fg-act{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px 24px;align-items:center;
  margin-block-start:clamp(22px,3vw,34px);width:auto;}
.mrp.t-fasceblu .fg-foto{display:block;}
.mrp.t-fasceblu .fg-foto-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 12%;display:block;}
.mrp.t-fasceblu .fg-foto-cap{border-block-start:3px solid var(--blu);padding-block-start:9px;margin-block-start:10px;}
.mrp.t-fasceblu .fg-foto-cap p{font-family:var(--fm);font-size:9px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-3);line-height:1.7;margin:0;}
.mrp.t-fasceblu .fg-foto-cap strong{display:block;font-family:var(--fd);font-size:15px;letter-spacing:.04em;
  color:var(--ink);font-weight:700;}

/* barra dei numeri */
.mrp.t-fasceblu .fg-num{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-block-start:clamp(28px,3.6vw,48px);width:100%;}
.mrp.t-fasceblu .fg-num-c{background:var(--bg);padding:15px 18px;display:block;}
.mrp.t-fasceblu .fg-num-b .elementor-heading-title{font-family:var(--fd);font-size:clamp(24px,3vw,34px);
  font-weight:700;color:var(--blu);line-height:1;letter-spacing:-.024em;font-variant-numeric:tabular-nums;}
.mrp.t-fasceblu .fg-num-l{margin-block-start:8px;}
.mrp.t-fasceblu .fg-num-l p{font-family:var(--fm);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-3);line-height:1.6;margin:0;}

/* ---------------- riga di servizio ---------------- */
.mrp.t-fasceblu .fg-colpo{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,.9fr);
  gap:clamp(22px,3.4vw,56px);align-items:start;width:100%;}
.mrp.t-fasceblu .fg-colpo-t{display:block;}
.mrp.t-fasceblu .fg-h2 .elementor-heading-title{font-family:var(--fd);font-weight:700;
  font-size:clamp(27px,3.8vw,50px);text-transform:uppercase;line-height:1.0;letter-spacing:-.024em;max-width:17ch;}
.mrp.t-fasceblu .fg-h2{margin-block-end:14px;}
.mrp.t-fasceblu .fg-body p{font-size:clamp(15.5px,1.65vw,17.5px);line-height:1.7;color:var(--ink-2);max-width:58ch;margin:0;}
.mrp.t-fasceblu .fg-body strong{color:var(--ink);font-weight:600;}
.mrp.t-fasceblu .fg-b-sc .fg-body p{color:var(--dark-ink-2);}
.mrp.t-fasceblu .fg-b-sc .fg-body strong{color:var(--dark-ink);}
.mrp.t-fasceblu .fg-nota{margin-block-start:12px;}
.mrp.t-fasceblu .fg-nota p{font-family:var(--fm);font-size:10.5px;line-height:1.62;color:var(--ink-3);margin:0;max-width:58ch;}
.mrp.t-fasceblu .fg-b-sc .fg-nota p{color:var(--dark-ink-2);}
.mrp.t-fasceblu .fg-go-w{margin-block-start:18px;}

/* prima e dopo */
.mrp.t-fasceblu .fg-pd{display:grid;gap:14px;border-block-start:2px solid var(--blu);padding-block-start:16px;
  align-content:start;}
.mrp.t-fasceblu .fg-b-sc .fg-pd{border-block-start-color:var(--blu-luce);}
.mrp.t-fasceblu .fg-pd-r{display:block;}
.mrp.t-fasceblu .fg-pd-t .elementor-heading-title{font-family:var(--fm);font-size:8.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);font-weight:400;}
.mrp.t-fasceblu .fg-b-sc .fg-pd-t .elementor-heading-title{color:var(--dark-ink-2);}
.mrp.t-fasceblu .fg-pd-t{margin-block-end:5px;}
.mrp.t-fasceblu .fg-pd-v .elementor-heading-title{font-family:var(--fd);font-size:clamp(17px,2vw,23px);
  font-weight:700;text-transform:uppercase;letter-spacing:.008em;line-height:1.1;color:var(--ink);}
.mrp.t-fasceblu .fg-b-sc .fg-pd-v .elementor-heading-title{color:var(--dark-ink);}
.mrp.t-fasceblu .fg-dopo .fg-pd-v .elementor-heading-title{color:var(--blu);}
.mrp.t-fasceblu .fg-b-sc .fg-dopo .fg-pd-v .elementor-heading-title{color:var(--blu-luce);}

/* ---------------- articoli ---------------- */
.mrp.t-fasceblu .fg-h2s .elementor-heading-title{font-family:var(--fd);font-weight:700;
  font-size:clamp(26px,3.4vw,44px);text-transform:uppercase;letter-spacing:-.022em;line-height:1.02;max-width:22ch;}
.mrp.t-fasceblu .fg-h2s{margin-block-end:10px;}
.mrp.t-fasceblu .fg-sub{margin-block-end:clamp(22px,3vw,34px);}
.mrp.t-fasceblu .fg-sub p{color:var(--ink-2);max-width:60ch;margin:0;}
.mrp.t-fasceblu .fg-sub strong{color:var(--ink);font-weight:600;}
.mrp.t-fasceblu .fg-b-sc .fg-sub p{color:var(--dark-ink-2);}
.mrp.t-fasceblu .fg-tutti{margin-block-start:clamp(20px,2.6vw,30px);display:flex;width:auto;}

/* ---------------- testimonianze ---------------- */
.mrp.t-fasceblu .fg-tst{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);width:100%;
  margin-block-start:clamp(18px,2.4vw,28px);}
.mrp.t-fasceblu .fg-tst-c{display:block;padding-inline-start:16px;border-inline-start:3px solid var(--blu-luce);}
.mrp.t-fasceblu .fg-tst-q p{font-size:15.5px;line-height:1.66;color:var(--dark-ink);margin:0;}
.mrp.t-fasceblu .fg-tst-n{margin-block-start:14px;}
.mrp.t-fasceblu .fg-tst-n .elementor-heading-title{font-family:var(--fd);font-size:14.5px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--dark-ink);font-weight:700;}
.mrp.t-fasceblu .fg-tst-r p{font-family:var(--fm);font-size:9px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--dark-ink-2);line-height:1.7;margin:0;}

/* ---------------- chiusura ---------------- */
.mrp.t-fasceblu .fg-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3vw,44px);
  align-items:end;width:100%;}
.mrp.t-fasceblu .fg-cta-t{display:block;}
.mrp.t-fasceblu .fg-cta-h .elementor-heading-title{font-family:var(--fd);font-weight:700;
  font-size:clamp(27px,3.6vw,46px);text-transform:uppercase;letter-spacing:-.024em;line-height:1.02;max-width:18ch;
  background:linear-gradient(96deg,#E7F0F8 0%,#A9CDEE 48%,#7FB6EE 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.mrp.t-fasceblu .fg-cta-p{margin-block-start:13px;}
.mrp.t-fasceblu .fg-cta-p p{color:var(--dark-ink-2);font-size:15.5px;max-width:52ch;margin:0;}

/* ---------------- adattamenti ---------------- */
@media (max-width:900px){
  .mrp.t-fasceblu .fg-top{grid-template-columns:1fr;}
  .mrp.t-fasceblu .fg-foto{max-width:280px;}
  .mrp.t-fasceblu .fg-num{grid-template-columns:repeat(2,1fr);}
  .mrp.t-fasceblu .fg-colpo{grid-template-columns:1fr;}
  .mrp.t-fasceblu .fg-pd{grid-auto-flow:column;gap:22px;}
  .mrp.t-fasceblu .fg-tst{grid-template-columns:1fr;}
  .mrp.t-fasceblu .fg-cta{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .mrp.t-fasceblu .fg-pd{grid-auto-flow:row;gap:12px;}
  .mrp.t-fasceblu .fg-num{grid-template-columns:1fr;}
}

/* ==========================================================
   MOVIMENTO
   ========================================================== */
@media (prefers-reduced-motion:no-preference){
  @keyframes mr-entra{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
  @keyframes mr-su{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}

  .mrp.t-fasceblu .fg-hero .fg-cap{animation:mr-entra .55s cubic-bezier(.22,.61,.36,1) both;}
  .mrp.t-fasceblu .fg-hero .fg-h1{animation:mr-entra .7s cubic-bezier(.22,.61,.36,1) .06s both;}
  .mrp.t-fasceblu .fg-hero .fg-lead{animation:mr-entra .7s cubic-bezier(.22,.61,.36,1) .14s both;}
  .mrp.t-fasceblu .fg-hero .fg-act{animation:mr-entra .7s cubic-bezier(.22,.61,.36,1) .22s both;}
  .mrp.t-fasceblu .fg-hero .fg-foto{animation:mr-entra .8s cubic-bezier(.22,.61,.36,1) .18s both;}
  .mrp.t-fasceblu .fg-hero .fg-num{animation:mr-entra .7s cubic-bezier(.22,.61,.36,1) .32s both;}

  @supports (animation-timeline:view()){
    .mrp.t-fasceblu .fg-colpo-t,
    .mrp.t-fasceblu .fg-pd,
    .mrp.t-fasceblu .fg-tst-c,
    .mrp.t-fasceblu .fg-cta-t,
    .mrp.t-fasceblu .fg-cta-b{animation:mr-su both;animation-timeline:view();animation-range:entry 4% cover 22%;}
    .mrp.t-fasceblu .fg-pd{animation-range:entry 4% cover 30%;}
    .mrp.t-fasceblu .fg-tst-c:nth-child(2){animation-range:entry 4% cover 28%;}
    .mrp.t-fasceblu .fg-tst-c:nth-child(3){animation-range:entry 4% cover 34%;}
  }
}

/* celle compatte: i widget dentro i contenitori non devono allargarsi */
.mrp.t-fasceblu .fg-num-c{justify-content:flex-start;}
.mrp.t-fasceblu .fg-num-c > .elementor-widget{flex-grow:0;flex-shrink:0;}
.mrp.t-fasceblu .fg-testo,
.mrp.t-fasceblu .fg-colpo-t,
.mrp.t-fasceblu .fg-cta-t,
.mrp.t-fasceblu .fg-tst-c,
.mrp.t-fasceblu .fg-pd-r{justify-content:flex-start;align-items:stretch;}
.mrp.t-fasceblu .fg-testo > .elementor-widget,
.mrp.t-fasceblu .fg-colpo-t > .elementor-widget,
.mrp.t-fasceblu .fg-cta-t > .elementor-widget,
.mrp.t-fasceblu .fg-tst-c > .elementor-widget,
.mrp.t-fasceblu .fg-pd-r > .elementor-widget{flex-grow:0;}
.mrp.t-fasceblu .fg-act > .elementor-widget{flex-grow:0;width:auto;}
.mrp.t-fasceblu .fg-tutti > .elementor-widget{flex-grow:0;width:auto;}

/* griglia articoli della home: quattro colonne, 12 articoli.
   Sempre multipli, anche quando scende a 3, 2 o 1. */
.mrp.t-fasceblu .fg-griglia-w .elementor-posts-container{grid-template-columns:repeat(4,1fr) !important;}
@media (max-width:1080px){.mrp.t-fasceblu .fg-griglia-w .elementor-posts-container{grid-template-columns:repeat(3,1fr) !important;}}
@media (max-width:820px){.mrp.t-fasceblu .fg-griglia-w .elementor-posts-container{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:520px){.mrp.t-fasceblu .fg-griglia-w .elementor-posts-container{grid-template-columns:1fr !important;}}

/* colore dei titoli: il kit di Elementor li tinge di blu, qui vince il mondo */
.mrp.t-fasceblu .fg-h2 .elementor-heading-title,
.mrp.t-fasceblu .fg-h2s .elementor-heading-title{color:var(--ink);}
.mrp.t-fasceblu .fg-b-sc .fg-h2 .elementor-heading-title,
.mrp.t-fasceblu .fg-b-sc .fg-h2s .elementor-heading-title{color:var(--dark-ink);}
.mrp.t-fasceblu .fg-tst-n .elementor-heading-title{color:var(--dark-ink);}
.mrp.t-fasceblu .fg-pd-v .elementor-heading-title{color:var(--ink);}
.mrp.t-fasceblu .fg-b-sc .fg-pd-v .elementor-heading-title{color:var(--dark-ink);}
.mrp.t-fasceblu .fg-dopo .fg-pd-v .elementor-heading-title{color:var(--blu);}
.mrp.t-fasceblu .fg-b-sc .fg-dopo .fg-pd-v .elementor-heading-title{color:var(--blu-luce);}

/* misura del titolo: la frase nuova e' piu' lunga, va su meno righe */
.mrp.t-fasceblu .fg-h1 .elementor-heading-title{max-width:19ch;font-size:clamp(34px,5.9vw,78px);}

/* contatori della fascia numeri: il widget Contatore porta gia' l'etichetta */
.mrp.t-fasceblu .fg-num-c{background:var(--bg);padding:15px 18px;display:block;}
.mrp.t-fasceblu .fg-num-c .elementor-counter{display:block;}
.mrp.t-fasceblu .fg-num-c .elementor-counter-number-wrapper{font-family:var(--fd);font-size:clamp(24px,3vw,34px);font-weight:700;color:var(--blu);line-height:1;letter-spacing:-.024em;font-variant-numeric:tabular-nums;display:flex;justify-content:flex-start;}
.mrp.t-fasceblu .fg-num-c .elementor-counter-title{font-family:var(--fm);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);line-height:1.6;margin-block-start:8px;text-align:start;}
@media (prefers-reduced-motion:reduce){
 .mrp.t-fasceblu .fg-num-c .elementor-counter-number{transition:none !important;}
}

/* numero sopra, etichetta sotto: il widget li impagina al contrario
   e il numero eredita un corpo piccolo dal kit */
.mrp.t-fasceblu .fg-num-c .elementor-counter{display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.mrp.t-fasceblu .fg-num-c .elementor-counter-number-wrapper{order:1;margin:0;}
.mrp.t-fasceblu .fg-num-c .elementor-counter-title{order:2;margin:0;}
.mrp.t-fasceblu .fg-num-c .elementor-counter-number,
.mrp.t-fasceblu .fg-num-c .elementor-counter-number-prefix,
.mrp.t-fasceblu .fg-num-c .elementor-counter-number-suffix{font-family:inherit !important;font-size:inherit !important;font-weight:inherit !important;color:inherit !important;line-height:inherit !important;letter-spacing:inherit;}
.mrp.t-fasceblu .fg-num-c .elementor-counter-number-prefix,
.mrp.t-fasceblu .fg-num-c .elementor-counter-number-suffix{flex:0 0 auto;width:auto !important;text-align:start;}
