/* Core condiviso landing + blog — La Filanda di Palazzo Sauli */
@font-face{
  font-family:"Reina Neue Display";
  src:url("../fonts/reina-neue-display-light.woff2") format("woff2");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Reina Neue";
  src:url("../fonts/reina-neue-light.woff2") format("woff2");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Lato";
  src:url("../fonts/lato-300.woff2") format("woff2");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Lato";
  src:url("../fonts/lato-400.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
:root{
  --marrone:#5D3D2A;
  --marrone-scuro:#3B2418;
  --bordeaux:#943A20;
  --oro:#BDA076;
  --oro-chiaro:#D4C1A3;
  --panna:#F4EFE7;
  --panna-2:#EBE3D6;
  --crema:#FBF8F2;
  --inchiostro:#2A1D14;
  --testo:#4A3B30;
  --testo-tenue:#7A6A5B;
  --linea:rgba(93,61,42,.16);
  --ombra:0 30px 60px -25px rgba(59,36,24,.35);
  --display:"Reina Neue Display", "Reina Neue", Georgia, serif;
  --serif:"Reina Neue Display", "Reina Neue", Georgia, serif;
  --serif-2:"Lato", "Helvetica Neue", Arial, sans-serif;
  --sans:"Lato", "Helvetica Neue", Arial, sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --maxw:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,.eyebrow,.btn,.nav__links a{font-synthesis:none;-webkit-font-synthesis:none}
body{
  font-family:var(--serif-2);
  color:var(--testo);
  background:var(--crema);
  font-size:clamp(17px,1.1vw,19px);
  line-height:1.75;
  letter-spacing:0;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;line-height:1.12;color:var(--inchiostro);letter-spacing:.015em;
  -webkit-text-stroke:.55px currentColor;paint-order:stroke fill}
.container{width:min(100% - 48px,var(--maxw));margin-inline:auto}
.eyebrow{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.38em;
  font-size:.9rem;
  font-weight:400;
  color:var(--bordeaux);
  display:inline-flex;align-items:center;gap:.9em;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--oro);display:inline-block}
.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.04;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;
  font-size:.88rem;padding:16px 28px;border-radius:2px;border:1px solid transparent;
  transition:all .4s var(--ease);
}
.btn svg{width:18px;height:18px}
.btn--solid{background:var(--bordeaux);color:#fff;border-color:var(--bordeaux)}
.btn--solid:hover{background:var(--marrone);border-color:var(--marrone);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--marrone);border-color:var(--marrone)}
.btn--ghost:hover{background:var(--marrone);color:var(--panna);transform:translateY(-2px)}

.nav{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(16px,3vw,40px);
  background:rgba(251,248,242,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .4s,background .4s;
}
.nav.solid{border-bottom-color:var(--linea);background:rgba(251,248,242,.9)}
.nav__brand{display:flex;align-items:center}
.nav__brand img{height:100px;width:auto;margin:35px;padding:0}
.nav__links{display:flex;gap:26px;align-items:center}
.nav__links a{
  font-family:var(--sans);text-transform:uppercase;letter-spacing:.15em;
  font-size:1.05rem;color:var(--testo);position:relative;padding:4px 0;transition:color .4s;
}
.nav__links a:hover,.nav__links a.is-active{color:var(--bordeaux)}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--bordeaux);transition:width .4s var(--ease)}
.nav__links a:hover::after,.nav__links a.is-active::after{width:100%}
.nav__cta{
  font-family:var(--sans);text-transform:uppercase;letter-spacing:.13em;font-size:.88rem;
  border:1px solid var(--marrone);color:var(--marrone);padding:12px 24px;border-radius:2px;transition:all .4s var(--ease);
}
.nav__cta:hover{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav__burger span{width:26px;height:2px;background:var(--marrone)}

.footer{background:var(--inchiostro);color:rgba(244,239,231,.75);padding:clamp(60px,9vh,100px) 0 34px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(30px,4vw,60px)}
.footer__brand img{height:180px;margin-bottom:26px;padding:35px}
.footer__brand p{max-width:38ch;font-size:1.05rem;line-height:1.68}
.footer h5{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:.85rem;color:var(--oro-chiaro);margin-bottom:1.4em;font-weight:400}
.footer a{display:block;margin-bottom:.7em;font-family:var(--serif-2);transition:color .3s}
.footer a:hover{color:var(--oro-chiaro)}
.footer__contact p{margin-bottom:.7em}
.footer__bottom{
  border-top:1px solid rgba(244,239,231,.14);margin-top:clamp(40px,6vh,64px);padding-top:26px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:.9rem;color:rgba(244,239,231,.55);
}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
[data-reveal].in{opacity:1;transform:none}

@media (max-width:900px){
  .nav{
    position:absolute;
    justify-content:center;
    background:#fff;
    box-shadow:none;
    backdrop-filter:none;-webkit-backdrop-filter:none;
    border-bottom:none;
    padding:6px 12px;
  }
  .nav.solid{background:#fff;border-bottom:none;padding:6px 12px}
  .nav__brand{margin:0 auto}
  .nav__brand img{height:78px;margin:16px}
  .nav__links,.nav__cta,.nav__burger{display:none}
  body.nav-open .nav__links{display:none}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .footer__grid{grid-template-columns:1fr}
}

.nav__links{flex-wrap:nowrap}
.nav__links a,.nav__cta{white-space:nowrap}
@media (max-width:1200px){
  .nav__brand img,.nav.solid .nav__brand img{height:84px;margin:18px}
  .nav__links{gap:16px}
  .nav__links a{font-size:.82rem;letter-spacing:.07em}
  .nav__cta{font-size:.74rem;padding:10px 14px;letter-spacing:.07em}
}
