/* ESNL · Transizione brand · editorial scroll */
:root{
  --bone:#f5f1ea; --bone-2:#ece6dc; --ink:#131110; --ink-2:#2a2622;
  --clay:#a3866b; --clay-2:#7a624c;
  --line:rgba(19,17,16,.14); --line-2:rgba(19,17,16,.28);
  --serif:"Italiana","Cormorant Garamond",serif;
  --serif-body:"Cormorant Garamond",serif;
  --sans:"Inter",ui-sans-serif,system-ui,sans-serif;
  --t:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bone);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
em{font-family:var(--serif-body);font-style:italic;font-weight:400}
strong{font-weight:600}

/* ---------- nav ---------- */
.tnav{position:fixed;inset:0 0 auto 0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;padding:1rem clamp(1rem,3vw,2.5rem);background:rgba(245,241,234,.78);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s var(--t)}
.tnav.is-scrolled{border-bottom-color:var(--line)}
.tnav__brand{display:inline-flex;align-items:center;gap:.7rem}
.tnav__logo{height:22px;width:auto;display:block}
.tnav__back{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ink-2);padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;transition:background .25s var(--t),color .25s var(--t),border-color .25s var(--t)}
.tnav__brand:hover .tnav__back{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.tnav__tag{text-align:center;font-family:var(--serif-body);font-style:italic;color:var(--ink-2);font-size:.95rem;letter-spacing:.04em}
.tnav__cta{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);padding:.7rem 1.1rem;border-radius:999px;transition:background .3s var(--t),color .3s var(--t)}
.tnav__cta:hover{background:var(--ink);color:var(--bone)}
@media (max-width:760px){.tnav__tag,.tnav__back{display:none}}

/* ---------- typography ---------- */
.kicker{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-2);font-weight:500;margin:0 0 1.2rem;opacity:.85}
.kicker--light{color:rgba(245,241,234,.85)}
.serif-xl{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,7vw,6.5rem);line-height:1.02;letter-spacing:-.01em;margin:0 0 1.4rem}
.serif-l{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.5vw,4rem);line-height:1.05;margin:0 0 1rem}
.muted{color:var(--ink-2);opacity:.75}
.acc{color:var(--clay)}

section{padding:clamp(4rem,9vw,8.5rem) clamp(1.4rem,5vw,5rem)}
.sect__head{max-width:900px;margin:0 auto 3rem}
.sect__head--center{text-align:center}

/* ---------- hero morph ---------- */
.hero-morph{padding-top:9rem;text-align:center;background:linear-gradient(180deg,var(--bone) 0%,var(--bone-2) 100%);min-height:90svh;display:flex;align-items:center;justify-content:center}
.hero-morph__inner{max-width:1000px;margin:0 auto}
.morph{display:flex;align-items:center;justify-content:center;gap:clamp(1.4rem,4vw,3.5rem);margin:0 0 3rem;flex-wrap:wrap}
.morph__layer{transition:opacity .8s var(--t),transform .8s var(--t);opacity:.3;transform:scale(.92)}
.morph__layer.is-active{opacity:1;transform:scale(1)}
.morph__word{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.5vw,4.4rem);letter-spacing:-.005em;color:var(--ink-2)}
.morph__divider{font-size:clamp(1.2rem,2vw,2rem);color:var(--clay);font-family:var(--serif-body);font-style:italic}
.morph__logo{height:clamp(50px,8vw,90px);width:auto;display:block}
.hero-morph__h{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,7vw,6rem);line-height:1.02;letter-spacing:-.01em;margin:0 0 1.4rem;color:var(--ink)}
.hero-morph__lead{font-family:var(--serif-body);font-weight:300;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.55;color:var(--ink-2);max-width:55ch;margin:0 auto 2.4rem}
.enter{display:inline-flex;gap:.6rem;align-items:center;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;padding-bottom:.4rem;border-bottom:1px solid var(--ink);transition:gap .3s var(--t)}
.enter:hover{gap:1.1rem}

