@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{
  --burro:#F7E7A8;--burro-scuro:#EFD477;--pesca:#F6C9A8;--pesca-scuro:#EBA77C;
  --corallo:#F2A097;--corallo-scuro:#E07A6E;--rosa:#F4B8C4;--salvia:#B7D0A8;
  --crema:#FBF4E6;--carta:#FFFCF5;--inchiostro:#241A17;--grigio:#6B5D55;
  --display:'Fraunces',Georgia,serif;--body:'Space Grotesk',system-ui,sans-serif;
  --gutter:clamp(1.25rem,5vw,5rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--crema);color:var(--inchiostro);line-height:1.6;font-size:1.05rem;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--gutter);width:100%}

.site-header{position:fixed;inset:0 0 auto 0;z-index:100;padding-block:1.4rem;transition:background .4s,box-shadow .4s,padding .4s;border-bottom:2px solid transparent}
.site-header.scrolled{background:var(--crema);border-bottom-color:var(--inchiostro);padding-block:.9rem}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--display);font-size:1.1rem;font-weight:700;line-height:1.15;display:inline-flex;align-items:center;gap:.7rem}
.brand-logo{width:100px;height:100px;flex:none;display:block;object-fit:contain}
.brand .bn{white-space:nowrap}
.brand .bn-short{display:none}
.brand-txt>span:not(.bn){display:block;font-family:var(--body);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grigio);margin-top:.15rem}
.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav-links a{font-size:.95rem;font-weight:600}
.nav-cta{border:2px solid var(--inchiostro);padding:.55rem 1.3rem;border-radius:999px;background:var(--corallo);transition:transform .2s,box-shadow .2s}
.nav-cta:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--inchiostro)}
.nav-toggle{display:none;background:none;border:2px solid var(--inchiostro);border-radius:999px;padding:.5rem 1rem;font-family:var(--body);font-weight:600;cursor:pointer;position:relative;z-index:131;align-items:center;justify-content:center}
.nav-toggle .ham{display:none;width:20px;height:14px;position:relative}
.nav-toggle .ham span{position:absolute;left:0;width:100%;height:2px;background:var(--inchiostro);border-radius:2px;transition:transform .3s,opacity .2s}
.nav-toggle .ham span:nth-child(1){top:0}
.nav-toggle .ham span:nth-child(2){top:6px}
.nav-toggle .ham span:nth-child(3){top:12px}
.nav-toggle.is-open .ham span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.is-open .ham span:nth-child(2){opacity:0}
.nav-toggle.is-open .ham span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1100px){
  .nav-toggle{display:flex}
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(64vw,250px);background:var(--corallo);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.4rem;padding:5rem 1.6rem 2.5rem;transform:translateX(100%);transition:transform .45s cubic-bezier(.22,1,.36,1);border-left:3px solid var(--inchiostro);z-index:130}
  .nav-links.open{transform:translateX(0)}
  .nav-links li:first-child{margin-top:auto}
  .nav-links li:last-child{margin-top:auto}
  .nav-overlay{position:fixed;inset:0;background:rgba(36,26,23,.45);opacity:0;pointer-events:none;transition:opacity .35s;z-index:120}
  .nav-overlay.show{opacity:1;pointer-events:auto}
  .nav-links a{font-family:var(--display);font-size:1.45rem}
}
@media(max-width:600px){
  .brand-logo{width:56px;height:56px}
  .brand{gap:.6rem}
  .brand .bn-full{display:none}
  .brand .bn-short{display:inline}
  .nav-toggle{border:none;padding:0;width:38px;height:38px}
  .nav-toggle .nav-toggle-txt{display:none}
  .nav-toggle .ham{display:block;width:24px;height:16px}
  .nav-toggle .ham span{height:2.5px}
  .nav-toggle .ham span:nth-child(2){top:7px}
  .nav-toggle .ham span:nth-child(3){top:14px}
  .nav-toggle.is-open .ham span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.is-open .ham span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

.article-hero{padding-block:clamp(9.5rem,16vh,11rem) clamp(2rem,5vw,3.5rem);background:var(--burro);border-bottom:2px solid var(--inchiostro)}
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9rem;margin-bottom:1.5rem;border:2px solid var(--inchiostro);padding:.4rem 1rem;border-radius:999px;background:var(--carta);transition:transform .2s,box-shadow .2s}
.back-link:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--inchiostro);background:var(--corallo)}
.article-hero .meta{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--corallo-scuro);margin-bottom:1.2rem}
.article-hero h1{font-size:clamp(2.4rem,6vw,4.5rem);max-width:18ch;margin-bottom:1.2rem}
.article-hero .standfirst{font-family:var(--display);font-size:clamp(1.2rem,2.2vw,1.6rem);max-width:52ch;line-height:1.4;color:var(--grigio)}
.article-body{max-width:70ch;margin:0 auto;padding:clamp(2.5rem,7vw,5rem) var(--gutter)}
.article-body p{font-size:1.15rem;line-height:1.75;margin-bottom:1.5rem;text-align:justify;hyphens:auto}
.article-body h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin:2.8rem 0 1rem}
.article-body blockquote{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35;margin:2.8rem 0;padding:1.5rem 2rem;background:var(--pesca);border:2px solid var(--inchiostro);border-radius:18px}
.article-body ul{margin:1.5rem 0;padding-left:1.3rem}
.article-body .refs{font-size:.92rem;line-height:1.55;color:var(--grigio);text-align:left;hyphens:none;margin-bottom:.9rem}
.article-body li{font-size:1.12rem;line-height:1.7;margin-bottom:.6rem}
.article-share{max-width:70ch;margin:0 auto;padding:2rem var(--gutter);border-top:2px solid var(--inchiostro);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.article-share .lbl{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.article-share a{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.92rem;padding:.55rem 1.1rem;border:2px solid var(--inchiostro);border-radius:999px;background:var(--carta);transition:transform .2s,box-shadow .2s}
.article-share a:hover,.article-share .share-btn:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--corallo)}
.article-share .share-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--body);font-weight:600;font-size:.92rem;padding:.55rem 1.1rem;border:2px solid var(--inchiostro);border-radius:999px;background:var(--carta);color:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.article-share .share-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.article-share .share-btn.copied{background:var(--salvia)}
.article-share a svg{width:15px;height:15px;fill:currentColor}

