/* Smartphone / portrait tablet art direction.
   One static product composition and a single reading column. Desktop >= 992px
   is deliberately outside this stylesheet, including its immersive timeline. */
.ds-mobile-preview{display:none}
@media(max-width:991.98px){
 body.digital-services-page{--mobile-gutter:24px}
 /* Keep the real Energelia navigation, with a comfortable but compact header. */
 body.digital-services-page :is(#top,#utilita,#servizi,#laboratorio,#approccio,#domande,#contatto,.ed-service){scroll-margin-top:100px}
 .digital-services-page .ed-wrap{width:calc(100% - var(--mobile-gutter)*2)}
 /* Hero: text -> primary action -> two connected products -> service anchor. */
 body.digital-services-page .ds-immersive{height:auto;background:#071a2c}
 body.digital-services-page .ds-imm-sticky{position:relative;height:auto;min-height:0;padding:28px 0 0;background:#071a2c;overflow:hidden}
 body.digital-services-page :is(.ds-imm-seed,.ds-imm-scene,.ds-imm-copy,.ds-imm-progress,.ds-imm-scroll,.ds-imm-atmosphere,.ds-imm-grid){display:none}
 body.digital-services-page .ds-imm-intro{position:relative;inset:auto;display:block;padding:0;opacity:1;transform:none}
 .digital-services-page .ds-imm-intro .container{width:calc(100% - var(--mobile-gutter)*2);max-width:660px;padding:0}
 body.digital-services-page .ds-imm-intro-copy{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:none;padding:0}
 .digital-services-page .ds-imm-intro .ds-kicker{grid-row:1;font-size:10px;line-height:1.5;letter-spacing:.13em;gap:9px;color:#ff818b}
 .digital-services-page .ds-imm-intro h1{grid-row:2;font-size:clamp(46px,8.2vw,66px);line-height:.96;letter-spacing:-.065em;margin:18px 0 16px;max-width:none}
 .digital-services-page .ds-imm-intro h1 em{font-size:.8em;line-height:1.08;margin-top:10px;color:#bfd4e1}
 .digital-services-page .ds-imm-intro .ds-hero-lead{grid-row:3;font-size:16px;line-height:1.6;max-width:540px;margin:0;color:#c1d0da!important}
 .digital-services-page .ds-hero-benefit{display:none}
 .digital-services-page .ds-hero-actions{display:contents}
 .digital-services-page .ds-hero-actions .ds-btn-primary{grid-row:4;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:52px;margin-top:22px;padding:14px 20px;border-radius:6px;font-size:14px;background:#cf3043;box-shadow:none}
 .digital-services-page .ds-hero-actions .ds-btn-ghost{grid-row:6;justify-self:start;display:flex;justify-content:space-between;width:100%;min-width:0;min-height:48px;padding:10px 0;margin-top:10px;border:0;border-bottom:1px solid #355065;border-radius:0;background:none;box-shadow:none;font-size:13px;color:#e4edf3}
 .digital-services-page .ds-hero-actions .ds-btn-ghost::after{content:'↓';color:#fb8391;font-size:20px}
 .digital-services-page .ds-mobile-preview{display:block;grid-row:5;min-width:0;margin:22px 0 0}
 .ds-mobile-products{position:relative;height:clamp(245px,44vw,340px);isolation:isolate}
 .ds-mobile-products img{position:absolute;display:block;height:auto;object-fit:contain;filter:drop-shadow(0 12px 15px #0005)}
 .ds-mobile-site{width:79%;left:-2%;top:0;z-index:1}
 .ds-mobile-management{width:70%;right:-2%;bottom:0;z-index:2}
 .ds-mobile-preview figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:#d5e3ec;font:500 12px/1.5 Inter,sans-serif}
 .ds-mobile-preview figcaption i{font-style:normal;color:#fb8391;margin-inline:6px}
 .ds-mobile-preview figcaption small{font-size:10px;color:#a9bfcd}
  /* The three service shortcuts are the mobile navigation; avoid a second, redundant values row. */
  .digital-services-page .ds-imm-intro .ds-hero-points{display:none!important}
 body.digital-services-page .ds-imm-stage{position:relative;inset:auto;margin:48px 0 0;padding:0;width:100%;max-width:none;perspective:none;pointer-events:auto}
 body.digital-services-page .ds-imm-final{position:relative;inset:auto;display:block;width:100%;margin:0;min-height:0;padding:0;opacity:1;visibility:visible;transform:none}
 /* 06: service choice remains visual; form controls retain native semantics. */
 .ed-contact{padding-block:52px}
 .ed-contact-grid{grid-template-columns:1fr;gap:30px}
 .ed-contact-copy h2{font-size:clamp(40px,7vw,58px);line-height:1.08;margin-block:24px}
 .ed-contact-copy h2 em br{display:none}
 .ed-contact-copy>.ed-contact-lead{font-size:20px!important;line-height:1.4}
 .ed-contact-copy>p:not(.ed-eyebrow){max-width:540px;font-size:15px;line-height:1.65}
 .ed-contact-prompts{display:none}
 .ed-phone{margin-top:24px;padding-block:16px 0;border-top:1px solid #355065}
 .ed-phone>span{font-size:12px;margin-bottom:6px}
 .ed-phone strong{font-size:26px}
 .ed-form-wrap{border-radius:8px;box-shadow:none}
 .ed-form-topbar{padding:14px 18px;font-size:11px}
 .ed-form-body{padding:24px 18px}
 .ed-form-body>h3{font-size:30px;line-height:1.12}
 .ed-form-body>p{font-size:14px;margin-bottom:24px}
 .ed-service-choices{grid-template-columns:1fr 1fr;gap:8px}
 .ed-service-choice>span{grid-template-columns:1fr;gap:6px;padding:14px 10px;min-height:110px}
 .ed-service-choice svg{grid-row:auto;width:24px;height:24px;margin-bottom:3px}
 .ed-service-choice strong{font-size:13px;line-height:1.3}
 .ed-service-choice small{font-size:11px;line-height:1.4}
 .ed-service-choice i{right:9px;top:14px}
 .ed-form-wrap .nx-form-row{grid-template-columns:1fr;gap:20px}
 .ed-form-wrap .nx-form{gap:22px}
 .ed-form-wrap label{font-size:14px}
 .ed-form-wrap label>small{font-size:12px}
 .ed-form-wrap textarea{min-height:156px}
 .ed-form-wrap .nx-consent{padding-block:4px;min-height:44px;font-size:13px;line-height:1.6;gap:10px}
 .ed-form-wrap input[type=checkbox]{min-width:22px;min-height:22px;margin-top:2px}
 .ed-form-wrap .nx-submit{min-height:54px;padding:14px 16px;font-size:14px}
 .ed-form-wrap .nx-form-legal,.ed-form-wrap .ed-required-note{font-size:12px;line-height:1.6}
 .ed-form-wrap .nx-form-status{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
}
@media(min-width:601px) and (max-width:991.98px){
 .digital-services-page .ds-imm-intro .container{max-width:820px}
 body.digital-services-page .ds-imm-intro-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}
 .digital-services-page .ds-imm-intro .ds-kicker{grid-column:1/-1}
 .digital-services-page .ds-imm-intro h1{grid-column:1;font-size:clamp(44px,7vw,62px)}
 .digital-services-page .ds-imm-intro .ds-hero-lead{grid-column:1}
 .digital-services-page .ds-hero-actions .ds-btn-primary{grid-column:1;align-self:end}
 .digital-services-page .ds-mobile-preview{grid-column:2;grid-row:2/5;align-self:center;margin:0}
 .ds-mobile-products{height:390px}
 .ds-mobile-site{width:110%;left:-8%}
 .ds-mobile-management{width:100%;right:-6%}
 .ds-mobile-preview figcaption{flex-wrap:wrap;gap:4px}
 .digital-services-page .ds-hero-actions .ds-btn-ghost{grid-row:5;grid-column:1/-1;margin-top:26px}
 .digital-services-page .ds-imm-intro .ds-hero-points{grid-row:6;grid-column:1/-1}
}
@media(max-width:600px){
 body.digital-services-page{--mobile-gutter:20px}
 .digital-services-page .ds-imm-intro h1{font-size:clamp(43px,13vw,60px)}
 .ds-mobile-products{height:clamp(224px,72vw,365px)}
 .ds-mobile-site{width:88%;left:-3%}
 .ds-mobile-management{width:64%;right:-2%}
}
@media(max-width:360px){
 body.digital-services-page{--mobile-gutter:16px}
 body.digital-services-page .ds-imm-sticky{padding-top:24px}
 .digital-services-page .ds-imm-intro h1{margin-top:16px;font-size:clamp(42px,13vw,47px)}
 .digital-services-page .ds-imm-intro .ds-hero-lead{font-size:15px;line-height:1.55}
 .digital-services-page .ds-hero-actions .ds-btn-primary{margin-top:18px;min-height:50px;font-size:13px}
 .digital-services-page .ds-mobile-preview{margin-top:16px}
 .ds-mobile-products{height:clamp(224px,66vw,238px)}
 .ds-mobile-preview figcaption{font-size:11px;gap:8px}
 .ds-mobile-preview figcaption small{font-size:9px}
 .ed-service-choices{grid-template-columns:1fr}
 .ed-service-choice>span{grid-template-columns:24px minmax(0,1fr);column-gap:12px;row-gap:3px;min-height:74px;padding:12px 34px 12px 12px}
 .ed-service-choice svg{grid-row:span 2;margin:0}
 .ed-service-choice strong{font-size:14px}
 .ed-service-choice small{font-size:12px}
 .ed-service-choice i{top:calc(50% - 8px)}
}
@media(max-width:991.98px) and (prefers-reduced-motion:reduce){
 .ds-mobile-preview,.ds-mobile-preview *{animation:none;transition:none}
}