/* ---------- valori ---------- */
.valori{max-width:1400px;margin:0 auto}
.valori__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.valore{padding:2.4rem 2rem;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:.8rem;transition:transform .35s var(--t),border-color .35s var(--t),box-shadow .35s var(--t)}
.valore:hover{transform:translateY(-4px);border-color:var(--clay);box-shadow:0 30px 50px -30px rgba(60,50,40,.18)}
.valore__num{font-family:var(--serif);font-weight:400;font-size:2.4rem;color:var(--clay);line-height:1}
.valore__h{font-family:var(--serif);font-weight:400;font-size:1.8rem;line-height:1.05;margin:0;color:var(--ink)}
.valore__p{font-family:var(--serif-body);font-weight:300;font-size:1.05rem;line-height:1.5;color:var(--ink-2);margin:0;flex:1}
.valore__tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay-2);margin-top:.4rem;padding-top:1rem;border-top:1px solid var(--line)}
.valore--made{background:var(--ink);color:var(--bone);border-color:var(--ink);grid-column:span 3}
.valore--made .valore__num{color:var(--clay)}
.valore--made .valore__h{color:var(--bone);font-size:2.2rem}
.valore--made .valore__p{color:rgba(245,241,234,.85);font-size:1.15rem;max-width:50ch}
.valore--made .valore__tag{color:rgba(216,165,96,.9);border-color:rgba(245,241,234,.18)}
@media (max-width:980px){.valori__grid{grid-template-columns:repeat(2,1fr)}.valore--made{grid-column:span 2}}
@media (max-width:600px){.valori__grid{grid-template-columns:1fr}.valore--made{grid-column:span 1}}

/* ---------- ticker ---------- */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bone);padding:1.4rem 0}
.ticker__track{display:flex;gap:1.8rem;white-space:nowrap;width:max-content;font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.6rem);letter-spacing:.02em;animation:slide 38s linear infinite;color:var(--ink-2)}
.ticker__strong{color:var(--clay);font-style:italic;font-family:var(--serif-body)}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- pull ---------- */
.pull{text-align:center;background:var(--ink);color:var(--bone);padding:clamp(5rem,10vw,9rem) clamp(1.4rem,5vw,4rem)}
.pull p{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,5.4rem);line-height:1.0;letter-spacing:-.01em;margin:0;max-width:18ch;margin-inline:auto}

/* ---------- label proof (etichette cucite) ---------- */
.label-proof{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2.4rem,6vw,6rem);align-items:center}
.label-proof__p{font-family:var(--serif-body);font-weight:300;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.6;color:var(--ink-2);max-width:46ch;margin:0}
.label-proof__media{margin:0;position:relative}
.label-proof__media img{display:block;width:100%;height:auto;border:1px solid var(--line);box-shadow:0 40px 70px -40px rgba(60,50,40,.35);transform:rotate(1.2deg);transition:transform .6s var(--t)}
.label-proof__media:hover img{transform:rotate(0deg)}
.label-proof__media figcaption{margin-top:1rem;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);opacity:.65;text-align:right}
@media (max-width:880px){.label-proof{grid-template-columns:1fr}.label-proof__media{order:-1}.label-proof__media img{transform:none}}

/* ---------- madein ---------- */
.madein{position:relative;color:var(--bone);background:var(--ink);overflow:hidden;text-align:center}
.madein__bg{position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 30%,rgba(216,165,96,.18) 0%,transparent 60%);z-index:0}
.madein__inner{position:relative;z-index:1;max-width:900px;margin:0 auto}
.madein__h{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,9vw,8rem);line-height:.95;letter-spacing:-.02em;margin:0 0 1.6rem;color:var(--bone)}
.madein__h em{color:var(--clay)}
.madein__p{font-family:var(--serif-body);font-weight:300;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.55;color:rgba(245,241,234,.88);max-width:55ch;margin:0 auto 2.4rem}
.madein__chips{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}
.madein__chip{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:.5rem 1rem;border:1px solid rgba(216,165,96,.4);color:var(--bone);background:transparent;border-radius:999px;cursor:pointer;transition:background .3s var(--t),border-color .3s var(--t),color .3s var(--t)}
.madein__chip:hover,.madein__chip:focus-visible{background:var(--clay);border-color:var(--clay);color:var(--ink)}

