/* ============================================================
   SACHA MARI — sachamari.com
   Street-luxe femminile · Milano — Paris
   Design: dark-first, pellicola '90, velluto + filo elettrico
   ============================================================ */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:'Marcellus';src:url('../assets/fonts/marcellus-latin.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Marcellus';src:url('../assets/fonts/marcellus-latin-ext.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-300-latin.woff2') format('woff2');font-weight:300;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-300-latin-ext.woff2') format('woff2');font-weight:300;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-300-cyrillic.woff2') format('woff2');font-weight:300;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-400-latin.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-400-latin-ext.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-400-cyrillic.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-400i-latin.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-500-latin.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-500-latin-ext.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';src:url('../assets/fonts/jost-500-cyrillic.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

/* ---------- Tokens ---------- */
:root{
  --nero:#0A0A0B;
  --nero-2:#111113;
  --nero-3:#18181B;
  --panna:#EFE7D2;
  --panna-dim:rgba(239,231,210,.62);
  --panna-faint:rgba(239,231,210,.28);
  --linea:rgba(239,231,210,.14);
  --rosa:#FF0F9D;
  --azzurro:#3FB0FF;
  --giallo:#F0FF3D;
  --verde:#4DE87C;
  --bianco:#FFFFFF;
  --display:'Marcellus','Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --pad:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.22,1,.36,1);
}
html[lang="ja"]{--display:'Marcellus','Hiragino Mincho ProN','Yu Mincho','Noto Serif JP',serif;--sans:'Jost','Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',sans-serif;}
html[lang="ru"]{--display:Georgia,'Times New Roman',serif;}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--nero);
  color:var(--panna);
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.65;
  overflow-x:clip; /* clip (non hidden): nasconde l'overflow SENZA rompere position:sticky della vetrina */
  -webkit-font-smoothing:antialiased;
}
html{overflow-x:clip;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
::selection{background:var(--rosa);color:var(--nero);}

/* ---------- Grana pellicola ---------- */
.grain{
  position:fixed;inset:-100px;z-index:9000;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");
  animation:grain 900ms steps(4) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}25%{transform:translate(-40px,30px)}
  50%{transform:translate(30px,-45px)}75%{transform:translate(-25px,-20px)}100%{transform:translate(0,0)}
}

/* ---------- Preloader ---------- */
#loader{
  position:fixed;inset:0;z-index:9999;background:var(--nero);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .8s var(--ease),visibility .8s;
}
#loader.done{opacity:0;visibility:hidden;}
#loader svg{width:min(64vw,340px);overflow:visible;}
#loader .box{
  fill:none;stroke:var(--panna);stroke-width:3;
  stroke-dasharray:1720;stroke-dashoffset:1720;
  animation:draw 1.6s var(--ease) forwards;
}
#loader text{
  font-family:var(--display);font-size:56px;letter-spacing:10px;
  fill:var(--panna);opacity:0;animation:fadeup 1s .7s var(--ease) forwards;
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Wordmark ---------- */
.wordmark{
  display:inline-block;
  font-family:var(--display);
  letter-spacing:.32em;
  text-indent:.32em; /* compensa l'ultimo letter-spacing per centrare */
  border:2px solid currentColor;
  padding:.5em .9em .42em 1.05em;
  line-height:1;
  white-space:nowrap;
}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px var(--pad);
  transition:background .5s,backdrop-filter .5s,padding .5s,border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.solid{
  background:rgba(10,10,11,.72);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom-color:var(--linea);
  padding-top:10px;padding-bottom:10px;
}
.nav .brand .wordmark{font-size:13px;border-width:1.5px;transition:color .3s;}
.nav .brand:hover .wordmark{color:var(--rosa);}
.nav-right{display:flex;align-items:center;gap:22px;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--panna-dim);
  transition:color .3s;position:relative;padding:4px 0;
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--panna);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease);
}
.nav-links a:hover{color:var(--panna);}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left;}

/* lang switcher */
.lang{position:relative;}
.lang-btn{
  display:flex;align-items:center;gap:7px;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--panna-dim);padding:6px 2px;transition:color .3s;
}
.lang-btn:hover{color:var(--panna);}
.lang-btn .globe{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;}
.lang-menu{
  position:absolute;top:calc(100% + 10px);right:0;min-width:150px;
  background:rgba(14,14,16,.96);border:1px solid var(--linea);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:all .35s var(--ease);
  padding:6px 0;z-index:1001;
}
.lang.open .lang-menu{opacity:1;visibility:visible;transform:none;}
.lang-menu button{
  display:flex;width:100%;align-items:center;gap:10px;
  padding:9px 18px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--panna-dim);transition:all .25s;text-align:left;
}
.lang-menu button:hover{color:var(--panna);background:rgba(239,231,210,.05);}
.lang-menu button.active{color:var(--rosa);}
.lang-menu .code{font-weight:500;width:22px;}

