/*
Theme Name: Salient Child Theme
Description: Child theme per Icone ADV — sito agenzia/portfolio. Base bonificata.
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 2.0
*/

/* ============================================================
   BONIFICA 2026-06-13 — base pulita per il sito agenzia.
   (Sezioni WPBakery sperimentali rimosse su richiesta; resta la
    foundation + il supporto all'hero animato.)
   ============================================================ */

/* Token ICONE — da LOGO_2025.pdf (Helvetica + Pantone 167C / 433C) */
:root {
  /* Pantone 433C = 95% */
  --icone-ink:     #272E35;
  /* Superficie chiara brand (PDF su bianco) */
  --icone-ivory:   #FFFFFF;
  --icone-surface: #FFFFFF;
  /* Pantone 167C */
  --icone-magma:   #C1531B;
  --icone-orange:  #C1531B;
  --icone-dark:    #272E35;
  --icone-white:   #FFFFFF;
  --icone-fg:      #272E35;
  --icone-accent:  #C1531B;
  --icone-border:  rgba(39, 46, 53, 0.12);
  --icone-muted:   rgba(39, 46, 53, 0.58);
  --icone-muted-on-ink: rgba(255, 255, 255, 0.62);
  --icone-kicker:  rgba(39, 46, 53, 0.45);
  --icone-kicker-on-ink: rgba(255, 255, 255, 0.45);

  /* Brand type: HELVETICA (PDF p.7) — contract unico homepage 2026 */
  --icone-font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --icone-font-body:    "Helvetica Neue", Helvetica, Arial, sans-serif;
  --icone-font-ui:      "Helvetica Neue", Helvetica, Arial, sans-serif;
  /* Thunder resta SOLO sulle lettere hero (.fth__letter) via hero.css */
  --icone-font-editorial: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --icone-font-soft:      "Helvetica Neue", Helvetica, Arial, sans-serif;

  --icone-gutter-x: clamp(1.5rem, 4vw, 5rem);
  --icone-space-section: clamp(4.5rem, 9vw, 7.5rem);
  --icone-kicker-size: 0.72rem;
  --icone-kicker-tracking: 0.28em;
  --icone-lead-size: clamp(1.05rem, 1.5vw, 1.25rem);
  --icone-cta-size: 0.78rem;
  --icone-cta-tracking: 0.22em;

  /* Full-bleed: Salient setta --scroll-bar-w:-2px di default → senza max()
     la sezione diventa 100vw+2px e sfora (contenuto decentrato). */
  --icone-bleed-w: calc(100vw - max(0px, var(--scroll-bar-w, 0px)));
  --icone-bleed-ml: calc(50% - 50vw + max(0px, var(--scroll-bar-w, 0px)) / 2);

  /* Atmosfera ink condivisa (lavori → ponte about) */
  --icone-works-atmosphere:
    radial-gradient(ellipse 85% 65% at 12% 18%, rgba(193, 83, 27, 0.22), transparent 58%),
    radial-gradient(ellipse 55% 45% at 88% 72%, rgba(193, 83, 27, 0.1), transparent 55%),
    radial-gradient(ellipse 120% 70% at 50% 110%, rgba(0, 0, 0, 0.45), transparent 50%),
    linear-gradient(168deg, #323a43 0%, #272E35 38%, #1a1f24 100%);
}

/* Font self-hostati (GDPR-safe, usati dall'hero) */
@font-face {
  font-family: "DM Sans";
  src: url("assets/fonts/dmsans.woff2") format("woff2");
  font-weight: 400 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Instrument Sans";
  src: url("assets/fonts/instrumentsans.woff2") format("woff2");
  font-weight: 400 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Akkordeon Seven";
  src: url("assets/fonts/akkordeon/Akkordeon-Seven.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

.icone-accent { color: var(--icone-accent); }
.d-none { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* Footer GS parallax: row WPBakery full-bleed può sporgere ~100px;
   clip qui (non hidden) per non rischiare sticky ancestrali. */
.nectar_hook_global_section_parallax_footer {
  overflow-x: clip;
}
.icone-work{ position:relative; display:block; overflow:hidden; border-radius:18px;
  background:#272E35; text-decoration:none; isolation:isolate; }
.icone-work__media{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; }
.icone-work__media img{ position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; display:block;
  transform:scale(1.02); filter:grayscale(.08) contrast(1.03);
  transition:transform .8s cubic-bezier(.16,1,.3,1), filter .6s ease; will-change:transform; }
.icone-work:hover .icone-work__media img{ transform:scale(1.08); filter:grayscale(0) contrast(1.05); }
.icone-work::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to top, rgba(14,12,10,.80) 0%, rgba(14,12,10,.15) 46%, transparent 72%);
  opacity:.88; transition:opacity .5s ease; }
.icone-work:hover::after{ opacity:1; }
.icone-work__info{ position:absolute; z-index:2; left:0; right:0; bottom:0;
  padding:1.5rem 1.6rem; display:flex; flex-direction:column; gap:.35rem; color:#fff; }
.icone-work__cat{ font-family:var(--icone-font-ui); font-size:.66rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--icone-magma); font-weight:600; }
.icone-work__title{ font-family:var(--icone-font-body); font-weight:600;
  font-size:clamp(1.25rem,1.6vw,1.6rem); line-height:1.05; letter-spacing:-.01em;
  transform:translateY(5px); transition:transform .5s cubic-bezier(.16,1,.3,1); }
.icone-work:hover .icone-work__title{ transform:none; }
.icone-work__arrow{ position:absolute; top:1.3rem; right:1.4rem; z-index:2;
  width:2.6rem; height:2.6rem; border-radius:50%; display:grid; place-items:center;
  background:#C1531B; color:#fff; font-size:1.05rem; line-height:1;
  opacity:0; transform:translate(-6px,6px) scale(.85);
  transition:opacity .45s ease, transform .45s cubic-bezier(.16,1,.3,1); }
.icone-work:hover .icone-work__arrow{ opacity:1; transform:none; }

/* Flickity: peek slide adiacenti + frecce brand glass (scope al carousel lavori) */
.carousel-wrap:has(.icone-work){ cursor:grab; }
.carousel-wrap:has(.icone-work):active{ cursor:grabbing; }
.carousel-wrap:has(.icone-work) .flickity-viewport{ overflow:visible; }
.carousel-wrap:has(.icone-work) .flickity-prev-next-button{
  width:48px; height:48px; background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  box-shadow:0 6px 24px rgba(39,46,53,.18); border:1px solid rgba(39,46,53,.08);
  transition:background .3s ease; }
.carousel-wrap:has(.icone-work) .flickity-prev-next-button:hover{ background:#C1531B; }
.carousel-wrap:has(.icone-work) .flickity-button-icon{ fill:#272E35; transition:fill .3s ease; }
.carousel-wrap:has(.icone-work) .flickity-prev-next-button:hover .flickity-button-icon{ fill:#fff; }
@media (prefers-reduced-motion:reduce){ .icone-work *, .icone-work::after{ transition:none !important; } }

/* ============================================================
   GALLERIA PORTFOLIO — scroll orizzontale pinnato (bespoke)
   ============================================================ */
.icone-works{ position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w); left:auto; right:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  background:var(--icone-ivory); }   /* full-bleed: esce dal container boxed di Salient */

/* Intro editoriale: scrolla via, poi le card restano pinnate */
.icone-works__intro{
  position:relative; z-index:2;
  padding:var(--icone-space-section) var(--icone-gutter-x) clamp(2rem,4vw,3rem);
  max-width:52rem; will-change:transform,opacity;
}
.icone-works__kicker{
  display:inline-flex; align-items:center; gap:.75rem; margin:0 0 clamp(1.25rem,2.5vw,1.75rem);
  font-family:var(--icone-font-ui); font-size:var(--icone-kicker-size); font-weight:600;
  letter-spacing:var(--icone-kicker-tracking); text-transform:uppercase; color:var(--icone-kicker);
}
.icone-works__kicker-line{ width:2.5rem; height:1px; background:var(--icone-magma); flex:0 0 auto; }
.icone-works__title{
  margin:0 0 clamp(1rem,2vw,1.4rem);
  font-family:var(--icone-font-display); font-weight:700;
  font-size:clamp(2.8rem,7.2vw,6.5rem); line-height:.88; letter-spacing:0;
  text-transform:uppercase; color:var(--icone-ink);
}
.icone-works__lead{
  margin:0; max-width:38ch;
  font-family:var(--icone-font-body); font-size:var(--icone-lead-size);
  line-height:1.4; letter-spacing:-.01em; color:var(--icone-muted);
}

.icone-works__sticky{ position:sticky; top:0; height:100svh; display:flex; align-items:center;
  overflow:hidden; background:var(--icone-ivory); }
.icone-works__track{ display:flex; gap:26px; padding:0 var(--icone-gutter-x); will-change:transform; }
.icone-works__track .icone-work{ flex:0 0 clamp(300px, 34vw, 480px); }
.icone-works__track .icone-work .icone-work__media{ aspect-ratio:3/4; }   /* verticale, da galleria */
.icone-works__cue{ position:absolute; left:var(--icone-gutter-x); bottom:5vh; z-index:3;
  font:600 .66rem/1 var(--icone-font-ui); letter-spacing:.18em;
  text-transform:uppercase; color:var(--icone-kicker); display:flex; align-items:center; gap:.6rem; }
.icone-works__cue::before{ content:""; width:46px; height:1px; background:var(--icone-magma); display:inline-block; }

/* ---------- Panels (stile /lavori, nativo) ---------- */
/* 2026 Grainy Blur + editoriale: campo atmosferico continuo intro→pin */
.icone-works.is-panels{
  --icone-works-pin-top: calc(var(--icone-header-offset, 92px) + 1.1rem);
  --icone-works-bridge: #272E35; /* tinta condivisa col top di .icone-about__ivory */
  position:relative;
  isolation:isolate;
  background:var(--icone-works-atmosphere);
}
/* Ponte lavori → about: fade solo in coda sezione (invisibile a metà pin sticky) */
.icone-works.is-panels::before{
  content:"";
  position:absolute; left:0; right:0; bottom:0; z-index:5;
  height:min(52vh, 480px);
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(39, 46, 53, 0) 0%,
    rgba(39, 46, 53, 0.42) 38%,
    rgba(39, 46, 53, 0.92) 72%,
    var(--icone-works-bridge) 100%
  );
}
.icone-works.is-panels::after{
  content:"";
  position:absolute; inset:0; z-index:1;
  pointer-events:none;
  opacity:.055;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}
.icone-works.is-panels .icone-works__intro{
  z-index:2;
  padding-top:clamp(5rem, 11vh, 7.5rem);
  padding-bottom:clamp(2.5rem, 5vw, 3.75rem);
  max-width:min(44rem, 92vw);
}
.icone-works.is-panels .icone-works__kicker{
  color:rgba(255,255,255,.42);
  letter-spacing:.32em;
  font-size:.68rem;
  gap:.85rem;
  margin-bottom:clamp(1.5rem, 3vw, 2.25rem);
}
.icone-works.is-panels .icone-works__kicker-line{
  width:1.75rem; height:1.5px;
  background:var(--icone-magma);
  box-shadow:0 0 12px rgba(193, 83, 27, 0.45);
}
.icone-works.is-panels .icone-works__title{
  color:#fff;
  letter-spacing:-.038em;
  font-size:clamp(3rem, 8.2vw, 7.25rem);
  line-height:.84;
  text-wrap:balance;
}
.icone-works.is-panels .icone-works__lead{
  color:rgba(255,255,255,.58);
  max-width:34ch;
  font-size:clamp(1.05rem, 1.55vw, 1.3rem);
  line-height:1.45;
  margin-top:.15rem;
}
.icone-works.is-panels .icone-works__sticky{
  top:0;
  height:100svh;
  box-sizing:border-box;
  padding-top:var(--icone-works-pin-top);
  padding-bottom:1.5rem;
  align-items:stretch;
  z-index:3;
  background:var(--icone-works-atmosphere);
}
.icone-works.is-panels .icone-works__sticky::before{
  content:"";
  position:absolute; inset:0; z-index:0;
  pointer-events:none;
  opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}
/* Assist locale sticky: dissolve leggero dei pannelli verso il bridge (il ponte vero è ::before sezione) */
.icone-works.is-panels .icone-works__sticky::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; z-index:4;
  height:min(18vh, 160px);
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(39, 46, 53, 0) 0%,
    rgba(39, 46, 53, 0.55) 100%
  );
}
.icone-works.is-panels .icone-works__track{
  position:relative; z-index:1;
  gap:14px; height:100%; align-items:stretch; padding:0 var(--icone-gutter-x);
}
.icone-works.is-panels .icone-work--panel{
  position:relative; flex:0 0 min(78vw, 1120px); height:100%;
  display:block; border-radius:1.25rem; overflow:hidden;
  text-decoration:none; color:#fff;
  transform:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}
.icone-works.is-panels .icone-work--panel::after{ display:none; }
.icone-works.is-panels .icone-work__panel-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  transform:scale(1.06); transition:transform .9s cubic-bezier(.16,1,.3,1), filter .7s ease;
  /* Grainy Blur: soft-focus a riposo → nitido in hover */
  filter:saturate(1.02) contrast(1.02) brightness(.92) blur(14px);
}
.icone-works.is-panels .icone-work--panel.is-active .icone-work__panel-bg,
.icone-works.is-panels .icone-work--panel:hover .icone-work__panel-bg,
.icone-works.is-panels .icone-work--panel:focus-visible .icone-work__panel-bg{
  transform:scale(1.02);
  filter:saturate(1.08) contrast(1.06) brightness(1.02) blur(0);
}
.icone-works.is-panels .icone-work__panel-overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(to top, rgba(14,16,18,.92) 0%, rgba(14,16,18,.45) 38%, rgba(14,16,18,.08) 72%, transparent 100%),
    linear-gradient(120deg, rgba(193,83,27,.12) 0%, transparent 42%);
}
.icone-works.is-panels .icone-work__panel-overlay::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.42; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size:180px 180px;
  transition:opacity .7s ease;
}
.icone-works.is-panels .icone-work--panel.is-active .icone-work__panel-overlay::after,
.icone-works.is-panels .icone-work--panel:hover .icone-work__panel-overlay::after,
.icone-works.is-panels .icone-work--panel:focus-visible .icone-work__panel-overlay::after{
  opacity:.18;
}
@media (max-width:900px), (prefers-reduced-motion: reduce){
  .icone-works.is-panels .icone-work__panel-bg{
    filter:saturate(1.04) contrast(1.04) brightness(.96) blur(0);
    transform:scale(1.02);
    transition:none; /* niente zoom/filter durante lo scrub → meno scatti */
  }
  .icone-works.is-panels .icone-work--panel.is-active .icone-work__panel-bg,
  .icone-works.is-panels .icone-work--panel:hover .icone-work__panel-bg,
  .icone-works.is-panels .icone-work--panel:focus-visible .icone-work__panel-bg{
    transform:scale(1.02);
    filter:saturate(1.04) contrast(1.04) brightness(.96) blur(0);
  }
  .icone-works.is-panels .icone-work__panel-overlay::after{
    display:none; /* SVG noise + mix-blend = costo GPU alto in scroll */
  }
  .icone-works.is-panels .icone-work__cta-arrow{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:rgba(255,255,255,.1);
  }
  .icone-works.is-panels .icone-works__track{
    will-change:transform;
    transform:translateZ(0);
    backface-visibility:hidden;
  }
  .icone-works.is-panels .icone-work--panel{
    contain:layout paint;
  }
}
@media (prefers-reduced-motion: reduce){
  .icone-quote-area__img{
    filter:none; transform:none; opacity:1; transition:none;
  }
}
.icone-works.is-panels .icone-work__panel-body{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  padding:clamp(1.5rem, 3.5vw, 2.75rem);
  gap:.55rem;
}
.icone-works.is-panels .icone-work__cat{
  font-family:var(--icone-font-ui); font-size:.7rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.72);
}
.icone-works.is-panels .icone-work__title{
  display:block; margin:0;
  font-family:var(--icone-font-display); font-weight:700;
  font-size:clamp(2rem, 4.2vw, 3.6rem); line-height:.92; letter-spacing:-.03em;
  color:#fff; text-shadow:none;
}
.icone-works.is-panels .icone-work__excerpt{
  display:block; max-width:36ch; margin:.15rem 0 .35rem;
  font-family:var(--icone-font-body); font-size:clamp(.95rem, 1.2vw, 1.1rem);
  line-height:1.45; color:rgba(255,255,255,.78);
}
.icone-works.is-panels .icone-work__cta{
  display:inline-flex; align-items:center; gap:.65rem; margin-top:.35rem;
  font-family:var(--icone-font-ui); font-size:.78rem; font-weight:600;
  letter-spacing:.04em; color:#fff;
}
.icone-works.is-panels .icone-work__cta-arrow{
  width:1.55rem; height:1.55rem; border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  display:inline-grid; place-items:center;
  backdrop-filter:blur(8px);
  background:rgba(255,255,255,.06);
  transition:border-color .25s ease, background .25s ease, transform .25s ease;
}
.icone-works.is-panels .icone-work__cta-arrow::before{
  content:""; width:.45rem; height:.45rem;
  border-right:1.5px solid #fff; border-top:1.5px solid #fff;
  transform:rotate(45deg) translate(-1px, 1px);
}
.icone-works.is-panels .icone-work--panel:hover .icone-work__cta-arrow{
  border-color:rgba(255,255,255,.9); background:rgba(193,83,27,.35); transform:translateX(3px);
}
.icone-works.is-panels .icone-works__cue{
  z-index:4; color:rgba(255,255,255,.4); letter-spacing:.26em;
}
.icone-works.is-panels .icone-works__outro{
  position:absolute; right:var(--icone-gutter-x); bottom:1.5rem; z-index:6;
  display:flex; justify-content:flex-end;
  padding:0; margin:0; background:transparent;
}
.icone-works.is-panels .icone-works__outro::after{ display:none; }
.icone-works.is-panels .icone-works__all{
  display:inline-flex; align-items:center; gap:.55rem;
  min-height:44px; padding:12px 0;
  font-family:var(--icone-font-ui); font-size:.72rem; font-weight:600;
  letter-spacing:.26em; text-transform:uppercase;
  color:rgba(255,255,255,.88); text-decoration:none;
  border-bottom:1px solid transparent;
  background-image:linear-gradient(var(--icone-magma), var(--icone-magma));
  background-position:0 100%; background-repeat:no-repeat;
  background-size:100% 1.5px; padding-bottom:4px;
  transition:color .25s ease, background-size .45s cubic-bezier(.16,1,.3,1);
}
.icone-works.is-panels .icone-works__all:hover{
  color:#fff; background-size:40% 1.5px;
}