/* ---------- popup made in ---------- */
.region-pop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem)}
.region-pop[hidden]{display:none}
.region-pop__backdrop{position:absolute;inset:0;background:rgba(19,17,16,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .32s var(--t)}
.region-pop__card{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr;width:min(880px,100%);background:var(--bone);border:1px solid var(--line);overflow:hidden;opacity:0;transform:translateY(24px);transition:opacity .32s var(--t),transform .32s var(--t)}
.region-pop.is-open .region-pop__backdrop{opacity:1}
.region-pop.is-open .region-pop__card{opacity:1;transform:none}
.region-pop__media{margin:0;min-height:320px}
.region-pop__media img{width:100%;height:100%;object-fit:cover;display:block}
.region-pop__body{padding:clamp(1.6rem,3vw,2.8rem);display:flex;flex-direction:column;justify-content:center;gap:.4rem}
.region-pop__h{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;margin:0 0 .6rem;color:var(--ink)}
.region-pop__p{font-family:var(--serif-body);font-weight:300;font-size:1.08rem;line-height:1.55;color:var(--ink-2);margin:0}
.region-pop__x{position:absolute;top:.7rem;right:.9rem;z-index:2;width:2.4rem;height:2.4rem;border:1px solid var(--line);border-radius:999px;background:rgba(245,241,234,.85);color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer;transition:background .25s var(--t),color .25s var(--t)}
.region-pop__x:hover{background:var(--ink);color:var(--bone)}
@media (max-width:680px){.region-pop__card{grid-template-columns:1fr;max-height:88svh;overflow-y:auto}.region-pop__media{min-height:220px;max-height:38svh}}

/* ---------- cta final ---------- */
.cta-final{text-align:center;max-width:1000px;margin:0 auto}
.cta-final__sub{font-family:var(--serif-body);font-style:italic;font-size:1.2rem;color:var(--ink-2);margin:0 0 2.4rem}
.cta-final__row{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:1.2rem 1.8rem;border-radius:999px;border:1px solid currentColor;transition:transform .3s var(--t),background .3s var(--t),color .3s var(--t),gap .3s var(--t)}
.btn:hover{gap:.9rem}
.btn--primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.btn--primary:hover{background:var(--clay);border-color:var(--clay)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--bone)}

/* ---------- footer ---------- */
.tfoot{background:var(--ink);color:var(--bone);padding:2.4rem clamp(1.4rem,5vw,5rem) 1.6rem;font-size:.84rem}
.tfoot strong{font-family:var(--sans);font-weight:600;letter-spacing:.32em;display:block;margin-bottom:.3rem}
.tfoot__main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;align-items:center}
.tfoot__links{display:flex;justify-content:center;gap:1.5rem}
.tfoot__links a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.85);transition:color .25s var(--t)}
.tfoot__links a:hover{color:#fff}
.tfoot__small{text-align:right;font-size:.72rem;color:rgba(245,241,234,.55)}
.tfoot__legal{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid rgba(245,241,234,.12);display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}
.tfoot__legal-links{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap}
.tfoot__legal-links a{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,241,234,.6);transition:color .25s var(--t)}
.tfoot__legal-links a:hover{color:#fff}
.tfoot__company{margin:0;font-size:.66rem;color:rgba(245,241,234,.4);letter-spacing:.04em}
@media (max-width:680px){.tfoot__main{grid-template-columns:1fr;text-align:center}.tfoot__links{justify-content:center}.tfoot__small{text-align:center}}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--t),transform 1s var(--t)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
