:root{
  --bg:#f3ece0;
  --bg2:#ece2d2;
  --panel:#e7dccb;
  --ink:#211b13;
  --muted:#8c8171;
  --clay:#a25b2a;
  --brass:#b3823f;
  --brass-soft:#c39a5c;
  --line:rgba(33,27,19,.12);
  --serif:"Bodoni Moda",Didot,Georgia,serif;
  --sans:"Fira Sans",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
em{font-style:italic}
section{position:relative}
::selection{background:var(--clay);color:#fff}

/* carta calda */
.paper{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* scarpa fotografata che galleggia sul panna: il grigio dello scatto
   sparisce col multiply, la maschera radiale toglie ogni bordo. */
.blend-shoe{mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(72% 72% at 50% 50%,#000 58%,transparent 100%);
          mask-image:radial-gradient(72% 72% at 50% 50%,#000 58%,transparent 100%);}

/* ---------- PRELOADER ---------- */
.loader{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}
.loader__word{overflow:hidden}
.loader__word img{width:min(340px,64vw);display:block;opacity:0;transform:translateY(30px)}
.loader__line{width:min(220px,48vw);height:1px;background:rgba(33,27,19,.14);overflow:hidden}
.loader__line i{display:block;height:100%;width:0;background:var(--clay)}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:space-between;
  padding:22px clamp(20px,5vw,64px);transform:translateY(-120%);
  background:linear-gradient(180deg,rgba(243,236,224,.9),transparent);backdrop-filter:blur(2px)}
.nav__brand{display:flex;align-items:center}
.nav__logo{height:34px;width:auto;display:block}
.nav__links{display:flex;gap:36px}
.nav__links a{color:var(--ink);text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.72;transition:opacity .3s,color .3s}
.nav__links a:hover{opacity:1;color:var(--clay)}

/* ---------- HERO INTRO ---------- */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:clamp(90px,12vh,140px) clamp(20px,5vw,64px) 8vh;gap:6px;
  background:radial-gradient(70% 60% at 50% 42%,rgba(179,130,63,.14),transparent 62%)}
.hero__eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--clay)}
.hero__title{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,6.6vw,5.6rem);line-height:1.02;letter-spacing:-.01em;margin:.15em 0 .1em}
.hero__title .line{display:block;overflow:hidden}
.hero__title em{font-style:italic;color:var(--clay)}
/* i due modelli camminano da sinistra a destra: video che sfuma nel panna */
.hero__film{position:relative;width:min(100%,1180px);margin:2vh auto 1vh}
.hero__video{width:100%;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent)}
.hero__sub{margin-top:1vh;max-width:36ch;color:#6d6355;font-size:clamp(.9rem,1.2vw,1.02rem);line-height:1.7}
.hero__scroll{position:absolute;z-index:3;left:50%;translate:-50% 0;bottom:clamp(22px,4vh,44px);
  display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.hero__scroll span{width:1px;height:42px;background:linear-gradient(var(--clay),transparent);animation:drop 2.2s infinite}
@keyframes drop{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}}

/* ---------- VIAGGIO: 3 scene + 2 transizioni, si cammina con lo scroll ---------- */
.journey{height:900vh;position:relative;background:#0e0d0c}
.journey__sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#0e0d0c;perspective:1500px}
.jv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity}
.jv#jv1{opacity:1}
.jfold{position:absolute;inset:0;z-index:6;transform-style:preserve-3d;opacity:0;pointer-events:none}
.jfold .strip{position:absolute;top:0;height:100%;background-size:cover;backface-visibility:hidden;box-shadow:inset -1px 0 0 rgba(0,0,0,.28);will-change:transform,opacity}
.jpfx{position:absolute;inset:0;z-index:6;width:100%;height:100%;opacity:0;pointer-events:none}
.jlens{position:absolute;z-index:14;width:230px;height:230px;border-radius:50%;translate:-50% -50%;overflow:hidden;
  border:1.5px solid rgba(255,255,255,.85);box-shadow:0 18px 50px rgba(0,0,0,.5),inset 0 0 30px rgba(0,0,0,.25);
  pointer-events:none;opacity:0;transform:scale(.7);transition:opacity .35s ease,transform .35s ease}
.jlens.on{opacity:1;transform:scale(1)}
.jlens canvas{width:100%;height:100%;display:block}
.journey__scrim{position:absolute;inset:0;z-index:10;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,13,12,.5),transparent 26%,transparent 50%,rgba(14,13,12,.76))}
/* scritta hero: centrata e alzata (penna 5/10 "pulsanti più in alto, scritte centrate") */
.journey__copy{position:absolute;z-index:12;left:0;right:0;bottom:clamp(128px,25vh,230px);text-align:center;padding:0 24px;color:#f3ece0;will-change:opacity,transform}
.place__hint{z-index:12}
.place__where{display:block;font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:#e6c79c}
.place__line{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,7vw,6rem);line-height:.99;margin-top:.24em;color:#fff}
.place__line em{font-style:italic;color:#e6c79c}
.place__hint{position:absolute;z-index:3;left:0;right:0;bottom:clamp(30px,6vh,70px);
  display:flex;justify-content:center;align-items:center;gap:12px;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:#d8cbb8}
.place__hint span{width:44px;height:1px;background:linear-gradient(90deg,transparent,#e6c79c)}

/* ---------- IL FILM (pinned, capitoli, scarpa che gira) ---------- */
.film{height:600vh;position:relative}
.film__sticky{position:sticky;top:0;height:100svh;overflow:hidden}

/* mood: strati di colore che si dissolvono a ogni capitolo */
.film__moods{position:absolute;inset:0;z-index:0}
.film__mood{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.film__mood.on{opacity:1}
.film__mood[data-m="0"]{background:radial-gradient(75% 70% at 50% 46%,#f6efe4,#e9dfce)}
.film__mood[data-m="1"]{background:radial-gradient(75% 70% at 50% 46%,#f7ecd9,#e7cfa8)}
.film__mood[data-m="2"]{background:radial-gradient(75% 70% at 50% 46%,#efe2cf,#d8c1a0)}
.film__mood[data-m="3"]{background:radial-gradient(75% 70% at 50% 46%,#f4f2ec,#dfe0dc)}
.film__mood[data-m="4"]{background:radial-gradient(75% 70% at 50% 46%,#eef0ee,#c9d2d6)}

.film__rail{position:absolute;top:50%;z-index:3;font-size:.64rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--muted);writing-mode:vertical-rl;transform:translateY(-50%)}
.film__rail--l{left:clamp(14px,3.5vw,46px);transform:translateY(-50%) rotate(180deg)}
.film__rail--r{right:clamp(14px,3.5vw,46px)}

.film__stage{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;perspective:1400px}
.film__floater{position:relative;width:min(52vw,640px);transform-style:preserve-3d;will-change:transform}
.film__bob{position:relative;width:100%;will-change:transform}
.film__shoe{position:absolute;inset:0;width:100%;opacity:0;transition:opacity .7s ease;
  mix-blend-mode:multiply;filter:drop-shadow(0 40px 46px rgba(60,40,20,.26));
  -webkit-mask-image:radial-gradient(72% 72% at 50% 50%,#000 56%,transparent 100%);
          mask-image:radial-gradient(72% 72% at 50% 50%,#000 56%,transparent 100%)}
.film__shoe[data-s="0"]{position:relative}
.film__shoe.on{opacity:1}
.film__contact{position:absolute;left:50%;bottom:20%;translate:-50% 0;width:34%;height:30px;z-index:1;
  background:radial-gradient(ellipse at center,rgba(70,45,20,.3),transparent 70%);filter:blur(9px)}

.film__caps{position:absolute;left:0;right:0;bottom:clamp(48px,10vh,120px);z-index:4;
  display:flex;justify-content:center;pointer-events:none}
.film__cap{position:absolute;text-align:center;opacity:0;transform:translateY(30px);
  transition:opacity .6s ease,transform .6s ease;width:min(90vw,640px);padding:0 20px}
.film__cap.on{opacity:1;transform:translateY(0)}
.film__num{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--clay);letter-spacing:.24em}
.film__cap h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.98;margin:.2em 0 .35em}
.film__cap p{color:#6d6355;font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.7;max-width:44ch;margin:0 auto}

.film__reel{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);top:clamp(74px,11vh,104px);z-index:4;
  height:2px;background:rgba(33,27,19,.12)}
.film__reel i{display:block;height:100%;width:0;background:var(--clay)}

/* ---------- L'ATELIER: capitoli con le foto vere ---------- */
.atel{height:500vh;position:relative;background:#141210}
.atel__sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.atel__imgs{position:absolute;inset:0}
.atel__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;will-change:opacity,transform}
.atel__img.is-on{opacity:1}
/* volti sempre in quadro: le foto verticali si ancorano in alto */
.atel__img[data-a="0"]{object-position:center 35%}
.atel__img[data-a="1"]{object-position:center 18%}
.atel__img[data-a="2"]{object-position:center 12%}
.atel__img[data-a="3"]{object-position:center 10%}
.atel__scrim{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(12,10,9,.82),rgba(12,10,9,.45) 46%,transparent 72%),
             linear-gradient(180deg,rgba(12,10,9,.4),transparent 30%,transparent 62%,rgba(12,10,9,.6))}
.atel__caps{position:absolute;z-index:3;left:clamp(20px,5vw,66px);top:0;bottom:0;width:min(480px,84vw)}
.atel__cap{position:absolute;top:50%;translate:0 -50%;opacity:0;transform:translateY(34px);transition:opacity .5s ease,transform .5s ease;color:#f3ece0}
.atel__cap.is-on{opacity:1;transform:translateY(0)}
.atel__num{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#e6c79c}
.atel__cap h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.6vw,4.4rem);line-height:1.02;margin:.25em 0 .4em;color:#fff}
.atel__cap p{color:#d9cdb8;font-size:clamp(.92rem,1.2vw,1.05rem);line-height:1.7;max-width:40ch}
.atel__bar{position:absolute;z-index:3;right:clamp(20px,5vw,66px);top:50%;translate:0 -50%;width:2px;height:min(220px,34vh);background:rgba(255,255,255,.16)}
.atel__bar i{display:block;width:100%;height:0;background:#e6c79c}
.atel__link{display:inline-block;margin-top:18px;color:#e6c79c;text-decoration:none;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(230,199,156,.5);padding-bottom:4px;transition:border-color .3s}
.atel__link:hover{border-color:#e6c79c}

/* ---------- GRAZIE (replica 1:1 da lancioshoes.com) ---------- */
.grazie{background:#ead9c5;border-bottom:5px solid #35c2bb;padding:clamp(52px,10vh,120px) clamp(20px,6vw,90px)}
.grazie__inner{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,6vw,90px);max-width:1340px;margin:0 auto;align-items:center}
.grazie h2{font-family:var(--sans);font-weight:700;font-size:clamp(2.2rem,4.8vw,3.9rem);line-height:1.06;color:#1c1a17;margin-bottom:1.1em}
.grazie__btn{display:inline-flex;align-items:center;gap:14px;padding:17px 36px;border:1.5px solid #1c1a17;border-radius:44px;color:#1c1a17;text-decoration:none;font-size:1.02rem;transition:background .3s,color .3s}
.grazie__btn:hover{background:#1c1a17;color:#ead9c5}
.grazie__right p{color:#211b13;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.75;font-weight:300}
.grazie__right b{font-weight:700}
@media(max-width:820px){.grazie__inner{grid-template-columns:1fr}}

/* ---------- COLLEZIONE: il lancio ---------- */
.ldeck{height:420vh;position:relative}
.ldeck__sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.ldeck__head{position:absolute;top:clamp(74px,11vh,120px);left:clamp(20px,6vw,90px);z-index:2;max-width:32ch}
.ldeck__head h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,6vw,5rem);line-height:1;margin:.12em 0 .2em}
.ldeck__head p{color:var(--muted);font-size:.92rem;line-height:1.6}
.ldeck__stage{position:absolute;inset:0}
.ldcard{position:absolute;left:50%;top:54%;translate:-50% -50%;width:min(340px,64vw);aspect-ratio:4/5;border-radius:10px;
  background:#fbf7ee;border:1px solid var(--line);box-shadow:0 30px 60px rgba(60,40,20,.22);
  display:flex;flex-direction:column;will-change:transform,opacity}
.ldcard img{width:100%;flex:1;object-fit:contain;padding:18px 18px 0;mix-blend-mode:multiply;min-height:0}
.ldcard .m{padding:10px 18px 16px}
.ldcard .m b{font-family:var(--serif);font-weight:500;font-size:1.2rem;display:block}
.ldcard .m span{color:var(--clay);font-size:.9rem}
.ldeck__bar{position:absolute;left:50%;bottom:clamp(26px,5vh,50px);translate:-50% 0;width:min(220px,40vw);height:2px;background:rgba(33,27,19,.12);z-index:2}
.ldeck__bar i{display:block;height:100%;width:0;background:var(--clay)}

/* ---------- COLLEZIONE (griglia, non piu' usata) ---------- */
.coll{padding:15vh clamp(20px,6vw,90px) 11vh}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--clay)}
.coll__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:7vh;flex-wrap:wrap}
.coll__head h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,7vw,6rem);line-height:1;margin-top:.15em}
.coll__head p{color:var(--muted);max-width:32ch;font-size:.95rem;line-height:1.65}
.coll__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,30px)}
.card{position:relative}
.card__img{aspect-ratio:4/5;border-radius:4px;overflow:hidden;position:relative;
  background:radial-gradient(120% 80% at 50% 20%,#f6efe3,#e6dac6);
  display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.card__img img{width:88%;mix-blend-mode:multiply;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
  filter:drop-shadow(0 22px 26px rgba(60,40,20,.2))}
.card:hover .card__img img{transform:scale(1.07) translateY(-6px)}
.card__meta{display:flex;flex-direction:column;gap:5px;padding:18px 4px 0}
.card__meta h3{font-family:var(--serif);font-weight:500;font-size:1.5rem}
.card__meta p{color:var(--muted);font-size:.82rem;letter-spacing:.02em}
.card__price{color:var(--clay);font-size:1rem;margin-top:5px;letter-spacing:.02em}

/* ---------- LE CINTURE: pannelli impilati (sticky stack) ---------- */
.cint{position:relative;background:var(--bg)}
.cint__intro{padding:14vh clamp(20px,6vw,90px) 7vh}
.cint__intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,6vw,5rem);line-height:1;margin:.12em 0 .3em}
.cint__intro p{color:var(--muted);max-width:52ch;font-size:1.02rem;line-height:1.6}
.cpanel{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden;
  border-top:1px solid var(--line);box-shadow:0 -34px 60px rgba(60,40,20,.16)}
.cpanel__in{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,90px);padding:0 clamp(20px,6vw,90px)}
.cpanel__in.flip{flex-direction:row-reverse}
.cpanel__card{flex:0 0 auto;width:min(46vw,520px);background:#fff;border-radius:16px;padding:4% 5%;box-shadow:0 30px 60px rgba(60,40,20,.16)}
.cpanel__card img{width:100%;display:block}
.cpanel__txt{flex:1;max-width:34ch}
.cpanel__txt .eyebrow{color:var(--clay)}
.cpanel__txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,3.4rem);line-height:1;margin:.12em 0 .28em}
.cpanel__txt p{color:var(--muted);line-height:1.6;margin-bottom:24px}
.cpanel__txt a{display:inline-block;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);text-decoration:none;border-bottom:1px solid rgba(162,91,42,.4);padding-bottom:3px}
@media(max-width:760px){.cpanel__in,.cpanel__in.flip{flex-direction:column;gap:20px;text-align:center}.cpanel__card{width:74vw}.cpanel__txt{max-width:92vw}.cint__intro{padding-top:11vh}}

/* ---------- I PACCHETTI: scarpa + cintura, sosta ---------- */
.pack{height:600vh;position:relative;background:radial-gradient(92% 72% at 50% 38%,#f7f0e4,#e6d8c1)}
.pack__sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.pack__head{position:absolute;z-index:4;left:clamp(20px,5vw,66px);top:clamp(74px,11vh,110px);max-width:30ch}
.pack__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin-top:.12em}
.pack__stage{position:absolute;inset:0}
.pcard{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,70px);padding:0 clamp(20px,6vw,90px);opacity:0;pointer-events:none}
.pcard--flip{flex-direction:row-reverse}
.pcard.on{pointer-events:auto}
.pcard__tile{position:relative;width:min(560px,44vw);aspect-ratio:1/1;background:#fff;border-radius:16px;flex:0 0 auto;
  box-shadow:0 40px 90px rgba(60,40,20,.24);display:flex;align-items:center;justify-content:center;will-change:transform}
.pcard__tile .shoe{width:82%;margin-top:-6%;mix-blend-mode:multiply;filter:drop-shadow(0 20px 24px rgba(60,40,20,.16))}
.pcard__tile .belt{position:absolute;bottom:9%;left:14%;width:42%;mix-blend-mode:multiply;filter:drop-shadow(0 14px 16px rgba(60,40,20,.18))}
.pcard__txt{flex:1;max-width:34ch;will-change:transform,opacity}
.pcard__txt .num{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--clay)}
.pcard__txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.6vw,3rem);line-height:1.05;margin:.14em 0 .5em}
.pcard__price{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.pcard__price s{color:var(--muted);font-size:1.1rem}
.pcard__price b{color:var(--ink);font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500}
.pcard__save{color:var(--clay);font-size:.92rem;display:block;margin-bottom:22px}
.pcard__txt a{display:inline-block;padding:14px 34px;border:1.5px solid var(--ink);border-radius:40px;color:var(--ink);text-decoration:none;font-size:.9rem;transition:background .3s,color .3s}
.pcard__txt a:hover{background:var(--ink);color:#fff}
.pack__bar{position:absolute;z-index:4;left:50%;bottom:clamp(26px,5vh,50px);translate:-50% 0;width:min(220px,40vw);height:2px;background:rgba(33,27,19,.12)}
.pack__bar i{display:block;height:100%;width:0;background:var(--clay)}
@media(max-width:820px){.pcard,.pcard--flip{flex-direction:column;gap:16px}.pcard__tile{width:min(74vw,360px)}.pcard__txt{text-align:center;max-width:90vw}.pack__head{display:none}
  /* su telefono la cintura risaliva sopra la suola: più piccola e nell'angolo, sotto la scarpa, come sul pc */
  .pcard__tile .belt{width:36%;left:5%;bottom:4%}}

/* ---------- SCARPE DONNA: lo specchio d'acqua ---------- */
.lake{height:560vh;position:relative}
.lake__sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#0c0b0a}
.lake__sticky canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.lake__title{position:absolute;z-index:5;left:clamp(20px,5vw,66px);top:clamp(70px,10vh,110px);color:#fff;text-shadow:0 2px 24px rgba(90,60,20,.5)}
.lake__title .k{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#ffe9c0}
.lake__title h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.5vw,4.6rem);line-height:1;margin-top:.12em}
.lake__nm{position:absolute;z-index:5;right:clamp(20px,5vw,66px);bottom:clamp(120px,20vh,220px);text-align:right;color:#fff;text-shadow:0 2px 20px rgba(90,60,20,.55);pointer-events:none}
.lake__nm b{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.6rem);display:block}
.lake__nm span{color:#ffe6bb;font-size:.95rem}
.lake__link{position:absolute;z-index:6;right:clamp(20px,5vw,66px);bottom:clamp(66px,12vh,120px);
  padding:12px 30px;border:1.5px solid rgba(255,255,255,.85);border-radius:40px;color:#fff;text-decoration:none;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;transition:background .3s,color .3s}
.lake__link:hover{background:#fff;color:#3a2a12}
.lake__bar{position:absolute;z-index:5;left:50%;bottom:clamp(28px,5vh,52px);translate:-50% 0;width:min(220px,40vw);height:2px;background:rgba(255,255,255,.3)}
.lake__bar i{display:block;height:100%;width:0;background:#fff}

/* ---------- NUMERI ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:12vh clamp(20px,6vw,90px);border-top:1px solid var(--line)}
.stat{text-align:center}
.stat b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(2.8rem,7vw,6rem);line-height:1;color:var(--ink)}
.stat b.pct::after{content:"%";font-size:.5em;vertical-align:.42em;margin-left:.02em;font-weight:400}
.stat span{color:var(--muted);font-size:.88rem;letter-spacing:.02em}

/* ---------- CTA ---------- */
.cta{min-height:82vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;padding:0 6vw;
  background:radial-gradient(70% 60% at 50% 42%,rgba(179,130,63,.16),transparent 62%)}
.cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,8.5vw,7rem);line-height:.96}
.cta p{color:var(--muted);max-width:44ch;line-height:1.75}
.cta__btn{margin-top:14px;display:inline-block;padding:18px 46px;border:1px solid var(--clay);color:var(--ink);text-decoration:none;
  font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;border-radius:40px;position:relative;overflow:hidden;transition:color .4s}
.cta__btn::before{content:"";position:absolute;inset:0;background:var(--clay);translate:0 101%;transition:translate .45s cubic-bezier(.2,.7,.2,1);z-index:-1}
.cta__btn:hover{color:#fff}
.cta__btn:hover::before{translate:0 0}

/* ---------- I MONDI (altre collezioni vere) ---------- */
.mondi{padding:14vh clamp(20px,6vw,90px) 10vh}
.mondi__head{margin-bottom:6vh;max-width:60ch}
.mondi__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.6vw,4.6rem);line-height:1;margin:.14em 0 .25em}
.mondi__head p{color:var(--muted);font-size:.95rem;line-height:1.65}
.mondi__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,30px)}
.mcard{display:block;text-decoration:none;color:var(--ink)}
.mcard__img{aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:radial-gradient(120% 80% at 50% 20%,#f6efe3,#e6dac6);
  display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.mcard__img img{width:88%;mix-blend-mode:multiply;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.mcard:hover .mcard__img img{transform:scale(1.06)}
.mcard__meta{padding:16px 4px 0}
.mcard__meta b{font-family:var(--serif);font-weight:500;font-size:1.4rem;display:block}
.mcard__meta span{color:var(--clay);font-size:.85rem}
@media(max-width:760px){.mondi__grid{grid-template-columns:1fr 1fr;gap:12px}.mcard__meta b{font-size:1.15rem}}

/* ---------- SERVIZI (fascia copiata dal sito vero) ---------- */
.servizi{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:9vh clamp(20px,6vw,90px);border-top:1px solid var(--line)}
.servizi__item b{font-family:var(--sans);font-weight:500;font-size:1.02rem;display:block;margin-bottom:8px}
.servizi__item span{color:var(--muted);font-size:.85rem;line-height:1.55}
@media(max-width:820px){.servizi{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.servizi{grid-template-columns:1fr}}

/* ---------- SOCIAL (feed che scorre) ---------- */
.social{padding:11vh 0 10vh;border-top:1px solid var(--line);overflow:hidden}
.social__head{padding:0 clamp(20px,6vw,90px);max-width:820px;margin-bottom:clamp(30px,5vh,58px)}
.social__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,5vw,4.2rem);line-height:1.02;margin:.14em 0 .3em}
.social__head h2 a{color:var(--clay);text-decoration:none;border-bottom:2px solid rgba(162,91,42,.3)}
.social__head p{color:var(--muted);font-size:1rem;line-height:1.6;max-width:560px}
.social__row{width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.social__track{display:flex;gap:18px;width:max-content;padding:0 9px;animation:socialscroll 60s linear infinite}
.social__track:hover{animation-play-state:paused}
@keyframes socialscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.stile{position:relative;flex:0 0 auto;width:clamp(220px,20vw,272px);aspect-ratio:9/16;border-radius:16px;overflow:hidden;
  display:block;box-shadow:0 20px 40px rgba(60,40,20,.16);background:#e7dccb}
.stile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.stile:hover img{transform:scale(1.06)}
.stile__cap{position:absolute;left:14px;right:14px;bottom:14px;color:#fff;font-family:var(--serif);font-weight:500;
  font-size:1.05rem;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.55);z-index:2}
.stile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.5));z-index:1}
.stile__ig{position:absolute;top:12px;right:12px;z-index:2;width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.9);color:#211b13;display:grid;place-items:center;font-style:normal;font-size:.85rem;
  opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}
.stile:hover .stile__ig{opacity:1;transform:translateY(0)}
@media(max-width:620px){.social__track{animation-duration:44s}}

/* ---------- ENTRA IN FAMIGLIA (newsletter in evidenza) ---------- */
.family{padding:2vh clamp(20px,6vw,90px) 11vh}
.family__box{background:linear-gradient(155deg,#211b13,#3a2c1c);color:#f3ece0;border-radius:26px;
  padding:clamp(40px,7vw,84px);max-width:1100px;margin:0 auto;text-align:center;box-shadow:0 40px 80px rgba(40,26,12,.3)}
.family__box .eyebrow{color:var(--brass-soft)}
.family__box h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.4vw,4.4rem);line-height:1.02;margin:.16em 0 .34em}
.family__box>p{color:rgba(243,236,224,.72);font-size:1.04rem;line-height:1.6;max-width:540px;margin:0 auto clamp(26px,4vh,40px)}
.family__form{display:flex;gap:10px;max-width:480px;margin:0 auto;background:rgba(255,255,255,.07);
  border:1px solid rgba(243,236,224,.22);border-radius:44px;padding:7px 7px 7px 26px}
.family__form input{flex:1;background:none;border:0;outline:none;color:#f3ece0;font-family:var(--sans);font-size:1rem}
.family__form input::placeholder{color:rgba(243,236,224,.5)}
.family__form button{flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;
  background:var(--brass);color:#211b13;font-size:1.2rem;transition:background .3s,transform .3s}
.family__form button:hover{background:var(--brass-soft);transform:translateX(3px)}
.family__social{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:clamp(24px,4vh,38px)}
.family__social a{color:rgba(243,236,224,.66);text-decoration:none;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;transition:color .3s}
.family__social a:hover{color:#f3ece0}

/* ---------- FOOTER (replica del footer nero di lancioshoes.com) ---------- */
.foot{background:#1f1f1f;color:#fff;padding:10vh clamp(20px,6vw,90px) 5vh}
.foot__grid{display:grid;grid-template-columns:1.1fr .8fr .8fr .9fr 1.4fr;gap:clamp(24px,3vw,50px);align-items:start}
.foot__logo{width:min(190px,44vw);height:auto;display:block}
.foot__col h3{font-family:var(--sans);font-weight:500;font-size:.95rem;margin-bottom:18px;color:#fff}
.foot__col a{display:block;color:rgba(255,255,255,.72);text-decoration:none;font-size:.9rem;line-height:2.1;transition:color .3s}
.foot__col a:hover{color:#fff}
.foot__col p{color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.9}
.foot__news{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 20px;
  border:1px solid rgba(255,255,255,.35);border-radius:6px;text-decoration:none;transition:border-color .3s}
.foot__news i{font-style:normal;color:rgba(255,255,255,.55);font-size:.9rem}
.foot__news em{font-style:normal;color:#fff}
.foot__news:hover{border-color:#fff}
.foot__social{display:flex;gap:22px;margin-top:22px;flex-wrap:wrap}
.foot__social a{display:inline;color:rgba(255,255,255,.72);font-size:.85rem;line-height:1.4}
.foot__fine{color:rgba(255,255,255,.4);font-size:.72rem;letter-spacing:.04em;margin-top:7vh;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:1020px){.foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot__grid{grid-template-columns:1fr}}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .coll__grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr);gap:44px}
  .film__floater{width:66vw}
  .film__rail{display:none}
}
@media(max-width:540px){
  .coll__grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr;gap:40px}
  .film__floater{width:80vw}
  .film__cap h2{font-size:clamp(1.9rem,9vw,3rem)}
  /* IL MENU DA TELEFONO (27/7): in una riga sola non ci stava, "Contatto"
     restava tagliato fuori dal bordo. Voci più strette e vicine, nessun a capo. */
  /* su telefono il logo wordmark è largo e tagliava "Il viaggio": logo solo, niente menu spezzato */
  .nav{padding:16px 18px}
  .nav__links{display:none}
  .nav__logo{max-height:26px;width:auto}
}
@media(max-width:380px){
  /* sui telefoni più stretti sparisce la voce meno utile, le altre restano leggibili */
  .nav__links a:first-child{display:none}
  .nav__links a{font-size:.58rem;letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){
  .hero__scroll span{animation:none}
}

/* ---------- BARRA COOKIE (solo necessari / accetta tutto) ---------- */
#cookieBar{position:fixed;inset:0;z-index:9800;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,15,8,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
#cookieBar[hidden]{display:none}
body.consenso{overflow:hidden}
#cookieBar .cb-carta{width:min(500px,100%);background:#fbf7ee;border:1px solid var(--line);border-radius:14px;padding:clamp(24px,4vw,34px);box-shadow:0 40px 80px rgba(40,26,12,.32)}
#cookieBar .cb-tit{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,4vw,1.7rem);margin-bottom:12px}
#cookieBar .cb-testo{font-size:.95rem;color:var(--muted);line-height:1.55}
#cookieBar .cb-testo a{color:var(--clay)}
#cookieBar .cb-righe{margin:18px 0 22px;display:flex;flex-direction:column;gap:9px;font-size:.85rem}
#cookieBar .cb-righe div{padding-left:18px;position:relative;color:var(--muted)}
#cookieBar .cb-righe div b{color:var(--ink);font-weight:500}
#cookieBar .cb-righe div:before{content:'';position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--clay)}
#cookieBar .cb-bottoni{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#cookieBar button{padding:15px 10px;border-radius:40px;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;border:1px solid var(--ink);background:transparent;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
#cookieBar #cbTutti{background:var(--ink);color:#fbf7ee}
#cookieBar #cbTutti:hover{background:var(--clay);border-color:var(--clay)}
#cookieBar #cbSolo:hover{background:var(--ink);color:#fbf7ee}
@media(max-width:420px){#cookieBar .cb-bottoni{grid-template-columns:1fr}}