/* Mobile: stesso pin/scrub del desktop — solo tuning pannelli.
   Salient dynamic-styles mette body{overflow:visible} solo da 1000px:
   sotto, overflow:hidden spezza position:sticky → pin carousel inutile. */
@media (max-width:999px){
  html body{
    overflow:visible;
  }
}
@media (max-width:900px){
  .icone-works__cue{ display:none; }
  .icone-works.is-panels{
    --icone-works-card-w: min(84vw, 22rem);
    --icone-works-card-h: min(58svh, calc(var(--icone-works-card-w) * 4 / 3), 32rem);
  }
  /* Intro fuori dallo sticky (device bassi / default): compatta, poi fade via JS */
  .icone-works.is-panels:not(.has-inline-intro) .icone-works__intro{
    position:relative;
    z-index:2;
    padding-top:calc(var(--icone-header-offset, 64px) + 1.25rem);
    padding-bottom:1rem;
    max-width:min(44rem, 92vw);
  }
  .icone-works.is-panels:not(.has-inline-intro) .icone-works__title{
    font-size:clamp(2rem, 9vw, 2.75rem);
    line-height:0.9;
  }
  .icone-works.is-panels:not(.has-inline-intro) .icone-works__lead{ display:none; }
  .icone-works.is-panels .icone-works__sticky{
    top:0;
    height:100svh;
    padding-top:calc(var(--icone-header-offset, 64px) + 0.5rem);
    padding-bottom:max(0.85rem, env(safe-area-inset-bottom, 0px));
    align-items:center;
    flex-direction:row;
  }
  .icone-works.is-panels .icone-works__sticky::after{
    height:min(10vh, 80px);
    opacity:.55;
  }
  .icone-works.is-panels .icone-works__track{
    height:var(--icone-works-card-h);
    align-self:center;
  }
  .icone-works.is-panels .icone-work--panel{
    flex:0 0 var(--icone-works-card-w);
    width:var(--icone-works-card-w);
    height:var(--icone-works-card-h);
    border-radius:1rem;
  }
  .icone-works.is-panels .icone-work__panel-body{
    padding:1.15rem 1.25rem 1.3rem;
    gap:.4rem;
  }
  .icone-works.is-panels .icone-work__title{
    font-size:clamp(1.55rem, 6.5vw, 2.15rem);
  }
  .icone-works.is-panels .icone-work__excerpt{
    font-size:.9rem; max-width:28ch; line-height:1.4;
  }
  .icone-works.is-panels .icone-work__cat{ font-size:.62rem; letter-spacing:.18em; }
  .icone-works.is-panels .icone-works__outro{ bottom:max(0.75rem, env(safe-area-inset-bottom, 0px)); }

  /* Device con spazio: titolo DENTRO lo sticky, sopra le card (un solo pin) */
  .icone-works.is-panels.has-inline-intro .icone-works__sticky{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    padding-top:calc(var(--icone-header-offset, 64px) + 0.35rem);
    gap:0.45rem;
  }
  .icone-works.is-panels.has-inline-intro .icone-works__intro{
    position:relative;
    flex:0 0 auto;
    z-index:2;
    padding:0 var(--icone-gutter-x) 0;
    max-width:none;
    will-change:auto;
    background:transparent;
  }
  .icone-works.is-panels.has-inline-intro .icone-works__kicker{
    margin:0 0 0.35rem;
    font-size:0.58rem;
    letter-spacing:0.28em;
  }
  .icone-works.is-panels.has-inline-intro .icone-works__title{
    margin:0;
    font-size:clamp(1.45rem, 6.2vw, 2rem);
    line-height:0.9;
    letter-spacing:-0.03em;
  }
  .icone-works.is-panels.has-inline-intro .icone-works__lead{ display:none; }
  .icone-works.is-panels.has-inline-intro .icone-works__track{
    flex:0 0 auto;
    align-self:flex-start;
    width:100%;
    margin-top:0;
  }
}
/* Telefoni bassi: niente titolo nel pin, card più compatte */
@media (max-width:900px) and (max-height:739px){
  .icone-works.is-panels{
    --icone-works-card-w: min(82vw, 21rem);
    --icone-works-card-h: min(62svh, calc(var(--icone-works-card-w) * 4 / 3), 30rem);
  }
}
/* Telefoni alti */
@media (max-width:900px) and (min-height:820px){
  .icone-works.is-panels{
    --icone-works-card-w: min(84vw, 23rem);
    --icone-works-card-h: min(56svh, calc(var(--icone-works-card-w) * 4 / 3), 32rem);
  }
}
/* Fallback reduced-motion: swipe orizzontale nativo (niente pin) */
@media (prefers-reduced-motion:reduce){
  .icone-works{ height:auto !important; }
  .icone-works__intro{ padding-bottom:1.25rem; opacity:1 !important; transform:none !important; visibility:visible !important; }
  .icone-works__sticky{ position:static; height:auto; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; padding-bottom:.5rem; }
  .icone-works__track{ transform:none !important; padding:0 24px; }
  .icone-works__track .icone-work{ flex-basis:80vw; scroll-snap-align:start; }
  .icone-works__cue{ display:none; }
  .icone-works.is-panels .icone-works__sticky{
    height:auto; padding:1rem 0 1.25rem;
    background:var(--icone-works-atmosphere);
  }
  .icone-works.is-panels .icone-works__track{ height:auto; gap:12px; }
  .icone-works.is-panels .icone-work--panel{
    flex-basis:min(88vw, 420px); height:min(72vh, 560px);
  }
}

/* ============================================================
   CONTATTO (CF7) + SERVIZI + FOOTER CTA
   ============================================================ */