/* burger */
.burger{display:none;flex-direction:column;gap:5px;padding:8px 0;z-index:1102;}
.burger span{display:block;width:26px;height:1.5px;background:var(--panna);transition:transform .4s var(--ease),opacity .3s;}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* mobile menu — full screen, musa sullo sfondo, voci in basso
   z-index 990 < nav 1000: la barra (brand + X) resta sopra e cliccabile */
.mmenu{
  position:fixed;inset:0;z-index:990;background:var(--nero);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:90px 26px calc(30px + env(safe-area-inset-bottom));
  overflow:hidden;
  opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s;
}
.mmenu.open{opacity:1;visibility:visible;}
.mmenu::before{
  content:'';position:absolute;inset:0;
  background:url('../assets/img/musa.webp') center 12%/cover no-repeat;
  opacity:.5;transform:scale(1.08);transition:transform 6s var(--ease);
}
.mmenu.open::before{transform:scale(1);}
.mmenu::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,10,11,.5) 0%,rgba(10,10,11,.72) 50%,rgba(10,10,11,.97) 100%);
}
.mmenu>*{position:relative;z-index:2;}
.mm-links{display:flex;flex-direction:column;}
.mm-link{
  display:flex;align-items:baseline;gap:16px;
  padding:16px 2px;border-bottom:1px solid rgba(239,231,210,.16);
  font-family:var(--display);font-size:clamp(25px,6.8vw,34px);letter-spacing:.05em;color:var(--panna);
  opacity:0;transform:translateY(26px);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
}
.mm-link:first-child{border-top:1px solid rgba(239,231,210,.16);}
.mm-link .num{font-family:var(--sans);font-size:10px;letter-spacing:.3em;color:var(--rosa);}
.mm-link:active{color:var(--rosa);}
.mmenu.open .mm-link{opacity:1;transform:none;}
.mmenu.open .mm-link:nth-child(1){transition-delay:.10s}
.mmenu.open .mm-link:nth-child(2){transition-delay:.18s}
.mmenu.open .mm-link:nth-child(3){transition-delay:.26s}
.mmenu.open .mm-link:nth-child(4){transition-delay:.34s}
.mm-label{
  font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--panna-faint);
  margin:28px 0 12px;opacity:0;transition:opacity .5s .35s;
}
.mmenu.open .mm-label{opacity:1;}
.mlangs{display:flex;flex-wrap:wrap;gap:8px;opacity:0;transition:opacity .5s .4s;}
.mmenu.open .mlangs{opacity:1;}
.mlangs button{
  font-size:10.5px;letter-spacing:.2em;padding:9px 13px;color:var(--panna-dim);
  border:1px solid rgba(239,231,210,.22);text-transform:uppercase;transition:all .3s;
  background:rgba(10,10,11,.35);
}
.mlangs button.active{color:var(--nero);background:var(--panna);border-color:var(--panna);}
.mm-foot{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:30px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--panna-faint);opacity:0;transition:opacity .5s .48s;
}
.mmenu.open .mm-foot{opacity:1;}
.mm-foot a{color:var(--panna);border-bottom:1px solid rgba(239,231,210,.3);padding-bottom:2px;}

/* ---------- Hero ---------- */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;}
.hero-slides{position:absolute;inset:0;}
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 2.2s ease;
  background-size:cover;background-position:center 22%;
  transform:scale(1.02);
}
.hero-slide.on{opacity:1;animation:kenburns 13s ease-out forwards;}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1.02)}}
.hero-shade{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(10,10,11,.92) 0%,rgba(10,10,11,.35) 34%,rgba(10,10,11,.08) 60%,rgba(10,10,11,.42) 100%);
}
/* lampo di temporale lontano: luce fredda dall'alto, blend screen = realistico */
.flash{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:
    radial-gradient(ellipse 130% 75% at 68% -5%,rgba(214,226,255,.6),transparent 58%),
    linear-gradient(to bottom,rgba(190,208,255,.28),transparent 62%);
  mix-blend-mode:screen;will-change:opacity;
}
.hero-content{
  position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:clamp(56px,11vh,120px);
  max-width:820px;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.34em;word-spacing:.5em;text-transform:uppercase;color:var(--panna-dim);
  margin-bottom:22px;
}
.hero-eyebrow::before{
  content:'';width:36px;height:1px;
  background:linear-gradient(90deg,var(--rosa) 30%,#fff 50%,var(--rosa) 70%) 0 0/220% 100%;
  animation:spark-line 4.5s ease-in-out infinite;
}
@keyframes spark-line{
  0%,55%{background-position:120% 0}
  75%{background-position:-20% 0}
  100%{background-position:-120% 0}
}
.hero-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(38px,9.2vw,96px);
  line-height:1.04;letter-spacing:.01em;
  margin-bottom:20px;
}
.hero-title .w{display:inline-block;overflow:hidden;vertical-align:bottom;}
.hero-title .w>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--ease);}
.hero.ready .hero-title .w>span{transform:none;}
.hero-sub{font-size:clamp(14px,2vw,17px);color:var(--panna-dim);max-width:440px;margin-bottom:34px;
  opacity:0;transform:translateY(18px);transition:all .9s .5s var(--ease);}
