*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f5f8;color:#202020;font:16px Arial,Helvetica,sans-serif}.site{max-width:1500px;margin:auto;background:#fff}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:12px;z-index:100}.skip-link:focus{left:10px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #151515;outline-offset:3px}.approved{background:#fff}.full-image{width:100%;height:auto;display:block}.nav-black-strip{height:18px;background:#070707;border-top:1px solid #242424;border-bottom:1px solid #242424}.product-image-wrap,.hero-image-wrap{position:relative}.product-buttons,.service-buttons{position:absolute;left:.7%;width:98.6%;display:grid;gap:.5%}.product-buttons{top:25%;height:6.1%;grid-template-columns:repeat(6,minmax(0,1fr))}.service-buttons{top:61.6%;height:5.95%;grid-template-columns:repeat(5,minmax(0,1fr))}.product-buttons a,.service-buttons a,.matlink{display:block;border-radius:8px;transition:box-shadow .2s,filter .2s}.product-buttons a:hover,.service-buttons a:hover,.matlink:hover{outline:2px solid white;filter:brightness(1.08);box-shadow:0 0 14px 3px #fff}.matlink{position:absolute;left:75%;top:68.1%;width:24%;height:5.8%}
.contact-section{padding:43px 32px 48px;background:linear-gradient(180deg,#f1f4f9 0%,#fff 100%)}.contact-heading{text-align:center;max-width:820px;margin:0 auto 27px}.contact-eyebrow{display:block;font-size:12px;letter-spacing:2.3px;font-weight:900;color:#c30015}.contact-heading h1{margin:8px 0 10px;font-size:clamp(26px,3.2vw,40px);line-height:1.15;color:#171a22}.contact-heading p{margin:0;color:#505660;font-size:16px;line-height:1.5}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px;max-width:1160px;margin:0 auto}.contact-card{background:#fff;border-radius:18px;box-shadow:0 7px 24px rgba(22,40,65,.11);padding:24px;border:1px solid #d9dfe9}.whatsapp-card{border-top:7px solid #0da34e}.email-card{border-top:7px solid #1265df}.contact-card-top{display:flex;align-items:center;gap:15px}.contact-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:58px;height:58px;color:#fff;border-radius:16px;font-size:40px;font-weight:800}.whatsapp-icon{background:#119d52}.email-icon{background:#1265df;font-size:36px}.contact-card-eyebrow{font-size:11px;letter-spacing:1.45px;font-weight:bold;color:#627184}.contact-card h2{font-size:23px;line-height:1.15;margin:4px 0 0;color:#16202e}.contact-desc{min-height:44px;color:#5a6270;line-height:1.5;margin:16px 0 16px}.field-label,.form-field label{display:block;font-weight:700;color:#263447;font-size:14px;margin-bottom:7px}.wa-message,.form-field input,.form-field textarea,.form-field select{font:inherit;color:#202a35;width:100%;border:1px solid #cbd4e1;background:#fcfdff;border-radius:10px;padding:12px;outline-color:#206fd9}.wa-message{resize:vertical;min-height:96px;margin-bottom:13px}.action-button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;border:0;border-radius:10px;padding:16px 14px;color:#fff!important;text-align:center;text-decoration:none;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s}.action-button:hover{transform:translateY(-2px);box-shadow:0 6px 13px rgba(0,0,0,.16)}.action-button span{font-size:22px}.wa-action{background:#0a9f48}.email-action{background:#0968e4;list-style:none}.email-action::-webkit-details-marker{display:none}.request-details[open] .email-action span{transform:rotate(45deg)}.contact-foot{margin-top:15px;font-size:14px;color:#178246;font-weight:700}.contact-foot span{font-size:9px;vertical-align:2px}.blue-foot{color:#1756ac}.quote-form{padding-top:19px;margin-top:15px;border-top:1px solid #dbe3ef}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field label span{color:#c8182f}.form-field input,.form-field textarea,.form-field select{min-height:44px}.form-field textarea{resize:vertical}.full-field{grid-column:1/-1}.form-explain{font-size:12px;color:#596577;line-height:1.5;margin:13px 0}.submit-action{background:#0968e4}.copy-request{display:block;margin:12px auto 0;border:none;background:none;color:#1555aa;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline}.form-status{color:#1a6340;font-size:13px;min-height:1em}.seo-intro{padding:26px 30px 28px;background:#fff}.seo-intro h2{font-size:clamp(20px,2.6vw,29px);margin:0 0 10px}.seo-intro p{max-width:900px;line-height:1.6;margin:0 0 14px}.mobile-products{display:flex;gap:10px;flex-wrap:wrap}.mobile-products a{padding:10px 14px;background:#f1f2f5;color:#111;border-radius:8px;text-decoration:none;font-weight:700}.mobile-products a:hover{background:#e5e7ed}.below{padding:24px;background:#f3f5f7}.below section{background:#fff;border-radius:12px;margin-bottom:20px;padding:22px;scroll-margin-top:18px}.below h2{margin:0 0 8px}.below p{color:#555}.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.photos a{aspect-ratio:1.2;overflow:hidden;border-radius:8px;background:#eee}.photos img{width:100%;height:100%;object-fit:cover}@media(max-width:800px){.contact-section{padding:32px 18px}.contact-grid{grid-template-columns:1fr;max-width:620px}.contact-desc{min-height:auto}.contact-heading h1{font-size:29px}}@media(max-width:650px){.photos{grid-template-columns:repeat(2,1fr);gap:8px}.below{padding:10px}.below section{padding:14px}.nav-black-strip{height:12px}.contact-section{padding:26px 12px 32px}.contact-card{padding:18px;border-radius:15px}.contact-heading{margin-bottom:21px}.contact-heading h1{font-size:27px}.contact-card h2{font-size:20px}.contact-icon{width:52px;height:52px}.form-grid{grid-template-columns:1fr}.seo-intro{padding:20px 15px}.mobile-products{display:grid;grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* HOTSPOT DI NAVIGAZIONE SU GRAFICA APPROVATA — NON MODIFICA L'IMMAGINE */
.top-image-wrap {position:relative}
.header-tipografia-link {position:absolute;left:13%;top:71%;width:33%;height:23%;cursor:pointer}
.graphic-menu-hotspots {position:absolute;inset:0 0 auto 0;height:13%;display:block}
.graphic-menu-hotspots a {position:absolute;left:var(--left);width:var(--w);height:100%;top:0;display:block}
.graphic-menu-hotspots a:focus-visible,.header-tipografia-link:focus-visible {outline:3px solid #ffe100;outline-offset:-3px}
.mobile-products a:last-child {border:2px solid #d6091f;color:#b4001b;background:#fff2f3}
.mobile-products a:last-child:hover {background:#ffe2e6}

/* BANNER SERVIZIO NAPOLI – contenuto HTML indicizzabile; visual invariato altrove */
.napoli-banner{display:grid;grid-template-columns:27% 1fr 26%;align-items:stretch;min-height:184px;margin:0;background:linear-gradient(110deg,#fff 10%,#f9fbff 58%,#eaf5ff 100%);border-block:5px solid #e31523;box-shadow:0 4px 17px rgba(10,25,55,.10);overflow:hidden}
.napoli-banner-image{min-height:180px;position:relative;overflow:hidden;background:#bee6fc}
.napoli-banner-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.napoli-banner-text{padding:23px 23px 20px 25px;align-self:center}
.napoli-kicker{display:block;font-size:12px;font-weight:900;letter-spacing:1.6px;color:#242424;margin-bottom:6px}
.napoli-banner-text h2{margin:0 0 7px;color:#d80820;font-size:clamp(25px,2.9vw,39px);font-weight:900;text-transform:uppercase;line-height:1.12}
.napoli-banner-text p{font-size:clamp(14px,1.42vw,19px);line-height:1.42;margin:0;color:#273342}
.napoli-banner-cta{padding:23px 22px 20px 8px;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center}
.napoli-appointment{font-weight:900;transform:rotate(-4deg);font-size:17px;color:#343434;background:#ffe652;padding:7px 13px;border-radius:20px;text-align:center}
.napoli-wa-button{display:block;background:#0aa848;color:white!important;text-decoration:none;text-align:center;border-radius:30px;font-weight:900;font-size:15px;padding:15px 13px;box-shadow:0 5px 11px #003f1d33;width:100%;white-space:nowrap}
.napoli-wa-button:hover{background:#07863a;transform:translateY(-2px)}
.seo-intro h1{font-size:clamp(20px,2.6vw,29px);margin:0 0 10px}
.contact-heading h2{margin:8px 0 10px;font-size:clamp(26px,3.2vw,40px);line-height:1.15;color:#171a22}
@media(max-width:850px){.napoli-banner{grid-template-columns:30% 1fr}.napoli-banner-cta{grid-column:1/-1;padding:8px 20px 20px;flex-direction:row;justify-content:space-between}.napoli-wa-button{max-width:350px}.napoli-banner-text{padding:18px}.napoli-appointment{font-size:15px}}
@media(max-width:530px){.napoli-banner{grid-template-columns:1fr}.napoli-banner-image{height:154px;min-height:auto}.napoli-banner-text{text-align:center;padding:16px 19px 6px}.napoli-banner-text h2{font-size:29px}.napoli-banner-cta{flex-direction:column;padding:14px 20px 22px;gap:14px}.napoli-wa-button{max-width:none}.contact-heading h2{font-size:27px}}

/* VARIANTE COLORI SOBRI 13/10/2026: nessun cambiamento a SEO o link */
body{background:#f6f7f8}.contact-section{background:linear-gradient(180deg,#f7f8fa,#fff)}.contact-card{border-color:#e1e4e8;box-shadow:0 5px 18px rgba(25,35,45,.08)}.napoli-banner{background:linear-gradient(110deg,#fff,#f3f6f8);border-block-color:#c82330}.napoli-appointment{background:#f1e8ca;transform:none}.email-card{border-top-color:#527c9f}.email-action,.submit-action{background:#356eaa}.mobile-products a{background:#f2f3f4}


/* SLIDER QUATTRO GRAFICHE APPROVATE 14/10/2026 */
.hero-menu-wrap{position:relative;background:#070707}
.hero-menu-wrap>.full-image{display:block;width:100%;height:auto}
.hero-menu-wrap .graphic-menu-hotspots{height:100%;top:0}
.home-carousel{position:relative;background:#f8f7f4;border-bottom:1px solid #e6e3df;overflow:hidden;isolation:isolate}
.home-carousel-stage{position:relative;height:550px}
.home-slide{position:absolute;inset:0;display:grid;grid-template-columns:56% 44%;background:radial-gradient(circle at 77% 39%,#fff 0%,#f7f5ef 63%,#eeeeed 100%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.home-slide-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:45px clamp(22px,5vw,85px) 76px max(26px,6%);min-width:0}
.home-slide-eyebrow{font-size:12px;letter-spacing:1.45px;font-weight:900;color:#b7212c;margin-bottom:15px}
.home-slide-copy h2{font-size:clamp(27px,3.9vw,57px);line-height:1.1;color:#191b1f;margin:0 0 17px;letter-spacing:-.025em;font-weight:900;max-width:700px}
.home-slide-copy p{font-size:clamp(16px,1.6vw,21px);line-height:1.5;color:#343942;max-width:560px;margin:0 0 23px}
.home-slide-link{display:inline-flex;align-items:center;background:#bd1423;padding:14px 21px;border-radius:40px;color:#fff!important;text-decoration:none;font-size:16px;font-weight:800;box-shadow:0 5px 17px #9b0e202b}
.home-slide-link:hover{background:#940e1a}
.home-slide-artwork{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:12px 44px 12px 8px}
.home-slide-artwork img{display:block;max-height:100%;max-width:100%;height:auto;width:auto;object-fit:contain;filter:drop-shadow(0 12px 18px #21191025);border-radius:8px}
.home-carousel-controls{position:absolute;z-index:4;left:0;right:0;bottom:17px;display:flex;justify-content:center;align-items:center;gap:15px;pointer-events:none}
.home-carousel-arrow,.carousel-dot{font:inherit;cursor:pointer;pointer-events:auto;border:0;display:inline-flex;align-items:center;justify-content:center;transition:background .16s}
.home-carousel-arrow{width:38px;height:38px;background:#fff;border:1px solid #d9d9d9;color:#343b43;font-size:29px;line-height:1;border-radius:50%;box-shadow:0 2px 8px #0b14211f}
.home-carousel-arrow:hover{background:#f0eff0}
.home-carousel-dots{display:flex;gap:8px;align-items:center;padding:5px 9px;background:#fffd;border-radius:30px;border:1px solid #e1e1e1}
.carousel-dot{width:27px;height:27px;background:#e4e4e4;color:#3d3d3d;border-radius:50%;font-size:12px;font-weight:800}
.carousel-dot.is-active,.carousel-dot[aria-current="true"]{background:#bb1424;color:#fff}
@media(max-width:800px){.home-carousel-stage{height:515px}.home-slide{grid-template-columns:49% 51%}.home-slide-copy{padding:22px 10px 70px 22px}.home-slide-copy h2{font-size:clamp(23px,4.3vw,34px)}.home-slide-copy p{font-size:15px}.home-slide-artwork{padding:12px 18px 12px 5px}}
@media(max-width:580px){.home-carousel-stage{height:clamp(635px,183vw,850px)}.home-slide{display:flex;flex-direction:column-reverse;justify-content:flex-end}.home-slide-artwork{height:70%;flex:none;padding:10px 15px 0}.home-slide-artwork img{height:100%;width:auto;max-width:100%;object-fit:contain}.home-slide-copy{flex:1;padding:10px 25px 60px;justify-content:center;align-items:center;text-align:center}.home-slide-eyebrow{font-size:10px;margin:0 0 7px}.home-slide-copy h2{font-size:clamp(22px,6vw,31px);margin:0 0 9px}.home-slide-copy p{font-size:14px;margin:0 0 12px;line-height:1.35}.home-slide-link{font-size:13px;padding:10px 17px}.home-carousel-controls{bottom:10px}.home-carousel-arrow{width:32px;height:32px;font-size:25px}.carousel-dot{height:24px;width:24px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-slide{transition:none}}


/* 14/10/2026 — Catalogo moderno dai colori sobri: pulsanti reali e accessibili */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-section{padding:22px 17px 26px;background:#eef2f6;color:#17263a}
.catalog-row{display:grid;gap:12px;margin:0 0 12px}
.catalog-row-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.catalog-row-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.catalog-card{background:#fff;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d5dce4;border-radius:12px;box-shadow:0 4px 13px rgba(20,45,72,.09);transition:transform .2s,box-shadow .2s}
.catalog-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(18,48,82,.15)}
.catalog-card-heading{min-height:72px;background:linear-gradient(145deg,#163d60,#0a263e);color:#fff;text-align:center;padding:13px 5px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.catalog-card-heading h3{font-size:clamp(14px,1.4vw,21px);line-height:1.12;margin:0 0 4px;letter-spacing:.015em;font-weight:850}
.catalog-card-heading p{font-size:clamp(10px,.93vw,13px);line-height:1.2;margin:0;color:#dce7f2;letter-spacing:.035em;font-weight:600}
.catalog-card-image{width:100%;height:clamp(130px,14vw,226px);object-fit:cover;object-position:center;background:#f1f3f5;display:block}
.catalog-card-description{min-height:58px;padding:12px 11px 3px;margin:0;text-align:center;line-height:1.35;font-weight:600;font-size:clamp(12px,1.04vw,15px);color:#26394d;flex:1;display:flex;align-items:center;justify-content:center}
.catalog-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#fff!important;background:linear-gradient(180deg,#143e64,#08253e);border:1px solid #335d81;border-radius:28px;text-decoration:none;font-weight:800;letter-spacing:.02em;font-size:clamp(12px,1.1vw,16px);min-height:47px;margin:10px 12px 13px;padding:12px 13px;box-shadow:0 3px 7px #0b1c3040;transition:box-shadow .22s,filter .22s,transform .22s,background .22s}
.catalog-card:nth-child(3n+1)>.catalog-button{background:linear-gradient(180deg,#bc2430,#961421);border-color:#c8474d}
.catalog-button span{font-size:21px;line-height:.5;transition:transform .22s}
.catalog-button:hover,.catalog-button:focus-visible,.catalog-button:active{filter:brightness(1.22);transform:translateY(-2px);box-shadow:0 0 0 2px #fff,0 0 13px rgba(47,141,213,.65),0 5px 16px #11345366}
.catalog-card:nth-child(3n+1)>.catalog-button:hover,.catalog-card:nth-child(3n+1)>.catalog-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 16px rgba(221,49,63,.6),0 4px 14px #5b182a70}
.catalog-button:hover span,.catalog-button:focus-visible span{transform:translateX(3px)}
.catalog-button:focus-visible{outline:2px solid #ffcf4a;outline-offset:4px}
.catalog-mats{display:grid;grid-template-columns:1fr minmax(35%,47%);background:linear-gradient(105deg,#152f49,#0b263e);color:#fff;overflow:hidden;border-radius:13px;min-height:170px}
.catalog-mats-content{padding:22px clamp(17px,3vw,42px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}
.catalog-mats h3{font-size:clamp(21px,2.5vw,36px);line-height:1.08;margin:0;font-weight:900}
.catalog-mats p{font-size:clamp(13px,1.35vw,19px);margin:0;color:#e2ebf2}
.catalog-mats img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.catalog-mats .catalog-mats-link{background:linear-gradient(180deg,#b82435,#8a1626);border-color:#dc5160;margin:13px 0 0;min-height:42px;font-size:14px}
@media(max-width:1180px){.catalog-row-six,.catalog-row-five{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-card-image{height:190px}.catalog-card-heading h3{font-size:18px}.catalog-card-heading p{font-size:12px}.catalog-card-description{font-size:14px}.catalog-button{font-size:14px}}
@media(max-width:720px){.catalog-section{padding:15px 10px}.catalog-row-six,.catalog-row-five{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:9px}.catalog-card-heading{min-height:63px;padding:10px 5px}.catalog-card-heading h3{font-size:clamp(12px,3.3vw,18px)}.catalog-card-heading p{font-size:clamp(10px,2.6vw,12px)}.catalog-card-image{height:clamp(125px,34vw,190px)}.catalog-card-description{font-size:12px;min-height:62px;padding:9px 7px 0}.catalog-button{font-size:clamp(10px,2.75vw,13px);min-height:43px;padding:10px 6px;margin:9px 8px 11px;gap:4px}.catalog-mats{grid-template-columns:1fr}.catalog-mats-content{align-items:center;text-align:center;padding:20px 15px}.catalog-mats img{max-height:125px;object-fit:cover}.catalog-mats h3{font-size:23px}.catalog-mats p{font-size:13px}}
@media(max-width:380px){.catalog-row-six,.catalog-row-five{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-heading{min-height:63px}.catalog-card-heading h3{font-size:12px}.catalog-button{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.catalog-card,.catalog-button,.catalog-button span{transition:none}}
