:root{
  --fm-orange:#ff8c1a;
  --fm-orange-dark:#e97808;
  --fm-blue:#165dff;
  --fm-text:#1f2937;
  --fm-text-muted:#4b5563;
  --fm-text-light:#f8fafc;
  --fm-bg:#ffffff;
  --fm-bg-dark:#0f172a;
  --fm-card:#ffffff;
  --fm-border:rgba(15,23,42,0.08);
  --fm-shadow:0 14px 40px rgba(15,23,42,0.10);
  --fm-radius:22px;
  --fm-max:1200px;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  overflow-x:hidden;
}

.page-header,
.entry-title,
.elementor-page-title,
h1.entry-title,
.entry-header{
  display:none !important;
}

.site-main,
.page-content,
.entry-content{
  padding:0 !important;
  margin:0 !important;
  max-width:none !important;
}

.fm-onepage{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--fm-text);
  background:var(--fm-bg);
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  padding-top:78px;
}

.fm-onepage *{
  box-sizing:border-box;
}

.fm-container{
  width:min(92%, var(--fm-max));
  margin:0 auto;
}

/* MENU */
.fm-sticky-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:99999;
  width:100%;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(22,93,255,0.08);
  box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.fm-nav-inner{
  width:min(94%, var(--fm-max));
  margin:0 auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.fm-nav-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none !important;
  flex-shrink:0;
}

.fm-nav-logo-fm{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--fm-orange), var(--fm-blue));
  color:#ffffff;
  font-size:1rem;
  font-weight:800;
  letter-spacing:0.5px;
  box-shadow:0 10px 24px rgba(22,93,255,0.18);
}

.fm-nav-logo-text{
  font-size:1.05rem;
  font-weight:800;
  color:#10213a;
}

.fm-nav-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.fm-nav-links a,
.fm-mobile-menu a{
  text-decoration:none !important;
  color:#21314d;
  font-size:0.95rem;
  font-weight:700;
  padding:10px 13px;
  border-radius:999px;
  transition:all .25s ease;
}

.fm-nav-links a:hover,
.fm-nav-links a.active{
  background:rgba(22,93,255,0.08);
  color:var(--fm-blue);
}

.fm-nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:#f3f6fb;
  border:none;
  cursor:pointer;
  padding:10px;
  border-radius:12px;
}

.fm-nav-toggle span{
  width:24px;
  height:2px;
  background:#10213a;
  display:block;
  border-radius:20px;
}

.fm-mobile-menu{
  display:none;
  position:fixed;
  top:78px;
  left:0;
  right:0;
  z-index:99998;
  flex-direction:column;
  gap:10px;
  padding:18px 24px 24px;
  background:#ffffff;
  border-bottom:1px solid rgba(0,0,0,0.06);
  box-shadow:0 14px 30px rgba(15,23,42,0.08);
}

.fm-mobile-menu.open{
  display:flex;
}

.fm-mobile-menu a{
  width:100%;
  text-align:center;
}

/* HERO */
.fm-hero{
  position:relative;
  min-height:calc(88vh - 78px);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    linear-gradient(135deg, rgba(15,23,42,0.88), rgba(22,93,255,0.66)),
    radial-gradient(circle at top left, rgba(255,140,26,0.38), transparent 36%),
    radial-gradient(circle at bottom right, rgba(255,255,255,0.10), transparent 30%),
    #0f172a;
  color:#ffffff;
  overflow:hidden;
}

.fm-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0.08), rgba(0,0,0,0.25));
}

.fm-hero-content{
  position:relative;
  z-index:2;
  width:min(92%, 940px);
  padding:70px 0;
}

.fm-hero-badge{
  display:inline-block;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,0.22);
  border-radius:999px;
  font-size:.95rem;
  font-weight:800;
  background:rgba(255,255,255,0.09);
  margin-bottom:22px;
}

.fm-hero h1{
  font-size:clamp(2.2rem, 5vw, 4.8rem);
  line-height:1.08;
  margin:0 0 18px;
  font-weight:850;
  letter-spacing:-0.04em;
  color:#ffffff;
}

.fm-hero-subtitle{
  font-size:clamp(1.05rem, 2vw, 1.35rem);
  line-height:1.72;
  opacity:.96;
  max-width:840px;
  margin:0 auto 32px;
}

/* BOTTONI */
.fm-hero-buttons,
.fm-contact-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:10px;
}

.fm-hero-buttons-left{
  justify-content:flex-start;
}

.fm-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 26px;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:800;
  transition:all .28s ease;
  border:1px solid transparent;
  overflow:hidden;
}

.fm-btn::after{
  content:"→";
  font-size:1rem;
  transition:transform .28s ease;
}

.fm-btn:hover::after{
  transform:translateX(4px);
}

.fm-btn-primary{
  background:linear-gradient(135deg, var(--fm-orange) 0%, #ff9f3f 100%);
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(255,140,26,0.30);
}

.fm-btn-primary:hover{
  color:#ffffff !important;
  transform:translateY(-3px);
}

.fm-btn-secondary{
  background:rgba(255,255,255,0.12);
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,0.26);
  backdrop-filter:blur(10px);
}

.fm-btn-secondary:hover{
  color:#ffffff !important;
  background:rgba(255,255,255,0.18);
  transform:translateY(-3px);
}

.fm-btn-light{
  color:var(--fm-text) !important;
  border-color:rgba(17,24,39,0.10);
  background:#ffffff;
  box-shadow:0 10px 24px rgba(15,23,42,0.08);
}

.fm-btn-light:hover{
  color:var(--fm-orange-dark) !important;
  background:#f9fafb;
}

/* SEZIONI */
.fm-section{
  padding:100px 0;
  scroll-margin-top:95px;
}

.fm-section-light{
  background:#ffffff;
  color:var(--fm-text);
}

.fm-section-dark{
  background:var(--fm-bg-dark);
  color:var(--fm-text-light);
}

.fm-section-accent{
  background:linear-gradient(135deg, rgba(255,140,26,0.08), rgba(22,93,255,0.08));
}

.fm-section-heading{
  margin-bottom:44px;
}

.fm-section-heading.center{
  text-align:center;
}

.fm-kicker{
  display:inline-block;
  color:var(--fm-orange);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.82rem;
  margin-bottom:12px;
}

.fm-section-heading h2{
  font-size:clamp(1.8rem, 3vw, 3rem);
  line-height:1.15;
  margin:0;
  color:inherit;
}

.fm-section-intro{
  margin-top:16px;
  max-width:840px;
  font-size:1.05rem;
  line-height:1.8;
  color:var(--fm-text-muted);
}

.fm-section-intro-center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* LAYOUT */
.fm-two-columns{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
}

.fm-grid{
  display:grid;
  gap:24px;
}

.fm-grid-3{
  grid-template-columns:repeat(3, 1fr);
}

.fm-grid-2{
  grid-template-columns:repeat(2, 1fr);
}

/* CARD */
.fm-card,
.fm-service-card,
.fm-path-card,
.fm-podcast-box,
.fm-contact-box,
.fm-articles-text,
.fm-articles-side{
  border-radius:var(--fm-radius);
  box-shadow:var(--fm-shadow);
}

