/* Chi siamo: variazioni editoriali circoscritte alla pagina.
   Caricare dopo style.css e aziende.css. Solo token del design system originale.
   In Elementor assegnare le classi ai container e ai widget indicati nel Markdown. */
body.fz-wordpress .fz-about-page .fz-about-people,body.fz-wordpress .fz-about-page .fz-about-training,body.fz-wordpress .fz-about-page .fz-about-places{ padding-inline: var(--inset); display: grid; gap: var(--space-12); align-items: start; }
body.fz-wordpress .fz-about-page .fz-about-people{ grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; }
body.fz-wordpress .fz-about-page .fz-about-photo{ margin: 0; min-width: 0; }
body.fz-wordpress .fz-about-page .fz-about-photo img{ display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 45% center; border-radius: var(--radius-xl); }
body.fz-wordpress .fz-about-page .fz-about-photo figcaption{ margin-top: var(--space-4); color: var(--color-text-muted); font-size: var(--fs-sm); }
body.fz-wordpress .fz-about-page .fz-about-intro{ max-width: 640px; margin-top: 16px; line-height: 1.65; }
body.fz-wordpress .fz-about-page .fz-about-history{ border-top: 1px solid var(--color-border); padding-top: 20px; margin-top: 20px; }
body.fz-wordpress .fz-about-page .fz-about-history h3{ font-family: var(--font-heading); font-size: 17px; color: var(--color-navy); line-height: 1.4; }
body.fz-wordpress .fz-about-page .fz-about-history p{ margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--color-text-muted); }
body.fz-wordpress .fz-about-page .fz-about-services{ padding-bottom: var(--section-gap); }
body.fz-wordpress .fz-about-page .fz-about-services__inner{ padding-inline: var(--inset); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 56px; align-items: center; }
body.fz-wordpress .fz-about-page .fz-about-service-links{ display: grid; gap: 12px; }
body.fz-wordpress .fz-about-page .fz-about-service-links li{ padding-block: 12px; border-bottom: 1px solid var(--color-border); }
body.fz-wordpress .fz-about-page .fz-about-service-links .fz-link-arrow{ min-height: 44px; }
body.fz-wordpress .fz-about-page .fz-about-clients{ padding-bottom: var(--section-gap); background: var(--color-background-soft); }
body.fz-wordpress .fz-about-page .fz-about-clients__inner{ padding-inline: var(--inset); }
body.fz-wordpress .fz-about-page .fz-client-logos{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
body.fz-wordpress .fz-about-page .fz-client-logo{ display: grid; place-items: center; min-width: 0; height: 128px; padding: 12px 16px; background: var(--color-background); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
body.fz-wordpress .fz-about-page .fz-client-logo img{ display: block; width: calc(var(--logo-width, 180px) * 1.3); max-width: 100%; height: auto; max-height: 100px; object-fit: contain; }
body.fz-wordpress .fz-about-page .fz-about-steps{ list-style: none; margin-top: var(--space-8); padding: 0; }
body.fz-wordpress .fz-about-page .fz-about-step{ display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-5); border-top: 1px solid var(--color-border); }
body.fz-wordpress .fz-about-page .fz-about-step__num{ font-family: var(--font-heading); font-weight: 800; font-size: var(--fs-lead); color: var(--color-accent); font-variant-numeric: tabular-nums; }
body.fz-wordpress .fz-about-page .fz-about-step h3,body.fz-wordpress .fz-about-page .fz-about-location h3{ font-family: var(--font-heading); font-size: 18px; font-weight: 700; color: var(--color-navy); line-height: 1.3; }
body.fz-wordpress .fz-about-page .fz-about-step p,body.fz-wordpress .fz-about-page .fz-about-location p:not(.fz-eyebrow){ margin-top: var(--space-2); font-size: 15px; line-height: 1.6; text-wrap: pretty; }
body.fz-wordpress .fz-about-page .fz-about-band{ margin-top: var(--section-gap); padding-block: var(--section-gap); background: var(--color-background-blue); }
body.fz-wordpress .fz-about-page .fz-about-training{ grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: center; }
body.fz-wordpress .fz-about-page .fz-about-note{ margin-block: var(--space-6) var(--space-4); max-width: 540px; line-height: 1.6; }
body.fz-wordpress .fz-about-page .fz-about-benefits{ display: grid; list-style: none; padding: 0; gap: var(--space-4); }
body.fz-wordpress .fz-about-page .fz-about-benefits .fz-need{ display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: var(--space-4); row-gap: var(--space-2); padding: var(--space-6); }
body.fz-wordpress .fz-about-page .fz-about-benefits .fz-need__icon{ grid-row: 1 / 3; }
body.fz-wordpress .fz-about-page .fz-about-benefits .fz-need__title{ margin: 0; }
body.fz-wordpress .fz-about-page .fz-about-benefits .fz-need__text{ grid-column: 2; }
body.fz-wordpress .fz-about-page .fz-about-places{ grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
body.fz-wordpress .fz-about-page .fz-about-places__intro .fz-link-arrow{ margin-top: var(--space-6); }
body.fz-wordpress .fz-about-page .fz-about-locations{ list-style: none; padding: 0; border-top: 1px solid var(--color-border-strong); }
body.fz-wordpress .fz-about-page .fz-about-location{ display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--space-5); padding-block: var(--space-6); border-bottom: 1px solid var(--color-border-strong); }
body.fz-wordpress .fz-about-page .fz-about-location__icon{ display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--radius-md); background: var(--color-background-blue); color: var(--color-accent); }
body.fz-wordpress .fz-about-page .fz-about-location .fz-eyebrow{ margin-bottom: var(--space-2); }
body.fz-wordpress .fz-about-page .fz-about-location h3{ font-size: var(--fs-h3); }
@media (max-width: 1199px) {
  body.fz-wordpress .fz-about-page .fz-about-services__inner{ grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.fz-wordpress .fz-about-page .fz-client-logos{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.fz-wordpress .fz-about-page .fz-about-people{ grid-template-columns: minmax(0, 1fr); }
  body.fz-wordpress .fz-about-page .fz-about-photo img{ aspect-ratio: 16 / 9; object-position: center 35%; }
  body.fz-wordpress .fz-about-page .fz-about-training,body.fz-wordpress .fz-about-page .fz-about-places{ gap: var(--space-8); grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  body.fz-wordpress .fz-about-page .fz-client-logos{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
  body.fz-wordpress .fz-about-page .fz-client-logo{ height: 104px; padding: 10px; }
  body.fz-wordpress .fz-about-page .fz-client-logo img{ max-height: 80px; }
  body.fz-wordpress .fz-about-page .fz-about-people{ gap: var(--space-6); }
  body.fz-wordpress .fz-about-page .fz-about-photo img{ aspect-ratio: 4 / 3; }
  body.fz-wordpress .fz-about-page .fz-about-benefits .fz-need{ padding: var(--space-5); }
  body.fz-wordpress .fz-about-page .fz-about-location{ gap: var(--space-4); }
}

/* Pagine editoriali restanti: base condivisa, varianti esplicite. */
body.fz-wordpress .fz-editorial-page .fz-ed-inset{ padding-inline: var(--inset); }
body.fz-wordpress .fz-editorial-page .fz-ed-split{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12); align-items: center; }
body.fz-wordpress .fz-editorial-page .fz-ed-split--top{ align-items: start; }
body.fz-wordpress .fz-editorial-page .fz-ed-split--wide{ grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
body.fz-wordpress .fz-editorial-page .fz-ed-photo{ margin: 0; min-width: 0; }
body.fz-wordpress .fz-editorial-page .fz-ed-photo img{ display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-xl); }
body.fz-wordpress .fz-editorial-page .fz-ed-photo--tall img{ aspect-ratio: 4 / 5; }
body.fz-wordpress .fz-editorial-page .fz-ed-title{ font-family: var(--font-heading); font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--color-navy); }
body.fz-wordpress .fz-editorial-page .fz-ed-copy{ margin-top: var(--space-4); line-height: 1.65; max-width: 640px; }
body.fz-wordpress .fz-editorial-page .fz-ed-split .fz-link-arrow{ margin-top: var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-ed-band{ margin-top: var(--section-gap); padding-block: var(--section-gap); background: var(--color-background-blue); }
body.fz-wordpress .fz-editorial-page .fz-ed-panel{ padding: var(--space-10); background: var(--color-background-blue); border-radius: var(--radius-xl); }
body.fz-wordpress .fz-editorial-page .fz-ed-checks{ display: grid; gap: var(--space-4); padding: 0; margin-top: var(--space-6); list-style: none; }
body.fz-wordpress .fz-editorial-page .fz-ed-checks li{ display: flex; align-items: flex-start; gap: var(--space-3); line-height: 1.55; }
body.fz-wordpress .fz-editorial-page .fz-ed-checks .fz-icon{ flex: none; color: var(--color-accent); margin-top: 2px; }
body.fz-wordpress .fz-editorial-page .fz-ed-steps{ list-style: none; padding: 0; display: grid; gap: var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-ed-step{ display: grid; grid-template-columns: 48px minmax(0,1fr); gap: var(--space-5); border-top: 1px solid var(--color-border-strong); padding-top: var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-ed-step p{ font-size: 15px; line-height: 1.6; margin-top: var(--space-2); }
body.fz-wordpress .fz-editorial-page .fz-ed-number{ font-family: var(--font-heading); color: var(--color-accent); font-size: var(--fs-h3); font-weight: 800; line-height: 1.2; }
body.fz-wordpress .fz-editorial-page .fz-ed-steps--grid{ grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-8); margin-top: var(--space-8); }
body.fz-wordpress .fz-editorial-page .fz-ed-faq{ border-top: 1px solid var(--color-border-strong); }
body.fz-wordpress .fz-editorial-page .fz-ed-detail{ border-bottom: 1px solid var(--color-border-strong); }
body.fz-wordpress .fz-editorial-page .fz-ed-detail summary{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); min-height:60px; padding-block:var(--space-5); cursor:pointer; list-style:none; font-family:var(--font-heading); font-weight:700; color:var(--color-navy); }
body.fz-wordpress .fz-editorial-page .fz-ed-detail summary::-webkit-details-marker{ display:none; }
body.fz-wordpress .fz-editorial-page .fz-ed-detail summary .fz-icon{ flex:none; transition:transform var(--dur) var(--ease); }
body.fz-wordpress .fz-editorial-page .fz-ed-detail[open] summary .fz-icon{ transform:rotate(180deg); }
body.fz-wordpress .fz-editorial-page .fz-ed-answer{ padding-bottom:var(--space-5); line-height:1.65; max-width:760px; }
body.fz-wordpress .fz-editorial-page .fz-ed-service-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:var(--space-12); margin-top:var(--space-12); padding-top:var(--space-12); border-top:1px solid var(--color-border); }
body.fz-wordpress .fz-editorial-page .fz-ed-service-row--reverse .fz-ed-photo{ order:2; }
body.fz-wordpress .fz-editorial-page .fz-ed-service-row .fz-link-arrow{ margin-top:var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-ed-service-row--panel{ background:var(--color-background-blue); border:0; padding:var(--space-10); border-radius:var(--radius-xl); }
body.fz-wordpress .fz-editorial-page .fz-ed-service-row--panel .fz-ed-checks{ margin:0; }
body.fz-wordpress .fz-editorial-page .fz-ed-small{ font-size:var(--fs-sm); line-height:1.6; color:var(--color-text-muted); }
body.fz-wordpress .fz-editorial-page .fz-ed-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-6); }
body.fz-wordpress .fz-editorial-page .fz-ed-four{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-6); margin-top:var(--space-8); }
body.fz-wordpress .fz-editorial-page .fz-ed-four .fz-ed-title{ margin-block:var(--space-3) var(--space-2); }
body.fz-wordpress .fz-editorial-page .fz-ed-four .fz-icon{ color:var(--color-accent); }
body.fz-wordpress .fz-editorial-page .fz-ed-four p{ font-size:15px; line-height:1.55; }
body.fz-wordpress .fz-editorial-page .fz-ed-type{ border-bottom:1px solid var(--color-border); padding-block:var(--space-6); display:grid; grid-template-columns:48px minmax(0,1fr); gap:var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-ed-type .fz-icon{ color:var(--color-accent); }
body.fz-wordpress .fz-editorial-page .fz-ed-type p{ margin-top:var(--space-2); line-height:1.6; }

/* Realizzazione siti web: tipologie di progetto in card, senza screenshot decorativo. */
body.fz-wordpress .fz-page-realizzazione-siti-web #progetto{ padding-bottom:var(--section-gap); }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-services{ align-items:start; }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-services-intro{ padding-top:var(--space-5); }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-services-intro .fz-biz-lead{ max-width:500px; }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offerings{ display:grid; gap:var(--space-4); min-width:0; }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering{ display:grid; grid-template-columns:52px minmax(0,1fr); align-items:start; gap:var(--space-5); min-width:0; padding:var(--space-6); background:var(--color-background); border:1px solid var(--color-border); border-radius:var(--radius-lg); box-shadow:0 8px 24px rgba(9,34,78,.04); }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering__icon,body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering>.elementor-widget-icon{ display:grid; place-items:center; width:48px; height:48px; border-radius:var(--radius-md); background:var(--color-background-blue); color:var(--color-accent); }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering>.elementor-widget-icon .elementor-icon-wrapper{ line-height:0; }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering .fz-icon{ width:24px; height:24px; color:var(--color-accent); }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering .fz-ed-title{ font-size:19px; }
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering p{ margin-top:var(--space-2); font-size:15px; line-height:1.6; }
@media (max-width:1199px){
 body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-services-intro{ padding-top:0; }
 body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-services-intro .fz-biz-lead{ max-width:720px; }
}
@media (max-width:767px){
 body.fz-wordpress .fz-page-realizzazione-siti-web #progetto{ padding-bottom:var(--space-10); }
 body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offerings{ gap:12px; }
 body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering{ grid-template-columns:44px minmax(0,1fr); gap:var(--space-4); padding:var(--space-5); }
 body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering__icon,body.fz-wordpress .fz-page-realizzazione-siti-web .fz-web-offering>.elementor-widget-icon{ width:44px; height:44px; }
}
/* Maquette explicative, sans faux projet client ni faux boutons. */
body.fz-wordpress .fz-editorial-page .fz-web-visual{ padding:var(--space-8); background:var(--color-background-blue); border-radius:var(--radius-xl); }
body.fz-wordpress .fz-editorial-page .fz-web-browser{ background:var(--color-background); border:1px solid var(--color-border-strong); border-radius:var(--radius-lg); overflow:hidden; }
body.fz-wordpress .fz-editorial-page .fz-web-bar{ padding:var(--space-3) var(--space-5); border-bottom:1px solid var(--color-border); color:var(--color-text-muted); font-size:var(--fs-xs); }
body.fz-wordpress .fz-editorial-page .fz-web-canvas{ padding:var(--space-6); }
body.fz-wordpress .fz-editorial-page .fz-web-canvas strong{ font-family:var(--font-heading); font-size:var(--fs-h3); line-height:1.2; color:var(--color-navy); display:block; }
body.fz-wordpress .fz-editorial-page .fz-web-label{ display:inline-flex; margin-top:var(--space-4); padding:var(--space-2) var(--space-3); border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-primary); font-size:var(--fs-sm); }
body.fz-wordpress .fz-editorial-page .fz-web-blocks{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); margin-top:var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-web-blocks span{ background:var(--color-background-soft); border-radius:var(--radius-sm); padding:var(--space-5) var(--space-3); font-size:var(--fs-xs); color:var(--color-text-muted); }
body.fz-wordpress .fz-editorial-page .fz-web-visual figcaption{ margin-top:var(--space-4); }
/* Enfants : l'âge est le premier repère. */
body.fz-wordpress .fz-editorial-page .fz-age{ padding:var(--space-8); border:1px solid var(--color-border); border-radius:var(--radius-xl); }
body.fz-wordpress .fz-editorial-page .fz-age--soft{ background:var(--color-background-blue); }
body.fz-wordpress .fz-editorial-page .fz-age__range{ font-family:var(--font-heading); font-size:var(--fs-h1); font-weight:800; color:var(--color-accent); line-height:1.1; margin-bottom:var(--space-4); }
body.fz-wordpress .fz-editorial-page .fz-age__range span{ font-size:var(--fs-lead); font-weight:600; }
body.fz-wordpress .fz-editorial-page .fz-age .fz-link-arrow{ margin-top:var(--space-6); }
/* AI : un seul panneau navy, puis liste de modules reliés au cours de base. */
body.fz-wordpress .fz-editorial-page .fz-ai-start{ padding:var(--space-12) var(--panel-pad); background:var(--color-navy); color:var(--color-on-dark); border-radius:var(--radius-xl); display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:var(--space-12); align-items:center; }
body.fz-wordpress .fz-editorial-page .fz-ai-start .fz-section-title{ color:var(--color-on-dark); }
body.fz-wordpress .fz-editorial-page .fz-ai-start .fz-biz-lead{ color:var(--color-on-dark-muted); }
body.fz-wordpress .fz-editorial-page .fz-ai-example{ padding:var(--space-6); border:1px solid var(--color-border-strong); border-radius:var(--radius-lg); }
body.fz-wordpress .fz-editorial-page .fz-ai-example p{ margin-top:var(--space-3); line-height:1.6; }
body.fz-wordpress .fz-editorial-page .fz-ai-example .fz-ed-small{ color:var(--color-on-dark-muted); }
body.fz-wordpress .fz-editorial-page .fz-ai-module{ display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:var(--space-5); padding-block:var(--space-6); border-bottom:1px solid var(--color-border); }
body.fz-wordpress .fz-editorial-page .fz-ai-module .fz-icon{ color:var(--color-accent); }
body.fz-wordpress .fz-editorial-page .fz-ai-module p{ margin-top:var(--space-2); line-height:1.6; }
body.fz-wordpress .fz-editorial-page .fz-ai-module .fz-link-arrow{ white-space:nowrap; }