.hero.ready .hero-sub{opacity:1;transform:none;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;opacity:0;transform:translateY(18px);transition:all .9s .7s var(--ease);}
.hero.ready .hero-ctas{opacity:1;transform:none;}
.hero-dots{position:absolute;z-index:3;right:var(--pad);bottom:clamp(56px,11vh,120px);display:flex;flex-direction:column;gap:10px;}
.hero-dots button{width:5px;height:26px;background:var(--panna-faint);transition:background .4s;}
.hero-dots button.on{background:var(--panna);}
.scrolldown{
  position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--panna-faint);
}
.scrolldown::after{
  content:'';width:1px;height:34px;
  background:linear-gradient(to bottom,var(--panna-dim),transparent);
  animation:scrl 1.8s ease-in-out infinite;
}
@keyframes scrl{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- Bottoni (cornice elettrica) ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:15px 34px;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
  overflow:hidden;isolation:isolate;transition:color .4s;
}
.btn-solid{background:var(--panna);color:var(--nero);}
.btn-solid::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,var(--rosa),#ff6ac2 45%,var(--rosa));
  transform:translateX(-101%);transition:transform .55s var(--ease);
}
.btn-solid:hover::before{transform:none;}
.btn-solid:hover{color:var(--nero);}
.btn-ghost{color:var(--panna);border:1px solid rgba(239,231,210,.35);transition:border-color .4s,color .4s;}
.btn-ghost:hover{border-color:var(--panna);}
/* filo elettrico che corre lungo il bordo */
.btn-electric{padding:2px;background:transparent;}
.btn-electric .inner{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 32px;background:var(--nero);width:100%;
  transition:background .4s,color .4s;
}
.btn-electric::before{
  content:'';position:absolute;inset:-40%;z-index:-1;
  background:conic-gradient(transparent 0 300deg,var(--rosa) 330deg,#fff 344deg,var(--rosa) 352deg,transparent 360deg);
  animation:spin 3.2s linear infinite;
}
.btn-electric::after{content:'';position:absolute;inset:2px;z-index:-1;background:var(--nero);}
.btn-electric:hover .inner{background:rgba(255,15,157,.12);}
@keyframes spin{to{transform:rotate(1turn)}}

/* ---------- Marquee ---------- */
.marquee{
  border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  overflow:hidden;padding:16px 0;background:var(--nero);
}
.marquee-track{display:flex;width:max-content;animation:mq 30s linear infinite;}
.marquee span{
  font-family:var(--display);font-size:15px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--panna-dim);white-space:nowrap;padding-right:.42em;
}
.marquee em{font-style:normal;color:var(--rosa);padding:0 22px;}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- Layout comune ---------- */
.section{padding:clamp(80px,14vh,150px) var(--pad);position:relative;}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.34em;word-spacing:.5em;text-transform:uppercase;color:var(--panna-dim);
  margin-bottom:18px;
}
.eyebrow::before{
  content:'';width:30px;height:1px;
  background:linear-gradient(90deg,var(--rosa) 30%,#fff 50%,var(--rosa) 70%) 0 0/220% 100%;
  animation:spark-line 4.5s ease-in-out infinite;
}
.h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(32px,6.4vw,64px);line-height:1.08;margin-bottom:22px;
}

/* reveal on scroll */
.rev{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.rev.in{opacity:1;transform:none;}
.rev-d1{transition-delay:.12s}.rev-d2{transition-delay:.24s}.rev-d3{transition-delay:.36s}

/* ---------- Manifesto ---------- */
.manifesto{text-align:center;max-width:900px;margin:0 auto;}
.manifesto .big{
  font-family:var(--display);font-size:clamp(34px,7.5vw,80px);line-height:1.12;
}
.manifesto .big em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--panna-dim);}
.manifesto p{max-width:560px;margin:34px auto 0;color:var(--panna-dim);font-size:clamp(15px,1.8vw,17.5px);}