.fm-card{
  background:#ffffff;
  padding:34px;
  border:1px solid var(--fm-border);
}

.fm-card p,
.fm-service-card p,
.fm-path-card p,
.fm-podcast-box p,
.fm-contact-box p{
  line-height:1.8;
  margin:0 0 18px;
}

.fm-card-highlight{
  background:linear-gradient(180deg, #ffffff 0%, #fff7ef 100%);
}

.fm-card h3,
.fm-service-card h3,
.fm-path-card h3{
  margin-top:0;
  margin-bottom:14px;
  line-height:1.3;
}

/* SERVIZI */
.fm-service-card{
  background:rgba(255,255,255,0.06);
  color:#ffffff;
  padding:30px;
  border:1px solid rgba(255,255,255,0.10);
  backdrop-filter:blur(12px);
}

.fm-service-card h3{
  color:#ffffff;
}

/* PERCORSI */
.fm-path-card-link{
  display:block;
  text-decoration:none !important;
  color:inherit;
  background:#ffffff;
  padding:30px;
  border-radius:24px;
  border:1px solid rgba(15,23,42,0.08);
  box-shadow:0 12px 30px rgba(15,23,42,0.08);
  transition:transform .28s ease, box-shadow .28s ease;
  position:relative;
  overflow:hidden;
}

.fm-path-card-link::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, var(--fm-orange), var(--fm-blue));
}

.fm-path-card-link:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(15,23,42,0.13);
}

.fm-path-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
  gap:16px;
}

.fm-path-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(255,140,26,0.14), rgba(22,93,255,0.14));
  color:var(--fm-orange);
  font-weight:900;
}

.fm-path-mini{
  font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--fm-blue);
}

.fm-path-card-link h3{
  margin:0 0 14px;
  font-size:1.35rem;
  line-height:1.3;
  color:#111827;
}

.fm-path-card-link p{
  margin:0 0 18px;
  line-height:1.8;
  color:#4b5563;
}

.fm-path-cta{
  font-weight:850;
  color:var(--fm-orange-dark);
}

/* ARTICOLI */
.fm-articles-box{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
}

.fm-articles-text,
.fm-articles-side{
  background:#ffffff;
  border:1px solid rgba(15,23,42,0.08);
  padding:34px;
}

.fm-articles-text h3{
  margin-top:0;
  margin-bottom:16px;
  font-size:1.5rem;
  color:#111827;
}

.fm-articles-text p,
.fm-articles-side p{
  margin:0 0 18px;
  line-height:1.8;
  color:#4b5563;
}

