.elementor-kit-1183{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#C9A35E;--e-global-color-text:#AEB8C8;--e-global-color-accent:#C9A35E;--e-global-color-51c3d34:#2F2F2F;--e-global-color-2664c80:#F5F5F5;--e-global-color-0a5dbef:#000000;--e-global-color-a480291:#FFFFFF;--e-global-color-c475da9:#F7F2EC;--e-global-color-dxnavy9:#0A1628;--e-global-color-dxnavy5:#060E1A;--e-global-color-dxnavy8:#0F2038;--e-global-color-dxnavy7:#16304F;--e-global-color-dxgoldl:#E6CF9B;--e-global-color-dxivory:#F4EFE6;--e-global-color-dxink00:#33415A;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.8em;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:2.4px;--e-global-typography-dxdispl-font-family:"Cormorant Garamond";--e-global-typography-dxdispl-font-size:clamp(3.3rem, 8.6vw, 9.6rem);--e-global-typography-dxdispl-font-weight:300;--e-global-typography-dxdispl-line-height:0.94em;--e-global-typography-dxeyebr-font-family:"Manrope";--e-global-typography-dxeyebr-font-size:12px;--e-global-typography-dxeyebr-font-weight:600;--e-global-typography-dxeyebr-text-transform:uppercase;--e-global-typography-dxeyebr-letter-spacing:3.4px;--e-global-typography-dxquote-font-family:"Cormorant Garamond";--e-global-typography-dxquote-font-size:40px;--e-global-typography-dxquote-font-weight:300;--e-global-typography-dxquote-font-style:italic;--e-global-typography-dxquote-line-height:1.2em;background-color:#0A1628;color:#AEB8C8;font-family:"Manrope", Sans-serif;font-size:16px;font-weight:400;line-height:1.8em;}.elementor-kit-1183 button,.elementor-kit-1183 input[type="button"],.elementor-kit-1183 input[type="submit"],.elementor-kit-1183 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Manrope", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2.4px;color:var( --e-global-color-0a5dbef );border-radius:2px 2px 2px 2px;padding:20px 34px 20px 34px;}.elementor-kit-1183 button:hover,.elementor-kit-1183 button:focus,.elementor-kit-1183 input[type="button"]:hover,.elementor-kit-1183 input[type="button"]:focus,.elementor-kit-1183 input[type="submit"]:hover,.elementor-kit-1183 input[type="submit"]:focus,.elementor-kit-1183 .elementor-button:hover,.elementor-kit-1183 .elementor-button:focus{background-color:var( --e-global-color-0a5dbef );color:var( --e-global-color-a480291 );border-style:none;}.elementor-kit-1183 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1183 p{margin-block-end:18px;}.elementor-kit-1183 a{color:#C9A35E;}.elementor-kit-1183 a:hover{color:#E6CF9B;}.elementor-kit-1183 h1{color:var( --e-global-color-51c3d34 );font-family:"Cormorant Garamond", Sans-serif;font-size:64px;font-weight:300;line-height:1em;}.elementor-kit-1183 h2{color:#FFFFFF;font-family:"Cormorant Garamond", Sans-serif;font-size:48px;font-weight:300;line-height:1.08em;}.elementor-kit-1183 h3{color:var( --e-global-color-51c3d34 );font-family:"Cormorant Garamond", Sans-serif;font-size:34px;font-weight:300;line-height:1.15em;}.elementor-kit-1183 h4{color:var( --e-global-color-51c3d34 );font-family:"Cormorant Garamond", Sans-serif;font-size:26px;font-weight:400;line-height:1.25em;}.elementor-kit-1183 h5{color:var( --e-global-color-51c3d34 );font-family:"Cormorant Garamond", Sans-serif;font-size:20px;font-weight:400;line-height:1.3em;}.elementor-kit-1183 h6{color:var( --e-global-color-51c3d34 );font-family:"Manrope", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.2em;letter-spacing:3px;}.elementor-kit-1183 label{color:#C9A35E;font-family:"Manrope", Sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2.4px;}.elementor-kit-1183 input:not([type="button"]):not([type="submit"]),.elementor-kit-1183 textarea,.elementor-kit-1183 .elementor-field-textual{font-family:"Manrope", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;background-color:rgba(255,255,255,0);border-style:solid;border-width:0px 0px 1px 0px;border-color:rgba(255,255,255,0.22);border-radius:0px 0px 0px 0px;}.elementor-kit-1183 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-1183 textarea:focus,.elementor-kit-1183 .elementor-field-textual:focus{border-style:solid;border-color:#C9A35E;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:rgba(6,14,26,0.96);--lightbox-ui-color:#C9A35E;--lightbox-ui-color-hover:#E6CF9B;--lightbox-text-color:#FFFFFF;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1279px){.elementor-kit-1183 h1{font-size:40px;}.elementor-kit-1183 h2{font-size:35px;}}@media(max-width:767px){.elementor-kit-1183 h1{font-size:30px;}.elementor-kit-1183 h2{font-size:30px;}.elementor-kit-1183 h3{font-size:20px;}.elementor-kit-1183 h4{font-size:18px;}}/* Start custom CSS *//* =====================================================================
   DOMAX GROUP — Design System & Componenti
   Elementor Pro · Hello Elementor · GSAP 3 · Lenis
   Palette: Navy profondo · Oro · Bianco · Avorio
   Nota: le classi .dx-* sono assegnate ai widget/container in
   Avanzate > Classi CSS. Gli stati iniziali delle animazioni
   sono attivi solo con html.dx-js (mai nell'editor).
   ===================================================================== */

:root, body{
  --dx-navy-950: var(--e-global-color-dxnavy5, #060E1A);
  --dx-navy-900: var(--e-global-color-dxnavy9, #0A1628);
  --dx-navy-800: var(--e-global-color-dxnavy8, #0F2038);
  --dx-navy-700: var(--e-global-color-dxnavy7, #16304F);
  --dx-gold:     var(--e-global-color-secondary, #C9A35E);
  --dx-gold-lt:  var(--e-global-color-dxgoldl, #E6CF9B);
  --dx-gold-dk:  #9E7A3A;
  --dx-ivory:    var(--e-global-color-dxivory, #F4EFE6);
  --dx-white:    #FFFFFF;
  --dx-muted:    var(--e-global-color-text, #AEB8C8);
  --dx-ink:      #33415A;
  --dx-line:     rgba(201,163,94,.28);
  --dx-line-soft:rgba(255,255,255,.09);
  --dx-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --dx-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --dx-ease: cubic-bezier(.16,1,.3,1);
  --dx-ease-io: cubic-bezier(.77,0,.18,1);
  --dx-radius: 2px;
  --dx-header-h: 96px;
}

/* ---------- Base ---------- */
html{ -webkit-text-size-adjust:100%; }
body{
  background-color: var(--dx-navy-900);
  color: var(--dx-muted);
  font-family: var(--dx-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
::selection{ background: var(--dx-gold); color: var(--dx-navy-950); }
a{ transition: color .35s var(--dx-ease), opacity .35s var(--dx-ease); }
img{ display:block; }
:focus-visible{ outline: 1px solid var(--dx-gold); outline-offset: 4px; }
.elementor .elementor-widget-text-editor p{ margin: 0 0 1.1em; }
.elementor .elementor-widget-text-editor p:last-child{ margin-bottom: 0; }

/* grana cinematografica */
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9990; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.elementor-editor-active body::after, body.elementor-editor-active::after{ display:none; }

/* ---------- Superfici ---------- */
.elementor .dx-section{ position:relative; isolation:isolate; }
.elementor .dx-bg-navy{ background-color: var(--dx-navy-900); }
.elementor .dx-bg-deep{ background-color: var(--dx-navy-950); }
.elementor .dx-bg-surface{ background-color: var(--dx-navy-800); }
.elementor .dx-bg-ivory{ background-color: var(--dx-ivory); color: var(--dx-ink); }
.elementor .dx-hairline-top{ border-top:1px solid var(--dx-line-soft); }
.elementor .dx-glow{ overflow:hidden; }
.elementor .dx-glow::before{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  width:80vmax; height:80vmax; left:50%; top:0; transform:translate(-50%,-50%);
  background: radial-gradient(closest-side, rgba(201,163,94,.10), rgba(201,163,94,.03) 55%, transparent 100%);
}

/* ---------- Tipografia ---------- */
.elementor .dx-eyebrow .elementor-heading-title{
  font-family: var(--dx-sans); font-size: 12px; font-weight: 600; line-height: 1.6;
  letter-spacing: .28em; text-transform: uppercase; color: var(--dx-gold);
  display:inline-flex; align-items:center; gap:16px;
}
.elementor .dx-eyebrow .elementor-heading-title::before{
  content:""; width:44px; height:1px; background: currentColor; opacity:.8; flex:none;
}
.elementor .dx-eyebrow.dx-center .elementor-heading-title::after{
  content:""; width:44px; height:1px; background: currentColor; opacity:.8; flex:none;
}
.elementor .dx-display .elementor-heading-title,
.elementor .dx-h1 .elementor-heading-title,
.elementor .dx-h2 .elementor-heading-title,
.elementor .dx-h3 .elementor-heading-title,
.elementor .dx-h4 .elementor-heading-title{
  font-family: var(--dx-serif); font-weight: 300; color: var(--dx-white); letter-spacing: -.015em;
}
.elementor .dx-display .elementor-heading-title{ font-size: clamp(3.3rem, 8.6vw, 9.6rem); line-height: .94; letter-spacing:-.025em; }
.elementor .dx-h1 .elementor-heading-title{ font-size: clamp(2.8rem, 6vw, 6.4rem); line-height: 1; }
.elementor .dx-h2 .elementor-heading-title{ font-size: clamp(2.3rem, 4.4vw, 4.6rem); line-height: 1.06; }
.elementor .dx-h3 .elementor-heading-title{ font-size: clamp(1.7rem, 2.5vw, 2.5rem); line-height: 1.15; }
.elementor .dx-h4 .elementor-heading-title{ font-size: clamp(1.35rem, 1.7vw, 1.65rem); line-height: 1.25; font-weight:400; letter-spacing:0; }
.elementor .elementor-heading-title em,
.elementor .dx-statement em{ font-style: italic; color: var(--dx-gold); font-weight: 300; }
.elementor .dx-lead{ font-family: var(--dx-sans); font-size: clamp(1.05rem, 1.25vw, 1.25rem); line-height: 1.75; color: var(--dx-muted); max-width: 40em !important; }
.elementor .dx-body{ font-family: var(--dx-sans); font-size: 1rem; line-height: 1.85; color: var(--dx-muted); }
.elementor .dx-small{ font-size: .875rem; line-height: 1.7; color: var(--dx-muted); }
.elementor .dx-center, .elementor .dx-center .elementor-heading-title{ text-align:center; margin-inline:auto; }
.elementor .dx-center.dx-lead{ margin-inline:auto; }
.elementor .dx-maxw-sm{ max-width: 34em !important; }
.elementor .dx-maxw-md{ max-width: 46em !important; }
.elementor .dx-maxw-lg{ max-width: 62em !important; }
.elementor .dx-statement .elementor-heading-title{
  font-family: var(--dx-serif); font-weight: 300; color: var(--dx-white);
  font-size: clamp(2rem, 4.1vw, 4.3rem); line-height: 1.16; letter-spacing: -.01em;
}

/* superficie avorio: inversione colori */
.elementor .dx-bg-ivory .elementor-heading-title{ color: var(--dx-navy-900); }
.elementor .dx-bg-ivory .dx-eyebrow .elementor-heading-title{ color: var(--dx-gold-dk); }
.elementor .dx-bg-ivory .elementor-heading-title em{ color: var(--dx-gold-dk); }
.elementor .dx-bg-ivory .dx-lead, .elementor .dx-bg-ivory .dx-body{ color: var(--dx-ink); }

/* ---------- Bottoni ---------- */
.elementor .dx-btn .elementor-button{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; gap:14px;
  font-family: var(--dx-sans); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; line-height:1;
  padding: 22px 34px; border-radius: var(--dx-radius); border:1px solid var(--dx-gold);
  background: transparent; color: var(--dx-white); fill: var(--dx-white);
  transition: color .5s var(--dx-ease), border-color .5s var(--dx-ease);
}
.elementor .dx-btn .elementor-button::before{
  content:""; position:absolute; inset:0; z-index:-1; background: var(--dx-gold);
  transform: scaleY(0); transform-origin: 50% 100%; transition: transform .6s var(--dx-ease);
}
.elementor .dx-btn .elementor-button::after{
  content:""; width:18px; height:1px; background: currentColor; flex:none;
  transition: width .5s var(--dx-ease);
}
.elementor .dx-btn .elementor-button:hover::after{ width:30px; }
.elementor .dx-btn .elementor-button:hover{ color: var(--dx-navy-950); }
.elementor .dx-btn .elementor-button:hover::before{ transform: scaleY(1); transform-origin: 50% 0; }
.elementor .dx-btn--gold .elementor-button{ background: var(--dx-gold); color: var(--dx-navy-950); }
.elementor .dx-btn--gold .elementor-button::before{ background: var(--dx-white); }
.elementor .dx-btn--gold .elementor-button:hover{ color: var(--dx-navy-950); border-color: var(--dx-white); }
.elementor .dx-btn--link .elementor-button{ padding: 10px 0; border:0; border-bottom:1px solid var(--dx-line); border-radius:0; color: var(--dx-gold); }
.elementor .dx-btn--link .elementor-button::before{ display:none; }
.elementor .dx-btn--link .elementor-button:hover{ color: var(--dx-gold-lt); border-color: var(--dx-gold); }
.elementor .dx-bg-ivory .dx-btn .elementor-button{ color: var(--dx-navy-900); border-color: var(--dx-gold-dk); }
.elementor .dx-bg-ivory .dx-btn .elementor-button:hover{ color: var(--dx-white); }
.elementor .dx-bg-ivory .dx-btn .elementor-button::before{ background: var(--dx-navy-900); }
.elementor .dx-bg-ivory .dx-btn--link .elementor-button{ color: var(--dx-gold-dk); }

/* ---------- Media di sfondo (Image widget a tutto campo) ---------- */
.elementor .dx-bg-media{
  position:absolute !important; inset:0; z-index:-1; margin:0 !important; width:100% !important; max-width:none !important;
  overflow:hidden; pointer-events:none;
}
.elementor .dx-bg-media > .elementor-widget-container{ height:100%; }
.elementor .dx-bg-media img{
  width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:center;
  transform-origin: 50% 50%; will-change: transform;
}
.elementor .dx-bg-media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(6,14,26,.72) 0%, rgba(6,14,26,.30) 38%, rgba(6,14,26,.55) 70%, var(--dx-navy-900) 100%),
    radial-gradient(120% 90% at 20% 40%, transparent 0%, rgba(6,14,26,.55) 100%);
}
.elementor .dx-bg-media--banner::after{
  background: linear-gradient(90deg, rgba(6,14,26,.92) 0%, rgba(6,14,26,.62) 45%, rgba(6,14,26,.25) 100%);
}
.elementor .dx-bg-media--center::after{
  background: radial-gradient(70% 70% at 50% 50%, rgba(6,14,26,.55) 0%, rgba(6,14,26,.9) 100%);
}

/* ---------- Hero ---------- */
.elementor .dx-hero{ overflow:hidden; }
.elementor .dx-fact__k, .elementor .dx-card__num, .elementor .dx-step__num, .elementor .dx-stat, .elementor .dx-srow__num, .dx-menu__nav small{ font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.elementor .dx-fact__k .elementor-heading-title, .elementor .dx-card__num .elementor-heading-title, .elementor .dx-step__num .elementor-heading-title, .elementor .dx-stat .elementor-counter-number-wrapper, .elementor .dx-srow__num .elementor-heading-title{ font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.elementor .dx-hero__facts{ border-top:1px solid var(--dx-line); }
.elementor .dx-fact{ border-left:1px solid var(--dx-line-soft); }
.elementor .dx-fact:first-child{ border-left:0; }
.elementor .dx-fact .dx-fact__k .elementor-heading-title{ font-family:var(--dx-serif); font-style:italic; font-size:15px; color:var(--dx-gold); font-weight:400; }
.elementor .dx-fact .dx-fact__t .elementor-heading-title{ font-family:var(--dx-sans); font-size:15px; font-weight:600; color:var(--dx-white); letter-spacing:.02em; }
.elementor .dx-fact .dx-fact__s{ font-size:13px; color:var(--dx-muted); line-height:1.5; }
.dx-scroll{ display:flex; align-items:center; gap:14px; font:600 11px/1 var(--dx-sans); letter-spacing:.3em; text-transform:uppercase; color:var(--dx-white); }
.dx-scroll__line{ position:relative; width:1px; height:56px; background:var(--dx-line-soft); overflow:hidden; }
.dx-scroll__line::after{ content:""; position:absolute; left:0; top:-40%; width:1px; height:40%; background:var(--dx-gold); animation: dx-scroll-line 2.2s var(--dx-ease-io) infinite; }
@keyframes dx-scroll-line{ 0%{ top:-40%; } 100%{ top:100%; } }
.dx-vert{ writing-mode: vertical-rl; transform: rotate(180deg); font:600 11px/1 var(--dx-sans); letter-spacing:.35em; text-transform:uppercase; color:rgba(255,255,255,.55); }

/* ---------- Marquee ---------- */
.elementor .dx-marquee{ border-top:1px solid var(--dx-line); border-bottom:1px solid var(--dx-line); overflow:hidden; }
.dx-marquee__track{ display:flex; width:max-content; white-space:nowrap; animation: dx-marquee 42s linear infinite; }
.dx-js .dx-marquee__track{ animation:none; }
.dx-marquee__item{ display:inline-flex; align-items:center; gap: clamp(28px,3vw,56px); padding-right: clamp(28px,3vw,56px);
  font-family: var(--dx-serif); font-weight:300; font-size: clamp(2.2rem, 4.6vw, 4.6rem); line-height:1.2; color: var(--dx-white); }
.dx-marquee__item i{ font-style:italic; color:transparent; -webkit-text-stroke: 1px var(--dx-gold); }
.dx-marquee__star{ width: .42em; height:.42em; color: var(--dx-gold); flex:none; }
@keyframes dx-marquee{ to{ transform: translateX(-50%); } }

/* ---------- Utility ---------- */
.screen-reader-text{ border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute !important; width:1px; word-wrap:normal !important; }
.elementor .dx-z{ position:relative; z-index:2; }
.elementor .dx-story-media{ position:relative; }
.elementor .dx-overlap{ position:absolute !important; right:-14%; bottom:-12%; z-index:3; border:10px solid var(--dx-navy-900); }
.elementor .dx-checklist.dx-checklist--one .elementor-icon-list-items{ grid-template-columns: 1fr; }

/* ---------- Immagini ---------- */
.elementor .dx-img{ overflow:hidden; }
.elementor .dx-img img{ width:100%; height:100%; object-fit:cover; }
.elementor .dx-img--tall img{ aspect-ratio: 4/5; }
.elementor .dx-img--wide img{ aspect-ratio: 16/10; }
.elementor .dx-img--sq img{ aspect-ratio: 1/1; }
.elementor .dx-frame{ position:relative; }
.elementor .dx-frame::after{ content:""; position:absolute; inset:18px -18px -18px 18px; border:1px solid var(--dx-line); z-index:-1; pointer-events:none; }
.elementor .dx-caption .elementor-heading-title{ font:600 11px/1.4 var(--dx-sans); letter-spacing:.28em; text-transform:uppercase; color:rgba(255,255,255,.55); }

/* ---------- Cards servizi / valori ---------- */
.elementor .dx-card{
  position:relative; overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
  border:1px solid var(--dx-line-soft);
  transition: border-color .6s var(--dx-ease), translate .6s var(--dx-ease), background .6s var(--dx-ease);
}
.elementor .dx-card::before{
  content:""; position:absolute; left:0; top:0; height:1px; width:100%; background: var(--dx-gold);
  transform: scaleX(0); transform-origin: left; transition: transform .8s var(--dx-ease);
}
.elementor .dx-card:hover{ border-color: var(--dx-line); translate: 0 -6px; background: linear-gradient(180deg, rgba(201,163,94,.07), rgba(255,255,255,.01)); }
.elementor .dx-card:hover::before{ transform: scaleX(1); }
.elementor .dx-card .dx-card__num .elementor-heading-title{ font-family:var(--dx-serif); font-style:italic; font-size:18px; color:rgba(201,163,94,.75); font-weight:400; }
.elementor .dx-card .dx-card__title .elementor-heading-title{ font-family:var(--dx-serif); font-size: clamp(1.5rem, 1.9vw, 1.9rem); line-height:1.15; color:var(--dx-white); font-weight:400; }
.elementor .dx-card .dx-card__text{ font-size: .95rem; line-height:1.8; color: var(--dx-muted); }
.elementor .dx-bg-ivory .dx-card{ background: #fff; border-color: rgba(10,22,40,.08); }
.elementor .dx-bg-ivory .dx-card:hover{ background:#fff; border-color: rgba(158,122,58,.5); box-shadow: 0 30px 60px -30px rgba(10,22,40,.25); }
.elementor .dx-bg-ivory .dx-card .dx-card__title .elementor-heading-title{ color: var(--dx-navy-900); }
.elementor .dx-bg-ivory .dx-card .dx-card__text{ color: var(--dx-ink); }
.dx-icon{ width:56px; height:56px; display:grid; place-items:center; color: var(--dx-gold); border:1px solid var(--dx-line); border-radius:50%; transition: background .6s var(--dx-ease), color .6s var(--dx-ease); }
.dx-icon svg{ width:24px; height:24px; stroke-width:1.25; }
.dx-card:hover .dx-icon{ background: var(--dx-gold); color: var(--dx-navy-950); }
.dx-bg-ivory .dx-icon{ color: var(--dx-gold-dk); border-color: rgba(158,122,58,.35); }
.dx-bg-ivory .dx-card:hover .dx-icon{ background: var(--dx-navy-900); color: var(--dx-gold-lt); }

/* ---------- Confronto (avorio) ---------- */
.elementor .dx-compare-col{ border:1px solid rgba(10,22,40,.1); background:#fff; }
.elementor .dx-compare-col--good{ background: var(--dx-navy-900); border-color: var(--dx-navy-900); box-shadow: 0 40px 80px -40px rgba(6,14,26,.55); }
.elementor .dx-compare-col .dx-compare__label .elementor-heading-title{ font:600 11px/1.4 var(--dx-sans); letter-spacing:.28em; text-transform:uppercase; color: #8A94A6; }
.elementor .dx-compare-col--good .dx-compare__label .elementor-heading-title{ color: var(--dx-gold); }
.elementor .dx-compare-col .dx-compare__title .elementor-heading-title{ font-family:var(--dx-serif); font-size: clamp(1.8rem,2.6vw,2.6rem); line-height:1.1; color: var(--dx-navy-900); font-weight:300; }
.elementor .dx-compare-col--good .dx-compare__title .elementor-heading-title{ color: var(--dx-white); }
.elementor .dx-list .elementor-icon-list-items{ display:flex; flex-direction:column; }
.elementor .dx-list .elementor-icon-list-item{ padding: 16px 0 !important; margin:0 !important; border-bottom:1px solid rgba(10,22,40,.08); align-items:flex-start !important; }
.elementor .dx-list .elementor-icon-list-item:last-child{ border-bottom:0; }
.elementor .dx-list .elementor-icon-list-icon{ margin-top:5px; }
.elementor .dx-list .elementor-icon-list-icon svg, .elementor .dx-list .elementor-icon-list-icon i{ width:14px; height:14px; font-size:14px; fill: #B4544B; color:#B4544B; }
.elementor .dx-list .elementor-icon-list-text{ font-size: 1rem; line-height:1.6; color: var(--dx-ink); padding-left:14px; }
.elementor .dx-compare-col--good .dx-list .elementor-icon-list-item{ border-color: var(--dx-line-soft); }
.elementor .dx-compare-col--good .dx-list .elementor-icon-list-icon svg, .elementor .dx-compare-col--good .dx-list .elementor-icon-list-icon i{ fill: var(--dx-gold); color: var(--dx-gold); }
.elementor .dx-compare-col--good .dx-list .elementor-icon-list-text{ color: var(--dx-white); }

/* checklist dorata (Servizi) */
.elementor .dx-checklist .elementor-icon-list-items{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 48px; }
.elementor .dx-checklist .elementor-icon-list-item{ padding: 20px 0 !important; margin:0 !important; border-bottom:1px solid var(--dx-line-soft); }
.elementor .dx-checklist .elementor-icon-list-icon svg, .elementor .dx-checklist .elementor-icon-list-icon i{ width:14px; height:14px; font-size:14px; fill: var(--dx-gold); color: var(--dx-gold); }
.elementor .dx-checklist .elementor-icon-list-text{ color: var(--dx-white); font-size:1.02rem; padding-left:16px; }

/* recapiti (Contatti/Footer) */
.elementor .dx-contact-list .elementor-icon-list-item{ padding: 18px 0 !important; margin:0 !important; border-bottom:1px solid var(--dx-line-soft); }
.elementor .dx-contact-list .elementor-icon-list-item a{ display:flex; align-items:center; width:100%; }
.elementor .dx-contact-list .elementor-icon-list-icon{ width:44px; height:44px; border:1px solid var(--dx-line); border-radius:50%; display:grid; place-items:center; flex:none; }
.elementor .dx-contact-list .elementor-icon-list-icon svg, .elementor .dx-contact-list .elementor-icon-list-icon i{ width:15px; height:15px; font-size:15px; fill: var(--dx-gold); color: var(--dx-gold); }
.elementor .dx-contact-list .elementor-icon-list-text{ color: var(--dx-white); font-size: 1.05rem; padding-left:18px; transition: color .35s var(--dx-ease); }
.elementor .dx-contact-list a:hover .elementor-icon-list-text{ color: var(--dx-gold-lt); }
.elementor .dx-links .elementor-icon-list-item{ padding: 7px 0 !important; margin:0 !important; }
.elementor .dx-links .elementor-icon-list-text{ color: var(--dx-muted); font-size: .95rem; transition: color .35s var(--dx-ease), padding .35s var(--dx-ease); }
.elementor .dx-links .elementor-icon-list-item a:hover .elementor-icon-list-text{ color: var(--dx-gold-lt); padding-left:6px; }
.elementor .dx-links .elementor-icon-list-icon{ display:none; }

/* ---------- Metodo: scroll orizzontale ---------- */
.elementor .dx-hscroll{ overflow:hidden; }
.elementor .dx-hscroll__track{ --width: max-content; width:max-content !important; flex-wrap:nowrap !important; will-change: transform; }
.elementor .dx-step{
  --width: clamp(320px, 31vw, 460px); width: clamp(320px, 31vw, 460px) !important; flex: none !important;
  position:relative; border-left:1px solid var(--dx-line); min-height: 440px;
}
.elementor .dx-step .dx-step__num .elementor-heading-title{
  font-family: var(--dx-serif); font-weight:300; font-size: clamp(6rem, 9vw, 9.5rem); line-height:.8;
  color: transparent; -webkit-text-stroke: 1px rgba(201,163,94,.65);
}
.elementor .dx-step .dx-step__title .elementor-heading-title{ font-family:var(--dx-serif); font-size: clamp(1.7rem,2.2vw,2.3rem); color:var(--dx-white); font-weight:400; line-height:1.1; }
.elementor .dx-step .dx-step__text{ font-size:1rem; line-height:1.8; color:var(--dx-muted); max-width: 26em; }
.elementor .dx-w-full{ width:100% !important; align-self:stretch !important; }
.dx-hscroll__bar{ position:relative; height:1px; background: var(--dx-line-soft); width:100%; overflow:hidden; }
.dx-hscroll__bar span{ position:absolute; inset:0; background: var(--dx-gold); transform: scaleX(0); transform-origin: left; }

html:not(.dx-js) .elementor .dx-hscroll__track{ width:100% !important; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:16px; }
html:not(.dx-js) .elementor .dx-step{ scroll-snap-align:start; }

/* ---------- Numeri (Counter widget) ---------- */
.elementor .dx-stat{ border-top:1px solid var(--dx-line); }
.elementor .dx-stat .elementor-counter{ display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.elementor .dx-stat .elementor-counter-number-wrapper{ order:1; }
.elementor .dx-stat .elementor-counter-title{ order:2; }
.elementor .dx-stat .elementor-counter-number-wrapper{ font-family: var(--dx-serif); font-weight:300; font-size: clamp(4rem, 7vw, 7.5rem); line-height:.9; color: var(--dx-white); justify-content:flex-start; }
.elementor .dx-stat .elementor-counter-number-suffix, .elementor .dx-stat .elementor-counter-number-prefix{ color: var(--dx-gold); font-style: italic; font-size:.55em; align-self:flex-start; padding-top:.15em; }
.elementor .dx-stat .elementor-counter-title{ font:600 12px/1.6 var(--dx-sans); letter-spacing:.22em; text-transform:uppercase; color: var(--dx-muted); text-align:left; }

/* ---------- Galleria ---------- */
.elementor .dx-gallery .elementor-widget-image{ overflow:hidden; position:relative; }
.elementor .dx-gallery .elementor-widget-image a{ display:block; height:100%; cursor: zoom-in; }
.elementor .dx-gallery .elementor-widget-image img{ width:100%; height:100%; object-fit:cover; transition: filter 1s var(--dx-ease); filter: saturate(.9); }
.elementor .dx-gallery .elementor-widget-image:hover img{ filter: saturate(1.08) brightness(1.04); }
.elementor .dx-gallery .elementor-widget-image::after{ content:""; position:absolute; inset:0; border:1px solid transparent; transition: border-color .6s var(--dx-ease), inset .6s var(--dx-ease); pointer-events:none; }
.elementor .dx-gallery .elementor-widget-image:hover::after{ border-color: var(--dx-line); inset:14px; }
.elementor .dx-g1{ grid-column: span 7; aspect-ratio: 7/6; }
.elementor .dx-g2{ grid-column: span 5; aspect-ratio: 5/6; }
.elementor .dx-g3{ grid-column: span 4; aspect-ratio: 4/5; }
.elementor .dx-g4{ grid-column: span 4; aspect-ratio: 4/5; margin-top: 12vh !important; }
.elementor .dx-g5{ grid-column: span 4; aspect-ratio: 4/5; }
.elementor .dx-g6{ grid-column: span 12; aspect-ratio: 21/8; }

/* ---------- FAQ (details/summary) ---------- */
.dx-faq{ border-top:1px solid var(--dx-line); }
.dx-faq details{ border-bottom:1px solid var(--dx-line-soft); }
.dx-faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:32px; padding: 30px 0;
  font-family: var(--dx-serif); font-size: clamp(1.3rem, 1.9vw, 1.85rem); line-height:1.3; color: var(--dx-white); font-weight:400; transition: color .35s var(--dx-ease); }
.dx-faq summary::-webkit-details-marker{ display:none; }
.dx-faq summary:hover{ color: var(--dx-gold-lt); }
.dx-faq__ico{ position:relative; width:40px; height:40px; border:1px solid var(--dx-line); border-radius:50%; flex:none; transition: transform .6s var(--dx-ease), background .4s var(--dx-ease); }
.dx-faq__ico::before, .dx-faq__ico::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:1px; background: var(--dx-gold); transform: translate(-50%,-50%); transition: transform .5s var(--dx-ease); }
.dx-faq__ico::after{ transform: translate(-50%,-50%) rotate(90deg); }
.dx-faq details[open] .dx-faq__ico{ background: var(--dx-gold); }
.dx-faq details[open] .dx-faq__ico::before, .dx-faq details[open] .dx-faq__ico::after{ background: var(--dx-navy-950); }
.dx-faq details[open] .dx-faq__ico::after{ transform: translate(-50%,-50%) rotate(0deg); }
.dx-faq__a{ padding: 0 72px 32px 0; font-size: 1.02rem; line-height:1.85; color: var(--dx-muted); max-width: 52em; }
.dx-bg-ivory .dx-faq summary{ color: var(--dx-navy-900); }
.dx-bg-ivory .dx-faq__a{ color: var(--dx-ink); }
.dx-bg-ivory .dx-faq details{ border-color: rgba(10,22,40,.1); }

/* ---------- Tabella comparativa ---------- */
.dx-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling: touch; }
.dx-table{ width:100%; min-width: 760px; border-collapse:collapse; font-family: var(--dx-sans); margin:0; }
.dx-table th, .dx-table td{ border:0; }
.dx-table tbody tr > *, .dx-table tbody tr:hover > *, .dx-table tbody > tr:nth-child(odd) > td, .dx-table tbody > tr:nth-child(odd) > th{ background-color: transparent; }
.dx-table th, .dx-table td{ text-align:left; padding: 24px 22px; border-bottom:1px solid var(--dx-line-soft); vertical-align:top; font-size: .97rem; line-height:1.6; }
.dx-table thead th{ font:600 11px/1.4 var(--dx-sans); letter-spacing:.24em; text-transform:uppercase; color: var(--dx-muted); border-bottom:1px solid var(--dx-line); }
.dx-table tbody th{ color: var(--dx-white); font-family: var(--dx-serif); font-weight:400; font-size: 1.3rem; width: 24%; }
.dx-table td{ color: var(--dx-muted); }
.dx-table tbody tr > .is-dx, .dx-table .is-dx{ background: linear-gradient(180deg, rgba(201,163,94,.12), rgba(201,163,94,.05)); color: var(--dx-white); border-left:1px solid var(--dx-line); border-right:1px solid var(--dx-line); }
.dx-table thead .is-dx{ color: var(--dx-gold); }
.dx-table td.is-dx::before{ content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background: var(--dx-gold); margin-right:12px; transform: translateY(-1px); }

/* ---------- Servizi: righe con reveal immagine ---------- */
.elementor .dx-srow{ position:relative; border-top:1px solid var(--dx-line-soft); cursor: default; }
.elementor .dx-srow:last-child{ border-bottom:1px solid var(--dx-line-soft); }
.elementor .dx-srow::before{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(201,163,94,.08), transparent 70%); opacity:0; transition: opacity .6s var(--dx-ease); z-index:-1; }
.elementor .dx-srow:hover::before{ opacity:1; }
.elementor .dx-srow .dx-srow__num .elementor-heading-title{ font-family: var(--dx-serif); font-style:italic; font-size: 1.25rem; color: var(--dx-gold); font-weight:400; }
.elementor .dx-srow .dx-srow__title .elementor-heading-title{ font-family: var(--dx-serif); font-weight:300; font-size: clamp(2rem, 3.6vw, 3.6rem); line-height:1.05; color: var(--dx-white); transition: transform .7s var(--dx-ease), color .5s var(--dx-ease); }
.elementor .dx-srow:hover .dx-srow__title .elementor-heading-title{ transform: translateX(18px); color: var(--dx-gold-lt); }
.elementor .dx-srow .dx-srow__text{ font-size: 1rem; line-height:1.8; color: var(--dx-muted); }
.elementor .dx-srow .dx-srow__tags .elementor-heading-title{ font:600 11px/1.8 var(--dx-sans); letter-spacing:.2em; text-transform:uppercase; color: rgba(201,163,94,.85); }
.elementor .dx-srow__img{ display:none !important; }
.dx-reveal-float{ position:fixed; left:0; top:0; width: 340px; aspect-ratio: 4/5; z-index: 60; pointer-events:none; overflow:hidden; opacity:0; transform: translate(-50%,-50%) scale(.8); border:1px solid var(--dx-line); }
.dx-reveal-float img{ width:100%; height:100%; object-fit:cover; }

/* ---------- Garanzie ---------- */
.elementor .dx-guard{ border:1px solid var(--dx-line); background: rgba(6,14,26,.4); backdrop-filter: blur(6px); }
.elementor .dx-guard .dx-guard__title .elementor-heading-title{ font-family: var(--dx-serif); font-size: 1.7rem; color: var(--dx-white); font-weight:400; }
.elementor .dx-note{ font-size: .82rem; line-height:1.7; color: rgba(174,184,200,.75); font-style: italic; }

/* ---------- Mappa ---------- */
.elementor .dx-map iframe{ filter: grayscale(1) invert(.92) hue-rotate(185deg) saturate(.6) brightness(.9) contrast(.95); display:block; }
.elementor .dx-map{ border:1px solid var(--dx-line); }

/* ---------- Modulo (Elementor Pro Form) ---------- */
.elementor .dx-formcard{ border:1px solid var(--dx-line); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)); }
.elementor .dx-form .elementor-field-group{ margin-bottom: 26px; }
.elementor .dx-form .elementor-field-group .elementor-field-label{ font:600 11px/1.4 var(--dx-sans); letter-spacing:.22em; text-transform:uppercase; color: var(--dx-gold); margin-bottom: 10px; padding:0; }
.elementor .dx-form .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.elementor .dx-form .elementor-field-group .elementor-select-wrapper select,
.elementor .dx-form .elementor-field-group textarea{
  background: transparent !important; border:0 !important; border-bottom:1px solid rgba(255,255,255,.22) !important; border-radius:0 !important;
  color: var(--dx-white) !important; font: 400 1.05rem/1.5 var(--dx-sans) !important; padding: 12px 0 !important; min-height:auto; box-shadow:none !important;
  transition: border-color .4s var(--dx-ease);
}
.elementor .dx-form .elementor-field-group .elementor-field:focus,
.elementor .dx-form .elementor-field-group select:focus,
.elementor .dx-form .elementor-field-group textarea:focus{ border-bottom-color: var(--dx-gold) !important; outline:none; }
.elementor .dx-form .elementor-field-group .elementor-field::placeholder{ color: rgba(174,184,200,.55); }
.elementor .dx-form .elementor-select-wrapper::before, .elementor .dx-form .select-caret-down-wrapper{ color: var(--dx-gold); fill: var(--dx-gold); font-size: 12px; }
.elementor .dx-form .elementor-select-wrapper select option{ background: var(--dx-navy-900); color: var(--dx-white); }
.elementor .dx-form .elementor-field-type-acceptance .elementor-field-option label,
.elementor .dx-form .elementor-field-type-acceptance label{ font-size:.85rem; line-height:1.6; color: var(--dx-muted); text-transform:none; letter-spacing:0; }
.elementor .dx-form .elementor-field-type-acceptance a{ color: var(--dx-gold); text-decoration: underline; text-underline-offset: 3px; }
.elementor .dx-form .elementor-field-type-acceptance input{ accent-color: var(--dx-gold); width:16px; height:16px; }
.elementor .dx-form .elementor-field-type-submit .elementor-button,
.elementor .dx-form .e-form__buttons .elementor-button{
  background: var(--dx-gold) !important; color: var(--dx-navy-950) !important; border:1px solid var(--dx-gold) !important; border-radius: var(--dx-radius) !important;
  font: 700 12px/1 var(--dx-sans) !important; letter-spacing:.22em !important; text-transform: uppercase; padding: 24px 36px !important; min-height: 64px;
  transition: background .5s var(--dx-ease), color .5s var(--dx-ease) !important;
}
.elementor .dx-form .elementor-field-type-submit .elementor-button:hover,
.elementor .dx-form .e-form__buttons .elementor-button:hover{ background: var(--dx-white) !important; border-color: var(--dx-white) !important; }
.elementor .dx-form .elementor-mark-required .elementor-field-label::after{ color: var(--dx-gold); padding-left:4px; }
.elementor .dx-form .elementor-message{ color: var(--dx-gold-lt); font-size: .95rem; margin-top: 18px; }
.elementor .dx-form .elementor-message.elementor-message-danger{ color: #E8A49C; }
.elementor .dx-form .elementor-field-group .elementor-field-textual.elementor-error{ border-bottom-color:#E8A49C !important; }

/* ---------- Header ---------- */
.dx-header{
  position:fixed; z-index: 999; left:0; right:0; top:0; height: var(--dx-header-h);
  transition: transform .7s var(--dx-ease), background-color .5s var(--dx-ease), height .5s var(--dx-ease), border-color .5s var(--dx-ease);
  border-bottom:1px solid transparent;
}
.admin-bar .dx-header{ top:32px; }
@media (max-width:782px){ .admin-bar .dx-header{ top:46px; } }
.dx-header.is-scrolled{ --dx-header-h: 76px; background: rgba(6,14,26,.78); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); border-bottom-color: var(--dx-line-soft); }
.dx-header.is-hidden{ transform: translateY(-110%); }
.dx-header__inner{ height:100%; max-width: 1440px; margin:0 auto; padding: 0 clamp(20px,4vw,48px); display:flex; align-items:center; justify-content:space-between; gap: 32px; }
.dx-logo{ display:inline-flex; align-items:center; gap:14px; color: var(--dx-white) !important; text-decoration:none; }
.dx-logo svg{ width:34px; height:34px; color: var(--dx-gold); flex:none; }
.dx-logo__txt{ display:flex; flex-direction:column; line-height:1; }
.dx-logo__word{ font-family: var(--dx-serif); font-weight:500; font-size: 25px; letter-spacing:.32em; }
.dx-logo__sub{ font: 600 8.5px/1 var(--dx-sans); letter-spacing:.62em; color: var(--dx-gold); margin-top:6px; padding-left:2px; }
.dx-nav{ display:flex; align-items:center; gap: clamp(22px, 2.6vw, 44px); }
.dx-nav a{ position:relative; font: 600 12px/1 var(--dx-sans); letter-spacing:.2em; text-transform:uppercase; color: rgba(255,255,255,.82) !important; text-decoration:none; padding: 10px 0; }
.dx-nav a::after{ content:""; position:absolute; left:0; bottom:2px; width:100%; height:1px; background: var(--dx-gold); transform: scaleX(0); transform-origin: right; transition: transform .6s var(--dx-ease); }
.dx-nav a:hover, .dx-nav a.is-active{ color: var(--dx-white) !important; }
.dx-nav a:hover::after, .dx-nav a.is-active::after{ transform: scaleX(1); transform-origin: left; }
.dx-header__cta{ display:flex; align-items:center; gap: 22px; }
.dx-header__phone{ font: 500 13px/1 var(--dx-sans); letter-spacing:.06em; color: rgba(255,255,255,.75) !important; text-decoration:none; }
.dx-header__phone:hover{ color: var(--dx-gold-lt) !important; }
.dx-pill{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:10px; padding: 15px 22px; border:1px solid var(--dx-gold); border-radius: var(--dx-radius);
  font: 700 11px/1 var(--dx-sans); letter-spacing:.2em; text-transform:uppercase; color: var(--dx-white) !important; text-decoration:none; isolation:isolate; transition: color .5s var(--dx-ease); }
.dx-pill::before{ content:""; position:absolute; inset:0; background: var(--dx-gold); z-index:-1; transform: scaleY(0); transform-origin: bottom; transition: transform .6s var(--dx-ease); }
.dx-pill:hover{ color: var(--dx-navy-950) !important; }
.dx-pill:hover::before{ transform: scaleY(1); transform-origin: top; }
button.dx-burger, .dx-burger{ display:none; position:relative; width:48px; height:48px; padding:0 !important; margin:0; border:1px solid var(--dx-line) !important; border-radius:50% !important; background: transparent !important; color: var(--dx-white) !important; cursor:pointer; box-shadow:none !important; }
.dx-burger span{ position:absolute; left:50%; top:50%; width:18px; height:1px; background: currentColor; transition: transform .6s var(--dx-ease); }
.dx-burger span:nth-child(1){ transform: translate(-50%, -4px); }
.dx-burger span:nth-child(2){ transform: translate(-50%, 4px); }
.dx-menu-open .dx-burger span:nth-child(1){ transform: translate(-50%, 0) rotate(45deg); }
.dx-menu-open .dx-burger span:nth-child(2){ transform: translate(-50%, 0) rotate(-45deg); }

/* menu overlay */
.dx-menu{ position:fixed; inset:0; z-index: 998; visibility:hidden; pointer-events:none; }
.dx-menu__bg{ position:absolute; inset:0; background: var(--dx-navy-950); transform: scaleY(0); transform-origin: top; transition: transform .9s var(--dx-ease-io); }
.dx-menu__in{ position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; padding: 120px clamp(24px,6vw,64px) 48px; gap: 56px; }
.dx-menu__nav{ display:flex; flex-direction:column; gap: 6px; }
.dx-menu__nav a{ display:flex; align-items:baseline; gap: 20px; overflow:hidden; font-family: var(--dx-serif); font-weight:300; font-size: clamp(2.8rem, 9vw, 5.2rem); line-height:1.08; color: var(--dx-white) !important; text-decoration:none; }
.dx-menu__nav a small{ font: 400 italic 15px/1 var(--dx-serif); color: var(--dx-gold); }
.dx-menu__nav a span{ display:inline-block; transform: translateY(110%); transition: transform .9s var(--dx-ease); }
.dx-menu__foot{ display:flex; flex-wrap:wrap; gap: 14px 40px; font: 500 14px/1.6 var(--dx-sans); color: var(--dx-muted); opacity:0; transform: translateY(20px); transition: opacity .8s var(--dx-ease), transform .8s var(--dx-ease); }
.dx-menu__foot a{ color: var(--dx-white) !important; text-decoration:none; }
.dx-menu-open .dx-menu{ visibility:visible; pointer-events:auto; }
.dx-menu-open .dx-menu__bg{ transform: scaleY(1); }
.dx-menu-open .dx-menu__nav a span{ transform: translateY(0); }
.dx-menu-open .dx-menu__nav a:nth-child(2) span{ transition-delay:.06s; }
.dx-menu-open .dx-menu__nav a:nth-child(3) span{ transition-delay:.12s; }
.dx-menu-open .dx-menu__nav a:nth-child(4) span{ transition-delay:.18s; }
.dx-menu-open .dx-menu__foot{ opacity:1; transform:none; transition-delay:.3s; }
.dx-menu-open .dx-header{ background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter:none; backdrop-filter:none; transform:none; }

/* progress, cursore, preloader */
.dx-progress{ position:fixed; left:0; top:0; height:2px; width:100%; z-index: 1001; pointer-events:none; }
.dx-progress span{ display:block; height:100%; background: linear-gradient(90deg, var(--dx-gold-dk), var(--dx-gold-lt)); transform: scaleX(0); transform-origin:left; }
.dx-cursor{ position:fixed; left:0; top:0; z-index: 1002; pointer-events:none; display:none; }
.dx-cursor__ring{ position:absolute; width:38px; height:38px; margin:-19px 0 0 -19px; border:1px solid rgba(201,163,94,.7); border-radius:50%; transition: width .45s var(--dx-ease), height .45s var(--dx-ease), margin .45s var(--dx-ease), background-color .45s var(--dx-ease), border-color .45s; }
.dx-cursor.is-hover .dx-cursor__ring{ width:74px; height:74px; margin:-37px 0 0 -37px; background: rgba(201,163,94,.12); border-color: transparent; }
@media (hover:hover) and (pointer:fine){ .dx-js .dx-cursor{ display:block; } }
.dx-preloader{ position:fixed; inset:0; z-index: 1003; background: var(--dx-navy-950); display:none; align-items:center; justify-content:center; flex-direction:column; gap: 28px; }
.dx-js .dx-preloader.is-on, .dx-js.dx-preload .dx-preloader{ display:flex; }
.dx-tr .dx-preloader__word span{ transform:none; }
.dx-tr .dx-preloader__bar i{ transform:none; }
.dx-tr .dx-preloader__sub{ opacity:1; }
.dx-preloader__word{ display:flex; overflow:hidden; font-family: var(--dx-serif); font-weight:400; font-size: clamp(2.4rem, 6vw, 4.4rem); letter-spacing:.34em; color: var(--dx-white); padding-left:.34em; }
.dx-preloader__word span{ display:inline-block; transform: translateY(110%); }
.dx-preloader__bar{ width: min(240px, 50vw); height:1px; background: var(--dx-line-soft); overflow:hidden; }
.dx-preloader__bar i{ display:block; height:100%; background: var(--dx-gold); transform: scaleX(0); transform-origin:left; }
.dx-preloader__sub{ font: 600 10px/1 var(--dx-sans); letter-spacing:.5em; text-transform:uppercase; color: var(--dx-gold); opacity:0; }

/* ---------- Footer ---------- */
.elementor .dx-footer{ overflow:hidden; }
.elementor .dx-footer .dx-ftitle .elementor-heading-title{ font:600 11px/1.4 var(--dx-sans); letter-spacing:.26em; text-transform:uppercase; color: var(--dx-gold); }
.elementor .dx-footer .dx-legal, .elementor .dx-footer .dx-legal a{ font-size: .8rem; line-height:1.7; color: rgba(174,184,200,.7); }
.elementor .dx-footer .dx-legal a:hover{ color: var(--dx-gold-lt); }
.elementor .dx-footer .dx-sep{ border-top:1px solid var(--dx-line-soft); }
.dx-mega{ display:flex; justify-content:space-between; width:100%; padding-bottom:.04em; font-family: var(--dx-serif); font-weight:300; line-height:.78; font-size: clamp(5rem, 21vw, 22rem); letter-spacing:-.02em; color: transparent; -webkit-text-stroke: 1px rgba(201,163,94,.35); user-select:none; overflow:hidden; padding-top:.06em; }
.dx-mega span{ display:inline-block; }
.dx-social{ display:flex; gap:12px; }
.dx-social a{ width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--dx-line); border-radius:50%; color: var(--dx-gold) !important; transition: background .4s var(--dx-ease), color .4s var(--dx-ease); }
.dx-social a:hover{ background: var(--dx-gold); color: var(--dx-navy-950) !important; }
.dx-social svg{ width:16px; height:16px; }

/* ---------- Stati iniziali animazioni (solo con JS attivo) ---------- */
.dx-js .dx-fade{ opacity:0; transform: translate3d(0,40px,0); }
.dx-js .dx-split{ opacity:0; }
.dx-js .dx-stagger:not(.e-con-boxed) > *, .dx-js .dx-stagger.e-con-boxed > .e-con-inner > *{ opacity:0; transform: translate3d(0,48px,0); }
.dx-js .dx-reveal-img{ clip-path: inset(100% 0 0 0); }
.dx-js .dx-line-draw{ transform: scaleX(0); transform-origin:left; }
.dx-split .dx-line-mask{ padding-bottom:.08em; margin-bottom:-.08em; }

/* GSAP guida i transform: niente transizioni CSS concorrenti */
.dx-js .dx-fade, .dx-js .dx-split, .dx-js .dx-stagger > *, .dx-js .dx-stagger > .e-con-inner > *, .elementor .dx-hscroll__track, .elementor .dx-step, .dx-js .dx-reveal-img, .dx-js .dx-parallax, .dx-js .dx-zoom-out{
  --e-con-transform-transition-duration: 0s; --e-transform-transition-duration: 0s;
}
/* Lenis */
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-stopped{ overflow:clip; }
.lenis.lenis-smooth iframe{ pointer-events:none; }
.dx-menu{ overscroll-behavior: contain; }
/* Pagine non Elementor (privacy, 404, ricerca) sotto l'header fisso */
body:not(.elementor-page) .site-main{ padding-top: calc(var(--dx-header-h) + 48px); padding-bottom: 96px; }
body:not(.elementor-page) .site-main h1, body:not(.elementor-page) .site-main h2{ color: var(--dx-white); }

/* ---------- Editor Elementor: niente fixed, niente stati nascosti ---------- */
.elementor-editor-active .dx-header{ position:relative; }
.elementor-editor-active .dx-preloader, .elementor-editor-active .dx-cursor, .elementor-editor-active .dx-progress{ display:none !important; }
.elementor-editor-active .elementor .dx-srow__img{ display:block !important; max-width:120px; }
.elementor-editor-active .elementor .dx-bg-media{ pointer-events:auto; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
  .dx-nav, .dx-header__phone{ display:none; }
  .elementor .dx-hide-tablet{ display:none !important; }
  .elementor .dx-overlap{ right:-6%; bottom:-8%; }
  .dx-burger, button.dx-burger{ display:inline-block; }
  .dx-pill{ padding: 13px 16px; }
  .elementor .dx-hscroll__track{ width:100% !important; overflow-x:auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 12px; }
  .elementor .dx-hscroll__track::-webkit-scrollbar{ height:2px; } .elementor .dx-hscroll__track::-webkit-scrollbar-thumb{ background: var(--dx-gold); }
  .elementor .dx-step{ scroll-snap-align: start; min-height: 360px; --width: 78vw; width:78vw !important; }
  .elementor .dx-checklist .elementor-icon-list-items{ column-gap: 32px; }
  .elementor .dx-g1, .elementor .dx-g2{ grid-column: span 6; aspect-ratio: 4/5; }
  .elementor .dx-g3, .elementor .dx-g4, .elementor .dx-g5{ grid-column: span 4; }
  .elementor .dx-g4{ margin-top:0 !important; }
  .dx-reveal-float{ display:none; }
}
@media (max-width: 767px){
  :root{ --dx-header-h: 78px; }
  .dx-header.is-scrolled{ --dx-header-h: 68px; }
  .dx-pill{ display:none; }
  .dx-logo__word{ font-size: 21px; }
  .elementor .dx-fact{ border-left:0; border-top:1px solid var(--dx-line-soft); }
  .elementor .dx-fact:first-child{ border-top:0; }
  .elementor .dx-checklist .elementor-icon-list-items{ grid-template-columns: 1fr; }
  .elementor .dx-g1, .elementor .dx-g2, .elementor .dx-g3, .elementor .dx-g4, .elementor .dx-g5, .elementor .dx-g6{ grid-column: span 12; aspect-ratio: 4/3; }
  .dx-faq__a{ padding-right: 0; }
  .dx-table th, .dx-table td{ padding: 18px 14px; }
  .elementor .dx-frame::after{ inset: 10px -10px -10px 10px; }
  .elementor .dx-step{ --width: 84vw; width:84vw !important; }
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}/* End custom CSS */