/* ---------- Storia ---------- */
.story{background:var(--nero-2);}
.story-head{max-width:700px;margin-bottom:clamp(50px,8vh,90px);}
.chapter{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);
  align-items:center;margin-bottom:clamp(70px,12vh,130px);
}
.chapter:last-of-type{margin-bottom:0;}
.chapter:nth-child(even) .ch-img{order:2;}
.ch-img{position:relative;overflow:hidden;}
.ch-img img{width:100%;transform:scale(1.12);transition:transform 1.6s var(--ease);will-change:transform;}
.ch-img.in img{transform:scale(1.0);}
.ch-img::after{
  content:'';position:absolute;inset:0;background:var(--nero-2);
  transform:scaleY(1);transform-origin:top;transition:transform 1.1s var(--ease);
}
.ch-img.in::after{transform:scaleY(0);}
.ch-num{
  font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--rosa);
  margin-bottom:16px;display:block;
}
.ch-title{font-family:var(--display);font-size:clamp(26px,4vw,42px);font-weight:400;margin-bottom:18px;}
.ch-body{color:var(--panna-dim);font-size:clamp(15px,1.7vw,17px);max-width:480px;}
.story-note{
  margin-top:clamp(60px,10vh,100px);text-align:center;
  font-family:var(--display);font-size:clamp(18px,3vw,26px);color:var(--panna-dim);
}
.story-note::before{content:'';display:block;width:1px;height:52px;margin:0 auto 26px;
  background:linear-gradient(to bottom,transparent,var(--rosa));}

/* ---------- Musa (full-bleed quote) ---------- */
.musa{
  position:relative;min-height:88svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;padding:120px var(--pad);
}
.musa-bg{position:absolute;inset:-12% 0;background-size:cover;background-position:center 18%;will-change:transform;}
.musa-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(10,10,11,.28) 0%,rgba(10,10,11,.82) 100%);}
.musa-quote{
  position:relative;z-index:2;font-family:var(--display);
  font-size:clamp(26px,5.4vw,54px);line-height:1.3;max-width:820px;
}
.musa-cap{position:relative;z-index:2;margin-top:26px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--panna-dim);}

/* ---------- GENESI configuratore ---------- */
.genesi{background:var(--nero);}
.genesi-head{max-width:760px;margin-bottom:clamp(46px,7vh,80px);}
.genesi-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(30px,6vw,90px);align-items:center;
}
.stage{
  position:relative;aspect-ratio:1856/2304;max-height:78svh;margin:0 auto;width:100%;
  max-width:520px;
  background:radial-gradient(circle at 50% 42%,#232326 0%,#141416 68%);
  overflow:hidden;
}
.stage::before{
  content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  border:1px solid var(--linea);
}
.stage img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .7s ease;mix-blend-mode:normal;
}
.stage img.on{opacity:1;}
.stage .cw-name{
  position:absolute;z-index:4;left:18px;bottom:14px;
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(10,10,11,.55);
}
.config{display:flex;flex-direction:column;gap:34px;}
.cfg-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--panna-dim);margin-bottom:14px;display:block;}
.base-toggle{display:inline-flex;border:1px solid var(--linea);width:max-content;}
.base-toggle button{
  padding:13px 30px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--panna-dim);transition:all .35s;position:relative;
}
.base-toggle button.on{color:var(--nero);background:var(--panna);}
.base-toggle button[data-base="nero"].on{color:var(--panna);background:#1E1E22;}
.swatches{display:flex;gap:14px;flex-wrap:wrap;}
.sw{
  width:38px;height:38px;border-radius:50%;position:relative;
  border:1px solid rgba(239,231,210,.25);
  transition:transform .3s var(--ease);
}
.sw:hover{transform:scale(1.14);}
.sw::after{
  content:'';position:absolute;inset:-6px;border-radius:50%;
  border:1px solid var(--panna);opacity:0;transform:scale(.8);
  transition:all .35s var(--ease);
}
.sw.on::after{opacity:1;transform:none;}
.sw[hidden]{display:none;}
.cw-display{font-family:var(--display);font-size:clamp(20px,3vw,28px);letter-spacing:.12em;text-transform:uppercase;}
.cw-display .x{color:var(--rosa);padding:0 10px;}
.details{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--linea);}
.det{padding:18px 0;border-bottom:1px solid var(--linea);}
.det h4{font-size:12px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;margin-bottom:6px;}
.det p{color:var(--panna-dim);font-size:14.5px;}
.genesi-note{font-size:12.5px;letter-spacing:.08em;color:var(--panna-faint);font-style:italic;}