.fm-articles-side{
  background:linear-gradient(135deg, rgba(255,140,26,0.08), rgba(22,93,255,0.08));
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.fm-articles-badge{
  display:inline-block;
  margin-bottom:18px;
  padding:10px 16px;
  border-radius:999px;
  background:#ffffff;
  color:var(--fm-blue);
  font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* TAG */
.fm-tags{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
}

.fm-tags span{
  padding:12px 18px;
  border-radius:999px;
  background:var(--fm-orange);
  color:#ffffff;
  box-shadow:0 8px 18px rgba(0,0,0,0.05);
  font-weight:700;
}

/* PODCAST */
.fm-podcast-box{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.10);
  padding:34px;
}

/* CONTATTI */
.fm-contact-box{
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding:36px;
  border:1px solid var(--fm-border);
}

.fm-contact-box .fm-btn-secondary{
  color:var(--fm-text) !important;
  border-color:rgba(17,24,39,0.10);
  background:#ffffff;
}

.fm-contact-box .fm-btn-secondary:hover{
  color:var(--fm-orange-dark) !important;
  background:#f3f4f6;
}

/* RESPONSIVE */
@media (max-width:1100px){
  .fm-nav-links{
    display:none;
  }

  .fm-nav-toggle{
    display:flex;
  }
}

@media (max-width:1024px){
  .fm-grid-3{
    grid-template-columns:repeat(2, 1fr);
  }

  .fm-two-columns,
  .fm-articles-box{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .fm-onepage{
    padding-top:72px;
  }

  .fm-nav-inner{
    min-height:72px;
  }

  .fm-mobile-menu{
    top:72px;
  }

  .fm-nav-logo-text{
    font-size:.95rem;
  }

  .fm-section{
    padding:76px 0;
    scroll-margin-top:88px;
  }

  .fm-grid-3,
  .fm-grid-2{
    grid-template-columns:1fr;
  }

  .fm-card,
  .fm-service-card,
  .fm-path-card,
  .fm-podcast-box,
  .fm-contact-box,
  .fm-articles-text,
  .fm-articles-side{
    padding:24px;
  }

  .fm-hero{
    min-height:calc(78vh - 72px);
  }

  .fm-hero h1{
    font-size:2.15rem;
    line-height:1.12;
  }

  .fm-hero-subtitle{
    font-size:1rem;
    line-height:1.65;
  }

  .fm-hero-buttons,
  .fm-contact-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .fm-btn{
    width:100%;
  }
}
/* PAGINE INTERNE FM */

.fm-inner-page{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  background:#ffffff;
}

.fm-page-hero{
  padding:120px 0 96px;
  background:
    linear-gradient(135deg, rgba(15,23,42,0.90), rgba(22,93,255,0.72)),
    radial-gradient(circle at top left, rgba(255,140,26,0.36), transparent 34%),
    #0f172a;
  color:#ffffff;
}

.fm-page-hero-content{
  max-width:920px;
}

.fm-page-hero h1{
  margin:0 0 18px;
  font-size:clamp(2.4rem, 5vw, 4.8rem);
  line-height:1.08;
  letter-spacing:-0.04em;
  color:#ffffff;
  font-weight:850;
}

.fm-page-subtitle{
  font-size:clamp(1.05rem, 2vw, 1.28rem);
  line-height:1.78;
  max-width:840px;
  margin:0 0 30px;
  color:rgba(255,255,255,0.92);
}

.fm-inner-page h2{
  margin-top:0;
  margin-bottom:18px;
  font-size:clamp(1.7rem, 3vw, 2.6rem);
  line-height:1.15;
  letter-spacing:-0.02em;
}

.fm-process-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}

.fm-process-card{
  background:#ffffff;
  border:1px solid rgba(15,23,42,0.08);
  border-radius:24px;
  padding:30px;
  box-shadow:0 14px 34px rgba(15,23,42,0.07);
}

.fm-process-number{
  width:44px;
  height:44px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  background:linear-gradient(135deg, #ff8c1a, #ffb15f);
  color:#ffffff;
  font-weight:850;
  font-size:1rem;
  box-shadow:0 10px 22px rgba(255,140,26,0.22);
}

.fm-process-card h3{
  margin:0 0 12px;
  font-size:1.22rem;
  line-height:1.3;
  color:#111827;
}

.fm-process-card p{
  margin:0;
  line-height:1.8;
  color:#4b5563;
}

.fm-quote-box{
  background:linear-gradient(135deg, rgba(255,140,26,0.08), rgba(22,93,255,0.08));
  border:1px solid rgba(15,23,42,0.08);
  border-radius:28px;
  padding:42px;
  box-shadow:0 14px 36px rgba(15,23,42,0.06);
}

.fm-quote-box p{
  margin:0;
  font-size:1.22rem;
  line-height:1.8;
  color:#1f2937;
  text-align:center;
  font-weight:650;
}

@media (max-width:1024px){
  .fm-process-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .fm-page-hero{
    padding:96px 0 76px;
  }

  .fm-process-card,
  .fm-quote-box{
    padding:26px;
  }

  .fm-quote-box p{
    font-size:1.05rem;
  }
}
/* PULIZIA SOLO PAGINA CHI SONO - ID 143 145 */

body.page-id-143 header,
body.page-id-143 .site-header,
body.page-id-143 .wp-site-blocks > header,
body.page-id-143 footer,
body.page-id-143 .site-footer,
body.page-id-143 .wp-site-blocks > footer,
body.page-id-143 .wp-block-site-title,
body.page-id-143 .wp-block-site-tagline,
body.page-id-143 .wp-block-navigation,
body.page-id-143 .page-header,
body.page-id-143 .entry-header,
body.page-id-143 h1.entry-title {
  display: none !important;
}

body.page-id-143 .wp-site-blocks,
body.page-id-143 main,
body.page-id-143 .site-main,
body.page-id-143 .page-content,
body.page-id-143 .entry-content,
body.page-id-143 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-143 .fm-inner-page {
  margin-top: 0 !important;
}

body.page-id-145 header,
body.page-id-145 .site-header,
body.page-id-145 .wp-site-blocks > header,
body.page-id-145 footer,
body.page-id-145 .site-footer,
body.page-id-145 .wp-site-blocks > footer,
body.page-id-145 .wp-block-site-title,
body.page-id-145 .wp-block-site-tagline,
body.page-id-145 .wp-block-navigation,
body.page-id-145 .page-header,
body.page-id-145 .entry-header,
body.page-id-145 h1.entry-title {
  display: none !important;
}

body.page-id-145 .wp-site-blocks,
body.page-id-145 main,
body.page-id-145 .site-main,
body.page-id-145 .page-content,
body.page-id-145 .entry-content,
body.page-id-145 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-145 .fm-inner-page {
  margin-top: 0 !important;
}
/* PULIZIA SOLO PAGINA PERCORSI - ID 147 */

body.page-id-147 header,
body.page-id-147 .site-header,
body.page-id-147 .wp-site-blocks > header,
body.page-id-147 footer,
body.page-id-147 .site-footer,
body.page-id-147 .wp-site-blocks > footer,
body.page-id-147 .wp-block-site-title,
body.page-id-147 .wp-block-site-tagline,
body.page-id-147 .wp-block-navigation,
body.page-id-147 .page-header,
body.page-id-147 .entry-header,
body.page-id-147 h1.entry-title {
  display: none !important;
}

body.page-id-147 .wp-site-blocks,
body.page-id-147 main,
body.page-id-147 .site-main,
body.page-id-147 .page-content,
body.page-id-147 .entry-content,
body.page-id-147 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-147 .fm-inner-page {
  margin-top: 0 !important;
}
/* PULIZIA SOLO PAGINA PODCAST - ID 151 */

body.page-id-151 header,
body.page-id-151 .site-header,
body.page-id-151 .wp-site-blocks > header,
body.page-id-151 footer,
body.page-id-151 .site-footer,
body.page-id-151 .wp-site-blocks > footer,
body.page-id-151 .wp-block-site-title,
body.page-id-151 .wp-block-site-tagline,
body.page-id-151 .wp-block-navigation,
body.page-id-151 .page-header,
body.page-id-151 .entry-header,
body.page-id-151 h1.entry-title {
  display: none !important;
}

body.page-id-151 .wp-site-blocks,
body.page-id-151 main,
body.page-id-151 .site-main,
body.page-id-151 .page-content,
body.page-id-151 .entry-content,
body.page-id-151 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-151 .fm-inner-page {
  margin-top: 0 !important;
}
/* PULIZIA SOLO PAGINA CONTATTI - ID 203 */

body.page-id-203 header,
body.page-id-203 .site-header,
body.page-id-203 .wp-site-blocks > header,
body.page-id-203 footer,
body.page-id-203 .site-footer,
body.page-id-203 .wp-site-blocks > footer,
body.page-id-203 .wp-block-site-title,
body.page-id-203 .wp-block-site-tagline,
body.page-id-203 .wp-block-navigation,
body.page-id-203 .page-header,
body.page-id-203 .entry-header,
body.page-id-203 h1.entry-title {
  display: none !important;
}

body.page-id-203 .wp-site-blocks,
body.page-id-203 main,
body.page-id-203 .site-main,
body.page-id-203 .page-content,
body.page-id-203 .entry-content,
body.page-id-203 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-203 .fm-inner-page {
  margin-top: 0 !important;
}
/* PULIZIA SOLO PAGINA ARTICOLI - ID 100 */

body.page-id-100 header,
body.page-id-100 .site-header,
body.page-id-100 .wp-site-blocks > header,
body.page-id-100 footer,
body.page-id-100 .site-footer,
body.page-id-100 .wp-site-blocks > footer,
body.page-id-100 .wp-block-site-title,
body.page-id-100 .wp-block-site-tagline,
body.page-id-100 .wp-block-navigation,
body.page-id-100 .page-header,
body.page-id-100 .entry-header,
body.page-id-100 h1.entry-title {
  display: none !important;
}

body.page-id-100 .wp-site-blocks,
body.page-id-100 main,
body.page-id-100 .site-main,
body.page-id-100 .page-content,
body.page-id-100 .entry-content,
body.page-id-100 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-100 .fm-inner-page {
  margin-top: 0 !important;
}
/* PULIZIA SOLO PAGINA SITI WEB E STRUMENTI DIGITALI - ID 249 */

body.page-id-249 header,
body.page-id-249 .site-header,
body.page-id-249 .wp-site-blocks > header,
body.page-id-249 footer,
body.page-id-249 .site-footer,
body.page-id-249 .wp-site-blocks > footer,
body.page-id-249 .wp-block-site-title,
body.page-id-249 .wp-block-site-tagline,
body.page-id-249 .wp-block-navigation,
body.page-id-249 .page-header,
body.page-id-249 .entry-header,
body.page-id-249 h1.entry-title {
  display: none !important;
}

body.page-id-249 .wp-site-blocks,
body.page-id-249 main,
body.page-id-249 .site-main,
body.page-id-249 .page-content,
body.page-id-249 .entry-content,
body.page-id-249 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.page-id-249 .fm-inner-page {
  margin-top: 0 !important;
}
/* MENU PAGINE INTERNE */

.fm-inner-page{
  padding-top:78px;
}

.fm-inner-page .fm-sticky-nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:99999;
}

.fm-inner-page .fm-page-hero{
  margin-top:0;
}

@media (max-width:768px){
  .fm-inner-page{
    padding-top:72px;
  }
}
/* SEZIONE SITI WEB E STRUMENTI DIGITALI - HOME */

.fm-digital-home-section {
  padding: 90px 20px;
  background:
    radial-gradient(circle at top left, rgba(255, 140, 26, 0.08), transparent 34%),
    radial-gradient(circle at bottom right, rgba(22, 93, 255, 0.08), transparent 34%),
    #ffffff;
}

.fm-digital-home-section .fm-container {
  max-width: 1180px;
  margin: 0 auto;
}

.fm-digital-main-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 48px;
}

