  
/* ==========================================================
   JAFET — HOME
   Caricato automaticamente soltanto nella pagina iniziale.
   ========================================================== */

  /* ─── SCOPE + VARIABILI ─────────────────────────────────── */
  .jh{
    --n950:#101d34; --n900:#14233f; --n800:#1a2a47; --n700:#213357;
    --o:#ea5d1b; --ob:#f46e26; --cr:#f2eee6; --mu:#ffffff; --maxw:1560px;
    --disp:"tandelle",sans-serif;
    --body:"degular-thin","Helvetica Neue",Arial,sans-serif;
    background:var(--n900);
    font-family:var(--body);
  }
  .jh *,.jh *::before,.jh *::after{box-sizing:border-box}
  .jh p,.jh li,.jh span,.jh a,.jh label,.jh input,.jh select,.jh textarea,.jh button{
    font-family:var(--body) !important; font-weight:400 !important;
  }
  .jh h1,.jh h2,.jh h3,.jh h4,.jh h5{
    font-family:var(--disp) !important; font-weight:700 !important;
    text-transform:uppercase; line-height:.94; margin:0; padding:0;
    letter-spacing:.005em;
  }
  .jh h1 em,.jh h2 em,.jh h3 em{font-style:italic;font-weight:700}
  .jh p{margin:0}
  .jh img{max-width:100%;display:block}
  .jh .o{color:var(--o) !important}
  .jh .w{color:#fff !important}
  
  /* ─── LAYOUT ────────────────────────────────────────────── */
  .jh-wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
  .jh-sec{position:relative;overflow:hidden}
  
  /* ─── ELEMENTI COMUNI ───────────────────────────────────── */
  .jh-btn{
    display:inline-flex;align-items:center;gap:.7em;
    font-family:var(--disp) !important;font-weight:700 !important;
    font-size:1.22rem;letter-spacing:.06em;text-transform:uppercase;
    text-decoration:none !important;color:#fff !important;background:var(--o);
    padding:.55em 1.3em;border-radius:999px;border:none;cursor:pointer;
    transition:background .25s,transform .25s,box-shadow .25s;
  }
  .jh-btn:hover{background:var(--ob);transform:translateY(-2px);
    box-shadow:0 14px 30px -14px var(--o)}
  .jh-btn .arw{display:grid;place-items:center;width:1.5em;height:1.5em;
    border-radius:999px;background:rgba(255,255,255,.22);font-size:.7em}
  .jh-eyebrow{display:inline-flex;align-items:center;gap:.7rem;
    font-weight:600 !important;font-size:1.02rem;letter-spacing:.16em;
    text-transform:uppercase;color:var(--o) !important;margin-bottom:18px}
  .jh-eyebrow::before{content:"";width:34px;height:2px;background:var(--o)}
  .jh-lead{color:var(--mu) !important;font-size:1.28rem;line-height:1.7}
  .jh-lead+.jh-lead{margin-top:.9rem !important}
  
  /* placeholder immagine — sostituire con un tag img */
  .jh-ph{
    background:
      linear-gradient(135deg,var(--n700),var(--n950));
    border:1px dashed rgba(234,93,27,.45);border-radius:14px;
    display:grid;place-items:center;text-align:center;
    color:rgba(255,255,255,.5) !important;font-size:.82rem;letter-spacing:.14em;
    text-transform:uppercase;padding:14px;min-height:120px;
  }
  .jh-ph::before{content:"◈";display:block;font-size:1.3rem;color:var(--o);margin-bottom:6px}
  
  /* reveal */
  .jh-rv{opacity:0;transform:translateY(30px);
    transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
  .jh-rv.in{opacity:1;transform:none}
  .jh-rv[data-d="1"]{transition-delay:.1s}
  .jh-rv[data-d="2"]{transition-delay:.2s}
  .jh-rv[data-d="3"]{transition-delay:.3s}
  .jh-rv[data-d="4"]{transition-delay:.4s}
  .jh-rv[data-d="5"]{transition-delay:.5s}
  
  /* ══════════════════════════════════════════════════════════
     1. HERO + SLIDER RENDER
     ══════════════════════════════════════════════════════════ */
  .jh-hero{background:var(--n900);padding:70px 0 90px}
  .jh-hero::after{content:"";position:absolute;right:-7%;top:6%;
    width:clamp(190px,32vw,620px);aspect-ratio:1;border-radius:50%;
    background:var(--o);z-index:0;pointer-events:none}
  .jh-hero .jh-wrap{position:relative;z-index:2}
  .jh-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));
    gap:clamp(28px,3vw,56px);align-items:center}
  .jh-vert{
    display:none;position:absolute;left:0;top:50%;
    writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);
    font-size:.95rem;letter-spacing:.55em;text-transform:uppercase;
    color:rgba(255,255,255,.55) !important;white-space:nowrap;
    font-weight:600 !important;
  }
  @media(min-width:1200px){
    .jh-vert{display:block}
    .jh-hero .jh-wrap{padding-left:clamp(70px,5vw,110px)}
  }
  .jh-vert b{color:var(--o) !important;font-weight:600 !important}
  .jh-hero h1{font-size:clamp(3.2rem,6.6vw,5.8rem);color:#fff !important}
  .jh-hero .claim{font-size:clamp(1.85rem,3.4vw,2.9rem);color:var(--o) !important;
    font-family:var(--disp) !important;font-weight:700 !important;
    margin-top:.35rem;text-transform:none}
  .jh-hero .sub{margin-top:1.1rem;color:#fff !important;font-size:1.42rem;
    line-height:1.5;max-width:22em}
  .jh-hero .jh-btn{margin-top:1.6rem}
  .jh-usp{display:flex;gap:34px;flex-wrap:wrap;margin-top:2.4rem}
  .jh-usp div{display:flex;align-items:center;gap:11px;
    font-size:1.02rem;line-height:1.25;text-transform:uppercase;
    letter-spacing:.08em;color:#fff !important;font-weight:600 !important}
  .jh-usp svg{width:30px;height:30px;flex:none;color:var(--o)}
  
  /* slider */
  .jh-slider{position:relative;aspect-ratio:1/1;z-index:2;
    width:100%;max-width:560px;margin:0 auto 64px;border-radius:28px;overflow:visible;
    background:var(--n800);box-shadow:0 34px 80px -38px rgba(0,0,0,.9)}
  .jh-slide{position:absolute;inset:0;opacity:0;transform:scale(.94);
    overflow:hidden;border-radius:28px;text-decoration:none !important;pointer-events:none;
    transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
  .jh-slide.on{opacity:1;transform:none;pointer-events:auto}
  .jh-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;
    transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
  .jh-slide.on:hover img{transform:scale(1.035)}
  .jh-slide.jh-ph{position:absolute;min-height:0}
  .jh-slider-arrow{
    position:absolute;z-index:7;top:auto;bottom:-56px;transform:none;
    display:grid;place-items:center;width:48px;height:42px;padding:0 0 4px;
    border:1px solid rgba(255,255,255,.34);border-radius:14px;
    background:var(--n800);
    color:#fff!important;font-family:Arial,sans-serif!important;font-size:2rem;
    font-weight:400!important;line-height:1;cursor:pointer;
    box-shadow:0 8px 22px rgba(0,0,0,.22);
    transition:background .2s,border-color .2s,transform .2s;
  }
  .jh-slider-arrow:hover,.jh-slider-arrow:focus-visible{
    background:var(--o);border-color:var(--o);transform:translateY(-2px);
    outline:none;
  }
  .jh-slider-prev{left:auto;right:56px}
  .jh-slider-next{right:0;background:var(--o);border-color:var(--o)}
  .jh-dots{position:absolute;bottom:-34px;left:0;right:126px;display:flex;gap:6px;z-index:5}
  .jh-dots button{flex:1;min-width:0;height:3px;border-radius:2px;border:none;
    background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:.3s}
  .jh-dots button.on{background:var(--o)}
  @media(max-width:767px){
    .jh-slider{margin-bottom:60px}
    .jh-slider-arrow{bottom:-52px;width:44px;height:40px;font-size:1.85rem}
    .jh-slider-prev{left:auto;right:50px}.jh-slider-next{right:0}
    .jh-dots{bottom:-31px;right:112px}
  }
  
  /* ══════════════════════════════════════════════════════════
     2. COME FUNZIONA
     ══════════════════════════════════════════════════════════ */
  .jh-how{background:var(--n900);padding:20px 0 90px}
  .jh-how-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,2.25fr);
    gap:clamp(42px,4vw,80px);align-items:center}
  .jh-how h2{font-size:clamp(2.6rem,5vw,4.2rem);color:var(--o) !important}
  .jh-how .sub{margin-top:.6rem;color:#fff !important;font-size:1.3rem}
  .jh-how .jh-btn{margin-top:1.8rem}
  .jh-steps{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:stretch;gap:18px}
  .jh-step{border:2px solid var(--o);border-radius:24px;overflow:hidden;
    background:var(--n800);display:flex;flex-direction:column;
    transition:transform .35s,box-shadow .35s}
  .jh-step:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(0,0,0,.7)}
  .jh-step img,.jh-step .jh-ph{width:100%;aspect-ratio:4/3;object-fit:cover;
    border-radius:0;border:none;min-height:0}
  .jh-step .tx{padding:26px 24px 32px;text-align:center}
  .jh-step h3{font-size:2.05rem;color:var(--o) !important;margin-bottom:.5rem}
  .jh-step p{color:#fff !important;font-size:1.16rem;line-height:1.5}
  .jh-step p a{color:var(--o) !important;text-decoration:none}
  .jh-step p a:hover{text-decoration:underline}
  .jh-arrow{flex:0 0 22px;display:grid;place-items:center;color:var(--o);font-size:1.1rem}
  
  /* ══════════════════════════════════════════════════════════
     3. CLAIM + STRIP FOTO
     ══════════════════════════════════════════════════════════ */
  .jh-claim{background:var(--n900);padding:20px 0 60px;text-align:center}
  .jh-claim p{font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.6;
    color:#fff !important;max-width:46em;margin:0 auto}
  .jh-claim b{color:var(--o) !important;font-weight:700 !important}
  .jh-claim .slogan{margin-top:1.4rem;font-family:var(--disp) !important;
    font-weight:700 !important;text-transform:uppercase;
    font-size:clamp(1.5rem,2.9vw,2.3rem);color:#fff !important}
  
  .jh-strip{background:var(--n900);padding:24px 0;overflow:hidden}
  .jh-strip-mask{overflow:hidden;position:relative}
  .jh-strip-track{display:flex;gap:14px;width:max-content;
    animation:jh-slide-x 46s linear infinite}
  .jh-strip-mask:hover .jh-strip-track{animation-play-state:paused}
  @keyframes jh-slide-x{to{transform:translateX(-50%)}}
  .jh-strip-track img,.jh-strip-track .jh-ph{width:170px;height:170px;
    object-fit:cover;border-radius:10px;flex:none;min-height:0}
  
  /* ══════════════════════════════════════════════════════════
     4. MARQUEE ARANCIO
     ══════════════════════════════════════════════════════════ */
  .jh-marq{background:var(--o);padding:16px 0;overflow:hidden;white-space:nowrap}
  .jh-marq-track{display:inline-flex;gap:48px;align-items:center;
    animation:jh-slide-x 30s linear infinite;will-change:transform}
  .jh-marq-track span{font-family:var(--disp) !important;font-weight:700 !important;
    font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;text-transform:uppercase;
    color:#fff !important;white-space:nowrap}
  .jh-marq-track span:nth-child(even){color:var(--n900) !important}
  
  /* ══════════════════════════════════════════════════════════
     5. MIGLIAIA DI PRODOTTI
     ══════════════════════════════════════════════════════════ */
  .jh-prod{background:var(--n900);padding:90px 0}
  .jh-prod .head{text-align:center;margin-bottom:48px}
  .jh-prod h2{font-size:clamp(2.6rem,5.6vw,4.6rem);color:var(--o) !important}
  .jh-prod .head p{margin-top:.5rem;color:#fff !important;font-size:1.38rem}
  .jh-prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:14px}
  .jh-prod-card{display:block;text-decoration:none !important}
  .jh-prod-card img,.jh-prod-card .jh-ph{width:100%;aspect-ratio:1/1;
    object-fit:cover;border-radius:4px;min-height:0;
    transition:transform .4s cubic-bezier(.16,1,.3,1)}
  .jh-prod-card:hover img{transform:scale(1.04)}
  .jh-prod-card b{display:block;margin-top:10px;background:var(--o);
    color:#fff !important;text-align:center;padding:.55em .4em;
    font-family:var(--disp) !important;font-weight:700 !important;
    font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase;
    border-radius:3px;transition:background .25s}
  .jh-prod-card:hover b{background:var(--ob)}
  
  .jh-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));
    gap:32px 0;margin-top:64px;align-items:start}
  .jh-flow-i{position:relative;text-align:center;padding:0 10px}
  .jh-flow-i svg{width:48px;height:48px;color:var(--o);margin:0 auto 14px}
  .jh-flow-i span{display:block;font-size:1rem;letter-spacing:.08em;
    text-transform:uppercase;color:#fff !important;line-height:1.35;
    font-weight:600 !important}
  .jh-flow-i:not(:last-child)::after{content:"";position:absolute;
    top:22px;right:-12%;width:24%;height:1px;background:rgba(255,255,255,.28)}
  .jh-prod .cta{text-align:center;margin-top:54px}
  
  /* ══════════════════════════════════════════════════════════
     6. I NOSTRI SERVIZI
     ══════════════════════════════════════════════════════════ */
  .jh-srv{background:var(--n800);padding:90px 0}
  .jh-srv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
    gap:clamp(28px,3vw,48px);align-items:center}
  .jh-srv-grid>*:last-child{grid-column:span 2}
  @media(max-width:900px){.jh-srv-grid>*:last-child{grid-column:auto}}
  .jh-srv h2{font-size:clamp(2.4rem,4.6vw,3.8rem);color:var(--o) !important}
  .jh-srv h2 em{display:block;color:#fff !important}
  .jh-srv .txt{margin-top:1.1rem;color:#fff !important;font-size:1.3rem;line-height:1.5}
  .jh-srv .txt b{color:var(--o) !important;font-weight:700 !important}
  .jh-srv .jh-btn{margin-top:1.8rem}
  .jh-srv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px}
  .jh-srv-card{position:relative;display:flex;flex-direction:column;overflow:hidden;
    border-radius:8px;text-decoration:none !important;background:var(--n950)}
  .jh-srv-card img,.jh-srv-card .jh-ph{position:relative;width:100%;
    height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:0;min-height:0;
    transition:transform .5s cubic-bezier(.16,1,.3,1)}
  .jh-srv-card:hover img{transform:scale(1.06)}
  .jh-srv-card .lab{position:relative;z-index:2;flex:1;
    min-height:92px;padding:19px 18px;display:flex;align-items:center;gap:13px;
    background:var(--n950)}
  .jh-srv-card .lab svg{width:30px;height:30px;flex:none;color:var(--o)}
  .jh-srv-card .lab b{font-family:var(--disp) !important;font-weight:700 !important;
    color:#fff !important;font-size:1.35rem;line-height:1.12;text-transform:uppercase}
  
  /* ══════════════════════════════════════════════════════════
     7. NULLA È STANDARD
     ══════════════════════════════════════════════════════════ */
  .jh-stmt{background:var(--n900);padding:80px 0;text-align:center}
  .jh-stmt h2{font-size:clamp(2rem,5.4vw,4.4rem);color:var(--o) !important;
    text-transform:none}
  
  /* ══════════════════════════════════════════════════════════
     8. LABORATORIO + TECNICHE
     ══════════════════════════════════════════════════════════ */
  .jh-lab{background:var(--n800);padding:96px 0}
  .jh-lab-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));
    gap:clamp(28px,3vw,56px);align-items:center;margin-bottom:70px}
  .jh-lab h2{font-size:clamp(2rem,3.8vw,3.2rem);color:#fff !important}
  .jh-lab-intro img,.jh-lab-intro .jh-ph{border-radius:16px;width:100%;
    aspect-ratio:4/3;object-fit:cover;min-height:0}
  .jh-lab h3{font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff !important;
    margin-bottom:32px}
  .jh-tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .jh-tech{background:var(--n900);border:1px solid rgba(255,255,255,.07);
    border-radius:18px;overflow:hidden;transition:transform .3s,border-color .3s}
  .jh-tech:hover{transform:translateY(-5px);border-color:rgba(234,93,27,.5)}
  .jh-tech img,.jh-tech .jh-ph{width:100%;aspect-ratio:16/9;object-fit:cover;
    border-radius:0;border:none;min-height:0}
  /* Foto UV quadrata: priorità alla parte alta della sagoma con la mucca. */
  .jh-tech-uv img{object-position:center top}
  .jh-tech .tx{padding:28px 28px 34px}
  .jh-tech h4{font-size:1.5rem;color:#fff !important;margin-bottom:.45rem}
  .jh-tech p{color:var(--mu) !important;font-size:1.16rem;line-height:1.6}
  
  /* ══════════════════════════════════════════════════════════
     9. CHI SIAMO
     ══════════════════════════════════════════════════════════ */
  .jh-about{background:var(--cr);padding:96px 0;color:var(--n900)}
  .jh-about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));
    gap:clamp(28px,3vw,56px);align-items:center}
  .jh-about img,.jh-about .jh-ph{border-radius:16px;width:100%;aspect-ratio:4/3;
    object-fit:cover;min-height:0}
  .jh-about h2{font-size:clamp(2rem,3.8vw,3.2rem);color:var(--n900) !important}
  .jh-about h3{font-size:1.55rem;font-style:italic;color:var(--o) !important;
    margin-top:.7rem;text-transform:none}
  .jh-about p{margin-top:1rem;color:#000 !important;font-size:1.26rem;line-height:1.7}
  .jh-about .jh-btn{margin-top:26px}
  
  /* ══════════════════════════════════════════════════════════
     10. RECENSIONI (attivare in pubblicazione con Google)
     ══════════════════════════════════════════════════════════ */
  .jh-rev{background:var(--n900);padding:90px 0}
  .jh-rev .head{text-align:center;max-width:640px;margin:0 auto 44px}
  .jh-rev h2{font-size:clamp(1.9rem,3.6vw,3rem);color:#fff !important}
  .jh-rev .head p{color:var(--mu) !important;margin-top:.8rem;font-size:1.26rem;line-height:1.65}
  .jh-rev-mask{overflow:hidden;position:relative}
  .jh-rev-mask::before,.jh-rev-mask::after{content:"";position:absolute;
    top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
  .jh-rev-mask::before{left:0;background:linear-gradient(to right,var(--n900),transparent)}
  .jh-rev-mask::after{right:0;background:linear-gradient(to left,var(--n900),transparent)}
  .jh-rev-track{display:flex;gap:20px;width:max-content;padding:0 32px;
    animation:jh-slide-x 34s linear infinite}
  .jh-rev-mask:hover .jh-rev-track{animation-play-state:paused}
  .jh-card-rev{width:340px;flex:none;background:var(--n800);
    border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:26px 24px;
    transition:.25s}
  .jh-card-rev:hover{border-color:rgba(234,93,27,.45);transform:translateY(-4px)}
  .jh-stars{color:var(--o) !important;font-size:1.05rem;letter-spacing:.12em;margin-bottom:12px}
  .jh-card-rev p{color:var(--cr) !important;font-size:1.18rem;line-height:1.6;font-style:italic}
  .jh-who{margin-top:18px;font-weight:600 !important;font-size:1.1rem;color:#fff !important}
  .jh-who span{display:block;font-size:1rem;color:var(--mu) !important;margin-top:2px}
  
  /* ══════════════════════════════════════════════════════════
     11. OCCASIONI
     ══════════════════════════════════════════════════════════ */
  .jh-occ{background:var(--n800);padding:96px 0}
  .jh-occ-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));
    gap:clamp(28px,3vw,56px);align-items:center}
  .jh-occ h2{font-size:clamp(2rem,3.8vw,3.2rem);color:#fff !important}
  .jh-occ h3{font-size:1.7rem;font-style:italic;color:#fff !important;
    margin-top:.7rem;text-transform:none}
  .jh-occ p{margin-top:1rem;color:var(--mu) !important;font-size:1.26rem;line-height:1.7}
  .jh-occ .jh-btn{margin-top:26px}
  .jh-occ-imgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .jh-occ-imgs>*{border-radius:14px;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;min-height:0}
  .jh-occ-imgs>*:first-child{grid-column:1/-1;aspect-ratio:16/7}
  
  /* ══════════════════════════════════════════════════════════
     12. CONTATTI
     ══════════════════════════════════════════════════════════ */
  .jh-ct{background:var(--cr);padding:90px 0;color:var(--n900)}
  .jh-ct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));
    gap:clamp(28px,3vw,56px);align-items:start}
  .jh-ct h2{font-size:clamp(1.9rem,3.6vw,3rem);color:var(--n900) !important}
  .jh-ct h3{font-size:1.35rem;color:#000 !important;margin-top:.6rem;text-transform:none}
  .jh-ct .lead{margin-top:.8rem;font-size:1.26rem;color:#000 !important;max-width:26em;line-height:1.6}
  .jh-info{margin-top:30px;display:grid;gap:16px}
  .jh-ci{display:flex;gap:14px;align-items:flex-start}
  .jh-ci .ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--o);
    display:grid;place-items:center;color:#fff}
  .jh-ci .ic svg{width:19px;height:19px}
  .jh-ci b{display:block;font-weight:700 !important;font-size:1.14rem;color:var(--n900) !important}
  .jh-ci span,.jh-ci a{color:#000 !important;font-size:1.1rem;text-decoration:none}
  .jh-ci a:hover{color:var(--o) !important}
  .jh-form{background:#fff;border-radius:22px;padding:34px;
    box-shadow:0 30px 70px -40px rgba(20,35,63,.4)}
  .jh-field{margin-bottom:18px}
  .jh-field label{display:block;font-weight:700 !important;font-size:.98rem;
    text-transform:uppercase;letter-spacing:.07em;color:var(--n800) !important;
    margin-bottom:.5rem}
  .jh-field input,.jh-field select,.jh-field textarea{width:100%;padding:.85em 1em;
    border:1.5px solid #d9d2c4;border-radius:12px;background:#fbf9f5;
    font-size:1.12rem;color:var(--n900) !important;transition:.2s}
  .jh-field textarea{min-height:120px;resize:vertical}
  .jh-field input:focus,.jh-field select:focus,.jh-field textarea:focus{
    outline:none;border-color:var(--o);box-shadow:0 0 0 4px rgba(234,93,27,.12)}
  .jh-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:14px}
  .jh-radios{display:flex;gap:10px;flex-wrap:wrap}
  .jh-radios label{flex:1;min-width:90px;text-align:center;border:1.5px solid #d9d2c4;
    border-radius:12px;padding:.7em;cursor:pointer;font-weight:600 !important;
    font-size:1.06rem;color:var(--n800) !important;transition:.2s;text-transform:none;
    letter-spacing:0;margin:0}
  .jh-radios input{display:none}
  .jh-radios label:has(input:checked){border-color:var(--o);
    background:rgba(234,93,27,.07);color:var(--o) !important}
  .jh-note{font-size:1.05rem;color:#000 !important;margin:.4rem 0 1.2rem}
  
  /* Elimina padding e margini aggiunti da Divi attorno al modulo homepage */
  .et_pb_section:has(.jh),
  .et_pb_row:has(.jh),
  .et_pb_column:has(.jh),
  .et_pb_code:has(.jh),
  .et_pb_code_inner:has(.jh){
    margin-top:0 !important;margin-bottom:0 !important;
    padding-top:0 !important;padding-bottom:0 !important;
  }
  
  /* ══════════════════════════════════════════════════════════
     SCALA TIPOGRAFICA FLUIDA (min · vw · max)
     Cresce con la larghezza dello schermo: su monitor grandi
     i testi si ingrandiscono invece di restare minuscoli.
     Override con !important perché Divi impone font-size.
     ══════════════════════════════════════════════════════════ */
  .jh .jh-eyebrow{font-size:clamp(1rem,.8vw,1.45rem) !important;letter-spacing:.15em !important}
  .jh .jh-btn{font-size:clamp(1.2rem,1.05vw,1.85rem) !important;padding:.6em 1.4em !important}
  .jh .jh-vert{font-size:clamp(.95rem,.75vw,1.35rem) !important}
  
  /* hero */
  .jh .jh-hero h1{font-size:clamp(3.4rem,5.4vw,8.4rem) !important}
  .jh .jh-hero .claim{font-size:clamp(1.9rem,2.7vw,4.2rem) !important}
  .jh .jh-hero .sub{font-size:clamp(1.4rem,1.3vw,2.25rem) !important;max-width:24em}
  .jh .jh-usp div,.jh .jh-usp span{font-size:clamp(1rem,.9vw,1.55rem) !important}
  .jh .jh-usp svg{width:clamp(28px,2.2vw,46px);height:clamp(28px,2.2vw,46px)}
  
  /* come funziona */
  .jh .jh-how h2{font-size:clamp(4rem,6vw,8.8rem) !important;line-height:.88}
  .jh .jh-how .sub{font-size:clamp(1.7rem,1.65vw,2.7rem) !important;line-height:1.3}
  .jh .jh-how .jh-btn{font-size:clamp(1.3rem,1.25vw,2rem) !important}
  .jh .jh-step h3{font-size:clamp(2.6rem,2.8vw,4.2rem) !important}
  .jh .jh-step p{font-size:clamp(1.3rem,1.25vw,2rem) !important;line-height:1.55}
  .jh .jh-arrow{font-size:clamp(1.1rem,1.1vw,1.9rem) !important}
  
  /* claim */
  .jh .jh-claim p{font-size:clamp(1.35rem,1.75vw,2.7rem) !important}
  .jh .jh-claim .slogan{font-size:clamp(1.6rem,2.3vw,3.6rem) !important}
  
  /* prodotti */
  .jh .jh-prod h2{font-size:clamp(2.9rem,4.8vw,7.4rem) !important}
  .jh .jh-prod .head p{font-size:clamp(1.35rem,1.35vw,2.2rem) !important}
  .jh .jh-prod-card b{font-size:clamp(1.5rem,1.4vw,2.3rem) !important;padding:.65em .45em}
  .jh .jh-flow-i span{font-size:clamp(1rem,.9vw,1.55rem) !important}
  .jh .jh-flow-i svg{width:clamp(46px,3.4vw,72px);height:clamp(46px,3.4vw,72px)}
  
  /* servizi */
  .jh .jh-srv h2{font-size:clamp(2.5rem,4vw,6.2rem) !important}
  .jh .jh-srv .txt{font-size:clamp(1.3rem,1.35vw,2.2rem) !important}
  .jh .jh-srv-card .lab b{font-size:clamp(1.5rem,1.4vw,2.3rem) !important}
  .jh .jh-srv-card .lab svg{width:clamp(26px,2vw,42px);height:clamp(26px,2vw,42px)}
  
  /* statement */
  .jh .jh-stmt h2{font-size:clamp(2.2rem,4.6vw,7rem) !important}
  
  /* laboratorio */
  .jh .jh-lab h2,.jh .jh-about h2,.jh .jh-occ h2{font-size:clamp(3rem,4.2vw,6.3rem) !important}
  .jh .jh-lab h3{font-size:clamp(2.6rem,3.2vw,4.8rem) !important}
  .jh .jh-tech h4{font-size:clamp(2rem,2vw,3rem) !important;line-height:1.08}
  .jh .jh-tech p{font-size:clamp(1.3rem,1.25vw,2rem) !important;line-height:1.55}
  .jh .jh-lead{font-size:clamp(1.25rem,1.2vw,2.05rem) !important;line-height:1.65}
  
  /* chi siamo */
  .jh .jh-about h3{font-size:clamp(1.5rem,1.55vw,2.4rem) !important}
  .jh .jh-about p{font-size:clamp(1.25rem,1.2vw,2.05rem) !important}
  
  /* recensioni */
  .jh .jh-rev h2,.jh .jh-ct h2{font-size:clamp(2rem,3.1vw,4.6rem) !important}
  .jh .jh-rev .head p{font-size:clamp(1.25rem,1.2vw,2.05rem) !important}
  .jh .jh-rev .head{max-width:52em}
  .jh .jh-card-rev{width:clamp(340px,24vw,520px)}
  .jh .jh-card-rev p{font-size:clamp(1.15rem,1.1vw,1.9rem) !important}
  .jh .jh-who{font-size:clamp(1.05rem,1vw,1.7rem) !important}
  .jh .jh-who span{font-size:clamp(1rem,.9vw,1.55rem) !important}
  .jh .jh-stars{font-size:clamp(1.05rem,1vw,1.7rem) !important}
  
  /* occasioni */
  .jh .jh-occ h3{font-size:clamp(1.7rem,1.65vw,2.6rem) !important;color:#fff !important}
  .jh .jh-occ p{font-size:clamp(1.25rem,1.2vw,2.05rem) !important}
  
  /* contatti */
  .jh .jh-ct h3{font-size:clamp(1.3rem,1.35vw,2.2rem) !important}
  .jh .jh-ct .lead{font-size:clamp(1.25rem,1.2vw,2.05rem) !important}
  .jh .jh-ci b{font-size:clamp(1.1rem,1.05vw,1.8rem) !important}
  .jh .jh-ci span,.jh .jh-ci a{font-size:clamp(1.05rem,1vw,1.7rem) !important}
  .jh .jh-ci .ic{width:clamp(42px,3vw,64px);height:clamp(42px,3vw,64px)}
  .jh .jh-ci .ic svg{width:clamp(19px,1.4vw,30px);height:clamp(19px,1.4vw,30px)}
  .jh .jh-field label{font-size:clamp(.95rem,.85vw,1.45rem) !important}
  .jh .jh-field input,.jh .jh-field select,.jh .jh-field textarea{
    font-size:clamp(1.1rem,1.05vw,1.8rem) !important;padding:.8em .95em !important}
  .jh .jh-radios label{font-size:clamp(1.05rem,1vw,1.7rem) !important}
  .jh .jh-note{font-size:clamp(1.05rem,1vw,1.7rem) !important}
  .jh .jh-form{padding:clamp(28px,2.4vw,52px)}
  
  /* marquee */
  .jh .jh-marq-track span{font-size:clamp(2rem,4.4vw,6.6rem) !important}
  
  /* strip foto + placeholder */
  .jh .jh-strip-track img,.jh .jh-strip-track .jh-ph{
    width:clamp(150px,12vw,280px);height:clamp(150px,12vw,280px)}
  .jh .jh-ph{font-size:clamp(.8rem,.7vw,1.15rem) !important}

  /* Desktop: una scala leggermente più generosa senza modificare il mobile. */
  @media(min-width:981px){
    .jh .jh-eyebrow{font-size:clamp(1.08rem,.9vw,1.55rem) !important}
    .jh .jh-btn{font-size:clamp(1.28rem,1.12vw,1.95rem) !important}
    .jh .jh-hero .sub{font-size:clamp(1.52rem,1.42vw,2.4rem) !important}
    .jh .jh-how .sub{font-size:clamp(1.82rem,1.78vw,2.9rem) !important}
    .jh .jh-step h3{font-size:clamp(2.8rem,3vw,4.5rem) !important}
    .jh .jh-step p,.jh .jh-tech p{font-size:clamp(1.42rem,1.36vw,2.15rem) !important}
    .jh .jh-claim p{font-size:clamp(1.48rem,1.9vw,2.9rem) !important}
    .jh .jh-prod .head p,.jh .jh-srv .txt{font-size:clamp(1.48rem,1.48vw,2.35rem) !important}
    .jh .jh-prod-card b,.jh .jh-srv-card .lab b{font-size:clamp(1.62rem,1.52vw,2.45rem) !important}
    .jh .jh-lab h2,.jh .jh-about h2,.jh .jh-occ h2{font-size:clamp(3.25rem,4.5vw,6.7rem) !important}
    .jh .jh-lab h3{font-size:clamp(2.8rem,3.45vw,5.1rem) !important}
    .jh .jh-tech h4{font-size:clamp(2.15rem,2.15vw,3.2rem) !important}
    .jh .jh-lead,.jh .jh-about p,.jh .jh-occ p,
    .jh .jh-rev .head p,.jh .jh-ct .lead{
      font-size:clamp(1.36rem,1.3vw,2.18rem) !important;
    }
    .jh .jh-about h3,.jh .jh-occ h3{font-size:clamp(1.65rem,1.72vw,2.7rem) !important}
    .jh .jh-rev h2,.jh .jh-ct h2{font-size:clamp(2.2rem,3.35vw,4.9rem) !important}
    .jh .jh-card-rev p{font-size:clamp(1.28rem,1.2vw,2rem) !important}
  }
  
  /* spaziature che crescono con lo schermo */
  .jh .jh-how,.jh .jh-prod,.jh .jh-srv,.jh .jh-lab,.jh .jh-about,
  .jh .jh-rev,.jh .jh-occ,.jh .jh-ct,.jh .jh-stmt{
    padding-top:clamp(60px,6vw,150px);padding-bottom:clamp(60px,6vw,150px)}
  /* Dopo il nastro fotografico basta un distacco breve: evita il grande vuoto
     generato dalla somma del padding del nastro e di quello della sezione. */
  .jh .jh-strip + .jh-prod{padding-top:clamp(60px,4vw,82px)}
  .jh .jh-hero{padding-top:clamp(40px,3.5vw,90px);padding-bottom:clamp(60px,6vw,140px)}
  .jh .jh-wrap{padding-left:clamp(20px,2.5vw,56px);padding-right:clamp(20px,2.5vw,56px)}
  
  /* ══════════════════════════════════════════════════════════
     RESPONSIVE — le griglie sono auto-fit, qui solo rifiniture
     ══════════════════════════════════════════════════════════ */
@media(max-width:980px){
  /* Hero mobile: testo, immagine, CTA e vantaggi in una sequenza leggibile. */
  .jh-hero-grid>.jh-hero-copy{display:contents}
  .jh .jh-hero-grid{row-gap:12px !important}
  .jh-hero h1{order:1}
  .jh-hero .claim{order:2}
  .jh-hero .sub{order:3}
  .jh-slider{order:4}
  .jh-hero .jh-btn{order:5;margin-top:8px !important}
  .jh-usp{order:6}
  .jh-hero::after{right:-16%;top:2%}
  .jh-flow-i::after{display:none}
    .jh-how-grid{grid-template-columns:1fr}
    .jh-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .jh-hero-grid,.jh-srv-grid,.jh-lab-intro,.jh-about-grid,.jh-occ-grid,.jh-ct-grid{
      grid-template-columns:1fr !important;
    }
    .jh-hero-grid>*,.jh-srv-grid>*,.jh-lab-intro>*,.jh-about-grid>*,
    .jh-occ-grid>*,.jh-ct-grid>*{grid-column:auto !important;min-width:0}
  .jh-occ-imgs{width:100%;max-width:760px;margin:0 auto}
  .jh-form{width:100%;max-width:760px;margin:0 auto}

  /* Allineamento centrato su tablet e mobile; desktop invariato */
  .jh h1,.jh h2,.jh h3,.jh h4,.jh h5,
  .jh p,.jh .claim,.jh .sub,.jh .txt,
  .jh .role,.jh .lab,.jh .jh-note{text-align:center !important}
  .jh .jh-eyebrow{
    display:flex !important;justify-content:center !important;width:100%;
  }
  .jh .jh-btn{
    display:flex !important;width:max-content;max-width:100%;
    margin-left:auto !important;margin-right:auto !important;
    justify-content:center;text-align:center !important;
  }
  .jh button.jh-btn{width:100%}
  .jh-usp,.jh-info{justify-content:center}
  .jh-usp{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;max-width:680px;margin:22px auto 0;gap:12px;
  }
  .jh-usp>div{
    min-width:0;min-height:116px;padding:18px 10px;
    flex-direction:column;justify-content:center;text-align:center;gap:10px;
    border:1px solid rgba(255,255,255,.12);border-radius:16px;
    background:rgba(255,255,255,.055);
  }
  .jh-usp>div span{line-height:1.25}
  .jh-ci{justify-content:center}
  .jh-ci>div:last-child{text-align:center}
  .jh-srv-card .lab{justify-content:center;text-align:center}
  .jh-flow-i,.jh-step .tx,.jh-tech .tx,.jh-prod-card{text-align:center}
  .jh .jh-srv h2{
    font-size:clamp(4rem,11vw,7rem) !important;
    line-height:.88 !important;
  }
}
  @media(max-width:800px){
    .jh-steps{grid-template-columns:1fr}
    .jh-arrow{transform:rotate(90deg);min-height:28px}
  }
  @media(max-width:600px){
    .jh-hero{padding-top:30px}
    .jh-strip-track img,.jh-strip-track .jh-ph{width:130px;height:130px}
    .jh-slider{width:min(100%,430px)}
    .jh .jh-hero-grid{gap:10px !important}
    .jh-usp{gap:8px}
    .jh-usp>div{min-height:104px;padding:14px 6px}
    .jh .jh-usp div,.jh .jh-usp span{
      font-size:clamp(.7rem,2.8vw,.88rem) !important;
      letter-spacing:.035em;overflow-wrap:normal;
    }
    .jh .jh-usp svg{width:27px;height:27px}
    .jh-radios{flex-direction:column}
    .jh-tech-grid{grid-template-columns:1fr}
    .jh-prod-grid,.jh-srv-cards{grid-template-columns:1fr}
    .jh-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
    .jh-occ-imgs{gap:10px}
    .jh-occ-imgs>*:first-child{aspect-ratio:16/9}
    .jh-ct-grid,.jh-occ-grid,.jh-about-grid,.jh-lab-intro,.jh-srv-grid,.jh-hero-grid{
      gap:30px !important;
    }
    .jh h1,.jh h2,.jh h3,.jh h4,
    .jh p,.jh span,.jh a{overflow-wrap:anywhere}
    .jh .jh-how h2{font-size:clamp(3.2rem,16vw,5rem) !important}
    .jh .jh-how .sub{font-size:1.45rem !important}
    .jh .jh-step h3{font-size:2.5rem !important}
    .jh .jh-step p,.jh .jh-tech p{font-size:1.2rem !important}
    .jh .jh-lab h3{font-size:2.4rem !important}
    .jh .jh-lab-intro h2 .o{
      display:block;font-size:.72em !important;line-height:1.05;
      overflow-wrap:normal;word-break:normal;
    }
    .jh .jh-tech h4{font-size:2rem !important}
    .jh .jh-ct h2,.jh .jh-occ h2,.jh .jh-about h2{font-size:2.8rem !important}
    .jh-form{padding:24px !important}
    .jh-two{grid-template-columns:1fr}
  }
.jafet-mobile-break{display:none}
@media(max-width:980px){.jafet-mobile-break{display:block}.jh h2 .o{display:block}}
.jh-brand-completion{display:flex!important;align-items:center;gap:clamp(10px,1.2vw,20px);white-space:nowrap}
.jh-brand-completion>span{
  font-family:var(--disp)!important;
  font-weight:400!important;
  font-size:clamp(2rem,3.65vw,3.15rem);
  line-height:1;
  letter-spacing:.025em;
  text-transform:uppercase;
  color:rgba(255,255,255,.9)!important;
}
.jh-brand-completion img{display:block;width:clamp(110px,12vw,210px);height:auto;flex:none}
.jh-brand-slogan{display:flex!important;align-items:center;justify-content:center;gap:clamp(10px,1.2vw,20px);flex-wrap:nowrap;white-space:nowrap}
.jh-brand-slogan>span{font-family:"Bebas Neue","Arial Narrow",sans-serif;font-style:italic;color:inherit}
.jh-brand-slogan img{display:block;width:clamp(105px,11vw,190px);height:auto;flex:none}
@media(max-width:767px){
  .jh-brand-completion{gap:8px}
  .jh-brand-completion>span{font-size:clamp(1.75rem,8.6vw,2.55rem)}
  .jh-brand-completion img{width:clamp(86px,28vw,130px)}
  .jh-brand-slogan{gap:8px}
  .jh-brand-slogan>span{font-size:clamp(19px,5.3vw,27px)}
  .jh-brand-slogan img{width:clamp(78px,23vw,112px)}
}