/* ---------- Editorial / Vetrina — scorrimento orizzontale NATIVO (niente pin) ----------
   In flusso normale: nessun pin, nessuno sfondo che scorre dietro, nessun nero in coda.
   Desktop: la rotella sopra la vetrina la fa avanzare in orizzontale (JS), ai bordi
   riprende la pagina. Mobile: swipe orizzontale nativo. */
.editorial{background:var(--nero-2);padding:clamp(80px,14vh,150px) 0;}
.editorial .ed-head{padding:0 var(--pad);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px;}
.ed-hint{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--panna-dim);display:flex;align-items:center;gap:10px;white-space:nowrap;padding-bottom:14px;}
.ed-hint::after{content:'→';animation:nudge 1.6s ease-in-out infinite;}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}

.ed-stage{position:relative;}
.ed-pin{
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ed-pin::-webkit-scrollbar{display:none;}
/* modalità PIN desktop (GSAP pin+scrub, come guswear): la traccia trasla via
   transform, niente scroll interno né frecce — comanda la rotella. */
.ed-stage.is-pinned .ed-pin{overflow:hidden;}
.ed-stage.is-pinned .ed-arrow{display:none;}
.ed-stage.is-pinned .ed-item{scroll-snap-align:none;}
/* frecce di navigazione (fallback garantito su qualsiasi device) */
.ed-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:56px;height:56px;border-radius:50%;
  background:rgba(10,10,11,.55);color:var(--panna);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(239,231,210,.25);
  font-family:var(--display);font-size:26px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .3s,border-color .3s,opacity .3s;
}
.ed-arrow:hover{background:rgba(255,15,157,.85);border-color:transparent;color:#fff;}
.ed-arrow-prev{left:16px;}
.ed-arrow-next{right:16px;}
.ed-arrow[disabled]{opacity:0;pointer-events:none;}
@media(hover:none){.ed-arrow{display:none;}} /* su touch basta lo swipe */
.ed-track{
  display:flex;align-items:stretch;gap:clamp(16px,2.5vw,30px);
  padding:0 var(--pad);width:max-content;
}
.ed-item{
  position:relative;flex:none;
  width:clamp(300px,42vw,560px);
  scroll-snap-align:center;overflow:hidden;
}
.ed-item img{
  width:100%;height:min(72svh,760px);object-fit:cover;display:block;cursor:zoom-in;
  transition:transform 1s var(--ease);user-select:none;-webkit-user-drag:none;
}
.ed-item:hover img{transform:scale(1.045);}
.ed-item .n{
  position:absolute;top:14px;left:16px;z-index:2;
  font-family:var(--display);font-size:13px;letter-spacing:.2em;color:rgba(239,231,210,.9);
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.ed-progress{
  height:2px;background:rgba(239,231,210,.12);
  margin:34px var(--pad) 0;position:relative;overflow:hidden;
}
.ed-progress span{
  position:absolute;left:0;top:0;bottom:0;width:0;
  background:linear-gradient(90deg,var(--rosa),#ff6ac2);
  box-shadow:0 0 12px rgba(255,15,157,.7);
}
@media(max-width:900px){
  .ed-item{width:min(84vw,420px);}
  .ed-item img{height:min(66svh,620px);}
}

/* ---------- Lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;
  background:rgba(8,8,9,.92);
  -webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);
  opacity:0;visibility:hidden;
  transition:opacity .45s var(--ease),visibility .45s,backdrop-filter .6s var(--ease),-webkit-backdrop-filter .6s var(--ease);
}
.lightbox.open{opacity:1;visibility:visible;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);}
.lb-stage{
  position:relative;width:min(90vw,720px);height:82svh;
  display:flex;align-items:center;justify-content:center;
}
.lb-stage img{
  position:absolute;max-width:100%;max-height:100%;object-fit:contain;
  box-shadow:0 40px 120px rgba(0,0,0,.7);
  opacity:0;transform:scale(.94);
  transition:opacity .5s var(--ease),transform .6s var(--ease);
}
.lb-stage img.show{opacity:1;transform:none;}
.lb-stage img.exit-left{opacity:0;transform:translateX(-6%) scale(.96);}
.lb-stage img.exit-right{opacity:0;transform:translateX(6%) scale(.96);}
/* FLIP: immagine che vola dal thumbnail con "pop" (overshoot) */
.lb-fly{position:fixed;z-index:8100;object-fit:cover;pointer-events:none;box-shadow:0 40px 120px rgba(0,0,0,.7);
  transition:all .6s cubic-bezier(.34,1.32,.42,1);}
.lb-close{
  position:absolute;top:20px;right:24px;z-index:8200;
  font-size:40px;line-height:1;color:var(--panna-dim);background:none;border:none;cursor:pointer;
  width:48px;height:48px;transition:color .3s,transform .3s;font-weight:200;
}
.lb-close:hover{color:var(--panna);transform:rotate(90deg);}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:8200;
  width:56px;height:56px;font-size:34px;line-height:1;
  color:var(--panna-dim);background:none;border:1px solid transparent;cursor:pointer;
  transition:color .3s,border-color .3s;font-family:var(--display);
}
.lb-nav:hover{color:var(--panna);}
.lb-prev{left:clamp(8px,3vw,40px);}
.lb-next{right:clamp(8px,3vw,40px);}
.lb-meta{
  position:absolute;bottom:26px;left:0;right:0;z-index:8200;
  display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;
}
.lb-cap{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--panna-dim);text-align:center;padding:0 20px;}
.lb-count{font-family:var(--display);font-size:13px;letter-spacing:.3em;color:var(--panna-faint);}
@media(max-width:600px){
  .lb-stage{width:94vw;height:74svh;}
  .lb-nav{width:44px;height:44px;font-size:26px;}
  .lb-prev{left:4px;}.lb-next{right:4px;}
}

/* ---------- Waitlist ---------- */
.waitlist{
  position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% 110%,rgba(255,15,157,.13),transparent 60%),
    var(--nero);
  text-align:center;
}
.waitlist .h2{margin-bottom:16px;}
.wl-body{max-width:520px;margin:0 auto 44px;color:var(--panna-dim);}
.wl-form{max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:18px;text-align:left;}
.field input[type=text],.field input[type=email]{
  width:100%;background:transparent;border:none;border-bottom:1px solid rgba(239,231,210,.3);
  color:var(--panna);font:300 16px var(--sans);letter-spacing:.04em;
  padding:14px 2px;outline:none;transition:border-color .4s;
  border-radius:0;
}
.field input:focus{border-bottom-color:var(--rosa);}
.field input::placeholder{color:var(--panna-faint);letter-spacing:.08em;}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;color:var(--panna-dim);line-height:1.5;}
.consent input{margin-top:3px;accent-color:var(--rosa);width:15px;height:15px;flex:0 0 auto;}
.consent a{text-decoration:underline;text-underline-offset:3px;}
.wl-form .btn{margin-top:10px;width:100%;}
.form-msg{min-height:22px;font-size:13.5px;letter-spacing:.05em;text-align:center;}
.form-msg.ok{color:var(--verde);}
.form-msg.err{color:var(--rosa);}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}