.fm-digital-main-card {
  min-height: 280px;
  padding: 34px 30px;
  border-radius: 26px;
  background: #ffffff;
  border: 1px solid rgba(22, 93, 255, 0.12);
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.fm-digital-main-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.13);
  border-color: rgba(255, 140, 26, 0.35);
}

.fm-digital-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255, 140, 26, 0.14), rgba(22, 93, 255, 0.12));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 22px;
}

.fm-digital-main-card h3 {
  color: #111827 !important;
  font-size: 23px;
  line-height: 1.22;
  margin: 0 0 14px;
}

.fm-digital-main-card p {
  color: #4b5563 !important;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

/* BOX APP */

.fm-app-showcase {
  margin-top: 58px;
  padding: 44px;
  border-radius: 34px;
  background: linear-gradient(135deg, #fff7ef 0%, #ffffff 45%, #eef4ff 100%);
  border: 1px solid rgba(255, 140, 26, 0.18);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

.fm-app-showcase-header {
  max-width: 820px;
}

.fm-app-showcase-header h3 {
  color: #111827 !important;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  margin: 0 0 14px;
}

.fm-app-showcase-header p {
  color: #4b5563 !important;
  font-size: 18px;
  line-height: 1.75;
  margin: 0 0 34px;
}

.fm-app-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.fm-app-card {
  padding: 30px 26px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(22, 93, 255, 0.12);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.fm-app-number {
  color: #ff8c1a;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 13px;
  margin-bottom: 18px;
}

.fm-app-card h4 {
  color: #111827 !important;
  font-size: 24px;
  line-height: 1.22;
  margin: 0 0 14px;
}

.fm-app-card p {
  color: #4b5563 !important;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

.fm-digital-button {
  margin-top: 34px;
}

/* RESPONSIVE */

@media (max-width: 980px) {
  .fm-digital-main-grid,
  .fm-app-grid {
    grid-template-columns: 1fr;
  }

  .fm-digital-main-card {
    min-height: auto;
  }

  .fm-app-showcase {
    padding: 32px 24px;
  }
}

@media (max-width: 640px) {
  .fm-digital-home-section {
    padding: 70px 18px;
  }

  .fm-digital-main-card,
  .fm-app-card {
    padding: 26px 22px;
  }

  .fm-app-showcase {
    padding: 28px 20px;
    border-radius: 26px;
  }
}
/* CREDIT FINALE FM */

.fm-footer-credit{
  width:100%;
  padding:22px 20px;
  text-align:center;
  font-size:0.92rem;
  line-height:1.5;
  color:rgba(255,255,255,0.78);
  background:#0f172a;
  border-top:1px solid rgba(255,255,255,0.10);
}

.fm-footer-credit strong{
  color:#ffffff;
  font-weight:800;
}
.fm-footer-credit a {
  color: #ff8c1a;
  text-decoration: none;
  font-weight: 700;
}

.fm-footer-credit a:hover {
  text-decoration: underline;
}
/* PAGINE LEGALI - PRIVACY / COOKIE - STILE FM */

.fm-legal-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 90px 22px;
  color: #1f2937;
  line-height: 1.75;
  font-family: inherit;
}

.fm-legal-page::before {
  content: "FM Comunicazioni";
  display: inline-block;
  margin-bottom: 18px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 140, 26, 0.12);
  color: #ff8c1a;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fm-legal-page h1 {
  font-size: clamp(40px, 5vw, 62px);
  line-height: 1.05;
  color: #13213b;
  margin: 0 0 28px;
  letter-spacing: -0.03em;
}

.fm-legal-page > p:first-of-type {
  font-size: 20px;
  line-height: 1.75;
  color: #4b5563;
  margin-bottom: 26px;
}

.fm-legal-page h2 {
  position: relative;
  color: #13213b;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.2;
  margin-top: 48px;
  margin-bottom: 16px;
  padding-left: 18px;
}

.fm-legal-page h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 5px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff8c1a, #165dff);
}

.fm-legal-page p,
.fm-legal-page li {
  font-size: 17px;
  color: #4b5563;
}

.fm-legal-page p {
  margin: 0 0 18px;
}

.fm-legal-page ul {
  margin: 18px 0 26px;
  padding-left: 22px;
}

.fm-legal-page li {
  margin-bottom: 10px;
}

.fm-legal-page strong {
  color: #13213b;
  font-weight: 800;
}

.fm-legal-page a {
  color: #ff8c1a;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 140, 26, 0.35);
}

.fm-legal-page a:hover {
  color: #e97808;
  border-bottom-color: #e97808;
}

/* BOX VISIVO DEL CONTENUTO */

.fm-legal-page {
  position: relative;
}

.fm-legal-page::after {
  content: "";
  position: absolute;
  inset: 45px 0 auto 0;
  height: 260px;
  z-index: -1;
  border-radius: 36px;
  background:
    radial-gradient(circle at top left, rgba(255, 140, 26, 0.12), transparent 35%),
    radial-gradient(circle at bottom right, rgba(22, 93, 255, 0.10), transparent 35%),
    linear-gradient(135deg, #fff7ef 0%, #ffffff 55%, #eef4ff 100%);
}

/* SE VUOI L’EFFETTO CARD SUL TESTO */

.fm-legal-page {
  background: #ffffff;
  border-radius: 34px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
  border: 1px solid rgba(22, 93, 255, 0.08);
  margin-top: 60px;
  margin-bottom: 60px;
}

/* MOBILE */

@media (max-width: 768px) {
  .fm-legal-page {
    margin: 28px 16px;
    padding: 52px 22px;
    border-radius: 26px;
  }

  .fm-legal-page h1 {
    font-size: 38px;
  }

  .fm-legal-page h2 {
    font-size: 24px;
    margin-top: 40px;
  }

  .fm-legal-page p,
  .fm-legal-page li {
    font-size: 16px;
  }
}
/* FIX DEFINITIVO RIQUADRI PAGINA CHI SONO */

body.page-id-143 .fm-inner-page .fm-service-card,
body.page-id-145 .fm-inner-page .fm-service-card,
body.page-id-143 .fm-inner-page .fm-process-card,
body.page-id-145 .fm-inner-page .fm-process-card,
body.page-id-143 .fm-inner-page .fm-card,
body.page-id-145 .fm-inner-page .fm-card {
  background: #ffffff !important;
  color: #13213b !important;
  border: 1px solid rgba(22, 93, 255, 0.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.11) !important;
  padding: 30px !important;
}

/* TITOLI DEI RIQUADRI */

body.page-id-143 .fm-inner-page .fm-service-card h2,
body.page-id-145 .fm-inner-page .fm-service-card h2,
body.page-id-143 .fm-inner-page .fm-service-card h3,
body.page-id-145 .fm-inner-page .fm-service-card h3,
body.page-id-143 .fm-inner-page .fm-process-card h2,
body.page-id-145 .fm-inner-page .fm-process-card h2,
body.page-id-143 .fm-inner-page .fm-process-card h3,
body.page-id-145 .fm-inner-page .fm-process-card h3,
body.page-id-143 .fm-inner-page .fm-card h2,
body.page-id-145 .fm-inner-page .fm-card h2,
body.page-id-143 .fm-inner-page .fm-card h3,
body.page-id-145 .fm-inner-page .fm-card h3 {
  color: #13213b !important;
}

/* TESTI DEI RIQUADRI */

body.page-id-143 .fm-inner-page .fm-service-card p,
body.page-id-145 .fm-inner-page .fm-service-card p,
body.page-id-143 .fm-inner-page .fm-process-card p,
body.page-id-145 .fm-inner-page .fm-process-card p,
body.page-id-143 .fm-inner-page .fm-card p,
body.page-id-145 .fm-inner-page .fm-card p {
  color: #4b5563 !important;
}

/* TESTI IN GRASSETTO */

body.page-id-143 .fm-inner-page .fm-service-card strong,
body.page-id-145 .fm-inner-page .fm-service-card strong,
body.page-id-143 .fm-inner-page .fm-process-card strong,
body.page-id-145 .fm-inner-page .fm-process-card strong,
body.page-id-143 .fm-inner-page .fm-card strong,
body.page-id-145 .fm-inner-page .fm-card strong {
  color: #13213b !important;
  font-weight: 800 !important;
}

/* CARD EVIDENZIATA */

body.page-id-143 .fm-inner-page .fm-card-highlight,
body.page-id-145 .fm-inner-page .fm-card-highlight {
  background: linear-gradient(135deg, #fff7ef 0%, #ffffff 55%, #eef4ff 100%) !important;
  border: 1px solid rgba(255, 140, 26, 0.24) !important;
}

/* NUMERI DEI BLOCCHI */

body.page-id-143 .fm-inner-page .fm-process-number,
body.page-id-145 .fm-inner-page .fm-process-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff8c1a, #165dff) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  box-shadow: 0 12px 26px rgba(255, 140, 26, 0.24) !important;
}

/* GRIGLIE PIÙ STABILI */

body.page-id-143 .fm-inner-page .fm-grid,
body.page-id-145 .fm-inner-page .fm-grid {
  display: grid !important;
  gap: 26px !important;
}

body.page-id-143 .fm-inner-page .fm-grid-3,
body.page-id-145 .fm-inner-page .fm-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.page-id-143 .fm-inner-page .fm-grid-2,
body.page-id-145 .fm-inner-page .fm-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.page-id-143 .fm-inner-page .fm-two-columns,
body.page-id-145 .fm-inner-page .fm-two-columns {
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr !important;
  gap: 28px !important;
}

body.page-id-143 .fm-inner-page .fm-process-grid,
body.page-id-145 .fm-inner-page .fm-process-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
}

/* NELLE SEZIONI SCURE I RIQUADRI RESTANO BIANCHI */

body.page-id-143 .fm-inner-page .fm-section-dark .fm-service-card,
body.page-id-145 .fm-inner-page .fm-section-dark .fm-service-card,
body.page-id-143 .fm-inner-page .fm-section-dark .fm-card,
body.page-id-145 .fm-inner-page .fm-section-dark .fm-card,
body.page-id-143 .fm-inner-page .fm-section-dark .fm-process-card,
body.page-id-145 .fm-inner-page .fm-section-dark .fm-process-card {
  background: #ffffff !important;
  color: #13213b !important;
}

/* BOTTONI SECONDARI NELLA HERO E NELLE SEZIONI CHIARE */

body.page-id-143 .fm-inner-page .fm-section-light .fm-btn-secondary,
body.page-id-145 .fm-inner-page .fm-section-light .fm-btn-secondary,
body.page-id-143 .fm-inner-page .fm-section-accent .fm-btn-secondary,
body.page-id-145 .fm-inner-page .fm-section-accent .fm-btn-secondary {
  background: #ffffff !important;
  color: #13213b !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

body.page-id-143 .fm-inner-page .fm-section-light .fm-btn-secondary:hover,
body.page-id-145 .fm-inner-page .fm-section-light .fm-btn-secondary:hover,
body.page-id-143 .fm-inner-page .fm-section-accent .fm-btn-secondary:hover,
body.page-id-145 .fm-inner-page .fm-section-accent .fm-btn-secondary:hover {
  color: #ff8c1a !important;
}

/* MOBILE */

@media (max-width: 1024px) {
  body.page-id-143 .fm-inner-page .fm-grid-3,
  body.page-id-145 .fm-inner-page .fm-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.page-id-143 .fm-inner-page .fm-two-columns,
  body.page-id-145 .fm-inner-page .fm-two-columns {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  body.page-id-143 .fm-inner-page .fm-grid-3,
  body.page-id-145 .fm-inner-page .fm-grid-3,
  body.page-id-143 .fm-inner-page .fm-grid-2,
  body.page-id-145 .fm-inner-page .fm-grid-2,
  body.page-id-143 .fm-inner-page .fm-process-grid,
  body.page-id-145 .fm-inner-page .fm-process-grid,
  body.page-id-143 .fm-inner-page .fm-two-columns,
  body.page-id-145 .fm-inner-page .fm-two-columns {
    grid-template-columns: 1fr !important;
  }

  body.page-id-143 .fm-inner-page .fm-service-card,
  body.page-id-145 .fm-inner-page .fm-service-card,
  body.page-id-143 .fm-inner-page .fm-process-card,
  body.page-id-145 .fm-inner-page .fm-process-card,
  body.page-id-143 .fm-inner-page .fm-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }
}
/* BLOCCO FOTO REGIA RELAZIONALE - PAGINA PERCORSI */

.fm-visual-story-card {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 34px;
  align-items: center;
  padding: 34px;
  border-radius: 34px;
  background: linear-gradient(135deg, #fff7ef 0%, #ffffff 52%, #eef4ff 100%);
  border: 1px solid rgba(22, 93, 255, 0.12);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.10);
  overflow: hidden;
}

.fm-visual-story-image {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  min-height: 420px;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.18);
}

.fm-visual-story-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.16),
    rgba(22, 93, 255, 0.08)
  );
  pointer-events: none;
}