.icone-contact-mail{ font-family:"Instrument Sans",Helvetica,sans-serif; font-size:clamp(1.4rem,2.4vw,2.1rem);
  color:#fff; text-decoration:none; border-bottom:2px solid #C1531B; padding-bottom:2px; transition:color .3s; }
.icone-contact-mail:hover{ color:#C1531B; }
.wpcf7 .icone-form__row{ display:block; }
.wpcf7 input.wpcf7-form-control, .wpcf7 textarea.wpcf7-form-control{
  width:100%; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.25);
  color:#fff; font-family:"DM Sans",Helvetica,Arial,sans-serif; font-size:1rem; padding:14px 0;
  border-radius:0; transition:border-color .3s; }
.wpcf7 ::placeholder{ color:rgba(255,255,255,.5); }
.wpcf7 input:focus, .wpcf7 textarea:focus{ outline:none; border-bottom-color:#C1531B; }
.wpcf7 textarea.wpcf7-form-control{ min-height:120px; resize:vertical; }
.wpcf7 .wpcf7-submit{ width:auto; background:#C1531B; color:#fff; border:0;
  border-radius:100px; padding:16px 40px; font-family:"DM Sans",sans-serif; font-weight:600;
  letter-spacing:.01em; cursor:pointer; margin-top:10px; transition:background .3s,color .3s; }
.wpcf7 .wpcf7-submit:hover{ background:#fff; color:#272E35; }
.wpcf7 .wpcf7-response-output{ border:1px solid #C1531B !important; color:#fff; margin:1.2rem 0 0; border-radius:6px; }
.wpcf7-not-valid-tip{ color:#ffb38a; font-size:.8rem; }

.icone-services{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin-top:48px;
  border-top:1px solid rgba(39,46,53,.12); }
.icone-services__item{ padding:30px 10px; border-bottom:1px solid rgba(39,46,53,.12); }
.icone-services__n{ font-family:"DM Sans",ui-monospace,monospace; color:#C1531B; font-size:.78rem; letter-spacing:.12em; }
.icone-services__item h3{ font-family:Helvetica,Arial,sans-serif; font-weight:700; font-size:clamp(1.4rem,2.4vw,2rem); margin:.5rem 0 .5rem; color:#272E35; }
.icone-services__item p{ color:#555; max-width:36ch; margin:0; }
@media(max-width:760px){ .icone-services{ grid-template-columns:1fr; } }

.icone-foot-cta2{ display:flex; flex-direction:column; gap:1.1rem; align-items:flex-start; }
.icone-foot-cta2__k{ font-family:"DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.18em; font-size:.7rem; color:rgba(255,255,255,.55); }
.icone-foot-cta2__btn{ display:inline-flex; align-items:center; gap:.5rem; background:#C1531B; color:#fff !important;
  text-decoration:none; padding:14px 28px; border-radius:100px; font-family:"DM Sans",sans-serif; font-weight:600; transition:background .3s,color .3s; }
.icone-foot-cta2__btn:hover{ background:#fff; color:#272E35 !important; }

/* ============================================================
   CAROUSEL portfolio sotto l'hero — drag orizzontale, stile card icone_works
   ============================================================ */
.icone-works-carousel{ display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:8px 0 20px; margin-top:42px; -webkit-overflow-scrolling:touch; scrollbar-width:none; cursor:grab; }
.icone-works-carousel::-webkit-scrollbar{ display:none; }
.icone-works-carousel:active{ cursor:grabbing; }
.icone-works-carousel .icone-work{ flex:0 0 clamp(280px,30vw,420px); scroll-snap-align:start; }
.icone-works-carousel .icone-work__media{ aspect-ratio:3/4; }
.icone-works-carousel.is-dragging{ scroll-snap-type:none; cursor:grabbing; }
.icone-works-carousel.is-dragging a{ pointer-events:none; }
.icone-works-carousel__wrap{ position:relative; }
.icone-works-carousel__cue{ display:inline-flex; align-items:center; gap:.6rem; margin-top:8px;
  font:600 .66rem/1 "DM Sans",Helvetica,Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:rgba(39,46,53,.45); }
.icone-works-carousel__cue::before{ content:""; width:46px; height:1px; background:#C1531B; display:inline-block; }

/* ============================================================
   /WORKS — hero indice (minimo, sharp, no collage)
   ============================================================ */
.icone-works-hero.is-index{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  min-height:auto;
  display:block;
  padding:0;
  background:transparent; /* il row Salient porta ivory */
  overflow:visible;
}
.icone-works-hero.is-index .icone-works-hero__copy{
  position:relative; z-index:1;
  max-width:min(40rem, 92vw);
}
.icone-works-hero.is-index .icone-works-hero__kicker{
  margin:0 0 .85rem;
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif);
  font-size:.68rem; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--icone-magma, #C1531B);
}
.icone-works-hero.is-index .icone-works-hero__title{
  margin:0 0 .75rem;
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif);
  font-weight:700;
  font-size:clamp(3rem, 7.5vw, 6rem);
  line-height:.88;
  letter-spacing:-.04em;
  color:var(--icone-ink, #272E35);
  text-transform:none;
}
.icone-works-hero.is-index .icone-works-hero__lead{
  margin:0;
  max-width:38ch;
  font-family:var(--icone-font-body, Helvetica, Arial, sans-serif);
  font-size:clamp(1.05rem, 1.45vw, 1.25rem);
  line-height:1.4;
  color:var(--icone-muted, #5b5b5b);
}

/* ============================================================
   /WORKS — nectar_post_grid Salient allineato brand Icone
   ============================================================ */
body.page-id-1005 .icone-works-title-row,
body.page-id-1005 .wpb_row:has(.icone-section-title),
body.page-id-1005 .icone-works-grid-row,
body.page-id-1005 .wpb_row:has(.nectar-post-grid-wrap){
  background-color:var(--icone-ink, #272E35) !important;
}
body.page-id-1005 .wpb_row:has(.icone-section-title) .row-bg,
body.page-id-1005 .wpb_row:has(.nectar-post-grid-wrap) .row-bg{
  background-color:var(--icone-ink, #272E35) !important;
}
body.page-id-1005 .icone-works-title-row .icone-section-title,
body.page-id-1005 .wpb_row:has(.icone-section-title) .icone-section-title{
  padding-top:0;
  padding-bottom:clamp(1.5rem, 3vw, 2.5rem);
}
body.page-id-1005 .icone-works-hero-row,
body.page-id-1005 .wpb_row:has(.icone-works-hero){
  background-color:var(--icone-ivory, #F1EFED) !important;
}
body.page-id-1005 .wpb_row:has(.icone-works-hero) .row-bg{
  background-color:var(--icone-ivory, #F1EFED) !important;
}
body.page-id-1005 .nectar-post-grid-wrap{
  /* niente browser-window / card cyan da demo */
}
body.page-id-1005 .nectar-post-grid-wrap.nectar-browser-window-style,
body.page-id-1005 .nectar-browser-window-style{
  /* safety se la classe resta in cache */
}
body.page-id-1005 .nectar-post-grid-wrap.nectar-browser-window-style::before,
body.page-id-1005 .nectar-post-grid-wrap.nectar-browser-window-style::after,
body.page-id-1005 .nectar-browser-window-style .nectar-post-grid-item::before{
  display:none !important;
  content:none !important;
}
body.page-id-1005 .nectar-post-grid-filters{
  margin:0 0 clamp(1.35rem, 2.8vw, 2rem);
  padding:0;
}
body.page-id-1005 .nectar-post-grid-filters h4{ display:none; }
body.page-id-1005 .nectar-post-grid-filters > div{
  display:flex; flex-wrap:wrap; gap:.55rem 1.35rem; align-items:center;
}
body.page-id-1005 .nectar-post-grid-filters a{
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif) !important;
  font-size:.68rem !important;
  font-weight:600 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.42) !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  text-decoration:none !important;
}
body.page-id-1005 .nectar-post-grid-filters a:hover,
body.page-id-1005 .nectar-post-grid-filters a.active{
  color:var(--icone-magma, #C1531B) !important;
}
body.page-id-1005 .nectar-post-grid .nectar-post-grid-item{
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden;
}
body.page-id-1005 .nectar-post-grid .nectar-post-grid-item-bg,
body.page-id-1005 .nectar-post-grid .nectar-post-grid-item-bg img,
body.page-id-1005 .nectar-post-grid .nectar-post-grid-item-bg-wrap{
  border-radius:0 !important;
  filter:none !important;
}
body.page-id-1005 .nectar-post-grid .post-heading,
body.page-id-1005 .nectar-post-grid .post-heading span{
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif) !important;
  font-weight:700 !important;
  letter-spacing:-.03em !important;
}
body.page-id-1005 .nectar-post-grid .meta-category a,
body.page-id-1005 .nectar-post-grid .meta-category .style-button{
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif) !important;
  font-size:.62rem !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.7) !important;
}
body.page-id-1005 .nectar-post-grid .meta-category a:after,
body.page-id-1005 .nectar-post-grid[data-text-style] .meta-category a{
  /* underline magma via accent già Salient; rinforzo */
}
body.page-id-1005 .load-more-items,
body.page-id-1005 .nectar-post-grid-wrap .loadmore{
  margin-top:2.5rem;
}
body.page-id-1005 .nectar-post-grid-wrap .loadmore .nectar-button,
body.page-id-1005 .nectar-post-grid-wrap a.load-more{
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:0 !important;
}

/* ============================================================
   /WORKS — archivio editoriale sharp (icone_works grid, legacy)
   ============================================================ */
.icone-works.is-grid.is-archive{
  position:relative;
  width:var(--icone-bleed-w); max-width:var(--icone-bleed-w);
  margin-left:var(--icone-bleed-ml);
  background:var(--icone-ivory, #F1EFED);
  padding:0 0 clamp(4.5rem, 9vh, 7rem);
}
.icone-works.is-grid.is-archive .icone-works__intro{ display:none; }

.icone-works-filters{
  display:flex; flex-wrap:wrap; gap:.5rem 1.5rem;
  align-items:center;
  padding:0 var(--icone-gutter-x) clamp(1.5rem, 3vw, 2.25rem);
}
.icone-works-filters button{
  appearance:none; border:0; background:transparent; cursor:pointer; padding:0;
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif);
  font-size:.68rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:rgba(39,46,53,.42);
  transition:color .2s ease;
}
.icone-works-filters button:hover,
.icone-works-filters button.is-active{
  color:var(--icone-magma, #C1531B);
}

.icone-works.is-grid.is-archive .icone-works-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:clamp(1rem, 1.8vw, 1.35rem);
  padding:0 var(--icone-gutter-x);
  margin:0;
}
.icone-works-grid .icone-work--archive{
  position:relative;
  display:block;
  text-decoration:none;
  color:inherit;
  overflow:hidden;
  border-radius:0;
  background:var(--icone-ink, #272E35);
}
.icone-works-grid .icone-work--archive.is-filtered-out,
.icone-works-grid .icone-work--archive[hidden]{
  display:none !important;
}
.icone-works-grid .icone-work--archive .icone-work__media{
  aspect-ratio:4/5;
  display:block;
  overflow:hidden;
}
.icone-works-grid .icone-work--archive .icone-work__media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.01);
  filter:none;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.icone-works-grid .icone-work--archive:hover .icone-work__media img,
.icone-works-grid .icone-work--archive:focus-visible .icone-work__media img{
  transform:scale(1.04);
}
.icone-works-grid .icone-work--archive .icone-work__info{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:1.35rem 1.2rem 1.2rem;
  background:linear-gradient(to top, rgba(39,46,53,.78) 0%, rgba(39,46,53,.2) 55%, transparent 100%);
  color:#fff;
  display:flex; flex-direction:column; gap:.3rem;
}
.icone-works-grid .icone-work--archive .icone-work__cat{
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif);
  font-size:.62rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.icone-works-grid .icone-work--archive .icone-work__title{
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif);
  font-weight:700;
  font-size:clamp(1.35rem, 2.2vw, 1.85rem);
  letter-spacing:-.025em;
  line-height:1.05;
}
@media(max-width:700px){
  .icone-works.is-grid.is-archive .icone-works-grid{ grid-template-columns:1fr; }
}

/* Ancore servizi + filtri Salient portfolio su /works */
#brand-identity, #social-content, #campaign-design, #web-design, #photography{ scroll-margin-top:6rem; }
body.page-id-1005 .portfolio-filters, body.page-id-1005 #portfolio-filters{
  margin:0 0 2rem; padding:0;
}
body.page-id-1005 .portfolio-filters a, body.page-id-1005 #portfolio-filters a{
  font-family:"DM Sans",Helvetica,sans-serif; font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:rgba(39,46,53,.55); margin-right:1.4rem;
}
body.page-id-1005 .portfolio-filters a.active, body.page-id-1005 .portfolio-filters a:hover,
body.page-id-1005 #portfolio-filters a.active, body.page-id-1005 #portfolio-filters a:hover{
  color:#C1531B;
}

/* ============================================================
   /STUDIO — statistiche + settori (dal sito canonico)
   ============================================================ */
.icone-stats{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:60px 0 10px;
  border-top:1px solid rgba(39,46,53,.12); }
.icone-stats__item{ padding:32px 18px 28px 0; border-bottom:1px solid rgba(39,46,53,.12); }
.icone-stats__v{ font-family:Helvetica,Arial,sans-serif; font-weight:700; color:#272E35;
  font-size:clamp(2rem,3.4vw,3.2rem); line-height:1; letter-spacing:-.02em; }
.icone-stats__t{ margin:.7rem 0 0; color:#5b5b5b; font-size:.86rem; line-height:1.45; max-width:22ch; }
@media(max-width:1000px){ .icone-stats{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .icone-stats{ grid-template-columns:1fr; } }

/* Legacy tag-wrap settori (deprecato) */

/* ============================================================
   CTA di chiusura pagina (sezione scura, riusabile)
   ============================================================ */
.icone-pagecta{ display:flex; flex-direction:column; gap:1.4rem; align-items:flex-start; }
.icone-pagecta__k{ font-family:"DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.2em;
  font-size:.7rem; color:#C1531B; font-weight:600; }
.icone-pagecta__btn{ display:inline-flex; align-items:center; gap:.6rem; background:#C1531B; color:#fff !important;
  text-decoration:none; padding:16px 34px; border-radius:100px; font-family:"DM Sans",sans-serif; font-weight:600;
  transition:background .3s,color .3s,transform .3s; }
.icone-pagecta__btn:hover{ background:#fff; color:#272E35 !important; transform:translateY(-2px); }

/* descrizione servizi più ricca */
.icone-services__item p{ font-family:"DM Sans",Helvetica,sans-serif; }

/* ============================================================
   CURSORE v5.6 — contrasto adattivo + accent arancione interattivo
   ============================================================ */
body.has-magnetic-cursor{ cursor:none; }
body.has-magnetic-cursor.material-ocm-open,
body.has-magnetic-cursor:has(#slide-out-widget-area.open){ cursor:auto !important; }
body.has-magnetic-cursor [data-cursor],
body.has-magnetic-cursor .icone-pagecta__btn,
body.has-magnetic-cursor .icone-foot-cta2__btn,
body.has-magnetic-cursor .icone-about__cta,
body.has-magnetic-cursor .icone-studio__cta,
body.has-magnetic-cursor .icone-work,
body.has-magnetic-cursor [data-icone-carousel],
body.has-magnetic-cursor [data-icone-clients],
body.has-magnetic-cursor #header-outer a.button,
body.has-magnetic-cursor .wpcf7-submit{ cursor:none; }

.icone-cur,
.icone-cur-dot{ position:fixed; left:0; top:0; pointer-events:none; will-change:transform; }

.icone-cur{
  z-index:99990; width:30px; height:30px; display:grid; place-items:center;
  --cur-ring-border:rgba(39,46,53,.48);
  --cur-ring-bg:transparent;
  --cur-ring-ripple:rgba(39,46,53,.18);
  transition:width .22s ease, height .22s ease;
}

.icone-cur-ring{
  position:relative; width:100%; height:100%; border-radius:50%;
  border:1px solid var(--cur-ring-border); background:var(--cur-ring-bg);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.icone-cur-ring::after{
  content:""; position:absolute; inset:-2px; border-radius:inherit;
  border:1px solid var(--cur-ring-ripple); opacity:0; transform:scale(.92); pointer-events:none;
}
.icone-cur-ring.is-click::after{ animation:icone-cur-ripple .4s ease-out forwards; }
.icone-cur.is-pressed .icone-cur-ring,
.icone-cur-ring.is-pressed{
  border-color:#C1531B; background:rgba(193,83,27,.05);
}
@keyframes icone-cur-ripple{
  0%{ opacity:.45; transform:scale(.92); }
  100%{ opacity:0; transform:scale(1.45); }
}

.icone-cur-dot{
  z-index:99991; width:6px; height:6px; border-radius:50%;
  background:var(--cur-dot-fill,#272E35);
  box-shadow:0 0 0 1.5px var(--cur-dot-halo,rgba(255,255,255,.9));
  transition:background .2s ease, box-shadow .2s ease, opacity .18s ease, width .18s ease, height .18s ease;
}

.icone-cur[data-tone="on-light"],
.icone-cur-dot[data-tone="on-light"]{
  --cur-ring-border:rgba(39,46,53,.48);
  --cur-ring-bg:transparent;
  --cur-ring-ripple:rgba(39,46,53,.18);
  --cur-dot-fill:#272E35;
  --cur-dot-halo:rgba(255,255,255,.9);
}

.icone-cur[data-tone="on-dark"],
.icone-cur-dot[data-tone="on-dark"]{
  --cur-ring-border:rgba(255,255,255,.62);
  --cur-ring-bg:transparent;
  --cur-ring-ripple:rgba(255,255,255,.24);
  --cur-dot-fill:#fff;
  --cur-dot-halo:rgba(14,12,10,.35);
}

.icone-cur[data-tone="accent"],
.icone-cur-dot[data-tone="accent"]{
  --cur-ring-border:rgba(193,83,27,.72);
  --cur-ring-bg:transparent;
  --cur-ring-ripple:rgba(193,83,27,.22);
  --cur-dot-fill:#C1531B;
  --cur-dot-halo:rgba(244,240,234,.9);
}

.icone-cur[data-mode="link"]{ width:34px; height:34px; }
.icone-cur[data-mode="link"] .icone-cur-ring{
  border-color:#C1531B; background:rgba(193,83,27,.04);
}
.icone-cur-dot[data-mode="link"]{ opacity:0; width:0; height:0; box-shadow:none; }

.icone-cur[data-mode="drag"]{ width:42px; height:42px; }
.icone-cur[data-mode="drag"][data-tone="on-light"] .icone-cur-ring{
  border-color:rgba(39,46,53,.32); background:rgba(39,46,53,.02);
}
.icone-cur[data-mode="drag"][data-tone="on-dark"] .icone-cur-ring{
  border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.03);
}
.icone-cur-dot[data-mode="drag"]{ opacity:.55; width:4px; height:4px; }

.icone-cur[data-mode="open"]{ width:38px; height:38px; }
.icone-cur[data-mode="open"] .icone-cur-ring{
  border-color:#C1531B; background:rgba(193,83,27,.08); box-shadow:0 2px 12px rgba(193,83,27,.12);
}
.icone-cur-dot[data-mode="open"]{ opacity:0; width:0; height:0; box-shadow:none; }

.icone-cur.is-hidden,
.icone-cur-dot.is-hidden{ opacity:0; visibility:hidden; }

@media (prefers-reduced-motion:reduce){
  body.has-magnetic-cursor{ cursor:auto; }
  .icone-cur-ring.is-click::after{ animation:none !important; }
}

/* ============================================================
   REVEAL ON SCROLL (.icone-reveal, stagger via --d)
   ============================================================ */
.icone-reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); transition-delay:var(--d,0s); }
.icone-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .icone-reveal{ opacity:1; transform:none; transition:none; } }

/* ============================================================
   TITLE FADE — mask + rise (parola / lettera), come manifesto Nectar
   ============================================================ */
.icone-title-fade .icone-fade-word{
  display:inline-block;
  will-change:transform, opacity, mask-position, -webkit-mask-position;
  transform:translate3d(0, .38em, 0);
  opacity:.18;
  transition:
    mask-position .95s cubic-bezier(.16,1,.3,1),
    -webkit-mask-position .95s cubic-bezier(.16,1,.3,1),
    transform .8s cubic-bezier(.16,1,.3,1),
    opacity .75s cubic-bezier(.16,1,.3,1);
  -webkit-mask-image:linear-gradient(100deg, #fff 32%, rgba(255,255,255,.12) 58%, transparent 72%);
  mask-image:linear-gradient(100deg, #fff 32%, rgba(255,255,255,.12) 58%, transparent 72%);
  -webkit-mask-size:320% 100%;
  mask-size:320% 100%;
  -webkit-mask-position:100% 50%;
  mask-position:100% 50%;
}
.icone-title-fade .icone-fade-word.is-in{
  transform:translate3d(0, 0, 0);
  opacity:1;
  -webkit-mask-position:0 50%;
  mask-position:0 50%;
}
.icone-title-fade .icone-fade-word--char{
  transform:translate3d(0, .28em, 0);
}
/* INIZIAMO. su cerchio ink: mask + rise, senza opacity ghost (testo bianco) */
.icone-letswork__title.icone-title-fade .icone-fade-word{
  opacity:1;
  transform:translate3d(0, .42em, 0);
}
.icone-letswork__title.icone-title-fade .icone-fade-word.is-in{
  transform:translate3d(0, 0, 0);
}
.icone-letswork__title.icone-title-fade{
  /* evita che scale del pin schiacci le lettere in layout */
  white-space:nowrap;
}
/* Zoom leggero a fine reveal — inner separato dallo scale del pin */
.icone-letswork__title-inner{
  display:inline-block;
  transform:scale(1);
  transform-origin:center center;
  will-change:transform;
  transition:transform 1.05s cubic-bezier(.16,1,.3,1);
}
.icone-letswork__title-inner.is-settled{
  transform:scale(1.14);
}
@media (prefers-reduced-motion:reduce){
  .icone-letswork__title-inner,
  .icone-letswork__title-inner.is-settled{
    transform:none;
    transition:none;
  }
}
@media (prefers-reduced-motion:reduce){
  .icone-title-fade .icone-fade-word,
  .icone-letswork__title.icone-title-fade .icone-fade-word{
    -webkit-mask-image:none;
    mask-image:none;
    transform:none;
    opacity:1;
    transition:none;
  }
}

/* micro-interazione bottoni magnetici: transizione morbida al ritorno */
[data-magnetic]{ transition:transform .35s cubic-bezier(.16,1,.3,1), background .3s, color .3s; }

/* ============================================================
   HOME ICONE — blocchi proposta (intro KPI, marquee, servizi dark, quote)
   ============================================================ */
/* Intro statement + KPI */
.icone-kpis{ display:flex; flex-wrap:wrap; gap:48px 72px; margin-top:46px; }
.icone-kpis__item{ display:flex; flex-direction:column; gap:.5rem; }
.icone-kpis__v{ font-family:Helvetica,Arial,sans-serif; font-weight:700; letter-spacing:-.02em;
  font-size:clamp(2.4rem,4vw,3.6rem); line-height:1; color:#272E35; }
.icone-kpis__l{ font-family:"DM Sans",Helvetica,sans-serif; color:#5b5b5b; font-size:.92rem; max-width:24ch; line-height:1.45; }

/* Marquee testo (CSS infinito, pausa su hover/reduced-motion) */
.icone-marquee{ overflow:hidden; border-top:1px solid var(--icone-border); border-bottom:1px solid var(--icone-border);
  padding:22px 0; background:#fff; }
.icone-marquee__track{ display:inline-flex; white-space:nowrap; will-change:transform; animation:icone-marq 28s linear infinite; }
.icone-marquee__track span{ font-family:Helvetica,Arial,sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; font-size:clamp(1.4rem,2.4vw,2.2rem); color:#272E35; padding:0 1.2rem; display:inline-flex; align-items:center; gap:1.4rem; }
.icone-marquee__track span::after{ content:""; width:9px; height:9px; border-radius:50%; background:#C1531B; display:inline-block; }
.icone-marquee:hover .icone-marquee__track{ animation-play-state:paused; }
@keyframes icone-marq{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){ .icone-marquee__track{ animation:none; } }

/* Servizi variante DARK (sezione home) */
.icone-services--dark{ border-top-color:rgba(255,255,255,.16); }
.icone-services--dark .icone-services__item{ border-bottom-color:rgba(255,255,255,.16); }
.icone-services--dark .icone-services__item h3{ color:#fff; }
.icone-services--dark .icone-services__item p{ color:rgba(255,255,255,.62); }

/* Quote tipografica */
.icone-quote{ text-align:center; max-width:18ch; margin:0 auto; font-family:Helvetica,Arial,sans-serif; font-weight:700;
  letter-spacing:-.02em; line-height:1.06; font-size:clamp(2.4rem,6.5vw,6rem); color:#272E35; }
.icone-quote em{ color:#C1531B; font-style:italic; font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.icone-quote--light{ color:#fff; }

/* ============================================================
   SERVICES BIG-LIST + IMAGE-PEEK (porting Services.tsx)
   Lista editoriale gigante, hover magma, thumb che segue il cursore.
   ============================================================ */
.icone-services-block{
  position:relative;
  width:100%;
  color:#fff;
}
.icone-bigsv{
  list-style:none !important;
  margin:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.14);
}
.icone-bigsv__row{
  list-style:none !important;
  border-bottom:1px solid rgba(255,255,255,.14);
  scroll-margin-top:6rem;
}
.icone-bigsv__row::marker,
.icone-bigsv__row::before{
  content:none !important;
  display:none !important;
}
.icone-bigsv__row a{
  display:grid;
  grid-template-columns:64px 1fr minmax(0,30ch) 40px;
  align-items:baseline;
  gap:28px;
  padding:clamp(22px,3.4vw,52px) 0;
  text-decoration:none;
  color:#fff;
  transition:transform .6s cubic-bezier(.32,.72,0,1);
}
.icone-bigsv__row a:hover{ transform:translateX(18px); }
.icone-bigsv__n{
  font-family:var(--icone-font-ui);
  font-size:clamp(.9rem,1.1vw,1.2rem);
  font-weight:600;
  letter-spacing:.08em;
  color:rgba(255,255,255,.42);
}
.icone-bigsv__t{
  font-family:var(--icone-font-display);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:.92;
  font-size:clamp(2.2rem,6vw,6rem);
  color:#fff;
  transition:color .42s ease;
}
.icone-bigsv__row a:hover .icone-bigsv__t,
.icone-bigsv__row a:focus-visible .icone-bigsv__t{ color:var(--icone-magma); }
.icone-bigsv__d{
  font-family:var(--icone-font-body);
  color:rgba(255,255,255,.55);
  font-size:.95rem;
  line-height:1.5;
}
.icone-bigsv__ar{
  justify-self:end;
  color:var(--icone-magma);
  font-size:1.4rem;
  transition:transform .5s cubic-bezier(.32,.72,0,1);
}
.icone-bigsv__row a:hover .icone-bigsv__ar{ transform:translateX(8px); }
@media(max-width:860px){
  .icone-bigsv__row a{ grid-template-columns:40px 1fr; gap:6px 16px; transform:none !important; }
  .icone-bigsv__d{ grid-column:1/-1; margin-top:6px; }
  .icone-bigsv__ar{ display:none; }
}
/* thumb image-peek (segue il cursore, solo desktop fine-pointer) */
.icone-peek{
  position:fixed;
  left:0; top:0;
  z-index:40; /* sotto header Salient */
  width:clamp(220px,22vw,340px);
  aspect-ratio:4/5;
  border-radius:0;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transition:opacity .42s cubic-bezier(.32,.72,0,1);
  will-change:transform,opacity;
}
.icone-peek.is-on{ opacity:1; }
.icone-peek img{
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  object-fit:cover;
  opacity:0;
  transform:scale(1.06);
  transition:opacity .38s ease, transform .7s cubic-bezier(.32,.72,0,1);
}
.icone-peek img.is-active{ opacity:1; transform:none; }
.icone-peek::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg,transparent,rgba(193,83,27,.22));
}
@media (hover:none), (pointer:coarse){
  .icone-peek{ display:none !important; }
}
@media (prefers-reduced-motion:reduce){
  .icone-peek{ display:none !important; }
  .icone-bigsv__row a,
  .icone-bigsv__t,
  .icone-bigsv__ar{ transition:none !important; }
  .icone-bigsv__row a:hover{ transform:none; }
}

/* /SERVICES (1006) — pagina dedicata moduli ICONE */
body.page-id-1006 .icone-services-title-row,
body.page-id-1006 .icone-services-list-row,
body.page-id-1006 .wpb_row:has(.icone-section-title),
body.page-id-1006 .wpb_row:has(.icone-services-block){
  background-color:var(--icone-ink,#272E35) !important;
}
body.page-id-1006 .wpb_row:has(.icone-section-title) .row-bg,
body.page-id-1006 .wpb_row:has(.icone-services-block) .row-bg{
  background-color:var(--icone-ink,#272E35) !important;
}
body.page-id-1006 .icone-services-title-row .icone-section-title{
  padding-top:0;
  padding-bottom:clamp(1rem,2vw,1.75rem);
}
body.page-id-1006 .icone-services-block{
  max-width:none;
}
body.page-id-1006 .icone-bigsv{
  margin-top:0;
}
/* FOUC header su ink */
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #logo img.dark-version,
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #logo img.default-logo:not(.starting-logo){
  opacity:1 !important;
  filter:brightness(0) invert(1);
}
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #logo img.starting-logo:not(.dark-version){
  opacity:1 !important;
  filter:none;
}
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo){
  opacity:0 !important;
  filter:none;
}
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #top nav > ul > li > a,
body.page-id-1006 #header-outer:not([data-icone-header-ink]) #top nav > ul > li > a .menu-title-text{
  color:#fff !important;
}

/* FOUC header Studio (parte ink come Servizi) */
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #logo img.dark-version,
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #logo img.default-logo:not(.starting-logo){
  opacity:1 !important;
  filter:brightness(0) invert(1);
}
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #logo img.starting-logo:not(.dark-version){
  opacity:1 !important;
  filter:none;
}
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo){
  opacity:0 !important;
  filter:none;
}
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #top nav > ul > li > a,
body.page-id-1007 #header-outer:not([data-icone-header-ink]) #top nav > ul > li > a .menu-title-text{
  color:#fff !important;
}

/* ============================================================
   STUDIO — pin cinematico (città + tipografia scrub)
   overflow:visible sulla section → sticky funziona (come About)
   ============================================================ */
.icone-studio{
  position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w); left:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  overflow:visible; background:#272E35; color:#FFFFFF;
}
.icone-studio__pin{
  position:sticky; top:0; height:100svh; width:100%; overflow:hidden;
  background:#272E35; display:flex; align-items:center; justify-content:center;
}
.icone-studio__grain{
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.045;
  transition:opacity .01s linear; /* aggiornato via rAF nello scrub */
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}
.icone-studio__corner{
  position:absolute; z-index:6; width:1.75rem; height:1.75rem; pointer-events:none;
  border-color:rgba(244,240,234,.35);
}
.icone-studio__corner--tl{ top:0; left:0; border-left:1px solid; border-top:1px solid; }
.icone-studio__corner--tr{ top:0; right:0; border-right:1px solid; border-top:1px solid; }
.icone-studio__corner--bl{ bottom:0; left:0; border-left:1px solid; border-bottom:1px solid; }
.icone-studio__corner--br{ bottom:0; right:0; border-right:1px solid; border-bottom:1px solid; }

.icone-studio__cities{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:clamp(1.75rem, 4vh, 3rem) clamp(1.5rem, 4vw, 3.5rem);
}
.icone-studio__city{
  font-family:var(--icone-font-ui); font-size:.7rem; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase; color:#FFFFFF;
  will-change:transform, opacity, letter-spacing;
}
.icone-studio__rule{
  position:absolute; left:50%; top:clamp(4.5rem, 12vh, 7rem); z-index:3;
  width:min(12rem, 28vw); height:1px; margin-left:calc(min(12rem, 28vw) / -2);
  background:#C1531B; transform:scaleX(0); transform-origin:center;
  will-change:transform;
}

.icone-studio__stage{
  position:relative; z-index:3; width:100%;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:clamp(5rem, 12vh, 8rem) clamp(1.35rem, 4vw, 3rem) clamp(4rem, 10vh, 6rem);
}
.icone-studio__title{
  margin:0 0 clamp(1.25rem, 2.5vh, 2rem);
  display:flex; flex-direction:column; align-items:center; gap:0;
  transform-origin:center center;
  will-change:transform, opacity, filter;
}
.icone-studio__line{
  display:block;
  font-family:var(--icone-font-display); font-weight:700;
  font-size:clamp(4.2rem, 14vw, 11rem); line-height:.82; letter-spacing:-.02em;
  text-transform:uppercase; color:#fff;
}
.icone-studio__sub{
  margin:0 0 clamp(1.75rem, 3.5vh, 2.75rem);
  font-family:var(--icone-font-body); font-style:normal; font-weight:500;
  font-size:clamp(1.2rem, 2.2vw, 1.75rem); line-height:1.25; letter-spacing:-.015em;
  color:rgba(244,240,234,.78);
  will-change:transform, opacity, filter;
}
.icone-studio__sub::before{
  content:""; display:inline-block; width:1.5rem; height:1px; margin-right:.7rem;
  vertical-align:middle; background:#C1531B; transform:translateY(-.12em);
}
.icone-studio__manifesto{
  margin:0 0 clamp(2.25rem, 4vh, 3.25rem); max-width:38ch;
  font-family:var(--icone-font-body); font-size:clamp(1.05rem, 1.45vw, 1.25rem);
  font-weight:400; line-height:1.5; letter-spacing:-.01em; color:rgba(244,240,234,.62);
  will-change:transform, opacity, filter;
}
.icone-studio__cta{
  position:relative; display:inline-flex; align-items:baseline; gap:.75rem;
  font-family:var(--icone-font-ui); font-size:.78rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:#FFFFFF; text-decoration:none;
  transition:color .3s ease; will-change:transform, opacity;
}
.icone-studio__cta:hover{ color:#C1531B; }
.icone-studio__cta-arrow{
  font-size:1rem; color:#C1531B;
  transition:transform .5s cubic-bezier(.32,.72,0,1);
}
.icone-studio__cta:hover .icone-studio__cta-arrow{ transform:translateX(8px); }
.icone-studio__cta-line{
  position:absolute; left:0; bottom:-8px; width:100%; height:1.5px; background:#C1531B;
  transform:scaleX(0); transform-origin:left center;
  transition:transform .52s cubic-bezier(.32,.72,0,1);
}
.icone-studio__cta:hover .icone-studio__cta-line{ transform:scaleX(1); }

/* Mobile: stesso pin/scrub del desktop — solo tuning viewport */
@media (max-width:900px){
  .icone-studio{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    box-sizing:border-box;
  }
  .icone-studio__pin{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }
  .icone-studio__cities{
    padding:calc(var(--icone-header-offset, 64px) + 0.75rem) var(--icone-gutter-x, 1.25rem) 0;
  }
  .icone-studio__city{
    font-size:0.58rem;
    letter-spacing:0.28em;
  }
  .icone-studio__rule{
    top:calc(var(--icone-header-offset, 64px) + 3.25rem);
    width:min(8rem, 42vw);
    margin-left:calc(min(8rem, 42vw) / -2);
  }
  .icone-studio__stage{
    padding:clamp(4.5rem, 11vh, 6rem) var(--icone-gutter-x, 1.25rem) clamp(3rem, 8vh, 4.5rem);
    max-width:100%;
    box-sizing:border-box;
  }
  .icone-studio__line{
    font-size:clamp(2.4rem, 14vw, 4rem);
  }
  .icone-studio__title,
  .icone-studio__sub,
  .icone-studio__manifesto{
    max-width:100%;
  }
  .icone-studio__manifesto{
    font-size:clamp(0.95rem, 3.8vw, 1.15rem);
    max-width:34ch;
  }
}
@media (prefers-reduced-motion:reduce){
  .icone-studio{ height:auto !important; }
  .icone-studio__pin{ position:static; height:auto; min-height:100svh; padding:14vh 0 12vh; }
  .icone-studio__title,
  .icone-studio__sub,
  .icone-studio__manifesto,
  .icone-studio__cta,
  .icone-studio__city{ opacity:1 !important; transform:none !important; filter:none !important; }
  .icone-studio__rule{ transform:scaleX(1) !important; }
}

/* Legacy badge shortcode (deprecato — preferire [icone_studio] manifesto) */
.icone-badge{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:48px; min-height:clamp(380px,52vh,640px); position:relative; }
.icone-badge__ring{ position:relative; width:clamp(260px,30vw,400px); aspect-ratio:1; border:1px solid rgba(255,255,255,.08);
  border-radius:50%; display:grid; place-items:center; }
.icone-badge__ring .icone-badge__svg{ position:absolute; inset:0; width:100%; height:100%; animation:icone-spin 26s linear infinite; }
.icone-badge__svg text{ fill:rgba(255,255,255,.22); font:8.6px/"1" "DM Sans",sans-serif; letter-spacing:.34em; text-transform:uppercase; }
.icone-badge__ast{ position:relative; z-index:1; animation:icone-spin 14s linear infinite reverse; }
.icone-badge__ring::after{ content:""; position:absolute; inset:22%; border-radius:50%; border:1px solid rgba(192,82,25,.14); }
.icone-badge__stats{ display:flex; gap:40px; }
.icone-badge__stats .v{ font-family:Helvetica,Arial,sans-serif; font-weight:700; font-size:clamp(1.6rem,2.4vw,2.4rem); color:#fff; display:block; text-align:center; }
.icone-badge__stats .l{ font:600 .58rem/1 "DM Sans",sans-serif; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.4); display:block; text-align:center; margin-top:.5rem; }
@media (prefers-reduced-motion:reduce){ .icone-badge__svg,.icone-badge__ast{ animation:none; } }
@keyframes icone-spin{ to{ transform:rotate(360deg); } }

/* ============================================================
   CONTESTI — lista tipografica editoriale (niente Matter)
   ============================================================ */
.icone-clients-area{
  position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w); left:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  background:#272E35; color:#FFFFFF; overflow:hidden;
  display:flex; flex-direction:column;
  padding-bottom:clamp(3rem, 6vh, 5rem);
}
.icone-clients-area__head{
  position:relative; z-index:3;
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:1rem 2rem;
  padding:clamp(4.5rem, 9vh, 6.5rem) var(--icone-gutter-x) clamp(2rem, 4vh, 3rem);
}
.icone-clients-area__kicker{
  display:inline-flex; align-items:center; gap:.75rem; margin:0;
  font-family:var(--icone-font-ui); font-size:var(--icone-kicker-size); font-weight:600;
  letter-spacing:var(--icone-kicker-tracking); text-transform:uppercase; color:var(--icone-kicker-on-ink);
}
.icone-clients-area__kicker-line{ width:2.5rem; height:1px; background:var(--icone-magma); flex:0 0 auto; }
.icone-clients-area__lead{
  margin:0; max-width:28ch;
  font-family:var(--icone-font-body);
  font-size:var(--icone-lead-size); line-height:1.35; letter-spacing:-.015em;
  color:rgba(255,255,255,.9); text-align:right;
}
.icone-clients{
  position:relative; z-index:2;
  padding:0 var(--icone-gutter-x);
}
.icone-clients__list{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0;
  border-top:1px solid rgba(255,255,255,.12);
}
.icone-clients__item{
  display:flex; align-items:baseline; gap:clamp(.85rem, 1.5vw, 1.35rem);
  margin:0; padding:clamp(1.1rem, 2.2vh, 1.55rem) 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-family:var(--icone-font-display);
  transition:color .35s ease;
}
.icone-clients__item:nth-child(odd){ padding-right:clamp(1rem, 2vw, 1.75rem); }
.icone-clients__item:nth-child(even){ padding-left:clamp(1rem, 2vw, 1.75rem); border-left:1px solid rgba(255,255,255,.08); }
.icone-clients__n{
  flex:0 0 auto;
  font-family:var(--icone-font-ui); font-size:.68rem; font-weight:600;
  letter-spacing:.18em; color:var(--icone-magma);
}
.icone-clients__label{
  font-size:clamp(1.35rem, 2.6vw, 2.35rem); font-weight:700;
  letter-spacing:-.03em; line-height:1.05; color:#fff;
}
.icone-clients__item:hover .icone-clients__label{ color:var(--icone-magma); }
@media (min-width:901px){
  .icone-clients__list{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .icone-clients__item:nth-child(odd),
  .icone-clients__item:nth-child(even){ padding-left:0; padding-right:clamp(1rem, 2vw, 1.5rem); border-left:0; }
  .icone-clients__item:nth-child(3n+2),
  .icone-clients__item:nth-child(3n){
    padding-left:clamp(1rem, 2vw, 1.5rem);
    border-left:1px solid rgba(255,255,255,.08);
  }
}
@media (max-width:900px){
  .icone-clients-area__head{
    flex-direction:column; align-items:flex-start;
    padding:clamp(4rem, 9vh, 5.5rem) clamp(1.35rem, 5vw, 2rem) 1.5rem;
  }
  .icone-clients-area__lead{ text-align:left; max-width:36ch; }
  .icone-clients{ padding:0 clamp(1.35rem, 5vw, 2rem); }
  .icone-clients__list{ grid-template-columns:1fr; }
  .icone-clients__item:nth-child(odd),
  .icone-clients__item:nth-child(even){
    padding-left:0; padding-right:0; border-left:0;
  }
}

/* ============================================================
   ABOUT INTRO — ICONE shrink scroll-driven (AboutIntro.tsx)
   ============================================================ */
/* IMPORTANT: overflow deve restare visible sulla section — altrimenti
   position:sticky su .icone-about__pin si spezza (ancestor overflow ≠ visible)
   e il wordmark ICONE viene scrollato fuori viewport a metà pin.
   Il clip delle lettere oversized sta sul pin (overflow:hidden sotto). */
.icone-about{ position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w); left:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  /* Stesso campo atmosphere dei lavori: niente flash bianco al giunto */
  background:var(--icone-works-atmosphere); color:#272E35; overflow:visible;
  margin-top:-3px; /* overlap sul bridge works */ }
.icone-about__pin{ position:sticky; top:0; height:100svh; width:100%; overflow:hidden; background:#FFFFFF; }
/* Gruppo isolato: difference vede ivory/bianco; tint lighten non tocca il manifesto (fuori dal gruppo) */
.icone-about__blend{ position:absolute; inset:0; z-index:2; isolation:isolate; background:#fff; }
/* Ponte ink lavori → metà wordmark ICONE: bordo NETTO (altezza = cut, no mask fade) */
.icone-about__ivory{
  position:absolute; z-index:2; left:0; right:0;
  /* overlap sul bordo superiore: continua il bridge works senza riga di distacco */
  top:-4px;
  /* title-wrap bottom = 56vh; metà glifo ≈ 0.24 * font-size (line-height .48 / 2) */
  height:calc(4px + 100% - 56vh - (0.24 * clamp(4.5rem, 28vw, 28rem)));
  max-height:calc(4px + 100% - 48vh);
  /* top solido = --icone-works-bridge, poi atmosphere: stesso colore del fade works */
  background:
    linear-gradient(180deg, #272E35 0%, #272E35 10%, rgba(39, 46, 53, 0) 36%),
    var(--icone-works-atmosphere);
  pointer-events:none; will-change:transform;
}
.icone-about__corner{ position:absolute; z-index:5; width:1.75rem; height:1.75rem; pointer-events:none;
  margin:clamp(2rem,4.5vw,4.5rem); border-color:rgba(255,255,255,.28); }
.icone-about__corner--tl{ top:0; left:0; border-left:1px solid; border-top:1px solid; }
.icone-about__corner--tr{ top:0; right:0; border-right:1px solid; border-top:1px solid; }
.icone-about__corner--bl{ bottom:0; left:0; border-left:1px solid; border-bottom:1px solid;
  border-color:rgba(17,17,17,.28); }
.icone-about__corner--br{ bottom:0; right:0; border-right:1px solid; border-bottom:1px solid;
  border-color:rgba(17,17,17,.28); }
.icone-about__title-wrap{ position:absolute; inset:auto 0 56vh 0; z-index:3; display:flex; justify-content:center;
  pointer-events:none;
  /* difference sul wrap: bianco su scuro, nero su chiaro (poi tint → magma) */
  mix-blend-mode:difference; }
.icone-about__title{ display:block; font-family:var(--icone-font-display); font-weight:700;
  /* ~28vw tiene "ICONE" entro il viewport a inizio pin (prima 38vw tagliava I/E) */
  font-size:clamp(4.5rem,28vw,28rem); line-height:.48; letter-spacing:0; color:#fff;
  transform-origin:center bottom; will-change:transform; text-transform:uppercase; user-select:none;
  max-width:100%; white-space:nowrap; }
/* Copre solo il tratto sotto l'ivory: lighten(magma, nero difference) = magma */
.icone-about__magma-tint{ position:absolute; left:0; right:0; bottom:0; z-index:4;
  background:var(--icone-magma); mix-blend-mode:lighten; pointer-events:none; top:100%; }
.icone-about__copy{ position:absolute; inset:50vh 0 auto 0; z-index:6; display:flex; flex-direction:column;
  align-items:center; text-align:center; padding:0 clamp(1.5rem,4vw,4rem); will-change:transform; }
.icone-about__copy .icone-about__lead,
.icone-about__copy .icone-about__cta{ opacity:1 !important; }
.icone-about__lead{ font-family:var(--icone-font-body); font-size:clamp(1.15rem,1.7vw,1.7rem);
  font-weight:500; line-height:1.32; letter-spacing:-.01em; color:var(--icone-ink); margin:0; text-align:center;
  width:100%; max-width:60ch; }
.icone-about__cta{ position:relative; display:inline-flex; align-items:baseline; justify-content:center;
  align-self:center; width:auto; margin-top:clamp(3rem,4vw,4rem);
  font-family:var(--icone-font-ui); font-size:.82rem; letter-spacing:var(--icone-cta-tracking); text-transform:uppercase;
  font-weight:600; color:var(--icone-ink); text-decoration:none; transition:color .3s ease; gap:.75rem; }
.icone-about__cta:hover{ color:var(--icone-magma); }
.icone-about__cta-arrow{ font-size:1rem; color:var(--icone-magma); transition:transform .5s cubic-bezier(.32,.72,0,1); }
.icone-about__cta:hover .icone-about__cta-arrow{ transform:translateX(8px); }
.icone-about__cta-line{ position:absolute; left:0; bottom:-8px; width:100%; height:1.5px; background:var(--icone-magma);
  transform:scaleX(0); transform-origin:left center; transition:transform .52s cubic-bezier(.32,.72,0,1); }
.icone-about__cta:hover .icone-about__cta-line{ transform:scaleX(1); }
/* Mobile: stesso pin/scrub + blend — blocco agganciato al viewport, centrato */
@media (max-width:900px){
  .icone-about{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:0;
    left:0;
    right:auto;
    box-sizing:border-box;
  }
  .icone-about__pin{
    width:100%;
    max-width:100%;
    overflow-x:clip;
    box-sizing:border-box;
  }
  .icone-about__blend{
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .icone-about__title-wrap{
    inset:auto 0 52vh 0;
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding:0 var(--icone-gutter-x, 1.25rem);
    justify-content:center;
    overflow:visible;
  }
  .icone-about__title{
    /* Stesso criterio desktop (~28vw): "ICONE" resta intera nel viewport */
    font-size:clamp(4rem, 28vw, 12rem);
    display:block;
    width:max-content;
    max-width:100%;
    margin-inline:auto;
    text-align:center;
    letter-spacing:-0.02em;
    transform-origin:center bottom;
    white-space:nowrap;
  }
  .icone-about__ivory{
    height:calc(4px + 100% - 52vh - (0.24 * clamp(4rem, 28vw, 12rem)));
    max-height:calc(4px + 100% - 44vh);
  }
  .icone-about__copy{
    inset:52vh 0 auto 0;
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding-left:var(--icone-gutter-x, 1.25rem);
    padding-right:var(--icone-gutter-x, 1.25rem);
    align-items:center;
    text-align:center;
  }
  .icone-about__lead{
    font-size:clamp(1.05rem, 4.2vw, 1.35rem);
    max-width:34ch;
    margin-left:auto;
    margin-right:auto;
  }
  .icone-about__corner{ margin:clamp(1.25rem, 4vw, 2rem); }
}
@media (prefers-reduced-motion:reduce){
  .icone-about{ height:auto !important; }
  .icone-about__pin{ position:static; height:auto; min-height:100svh; padding:18vh 0 12vh; }
  .icone-about__title-wrap{ position:relative; bottom:auto; margin-bottom:8vh; mix-blend-mode:normal; }
  .icone-about__copy{ position:relative; inset:auto; transform:none !important; }
  .icone-about__ivory{ display:none; }
  .icone-about__magma-tint{ display:none; }
  .icone-about__title{ transform:scale(0.16) !important; color:var(--icone-ink) !important; }
}

/* ============================================================
   QUOTE AREA — tipografia stacked + 5 colonne (QuoteArea.tsx)
   ============================================================ */
.icone-quote-area{ position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w); left:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  overflow:hidden; background:var(--icone-ink); color:var(--icone-surface); }
.icone-quote-area__head{
  padding:clamp(6.5rem,11vw,12rem) var(--icone-gutter-x, clamp(1.5rem,4vw,5rem)) clamp(4.5rem,7vw,7rem);
}
.icone-quote-area__grid-head{
  display:grid; grid-template-columns:1fr; gap:2rem; align-items:end;
}
@media (min-width:1024px){
  .icone-quote-area__grid-head{ grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:3.5rem; }
}
.icone-quote-area__title{ margin:0; font-size:clamp(3.2rem,9.5vw,10rem); line-height:.86; }
.icone-quote-area__line{ display:block; }
.icone-quote-area__kw{
  display:inline-block;
  font-family:var(--icone-font-editorial); font-weight:700;
  text-transform:uppercase; letter-spacing:0; color:rgba(14,12,10,.14);
  will-change:color;
}
.icone-quote-area__rule{
  display:block; width:3.5rem; height:2px; margin:clamp(.75rem,1.2vw,1rem) 0 clamp(.5rem,1vw,.75rem);
  background:var(--icone-magma); opacity:.85; transform-origin:left center; transform:scaleX(0);
}
@media (min-width:768px){
  .icone-quote-area__rule{ width:5rem; margin-top:1rem; margin-bottom:.75rem; }
}
.icone-quote-area__lead{
  margin:0; max-width:30ch;
  font-family:var(--icone-font-soft); font-size:clamp(.95rem,1.05vw,1rem);
  line-height:1.55; color:rgba(39,46,53,.62);
}
@media (min-width:1024px){
  .icone-quote-area__lead{ text-align:right; justify-self:end; padding-bottom:.75rem; }
}
.icone-quote-area__cols{ position:relative; background:var(--icone-ink); height:clamp(520px,82vh,880px); overflow:hidden; }
.icone-quote-area__grain{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  transition:opacity .5s ease;
}
.icone-quote-area__cols.is-paused .icone-quote-area__grain{ opacity:.08; }
.icone-quote-area__fade{ position:absolute; inset-inline:0; z-index:3; pointer-events:none; }
.icone-quote-area__fade--top{ top:0; height:8rem; background:linear-gradient(to bottom,var(--icone-ink),transparent); }
.icone-quote-area__fade--bottom{ bottom:0; height:9rem; background:linear-gradient(to top,var(--icone-ink),transparent); }
.icone-quote-area__grid{ position:relative; z-index:1; display:flex; gap:clamp(8px,1.2vw,16px); height:100%; width:100%; padding:0 clamp(.5rem,.75vw,12px); }
.icone-quote-area__col{ position:relative; flex:1; overflow:hidden; }
.icone-quote-area__col--md{ display:none; }
.icone-quote-area__col--lg{ display:none; }
@media (min-width:768px){ .icone-quote-area__col--md{ display:block; } }
@media (min-width:1024px){ .icone-quote-area__col--lg{ display:block; } }
.icone-quote-area__vtrack{ display:flex; flex-direction:column; gap:clamp(28px,4vw,48px); will-change:transform; }
.icone-quote-area__img{
  width:100%; flex-shrink:0; object-fit:cover; border-radius:clamp(10px,1.2vw,16px);
  aspect-ratio:9/16; display:block;
  filter:saturate(.92) contrast(1.02) brightness(.88) blur(6px);
  transform:scale(1.04);
  transition:filter .65s ease, transform .65s ease, opacity .45s ease;
  opacity:.88;
}
.icone-quote-area__cols.is-paused .icone-quote-area__img{
  filter:saturate(1.05) contrast(1.05) brightness(1) blur(0);
  transform:scale(1);
  opacity:1;
}
.icone-quote-area__img:hover{
  filter:saturate(1.08) contrast(1.06) brightness(1.03) blur(0) !important;
  transform:scale(1.02) !important;
  opacity:1 !important;
}
.icone-quote-area__cta-wrap{
  position:absolute; inset-inline:0; bottom:0; z-index:4;
  display:flex; justify-content:center; padding-bottom:clamp(2rem,3vw,2.5rem); pointer-events:none;
}
.icone-quote-area__cta{
  pointer-events:auto; display:inline-flex; align-items:center; gap:.75rem;
  padding:.65rem 1.25rem; border-radius:999px;
  border:1px solid rgba(244,240,234,.28);
  background:rgba(14,12,10,.45); backdrop-filter:blur(6px);
  font-family:var(--icone-font-ui); font-size:.68rem; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; text-decoration:none;
  color:#F4F0EA; transition:border-color .4s ease, color .4s ease, background .4s ease;
}
.icone-quote-area__cta:hover{ border-color:rgba(244,240,234,.55); color:#fff; background:rgba(14,12,10,.62); }
.icone-quote-area__cta-arrow{ color:var(--icone-magma); font-size:.9rem; }

@media (prefers-reduced-motion:reduce){
  .icone-quote-area__kw{ color:var(--icone-magma) !important; }
  .icone-quote-area__rule{ transform:scaleX(1) !important; opacity:.85 !important; }
  .icone-quote-area__reveal{ opacity:1 !important; transform:none !important; filter:none !important; }
}

/* ============================================================
   LETS WORK CTA — cerchio ink pin + scale (LetsWorkCta.tsx)
   ============================================================ */
.icone-letswork{
  position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w); left:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  background:#272E35; color:#272E35; overflow:visible;
}
.icone-letswork__pin{
  position:sticky; top:0; height:100svh; width:100%; overflow:hidden;
  background:#FFFFFF; transition:background-color .35s ease;
}
.icone-letswork__stage{
  position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center;
}
.icone-letswork__hit{
  display:block; border-radius:50%; text-decoration:none; color:inherit;
  outline:none;
}
.icone-letswork__hit:focus-visible{
  outline:2px solid #C1531B; outline-offset:8px;
}
.icone-letswork__circle{
  position:relative; display:flex; aspect-ratio:1; align-items:center; justify-content:center;
  width:clamp(360px,44vw,640px); border-radius:50%; background:#272E35;
  transform-origin:center center; will-change:transform,opacity,filter;
}
.icone-letswork__hit:hover .icone-letswork__circle{ filter:brightness(1.06); }
.icone-letswork__title{
  position:relative; z-index:1; display:block; text-align:center;
  font-family:var(--icone-font-display); font-weight:700;
  font-size:clamp(2.8rem,5.6vw,6rem); line-height:.86; letter-spacing:-.02em;
  text-transform:uppercase; color:#FFFFFF; will-change:transform,color,filter,opacity;
  transition:color .6s cubic-bezier(.32,.72,0,1);
}
.icone-letswork__hit:hover .icone-letswork__title{ color:var(--icone-magma); }
.icone-letswork__sub{
  position:absolute; bottom:14%; left:50%; z-index:1; transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--icone-font-ui); font-size:.66rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--icone-ivory); opacity:.7; white-space:nowrap;
  transition:opacity .5s ease;
}
.icone-letswork__hit:hover .icone-letswork__sub{ opacity:1; }
.icone-letswork__arrow{ color:var(--icone-magma); }
/* Mobile: stesso pin/scrub — cerchio entro il viewport */
@media (max-width:900px){
  .icone-letswork{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    box-sizing:border-box;
  }
  .icone-letswork__pin{
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }
  .icone-letswork__hit{
    max-width:min(72vw, 18rem);
  }
  .icone-letswork__circle{
    /* Niente min 360px: su SE/390 restava sproporzionato / fuori bordo */
    width:min(72vw, 18rem);
    max-width:100%;
  }
  .icone-letswork__title{
    font-size:clamp(1.65rem, 8.5vw, 2.4rem);
    line-height:0.88;
    padding:0 0.5rem;
  }
  .icone-letswork__sub{
    font-size:0.58rem;
    letter-spacing:0.18em;
    bottom:12%;
    max-width:90%;
    white-space:normal;
    text-align:center;
    justify-content:center;
  }
}
@media (prefers-reduced-motion:reduce){
  .icone-letswork{ height:auto !important; }
  .icone-letswork__pin{ position:static; height:auto; min-height:100svh; padding:12vh 0; }
  .icone-letswork__circle{ transform:none !important; opacity:1 !important; }
  .icone-letswork__title{ transform:none !important; }
}

/* Studio + Lets-work: scrub attivi (override statico rimosso) */

/* ============================================================
   HOME — sistema tipografico / colore / spazi unificato
   ============================================================ */
body.home #ajax-content-wrap,
body.home .container-wrap{
  background:var(--icone-ivory);
  padding-bottom:0 !important;
  color:var(--icone-ink);
}

/* Display — Helvetica Neue Bold (brand), Akkordeon solo dove già editoriale esplicito */
body.home .icone-works__title,
body.home .icone-about__title,
body.home .icone-studio__line,
body.home .icone-letswork__title,
body.home .nectar-text-inline-images h2{
  font-family:var(--icone-font-display) !important;
  font-weight:700 !important;
  letter-spacing:-0.02em;
}

/* Body / lead */
body.home .icone-works__lead,
body.home .icone-about__lead,
body.home .icone-studio__sub,
body.home .icone-studio__manifesto,
body.home .icone-clients-area__lead,
body.home .icone-work__title{
  font-family:var(--icone-font-body) !important;
}

/* UI / kicker / CTA */
body.home .icone-works__kicker,
body.home .icone-works__cue,
body.home .icone-about__cta,
body.home .icone-studio__cta,
body.home .icone-studio__city,
body.home .icone-clients-area__kicker,
body.home .icone-letswork__sub,
body.home .icone-clients__n,
body.home .icone-work__cat,
body.home .nectar_hook_global_section_parallax_footer #contact .nectar-responsive-text,
body.home .nectar_hook_global_section_parallax_footer #contact h4,
body.home .nectar_hook_global_section_parallax_footer #contact .nectar-cta{
  font-family:var(--icone-font-ui) !important;
  letter-spacing:var(--icone-cta-tracking);
  text-transform:uppercase;
  font-weight:600;
}

/* Contact values (email / social) → body */
body.home .nectar_hook_global_section_parallax_footer #contact h3,
body.home .nectar_hook_global_section_parallax_footer #contact a{
  font-family:var(--icone-font-body) !important;
  letter-spacing:-0.015em;
  text-transform:none;
  font-weight:500;
}

/* Accent magma unico (niente #C1531B misto) — il wordmark usa #fff + difference */
body.home .icone-about__title{ color:#fff; }
body.home .icone-about__cta-arrow,
body.home .icone-about__cta-line,
body.home .icone-studio__cta:hover,
body.home .icone-studio__cta-arrow,
body.home .icone-studio__cta-line,
body.home .icone-letswork__arrow,
body.home .icone-letswork__hit:hover .icone-letswork__title{
  color:var(--icone-magma) !important;
}
body.home .icone-about__cta-line,
body.home .icone-studio__cta-line,
body.home .icone-studio__rule,
body.home .icone-works__kicker-line,
body.home .icone-clients-area__kicker-line{
  background:var(--icone-magma) !important;
}

/* Gutter orizzontale condiviso */
body.home .icone-works__intro,
body.home .icone-clients-area__head,
body.home .icone-clients,
body.home .icone-about__copy,
body.home .icone-studio__stage{
  padding-left:var(--icone-gutter-x);
  padding-right:var(--icone-gutter-x);
}
body.home .icone-works__track{
  padding-left:var(--icone-gutter-x);
  padding-right:var(--icone-gutter-x);
}
body.home .icone-works__cue{ left:var(--icone-gutter-x); }

/* Manifesto: stesso display + padding allineato alle altre sezioni ivory */
body.home .vc_row:has(.nectar-text-inline-images){
  margin-top:0 !important;
  background-color:var(--icone-ivory) !important;
}
body.home .vc_row:has(.nectar-text-inline-images) > .row_col_wrap_12{
  padding-left:var(--icone-gutter-x) !important;
  padding-right:var(--icone-gutter-x) !important;
}
body.home .nectar-text-inline-images,
body.home .nectar-text-inline-images h2,
body.home .nectar-text-inline-images *{
  color:var(--icone-ink) !important;
}
body.home .nectar-text-inline-images h2{
  font-weight:700 !important;
  letter-spacing:-0.01em;
  text-wrap:balance;
  text-transform:none; /* frase editoriale, non all-caps */
  line-height:1.22;
}

/* Clients → manifesto seamless */
.icone-clients-area{ margin-bottom:0; padding-bottom:0; }

/* Footer Salient vuoto */
body.home #footer-outer{
  min-height:0; padding:0 !important; margin:0 !important; border:0 !important;
}
body.home #footer-outer:not(:has(.row)),
body.home #footer-outer:not(:has(.container)){
  height:0; overflow:hidden; visibility:hidden;
}

/*
 * Footer globale: matching-section-color azzerava il .row-bg sull’ivory.
 * Magma + tipografia ICONE.
 */
.nectar_hook_global_section_parallax_footer .vc_row.has-row-bg-color .row-bg.using-bg-color{
  background-color: var(--row-bg-color, var(--icone-magma)) !important;
}
.nectar_hook_global_section_parallax_footer #contact .span_12,
.nectar_hook_global_section_parallax_footer #contact .span_12.dark,
.nectar_hook_global_section_parallax_footer #contact h1,
.nectar_hook_global_section_parallax_footer #contact h2,
.nectar_hook_global_section_parallax_footer #contact h3,
.nectar_hook_global_section_parallax_footer #contact h4,
.nectar_hook_global_section_parallax_footer #contact p,
.nectar_hook_global_section_parallax_footer #contact a,
.nectar_hook_global_section_parallax_footer #contact .nectar-split-heading,
.nectar_hook_global_section_parallax_footer #contact .nectar-responsive-text{
  color:var(--icone-surface) !important;
}

/* Footer mark SVG (LOGO_2025) — port FooterIcone.tsx
   In FLOW come ultima fascia (= estensione del footer verso il basso).
   Cut a metà: altezza wrap ≈ 50% del logo (~27vw → 13.5vw), overflow:hidden.
   Reveal: sale dal basso (100%) → 0 (metà superiore visibile, metà inferiore tagliata). */
.nectar_hook_global_section_parallax_footer .wpb_row:has(.icone-footer-mark){
  overflow:hidden !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.nectar_hook_global_section_parallax_footer .wpb_row:has(.icone-footer-mark) .vc_column-inner,
.nectar_hook_global_section_parallax_footer .wpb_row:has(.icone-footer-mark) .wpb_wrapper,
.nectar_hook_global_section_parallax_footer .wpb_row:has(.icone-footer-mark) .wpb_text_column,
.nectar_hook_global_section_parallax_footer .wpb_row:has(.icone-footer-mark) .wpb_text_column p{
  margin:0 !important;
  padding:0 !important;
}
.icone-footer-mark{
  display:block;
  position:relative;
  z-index:0;
  width:var(--icone-bleed-w);
  max-width:var(--icone-bleed-w);
  margin:0 0 0 var(--icone-bleed-ml);
  padding:0;
  line-height:0;
  /* Estensione verso il basso — fascia un po’ più alta per alzare la scritta */
  height:min(17vw, 14rem);
  overflow:hidden;
  pointer-events:none;
  user-select:none;
}
.icone-footer-mark__img{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0;
  transform:translateY(100%);
  opacity:.22;
  will-change:transform;
  transition:none;
}
.icone-footer-mark.is-revealed .icone-footer-mark__img{
  /* leggero pull-up: più lettera in vista, cut ancora a metà-basso */
  transform:translateY(-6%);
  transition:transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 999px){
  .icone-footer-mark{
    height:min(24vw, 10.5rem);
  }
  .icone-footer-mark.is-revealed .icone-footer-mark__img{
    transform:translateY(-4%);
  }
}
@media (prefers-reduced-motion: reduce){
  .icone-footer-mark__img,
  .icone-footer-mark.is-revealed .icone-footer-mark__img{
    transform:translateY(-6%);
    transition:none;
  }
}
/* Shortcode tipografico [icone_footer_wordmark] — disponibile ma NON in GS290 (brand = SVG). */
.icone-fi-wordmark{
  position:relative; width:var(--icone-bleed-w); max-width:var(--icone-bleed-w);
  left:auto; margin-left:var(--icone-bleed-ml); margin-right:0;
  background:var(--icone-ink); overflow:hidden; padding-top:0;
}
.icone-fi-wordmark__wrap{ position:relative; width:100%; overflow:hidden; }
.icone-fi-wordmark__text{
  display:block; width:100%; text-align:center; line-height:.78;
  font-family:var(--icone-font-editorial); font-weight:700;
  font-size:clamp(7rem,60vw,70rem); color:#F4F0EA; opacity:.1;
  transform:translateY(48%); margin-top:-25%; will-change:transform,opacity;
  text-transform:none; user-select:none; letter-spacing:0;
}
.icone-fi-wordmark__mask{ display:inline-block; overflow:hidden; line-height:.78; vertical-align:top; }
.icone-fi-wordmark__inner{ display:inline-block; transform:translateY(110%); will-change:transform; }
.nectar_hook_global_section_parallax_footer .icone-fi-wordmark{ background:var(--icone-ink); }


/* ICONE trail heroes v2 */
.icone-trail-hero{ position:relative; isolation:isolate; }
.icone-trail-hero .nectar-content-trail{ pointer-events:auto; }

/* ============================================================
   /WORKS (1005) — design-trends-2026 su moduli Salient nativi
   Primary: Grainy Blur | Support: Type Collage lite
   Content Trail + Sticky horizontal + nectar_portfolio
   ============================================================ */

/* Hero — Type Collage lite (Helvetica display + Georgia italic)
   Fallback: .first-section se el_class Salient non viene stampato in DOM */
body.page-id-1005 .icone-trail-hero,
body.page-id-1005 .icone-works-page-hero,
body.page-id-1005 #lavori,
body.page-id-1005 .wpb_row.first-section{
  background:
    radial-gradient(ellipse 55% 45% at 78% 28%, rgba(193,83,27,.08), transparent 70%),
    var(--icone-ivory, #F1EFED);
}
body.page-id-1005 .icone-trail-hero::after,
body.page-id-1005 .icone-works-page-hero::after,
body.page-id-1005 .wpb_row.first-section::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.page-id-1005 .wpb_row.first-section .wpb_wrapper > *:not(.nectar-content-trail){
  position:relative; z-index:3;
}
body.page-id-1005 .wpb_row.first-section .nectar-rotating-words-title,
body.page-id-1005 .wpb_row.first-section .nectar-rotating-words-title h1,
body.page-id-1005 .wpb_row.first-section .nectar-rotating-words-title .dynamic-text{
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif) !important;
  font-weight:700 !important;
  letter-spacing:-0.03em !important;
  color:var(--icone-ink, #272E35) !important;
}
body.page-id-1005 .wpb_row.first-section .nectar-highlighted-text p{
  /* Type Collage lite: serif italic vs Helvetica display */
  max-width:28ch;
  font-family:Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  color:var(--icone-ink, #272E35) !important;
}
body.page-id-1005 .wpb_row.first-section .nectar-content-trail img,
body.page-id-1005 .wpb_row.first-section .nectar-content-trail .nectar-content-trail__item{
  filter:saturate(.95) contrast(1.02) brightness(.92);
  transition:filter .45s ease;
}
body.page-id-1005 .wpb_row.first-section .nectar-content-trail .nectar-content-trail__item:hover img,
body.page-id-1005 .wpb_row.first-section .nectar-content-trail img:hover{
  filter:saturate(1.05) contrast(1.04) brightness(1);
}

/* Sticky horizontal — Grainy Blur: soft a riposo → nitido in focus */
body.page-id-1005 .nectar-sticky-media-sections{
  --icone-sticky-radius:16px;
}
body.page-id-1005 .nectar-sticky-media-section__media{
  transform:scale(1.06);
  filter:saturate(1.02) contrast(1.02) brightness(.88) blur(14px);
  transition:filter .75s ease, transform .9s cubic-bezier(.16,1,.3,1);
  will-change:filter, transform;
}
body.page-id-1005 .nectar-sticky-media-section__media::after{
  content:"";
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.38; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size:160px 160px;
  transition:opacity .7s ease;
}
body.page-id-1005 .nectar-sticky-media-section__media.is-focused{
  transform:scale(1.02);
  filter:saturate(1.06) contrast(1.05) brightness(1) blur(0);
}
body.page-id-1005 .nectar-sticky-media-section__media.is-focused::after{
  opacity:.14;
}
body.page-id-1005 .nectar-sticky-media-sections .nectar-split-heading h2,
body.page-id-1005 .nectar-sticky-media-sections .nectar-split-heading .inner{
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif) !important;
  font-weight:700 !important;
  letter-spacing:-0.02em;
}

/* Portfolio grid — Grainy Blur + tipografia */
body.page-id-1005 .portfolio-filters,
body.page-id-1005 #portfolio-filters{
  display:flex; flex-wrap:wrap; gap:.35rem 1.25rem;
  margin:0 0 2.25rem; padding:0;
}
body.page-id-1005 .portfolio-filters a,
body.page-id-1005 #portfolio-filters a{
  font-family:var(--icone-font-ui, "DM Sans", Helvetica, sans-serif);
  font-size:.7rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(39,46,53,.5);
  text-decoration:none;
  transition:color .2s ease;
}
body.page-id-1005 .portfolio-filters a.active,
body.page-id-1005 .portfolio-filters a:hover,
body.page-id-1005 #portfolio-filters a.active,
body.page-id-1005 #portfolio-filters a:hover{
  color:var(--icone-magma, #C1531B);
}
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item{
  overflow:hidden;
  border-radius:0;
}
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item img,
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item .img-with-animation,
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item .background-image{
  transform:scale(1.04);
  /* Grainy Blur leggero a riposo — nitido su hover/focus */
  filter:saturate(.97) contrast(1.03) brightness(.94) blur(2.5px);
  transition:filter .55s ease, transform .7s cubic-bezier(.16,1,.3,1);
}
body.page-id-1005 .portfolio-items[data-ps="8"] .col:has(.work-item:hover) .work-item:not(:hover) img,
body.page-id-1005 .portfolio-items[data-ps="8"] .col:has(.work-item.is-focused) .work-item:not(.is-focused) img{
  filter:saturate(.9) contrast(1.02) brightness(.82) blur(5px);
}
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item:hover img,
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item.is-focused img,
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item:hover .background-image,
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item.is-focused .background-image{
  transform:scale(1.02);
  filter:saturate(1.05) contrast(1.04) brightness(1) blur(0);
}
body.page-id-1005 .portfolio-items[data-ps="8"] .vert-center h3{
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif) !important;
  font-weight:700 !important;
  letter-spacing:-0.02em;
  font-size:clamp(1.35rem, 2.2vw, 1.85rem) !important;
}
body.page-id-1005 #ajax-content-wrap .row.portfolio-items + *,
body.page-id-1005 .wpb_row:has(.portfolio-items) .nectar-responsive-text,
body.page-id-1005 .wpb_row:has(.portfolio-items) h2,
body.page-id-1005 .wpb_row:has(.portfolio-items) h3{
  font-family:var(--icone-font-display, Helvetica, Arial, sans-serif);
}

@media (max-width:900px), (prefers-reduced-motion: reduce){
  body.page-id-1005 .nectar-sticky-media-section__media,
  body.page-id-1005 .portfolio-items[data-ps="8"] .work-item img,
  body.page-id-1005 .portfolio-items[data-ps="8"] .work-item .background-image{
    filter:saturate(1.02) contrast(1.03) brightness(.95) blur(0) !important;
    transform:scale(1.02) !important;
  }
  body.page-id-1005 .nectar-sticky-media-section__media::after{
    opacity:.18;
  }
}

/* ============================================================
   PAGINE INTERNE — fix visivi (audit 2026-07)
   Color change Salient, split headings, contrasto portfolio
   ============================================================ */

/* Evita tint beige persistente su body dopo scroll (color_change_section).
   Contatto (1004) escluso: deve restare ink. */
body.page:not(.home):not(.page-id-1004),
body.page:not(.home):not(.page-id-1004) #ajax-content-wrap,
body.page:not(.home):not(.page-id-1004) .container-wrap{
  background-color:var(--icone-ivory) !important;
}
body.page.page-id-1004,
body.page.page-id-1004 #ajax-content-wrap,
body.page.page-id-1004 .container-wrap{
  background-color:var(--icone-ink) !important;
}

/* Split headings in sticky / above-fold: animazione non parte → testo invisibile */
body.page .nectar-sticky-media-sections .nectar-split-heading,
body.page .nectar-sticky-media-section .nectar-split-heading,
body.page .nectar-sticky-media-sections .nectar-split-heading .heading-line,
body.page .nectar-sticky-media-section .nectar-split-heading .heading-line,
body.page .nectar-sticky-media-sections .nectar-split-heading .inner,
body.page .nectar-sticky-media-section .nectar-split-heading .inner,
body.page .vc_row .nectar-split-heading[data-stagger="true"],
body.page .vc_row .nectar-split-heading[data-animation-type="line-reveal-by-space"],
body.page .vc_row .nectar-split-heading .heading-line,
body.page .vc_row .nectar-split-heading .inner{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

/* Sticky horizontal — overlay per leggibilità testo bianco su immagini chiare */
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section__wrap{
  position:relative;
  overflow:hidden;
}
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section__wrap::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(39,46,53,.96) 0%,
      rgba(39,46,53,.72) 42%,
      rgba(39,46,53,.48) 100%
    );
}
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner{
  position:relative;
  z-index:5;
}
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner p,
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .wpb_text_column p,
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .nectar-responsive-text p{
  color:rgba(255,255,255,.88) !important;
}
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .nectar-split-heading h2,
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .nectar-cta h4,
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .nectar-cta .link_text{
  color:#fff !important;
}
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner p,
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .nectar-split-heading,
body.page .nectar-sticky-media-sections.type--horizontal-scrolling .nectar-sticky-media-section__content-section-inner .nectar-cta{
  text-shadow:0 2px 24px rgba(0,0,0,.45);
}

/* Portfolio style 8 — gradiente + tipografia leggibile */
body.page-id-1005 .portfolio-items[data-ps="8"] .work-item::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(39,46,53,.55) 0%,
    rgba(39,46,53,.2) 35%,
    rgba(39,46,53,.72) 68%,
    rgba(39,46,53,.94) 100%
  );
}
body.page-id-1005 .portfolio-items[data-ps="8"] .work-info{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:flex-end;
  padding:1.35rem 1.25rem 1.5rem;
}
body.page-id-1005 .portfolio-items[data-ps="8"] .vert-center{
  width:100%;
}
body.page-id-1005 .portfolio-items[data-ps="8"] .vert-center h3,
body.page-id-1005 .portfolio-items[data-ps="8"] .vert-center p{
  color:var(--icone-surface) !important;
  text-shadow:0 1px 18px rgba(0,0,0,.35);
}
body.page-id-1005 .portfolio-items[data-ps="8"] .vert-center p{
  opacity:.82;
  font-family:"DM Sans",Helvetica,sans-serif;
  font-size:.88rem;
  line-height:1.45;
  max-width:34ch;
}

/* Servizi — legacy horizontal list (se riusato altrove) */
body.page-id-1006 .nectar-horizontal-list-item,
body.page-id-1006 .nectar-horizontal-list-item h3,
body.page-id-1006 .nectar-horizontal-list-item p{
  color:var(--icone-ink) !important;
}
body.page-id-1006 .nectar-horizontal-list-item:hover{
  background-color:rgba(39,46,53,.04) !important;
}

/* ============================================================
   /STUDIO (1007) — stack Icone (come Servizi/Home)
   section_title → about_intro → studio pin → lets_work
   Anti: studio_hero rail/foto, midnight, metodo, clienti
   ============================================================ */
body.page-id-1007 .icone-studio-title-row,
body.page-id-1007 .wpb_row:has(.icone-section-title.is-theme-dark){
  background-color:var(--icone-ink,#272E35) !important;
}
body.page-id-1007 .icone-studio-title-row .row-bg,
body.page-id-1007 .wpb_row:has(.icone-section-title.is-theme-dark) .row-bg{
  background-color:var(--icone-ink,#272E35) !important;
}
body.page-id-1007 .icone-studio-about-row,
body.page-id-1007 .wpb_row:has(.icone-about){
  background-color:#fff !important;
  padding:0 !important;
}
body.page-id-1007 .icone-studio-copy-row,
body.page-id-1007 .wpb_row:has(.icone-section-title.is-theme-light){
  background-color:#fff !important;
}
body.page-id-1007 .icone-studio-copy-row .row-bg,
body.page-id-1007 .wpb_row:has(.icone-section-title.is-theme-light) .row-bg{
  background-color:#fff !important;
}
body.page-id-1007 .icone-studio-pin-row,
body.page-id-1007 .wpb_row:has(.icone-studio){
  background-color:var(--icone-ink,#272E35) !important;
  padding:0 !important;
}

@keyframes icone-studio-hero-in{
  from{
    opacity:0;
    transform:translateY(1.25rem);
    filter:blur(4px);
  }
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}
@keyframes icone-studio-plane-in{
  from{
    opacity:0;
    clip-path:inset(0 0 0 12%);
  }
  to{
    opacity:1;
    clip-path:inset(0 0 0 0);
  }
}

.icone-studio-hero{
  --studio-rail:clamp(17.5rem,38vw,28rem);
  position:relative;
  display:block;
  min-height:100svh;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:var(--icone-ivory,#F1EFED);
}
.icone-studio-hero__atmosphere{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(90deg, var(--icone-ivory,#F1EFED) 0%, var(--icone-ivory,#F1EFED) var(--studio-rail), transparent calc(var(--studio-rail) + 4rem));
}
.icone-studio-hero__atmosphere::after{
  content:"";
  position:absolute; inset:0;
  opacity:.028;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Piano fotografico: dominante, parte dal bordo destro del rail */
.icone-studio-hero__visual{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:var(--studio-rail);
  z-index:1;
}
.icone-studio-hero__plane{
  position:absolute;
  inset:0;
  margin:0;
  overflow:hidden;
  background:var(--icone-ink);
}
.icone-studio-hero .icone-studio-hero__plane img,
body .row .col .icone-studio-hero__plane img{
  position:absolute;
  inset:0;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover;
  display:block;
  filter:saturate(.88) contrast(1.06);
  transform:scale(1.06);
  transition:transform 2s ease-out, filter .7s ease;
}
.icone-studio-hero:hover .icone-studio-hero__plane img{
  transform:scale(1);
  filter:saturate(.94) contrast(1.08);
}

/* Rail tipografico — ivory sotto logo → header ink stabile */
.icone-studio-hero__rail{
  position:relative;
  z-index:2;
  width:var(--studio-rail);
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  background:var(--icone-ivory,#F1EFED);
  border-right:1px solid rgba(39,46,53,.08);
}
.icone-studio-hero__copy{
  width:100%;
  max-width:22rem;
  padding:
    clamp(6.5rem,12vh,8.5rem)
    clamp(1.25rem,3vw,2.25rem)
    clamp(2.25rem,5vh,3.5rem)
    var(--icone-gutter-x);
}
.icone-studio-hero__kicker{
  display:inline-flex; align-items:center; gap:.85rem;
  margin:0 0 clamp(1.15rem,2.4vw,1.75rem);
  font-family:var(--icone-font-ui);
  font-size:.68rem; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--icone-kicker);
}
.icone-studio-hero__kicker-line{
  width:1.75rem; height:1.5px; background:var(--icone-magma); flex:0 0 auto;
}
.icone-studio-hero__title{
  margin:0 0 clamp(1.1rem,2.2vw,1.6rem);
  display:flex;
  flex-direction:column;
  gap:0;
  font-family:var(--icone-font-display);
  font-weight:700;
  font-size:clamp(2.65rem,6.4vw,5.25rem);
  line-height:.86;
  letter-spacing:-.04em;
  text-transform:uppercase;
  color:var(--icone-ink);
}
.icone-studio-hero__line{ display:block; }
.icone-studio-hero__line.is-accent{ color:var(--icone-magma); }
.icone-studio-hero__lead{
  margin:0 0 1.35rem;
  max-width:28ch;
  font-family:var(--icone-font-body);
  font-size:clamp(1rem,1.35vw,1.15rem);
  line-height:1.5;
  letter-spacing:-.01em;
  color:var(--icone-muted);
}
.icone-studio-hero__meta{
  margin:0;
  padding-top:1rem;
  border-top:1px solid rgba(39,46,53,.12);
  font-family:var(--icone-font-ui);
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(39,46,53,.42);
}

.icone-studio-hero__anim{
  animation:icone-studio-hero-in .9s cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--d,0s);
}
.icone-studio-hero__visual.icone-studio-hero__anim{
  animation-name:icone-studio-plane-in;
  animation-duration:1.15s;
}

@media (max-width:980px){
  .icone-studio-hero{
    --studio-rail:100%;
    min-height:auto;
    display:flex;
    flex-direction:column;
  }
  .icone-studio-hero__atmosphere{
    background:var(--icone-ivory,#F1EFED);
  }
  .icone-studio-hero__rail{
    order:0;
    width:100%;
    min-height:auto;
    border-right:0;
    align-items:stretch;
  }
  .icone-studio-hero__visual{
    position:relative;
    left:auto; right:auto; top:auto; bottom:auto;
    order:1;
    width:100%;
    height:min(52svh,420px);
    min-height:280px;
  }
  .icone-studio-hero__copy{
    max-width:none;
    padding:
      clamp(5.5rem,14vh,7rem)
      var(--icone-gutter-x)
      1.75rem;
  }
  .icone-studio-hero__title{
    font-size:clamp(2.6rem,14vw,4.25rem);
  }
}
@media (prefers-reduced-motion:reduce){
  .icone-studio-hero__anim{
    animation:none !important;
    opacity:1;
    transform:none;
    filter:none;
    clip-path:none;
  }
  .icone-studio-hero .icone-studio-hero__plane img,
  body .row .col .icone-studio-hero__plane img{
    transition:none;
    transform:none;
  }
  .icone-studio-hero:hover .icone-studio-hero__plane img{
    transform:none;
  }
}

/* Contatto — FAQ pinned su ink */
body.page-id-1004 .nectar-pinning-section .wpb_text_column p,
body.page-id-1004 .nectar-pinning-section h3,
body.page-id-1004 .nectar-pinning-section h4{
  color:var(--icone-surface);
}
/* Form CF7 Contatto — override Salient data-form-submit="see-through" */
body.page-id-1004 .wpcf7 input.wpcf7-form-control:not(.wpcf7-submit),
body.page-id-1004 .wpcf7 textarea.wpcf7-form-control{
  background:transparent !important;
  color:#fff !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.28) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.page-id-1004 .wpcf7 ::placeholder{
  color:rgba(255,255,255,.5) !important;
}
body.page-id-1004 .wpcf7 .wpcf7-submit,
body.page-id-1004[data-form-submit="see-through"] .wpcf7 .wpcf7-submit,
body[data-form-submit="see-through"].page-id-1004 .wpcf7 input[type="submit"]{
  background:var(--icone-magma) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:100px !important;
  padding:16px 40px !important;
  box-shadow:none !important;
}
body.page-id-1004 .wpcf7 .wpcf7-submit:hover,
body[data-form-submit="see-through"].page-id-1004 .wpcf7 input[type="submit"]:hover{
  background:#fff !important;
  color:var(--icone-ink) !important;
}

/* Footer globale — link legali su magma (senza #contact: markup senza quell'id) */
.nectar_hook_global_section_parallax_footer a[href*="privacy"],
.nectar_hook_global_section_parallax_footer a[href*="cookie"],
.nectar_hook_global_section_parallax_footer a[href*="contact"]{
  color:rgba(255,255,255,.88) !important;
  text-decoration:underline;
  text-underline-offset:.2em;
}
.nectar_hook_global_section_parallax_footer a[href*="privacy"]:hover,
.nectar_hook_global_section_parallax_footer a[href*="cookie"]:hover,
.nectar_hook_global_section_parallax_footer a[href*="contact"]:hover{
  color:var(--icone-surface) !important;
}

/* Privacy / Cookie — testo leggibile */
body.page-id-3 .wpb_text_column,
body.page-id-3 .wpb_text_column p,
body.page-id-3 .wpb_text_column li,
body.page-id-1100 .wpb_text_column,
body.page-id-1100 .wpb_text_column p,
body.page-id-1100 .wpb_text_column li{
  color:var(--icone-ink);
  line-height:1.65;
  max-width:68ch;
}

/* ============================================================
   P0/P1 FIX — header su ink, contrasti, focus
   ============================================================ */

/* Clients title-fade: niente ghost opacity .18 (contrasto ~1.4:1) */
.icone-clients-area .icone-title-fade .icone-fade-word{
  opacity:1;
  color:rgba(255,255,255,.9);
}
.icone-clients-area__lead{
  color:rgba(255,255,255,.9);
}

/* Header reverse: logo bianco su ink (Salient starting-logo + fallback invert) */
#header-outer #logo img,
#header-outer .starting-logo,
#header-outer .slide-out-widget-area-toggle .lines-button i,
#header-outer .slide-out-widget-area-toggle .lines-button .lines,
#header-outer .slide-out-widget-area-toggle .lines-button .lines:before,
#header-outer .slide-out-widget-area-toggle .lines-button .lines:after{
  transition: filter .38s cubic-bezier(.16,1,.3,1), opacity .38s cubic-bezier(.16,1,.3,1);
}
#header-outer #top nav > ul > li > a,
#header-outer #top nav > ul > li > a .menu-title-text,
#header-outer #top nav > ul > li > a .nectar-text-reveal-button,
#header-outer #top nav > ul > li > a .nectar-text-reveal-button__text{
  transition: color .38s cubic-bezier(.16,1,.3,1), -webkit-text-fill-color .38s cubic-bezier(.16,1,.3,1);
}

/* Su ink: Salient nasconde .dark-version (opacity:0) se manca dark-slide.
   Specificità >= regola Salient perma-transparent. */
#header-outer[data-permanent-transparent="1"][data-transparent-header="true"].transparent.icone-header-on-ink #logo img.dark-version,
#header-outer[data-permanent-transparent="1"][data-transparent-header="true"].transparent.icone-header-on-ink #logo img.default-logo,
#header-outer.icone-header-on-ink #logo img.dark-version,
#header-outer.icone-header-on-ink #logo img.default-logo{
  opacity:1 !important;
  filter:brightness(0) invert(1);
}
#header-outer[data-permanent-transparent="1"][data-transparent-header="true"].transparent.icone-header-on-ink #logo img.starting-logo:not(.dark-version),
#header-outer.icone-header-on-ink #logo img.starting-logo:not(.dark-version){
  opacity:1 !important;
  filter:none;
}
#header-outer[data-permanent-transparent="1"][data-transparent-header="true"].transparent.icone-header-on-ink #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
#header-outer[data-permanent-transparent="1"][data-transparent-header="true"].transparent.icone-header-on-ink #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo),
#header-outer.icone-header-on-ink #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
#header-outer.icone-header-on-ink #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo){
  opacity:0 !important;
  filter:none;
}
#header-outer.icone-header-on-ink .slide-out-widget-area-toggle .lines-button{
  filter:brightness(0) invert(1);
}
#header-outer.icone-header-on-ink #top nav > ul > li:not(.menu-item-995) > a,
#header-outer.icone-header-on-ink #top nav > ul > li:not(.menu-item-995) > a .menu-title-text{
  color:#fff !important;
}
#header-outer.icone-header-on-ink .menu-item-995 > a,
#header-outer.icone-header-on-ink .menu-item-995 > a .menu-title-text,
#header-outer.icone-header-on-ink .menu-item-995 > a .nectar-text-reveal-button,
#header-outer.icone-header-on-ink .menu-item-995 > a .nectar-text-reveal-button__text{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* FOUC /works/: reverse subito prima del sample JS */
body.page-id-1005 #header-outer[data-permanent-transparent="1"].transparent:not([data-icone-header-ink]) #logo img.dark-version,
body.page-id-1005 #header-outer[data-permanent-transparent="1"].transparent:not([data-icone-header-ink]) #logo img.default-logo,
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #logo img.dark-version,
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #logo img.default-logo{
  opacity:1 !important;
  filter:brightness(0) invert(1);
}
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #logo img.starting-logo:not(.dark-version){
  opacity:1 !important;
  filter:none;
}
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo){
  opacity:0 !important;
  filter:none;
}
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #top nav > ul > li > a,
body.page-id-1005 #header-outer:not([data-icone-header-ink]) #top nav > ul > li > a .menu-title-text{
  color:#fff !important;
}