/* ---------- Footer ---------- */
.footer{
  border-top:1px solid var(--linea);
  padding:60px var(--pad) 40px;
  display:flex;flex-direction:column;gap:34px;
}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;}
.footer .wordmark{font-size:15px;}
.footer-tag{margin-top:14px;font-size:12.5px;color:var(--panna-dim);letter-spacing:.06em;}
.footer-col h5{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--panna-dim);margin-bottom:12px;font-weight:400;}
.footer-col a{display:block;font-size:13.5px;color:var(--panna-dim);padding:3px 0;transition:color .3s;}
.footer-col a:hover{color:var(--rosa);}
.footer-bottom{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border-top:1px solid var(--linea);padding-top:22px;
  font-size:11px;letter-spacing:.1em;color:var(--panna-faint);
}

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed;left:var(--pad);right:var(--pad);bottom:18px;
  max-width:460px;z-index:5000;
  background:rgba(17,17,19,.97);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid var(--linea);
  padding:24px 26px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  transform:translateY(160%);opacity:0;
  transition:transform .7s var(--ease),opacity .5s;
}
.cookie-banner.visibile{transform:none;opacity:1;}
.cookie-banner h4{
  font-family:var(--display);font-weight:400;font-size:1.15rem;letter-spacing:.02em;
  margin-bottom:10px;display:flex;align-items:center;gap:12px;
}
.cookie-banner h4::before{content:'';width:22px;height:1px;background:var(--rosa);}
.cookie-banner p{font-size:13.5px;color:var(--panna-dim);line-height:1.6;margin-bottom:18px;}
.cookie-banner p a{color:var(--panna);text-decoration:underline;text-underline-offset:3px;}
.ck-azioni{display:flex;gap:12px;flex-wrap:wrap;}
.cookie-banner button{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;
  padding:12px 24px;transition:all .35s var(--ease);
}
.ck-accetta{background:var(--panna);color:var(--nero);position:relative;overflow:hidden;isolation:isolate;}
.ck-accetta::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,var(--rosa),#ff6ac2 45%,var(--rosa));
  transform:translateX(-101%);transition:transform .5s var(--ease);
}
.ck-accetta:hover::before{transform:none;}
.ck-rifiuta{border:1px solid rgba(239,231,210,.32);color:var(--panna);}
.ck-rifiuta:hover{border-color:var(--panna);}
#gestisci-cookie{
  display:block;font-size:13.5px;color:var(--panna-dim);padding:3px 0;
  letter-spacing:0;text-transform:none;transition:color .3s;text-align:left;
}
#gestisci-cookie:hover{color:var(--rosa);}
@media(max-width:600px){
  .cookie-banner{left:14px;right:14px;bottom:14px;max-width:none;padding:20px 20px;}
}

