/* Sistema visivo Mekavanicubrese IT */
:root{--step--1:.9rem;--step-0:1.06rem;--step-1:1.4rem;--step-2:1.9rem;--step-3:clamp(2.2rem,4.5vw,3rem);--section-pad:clamp(4rem,7vw,6rem);--space-1:.5rem;--space-2:3rem;--line:1px solid var(--color-secondary)}
*{box-sizing:border-box;border-radius:0!important}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);font-size:17px;line-height:1.65;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:.01em;text-wrap:balance}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p{max-width:68ch;text-wrap:pretty}small,.small{font-size:var(--step--1)}a{text-underline-offset:.2em}img{display:block;max-width:100%}.num,.phone{font-variant-numeric:tabular-nums}
.site-header{height:96px;background:var(--color-background);border-bottom:1px solid var(--color-secondary);transition:height .2s ease;position:sticky;top:0;z-index:50}.site-header.scrolled{height:68px;box-shadow:0 2px 0 var(--color-text-primary)}.site-header .nav-inner{height:100%;max-width:1280px;margin:auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-size:1.2rem;text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain;transition:width .2s,height .2s}.scrolled .brand img{width:36px;height:36px}.nav-links{display:flex;align-items:center;gap:1.4rem}.nav-links a{color:var(--color-text-primary);font-weight:700;text-decoration:none;font-size:.92rem}.menu-toggle{display:none;border:2px solid var(--color-primary);background:var(--color-surface);padding:.55rem;color:var(--color-primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--color-surface);color:var(--color-primary);border:3px solid var(--color-primary);padding:.8rem 1.15rem;font-weight:800;text-decoration:none;box-shadow:3px 3px 0 var(--color-primary);transition:transform .12s,box-shadow .12s}.btn:hover,.btn:focus-visible{box-shadow:none;transform:translate(3px,3px)}.btn-dark{background:var(--color-primary);color:var(--color-background)}.button-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
section{position:relative}.band-rule{border:0;border-top:1px solid var(--color-secondary);width:60%;margin:0 auto}.section-pad{padding-block:var(--section-pad)}.wide{max-width:1280px;margin:auto;padding-inline:1.5rem}.mid{max-width:1140px;margin:auto;padding-inline:1.5rem}.narrow{max-width:880px;margin:auto;padding-inline:1.5rem}.section-heading{margin:0 0 1rem}.lead{font-size:1.16rem}
.hero{min-height:650px;background:var(--color-background);padding:1.5rem}.hero-frame{position:relative;max-width:1280px;min-height:600px;margin:auto;background-image:url('images/hero-fabbro-napoli.jpg');background-size:cover;background-position:center;display:flex;align-items:flex-end}.hero-frame::before{content:"";position:absolute;inset:0;background:rgba(4,18,5,.18)}.hero-panel{position:relative;z-index:1;background:rgba(4,18,5,.88);color:var(--color-background);width:min(680px,90%);padding:clamp(1.5rem,4vw,3rem);margin:0 0 2rem 2rem}.hero-panel p{margin:.9rem 0}.hero-panel .btn{background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-background);box-shadow:3px 3px 0 var(--color-background)}
.about-band{background:var(--color-surface);border-top:1px solid var(--color-secondary)}.compact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--color-secondary);border:1px solid var(--color-secondary);margin-top:2rem}.compact-item{background:var(--color-surface);padding:1.25rem}.compact-item svg{width:34px;height:34px;fill:var(--color-primary);margin-bottom:1rem}.compact-item h3{margin:.2rem 0}.compact-item p{font-size:.95rem}
.inverted{background:var(--color-text-primary);color:var(--color-background)}.inverted *{color:var(--color-background)}.edge-grid{display:grid;grid-template-columns:minmax(0,70%) minmax(0,30%);max-width:100%}.edge-main{min-width:0}.edge-main img{width:100%;height:340px;object-fit:cover}.edge-text{padding:clamp(2rem,5vw,5rem);padding-left:clamp(1.5rem,4vw,4rem)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-secondary);margin-top:2rem}.service-item{padding:1.4rem 1rem 1.4rem 0;border-bottom:1px solid var(--color-secondary)}.service-item:nth-child(odd){border-right:1px solid var(--color-secondary)}.price{font-family:var(--font-display);font-size:1.45rem;white-space:nowrap}.aside{padding:var(--section-pad) clamp(1.5rem,4vw,4rem);border-left:1px solid var(--color-secondary);display:flex;flex-direction:column;justify-content:center}.aside blockquote{font-family:var(--font-display);font-size:1.65rem;line-height:1.25;margin:0}
.process-band{background:#eaf4ed}.process-grid{grid-template-columns:minmax(0,30%) minmax(0,70%)}.process-visual{background-image:url('images/strumenti-serrature-sicurezza.jpg');background-size:cover;background-position:center;min-height:520px}.process-content{padding:var(--section-pad) clamp(1.5rem,5vw,5rem)}.process-band .compact-grid{margin-top:2rem}.process-band .compact-item{background:#eaf4ed}
.contact-band{background:var(--color-surface);padding-block:clamp(6rem,10.5vw,9rem)}.contact-grid{display:grid;grid-template-columns:minmax(0,70%) minmax(0,30%);border:1px solid var(--color-secondary)}.contact-main{padding:clamp(1.5rem,5vw,4rem)}.contact-aside{padding:clamp(1.5rem,4vw,3rem);border-left:1px solid var(--color-secondary)}.phone-large{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);display:block;margin:1rem 0}.map-wrap{aspect-ratio:16/7;margin-top:2rem;border-top:1px solid var(--color-secondary)}.map-wrap iframe{width:100%;height:100%;border:0}
.page-hero{padding:var(--section-pad) 1.5rem 3rem;border-bottom:1px solid var(--color-secondary)}.page-hero>div{max-width:1140px;margin:auto}.content-band{padding:var(--section-pad) 1.5rem;border-bottom:1px solid var(--color-secondary)}.content-wrap{max-width:1140px;margin:auto}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-secondary);border:1px solid var(--color-secondary)}.price-card{background:var(--color-surface);padding:2rem}.price-card h2{margin-top:0}.fact-list{padding-left:1.2rem}.cta-strip{background:var(--color-text-primary);color:var(--color-background);padding:3rem;border:0}.cta-strip .btn{background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-background);box-shadow:3px 3px 0 var(--color-background)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.field-full{grid-column:1/-1}label{display:block;font-weight:800;margin-bottom:.4rem}input,select,textarea{width:100%;background:var(--color-background);color:var(--color-text-primary);border:2px solid var(--color-primary);padding:.85rem;font:inherit}textarea{min-height:150px}.checks label{display:flex;align-items:flex-start;gap:.7rem;font-weight:500}.checks input{width:auto;margin-top:.35rem}.estimate{border:3px solid var(--color-primary);padding:1.5rem;background:var(--color-surface)}.confirmation{display:none;border:3px solid var(--color-primary);padding:1.5rem;margin-top:1.5rem}.confirmation.visible{display:block}.legal{max-width:820px;margin:auto;padding:var(--section-pad) 1.5rem}.legal h2{margin-top:2.5rem}.simple-links{display:flex;flex-direction:column;gap:.75rem;list-style:none;padding:0}
.site-footer{background:var(--color-text-primary);color:var(--color-background);padding:4rem 1.5rem}.footer-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}.site-footer a{color:var(--color-background)}.site-footer h2,.site-footer h3{margin-top:0}.footer-links{list-style:none;padding:0}.footer-links li{margin:.5rem 0}.footer-bottom{max-width:1280px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--color-secondary)}
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:100;background:var(--color-background);border:3px solid var(--color-primary);box-shadow:3px 3px 0 var(--color-primary);padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.cookie-banner[hidden]{display:none}.cookie-actions{display:flex;gap:.75rem}.cookie-actions button{cursor:pointer}
@media(max-width:900px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-background);border-bottom:2px solid var(--color-primary);padding:1.5rem;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.edge-grid,.process-grid,.contact-grid{grid-template-columns:1fr}.aside,.contact-aside{border-left:0;border-top:1px solid var(--color-secondary)}.footer-grid{grid-template-columns:repeat(2,1fr)}.hero-panel{margin:0}.hero{padding:.75rem}.compact-grid{grid-template-columns:repeat(2,1fr)}.process-visual{min-height:300px}}
@media(max-width:600px){.site-header{height:76px}.brand span{max-width:155px;line-height:1}.hero,.hero-frame{min-height:560px}.hero-panel{width:100%}.service-list,.price-grid,.form-grid{grid-template-columns:1fr}.service-item:nth-child(odd){border-right:0}.field-full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.cookie-banner{align-items:stretch;flex-direction:column}.cookie-actions{flex-wrap:wrap}.map-wrap{aspect-ratio:1/1}.phone-large{font-size:1.75rem}}