.fm-visual-story-image img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
}

.fm-visual-story-text h2 {
  color: #13213b;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.12;
  margin: 0 0 20px;
  letter-spacing: -0.03em;
}

.fm-visual-story-text p {
  color: #4b5563;
  font-size: 1.05rem;
  line-height: 1.8;
  margin: 0 0 18px;
}

.fm-visual-story-text .fm-btn {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .fm-visual-story-card {
    grid-template-columns: 1fr;
    padding: 24px;
    border-radius: 28px;
  }

  .fm-visual-story-image {
    min-height: 300px;
  }

  .fm-visual-story-image img {
    min-height: 300px;
  }
}
/* FIX RIQUADRI LEGGIBILI PAGINA PERCORSI */

body.page-id-147 .fm-inner-page .fm-section-light .fm-service-card,
body.page-id-147 .fm-inner-page .fm-section-accent .fm-service-card {
  background: #ffffff !important;
  color: #13213b !important;
  border: 1px solid rgba(22, 93, 255, 0.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10) !important;
  padding: 30px !important;
}

body.page-id-147 .fm-inner-page .fm-section-light .fm-service-card h3,
body.page-id-147 .fm-inner-page .fm-section-accent .fm-service-card h3 {
  color: #13213b !important;
}

body.page-id-147 .fm-inner-page .fm-section-light .fm-service-card p,
body.page-id-147 .fm-inner-page .fm-section-accent .fm-service-card p {
  color: #4b5563 !important;
}

