/* =====================================================================
   300dpi STUDIO — nuova home costruita con moduli Divi
   Questo file da' stile e movimento ai moduli che hanno le classi "dh-...".
   I CONTENUTI (testi, immagini, link, numeri) si modificano dal Visual Builder.
   ===================================================================== */


/* font di riserva con le stesse misure di Be Vietnam Pro: evita che il testo si sposti quando arriva il font vero */
@font-face{font-family:'dh-viet-fb';src:local('Arial'),local('ArialMT'),local('Helvetica');size-adjust:107.5%;ascent-override:93%;descent-override:24.6%;line-gap-override:0%}
/* ---------- base comune a tutte le sezioni "dpi-home" ---------- */
:root{--dh-hh:0px}
.dpi-home{--dh-ink:#111;--dh-paper:#f4f2ee;--dh-gold:#c5ba9f;--dh-gray:#717372;--dh-red:#ac3339;--dh-dark:#171717;--dh-line:rgba(17,17,17,.14);--dh-pad:clamp(16px,4vw,64px);
  font-family:'Be Vietnam Pro','dh-viet-fb','Be Vietnam Pro',Helvetica,Arial,sans-serif;color:var(--dh-ink);-webkit-font-smoothing:antialiased;line-height:1.5}
.dpi-home.et_pb_section{padding:0!important;background-color:var(--dh-paper);overflow:clip}
.dpi-home .et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.dpi-home .et_pb_column{margin:0!important;padding:0!important}
.dpi-home .et_pb_module{margin:0!important}
.dpi-home .et_pb_text_inner p{padding:0;margin:0}
.dpi-home h1,.dpi-home h2,.dpi-home h3,.dpi-home h4{color:inherit!important;font-weight:400;padding:0;margin:0;line-height:inherit}
.dpi-home a{color:inherit}
.dpi-home .et_pb_text{color:inherit;line-height:inherit}
.dh-six,.dh-six h1,.dh-six h2,.dh-six h3,.dh-six h4{font-family:'Six Caps','Six Caps',Impact,sans-serif!important;font-weight:400!important;letter-spacing:.01em;line-height:.86!important;text-transform:uppercase}
.dh-label,.dh-label p{font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:1.5!important}

/* ---------- bottoni (moduli Pulsante con classe dh-cta-btn) ---------- */
.dpi-home .et_pb_button.dh-cta-btn,.dpi-home .et_pb_button.dh-cta-btn:hover{display:inline-flex!important;align-items:center;position:relative;overflow:hidden;isolation:isolate;padding:1.45em 5.7em 1.45em 1.9em!important;border:0!important;border-radius:0!important;
  font-family:'Be Vietnam Pro','dh-viet-fb',sans-serif!important;font-size:13px!important;letter-spacing:.16em!important;text-transform:uppercase;font-weight:500!important;line-height:1!important;transition:color .45s cubic-bezier(.7,0,.2,1)!important}
.dpi-home .et_pb_button.dh-cta-btn::after,.dpi-home .et_pb_button.dh-cta-btn:hover::after{content:"→"!important;font-family:'Be Vietnam Pro','dh-viet-fb',sans-serif!important;position:absolute!important;left:auto!important;right:0!important;top:0!important;bottom:0!important;width:3.8em;display:flex!important;align-items:center;justify-content:center;
  border-left:1px solid currentColor;opacity:1!important;margin:0!important;font-size:1.1em!important;line-height:1!important;transition:none!important}