/* Homepage FOUC: hero chiaro → logo/menu ink finché JS non attiva icone-header-on-ink */
body.home #header-outer:not(.icone-header-on-ink) #logo img.dark-version,
body.home #header-outer:not(.icone-header-on-ink) #logo img.default-logo:not(.starting-logo),
body.page-id-990 #header-outer:not(.icone-header-on-ink) #logo img.dark-version,
body.page-id-990 #header-outer:not(.icone-header-on-ink) #logo img.default-logo:not(.starting-logo){
  opacity:1 !important;
  filter:none !important;
}
body.home #header-outer:not(.icone-header-on-ink) #logo img.starting-logo:not(.dark-version),
body.page-id-990 #header-outer:not(.icone-header-on-ink) #logo img.starting-logo:not(.dark-version){
  opacity:0 !important;
  filter:none !important;
}
body.home #header-outer:not(.icone-header-on-ink) #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
body.home #header-outer:not(.icone-header-on-ink) #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo),
body.page-id-990 #header-outer:not(.icone-header-on-ink) #logo:has(img.starting-logo:not(.dark-version)) img.dark-version,
body.page-id-990 #header-outer:not(.icone-header-on-ink) #logo:has(img.starting-logo:not(.dark-version)) img.default-logo:not(.starting-logo){
  opacity:1 !important;
  filter:none !important;
}
body.home #header-outer:not(.icone-header-on-ink) #top nav > ul > li > a,
body.home #header-outer:not(.icone-header-on-ink) #top nav > ul > li > a .menu-title-text,
body.page-id-990 #header-outer:not(.icone-header-on-ink) #top nav > ul > li > a,
body.page-id-990 #header-outer:not(.icone-header-on-ink) #top nav > ul > li > a .menu-title-text{
  color:var(--icone-ink,#272E35) !important;
  -webkit-text-fill-color:var(--icone-ink,#272E35) !important;
}
body.home #header-outer:not(.icone-header-on-ink) .slide-out-widget-area-toggle .lines-button,
body.page-id-990 #header-outer:not(.icone-header-on-ink) .slide-out-widget-area-toggle .lines-button{
  filter:none !important;
}