/* LEGGERO EFFETTO HOVER */

body.page-id-147 .fm-inner-page .fm-section-light .fm-service-card:hover,
body.page-id-147 .fm-inner-page .fm-section-accent .fm-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 65px rgba(15, 23, 42, 0.14) !important;
  border-color: rgba(255, 140, 26, 0.28) !important;
}

/* MOBILE */

@media (max-width: 768px) {
  body.page-id-147 .fm-inner-page .fm-section-light .fm-service-card,
  body.page-id-147 .fm-inner-page .fm-section-accent .fm-service-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }
}
/* FIX PAGINA CONTATTAMI */

body.page-id-203 .entry-header,
body.page-id-203 .page-header,
body.page-id-203 h1.entry-title,
body.page-id-203 .wp-block-post-title,
body.page-id-203 header,
body.page-id-203 .site-header,
body.page-id-203 .wp-site-blocks > header,
body.page-id-203 footer,
body.page-id-203 .site-footer,
body.page-id-203 .wp-site-blocks > footer,
body.page-id-203 .wp-block-site-title,
body.page-id-203 .wp-block-site-tagline,
body.page-id-203 .wp-block-navigation {
  display: none !important;
}

body.page-id-203 .wp-site-blocks,
body.page-id-203 main,
body.page-id-203 .site-main,
body.page-id-203 .page-content,
body.page-id-203 .entry-content,
body.page-id-203 .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* CARD CONTATTI */

body.page-id-203 .fm-contact-card {
  background: #ffffff;
  color: #13213b;
  border: 1px solid rgba(22, 93, 255, 0.14);
  border-radius: 28px;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10);
  padding: 30px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.page-id-203 .fm-contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 65px rgba(15, 23, 42, 0.14);
  border-color: rgba(255, 140, 26, 0.30);
}

body.page-id-203 .fm-contact-card h3 {
  color: #13213b;
  margin-top: 0;
  margin-bottom: 14px;
  font-size: 1.35rem;
  line-height: 1.3;
}

body.page-id-203 .fm-contact-card p {
  color: #4b5563;
  line-height: 1.8;
  margin: 0 0 18px;
}

body.page-id-203 .fm-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ff8c1a;
  font-weight: 850;
  text-decoration: none;
}

body.page-id-203 .fm-contact-link::after {
  content: "→";
  transition: transform 0.25s ease;
}

body.page-id-203 .fm-contact-link:hover::after {
  transform: translateX(4px);
}

/* RIQUADRI LEGGIBILI SU CONTATTAMI */

body.page-id-203 .fm-inner-page .fm-service-card,
body.page-id-203 .fm-inner-page .fm-process-card,
body.page-id-203 .fm-inner-page .fm-card {
  background: #ffffff !important;
  color: #13213b !important;
  border: 1px solid rgba(22, 93, 255, 0.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10) !important;
  padding: 30px !important;
}

body.page-id-203 .fm-inner-page .fm-service-card h3,
body.page-id-203 .fm-inner-page .fm-process-card h3,
body.page-id-203 .fm-inner-page .fm-card h2,
body.page-id-203 .fm-inner-page .fm-card h3 {
  color: #13213b !important;
}

body.page-id-203 .fm-inner-page .fm-service-card p,
body.page-id-203 .fm-inner-page .fm-process-card p,
body.page-id-203 .fm-inner-page .fm-card p {
  color: #4b5563 !important;
}

/* CARD HIGHLIGHT */

body.page-id-203 .fm-inner-page .fm-card-highlight {
  background: linear-gradient(135deg, #fff7ef 0%, #ffffff 55%, #eef4ff 100%) !important;
  border: 1px solid rgba(255, 140, 26, 0.24) !important;
}

/* MOBILE */

@media (max-width: 768px) {
  body.page-id-203 .fm-contact-card,
  body.page-id-203 .fm-inner-page .fm-service-card,
  body.page-id-203 .fm-inner-page .fm-process-card,
  body.page-id-203 .fm-inner-page .fm-card {
    padding: 24px !important;
    border-radius: 24px !important;
  }
}
.fm-needs-section {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ef 100%);
  padding: 80px 20px;
}

.fm-container {
  max-width: 1180px;
  margin: 0 auto;
}

.fm-section-intro {
  max-width: 780px;
  margin: 0 auto 48px auto;
  text-align: center;
}

.fm-kicker {
  display: inline-block;
  margin-bottom: 14px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255, 140, 26, 0.12);
  color: #d85f0e;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}

.fm-section-intro h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.08;
  margin: 0 0 20px 0;
  color: #172033;
}

.fm-section-intro p {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #526070;
  margin: 0;
}

.fm-needs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 40px;
}

.fm-need-card {
  background: #ffffff;
  border: 1px solid rgba(23, 32, 51, 0.08);
  border-radius: 24px;
  padding: 28px 24px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.fm-need-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(23, 32, 51, 0.13);
}

.fm-need-number {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff8c1a, #165dff);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  margin-bottom: 18px;
}

.fm-need-card h3 {
  font-size: 1.18rem;
  line-height: 1.3;
  margin: 0 0 14px 0;
  color: #172033;
}

.fm-need-card p {
  font-size: 0.98rem;
  line-height: 1.65;
  color: #5f6b7a;
  margin: 0;
}

.fm-needs-cta {
  margin: 48px auto 0 auto;
  max-width: 760px;
  text-align: center;
  background: #172033;
  color: #ffffff;
  border-radius: 28px;
  padding: 34px 28px;
  box-shadow: 0 24px 60px rgba(23, 32, 51, 0.22);
}

.fm-needs-cta p {
  margin: 0 0 22px 0;
  font-size: 1.08rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.88);
}

.fm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fm-btn:hover {
  transform: translateY(-2px);
}

.fm-btn-primary {
  background: linear-gradient(135deg, #ff8c1a, #165dff);
  color: #ffffff;
  box-shadow: 0 14px 32px rgba(22, 93, 255, 0.25);
}

@media (max-width: 980px) {
  .fm-needs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .fm-needs-section {
    padding: 58px 18px;
  }

  .fm-needs-grid {
    grid-template-columns: 1fr;
  }

  .fm-need-card {
    padding: 24px 22px;
  }

  .fm-needs-cta {
    padding: 28px 22px;
  }
}
.fm-services-section {
  background: #ffffff;
  padding: 86px 20px;
}

.fm-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 46px;
}

.fm-service-card {
  background: #ffffff;
  border: 1px solid rgba(23, 32, 51, 0.09);
  border-radius: 26px;
  padding: 30px 26px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.08);
  display: flex;
  flex-direction: column;
  min-height: 310px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.fm-service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 70px rgba(23, 32, 51, 0.14);
}

.fm-service-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,140,26,0.16), rgba(22,93,255,0.14));
  color: #165dff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 20px;
}

.fm-service-card h3 {
  font-size: 1.28rem;
  line-height: 1.25;
  margin: 0 0 14px 0;
  color: #172033;
}

