.elementor-2705 .elementor-element.elementor-element-55be96e{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-97b5e7f *//* MILLEPIANI COLLECTION — CSS COMPLETO */

/* Variabili e impostazioni generali */
.ml{
  --ml-serif:Georgia,'Times New Roman',serif;
  --ml-script:'Bodoni MT','Times New Roman',serif;
  --ml-sans:Arial,Helvetica,sans-serif;
  --ml-paper:#fff;
  --ml-ink:#171717;
  --ml-muted:#8c8c89;
  --ml-pad:clamp(20px,1.4vw,40px);
  --ml-ease:cubic-bezier(.22,1,.36,1);
  position:relative;
  isolation:isolate;
  width:100%;
  background:var(--ml-paper);
  color:var(--ml-ink);
  font-family:var(--ml-sans);
  font-size:14px;
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
}

.ml *,
.ml *::before,
.ml *::after{box-sizing:border-box}

.ml :where(h1,h2,h3,p,figure){margin:0;padding:0}

.ml :where(h1,h2,h3){
  font-family:var(--ml-serif);
  font-weight:400;
  font-style:normal;
  line-height:1;
  letter-spacing:-.035em;
  color:inherit;
}

.ml :where(a){color:inherit;text-decoration:none}

.ml :where(button){
  font:inherit;
  border:0;
  border-radius:0;
  background:none;
  color:inherit;
  cursor:pointer;
  padding:0;
}

.ml :where(img){
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  border-radius:0;
}

.ml :where(video){display:block}

.ml :where(a,button):focus-visible{
  outline:2px solid currentColor;
  outline-offset:6px;
}

.ml :where(section){position:relative;scroll-margin-top:60px}

.ml .ml-light{background:var(--ml-paper);color:var(--ml-ink)}
.ml .ml-dark{background:#080808;color:#fff}
.ml .ml-content{overflow:clip}

.ml .ml-script,
.ml .ml-dual-title em{
  font-family:var(--ml-script);
  font-size:1.36em;
  font-weight:400;
  font-style:italic;
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:none;
  display:block;
}

.ml .ml-body{
  font:400 clamp(13px,1vw,18px)/1.35 var(--ml-sans);
  letter-spacing:0;
}

.ml .ml-eyebrow{
  font:500 clamp(10px,.85vw,14px)/1.3 var(--ml-sans);
  letter-spacing:.025em;
  text-transform:uppercase;
}

.ml .ml-heading{font-size:clamp(30px,4.2vw,90px);line-height:1.02}

.ml .ml-statement{
  font-size:clamp(42px,6.25vw,130px);
  line-height:.99;
  letter-spacing:-.035em;
}

.ml .ml-editorial-copy{
  font:400 clamp(22px,2.08vw,42px)/1.15 var(--ml-serif);
  text-transform:uppercase;
}

.ml .ml-dual-title{
  font-size:clamp(42px,6.25vw,130px);
  line-height:1;
  position:relative;
  z-index:2;
}

.ml .ml-dual-title em{color:var(--ml-muted);white-space:nowrap}
.ml .ml-dual-title span{display:block;margin-top:.2em}

.ml .ml-image{overflow:hidden;position:relative}
.ml .ml-image>img{width:100%;height:100%;object-fit:cover}

.ml .ml-cover{position:absolute;inset:-8% 0;overflow:hidden}
.ml .ml-cover>img{width:100%;height:100%;object-fit:cover}

.ml .ml-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
}

.ml .ml-video:not([src]){display:none}

/* Hero */
.ml .ml-hero{height:100svh;min-height:480px}

.ml .ml-hero-sticky{
  height:100%;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.ml .ml-hero-art{
  position:absolute;
  inset:-10%;
  animation:ml-ribbon 22s ease-in-out infinite alternate;
}

.ml .ml-hero-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(1.6);
}

.ml .ml-hero-title{
  position:relative;
  text-align:center;
  font-size:clamp(33px,5.55vw,118px);
  line-height:1.02;
  font-weight:400;
  letter-spacing:-.025em;
}

.ml .ml-hero-title .ml-script{margin-bottom:.12em;font-size:1.45em}
.ml .ml-hero-title>span{display:block}

.ml .ml-scroll-down{
  position:absolute;
  bottom:24px;
  left:var(--ml-pad);
  width:36px;
  height:36px;
  border:1px solid #686864;
  border-radius:50%;
  display:grid;
  place-items:center;
  font:26px var(--ml-serif);
}

@keyframes ml-ribbon{
  from{transform:scale(1.02) rotate(-3deg)}
  to{transform:scale(1.14) rotate(4deg)}
}

/* Trittico e parte editoriale */
.ml .ml-about-intro{
  text-align:center;
  padding:120px var(--ml-pad) 65px;
  position:relative;
  z-index:2;
}

.ml .ml-about-intro .ml-eyebrow{margin-bottom:25px}
.ml .ml-triptych-scene{position:relative;margin-bottom:110px}

.ml .ml-triptych{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:60vw;
}

.ml .ml-triptych figure{flex:none;overflow:hidden}
.ml .ml-triptych-side{width:28.472%;aspect-ratio:300/410}
.ml .ml-triptych-center{width:41.667%;aspect-ratio:440/631;z-index:1}
.ml .ml-triptych img{width:100%;height:100%;object-fit:cover}

.ml .ml-about-editorial{
  position:relative;
  padding:0 var(--ml-pad) 120px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:end;
  column-gap:0;
}

.ml .ml-about-editorial .ml-statement{
  grid-column:1/10;
  grid-row:1;
  position:relative;
  z-index:3;
  margin-bottom:-2.4em;
  align-self:start;
}

.ml .ml-about-editorial .ml-statement em{
  font-size:1.4em;
  text-align:right;
  width:72%;
  margin-top:-.02em;
  color:var(--ml-muted);
}

.ml .ml-about-large{grid-column:7/13;grid-row:2;aspect-ratio:540/675}
.ml .ml-about-small{grid-column:1/4;grid-row:2;aspect-ratio:540/695}

/* Film */
.ml .ml-film{
  height:100svh;
  min-height:480px;
  overflow:hidden;
  display:grid;
  place-items:center;
}

.ml .ml-film:after{
  content:'';
  position:absolute;
  inset:0;
  background:#0003;
  pointer-events:none;
}

.ml .ml-film-copy{position:relative;z-index:1;text-align:center}
.ml .ml-film-copy p{margin-top:30px}

/* Sensation */
.ml .ml-sensation{padding:120px var(--ml-pad);overflow:hidden}

.ml .ml-sensation-ribbon{
  position:absolute;
  inset:0;
  width:100%;
  height:auto;
  opacity:.8;
}

.ml .ml-sensation .ml-statement{
  position:relative;
  z-index:2;
  color:#a4a4a0;
  margin-bottom:-1.4em;
}

.ml .ml-sensation-row{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:end;
  position:relative;
}

.ml .ml-sensation-row figure{grid-column:4/10;aspect-ratio:540/675}
.ml .ml-sensation-row p{grid-column:10/12;padding-left:20px;max-width:190px}

/* Sublime */
.ml .ml-sublime{
  height:100svh;
  min-height:480px;
  overflow:hidden;
  display:grid;
  place-items:center;
}

.ml .ml-sublime-copy{position:relative;text-align:center;z-index:1}
.ml .ml-sublime-copy h2{font-size:clamp(90px,17vw,310px);margin-top:30px}

.ml .ml-sublime .ml-cover:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(#0002,#0001);
}

/* Three worlds */
.ml .ml-worlds{padding-top:85px}

.ml .ml-worlds-ribbon{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  pointer-events:none;
}

.ml .ml-worlds-intro{
  position:relative;
  text-align:center;
  max-width:480px;
  width:33.333%;
  margin:auto;
}

.ml .ml-worlds-scene{height:500svh;margin-top:65px}

.ml .ml-worlds-sticky{
  height:100svh;
  position:sticky;
  top:0;
  overflow:hidden;
  perspective:1200px;
}

.ml .ml-worlds-title{
  position:absolute;
  left:0;
  top:13%;
  width:100%;
  text-align:center;
  font-size:clamp(50px,8vw,180px);
  z-index:2;
}

.ml .ml-worlds-title span{display:block;margin-top:.15em}
.ml .ml-worlds-pictures{position:absolute;inset:0}

.ml .ml-worlds-pictures figure{
  position:absolute;
  top:50%;
  left:20%;
  width:60%;
  height:52%;
  transform:translateY(-35%);
  overflow:hidden;
  transform-origin:center;
}

.ml .ml-worlds-pictures figure img{height:100%;object-fit:cover}

.ml .ml-worlds-pictures figcaption{
  position:absolute;
  bottom:24px;
  left:0;
  width:100%;
  text-align:center;
  font:clamp(26px,4vw,72px) var(--ml-serif);
  text-shadow:0 2px 20px #000;
}

.ml .ml-worlds-counter{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:95px;
  height:95px;
  z-index:3;
  display:grid;
  place-items:center;
  opacity:0;
}

.ml .ml-worlds-counter svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:rotate(-90deg);
  fill:none;
  stroke:#ffffff50;
  stroke-width:1;
}