@media (prefers-reduced-motion: reduce){
  #header-outer #logo img,
  #header-outer .starting-logo,
  #header-outer #top nav > ul > li > a,
  #header-outer #top nav > ul > li > a .menu-title-text{
    transition:none !important;
  }
}

/* Firma type: ultima parola display in magma */
body.home .icone-works.is-panels .icone-works__title .icone-type-accent,
body.home .icone-works.is-panels .icone-works__title .icone-fade-word:last-child{
  color:var(--icone-magma);
  display:inline;
}
body.home .icone-about__title .icone-type-accent,
body.home .icone-letswork__title .icone-type-accent{
  color:var(--icone-magma);
}

/* Focus visibile (Salient azzera outline) */
body.home a:focus-visible,
body.home button:focus-visible,
body.home .slide-out-widget-area-toggle a:focus-visible{
  outline:2px solid var(--icone-magma);
  outline-offset:3px;
}

/* Footer CTA peach su magma — alza contrasto */
.icone-foot-cta2__k{ color:rgba(255,255,255,.78) !important; }
.icone-foot-cta2__btn{ color:#fff !important; }

/* ============================================================
   ICONE SECTION TITLE — modulo WPBakery riutilizzabile
   (stile intro Lavori homepage / pannelli)
   ============================================================ */
.icone-section-title{
  --icone-st-max: min(44rem, 92vw);
  --icone-st-lead: 34ch;
  --icone-st-kicker: rgba(255,255,255,.42);
  --icone-st-line: var(--icone-magma);
  --icone-st-title: #fff;
  --icone-st-accent: var(--icone-magma);
  --icone-st-lead-color: rgba(255,255,255,.58);
  position:relative;
  z-index:2;
  max-width:var(--icone-st-max);
  padding:clamp(2.5rem, 6vh, 4rem) 0;
  box-sizing:border-box;
}
.icone-section-title.is-theme-light{
  --icone-st-kicker: var(--icone-kicker);
  --icone-st-title: var(--icone-ink);
  --icone-st-lead-color: var(--icone-muted);
}
.icone-section-title.is-align-center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.icone-section-title.is-align-center .icone-section-title__kicker{
  justify-content:center;
}
.icone-section-title.is-align-center .icone-section-title__lead,
.icone-section-title.is-align-center .icone-section-title__body,
.icone-section-title.is-align-center .icone-section-title__cta-wrap{
  margin-left:auto;
  margin-right:auto;
}

.icone-section-title__kicker{
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  margin:0 0 clamp(1.5rem, 3vw, 2.25rem);
  font-family:var(--icone-font-ui);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--icone-st-kicker);
}
.icone-section-title__kicker-line{
  width:1.75rem;
  height:1.5px;
  flex:0 0 auto;
  background:var(--icone-st-line);
  box-shadow:0 0 12px color-mix(in srgb, var(--icone-st-line) 45%, transparent);
}
.icone-section-title__title{
  margin:0 0 clamp(1rem, 2vw, 1.4rem);
  font-family:var(--icone-font-display);
  font-weight:700;
  font-size:clamp(3rem, 8.2vw, 7.25rem);
  line-height:.84;
  letter-spacing:-.038em;
  text-transform:uppercase;
  text-wrap:balance;
  color:var(--icone-st-title);
}
.icone-section-title__title .icone-type-accent{
  color:var(--icone-st-accent);
  display:inline;
}
.icone-section-title__lead{
  margin:.15rem 0 0;
  max-width:var(--icone-st-lead);
  font-family:var(--icone-font-body);
  font-size:clamp(1.05rem, 1.55vw, 1.3rem);
  line-height:1.45;
  letter-spacing:-.01em;
  color:var(--icone-st-lead-color);
}
.icone-section-title__body{
  margin:clamp(1.15rem, 2.4vw, 1.75rem) 0 0;
  max-width:var(--icone-st-lead, 42rem);
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.icone-section-title__body p{
  margin:0;
  font-family:var(--icone-font-body);
  font-size:clamp(1.02rem, 1.35vw, 1.18rem);
  line-height:1.55;
  letter-spacing:-.01em;
  color:var(--icone-st-lead-color);
}
.icone-section-title__cta-wrap{ margin:clamp(1.25rem, 2.5vw, 1.75rem) 0 0; }
.icone-section-title__cta{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--icone-font-ui);
  font-size:var(--icone-cta-size);
  font-weight:600;
  letter-spacing:var(--icone-cta-tracking);
  text-transform:uppercase;
  text-decoration:none;
  color:var(--icone-st-accent);
  transition:opacity .25s ease;
}
.icone-section-title__cta:hover{ opacity:.72; }
.icone-section-title__cta::after{
  content:"";
  width:1.25rem;
  height:1px;
  background:currentColor;
}

/* Scale variants */
.icone-section-title.is-size-default .icone-section-title__title{
  font-size:clamp(2.4rem, 5.5vw, 4.75rem);
  line-height:.9;
}
.icone-section-title.is-size-default .icone-section-title__lead{
  font-size:clamp(.98rem, 1.3vw, 1.15rem);
}
.icone-section-title.is-size-compact .icone-section-title__title{
  font-size:clamp(1.85rem, 3.8vw, 3.1rem);
  line-height:.95;
  letter-spacing:-.02em;
}
.icone-section-title.is-size-compact .icone-section-title__kicker{
  margin-bottom:clamp(1rem, 2vw, 1.35rem);
  letter-spacing:.28em;
}
.icone-section-title.is-size-compact .icone-section-title__lead{
  font-size:1rem;
  max-width:40ch;
}

@media (max-width:690px){
  .icone-section-title{ padding-top:clamp(2rem, 5vh, 3rem); }
  .icone-section-title.is-size-display .icone-section-title__title{
    font-size:clamp(2.35rem, 11vw, 3.4rem);
  }
}