.fm-service-card p {
  font-size: 1rem;
  line-height: 1.68;
  color: #5f6b7a;
  margin: 0 0 24px 0;
}

.fm-service-card a {
  margin-top: auto;
  color: #d85f0e;
  font-weight: 800;
  text-decoration: none;
}

.fm-service-card a:hover {
  color: #165dff;
}

@media (max-width: 980px) {
  .fm-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .fm-services-section {
    padding: 62px 18px;
  }

  .fm-services-grid {
    grid-template-columns: 1fr;
  }

  .fm-service-card {
    min-height: auto;
    padding: 26px 22px;
  }
}
.fm-cases-section {
  background: #f7f9fc;
  padding: 88px 20px;
}

.fm-cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 48px;
}

.fm-case-card {
  background: #ffffff;
  border-radius: 28px;
  padding: 32px 28px;
  border: 1px solid rgba(23, 32, 51, 0.08);
  box-shadow: 0 18px 50px rgba(23, 32, 51, 0.08);
  display: flex;
  flex-direction: column;
}

.fm-case-label {
  display: inline-flex;
  align-self: flex-start;
  padding: 7px 13px;
  border-radius: 999px;
  background: rgba(255, 140, 26, 0.12);
  color: #d85f0e;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 18px;
}

.fm-case-card h3 {
  font-size: 1.35rem;
  line-height: 1.28;
  color: #172033;
  margin: 0 0 16px 0;
}

.fm-case-card p {
  font-size: 1rem;
  line-height: 1.7;
  color: #5f6b7a;
  margin: 0 0 18px 0;
}

.fm-case-card ul {
  margin: 0;
  padding-left: 19px;
  color: #465466;
  line-height: 1.75;
  font-size: 0.96rem;
}

.fm-case-card li::marker {
  color: #ff8c1a;
}

.fm-cases-note {
  max-width: 820px;
  margin: 50px auto 0 auto;
  text-align: center;
  background: #172033;
  color: #ffffff;
  padding: 36px 30px;
  border-radius: 30px;
  box-shadow: 0 24px 60px rgba(23, 32, 51, 0.22);
}

.fm-cases-note p {
  margin: 0 0 24px 0;
  font-size: 1.08rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.88);
}

@media (max-width: 980px) {
  .fm-cases-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .fm-cases-section {
    padding: 64px 18px;
  }

  .fm-case-card {
    padding: 26px 22px;
  }

  .fm-cases-note {
    padding: 30px 22px;
  }
}
.fm-method-section {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  padding: 88px 20px;
}

.fm-method-timeline {
  max-width: 920px;
  margin: 52px auto 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}

.fm-method-step {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 24px;
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid rgba(23, 32, 51, 0.08);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(23, 32, 51, 0.08);
}

.fm-method-number {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ff8c1a, #165dff);
  color: #ffffff;
  font-size: 1.08rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fm-method-content h3 {
  margin: 0 0 10px 0;
  font-size: 1.35rem;
  color: #172033;
  line-height: 1.25;
}

.fm-method-content p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.72;
  color: #5f6b7a;
}

.fm-method-quote {
  max-width: 820px;
  margin: 48px auto 0 auto;
  padding: 32px 30px;
  border-radius: 30px;
  background: #172033;
  color: #ffffff;
  text-align: center;
  box-shadow: 0 24px 60px rgba(23, 32, 51, 0.22);
}

.fm-method-quote p {
  margin: 0;
  font-size: 1.14rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.9);
}

@media (max-width: 640px) {
  .fm-method-section {
    padding: 64px 18px;
  }

  .fm-method-step {
    grid-template-columns: 1fr;
    padding: 26px 22px;
  }

  .fm-method-number {
    width: 52px;
    height: 52px;
    border-radius: 18px;
  }

  .fm-method-quote {
    padding: 28px 22px;
  }
}
:root {
  --fm-orange: #ff8c1a;
  --fm-orange-soft: #ffb65c;
  --fm-blue: #165dff;
  --fm-cyan: #14a9ff;
  --fm-white: #ffffff;
  --fm-muted: rgba(255,255,255,0.76);
}

.fm-card-page,
.fm-card-page * {
  box-sizing: border-box;
}

.fm-card-page {
  width: 100%;
  min-height: 100vh;
  padding: 14px 10px 28px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--fm-white);
  background:
    radial-gradient(circle at 15% 8%, rgba(255,140,26,0.23), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(20,169,255,0.22), transparent 32%),
    linear-gradient(145deg, #02040a 0%, #07111f 50%, #050913 100%);
}

.fm-card-box {
  width: 100%;
  max-width: 520px;
  overflow: hidden;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)),
    rgba(7, 15, 30, 0.88);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow:
    0 26px 80px rgba(0,0,0,0.55),
    0 0 36px rgba(255,140,26,0.10),
    0 0 40px rgba(20,169,255,0.10);
}

.fm-card-logo {
  padding: 10px 10px 0;
}

.fm-card-logo img {
  width: 100%;
  display: block;
  height: auto;
  border-radius: 20px;
  box-shadow:
    0 18px 48px rgba(0,0,0,0.38),
    0 0 26px rgba(255,140,26,0.15),
    0 0 28px rgba(20,169,255,0.12);
}

.fm-card-content {
  padding: 18px 18px 26px;
  text-align: center;
}

.fm-card-content h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(30px, 7vw, 42px);
  line-height: 1.05;
  font-weight: 820;
  letter-spacing: -0.03em;
}

.fm-card-role {
  max-width: 430px;
  margin: 10px auto 0;
  color: var(--fm-orange-soft);
  font-size: 15.5px;
  line-height: 1.38;
  font-weight: 600;
}

.fm-card-line {
  width: min(290px, 74%);
  height: 1px;
  margin: 18px auto;
  background: linear-gradient(90deg, transparent, var(--fm-cyan), var(--fm-orange), var(--fm-cyan), transparent);
  box-shadow:
    0 0 12px rgba(20,169,255,0.50),
    0 0 14px rgba(255,140,26,0.35);
}

.fm-card-intro {
  max-width: 440px;
  margin: 0 auto 20px;
  color: rgba(255,255,255,0.91);
  font-size: 16.2px;
  line-height: 1.5;
}

.fm-card-buttons {
  display: grid;
  gap: 11px;
  margin: 18px 0 22px;
}

.fm-card-button {
  min-height: 60px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 999px;
  color: #ffffff !important;
  text-decoration: none !important;
  text-align: left;
  background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.15);
  box-shadow: 0 12px 30px rgba(0,0,0,0.30);
}

.fm-card-button.fm-primary {
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,0.20), transparent 31%),
    linear-gradient(135deg, rgba(255,140,26,0.92), rgba(22,93,255,0.88));
  border-color: rgba(255,255,255,0.30);
}

.fm-card-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 20px;
  background: rgba(3,7,18,0.35);
  border: 1px solid rgba(255,255,255,0.12);
}

.fm-card-button span:nth-child(2) {
  flex: 1;
}

.fm-card-button strong {
  display: block;
  color: #ffffff;
  font-size: 15.8px;
  line-height: 1.2;
}

.fm-card-button small {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,0.76);
  font-size: 12.3px;
  line-height: 1.25;
}