/* ---------- Privacy page ---------- */
.legal{max-width:760px;margin:0 auto;padding:140px var(--pad) 90px;}
.legal h1{font-family:var(--display);font-size:clamp(28px,5vw,44px);margin-bottom:30px;font-weight:400;}
.legal h2{font-family:var(--display);font-size:20px;margin:34px 0 10px;font-weight:400;}
.legal p,.legal li{color:var(--panna-dim);font-size:15px;margin-bottom:10px;}
.legal ul{padding-left:20px;}
.legal a{text-decoration:underline;text-underline-offset:3px;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .nav-links{display:none;}
  .lang{display:none;}
  .burger{display:flex;}
  .chapter{grid-template-columns:1fr;gap:26px;}
  .chapter:nth-child(even) .ch-img{order:0;}
  .genesi-grid{grid-template-columns:1fr;}
  .config{gap:28px;}
  .hero-dots{display:none;}
}
@media(min-width:901px){
  .mmenu{display:none;}
}

/* ---------- Motion off ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
  .rev,.hero-sub,.hero-ctas{opacity:1;transform:none;}
  .hero-title .w>span{transform:none;}
  .ch-img::after{display:none;}
  .ch-img img{transform:none;}
}

/* ---------- Su misura (waitlist) ---------- */
/* Su misura: ora vive dentro .wl-panel, niente cornice propria */
.wl-su{ margin:0;text-align:center; }
.wl-su-eyebrow,.wl-su-title,.wl-su-note{ text-align:center; }
.wl-su-body{ text-align:center;margin-left:auto;margin-right:auto; }
.wl-su-grid{ text-align:left; }
.wl-su-eyebrow{
  font-size:10.5px;letter-spacing:.3em;word-spacing:.45em;text-transform:uppercase;
  color:rgba(239,231,210,.5);margin-bottom:10px;
}
.wl-su-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(21px,3vw,30px);line-height:1.15;margin-bottom:10px;
}
.wl-su-body{color:var(--panna-dim);font-size:14.5px;max-width:520px;}
.wl-su-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin:28px 0 22px;border-top:1px solid var(--linea);
}
.wl-su-card{padding:22px 24px 20px;border-right:1px solid var(--linea);}
.wl-su-card:last-child{border-right:0;}
.wl-su-card h4{
  font-size:12px;letter-spacing:.26em;word-spacing:.4em;text-transform:uppercase;
  font-weight:500;margin-bottom:8px;
}
.wl-su-card p{color:var(--panna-dim);font-size:13.5px;line-height:1.6;}
/* La scelta va letta come "o questo o quello": due righe stile radio,
   la prima già selezionata perché è la versione di serie. */