/* AI: moduli editoriali, prerequisito e fascia metodologica compatta. */
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialists__intro{ max-width: 800px; margin-bottom: 28px; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialists__note{ margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--color-text-muted); }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialists__grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist{ min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px 16px; border-top: 1px solid var(--color-border-strong); padding-block: 24px; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist .fz-icon{ color: var(--color-accent); }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist__body h3{ font-family: var(--font-heading); font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--color-navy); }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist__body p{ margin-top: 8px; font-size: 15px; line-height: 1.6; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist__action{ grid-column: 2; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist__meta{ color: var(--color-text-muted); font-size: 13px; line-height: 1.6; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist .fz-link-arrow{ margin-top: 6px; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist--wide{ grid-column: 1 / -1; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: start; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist--wide .fz-ai-specialist__action{ grid-column: 3; }
body.fz-wordpress .fz-page-ai-produttivita .fz-ai-method-band{ padding-block: 56px; margin-top: 40px; }
@media (max-width: 1199px) {
  body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialists__grid{ grid-template-columns: minmax(0, 1fr); }
  body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist--wide{ grid-column: auto; grid-template-columns: 24px minmax(0, 1fr); }
  body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist--wide .fz-ai-specialist__action{ grid-column: 2; }
}
@media (max-width: 767px) {
  body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist__body h3{ font-size: 20px; }
  body.fz-wordpress .fz-page-ai-produttivita .fz-ai-specialist{ padding-block: 20px; }
  body.fz-wordpress .fz-page-ai-produttivita .fz-ai-method-band{ padding-block: 40px; margin-top: 28px; }
}
/* Contact : composition du message sans collecte côté serveur. */
body.fz-wordpress .fz-editorial-page .fz-contact-layout{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--space-12); padding-inline:var(--inset); align-items:start; }
body.fz-wordpress .fz-editorial-page .fz-contact-form{ padding:var(--space-8); border:1px solid var(--color-border); border-radius:var(--radius-xl); background:var(--color-background-soft); }
body.fz-wordpress .fz-editorial-page .fz-contact-fields{ display:grid; gap:var(--space-5); margin-top:var(--space-6); }
body.fz-wordpress .fz-editorial-page .fz-contact-fields label{ display:block; font-weight:600; color:var(--color-navy); margin-bottom:var(--space-2); }
body.fz-wordpress .fz-editorial-page .fz-contact-fields :is(input,select,textarea){ width:100%; min-width:0; min-height:48px; padding:var(--space-3) var(--space-4); border:1px solid var(--color-border-strong); border-radius:var(--radius-sm); background:var(--color-background); color:var(--color-text); font:inherit; }
body.fz-wordpress .fz-editorial-page .fz-contact-fields textarea{ min-height:150px; resize:vertical; }
body.fz-wordpress .fz-editorial-page .fz-contact-details{ margin-top:var(--space-6); }
body.fz-wordpress .fz-editorial-page .fz-contact-detail{ padding-block:var(--space-6); border-bottom:1px solid var(--color-border); }
body.fz-wordpress .fz-editorial-page .fz-contact-detail p{ margin-top:var(--space-3); line-height:1.6; }
body.fz-wordpress .fz-editorial-page .fz-contact-detail a{ overflow-wrap:anywhere; }
body.fz-wordpress .fz-editorial-page .fz-contact-status{ margin-top:var(--space-4); line-height:1.6; }
body.fz-wordpress .fz-editorial-page .fz-contact-copy{ margin-top:var(--space-4); }
body.fz-wordpress .fz-editorial-page [hidden]{ display:none; }
body.fz-wordpress .fz-editorial-page .fz-contact-options{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-6); }
body.fz-wordpress .fz-editorial-page .fz-contact-options a{ display:flex; gap:var(--space-3); align-items:center; padding:var(--space-5); border:1px solid var(--color-border); border-radius:var(--radius-md); color:var(--color-primary); font-family:var(--font-heading); font-weight:700; }
@media (max-width:1199px) {
 body.fz-wordpress .fz-editorial-page .fz-ed-split,body.fz-wordpress .fz-editorial-page .fz-ed-split--wide,body.fz-wordpress .fz-editorial-page .fz-ai-start,body.fz-wordpress .fz-editorial-page .fz-contact-layout{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
 body.fz-wordpress .fz-editorial-page .fz-ed-photo--tall img{ aspect-ratio:3 / 2; }
 body.fz-wordpress .fz-editorial-page .fz-ed-steps--grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.fz-wordpress .fz-editorial-page .fz-ed-four{ grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.fz-wordpress .fz-editorial-page .fz-ed-service-row{ gap:var(--space-8); }
}
@media (max-width:767px) {
 body.fz-wordpress .fz-editorial-page .fz-ed-two,body.fz-wordpress .fz-editorial-page .fz-ed-four,body.fz-wordpress .fz-editorial-page .fz-ed-steps--grid,body.fz-wordpress .fz-editorial-page .fz-ed-service-row,body.fz-wordpress .fz-editorial-page .fz-contact-options{ grid-template-columns:minmax(0,1fr); }
 body.fz-wordpress .fz-editorial-page .fz-ed-service-row--reverse .fz-ed-photo{ order:0; }
 body.fz-wordpress .fz-editorial-page .fz-ed-service-row{ margin-top:var(--space-8); padding-top:var(--space-8); }
 body.fz-wordpress .fz-editorial-page .fz-ed-service-row--panel,body.fz-wordpress .fz-editorial-page .fz-ed-panel,body.fz-wordpress .fz-editorial-page .fz-age,body.fz-wordpress .fz-editorial-page .fz-contact-form,body.fz-wordpress .fz-editorial-page .fz-ai-start{ padding:var(--space-6); }
 body.fz-wordpress .fz-editorial-page .fz-web-visual{ padding:var(--space-4); }
 body.fz-wordpress .fz-editorial-page .fz-web-canvas{ padding:var(--space-4); }
 body.fz-wordpress .fz-editorial-page .fz-web-blocks{ grid-template-columns:minmax(0,1fr); }
 body.fz-wordpress .fz-editorial-page .fz-web-blocks span{ padding:var(--space-3); }
 body.fz-wordpress .fz-editorial-page .fz-ai-module{ grid-template-columns:32px minmax(0,1fr); gap:var(--space-3); }
 body.fz-wordpress .fz-editorial-page .fz-ai-module .fz-link-arrow{ grid-column:2; white-space:normal; }
 body.fz-wordpress .fz-editorial-page .fz-contact-form .fz-btn{ width:100%; }
}
@media (prefers-reduced-motion:reduce) {
 body.fz-wordpress .fz-editorial-page .fz-ed-detail summary .fz-icon{ transition:none; }
}
body.fz-wordpress .fz-editorial-page .fz-contact-preview{ display:block; width:100%; margin-top:var(--space-2); padding:var(--space-3); border:1px solid var(--color-border-strong); border-radius:var(--radius-sm); font:inherit; font-size:var(--fs-sm); color:var(--color-text); background:var(--color-background); resize:vertical; }
body.fz-wordpress .fz-editorial-page .fz-ed-head{ margin-bottom:var(--space-8); }
body.fz-wordpress .fz-editorial-page.fz-page-contatti{ padding-bottom:var(--section-gap); }

/* Portfolio originale: solo la sezione dei progetti. */
body.fz-wordpress .fz-editorial-page .fz-portfolio__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-12) var(--space-8); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__item{ min-width:0; padding-bottom:var(--space-8); border-bottom:1px solid var(--color-border); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__visual{ margin:0 0 var(--space-5); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__visual img{ display:block; width:100%; height:auto; border-radius:var(--radius-lg); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__type{ margin-bottom:var(--space-2); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__item .fz-ed-copy{ margin-top:var(--space-3); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__item .fz-link-arrow{ margin-top:var(--space-4); }
body.fz-wordpress .fz-editorial-page .fz-portfolio__archive{ margin-top:var(--space-4); max-width:760px; }
body.fz-wordpress .fz-editorial-page .fz-portfolio-intro figcaption{ margin-top:var(--space-3); }
body.fz-wordpress .fz-editorial-page .fz-support-experience{ margin-top:var(--space-4); }
@media (max-width:768px) { body.fz-wordpress .fz-editorial-page .fz-portfolio__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); } }


/* v38 — Portfolio editoriale, limitato a Realizzazione siti web.
   Layout indipendente da JavaScript/GSAP, facilmente ricreabile in Elementor. */
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(2rem,4vw,3.75rem) clamp(1.25rem,3vw,2.5rem);
  align-items:start;
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item{
  grid-column:span 6;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0 0 clamp(1.25rem,2vw,1.75rem);
  border-bottom:1px solid var(--color-border);
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,0.65fr);
  column-gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
  padding-bottom:clamp(2rem,4vw,3.5rem);
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child .fz-portfolio__visual{
  grid-column:1;
  grid-row:1/6;
  margin-bottom:0;
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child > :not(.fz-portfolio__visual){grid-column:2;}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child .fz-ed-title{
  font-size:clamp(1.65rem,2.8vw,2.8rem);
  line-height:1.16;
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__visual{
  width:100%; overflow:hidden; border-radius:var(--radius-lg);
  background:var(--color-surface,#f1f4f8);
  margin-bottom:var(--space-5);
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__visual img{
  display:block; width:100%; height:auto;
  aspect-ratio:4/3; object-fit:cover; object-position:center;
  border-radius:inherit;
  transition:transform .65s cubic-bezier(.2,.75,.25,1);
}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child .fz-portfolio__visual img{aspect-ratio:16/10;}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:nth-child(4n+3) .fz-portfolio__visual img,body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:nth-child(4n+4) .fz-portfolio__visual img{aspect-ratio:5/4;}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item .fz-ed-title{margin-top:0;}
body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item .fz-link-arrow{align-self:flex-start;}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:hover .fz-portfolio__visual img{transform:scale(1.02);}
}
@media (max-width:900px) {
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child{
    display:flex;grid-column:1/-1;gap:0;
  }
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child .fz-portfolio__visual{margin-bottom:var(--space-5);}
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child .fz-ed-title{font-size:clamp(1.5rem,3vw,2rem);}
}
@media (max-width:640px) {
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__grid{grid-template-columns:minmax(0,1fr);gap:2rem;}
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item,body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:first-child{grid-column:1/-1;}
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__visual img,body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:nth-child(4n+3) .fz-portfolio__visual img,body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__item:nth-child(4n+4) .fz-portfolio__visual img{aspect-ratio:4/3;}
}
@media (prefers-reduced-motion:reduce) {
  body.fz-wordpress .fz-page-realizzazione-siti-web .fz-portfolio__visual img{transition:none!important;transform:none!important;}
}