.dpi-home .et_pb_button.dh-cta-btn::before{content:""!important;display:block!important;position:absolute!important;inset:0;left:0!important;top:0!important;margin:0!important;background:var(--dh-red);transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.7,0,.2,1)!important;z-index:-1;opacity:1!important}
.dpi-home .et_pb_button.dh-cta-btn:hover::before,.dpi-home .et_pb_button.dh-cta-btn:focus-visible::before{transform:scaleX(1);transform-origin:left}
.dpi-home .et_pb_button.dh-cta-btn:hover,.dpi-home .et_pb_button.dh-cta-btn:focus-visible{color:#fff!important}
.dpi-home .et_pb_button.dh-cta-btn--light{background:var(--dh-paper)!important;color:var(--dh-ink)!important}
.dpi-home .et_pb_button.dh-cta-btn--dark{background:var(--dh-ink)!important;color:var(--dh-paper)!important}
.dpi-home .et_pb_button.dh-cta-btn--light::after{border-left-color:rgba(17,17,17,.18)}
.dpi-home .et_pb_button.dh-cta-btn--dark::after{border-left-color:rgba(244,242,238,.25)}

/* ---------- 01 · fascia logo (solo computer, quando l'header e' nascosto all'apertura) ---------- */
.dpi-home.dh-top{background:#fff}
.dh-top .dh-top-row{display:none!important;text-align:center;padding:clamp(12px,1.2vw,18px) var(--dh-pad)!important}
.dh-top .dh-top-logo img{width:clamp(220px,20vw,320px)!important;height:auto;display:block;margin:0 auto}
.dh-top .et_pb_code{display:block;height:0;overflow:hidden}
@media (min-width:981px){body.et_hide_nav .dh-top .dh-top-row{display:block!important}}

/* ---------- 02 · video d'apertura ---------- */
.dpi-home.dh-hero{position:relative;height:calc(100vh - var(--dh-hh));height:calc(100svh - var(--dh-hh));min-height:520px;background:var(--dh-dark)!important}
.dh-hero .et_pb_row,.dh-hero .et_pb_column,.dh-hero .et_pb_code,.dh-hero .et_pb_code_inner{height:100%}
.dh-hero__media{position:absolute;inset:0}
.dh-hero__video{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- 03 · H1 e manifesto ---------- */
.dh-manifesto .et_pb_row{display:grid!important;grid-template-columns:1fr 3fr;gap:clamp(24px,4vw,64px);padding:clamp(90px,14vw,220px) var(--dh-pad) clamp(80px,12vw,200px)!important}
.dh-manifesto .et_pb_row::after{display:none}
.dh-manifesto .et_pb_column{width:auto!important;float:none!important}
.dh-manifesto .dh-aside .et_pb_text_inner{display:flex;flex-direction:column;gap:18px;padding-top:.6em;color:var(--dh-gray)}
.dh-manifesto .dh-aside .dh-badge{font-family:'Six Caps',sans-serif;font-size:clamp(70px,9vw,150px);line-height:.86;color:var(--dh-gold);display:block;letter-spacing:.01em}
.dh-h1 h1{font-family:'Be Vietnam Pro','dh-viet-fb',sans-serif!important;font-size:13px!important;letter-spacing:.2em;text-transform:uppercase;font-weight:500!important;color:var(--dh-red)!important;line-height:1.5!important;margin-bottom:clamp(18px,2vw,28px)!important}
.dh-manifesto-text,.dh-manifesto-text p{font-size:clamp(28px,4.1vw,72px)!important;line-height:1.14!important;font-weight:300;letter-spacing:-.015em}
.dh-manifesto-text em{font-style:italic;font-weight:200;color:var(--dh-gray)}
.dh-w{display:inline-block;opacity:.16}

/* ---------- 04 · nastro dei servizi (moduli Blurb con classe dh-mq-src) ---------- */
.dpi-home.dh-marquee{padding:0 var(--dh-pad)!important}
.dh-marquee .dh-mq-src-row .et_pb_column{display:flex;flex-wrap:wrap;gap:8px 28px;padding:24px 0!important}
.dh-marquee .dh-mq-src .et_pb_main_blurb_image,.dh-marquee .dh-mq-src .et_pb_blurb_description{display:none}
.dh-marquee .dh-mq-src .et_pb_module_header{font-family:'Six Caps',sans-serif;font-size:48px;text-transform:uppercase;padding:0}
html.dh-js .dh-marquee .dh-mq-src-row{display:none!important}
.dh-marquee__band{display:block;overflow:hidden;position:relative;border-top:1px solid var(--dh-line);border-bottom:1px solid var(--dh-line);padding:clamp(20px,2.4vw,34px) 0}
html.dh-js .dh-marquee__band{min-height:calc(clamp(46px,6.4vw,112px) + 2*clamp(20px,2.4vw,34px))}
.dh-marquee__row{display:flex;white-space:nowrap;will-change:transform}
.dh-marquee__track{display:flex;align-items:center;flex-shrink:0;font-size:clamp(46px,6.4vw,112px);gap:.45em;padding-right:.45em;font-family:'Six Caps',sans-serif;text-transform:uppercase;line-height:.86}
.dh-marquee__sep{display:inline-block;width:.45em;height:2px;background:var(--dh-gold);flex-shrink:0;transition:background .4s,width .4s}
.dpi-home .dh-mq{display:inline-flex;align-items:flex-start;gap:.14em;color:var(--dh-ink);position:relative;transition:opacity .45s ease;outline:none;text-decoration:none}
.dh-mq__n{font-family:'Be Vietnam Pro','dh-viet-fb',sans-serif;font-size:.15em;font-weight:500;letter-spacing:.12em;color:var(--dh-gray);margin-top:.55em;transition:color .4s}
.dh-mq__w{display:block;position:relative;overflow:hidden;line-height:1;padding:.12em .02em .1em;margin:-.12em -.02em -.1em}
.dh-mq__a,.dh-mq__b{display:block;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.dh-mq__b{position:absolute;left:.02em;top:.12em;color:var(--dh-red);transform:translateY(125%)}
.dh-mq::after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:2px;background:var(--dh-red);transform:scaleX(0);transform-origin:right;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.dh-marquee__band.is-hover .dh-mq{opacity:.28}
.dpi-home .dh-marquee__band .dh-mq:hover,.dpi-home .dh-marquee__band .dh-mq:focus-visible{opacity:1}
.dh-mq:hover .dh-mq__a,.dh-mq:focus-visible .dh-mq__a{transform:translateY(-125%)}
.dh-mq:hover .dh-mq__b,.dh-mq:focus-visible .dh-mq__b{transform:translateY(0)}
.dh-mq:hover::after,.dh-mq:focus-visible::after{transform:scaleX(1);transform-origin:left}
.dh-mq:hover .dh-mq__n,.dh-mq:focus-visible .dh-mq__n{color:var(--dh-red)}
.dh-mq:hover + .dh-marquee__sep{background:var(--dh-red);width:.7em}
.dh-mq-preview{position:fixed;left:0;top:0;width:clamp(260px,24vw,420px);z-index:60;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;will-change:transform}
.dh-mq-preview.is-on{opacity:1;visibility:visible}
.dh-mq-preview__img{aspect-ratio:980/371;overflow:hidden;clip-path:inset(50% 0 50% 0);transition:clip-path .55s cubic-bezier(.7,0,.2,1);background:#171717}
.dh-mq-preview.is-on .dh-mq-preview__img{clip-path:inset(0 0 0 0)}
.dh-mq-preview__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.dh-mq-preview.is-on .dh-mq-preview__img img{transform:scale(1)}
.dh-mq-preview__tag{position:absolute;left:0;bottom:0;transform:translateY(100%);background:#ac3339;color:#fff;font-family:'Be Vietnam Pro','dh-viet-fb',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:.8em 1.1em;display:inline-flex;gap:.6em}

/* ---------- 05 · servizi: intestazione e tre schede impilate ---------- */
.dh-services .dh-services-intro{display:flex!important;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:clamp(70px,10vw,160px) var(--dh-pad) clamp(30px,4vw,60px)!important}
.dh-services .dh-services-intro::after{display:none}
.dh-services .dh-services-intro .et_pb_column{width:auto!important;float:none!important}
.dh-services-title,.dh-services-title h2{font-size:clamp(80px,13vw,230px)!important}
.dh-services-lead,.dh-services-lead p{max-width:360px;color:var(--dh-gray);font-size:15px!important}
.dh-stack{position:relative;height:calc(100vh - var(--dh-hh));height:calc(100svh - var(--dh-hh));padding:0 var(--dh-pad) clamp(16px,2vw,28px)!important}
.dh-stack::after{display:none}
.dpi-home .dh-stack .dh-card{position:absolute!important;left:var(--dh-pad)!important;right:var(--dh-pad)!important;top:0;bottom:clamp(16px,2vw,28px);width:auto!important;float:none!important;border-radius:clamp(18px,2.2vw,34px);padding:clamp(24px,4vw,64px)!important;
  display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;column-gap:clamp(20px,4vw,70px);row-gap:clamp(18px,2vw,30px);overflow:hidden;transform-origin:50% 0;will-change:transform}
.dh-card--1{background:var(--dh-dark);color:var(--dh-paper)}
.dh-card--2{background:var(--dh-gray);color:#fff}
.dh-card--3{background:var(--dh-gold);color:var(--dh-ink)}
.dh-card .dh-card__num{grid-column:1;grid-row:1/4;font-family:'Six Caps',sans-serif;font-size:clamp(90px,15vw,280px);line-height:.86;color:transparent;-webkit-text-stroke:1.5px currentColor;opacity:.55}
.dh-card--1 .dh-card__num{-webkit-text-stroke-color:var(--dh-paper)}
.dh-card--2 .dh-card__num{-webkit-text-stroke-color:#fff}
.dh-card--3 .dh-card__num{-webkit-text-stroke-color:var(--dh-ink)}
.dh-card .dh-card__kicker{grid-column:2/4;grid-row:1;opacity:.75}
.dh-card .dh-card__title{grid-column:2/4;grid-row:2;align-self:center}
.dh-card .dh-card__title,.dh-card .dh-card__title h3{font-size:clamp(110px,22vw,400px)!important}
.dh-card .dh-card__text{grid-column:2;grid-row:3;align-self:end;max-width:520px}
.dh-card .dh-card__text,.dh-card .dh-card__text p{font-size:clamp(16px,1.35vw,21px)!important;line-height:1.55!important;font-weight:300}
.dh-card .et_pb_button_module_wrapper{grid-column:3;grid-row:3;align-self:end;justify-self:end}

/* ---------- 06 · numeri (moduli Contatore numerico) ---------- */
.dpi-home.dh-numbers{background:var(--dh-dark)!important;color:var(--dh-paper);padding:clamp(80px,11vw,170px) var(--dh-pad)!important}
.dh-numbers .dh-numbers-head{display:flex!important;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,90px)!important}
.dh-numbers .dh-numbers-head::after{display:none}
.dh-numbers .dh-numbers-head .et_pb_column{width:auto!important;float:none!important}
.dh-numbers-title,.dh-numbers-title h2{font-size:clamp(70px,10vw,170px)!important}
.dh-numbers-title span{color:var(--dh-gold)}
.dh-numbers-lead,.dh-numbers-lead p{max-width:340px;color:#a7a7a7;font-size:15px!important}
.dh-numbers .dh-numbers-grid{display:grid!important;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(244,242,238,.18)}
.dh-numbers .dh-numbers-grid::after{display:none}
.dh-numbers .dh-numbers-grid .et_pb_column{width:auto!important;float:none!important;border-right:1px solid rgba(244,242,238,.18);padding:clamp(20px,2.6vw,40px) clamp(12px,1.6vw,24px) 0 0!important;margin-right:clamp(12px,1.6vw,24px)!important}
.dh-numbers .dh-numbers-grid .et_pb_column:last-child{border-right:0;margin-right:0!important}
.dpi-home .dh-num{text-align:left!important}
.dpi-home .dh-num .percent{height:auto!important;width:auto!important;margin:0!important;text-align:left}
.dpi-home .dh-num .percent p{font-family:'Six Caps',sans-serif!important;font-size:clamp(76px,9vw,170px)!important;line-height:.86!important;color:var(--dh-paper)!important;padding:0!important;text-align:left}
.dh-numbers .dh-numbers-grid .et_pb_column:first-child .dh-num .percent p{color:var(--dh-gold)!important}
.dpi-home .dh-num .title{font-family:'Be Vietnam Pro','dh-viet-fb',sans-serif!important;font-size:12px!important;letter-spacing:.18em;text-transform:uppercase;font-weight:500!important;color:#a7a7a7!important;margin-top:14px!important;line-height:1.5!important;text-align:left}

/* ---------- 07 · progetti (moduli Blurb con classe dh-proj) ---------- */
.dpi-home.dh-work{background:var(--dh-dark)!important;color:var(--dh-paper);counter-reset:dhproj}
.dh-work .dh-work-head{display:flex!important;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(60px,6vw,90px) var(--dh-pad) 0!important}
.dh-work .dh-work-head::after{display:none}
.dh-work .dh-work-head .et_pb_column{width:auto!important;float:none!important}
.dh-work-title,.dh-work-title h2{font-size:clamp(90px,15vw,270px)!important;white-space:nowrap}
.dh-work-title span{color:transparent;-webkit-text-stroke:1.5px var(--dh-paper)}
.dh-work-lead,.dh-work-lead p{max-width:300px;color:#a7a7a7;font-size:15px!important;padding-bottom:1em}
.dh-work .dh-work-track{padding:clamp(18px,3vh,40px) var(--dh-pad)!important}
.dh-work .dh-work-track::after{display:none}
.dh-work .dh-work-track .et_pb_column{display:flex!important;gap:clamp(16px,2vw,32px);width:max-content!important;float:none!important;will-change:transform}
.dpi-home .dh-proj{width:clamp(300px,38vw,640px);flex-shrink:0;counter-increment:dhproj;position:relative}
.dpi-home .dh-proj .et_pb_blurb_content{max-width:none!important;text-align:left!important}
.dpi-home .dh-proj .et_pb_main_blurb_image{display:block;width:100%!important;max-width:none!important;margin:0!important}
.dpi-home .dh-proj .et_pb_main_blurb_image a,.dpi-home .dh-proj .et_pb_image_wrap{display:block;width:100%}
.dpi-home .dh-proj .et_pb_image_wrap{position:relative;aspect-ratio:980/653;overflow:hidden;border-radius:clamp(10px,1.2vw,18px);background:#222}
.dpi-home .dh-proj img{width:100%!important;height:100%!important;object-fit:cover;transform:scale(1.18);transition:filter .6s;will-change:transform;opacity:1!important}
.dpi-home .dh-proj .et_pb_image_wrap::after{content:"Guarda";position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;background:var(--dh-red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transform:scale(0);transition:transform .5s cubic-bezier(.7,0,.2,1);pointer-events:none}
.dpi-home .dh-proj:hover .et_pb_image_wrap::after{transform:scale(1)}
@media (hover:hover){.dpi-home .dh-proj:hover img{filter:grayscale(1) blur(4px)}.dpi-home .dh-proj:hover .et_pb_module_header{color:var(--dh-red)!important}}
.dpi-home .dh-proj .et_pb_blurb_container{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:baseline;padding-top:16px;border-top:1px solid rgba(244,242,238,.18);margin-top:16px;text-align:left}
.dpi-home .dh-proj .et_pb_blurb_container::before{content:counter(dhproj,decimal-leading-zero);color:var(--dh-gold);font-size:12px;letter-spacing:.16em;font-weight:500}
.dpi-home .dh-proj .et_pb_module_header{font-family:'Six Caps',sans-serif!important;font-size:clamp(30px,2.8vw,50px)!important;line-height:1!important;text-transform:uppercase;padding:0!important;color:var(--dh-paper)!important;transition:color .45s ease}
.dpi-home .dh-proj .et_pb_module_header a{color:inherit!important}
.dpi-home .dh-proj .et_pb_blurb_description,.dpi-home .dh-proj .et_pb_blurb_description p{color:#a7a7a7!important;font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;text-align:right;line-height:1.4!important}
.dh-work .dh-work-track .et_pb_button_module_wrapper{display:flex;align-items:center;justify-content:center;width:clamp(260px,26vw,420px);flex-shrink:0;aspect-ratio:980/653}
.dh-work__foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,2vw,32px);margin:0 var(--dh-pad);padding-bottom:clamp(24px,4vh,48px)}
.dh-work__count{color:#a7a7a7;font-size:12px;letter-spacing:.18em;font-weight:500}
.dh-work__count b{color:var(--dh-gold);font-weight:500}
.dh-work__next{color:var(--dh-paper);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;display:inline-flex;gap:.6em;align-items:center}
.dh-work__next span{display:inline-block;animation:dh-bounce 1.6s ease-in-out infinite}
@keyframes dh-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.dh-work__progress{height:1px;background:rgba(244,242,238,.18);position:relative}
.dh-work__progress i{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--dh-gold);transform-origin:left;transform:scaleX(0)}
@media (min-width:768px){
  .dpi-home.dh-work{height:calc(100vh - var(--dh-hh));height:calc(100svh - var(--dh-hh));display:flex;flex-direction:column;justify-content:center}
}

/* ---------- 08 · richiamo verso i contatti ---------- */
.dpi-home.dh-outro{background:var(--dh-dark)!important;color:var(--dh-paper);padding:clamp(26px,3vw,44px) var(--dh-pad) clamp(40px,5vw,70px)!important;text-align:center}
.dh-outro .dh-outro-text,.dh-outro .dh-outro-text p{font-size:clamp(18px,1.7vw,26px)!important;font-weight:300}
.dh-outro .dh-outro-text strong{color:var(--dh-gold);font-size:12px;letter-spacing:.18em;font-weight:500;margin-right:.6em}

/* ---------- comparse (solo con JavaScript attivo) ---------- */
html.dh-js .dh-reveal{opacity:0;transform:translateY(40px)}

/* ---------- tablet e telefono ---------- */
@media (max-width:980px){
  .dh-manifesto .et_pb_row{grid-template-columns:1fr}
  .dh-manifesto .dh-aside .et_pb_text_inner{flex-direction:row;align-items:center;justify-content:space-between;padding-top:0}
  .dh-numbers .dh-numbers-grid{grid-template-columns:repeat(2,1fr)}
  .dh-numbers .dh-numbers-grid .et_pb_column{border-right:0;margin-right:0!important;border-bottom:1px solid rgba(244,242,238,.18);padding-bottom:22px!important}
  .dh-numbers .dh-numbers-grid .et_pb_column:first-child{grid-column:1/3}
}
@media (max-width:767px){
  .dpi-home.dh-hero{min-height:0;height:auto;aspect-ratio:1080/450}
  .dpi-home .dh-stack .dh-card{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto}
  .dh-card .dh-card__num{grid-column:1;grid-row:1;font-size:96px;line-height:.8}
  .dh-card .dh-card__kicker{grid-column:1;grid-row:2;margin-top:6px!important}
  .dh-card .dh-card__title{grid-column:1;grid-row:3;align-self:end}
  .dh-card .dh-card__title,.dh-card .dh-card__title h3{font-size:34vw!important}
  .dh-card .dh-card__text{grid-column:1;grid-row:4}
  .dh-card .dh-card__text,.dh-card .dh-card__text p{font-size:15px!important}
  .dh-card .et_pb_button_module_wrapper{grid-column:1;grid-row:5;justify-self:start}
  .dh-work .dh-work-head{flex-direction:column;align-items:flex-start}
  .dh-work .dh-work-track .et_pb_column{flex-direction:column;width:auto!important;gap:46px}
  .dpi-home .dh-proj{width:100%}
  .dpi-home .dh-proj .et_pb_image_wrap::after{display:none}
  .dh-work .dh-work-track .et_pb_button_module_wrapper{width:100%;aspect-ratio:auto;padding:20px 0}
  .dh-work__foot{display:none}
  .dh-mq-preview{display:none}
  .dh-marquee__track{font-size:15vw}
}
@media (prefers-reduced-motion:reduce){
  html.dh-js .dh-reveal{opacity:1;transform:none}
  .dh-w{opacity:1}
  .dh-marquee__band{overflow-x:auto}
  .dh-mq-preview{display:none}
  .dh-work__next span{animation:none}
}


/* ---------- senza animazioni (Visual Builder, movimento ridotto, script non caricato):
   schede e progetti uno dopo l'altro, cosi' ogni modulo resta visibile e cliccabile ---------- */
html:not(.dh-js) .dh-stack{height:auto}
html:not(.dh-js) .dpi-home .dh-stack .dh-card{position:relative!important;left:auto!important;right:auto!important;top:auto;bottom:auto;min-height:min(560px,80vh);margin-bottom:clamp(16px,2vw,28px)!important}
html:not(.dh-js) .dpi-home.dh-work{height:auto}
html:not(.dh-js) .dh-work .dh-work-track .et_pb_column{flex-wrap:wrap;width:auto!important}
html:not(.dh-js) .dpi-home .dh-proj{width:calc((100% - 2 * clamp(16px,2vw,32px)) / 3)}
@media (max-width:767px){html:not(.dh-js) .dpi-home .dh-proj{width:100%}}

/* spazio riservato al nastro prima che lo script lo costruisca (evita salti di layout) */
html.dh-js .dpi-home.dh-marquee{min-height:calc(clamp(46px,6.4vw,112px) + 2 * clamp(20px,2.4vw,34px) + 2px)}