.fm-card-button b {
  color: #ffffff;
  font-size: 25px;
  opacity: 0.82;
}

.fm-card-section {
  margin-top: 16px;
  padding: 16px 15px;
  border-radius: 21px;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(255,255,255,0.12);
}

.fm-card-section h2 {
  margin: 0 0 12px;
  color: var(--fm-cyan);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 11.5px;
  font-weight: 850;
  text-align: center;
}

.fm-card-section ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fm-card-section li {
  display: flex;
  gap: 9px;
  color: rgba(255,255,255,0.86);
  font-size: 14px;
  line-height: 1.38;
  text-align: left;
}

.fm-card-section li::before {
  content: "✦";
  color: var(--fm-orange);
  margin-top: 1px;
}

.fm-card-services {
  display: grid;
  gap: 10px;
}

.fm-card-service {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px;
  border-radius: 17px;
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.10);
  text-align: left;
}

.fm-card-service > span {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  font-size: 19px;
  background: linear-gradient(135deg, rgba(20,169,255,0.72), rgba(255,140,26,0.54));
}

.fm-card-service h3 {
  margin: 0 0 4px;
  color: #ffffff;
  font-size: 15.4px;
  line-height: 1.2;
}

.fm-card-service p {
  margin: 0;
  color: var(--fm-muted);
  font-size: 12.9px;
  line-height: 1.34;
}

.fm-card-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}

.fm-card-links a {
  min-height: 48px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
}

.fm-card-footer-line {
  width: 210px;
  height: 1px;
  margin: 24px auto 15px;
  background: linear-gradient(90deg, transparent, var(--fm-cyan), var(--fm-orange), transparent);
  box-shadow:
    0 0 14px rgba(20,169,255,0.60),
    0 0 16px rgba(255,140,26,0.35);
}

.fm-card-footer {
  margin: 0;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.10em;
  font-size: 11.2px;
  line-height: 1.65;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 430px) {
  .fm-card-page {
    padding: 7px 6px 20px;
  }

  .fm-card-box {
    border-radius: 23px;
  }

  .fm-card-logo {
    padding: 7px 7px 0;
  }

  .fm-card-logo img {
    border-radius: 16px;
  }

  .fm-card-content {
    padding: 15px 12px 22px;
  }

  .fm-card-content h1 {
    font-size: 27px;
  }

  .fm-card-role {
    font-size: 13.7px;
    line-height: 1.35;
  }

  .fm-card-line {
    margin: 14px auto;
  }

  .fm-card-intro {
    font-size: 14.4px;
    line-height: 1.43;
    margin-bottom: 16px;
  }

  .fm-card-buttons {
    gap: 10px;
    margin-bottom: 18px;
  }

  .fm-card-button {
    min-height: 56px;
    padding: 10px 11px;
    gap: 10px;
  }

  .fm-card-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    font-size: 18px;
  }

  .fm-card-button strong {
    font-size: 14.5px;
  }

  .fm-card-button small {
    font-size: 11.8px;
  }

  .fm-card-section {
    margin-top: 14px;
    padding: 14px 12px;
    border-radius: 18px;
  }

  .fm-card-section h2 {
    font-size: 10.8px;
    letter-spacing: 0.14em;
  }

  .fm-card-section li {
    font-size: 13.4px;
  }

  .fm-card-service {
    padding: 11px;
  }

  .fm-card-service h3 {
    font-size: 14.6px;
  }

  .fm-card-service p {
    font-size: 12.5px;
  }

  .fm-card-links {
    grid-template-columns: 1fr;
  }

  .fm-card-footer {
    letter-spacing: 0.07em;
    font-size: 10.5px;
  }
}
/* ==========================================================
   FM – COMMENTI ARTICOLI
   ========================================================== */

body.single-post .comments-area,
body.single-post #comments {
  width: min(92%, 860px);
  max-width: 860px;
  margin: 70px auto 90px !important;
  padding: 0 !important;
  color: #1f2937;
}

/* Titolo sezione */
body.single-post .comments-title,
body.single-post .comment-reply-title {
  margin: 0 0 18px;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 850;
  color: #13213b;
}

/* Testi informativi */
body.single-post .comment-notes,
body.single-post .logged-in-as,
body.single-post .comment-form-cookies-consent {
  color: #4b5563;
  font-size: .95rem;
  line-height: 1.7;
}

/* Commenti già pubblicati */
body.single-post .comment-list {
  list-style: none;
  margin: 36px 0 50px;
  padding: 0;
}

body.single-post .comment-list > li,
body.single-post .comment-body {
  margin-bottom: 24px;
}

body.single-post .comment-body {
  padding: 28px;
  background: #ffffff;
  border: 1px solid rgba(22,93,255,.13);
  border-radius: 22px;
  box-shadow: 0 14px 40px rgba(15,23,42,.08);
}

/* Autore */
body.single-post .comment-author {
  font-weight: 800;
  color: #13213b;
}

body.single-post .comment-author img {
  border-radius: 50%;
  margin-right: 10px;
}

/* Data */
body.single-post .comment-metadata {
  margin-top: 5px;
  font-size: .85rem;
  color: #6b7280;
}

body.single-post .comment-metadata a {
  color: #6b7280;
  text-decoration: none;
}

/* Corpo commento */
body.single-post .comment-content {
  margin-top: 20px;
  line-height: 1.8;
}

/* Rispondi */
body.single-post .comment-reply-link {
  display: inline-block;
  margin-top: 14px;
  color: #165dff;
  font-weight: 750;
  text-decoration: none;
}

/* Modulo */
body.single-post .comment-respond {
  margin-top: 45px;
  padding: 34px;
  background:
    linear-gradient(
      135deg,
      rgba(255,140,26,.07),
      rgba(22,93,255,.06)
    );
  border: 1px solid rgba(22,93,255,.12);
  border-radius: 28px;
}

body.single-post .comment-form label {
  display: block;
  margin-bottom: 7px;
  color: #13213b;
  font-weight: 750;
}

body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"],
body.single-post .comment-form textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(15,23,42,.16);
  border-radius: 14px;
  background: #ffffff;
  color: #1f2937;
  font: inherit;
  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

body.single-post .comment-form textarea {
  min-height: 180px;
  resize: vertical;
}

body.single-post .comment-form input:focus,
body.single-post .comment-form textarea:focus {
  outline: none;
  border-color: #165dff;
  box-shadow: 0 0 0 4px rgba(22,93,255,.10);
}

/* Pulsante */
body.single-post .comment-form .submit,
body.single-post input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 26px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg,#ff8c1a,#ff9f3f);
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(255,140,26,.28);
  transition: transform .2s ease;
}

body.single-post .comment-form .submit:hover,
body.single-post input[type="submit"]:hover {
  transform: translateY(-2px);
}

/* Link */
body.single-post .comments-area a {
  color: #165dff;
}

/* Mobile */
@media (max-width: 768px) {
  body.single-post .comments-area,
  body.single-post #comments {
    margin-top: 50px !important;
    margin-bottom: 65px !important;
  }

  body.single-post .comment-respond,
  body.single-post .comment-body {
    padding: 24px;
  }

  body.single-post .comment-form .submit {
    width: 100%;
  }
}