:root{--bastianello-anthracite:#25282a;--bastianello-stone:#f2f0eb;--bastianello-white:#faf9f6;--bastianello-accent:#b65332;--bastianello-concrete:#a6a39d;--bastianello-muted:#646462;--bastianello-border:#ddd9d1;--shell:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--bastianello-anthracite);background:var(--bastianello-white);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content-shell,.site-header__inner,.site-footer__grid,.site-footer__bottom{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}.site-main{min-height:50vh}.site-header{position:relative;z-index:999;background:var(--bastianello-white);border-bottom:1px solid rgba(37,40,42,.1);transition:background .3s ease,box-shadow .3s ease,color .3s ease}.site-header.is-sticky{position:sticky;top:0}.site-header--transparent{position:absolute;top:0;left:0;right:0;background:transparent;color:white;border:0}.site-header--transparent.is-scrolled{position:fixed;background:rgba(37,40,42,.96);box-shadow:0 10px 40px rgba(0,0,0,.12)}.site-header__inner{height:82px;display:flex;align-items:center;gap:28px}.site-brand{display:flex;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.02em}.site-brand img,.custom-logo{max-height:52px;width:auto}.site-nav{margin-left:auto}.site-nav ul,.legal-menu{display:flex;gap:26px;list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none;font-size:.94rem;font-weight:600}.site-header__actions{display:flex;align-items:center;gap:14px}.header-phone{text-decoration:none;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid currentColor;border-radius:4px;text-decoration:none;font-weight:700}.btn--accent{background:var(--bastianello-accent);border-color:var(--bastianello-accent);color:white}.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;background:transparent;padding:10px}.menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:currentColor;margin:5px 0}.mobile-menu{background:var(--bastianello-anthracite);color:white}.mobile-menu__inner{width:min(calc(100% - 40px),var(--shell));margin:auto;padding:24px 0 34px}.mobile-menu ul{list-style:none;margin:0 0 24px;padding:0}.mobile-menu a{display:block;padding:12px 0;text-decoration:none}.page-heading{padding:120px 0 36px}.archive-header{padding:120px 0 36px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.archive-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.site-footer{background:var(--bastianello-anthracite);color:var(--bastianello-stone);padding:72px 0 22px;position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.site-footer__grid,.site-footer__bottom{position:relative;z-index:1}.site-footer__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:44px}.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;margin-top:54px;font-size:.85rem;color:rgba(255,255,255,.7)}.footer-widget__title{color:white}.footer-widget ul{list-style:none;margin:0;padding:0}.footer-widget a{text-decoration:none;color:inherit}@media(max-width:960px){.site-nav,.site-header__actions{display:none}.menu-toggle{display:block}.site-footer__grid{grid-template-columns:1fr 1fr}.archive-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.content-shell,.site-header__inner,.site-footer__grid,.site-footer__bottom{width:min(calc(100% - 28px),var(--shell))}.site-header__inner{height:70px}.site-footer__grid{grid-template-columns:1fr}.site-footer__bottom{align-items:flex-start;flex-direction:column}.archive-grid{grid-template-columns:1fr}}

/* BASTIANELLO LOGO + HEADER STATES v0.10.0 */
.site-brand__logo,.site-footer__logo{display:block;max-width:100%;height:auto;transition:opacity .24s ease,filter .24s ease}
.site-brand__logo--default{max-height:52px;width:auto}
.site-brand__logo--negative,.site-footer__logo--negative{display:none}

/* Header normale: bianco e logo principale. */
.site-header.site-header--normal:not(.is-scrolled){background:var(--bastianello-white);color:var(--bastianello-anthracite);border-bottom:1px solid rgba(37,40,42,.10)}
.site-header.site-header--normal:not(.is-scrolled) .site-brand__logo--default{display:block;filter:none}
.site-header.site-header--normal:not(.is-scrolled) .site-brand__logo--negative{display:none}

/* Dopo lo scroll l'header diventa scuro in qualunque modalità visibile. */
.site-header.is-scrolled{background:rgba(37,40,42,.97);color:var(--bastianello-white);border-bottom-color:transparent;box-shadow:0 10px 40px rgba(0,0,0,.14)}
.site-header.site-header--transparent.is-scrolled{position:fixed}

/* Su header scuro usa sempre il negativo esplicito se presente. */
.site-header.has-header-negative-logo.is-scrolled .site-brand__logo--default{display:none}
.site-header.has-header-negative-logo.is-scrolled .site-brand__logo--negative{display:block;filter:none}

/* Se il negativo esplicito manca, converte il logo principale in bianco. */
.site-header.has-auto-negative-logo:not(.has-header-negative-logo).is-scrolled .site-brand__logo--default{display:block;filter:brightness(0) invert(1)}

/* Modalità trasparente scelta esplicitamente: sul contenuto hero usa il logo negativo. */
.site-header.site-header--transparent:not(.is-scrolled){background:transparent;color:var(--bastianello-white);border-bottom-color:transparent}
.site-header.site-header--transparent.has-header-negative-logo:not(.is-scrolled) .site-brand__logo--default{display:none}
.site-header.site-header--transparent.has-header-negative-logo:not(.is-scrolled) .site-brand__logo--negative{display:block;filter:none}
.site-header.site-header--transparent.has-auto-negative-logo:not(.has-header-negative-logo):not(.is-scrolled) .site-brand__logo--default{display:block;filter:brightness(0) invert(1)}

/* Footer: usa il negativo footer, oppure il negativo header come fallback. */
.site-footer__logo-link{display:inline-grid;align-items:center}
.site-footer__logo-link>img{grid-area:1/1}
.site-footer__logo{max-height:62px;width:auto}
.site-footer.has-footer-negative-logo .site-footer__logo--default{display:none}
.site-footer.has-footer-negative-logo .site-footer__logo--negative{display:block;filter:none}
.site-footer.has-auto-negative-logo:not(.has-footer-negative-logo) .site-footer__logo--default{display:block;filter:brightness(0) invert(1)}

.site-footer__credit a{text-decoration:none;color:inherit;font-weight:600}.site-footer__credit a:hover,.site-footer__credit a:focus{text-decoration:underline;color:var(--bastianello-stone)}