.wl-su-choice{display:flex;flex-direction:column;gap:9px;margin:14px 0 14px;}
.wl-su-opt{display:flex;align-items:center;gap:10px;font-size:13.5px;}
.wl-su-opt .dot{
  width:10px;height:10px;border-radius:50%;flex:0 0 auto;
  border:1px solid var(--panna-faint);position:relative;
}
.wl-su-opt.is-std .dot{border-color:var(--panna);}
.wl-su-opt.is-std .dot::after{
  content:'';position:absolute;inset:2px;border-radius:50%;background:var(--panna);
}
.wl-su-opt.is-opt .dot{border-color:#C9A96E;border-style:dashed;}
.wl-su-opt .lbl{color:var(--panna);letter-spacing:.02em;}
.wl-su-opt.is-opt .lbl{color:#E8C87A;}
.wl-su-opt .tag{
  margin-left:auto;font-size:9px;letter-spacing:.2em;word-spacing:.45em;text-transform:uppercase;
  color:rgba(239,231,210,.55);white-space:nowrap;
}
.wl-su-opt.is-opt .tag{color:rgba(232,200,122,.75);}
.wl-su-note{
  font-size:12.5px;letter-spacing:.06em;color:rgba(239,231,210,.5);font-style:italic;
}
.footer-esplora{max-width:280px;}
.footer-esplora .footer-all{margin-top:8px;color:var(--panna);}
@media(max-width:760px){
  .wl-su-grid{grid-template-columns:1fr;}
  .wl-su-card{border-right:0;border-bottom:1px solid var(--linea);padding:20px 0 18px;}
  .wl-su-card:last-child{border-bottom:0;}
}

/* ---------- Pannello unico invito: Su misura + Iscrizione ---------- */
/* angolo animato per la cornice viva (fallback: bordo statico) */
@property --wl-ang{ syntax:'<angle>'; inherits:false; initial-value:0deg; }

.wl-panel{
  position:relative;
  max-width:880px;
  margin:0 auto;
  padding:1.5px;                 /* spessore della cornice viva */
  border-radius:4px;
  isolation:isolate;
}
/* la cornice: gradiente rosa→azzurro che scorre lungo il perimetro */
.wl-panel::before{
  content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;
  background:
    conic-gradient(from var(--wl-ang),
      rgba(239,231,210,.16) 0deg,
      var(--rosa) 70deg,
      var(--azzurro) 150deg,
      rgba(239,231,210,.16) 230deg,
      rgba(239,231,210,.16) 360deg);
  animation:wl-spin 9s linear infinite;
}
/* alone morbido dietro il bordo, stesso movimento */
.wl-panel::after{
  content:'';position:absolute;inset:-2px;border-radius:6px;z-index:-2;
  background:
    conic-gradient(from var(--wl-ang),
      transparent 0deg,
      rgba(255,15,157,.55) 70deg,
      rgba(63,176,255,.5) 150deg,
      transparent 240deg);
  filter:blur(16px);opacity:.45;
  animation:wl-spin 9s linear infinite;
}
@keyframes wl-spin{ to{ --wl-ang:360deg; } }
@media(prefers-reduced-motion:reduce){
  .wl-panel::before,.wl-panel::after{ animation:none; }
}
.wl-panel-in{
  position:relative;border-radius:2.5px;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%,rgba(255,15,157,.07),transparent 62%),
    linear-gradient(180deg,var(--nero-2),var(--nero));
  padding:clamp(26px,4vw,46px);
}
/* Su misura centrato dentro il pannello */
.wl-panel .wl-su-body{max-width:520px;}

/* Divisore: hairline rosa con punto luminoso al centro */
.wl-div{
  display:flex;align-items:center;justify-content:center;
  margin:clamp(28px,4.5vw,44px) 0;
}
.wl-div span{
  position:relative;display:block;width:100%;max-width:360px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,15,157,.55),transparent);
}
.wl-div span::after{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:5px;height:5px;border-radius:50%;background:var(--rosa);
  box-shadow:0 0 10px 2px rgba(255,15,157,.7);
}

/* Iscrizione */
.wl-join{max-width:480px;margin:0 auto;text-align:center;}
.wl-card-top{
  display:flex;align-items:center;gap:14px;justify-content:center;
  font-size:9.5px;letter-spacing:.34em;word-spacing:.5em;text-transform:uppercase;
  color:rgba(239,231,210,.42);margin-bottom:18px;white-space:nowrap;
}
.wl-card-top i{flex:1 1 auto;height:1px;background:rgba(239,231,210,.16);}
.wl-join-title{
  font-family:var(--display);font-weight:400;
  font-size:clamp(20px,2.7vw,27px);line-height:1.15;margin-bottom:24px;
}
.wl-join .wl-form{max-width:none;gap:14px;}

/* Campi boxati: si vede subito dove scrivere, bordo rosa quando scrivi */
.wl-join .field-box input[type=text],
.wl-join .field-box input[type=email]{
  width:100%;
  background:rgba(239,231,210,.045);
  border:1px solid rgba(239,231,210,.22);
  border-bottom:1px solid rgba(239,231,210,.22);
  border-radius:2px;
  color:var(--panna);font:300 15.5px var(--sans);letter-spacing:.04em;
  padding:15px 16px;outline:none;
  transition:border-color .35s,box-shadow .35s,background .35s;
}
.wl-join .field-box input::placeholder{color:rgba(239,231,210,.42);letter-spacing:.06em;}
.wl-join .field-box input:focus{
  border-color:var(--rosa);
  background:rgba(255,15,157,.05);
  box-shadow:0 0 0 1px var(--rosa),0 10px 28px -16px rgba(255,15,157,.75);
}
.wl-join .wl-form .btn-solid{margin-top:14px;box-shadow:0 8px 30px -14px rgba(255,15,157,.55);}
.wl-nopay{
  font-size:11.5px;line-height:1.6;letter-spacing:.04em;
  color:rgba(239,231,210,.55);text-align:center;margin-top:2px;
}
.wl-join .form-msg{min-height:0;}
.wl-join .form-msg:not(:empty){margin-top:6px;}