.ml .ml-worlds-counter .ml-progress-circle{
  stroke:#fff;
  stroke-dasharray:1;
  stroke-dashoffset:1;
}

.ml .ml-worlds-caption{
  position:absolute;
  bottom:30px;
  left:0;
  width:100%;
  text-align:center;
  font:clamp(42px,7vw,120px)/1 var(--ml-serif);
  z-index:3;
  opacity:0;
}

/* Tenets */
.ml .ml-tenets{height:270svh}

.ml .ml-tenets-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  display:grid;
  place-items:center;
}

.ml .ml-tenets-background{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
}

.ml .ml-tenets-card{
  position:relative;
  background:white;
  color:#171717;
  width:33.333%;
  min-height:60%;
  aspect-ratio:.8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-direction:column;
  padding:20px;
  text-align:center;
  transform-origin:center;
}

.ml .ml-tenets-card h2{font-size:8vw;line-height:.9;letter-spacing:-.06em}
.ml .ml-tenets-card>img{width:34%;aspect-ratio:.72;object-fit:cover;margin:28px 0}
.ml .ml-tenets-card p{font-size:clamp(12px,.95vw,18px);max-width:90%}

/* Sequenza orizzontale */
.ml .ml-horizontal-sticky{position:relative;overflow:hidden}
.ml .ml-track{display:flex;flex-direction:column}
.ml .ml-panel{position:relative;background:#fff;flex-shrink:0}
.ml .ml-panel-photo>img{width:100%;height:100%;object-fit:cover}
.ml .ml-privacy>img,.ml .ml-cut>img{width:100%;height:100%;object-fit:cover}

.ml .ml-privacy .ml-dual-title{
  position:absolute;
  bottom:30px;
  left:var(--ml-pad);
  right:var(--ml-pad);
  text-align:center;
}

.ml .ml-privacy .ml-dual-title em{color:#fff}

.ml .ml-cut .ml-dual-title{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  white-space:nowrap;
}

.ml .ml-cut .ml-dual-title em{
  color:#fff;
  text-align:right;
  margin-top:-.15em;
  margin-left:.75em;
}

.ml .ml-cut>.ml-body{
  position:absolute;
  bottom:35px;
  left:50%;
  transform:translateX(-50%);
  max-width:480px;
  width:90%;
  text-align:center;
}

.ml .ml-private-images{display:flex;flex-direction:column;gap:10px}
.ml .ml-private-images img{height:100%;object-fit:cover}

@media(min-width:768px) and (min-height:500px){
  .ml.ml-motion .ml-horizontal{height:var(--ml-track-height,1600svh)}
  .ml.ml-motion .ml-horizontal-sticky{position:sticky;top:0;height:100svh}
  .ml.ml-motion .ml-track{flex-direction:row;width:max-content;height:100%;will-change:transform}
  .ml.ml-motion .ml-panel{height:100svh}

  .ml .ml-spaces{
    width:100vw;
    display:grid;
    grid-template-columns:repeat(12,1fr);
    align-items:center;
    padding:50px var(--ml-pad);
  }

  .ml .ml-spaces .ml-dual-title{
    grid-column:1/7;
    grid-row:1;
    align-self:center;
    transform:translateY(-190px);
  }

  .ml .ml-spaces-image{grid-column:4/10;grid-row:1;aspect-ratio:1.5}

  .ml .ml-spaces>.ml-body{
    grid-column:10/13;
    grid-row:1;
    max-width:200px;
    margin-left:25px;
    align-self:center;
    transform:translateY(120px);
  }

  .ml .ml-panel-photo{width:153.85svh}
  .ml .ml-panel-portrait{width:92.3svh}

  .ml .ml-iconic{
    width:66.667vw;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:center;
    padding:75px 8.333vw 0;
  }

  .ml .ml-iconic .ml-dual-title{text-align:center;font-size:5.6vw;margin-bottom:60px}
  .ml .ml-iconic>.ml-body{text-align:center;max-width:430px;margin-bottom:25px}
  .ml .ml-iconic figure{width:100%;height:27svh}

  .ml .ml-finesse{
    width:108.333vw;
    display:grid;
    grid-template-columns:75% 25%;
    align-items:end;
    padding:80px 3vw 5vw;
    column-gap:30px;
  }

  .ml .ml-finesse h3{position:absolute;top:18svh;left:5vw;font-size:7.1vw}
  .ml .ml-finesse-images{display:flex;gap:10px;align-items:end}
  .ml .ml-finesse-images figure{width:33.333%;aspect-ratio:264/360}
  .ml .ml-finesse>.ml-body{max-width:165px;padding-bottom:15px}

  .ml .ml-amenities{
    width:139.58vw;
    display:flex;
    align-items:center;
    gap:12vw;
    padding:6vw;
  }

  .ml .ml-amenities>.ml-editorial-copy{width:25vw;flex:none}
  .ml .ml-amenities-main{width:78vw;align-self:flex-end}
  .ml .ml-amenities-main h3{margin-bottom:35px}
  .ml .ml-amenities-images{display:flex;gap:10px}
  .ml .ml-amenities-images figure{width:50%;aspect-ratio:600/440}

  .ml .ml-service{
    width:91.667vw;
    display:grid;
    grid-template-columns:23% 37% 26%;
    gap:4%;
    align-items:end;
    padding:100px 4vw 50px;
  }

  .ml .ml-service h3{position:absolute;left:19%;top:10%;font-size:6.7vw}
  .ml .ml-service-left{height:30%;align-self:center;margin-top:18vh}
  .ml .ml-service-center{height:70%}
  .ml .ml-service-right .ml-body{max-width:170px;margin-bottom:60px}
  .ml .ml-service-right figure{aspect-ratio:1.25}

  .ml .ml-privacy{width:151.66svh;overflow:hidden}
  .ml .ml-discretion{width:98vw;display:flex;align-items:center;gap:10vw;padding:4vw}
  .ml .ml-discretion>.ml-editorial-copy{width:28vw;flex-shrink:0}
  .ml .ml-private-images{width:41.667vw;height:100%;transform:translateY(6%)}
  .ml .ml-private-images figure{height:40%;flex-shrink:0}
  .ml .ml-cut{width:100vw}
}

/* Selezione */
.ml .ml-selection{height:310svh}

.ml .ml-selection-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  perspective:1200px;
}

.ml .ml-selection-gallery{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
}

.ml .ml-selection-gallery img{
  position:absolute;
  width:25vw;
  height:48vh;
  object-fit:cover;
  top:22%;
  left:37.5%;
  backface-visibility:hidden;
}

.ml .ml-selection h2{
  position:absolute;
  bottom:45px;
  width:100%;
  text-align:center;
  font-size:clamp(60px,10vw,200px);
  z-index:2;
}

.ml .ml-selection h2>.ml-eyebrow{display:block;margin-top:30px}

.ml .ml-selection-copy{
  position:relative;
  margin-top:-100svh;
  height:310svh;
  pointer-events:none;
}

.ml .ml-selection-copy p{
  width:27%;
  position:absolute;
  top:35svh;
  left:16.667%;
  color:#aaa8a0;
}

.ml .ml-selection-copy p+p{
  left:auto;
  right:var(--ml-pad);
  top:auto;
  bottom:60px;
  width:32%;
}

/* Card finale e chiusura */
.ml .ml-feel{height:155svh}

.ml .ml-feel-sticky{
  position:sticky;
  top:0;
  height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.ml .ml-feel-background{position:absolute;inset:0;height:100%;object-fit:cover}

.ml .ml-feel-card{
  position:relative;
  background:#fff;
  color:#171717;
  width:33.333%;
  max-width:600px;
  aspect-ratio:.8;
  padding:25px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  text-align:center;
}

.ml .ml-feel-card h2{font-size:3vw;white-space:nowrap}
.ml .ml-feel-card .ml-script{font-size:2.5em;margin-bottom:15px}

.ml .ml-footer{
  min-height:100svh;
  padding:90px var(--ml-pad) 25px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 105%,#494a48 0,#080808 65%);
}

.ml .ml-footer-statement{
  text-align:center;
  font:400 clamp(30px,4.4vw,84px)/1.06 var(--ml-serif);
  position:relative;
}

.ml .ml-footer-statement em{font-size:1.5em;margin-top:.15em}

/* Reveal e fallback senza JavaScript */
.ml.ml-motion [data-ml-reveal]{
  opacity:0;
  transform:translate3d(0,36px,0);
  transition:opacity 1.1s var(--ml-ease),transform 1.35s var(--ml-ease);
}

.ml.ml-motion [data-ml-reveal].ml-seen{opacity:1;transform:translateZ(0)}
.ml:not(.ml-motion) .ml-worlds-scene{height:auto}
.ml:not(.ml-motion) .ml-worlds-sticky{height:auto;position:relative;padding:60px 20px}
.ml:not(.ml-motion) .ml-worlds-title{position:static;margin-bottom:50px}
.ml:not(.ml-motion) .ml-worlds-pictures{position:static;display:flex;gap:15px}

.ml:not(.ml-motion) .ml-worlds-pictures figure{
  position:relative;
  top:auto;
  left:auto;
  width:33.333%;
  height:50vh;
  transform:none;
}

.ml:not(.ml-motion) .ml-tenets{height:100svh}
.ml:not(.ml-motion) .ml-tenets-card{min-width:320px}
.ml:not(.ml-motion) .ml-selection-gallery img:nth-child(1){left:3%;transform:rotate(-12deg)}
.ml:not(.ml-motion) .ml-selection-gallery img:nth-child(2){left:20%;transform:rotate(8deg)}
.ml:not(.ml-motion) .ml-selection-gallery img:nth-child(4){left:58%;transform:rotate(-9deg)}
.ml:not(.ml-motion) .ml-selection-gallery img:nth-child(5){left:74%;transform:rotate(12deg)}

.ml:not(.ml-motion) .ml-panel{
  width:100%;
  min-height:70svh;
  height:auto;
  padding:60px var(--ml-pad);
}

.ml:not(.ml-motion) .ml-panel-photo,
.ml:not(.ml-motion) .ml-privacy,
.ml:not(.ml-motion) .ml-cut{height:100svh;padding:0}

.ml:not(.ml-motion) .ml-dual-title{
  position:relative;
  inset:auto;
  transform:none;
  margin:30px 0;
}

.ml:not(.ml-motion) .ml-panel .ml-body{
  position:relative;
  inset:auto;
  transform:none;
  max-width:500px;
  margin:30px auto;
}

.ml:not(.ml-motion) .ml-track figure img{max-height:75svh;object-fit:cover}

/* Mobile */
@media(max-width:767px),(max-height:499px){
  .ml .ml-hero{min-height:420px}
  .ml .ml-hero-title{font-size:8.7vw;padding:0 16px}
  .ml .ml-hero-title .ml-script{font-size:1.65em;margin-bottom:.18em}
  .ml .ml-hero-art{inset:-5% -45%}
  .ml .ml-scroll-down{bottom:22px}
  .ml .ml-heading{font-size:8.9vw;line-height:1.02}
  .ml .ml-eyebrow{font-size:10px}
  .ml .ml-body{font-size:13px;line-height:1.4}
  .ml .ml-statement{font-size:9.25vw;line-height:1.02}

  .ml .ml-about-intro{padding:95px 20px 60px}
  .ml .ml-about-intro .ml-eyebrow{margin-bottom:25px}
  .ml .ml-triptych-scene{height:145svh;margin-bottom:0}

  .ml .ml-triptych{
    position:sticky;
    top:12svh;
    height:75svh;
    min-height:0;
    width:100%;
    gap:10px;
  }

  .ml .ml-triptych-side{width:41.667vw;height:46svh;aspect-ratio:auto}
  .ml .ml-triptych-center{width:61.111vw;height:61.111svh;aspect-ratio:auto}

  .ml .ml-about-editorial{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:35px 0 80px;
    position:relative;
    z-index:3;
    background:white;
  }

  .ml .ml-about-editorial .ml-statement{
    grid-column:1/5;
    grid-row:1;
    padding:0 20px;
    margin-bottom:-1.5em;
    font-size:9.1vw;
  }

  .ml .ml-about-editorial .ml-statement em{width:91%;font-size:1.5em;margin-top:.13em}
  .ml .ml-about-large{grid-column:2/5;grid-row:2;aspect-ratio:.8}
  .ml .ml-about-small{grid-column:2/5;grid-row:3;margin-top:10px;aspect-ratio:540/695}

  .ml .ml-film{height:100svh;min-height:420px}
  .ml .ml-film-copy{padding:0 20px}
  .ml .ml-film-copy p{margin-top:25px}

  .ml .ml-sensation{padding:55px 0 80px}
  .ml .ml-sensation .ml-statement{padding-left:20px;font-size:9.4vw;margin-bottom:-.35em}

  .ml .ml-sensation-ribbon{
    width:185%;
    max-width:none;
    left:-45%;
    height:100%;
    object-fit:cover;
  }

  .ml .ml-sensation-row{grid-template-columns:repeat(4,1fr)}
  .ml .ml-sensation-row figure{grid-column:2/5;grid-row:1}
  .ml .ml-sensation-row p{grid-column:2/4;grid-row:2;max-width:none;padding:20px 0 0}

  .ml .ml-sublime{min-height:420px}
  .ml .ml-sublime-copy{padding:0 15px}
  .ml .ml-sublime-copy h2{font-size:27vw;margin-top:30px}

  .ml .ml-worlds{padding-top:90px}
  .ml .ml-worlds-intro{width:auto;padding:0 25px;max-width:430px}
  .ml .ml-worlds-scene{height:500svh;margin-top:35px}
  .ml .ml-worlds-title{font-size:15vw;top:15%}
  .ml .ml-worlds-pictures figure{width:80%;left:10%;height:42%;top:50%}
  .ml .ml-worlds-counter{width:72px;height:72px}
  .ml .ml-worlds-caption{font-size:11vw;bottom:40px}
  .ml .ml-worlds-pictures figcaption{font-size:28px}

  .ml .ml-tenets{height:170svh}

  .ml .ml-tenets-card{
    width:calc(100% - 40px);
    min-height:0;
    aspect-ratio:.889;
    max-height:75svh;
    padding:20px;
  }

  .ml .ml-tenets-card h2{font-size:17vw}
  .ml .ml-tenets-card>img{display:none}
  .ml .ml-tenets-card p{max-width:100%;font-size:13px}

  .ml .ml-horizontal-sticky{overflow:hidden}
  .ml .ml-track{display:flex;flex-direction:column;transform:none!important}
  .ml .ml-panel{width:100%;height:auto}
  .ml .ml-dual-title{font-size:10vw;text-align:center}
  .ml .ml-dual-title em{font-size:1.5em;white-space:normal}
  .ml .ml-dual-title span{margin-top:.25em}

  .ml .ml-spaces{padding:70px 20px 45px}
  .ml .ml-spaces h3{margin-bottom:45px}
  .ml .ml-spaces-image{aspect-ratio:16/9}
  .ml .ml-spaces>.ml-body{margin-top:20px}

  .ml .ml-panel-photo{height:100svh;min-height:420px}

  .ml .ml-iconic{padding:70px 20px 0}
  .ml .ml-iconic .ml-dual-title{margin-bottom:40px}
  .ml .ml-iconic>.ml-body{text-align:center;margin-bottom:25px}
  .ml .ml-iconic figure{aspect-ratio:2}

  .ml .ml-finesse{padding:65px 20px 40px}
  .ml .ml-finesse h3{margin-bottom:40px;font-size:9vw}

  .ml .ml-finesse-images{
    display:flex;
    gap:10px;
    width:calc(100% + 80px);
    margin-left:-40px;
  }

  .ml .ml-finesse-images figure{width:33.333%;aspect-ratio:264/360}
  .ml .ml-finesse-images figure:first-child,
  .ml .ml-finesse-images figure:last-child{margin-top:40px}
  .ml .ml-finesse>.ml-body{margin-top:25px}

  .ml .ml-amenities{padding:30px 20px 0}
  .ml .ml-amenities>.ml-editorial-copy{margin-bottom:75px;font-size:6.1vw}
  .ml .ml-amenities h3{margin-bottom:45px}
  .ml .ml-amenities-images{display:flex;gap:10px;margin-inline:-20px}
  .ml .ml-amenities-images figure{width:50%;aspect-ratio:600/440}

  .ml .ml-service{padding:70px 0 55px;display:flex;flex-direction:column}
  .ml .ml-service h3{margin-bottom:-.25em;z-index:3}

  .ml .ml-service-left{
    order:2;
    width:calc(50% - 40px);
    margin-left:calc(50% + 20px);
    margin-top:-20px;
    aspect-ratio:.8;
  }

  .ml .ml-service-center{order:1;width:50%;margin-left:25%;aspect-ratio:.8}
  .ml .ml-service-right{display:contents}

  .ml .ml-service-right>.ml-body{
    order:4;
    padding:25px 20px 0;
    max-width:310px;
    margin-left:auto;
  }

  .ml .ml-service-right>figure{
    order:3;
    width:calc(50% - 40px);
    margin-left:20px;
    margin-top:-40px;
    aspect-ratio:1.1;
  }

  .ml .ml-privacy{height:100svh;min-height:420px}
  .ml .ml-privacy h3{bottom:35px}

  .ml .ml-discretion{padding:30px 20px 50px}
  .ml .ml-discretion>.ml-editorial-copy{font-size:6.2vw;line-height:1.2;margin-bottom:35px}

  .ml .ml-private-images{
    flex-direction:row;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:10px;
    margin:0 -20px;
    padding:0 20px 15px;
    scrollbar-width:thin;
  }

  .ml .ml-private-images figure{
    width:80vw;
    flex-shrink:0;
    scroll-snap-align:center;
    aspect-ratio:1.5;
  }

  .ml .ml-cut{height:100svh;min-height:420px}
  .ml .ml-cut h3{font-size:17vw}
  .ml .ml-cut>.ml-body{bottom:35px}

  .ml .ml-selection{height:300svh}
  .ml .ml-selection-copy{height:300svh}
  .ml .ml-selection-copy p{top:65px;left:20px;width:calc(100% - 40px);font-size:6.1vw}
  .ml .ml-selection-copy p+p{width:calc(100% - 40px);right:20px;top:auto;bottom:50px}
  .ml .ml-selection h2{font-size:16vw;bottom:50px}
  .ml .ml-selection-gallery img{width:54vw;height:40svh;top:27%;left:23%}

  .ml .ml-feel{height:140svh}

  .ml .ml-feel-card{
    width:calc(100% - 40px);
    max-width:420px;
    max-height:75svh;
    aspect-ratio:.889;
    padding:25px;
  }

  .ml .ml-feel-card h2{font-size:8vw}
  .ml .ml-footer{min-height:90svh;padding:80px 20px 20px}
  .ml .ml-footer-statement{font-size:8.5vw}

  .ml:not(.ml-motion) .ml-triptych-scene{height:85svh}
  .ml:not(.ml-motion) .ml-worlds-pictures{flex-direction:column}
  .ml:not(.ml-motion) .ml-worlds-pictures figure{width:100%;height:60svh}
  .ml:not(.ml-motion) .ml-tenets-card{min-width:0}
}

/* Preferenza movimento ridotto */
@media(prefers-reduced-motion:reduce){
  .ml *,
  .ml *::before,
  .ml *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }

  .ml [data-ml-reveal]{opacity:1!important;transform:none!important}
  .ml .ml-hero-art{transform:none}
  .ml .ml-triptych-scene{height:auto;margin-bottom:50px}
  .ml .ml-triptych{position:relative;top:0}
  .ml .ml-selection{height:180svh}
  .ml .ml-selection-copy{height:180svh}
  .ml .ml-selection-copy p{top:20svh}
  .ml .ml-selection-copy p+p{top:auto;bottom:50px}
  .ml .ml-feel{height:100svh}
}

/* Animazione dei caratteri */
.ml .ml-word{display:inline-block;white-space:nowrap}
.ml .ml-char{display:inline-block}

.ml.ml-motion [data-ml-reveal] .ml-char{
  opacity:0;
  transform:translate3d(0,.65em,0) rotate(3deg);
  transition:opacity .9s var(--ml-ease),transform 1.15s var(--ml-ease);
  transition-delay:var(--ml-delay,0ms);
}

.ml.ml-motion [data-ml-reveal].ml-seen .ml-char{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .ml .ml-char{opacity:1!important;transform:none!important}
}

/* Impaginazione statica */
.ml:not(.ml-motion) .ml-track .ml-panel{display:block;overflow:hidden}

.ml:not(.ml-motion) .ml-track .ml-dual-title{
  position:relative;
  inset:auto;
  transform:none;
  margin:30px auto;
  text-align:center;
}

.ml:not(.ml-motion) .ml-track .ml-panel .ml-body{
  position:relative;
  inset:auto;
  transform:none;
  max-width:520px;
  margin:25px auto;
}

.ml:not(.ml-motion) .ml-track .ml-panel-photo,
.ml:not(.ml-motion) .ml-track .ml-privacy,
.ml:not(.ml-motion) .ml-track .ml-cut{
  height:100svh;
  min-height:500px;
  padding:0;
}

.ml:not(.ml-motion) .ml-track .ml-privacy h3,
.ml:not(.ml-motion) .ml-track .ml-cut h3{
  position:absolute;
  inset:35% 0 auto;
  color:white;
}

.ml:not(.ml-motion) .ml-track .ml-cut>.ml-body{
  position:absolute;
  bottom:30px;
  left:10%;
  width:80%;
  max-width:none;
}

.ml:not(.ml-motion) .ml-track .ml-editorial-copy{
  width:auto;
  max-width:650px;
  margin:30px auto;
}

.ml:not(.ml-motion) .ml-track .ml-service figure{
  display:inline-block;
  width:30%;
  height:300px;
  margin:20px 1%;
}

.ml:not(.ml-motion) .ml-track .ml-service-right{display:contents}
.ml:not(.ml-motion) .ml-track .ml-amenities-main{width:auto}

.ml:not(.ml-motion) .ml-track .ml-private-images{
  width:100%;
  height:auto;
  transform:none;
  flex-direction:row;
}

.ml:not(.ml-motion) .ml-track .ml-private-images figure{width:33.333%;height:auto}
.ml:not(.ml-motion) .ml-track .ml-spaces-image{max-width:850px;margin:auto}

@media(max-width:767px){
  .ml .ml-finesse h3{font-size:8.2vw}
  .ml .ml-privacy .ml-dual-title{font-size:9vw}
}

.ml .ml-feel-card{justify-content:flex-end}
.ml .ml-footer{justify-content:center}

/* Integrazione Elementor */
.ml-page-host,
.ml-page-host > .e-con-inner,
.ml-page-host > .elementor-container,
.ml-page-host .elementor-column,
.ml-page-host .elementor-widget-wrap,
.ml-page-host .elementor-widget-html,
.ml-page-host .elementor-widget-shortcode,
.ml-page-host .elementor-widget-html > .elementor-widget-container,
.ml-page-host .elementor-widget-shortcode > .elementor-widget-container{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

.ml-page-host,
.ml-page-host .elementor-widget-html,
.ml-page-host .elementor-widget-shortcode{
  position:relative!important;
  inset:auto!important;
  flex-shrink:0!important;
}

#ml-collection,
#ml-collection > .ml-content{
  position:relative;
  display:flow-root;
  height:auto!important;
  min-height:0;
  max-height:none!important;
}

/* VERSIONE 2 — zoom centrale */
.ml.ml-v2.ml-motion .ml-triptych-scene{height:220svh;margin-bottom:0}

.ml.ml-v2.ml-motion .ml-triptych{
  position:sticky;
  top:0;
  height:100svh;
  min-height:0;
  overflow:hidden;
}

.ml.ml-v2.ml-motion .ml-triptych-center{
  width:40%;
  height:72svh;
  aspect-ratio:auto;
  flex-shrink:0;
  transform-origin:center;
}

.ml.ml-v2.ml-motion .ml-triptych-side{height:56svh;aspect-ratio:auto}

/* Parallasse Sublime */
.ml.ml-v2 .ml-sublime .ml-cover{inset:-30% 0;will-change:transform}
.ml.ml-v2 .ml-sublime-copy{will-change:transform}

/* Centratura indipendente dalle animazioni di ingresso */
.ml.ml-v2 .ml-cut .ml-dual-title{
  inset:0;
  width:100%;
  margin:0;
  padding:8svh 20px 18svh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:none!important;
}

.ml.ml-v2 .ml-cut .ml-dual-title span{margin:0}
.ml.ml-v2 .ml-cut .ml-dual-title em{margin:0;text-align:center}

.ml.ml-v2 .ml-cut>.ml-body{
  left:0;
  right:0;
  bottom:6svh;
  width:min(86%,480px);
  margin:0 auto;
  text-align:center;
  transform:none!important;
  z-index:2;
}

/* Anello tridimensionale */
.ml.ml-v2.ml-motion .ml-selection{height:360svh}
.ml.ml-v2.ml-motion .ml-selection-sticky{perspective:none}

.ml.ml-v2 .ml-selection-gallery{
  perspective:1600px;
  perspective-origin:50% 45%;
}

.ml.ml-v2 .ml-ring{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
}

.ml.ml-v2.ml-motion .ml-selection-gallery img{
  left:50%;
  top:44%;
  width:34vw;
  height:42svh;
  max-height:none;
  object-fit:cover;
  backface-visibility:visible;
  transform-origin:center;
}

.ml.ml-v2.ml-motion .ml-selection h2{
  bottom:5svh;
  font-size:clamp(54px,7vw,140px);
  line-height:1;
  margin:0;
}

.ml.ml-v2 .ml-selection h2>.ml-eyebrow{margin-top:2svh}

.ml.ml-v2.ml-motion .ml-selection-copy{
  position:absolute;
  inset:0;
  margin:0;
  height:100%;
  z-index:3;
  pointer-events:none;
}

.ml.ml-v2.ml-motion .ml-selection-copy p{
  top:7svh;
  left:16.667%;
  width:32%;
  margin:0;
  font-size:clamp(18px,min(2.1vw,3.3svh),38px);
  line-height:1.15;
  transition:none;
  transform:none;
  opacity:0;
}

.ml.ml-v2.ml-motion .ml-selection-copy p+p{
  top:auto;
  bottom:8svh;
  left:auto;
  right:8%;
  width:38%;
}

/* Nastro verticale */
.ml.ml-v2 .ml-private-window{position:relative;overflow:hidden}

.ml.ml-v2.ml-motion .ml-private-images{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
  padding:0;
  width:100%;
  height:auto;
  overflow:visible;
  scroll-snap-type:none;
  will-change:transform;
}

.ml.ml-v2.ml-motion .ml-private-images figure{
  width:100%;
  height:42svh;
  flex:0 0 42svh;
  aspect-ratio:auto;
  margin:0;
}

.ml.ml-v2 .ml-private-images img{width:100%;height:100%;object-fit:cover}

/* Immagini editoriali ridimensionate — desktop */
@media(min-width:768px) and (min-height:500px){
  .ml.ml-v2 .ml-spaces{padding:7svh 4vw}

  .ml.ml-v2 .ml-spaces .ml-dual-title{
    align-self:start;
    transform:none;
    font-size:min(6.25vw,10svh);
  }

  .ml.ml-v2 .ml-spaces-image{height:42svh;width:100%;aspect-ratio:auto}
  .ml.ml-v2 .ml-spaces>.ml-body{transform:translateY(9svh)}

  .ml.ml-v2 .ml-iconic{padding:8svh 6vw}
  .ml.ml-v2 .ml-iconic .ml-dual-title{font-size:min(5.6vw,9svh);margin-bottom:5svh}
  .ml.ml-v2 .ml-iconic figure{height:24svh;flex-shrink:0}

  .ml.ml-v2 .ml-finesse{
    width:100vw;
    padding:7svh 4vw;
    grid-template-columns:minmax(0,1fr) 18%;
    gap:3vw;
  }

  .ml.ml-v2 .ml-finesse h3{top:8svh;left:4vw;font-size:min(6vw,10svh)}
  .ml.ml-v2 .ml-finesse-images{justify-content:center;gap:1vw}

  .ml.ml-v2 .ml-finesse-images figure{
    width:min(30%,24svh);
    height:34svh;
    aspect-ratio:auto;
  }

  .ml.ml-v2 .ml-amenities{width:115vw;gap:7vw;padding:7svh 4vw}
  .ml.ml-v2 .ml-amenities-main{width:60vw;align-self:center}
  .ml.ml-v2 .ml-amenities-main h3{font-size:min(6vw,10svh);margin-bottom:5svh}
  .ml.ml-v2 .ml-amenities-images figure{height:30svh;aspect-ratio:auto}

  .ml.ml-v2 .ml-service{
    padding:7svh 4vw;
    grid-template-columns:20% 34% 26%;
    justify-content:center;
    gap:5%;
  }

  .ml.ml-v2 .ml-service h3{top:8svh;font-size:min(6vw,10svh)}
  .ml.ml-v2 .ml-service-left{height:24svh;margin-top:20svh}
  .ml.ml-v2 .ml-service-center{height:42svh}
  .ml.ml-v2 .ml-service-right figure{height:20svh;aspect-ratio:auto}
  .ml.ml-v2 .ml-service-right .ml-body{margin-bottom:4svh}

  .ml.ml-v2 .ml-discretion{padding:0 4vw;gap:8vw}
  .ml.ml-v2 .ml-private-window{width:46vw;height:100svh;flex:none}
}

/* Versione 2 — mobile */
@media(max-width:767px),(max-height:499px){
  .ml.ml-v2.ml-motion .ml-triptych-scene{height:180svh}
  .ml.ml-v2.ml-motion .ml-triptych-center{width:61%;height:62svh}
  .ml.ml-v2.ml-motion .ml-triptych-side{height:44svh}

  .ml.ml-v2.ml-motion .ml-selection{height:340svh}
  .ml.ml-v2.ml-motion .ml-selection-gallery img{width:64vw;height:32svh;top:46%}
  .ml.ml-v2.ml-motion .ml-selection h2{font-size:13vw;bottom:9svh}

  .ml.ml-v2.ml-motion .ml-selection-copy p{
    left:6%;
    top:8svh;
    width:88%;
    font-size:clamp(16px,min(5vw,2.8svh),24px);
  }

  .ml.ml-v2.ml-motion .ml-selection-copy p+p{
    left:6%;
    right:auto;
    bottom:12svh;
    width:88%;
  }

  .ml.ml-v2 .ml-private-window{width:100%;height:65svh}
  .ml.ml-v2.ml-motion .ml-private-images figure{height:34svh;flex-basis:34svh}

  .ml.ml-v2 .ml-finesse-images{width:100%;margin:0;gap:8px}
  .ml.ml-v2 .ml-finesse-images figure{width:calc((100% - 16px)/3)}
}

/* Versione 2 — movimento ridotto */
.ml.ml-v2:not(.ml-motion) .ml-selection{height:auto;padding:60px 20px}

.ml.ml-v2:not(.ml-motion) .ml-selection-sticky{
  position:relative;
  height:auto;
  overflow:visible;
}

.ml.ml-v2:not(.ml-motion) .ml-selection-gallery{position:relative;perspective:none}

.ml.ml-v2:not(.ml-motion) .ml-ring{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.ml.ml-v2:not(.ml-motion) .ml-ring img{
  position:static;
  width:100%;
  height:30svh;
  transform:none;
}

.ml.ml-v2:not(.ml-motion) [data-ml-clone]{display:none}

.ml.ml-v2:not(.ml-motion) .ml-selection h2{
  position:static;
  margin:40px 0;
  font-size:12vw;
}

.ml.ml-v2:not(.ml-motion) .ml-selection-copy{position:static;height:auto;margin:0}
.ml.ml-v2:not(.ml-motion) .ml-selection-copy p{position:static;width:100%;margin:30px 0}
.ml.ml-v2:not(.ml-motion) .ml-private-window{height:auto}
.ml.ml-v2:not(.ml-motion) .ml-private-images{display:block}
.ml.ml-v2:not(.ml-motion) .ml-private-images figure{width:100%;height:auto}/* End custom CSS */