.site-footer{background:var(--inchiostro);color:var(--crema);padding-block:clamp(3.5rem,8vw,6rem) 2rem;border-top:2px solid var(--inchiostro)}
.footer-big{font-family:var(--display);font-size:clamp(2.5rem,8vw,6rem);line-height:.95;margin-bottom:1.5rem}
.contact-btns{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem}
.cbtn{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--body);font-weight:700;font-size:1.05rem;padding:1rem 1.6rem;border:2px solid var(--crema);border-radius:999px;transition:transform .2s,box-shadow .2s}
.cbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cbtn--mail{background:var(--corallo);color:var(--inchiostro);border-color:var(--inchiostro)}
.cbtn--wa{background:#25D366;color:var(--inchiostro);border-color:var(--inchiostro)}
.cbtn:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--crema)}
.footer-big a{color:var(--corallo);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:2rem}
@media(max-width:760px){.footer-cols{grid-template-columns:1fr}}
.footer-assoc-col .logos{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;margin-top:.2rem}
.footer-assoc-col .logos a{display:inline-flex;align-items:center;opacity:.85;transition:opacity .25s,transform .25s}
.footer-assoc-col .logos a:hover{opacity:1;transform:translateY(-2px)}
.footer-assoc-col .logos img{display:block}
.footer-assoc-col .logos .l-fsp img{height:34px;width:auto}
.footer-assoc-col .logos .l-atp img{height:42px;width:auto}
.footer-cols .label{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--corallo);margin-bottom:.8rem}
.footer-cols ul{list-style:none}
.footer-cols li{margin-bottom:.5rem}
.footer-cols a{opacity:.85;display:inline-flex;align-items:center;gap:.5rem}
.footer-cols a:hover{opacity:1;color:var(--corallo)}
.footer-cols svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.footer-cols svg.fill{fill:currentColor;stroke:none}
.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid rgba(251,244,230,.2);font-size:.85rem;opacity:.6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition-duration:.01ms!important}}
